仕様書1 アクセスランキング 優先度C
■概略
現状のアクセスランキングと同じものが欲しい。
加えて、処理日のアクセスランキングを保持する機能を新規実装。
■移行
現状のアクセスランキングのある時点でのデータを
新アクセスランキングデータに移行したい。
この部分だけの見積も欲しい。
----------------------------------------------------------------
■入力
----------------------------------------------------------------
リファラでURL取得。
参考:現状の実装
例 http://www.asyura2.com/14/senkyo164/msg/814.html
このページのHTMLソースを見ると以下がある。すべてのページに同じ文字列が設定してある。
!-- アクセスカウンタ 2013/11/08 start--
iframe src="http://www.asyura3.com/tagframe.php" style="width:0px;height:0px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" /iframe
!-- アクセスカウンタ 2013/11/08 end --
2014開発での実装予定
http://www.asyura3.com/rnk2/getaccess.php
getaccess.php では、
・板名を取得する。
・mysqlテーブル名 ac_hour に、キー「年月日時、URL、板コード、アクセス数」のアクセス数に+1する。
・mysqlテーブル名 ac_1day に、キー「年月日 、URL、板コード、アクセス数」のアクセス数に+1する。
・mysqlテーブル名 ac_1mon に、キー「年月 、URL、板コード、アクセス数」のアクセス数に+1する。
・mysqlテーブル名 ac_all に、キー「 URL、板コード、アクセス数」のアクセス数に+1する。
・mysqlテーブル名 title に、キー「URL」として記事タイトルをセットする。
ac_hour は24時間ランキングと3日間ランキングを作る時に使用。
4日以上経過したデータは削除。
ac_1dayは7日、30日、のランキングを作るのに使用。
31日以上経過したデータは削除
ac_1monは90日、365日のランキングを作るのに使用。
13ヶ月以上経過したデータは削除
ac_all は全期間ランキングを作る時に使用。
現状のプログラムでは30日、90日、365日のアクセスランキングを取得しようとすると
データを多数保持しなければならないため稼働不能になった。
もし稼働が無理なら切り離せる仕組みが欲しい。
サイトの1日のアクセスは約30万PV
全ページ数はたぶん50万ページ。毎日50ページくらい増える。
10年継続して使えるシステムにしたい。
現状のはデータの増加に耐えられず2年くらいでクラッシュする。
最終的に同じ事ができるのなら、上記の通りにしなくてもよい。
その場合、実装前に発注者に説明して了解を得ることとする。
----------------------------------------------------------------
■出力 HTMLファイルを書き出す
----------------------------------------------------------------
書き出すファイル名は3種類
・ランキング一覧タイプ
・iフレーム表示タイプ
・日時固定ランキングに到達するための一覧ページ
例 http://www.asyura2.com/archives/index.html
書き出すタイミング
・毎時0分頃
・早朝4時頃
------------------
・ランキング一覧タイプのファイル名
現状例 http://www.asyura3.com/rnk/ranking_list.php?code=sjis&q=%91%8D%8D%87&term=1
------------------
http://www.asyura3.com/rank/(1)/(2)-(3)-(4).html
(1)種類
now : 最新
例 14/05/03 :作成日
(2)ランキング範囲
001 : 作成時より24時間前から今までのデータでランキングを作る
003 : 作成時より3日前から今までのデータで…
007 :7日前
030 :30日前
090 :90日前
365 :1年前から今までのデータでランキングを作る
999 :全期間のデータでランキングを作る
(3) 板コード
板キー 板コード 板名
() 000 総合
genpatu 001 原発
senkyo 002 政治
…
ban 037 番外地
(4)ページ数
------------------
・iフレーム表示タイプのファイル名
現状例:http://www.asyura3.com/rnk/rankinghtml2/latest_ranking_list_sogo.html
------------------
http://www.asyura3.com/rank/now/(2)-(3)(5).html
(2)ランキング範囲
(3) 板コード
(5)f 横表示
t1 縦表示 1位〜10位
t2 縦表示 11位〜20位
前回のランキングより順位が上がったモノに順位の左に↑を付ける。
例:http://www.asyura3.com/rnk/ranking_list.php?code=sjis&q=%90%ED%91%88&term=1
ランキングのヘッダー、フッター、は、管理者が手動で簡単に変更できるようにする。
ファイルの編集ツールを実装する必要はない。
現状同様、1ページに50行書き、ページ送りを可能とする。
現状はなんかのツールを使っているようです。
━━━━━━━━━━━━━━━
ファイルの具体例 例であり、プログラムで実装しやすいような変更は相談の後可能。
━━━━━━━━━━━━━━━
http://www.asyura3.com/rank/now/001-000-0.html 総合アクセスランキング 24時間
現状例 http://www.asyura3.com/rnk/ranking_list.php?code=sjis&q=%91%8D%8D%87&term=1
http://www.asyura3.com/rank/now/001-000-1.html 2ページ目以下続く
http://www.asyura3.com/rank/now/001-000-2.html 3ページ目以下続く
http://www.asyura3.com/rank/now/001-000f1.html 総合アクセスランキング 24時間フレームで横表示用
現状例:http://www.asyura3.com/rnk/rankinghtml2/latest_ranking_list_sogo.html
http://www.asyura3.com/rank/now/001-000t1.html 総合アクセスランキング 24時間フレームで縦に表示用その110位まで
現状例:http://www.asyura3.com/rnk/rankinghtml2/latest_ranking_listw200_top0_10_sogo.html
http://www.asyura3.com/rank/now/001-000t2.html 総合アクセスランキング 24時間フレームで縦に表示用その111位から
現状例:http://www.asyura3.com/rnk/rankinghtml2/latest_ranking_listw200_top10_20_sogo.html
縦に表示用は記事ページに配置してある。
…
http://www.asyura3.com/rank/now/001-001-0.html 原発アクセスランキング 24時間
http://www.asyura3.com/rank/now/001-001-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/now/001-002-0.html 政治アクセスランキング 24時間
http://www.asyura3.com/rank/now/001-002-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/now/003-000-0.html 総合アクセスランキング 3日間
http://www.asyura3.com/rank/now/003-000-1.html 2ページ目以下続く
http://www.asyura3.com/rank/now/003-000-2.html 3ページ目以下続く
…
http://www.asyura3.com/rank/now/003-001-0.html 原発アクセスランキング 3日間
http://www.asyura3.com/rank/now/003-001-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/now/003-002-0.html 政治アクセスランキング 3日間
http://www.asyura3.com/rank/now/003-002-1.html 2ページ目以下続く
…
午前4時1分頃作るファイル
総合。各板分(原発、選挙等今は37板。板を増やす事を可能にしたい)
http://www.asyura3.com/rank/now/007-000-0.html 総合アクセスランキング 7日
http://www.asyura3.com/rank/now/007-000-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/now/030-000-0.html 総合アクセスランキング 30日
http://www.asyura3.com/rank/now/030-000-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/now/090-000-0.html 総合アクセスランキング 90日(?処理が重くなってできないかも)
http://www.asyura3.com/rank/now/090-000-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/now/365-000-0.html 総合アクセスランキング 1年分(?処理が重くなってできないかも)
http://www.asyura3.com/rank/now/365-000-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/now/999-000-0.html 総合アクセスランキング 全期間
http://www.asyura3.com/rank/now/999-000-1.html 2ページ目以下続く
…
(処理当日の日付のファイル例として2014/05/03の場合)
http://www.asyura3.com/rank/2014/05/03/001-000-0.html 総合アクセスランキング 24h
http://www.asyura3.com/rank/2014/05/03/001-000-1.html 2ページ目以下続く
http://www.asyura3.com/rank/2014/05/03/001-000f1.html 総合アクセスランキング 24時間フレームで横表示用
http://www.asyura3.com/rank/2014/05/03/001-000t1.html 総合アクセスランキング 24時間フレームで縦に表示用その110位まで
http://www.asyura3.com/rank/2014/05/03/001-000t2.html 総合アクセスランキング 24時間フレームで縦に表示用その111位から
…
http://www.asyura3.com/rank/2014/05/03/003-000-0.html 総合アクセスランキング 3日
http://www.asyura3.com/rank/2014/05/03/003-000-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/2014/05/03/007-000-0.html 総合アクセスランキング 7日
http://www.asyura3.com/rank/2014/05/03/007-000-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/2014/05/03/030-000-0.html 総合アクセスランキング 30日
http://www.asyura3.com/rank/2014/05/03/030-000-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/2014/05/03/090-000-0.html 総合アクセスランキング 90日(?処理が重くなってできないかも)
http://www.asyura3.com/rank/2014/05/03/090-000-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/2014/05/03/365-000-0.html 総合アクセスランキング 1年分(?処理が重くなってできないかも)
http://www.asyura3.com/rank/2014/05/03/365-000-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/2014/05/03/999-000-0.html 総合アクセスランキング 全期間
http://www.asyura3.com/rank/2014/05/03/999-000-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/now/007-001-0.html 原発アクセスランキング 7日
http://www.asyura3.com/rank/now/007-001-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/now/030-001-0.html 原発アクセスランキング 30日
http://www.asyura3.com/rank/now/030-001-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/now/090-001-0.html 原発アクセスランキング 90日(?処理が重くなってできないかも)
http://www.asyura3.com/rank/now/090-001-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/now/365-001-0.html 原発アクセスランキング 1年分(?処理が重くなってできないかも)
http://www.asyura3.com/rank/now/365-001-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/now/999-001-0.html 原発アクセスランキング 全期間
http://www.asyura3.com/rank/now/999-001-1.html 2ページ目以下続く
…
(処理当日の日付のファイル例として2014/05/03の場合)
http://www.asyura3.com/rank/2014/05/03/001-001-0.html 原発アクセスランキング 24時間
http://www.asyura3.com/rank/2014/05/03/001-001-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/2014/05/03/003-001-0.html 原発アクセスランキング 3日
http://www.asyura3.com/rank/2014/05/03/003-001-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/2014/05/03/007-001-0.html 原発アクセスランキング 7日
http://www.asyura3.com/rank/2014/05/03/007-001-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/2014/05/03/030-001-0.html 原発アクセスランキング 30日
http://www.asyura3.com/rank/2014/05/03/030-001-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/2014/05/03/090-001-0.html 原発アクセスランキング 90日(?処理が重くなってできないかも)
http://www.asyura3.com/rank/2014/05/03/090-001-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/2014/05/03/365-001-0.html 原発アクセスランキング 1年分(?処理が重くなってできないかも)
http://www.asyura3.com/rank/2014/05/03/365-001-1.html 2ページ目以下続く
…
http://www.asyura3.com/rank/2014/05/03/999-001-0.html 原発アクセスランキング 全期間
http://www.asyura3.com/rank/2014/05/03/999-001-1.html 2ページ目以下続く
…
同様に全板分作成
フレームで横表示用は、短縮タイトル(単語帳参照)を使う。
■その他
フレーム表示のアクセスランキングから外したい記事が時々発生する。
エロ記事がトップページのランキングに表示されるなど。こんなとき
フレーム表示のランキングから指定した記事を外す方法を教えて欲しい。
UI不要。データベース直接操作でも問題ない。