java 计算高数_统计当前在线用户数、平均访问时长、在线用户最高数等实现

一、需求:

最近做一个统计项目,项目要求统计不同店铺的当前在线用户数、平均访问时长、今日在线用户最高数等需求

二、准备工作:###

在开始实现具体功能之前,首先得弄清楚这些概念以及计算公式(大家有哪里不认同的,欢迎指正,微笑)

当前在线用户数:这个很好理解,即当前浏览该店铺的所有用户数,也就是大家经常讨论的uv

平均访问时长:所有用户访问时长之和/总的用户数

今日在线用户最高数以及相应的时间,精确到分钟:这个也很好理解,即今天同时浏览该店铺的最大用户数

最近15min浏览次数:即店铺在最近15min被打开页面的次数,也就是大家经常讨论的pv

近30日平均浏览次数、平均访问时长:该店铺30日总的浏览次数(总的pv)/ 30,平均访问时长=30总的访问时长/总的用户数

三、数据采集:

好了,现在概念应该都明白了,开始进入正题。首先聊下数据采集,目前,我采用的是埋点(包括心跳通知)的方法进行数据采集,一方面使用埋点对所收集的数据比较准确,另外对数据收集相对比较简单。我们使用了两个数据收集接口,第一个即每次打开一个页面都会调用一次的pv收集接口,该接口主要收集当前页面的id、url、标题、上一个页面的地址等信息,该接口会返回一个唯一的pvId,如果用户第一次访问,则会服务端会生成一个唯一的sessionid存放到cookie里面,这个sessionid就用于区分不同用户(这种统计存在一定的偏差:比如同一个用户用不同浏览器打开,会统计成多个用户,暂时忽略这种偏差)&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值