本发明专利技术提供了一种统计在线用户数量的方法和装置。其中,方法包括:接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间;依据对应的最新活跃时间对已保存的所有用户标识进行排序;对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足所述下线条件时停止判定;依据判定结果统计在线用户的数量。本发明专利技术无需对全部用户标识进行逐个查询,仅需对排序后的部分用户标识进行判定即可,因此查询量较小,能够提高在线用户数量的统计效率,统计更加及时。
【技术实现步骤摘要】
统计在线用户数量的方法和装置
本专利技术涉及网络
,特别是涉及一种统计在线用户数量的方法和一种统计在线用户数量的装置。
技术介绍
随着网络技术的迅速发展,各类网站不断涌现,为了便于网站的维护,通常需要对网站的实时在线用户数量进行统计。但同时在线用户数达到万级时,统计在线用户数量将变得是一件困难的事情。例如,在线用户向在线统计服务器发送心跳信息,当第一次发送心跳信息时,表示用户上线,当超过3次心跳间隔未收到该用户的心跳信息时即判定用户下线。如果网站平台当前有120万用户在线,每10秒发送一次心跳,那么在线统计服务器要求达到12万QPS(QueryPerSecond,每秒查询率),如果是普通的WEB服务器(1000QPS)将需要120组服务才可以承接。现有技术中,将在线用户的心跳信息以session(会话)的方式记录到数据库中,当用户上线时创建该用户对应的session,该用户再次发送心跳信息时延长对应session的生命周期,当无该用户的心跳信息并且经过一定时间后,自动删除该用户对应的session。但是,上述方法中需要逐个查询数据库中的各用户对应session的生命周期,查询量非常大,导致在线用户数量的统计效率较低,统计不及时。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的统计在线用户数量的方法和相应的统计在线用户数量的装置。依据本专利技术的一个方面,提供了一种统计在线用户数量的方法,包括:接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间;依据对应的最新活跃时间对已保存的所有用户标识进行排序;对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足所述下线条件时停止判定;依据判定结果统计在线用户的数量。可选地,所述对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足所述下线条件时停止判定的步骤,包括:对于排序后的所有用户标识,从最新活跃时间最早的用户标识开始,按照排序顺序依次判定当前用户标识对应的最新活跃时间与当前时间的差值是否大于设定阈值,直至某用户标识对应的最新活跃时间与当前时间的差值小于或等于所述设定阈值时停止判定。可选地,在所述接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间的步骤之前,还包括:将用户标识划分为多个组,并为每组用户标识创建一个对应的独立处理线程。可选地,所述接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间的步骤,包括:接收到包括打点用户标识及打点时间的打点数据时,将所述打点数据转发至所述打点用户标识对应的独立处理线程,由该独立处理线程依据所述打点时间设置所述打点用户标识对应的最新活跃时间;所述依据对应的最新活跃时间对已保存的所有用户标识进行排序的步骤,包括:针对每组用户标识,分别由各自对应的独立处理线程依据对应的最新活跃时间对该组用户标识进行排序;所述对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件的步骤,包括:针对每组排序后的用户标识,分别由各自对应的独立处理线程按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件。可选地,所述依据所述打点时间设置所述打点用户标识对应的最新活跃时间的步骤,包括:确定是否已保存所述打点用户标识;若是,则将所述打点用户标识对应的最新活跃时间更新为所述打点时间;若否,则保存所述打点用户标识,并将所述打点用户标识对应的最新活跃时间设置为所述打点时间。可选地,所述依据判定结果统计在线用户的数量的步骤,包括:确定对应的最新活跃时间不满足所述下线条件的用户标识的数量,将该数量作为在线用户的数量。依据本专利技术的另一方面,提供了一种统计在线用户数量的装置,包括:设置模块,适于接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间;排序模块,适于依据对应的最新活跃时间对已保存的所有用户标识进行排序;判定模块,适于对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足所述下线条件时停止判定;统计模块,适于依据判定结果统计在线用户的数量。可选地,所述判定模块,具体适于对于排序后的所有用户标识,从最新活跃时间最早的用户标识开始,按照排序顺序依次判定当前用户标识对应的最新活跃时间与当前时间的差值是否大于设定阈值,直至某用户标识对应的最新活跃时间与当前时间的差值小于或等于所述设定阈值时停止判定。可选地,所述装置还包括:分组模块,适于将用户标识划分为多个组,并为每组用户标识创建一个对应的独立处理线程。可选地,所述设置模块,具体适于接收到包括打点用户标识及打点时间的打点数据时,将所述打点数据转发至所述打点用户标识对应的独立处理线程,由该独立处理线程依据所述打点时间设置所述打点用户标识对应的最新活跃时间;所述排序模块,具体适于针对每组用户标识,分别由各自对应的独立处理线程依据对应的最新活跃时间对该组用户标识进行排序;所述判定模块,具体适于针对每组排序后的用户标识,分别由各自对应的独立处理线程按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件。可选地,所述设置模块,具体适于确定是否已保存所述打点用户标识;若是,则将所述打点用户标识对应的最新活跃时间更新为所述打点时间;若否,则保存所述打点用户标识,并将所述打点用户标识对应的最新活跃时间设置为所述打点时间。可选地,所述统计模块,具体适于确定对应的最新活跃时间不满足所述下线条件的用户标识的数量,将该数量作为在线用户的数量。根据本专利技术的统计在线用户数量的方法和装置,在接收到打点用户的打点数据时,依据打点数据中的打点时间设置打点用户标识对应的最新活跃时间,并依据对应的最新活跃时间对已保存的所有用户标识进行排序,对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足所述下线条件时停止判定,最后依据判定结果统计在线用户的数量。由此可知,本专利技术无需对全部用户标识进行逐个查询,仅需对排序后的部分用户标识进行判定即可,因此查询量较小,能够提高在线用户数量的统计效率,统计更加及时。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术实施例一的一种统计在线用户数量的方法的步骤流程图;本文档来自技高网...
【技术保护点】
一种统计在线用户数量的方法,包括:接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间;依据对应的最新活跃时间对已保存的所有用户标识进行排序;对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足所述下线条件时停止判定;依据判定结果统计在线用户的数量。
【技术特征摘要】
1.一种统计在线用户数量的方法,包括:接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间;依据对应的最新活跃时间对已保存的所有用户标识进行排序;对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足所述下线条件时停止判定;依据判定结果统计在线用户的数量。2.如权利要求1所述的方法,其特征在于,所述对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足所述下线条件时停止判定的步骤,包括:对于排序后的所有用户标识,从最新活跃时间最早的用户标识开始,按照排序顺序依次判定当前用户标识对应的最新活跃时间与当前时间的差值是否大于设定阈值,直至某用户标识对应的最新活跃时间与当前时间的差值小于或等于所述设定阈值时停止判定。3.如权利要求1所述的方法,其特征在于,在所述接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间的步骤之前,还包括:将用户标识划分为多个组,并为每组用户标识创建一个对应的独立处理线程。4.如权利要求3所述的方法,其特征在于,所述接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间的步骤,包括:接收到包括打点用户标识及打点时间的打点数据时,将所述打点数据转发至所述打点用户标识对应的独立处理线程,由该独立处理线程依据所述打点时间设置所述打点用户标识对应的最新活跃时间;所述依据对应的最新活跃时间对已保存的所有用户标识进行排序的步骤,包括:针对每组用户标识,分别由各自对应的独立处理线程依据对应的最新活跃时间对该组用户标识进行排序;所述对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件的步骤,包括:针对每组排序后的用户标识,分别由各自对应的独立处理线程按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件。5.如权利要求1所...
【专利技术属性】
技术研发人员:左文建,曲文庆,
申请(专利权)人:北京奇虎科技有限公司,奇智软件北京有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。