本发明专利技术提供了一种通知用户上下线的方法和装置。其中,方法包括:接收到包括打点用户标识及打点时间的打点数据时,依据打点时间设置打点用户标识对应的最新活跃时间;若判定打点用户标识对应用户为首次上线,则发送打点用户标识对应用户的上线通知;依据对应的最新活跃时间对已保存的所有用户标识进行排序;对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足所述下线条件时停止判定;针对对应的最新活跃时间满足所述下线条件的用户标识,发送该用户标识对应用户的下线通知。本发明专利技术查询量较小,能够更加及时地对用户的上下线情况进行通知。
【技术实现步骤摘要】
通知用户上下线的方法和装置
本专利技术涉及网络
,特别是涉及一种通知用户上下线的方法和一种通知用户上下线的装置。
技术介绍
随着网络技术的迅速发展,各类网站不断涌现,为了便于网站的维护,通常需要对网站用户的在线情况进行监控,并触发用户上线、下线的通知。但同时在线用户数达到万级时,对网站用户在线情况的监控将变得是一件困难的事情。例如,在线用户向服务器发送心跳信息,当第一次发送心跳信息时,表示用户上线,当超过3次心跳间隔未收到该用户的心跳信息时即判定用户下线。如果网站平台当前有120万用户在线,每10秒发送一次心跳,那么服务器要求达到12万QPS(QueryPerSecond,每秒查询率),如果是普通的Web服务器(1000QPS)将需要120组服务才可以承接。现有技术中,将在线用户的心跳信息以session(会话)的方式记录到数据库中,当用户上线时创建该用户对应的session,该用户再次发送心跳信息时延长对应session的生命周期,当无该用户的心跳信息并且经过一定时间后,确定该用户已下线,并自动删除该用户对应的session。但是,上述方法中需要逐个查询数据库中的各用户对应session的生命周期,查询量非常大,导致对用户的上下线通知不及时。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的通知用户上下线的方法和相应的通知用户上下线的装置。依据本专利技术的一个方面,提供了一种通知用户上下线的方法,包括:接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间;若判定所述打点用户标识对应用户为首次上线,则发送所述打点用户标识对应用户的上线通知;依据对应的最新活跃时间对已保存的所有用户标识进行排序;对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足所述下线条件时停止判定;针对对应的最新活跃时间满足所述下线条件的用户标识,发送该用户标识对应用户的下线通知。可选地,所述对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足所述下线条件时停止判定的步骤,包括:对于排序后的所有用户标识,从最新活跃时间最早的用户标识开始,按照排序顺序依次判定当前用户标识对应的最新活跃时间与当前时间的差值是否大于设定阈值,直至某用户标识对应的最新活跃时间与当前时间的差值小于或等于所述设定阈值时停止判定。可选地,在所述接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间的步骤之前,还包括:将用户标识划分为多个组,并为每组用户标识创建一个对应的独立处理线程。可选地,所述接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间的步骤,包括:接收到包括打点用户标识及打点时间的打点数据时,将所述打点数据转发至所述打点用户标识对应的独立处理线程,由该独立处理线程依据所述打点时间设置所述打点用户标识对应的最新活跃时间;所述依据对应的最新活跃时间对已保存的所有用户标识进行排序的步骤,包括:针对每组用户标识,分别由各自对应的独立处理线程依据对应的最新活跃时间对该组用户标识进行排序;所述对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件的步骤,包括:针对每组排序后的用户标识,分别由各自对应的独立处理线程按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件。可选地,所述依据所述打点时间设置所述打点用户标识对应的最新活跃时间的步骤,包括:确定是否已保存所述打点用户标识;若是,则将所述打点用户标识对应的最新活跃时间更新为所述打点时间;若否,则保存所述打点用户标识,并将所述打点用户标识对应的最新活跃时间设置为所述打点时间。可选地,所述若判定所述打点用户标识对应用户为首次上线,则发送所述打点用户标识对应用户的上线通知的步骤,包括:确定是否已保存所述打点用户标识;若是,则判定所述打点用户标识对应用户为首次上线,并发送所述打点用户标识对应用户的上线通知。依据本专利技术的另一方面,提供了一种通知用户上下线的装置,包括:设置模块,适于接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间;上线通知模块,适于若判定所述打点用户标识对应用户为首次上线,则发送所述打点用户标识对应用户的上线通知;排序模块,适于依据对应的最新活跃时间对已保存的所有用户标识进行排序;判定模块,适于对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足所述下线条件时停止判定;下线通知模块,适于针对对应的最新活跃时间满足所述下线条件的用户标识,发送该用户标识对应用户的下线通知。可选地,所述判定模块,具体适于对于排序后的所有用户标识,从最新活跃时间最早的用户标识开始,按照排序顺序依次判定当前用户标识对应的最新活跃时间与当前时间的差值是否大于设定阈值,直至某用户标识对应的最新活跃时间与当前时间的差值小于或等于所述设定阈值时停止判定。可选地,所述装置还包括:分组模块,适于将用户标识划分为多个组,并为每组用户标识创建一个对应的独立处理线程。可选地,所述设置模块,具体适于接收到包括打点用户标识及打点时间的打点数据时,将所述打点数据转发至所述打点用户标识对应的独立处理线程,由该独立处理线程依据所述打点时间设置所述打点用户标识对应的最新活跃时间;所述排序模块,具体适于针对每组用户标识,分别由各自对应的独立处理线程依据对应的最新活跃时间对该组用户标识进行排序;所述判定模块,具体适于针对每组排序后的用户标识,分别由各自对应的独立处理线程按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件。可选地,所述设置模块,具体适于确定是否已保存所述打点用户标识;若是,则将所述打点用户标识对应的最新活跃时间更新为所述打点时间;若否,则保存所述打点用户标识,并将所述打点用户标识对应的最新活跃时间设置为所述打点时间。可选地,所述上线通知模块,具体适于确定是否已保存所述打点用户标识;若是,则判定所述打点用户标识对应用户为首次上线,并发送所述打点用户标识对应用户的上线通知。根据本专利技术的通知用户上下线的方法和装置,在接收到打点用户的打点数据时,依据打点数据中的打点时间设置打点用户标识对应的最新活跃时间,判定该打点用户标识对应用户是否为首次上线,若是则发送该打点用户标识对应用户的上线通知;依据对应的最新活跃时间对已保存的所有用户标识进行排序,对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足下线条件时停止判定,最后针对对应的最新活跃时间满足下线条件的用户标识,发送该用户标识对应用户的下线通知。由此可知,本专利技术无需对全部用户标识进行逐个查询,仅需对排序后的部分用户标识进行本文档来自技高网...

