[阿里]统计在线人


阿里的log文件如下,有三个字段:time(登陆或登出时间点)+uid+login或logout,每条记录按时间顺序排列。问题如下:给定一个时间点T,统计在线人数。
如果log超级大,内存放不下又该怎么办?
已邀请:

wsk - Idiots. Idiots never change.

赞同来自: liuruoyu foolSunMa Basin sjf0115 liujihaozhy更多 »


uid是可以忽略的,就好像坐车一样,一个人上车,另一个人下车,车内总人数是不变的。
用bit 1代表登陆操作,0代表登出操作,整个可以表达为如下的数据结构
ali.png

可以将log文件预处理一次,划分出m个时间段,预先统计出各个时间段的初始状态,做分布查询

要回复问题请先登录注册

返回顶部