我有一个RSS程序,想统计一下:是其他网站的服务器订阅了我的RSS,还是普通客户通过浏览器打开执行。
现在的思路是:统计每个IP地址的访问频率用以区分。如果是其他网站的服务器订阅了我的RSS,那么一定是用自动程序定时执行,每次执行间隔时间是一个定数,比如每60分钟,每90分钟访问一次。
$ip=$_SERVER['REMOTE_ADDR'];
这样的情况,怎样设计mysql数据库呢? 本次访问时间-上次访问时间;上次访问时间-前次访问时间;再前次访问时间-前次访问时间(应该还须考虑一个每次脚本打开完成时间的误差可能正负几秒)... 这样的情况统计5次,大概可以确定该IP是自动程序,下次无需再统计。
两个字段:ip, time(unix时间戳)
判定条件:对于同一ip (max(time) - min(time)) / count(*) = avg(time) - min(time)
算法依据:等差数列的性质
其实你还可以判断User-Agent信息。
两个字段:ip, time(unix时间戳)
判定条件:对于同一ip (max(time) - min(time)) / count(*) = avg(time) - min(time)
算法依据:等差数列的性质
确定是server的,应该放在另一个表(例serverlist)中记录。
首先,版主讲的是每一次有访问且未确定是否服务器,都将ip与访问时间写入一个表(例accesslog)。每次写入后,判断是否服务器访问。(通常要几次才可以确定)
如果是,在serverlist插入一条记录,并把accesslog对应ip的记录删除。
当这个服务器再访问时,先判断serverlist有没有这个ip,如果有,则不写入accesslog。
另外,可以用user-agent来判断是否server访问。
什么是服务器访问呢?
什么服务器会订阅你的 rss ?
或是说什么网站会把你的 rss 存储于自己的数据库中?
另外,可以用user-agent来判断是否server访问。
什么是服务器访问呢?
什么服务器会订阅你的 rss ?
或是说什么网站会把你的 rss 存储于自己的数据库中?
怎么说?到底什么用什么方法?2个字段可以吗?
所以说 2 个字段就可以满足记流水账的需要了
至于分析的结果是否也保存在同一个表中,那是由你决定的。如果是,当然还需要增加些字段
所以说 2 个字段就可以满足记流水账的需要了
至于分析的结果是否也保存在同一个表中,那是由你决定的。如果是,当然还需要增加些字段
登记访问信息,当然是流水账
只需 insert 即可,分析计算一般也只需一条 update
弄的好的话,还可以用 view
如果你不把登记当做流水账则需先 select 定位,然后 update 修改
最后再分析计算
登记访问信息,当然是流水账
只需 insert 即可,分析计算一般也只需一条 update
弄的好的话,还可以用 view
如果你不把登记当做流水账则需先 select 定位,然后 update 修改
最后再分析计算
结贴了。想的差不多了。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号