V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lygmqkl
V2EX  ›  程序员

讨论下基于 php 的简单 uv 统计思路

  •  
  •   lygmqkl · 2014-11-04 13:00:11 +08:00 · 9516 次点击
    这是一个创建于 3661 天前的主题,其中的信息可能已经有所发展或是发生改变。
    遇到一个关于首页日UV PV统计的问题,思路大概有了,还是想拿出来讨论下,看有没有更优的思路。

    PV: 没得说,对特定api例如 /channels ,请求一次pv++
    UV:考虑使用 HTTP_COOKIE+REMOTE_ADDR 作为unique index,每次pv增加的时候查询一次当天记录,如果没有命中则增加一条UV记录

    这里有几个问题:
    1. UV 逻辑是否存在大的漏洞,因为用户可以手动清除cookies,但是我个人觉得这个东西基本无法避免了在BS层面上。欢迎提出更优秀的UV甄别方案
    2. 原则上PV增加的次数高于UV,而且是数量级的,其实可以做一些缓存工作,但是我用的是restful api设计,为了考虑将来更多的适应多服务器负载的情况,只能每次PV增加的时候,进行UV的相关操作,同样欢迎提供相关思路。
    3. 关于第三方,不是没考虑过,但是怎么说呢,最后还是放弃了。如果有用的好的第三方经验,欢迎共享。


    ok, 就这么多,希望今天下午这个帖子能给你带来一丝讨论的乐趣,nice day.
    15 条回复    2014-11-05 17:11:52 +08:00
    tabris17
        1
    tabris17  
       2014-11-04 13:07:00 +08:00   ❤️ 1
    通过浏览器指纹来辨识客户端
    lygmqkl
        2
    lygmqkl  
    OP
       2014-11-04 13:15:15 +08:00
    @tabris17 好吧,之前听说过,但是没深究,花了几分钟简单学习了下,感觉这个路子也不错,通过特定的header 然后md5一下。
    em70
        3
    em70  
       2014-11-04 13:18:12 +08:00   ❤️ 1
    要允许结果有一定的误差,100%精确是不可能的,cnzz有啥问题?
    lygmqkl
        4
    lygmqkl  
    OP
       2014-11-04 13:34:38 +08:00
    @em70 cnzz 没有啥问题,只是这次项目的特殊性,和时间上有宽裕,想自己折腾一下。
    tabris17
        5
    tabris17  
       2014-11-04 14:11:57 +08:00
    @lygmqkl 不光是request head,还有 flash cookie,浏览器安装了那些控件,控件的版本,显示器尺寸,是否支持java,java版本等因素
    lygmqkl
        6
    lygmqkl  
    OP
       2014-11-04 14:49:28 +08:00
    @tabris17 hm,大概明白意思了,都是通过js来确定的吧?
    tabris17
        7
    tabris17  
       2014-11-04 14:56:39 +08:00
    wesley
        8
    wesley  
       2014-11-04 15:12:52 +08:00
    cookie是最好的选择
    lygmqkl
        9
    lygmqkl  
    OP
       2014-11-04 15:39:36 +08:00
    @tabris17
    @wesley
    @em70
    我和QQ群里的朋友也讨论了一下,感觉在精准度不是要求非常高的前提下,cookies for UV 已经足够了。

    关于浏览器指纹,其实也不是100%准确的因为只要是在客户端js中生成的东西,都不是那么的“可靠”

    欢迎大家继续添砖加瓦
    txlty
        10
    txlty  
       2014-11-04 15:46:08 +08:00   ❤️ 1
    uv的逻辑不叫漏洞,叫缺陷。结果仅供比对IP和PV,用作参考。
    浏览器能跟踪到的信息,这里比较全:
    http://ip-check.info/?lang=en (点START TEST!)这个带详细分类和说明 @tabris17
    lygmqkl
        11
    lygmqkl  
    OP
       2014-11-04 17:48:35 +08:00
    @txlty 谢谢分享的url 头一会看到,很有用。
    changsha
        12
    changsha  
       2014-11-04 20:00:06 +08:00 via iPhone   ❤️ 1
    我们给新浪、网易做流量统计 也是基于cookie做user识别,这是唯一合理的方式。
    lygmqkl
        13
    lygmqkl  
    OP
       2014-11-04 20:07:06 +08:00
    @changsha 谢谢分享,我也个人觉得 ip,cookie 已经足够用了,因为所有的东西都能伪装,所以没必要追求抓不住的准确。
    changsha
        14
    changsha  
       2014-11-04 20:09:57 +08:00 via iPhone   ❤️ 1
    @lygmqkl 是的 虽然说cookie会清除 但几百万的样本里 有多少人会清除呢?很少的,不会影响结果的准确性。
    lygmqkl
        15
    lygmqkl  
    OP
       2014-11-05 17:11:52 +08:00
    @changsha 明白了 非常感谢参与讨论。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5973 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:27 · PVG 10:27 · LAX 18:27 · JFK 21:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.