2
通过useragent,ip,session_id聚集唯一身份访问者
在满足session_id, ip, user_agent以下条件的情况下,给定形式为的网站访问数据,以及可选的时间戳记,请按照以下条件进行操作,如何最好地将会话归类为唯一身份访问者? session_id:是给每个新访客的ID。它不会过期,但是如果用户不接受cookie /清除cookie /更改浏览器/更改设备,则将不再识别他 IP 可以在不同的用户之间共享(想像一个免费的Wi-Fi咖啡馆,或者您的ISP重新分配IP),他们通常会至少拥有2个家庭和工作场所。 User_agent是浏览器+操作系统版本,可区分设备。例如,用户可能同时使用手机和笔记本电脑,但不太可能使用Windows + Apple笔记本电脑。同一会话ID不可能有多个用户代理。 数据可能看起来像这里的小提琴:http ://sqlfiddle.com/#!2/ c4de40/1 当然,我们在谈论假设,但这是在尽可能接近现实。例如,如果我们在有限的时间内遇到具有不同session_id的相同ip和useragent,则可以合理地假设它是同一用户,但有一些例外情况。 编辑:解决问题的语言是反讽的,它主要是关于逻辑而不是实现。伪代码很好。 编辑:由于小提琴的缓慢性质,您可以选择读取/运行mysql: select session_id, floor(rand()*256*256*256*256) as ip_num , floor(rand()*1000) as user_agent_id from (select 1+a.nr+10*b.nr as session_id, ceil(rand()*3) as nr from (select 1 as nr union all select 2 union all select 3 union all select …
15
clustering