统计论坛任意时刻的在线人数

2013年4月11日 由 Creater 留言 »

一个论坛有大量的注册ID,服务器在用户登录,退出时都会记录下事件并写入日志。得到包含登录时间与退出时间的文件。确定任意时刻在线人数。clock

1.一天有24小时,每小时有3600秒,则一天共24*3600 = 86400秒,定义数组dynamic[86400],并初始化为0,该数组来统计任意时刻登入和登出的人数,也就是记录的是一个在线人数的变化值。

2.遍历日志文件,如果在t1时刻有n个用户登录则,dynamic[t1]+=n;如果t2时刻有n个用户退出,则dynamic[t2]-=n;

3.得到dynamic[0],就是一天开始的人数。

4.定义数组online[86400]作为任意时刻在线人数统计数组, 则t时刻在线人数online[t] = online[t-1] + dynamic[n];  online[0] = dynamic[0];

广告位

发表评论

你必须 登陆 方可发表评论.