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

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