关于网站页面访问量统计的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于网站页面访问量统计的问题相关的知识,希望对你有一定的参考价值。
网站用的是分层结构【dao,service,restful展示,然后js通过ajax与restful交互,在前端用jQuery来展示出结果】,是用java写的。现在想实现一个功能,就是页面访问量。第一,能显示每天访问次数和总访问次数。第二,页面刷新后次数不会自动加1.第三,tomcat重启或者浏览器缓存清空时访问次数不会被初始化。
我现在想的是,建立一个数据库,然后用监听,当页面被打开之后就被监听到,然后在数据库里写入一次。再通过查询来显示出访问次数。
现在的问题在于,首先,数据库表使用频率这么高,一边写入,一边读取,出现锁表的可能性极大,这个问题该如何解决?
第二,如何保证每个页面都能统计到,因为页面很多,每个页面访问量肯定不同,如何做到分别精确统计。
第三,监听之前没接触过,这个该如何来写。是写在js里还是restful里。
希望,您能在帮忙介绍上述内容的时候写一个小小的demo,或者您有什么解决方案也可以分享给我。希望详细一些,因为说的太空不理解。最好能一步一步的讲一下,万分感谢。混分的就别来了,大不了不选择最佳答案也不会给你。
再次感谢。
补充一下,关于页面刷新后不会自动+1,指的是页面短期内一直刷新在同一个浏览器刷新不会被记录,在不同电脑一定间隔时间后点击该页面可以被记录
而且这是内部网站,第三方统计是不可行的。
所以麻烦复制粘贴的过过脑子再说
技术问题,还是去技术论坛吧
关于页面刷新后不会自动+1,指的是页面短期内一直刷新在同一个浏览器刷新不会被记录,在不同电脑一定间隔时间后点击该页面可以被记录
关于这个需求,你又不是做投票软件,记录用户ip地址,用户刷新一次或点击就算一次点击,不用做的这么精确吧!
一般统计网页程序,都是内嵌js脚本,你建立一个用于统计的js公用文件,然后需要统计的页面都引用他。
请参考Piwik
<script type="text/javascript">
document.write(unescape("%3Cscript src='" + (("https:" == document.location.protocol) ? "https://demo2.piwik.org/" : "http://demo2.piwik.org/") + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try
var piwikTracker = Piwik.getTracker((("https:" == document.location.protocol) ? "https://demo.piwik.org/" : "http://demo.piwik.org/") + "piwik.php", 1);
piwikTracker.setCookieDomain('*.piwik.org');
if(document.domain != 'piwik.org')
piwikTracker.setDocumentTitle(document.domain + "/" + document.title);
// Set the domain the visitor landed on, in the Custom Variable
if(!piwikTracker.getCustomVariable(1))
piwikTracker.setCustomVariable(1, "Domain landed", document.domain );
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
catch( err )
</script><noscript><p><img src="http://demo.piwik.org/piwik.php?idsite=1" style="border:0" alt="" /></p></noscript>
<!-- End Piwik Tag -->
每次页面加载完毕,js就往你后台发一个请求,这个请求包含了,比如说客户端访问的url,然后d电脑分辨率啊什么的,到服务器端,你能得到ip地址,解析一下http请求头,也能得到一些信息。
然后记录下来。
追问现在可以做到在网站的某个模块统计访问量,比如公司A部门专门有一个模块,点击进去都是A部门的新闻信息,就是说统计点击A部门的次数是可以做到的。
但是A部门具体某一篇文章没办法统计,我现在不太明白的就是有人从后台重新上传一篇文章后,怎么显示这篇文章的统计量
。。。你就统计一个点击量啊
你就在调用新闻详情的方法里面点击量+1,就行了啊
例如
// 1.获取新闻详情
getNewsInfo(int newsId)
// 2.新增新闻点击量
addClickById(int newsId);
1.百度蜘蛛一天来我们的网站的次数;(因为我们都希望越多越好)
2.百度蜘蛛都是什么时间来的;(知道这个就可以在百度蜘蛛来的时候更新文章,这样可以增加收录数量,减少收录时间)
3.网站哪些页面访问量大;
4.有多少访客访问了您的网站;
5.访客都从哪里来;
6.访客在您的网站停留了多长时间等等。
2
这些功能逆火网站日志分析器无疑都可以帮我们办到。它以报表,统计图的形式向我们展示日志的分析结果,并且分析出来的数据报表条理清晰,易于查看,让我们以最少的时间获取最多最精确地网站信息。
3
网站的总体访问情况,包括所有的访问量,使用带宽情况等;
怎么区分PVIVUV以及网站统计名词解释
PV(Page View)访问量,即页面访问量,每打开一次页面PV计数+1,刷新页面也是。IV(Internet Protocol)访问量指独立IP访问数,计算是以一个独立的IP在一个计算时段内访问网站计算为1次IP访问数。在同一个计算时段内不管这个IP访问多少次均计算为1次。计算时段有以1天为一个计算时段,也有以1个小时为一个计算时段。UV(Unique Visitor)访问数指独立访客访问数,一台电脑终端为一个访客。在同一个局域网中对互联网访问时对外通常是同一个IP,如果该局域网中有10台终端在同一个计算时段内访问同一个网站,对该网站的IV贡献为1,UV访问数为10。
三者的区分方法如下:
1、PV访问量(Page View),即页面访问量,每打开一次页面PV计数+1,刷新页面也是。
PV是页面浏览量或点击量,衡量网站用户访问的网页数量;在一定统计周期内用户每打开或刷新一个页面就记录1次,多次打开或刷新同一页面则浏览量累计。
2、UV访问量(Unique Visitor)指独立访客访问数,一台电脑终端为一个访客。
UV统计1天内访问某站点的用户数(以cookie为依据);访问网站的一台电脑客户端为一个访客。可以理解成访问某网站的电脑的数量。网站判断来访电脑的身份是通过来访电脑的cookies实现的。如果更换了IP后但不清除cookies,再访问相同网站,该网站的统计中UV数是不变的。如果用户不保存cookies访问、清除了cookies或者更换设备访问,计数会加1。00:00-24:00内相同的客户端多次访问只计为1个访客。
3、独立IP访问数指独立IP访问数,计算是以一个独立的IP在一个计算时段内访问网站计算为1次IP访问数。在同一个计算时段内不管这个IP访问多少次均计算为1次。计算时段有以1天为一个计算时段,也有以1个小时为一个计算时段。
IP(Internet Protocol)独立IP数,是指1天内多少个独立的IP浏览了页面,即统计不同的IP浏览用户数量。同一IP不管访问了几个页面,独立IP数均为1;不同的IP浏览页面,计数会加1。 IP是基于用户广域网IP地址来区分不同的访问者的,所以,多个用户(多个局域网IP)在同一个路由器(同一个广域网IP)内上网,可能被记录为一个独立IP访问者。如果用户不断更换IP,则有可能被多次统计。
扩展:
以上是关于关于网站页面访问量统计的问题的主要内容,如果未能解决你的问题,请参考以下文章