1 建立两个表,一个表只记录当天的点击量,比如today_cnt,字段:`id`,`time`(用unix时间戳形式)你可以用内存表或临时表,但一定要注意这两种表的特性,防止因服务器问题导致数据丢失。2 每当有一个下载,就把相应的值插入到today_cnt这个表里面。3 写一个php或perl脚本如exec.php,根据today_cnt里面的值,格式化time字段,将日期及统计出的下载次数插入到一个新的结果表total_cnt中。字段:`id`,`date`,`cnt`,并且在将结果写入到total_cnt之后,清空today_cnt表。4 使用crontal每天定时执行exec.php5 前台查询模块
(1)本日数据直接查询today_cnt表得到结果。
(2)本周数据从total_cnt根据date字段匹配出对应id的本周数据加上today_cnt表对应id的数据量。
(3)本月数据从total_cnt根据date字段匹配出对应id的本月数据加上today_cnt表对应id的数据量。
(4)数据总量从total_cnt根据date字段匹配出对应id的所有数据加上today_cnt表对应id的数据量。
如果你会分析apache日志,直接从日志里面提取出下载的原始记录来统计会更好。
(1)本日数据直接查询today_cnt表得到结果。
(2)本周数据从total_cnt根据date字段匹配出对应id的本周数据加上today_cnt表对应id的数据量。
(3)本月数据从total_cnt根据date字段匹配出对应id的本月数据加上today_cnt表对应id的数据量。
(4)数据总量从total_cnt根据date字段匹配出对应id的所有数据加上today_cnt表对应id的数据量。
如果你会分析apache日志,直接从日志里面提取出下载的原始记录来统计会更好。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货