> 백엔드 개발 > PHP 튜토리얼 > SEO 统计算法

SEO 统计算法

WBOY
풀어 주다: 2016-07-06 13:51:28
원래의
896명이 탐색했습니다.

我想知道 站长之家对网站 ip PV 的一个统计 使用什么样的算法呢。

大概思路 和方向是什么,我觉得 不通过使用sdk的方式统计的数据 相对准确性 不是很高呢,是我理解的额这样么,求大神告知。

回复内容:

我想知道 站长之家对网站 ip PV 的一个统计 使用什么样的算法呢。

大概思路 和方向是什么,我觉得 不通过使用sdk的方式统计的数据 相对准确性 不是很高呢,是我理解的额这样么,求大神告知。

1)简单粗暴型的,这里不用去管浏览器的user-agent,不管cookie等信息,每产生一次PV,就直接计数,优点:简单,缺点:可能不真实,也可能有刷量数据
2)稍微细腻点的统计,会区分新老用户,楼主你可以研究下baidu统计的SDK,里面包含有用户的浏览器信息,操作系统信息、用户的地域信息等,也就是说,你通过浏览器的javascript以及和服务器数据的交互,对于后台服务器来说,是可以获取这些数据的,那么对于站长之家这样的网站,他可能想要统计到真实的用户访问情况,以便有些行为分析,这时会结合用户的IP信息、cookie信息(也就是session)和user-agent来统计分析,注意,这里的IP是映射后的IP地址,对于我们日常的家庭拨号上网,都是拿到的运营商的虚拟出来的内网地址,以便节省IPv4资源,所以说,一个user-agent、IP、cookie基本上能唯一标识一个用户信息。
3) 进一步说,有了这些数据之后,从设计角度来说,阅读量的这个信息在页面展现中不是优先级最高的(优先级最高的应该是业务内容本身),但阅读量的相关信息是有意义的,那么问题来了,对于阅读量这种信息是否在数据库的设计层面上要加写锁去互斥? 这里推荐了解下什么是CAP原理。
4) 所以解决方案,可能是缓存,也可能是有IP的判断、cookie的检测,这个要尝试之后才知道了,不过个人觉得可能性最大的是这个阅读量,汽车之家采用的是一个异步统计的办法,也就是说你产生真实的阅读之后,他是经过后台处理之后才给阅读量计数器+1的。
提供一下实现这种思路:

  • 一个IP最多只增加两次阅读类似的机制,或者还有更深一层次逻辑判断的,比如第二天IP清空,然后这个统计算法变成了每一天每一个IP都有两次阅读次数增加的机会

  • 一段固定时间内(比如30分钟),不管你用同一个浏览器内核访问多少次只增加一次阅读量。

  • 校验user-agent、cookie等信息;每一次浏览插入一条访客记录到A表

  • 微博实现:我是做微博的,我说说微博的做法。阅读量,点赞数,单访问限制。都是用redis实现的。然后每天夜里空闲时段同步数据库(按一定规则,分批等)。

  • 如果用户已经登录,只统计一次;如果是游客,则根据IP、timestamp、cookie等综合判断,相同就只统计一次。
    这样可以防止刷浏览量。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