【技术保护点】
一种通知用户上下线的方法,包括:接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间;若判定所述打点用户标识对应用户为首次上线,则发送所述打点用户标识对应用户的上线通知;依据对应的最新活跃时间对已保存的所有用户标识进行排序;对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足所述下线条件时停止判定;针对对应的最新活跃时间满足所述下线条件的用户标识,发送该用户标识对应用户的下线通知。
【技术特征摘要】
1.一种通知用户上下线的方法,包括:接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间;若判定所述打点用户标识对应用户为首次上线,则发送所述打点用户标识对应用户的上线通知;依据对应的最新活跃时间对已保存的所有用户标识进行排序;对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足所述下线条件时停止判定;针对对应的最新活跃时间满足所述下线条件的用户标识,发送该用户标识对应用户的下线通知。2.如权利要求1所述的方法,其特征在于,所述对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件,直至某用户标识对应的最新活跃时间不满足所述下线条件时停止判定的步骤,包括:对于排序后的所有用户标识,从最新活跃时间最早的用户标识开始,按照排序顺序依次判定当前用户标识对应的最新活跃时间与当前时间的差值是否大于设定阈值,直至某用户标识对应的最新活跃时间与当前时间的差值小于或等于所述设定阈值时停止判定。3.如权利要求1所述的方法,其特征在于,在所述接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间的步骤之前,还包括:将用户标识划分为多个组,并为每组用户标识创建一个对应的独立处理线程。4.如权利要求3所述的方法,其特征在于,所述接收到包括打点用户标识及打点时间的打点数据时,依据所述打点时间设置所述打点用户标识对应的最新活跃时间的步骤,包括:接收到包括打点用户标识及打点时间的打点数据时,将所述打点数据转发至所述打点用户标识对应的独立处理线程,由该独立处理线程依据所述打点时间设置所述打点用户标识对应的最新活跃时间;所述依据对应的最新活跃时间对已保存的所有用户标识进行排序的步骤,包括:针对每组用户标识,分别由各自对应的独立处理线程依据对应的最新活跃时间对该组用户标识进行排序;所述对于排序后的所有用户标识,按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件的步骤,包括:针对每组排序后的用户标识,分别由各自对应的独立处理线程按照排序顺序依次判定当前用户标识对应的最新活跃时间是否满足设定的下线条件。5.如权利要求1所述的方法,其特征在于,所述依据所述打点时间设置所...
【专利技术属性】
技术研发人员:左文建,曲文庆,
申请(专利权)人:北京奇虎科技有限公司,奇智软件北京有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。