异常离线用户检测方法、装置、服务器、存储介质和系统制造方法及图纸

技术编号:28987058 阅读:24 留言:0更新日期:2021-06-23 09:38
本公开提供一种异常离线用户检测方法、装置、服务器、存储介质和系统,通过在心跳服务器中针对路由至该心跳服务器的用户设置相应的定时器,在相应的定时器中记录最近一次收到该用户的心跳数据的时间,并且在心跳信息数据库中对应存储用户标识和当前为该用户标识设置相应的定时器的心跳服务器的服务器标识,在心跳服务器中某用户的定时器超时时访问心跳信息服务器以确定该心跳服务器是否与心跳信息数据库中记录的一致,进而确定该用户是否为异常离线用户,减轻了心跳信息数据库的读写压力。

【技术实现步骤摘要】
异常离线用户检测方法、装置、服务器、存储介质和系统
本公开的实施例涉及异常离线检测
,具体涉及异常离线用户检测方法、装置、服务器、存储介质和系统。
技术介绍
对于大多网络应用,经常需要在探测用户是否活跃,当发现用户异常离线(比如用户因为断网或者网络崩溃而导致的突然离线,但不包括用户正常退出网络应用),可能需要执行相应的异常离线处理。比如,可以对于双方网络语音通话的场景,如果一方突然离线,需要通知对方切断通话等。
技术实现思路
本公开的实施例提出了异常离线用户检测方法、装置、服务器、存储介质和系统。第一方面,本公开的实施例提供了一种异常离线用户检测方法,应用于心跳服务器,该方法包括:确定内存中是否存在超时定时器;响应于确定存在超时定时器,获取上述超时定时器对应的超时用户标识;在心跳信息数据库中查询与上述超时用户标识对应的心跳服务器标识;响应于查询到,确定所查到的心跳服务器标识与上述心跳服务器的心跳服务器标识是否相同;响应于确定相同,确定上述超时用户标识所指示的用户为异常离线用户。在一些可选的实施方式中,上述方法还包括:响应于确定不相同或者未查询到,删除内存中上述超时用户标识对应的定时器。在一些可选的实施方式中,上述方法还包括:响应于接收到客户端发送的针对目标用户标识的心跳数据,确定内存中是否存在上述目标用户标识对应的定时器;响应于确定不存在上述目标用户标识对应的定时器,在内存中新建上述目标用户标识对应的定时器,其中,上述目标用户标识对应的定时器的起始时间和超时时长分别基于当前时间和预设心跳过期时长确定,以及将上述目标用户标识和上述心跳服务器的心跳服务器标识对应存储至上述心跳信息数据库。在一些可选的实施方式中,上述方法还包括:响应于确定存在上述目标用户标识对应的定时器,将内存中上述目标用户标识对应的定时器的起始时间更新为当前时间。在一些可选的实施方式中,上述心跳数据是上述网关服务器从客户端接收并转发至上述心跳服务器的。在一些可选的实施方式中,上述心跳服务器是上述网关服务器利用哈希算法根据从客户端收到的上述心跳数据中上述目标用户标识而确定的。在一些可选的实施方式中,上述方法还包括:针对所确定的异常离线用户执行预设用户异常离线业务操作。第二方面,本公开的实施例提供了一种异常离线用户检测装置,应用于心跳服务器,该装置包括:第一确定单元,被配置成确定内存中是否存在超时定时器;获取单元,被配置成响应于确定存在超时定时器,获取上述超时定时器对应的超时用户标识;查询单元,被配置成在心跳信息数据库中查询与上述超时用户标识对应的心跳服务器标识;第二确定单元,被配置成响应于查询到,确定所查到的心跳服务器标识与上述心跳服务器的心跳服务器标识是否相同;第三确定单元,被配置成响应于确定相同,确定上述超时用户标识所指示的用户为异常离线用户。在一些可选的实施方式中,上述装置还包括:删除单元,被配置成响应于确定不相同或者未查询到,删除内存中上述超时用户标识对应的定时器。在一些可选的实施方式中,上述装置还包括:第四确定单元,被配置成响应于接收到客户端发送的针对目标用户标识的心跳数据,确定内存中是否存在上述目标用户标识对应的定时器;新建及存储单元,被配置成响应于确定不存在上述目标用户标识对应的定时器,在内存中新建上述目标用户标识对应的定时器,其中,上述目标用户标识对应的定时器的起始时间和超时时长分别基于当前时间和预设心跳过期时长确定,以及将上述目标用户标识和上述心跳服务器的心跳服务器标识对应存储至上述心跳信息数据库。在一些可选的实施方式中,上述装置还包括:更新单元,被配置成响应于确定存在上述目标用户标识对应的定时器,将内存中上述目标用户标识对应的定时器的起始时间更新为当前时间。在一些可选的实施方式中,上述心跳数据是上述网关服务器从客户端接收并转发至上述心跳服务器的。在一些可选的实施方式中,上述心跳服务器是上述网关服务器利用哈希算法根据从客户端收到的上述心跳数据中上述目标用户标识而确定的。在一些可选的实施方式中,上述装置还包括:执行单元,被配置成针对所确定的异常离线用户执行预设用户异常离线业务操作。第三方面,本公开的实施例提供了一种心跳服务器,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如第一方面中任一实现方式描述的方法。第四方面,本公开的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被一个或多个处理器执行时实现如第一方面中任一实现方式描述的方法。第五方面,本公开的实施例提供了一种异常离线用户检测系统,包括:至少两个客户端,至少一个网关服务器,至少一个如第三方面中描述的心跳服务器和心跳信息数据库。在一些可选的实施方式中,上述心跳信息数据库中对应存储有用户标识和心跳服务器标识。为了检测出异常离线用户,目前常用的解决方案是:用户的客户端每隔预设心跳周期(比如,10秒)发送一次心跳数据,心跳数据经网关(gateway)服务器进行路由并转发至至少一个心跳服务器中的某个心跳服务器,再由心跳数据所转发至的心跳服务器用收到该心跳数据的时间更新心跳信息数据库中上述用户对应的最近一次收到心跳数据的时间。而与心跳信息数据库连接的检测服务器通过定时扫描心跳信息数据库中所有用户对应的最近一次收到心跳数据的时间,并将其中对应的最近一次收到心跳信息的时间距离当前时间超出预设心跳过期时长的用户确定为异常离线用户。该异常离线用户检测方法,存在以下缺陷:(1)在大规模用户场景下,由检测服务器定时扫描心跳信息数据库中所有用户的心跳信息,对心跳数据库造成过高的读出压力;以及每个客户端每次发出的心跳数据都要写入心跳信息数据库,对心跳数据库造成过高的写入压力。(2)在检测服务器定时扫描心跳信息数据库过程中,所扫描出来的大部分心跳信息是没有超时的,导致扫描效率低下;(3)在心跳信息数据库出现抖动时,可能导致检测服务器无法连接到心跳信息数据库,进而无法检测是否存在异常离线用户,即异常离线用户检测服务不可用。为解决上述技术问题,本公开的实施例提供的异常离线用户检测方法、装置、服务器、存储介质和系统,通过在心跳服务器中针对路由至该心跳服务器的用户设置相应的定时器,在相应的定时器中记录最近一次收到该用户的心跳数据的时间,并且在心跳信息数据库中对应存储用户标识和当前为该用户标识设置相应的定时器的心跳服务器的服务器标识。其可以实现包括但不限于以下效果:第一,只在心跳服务器中某个用户对应的定时器超时的情况下,才由该心跳服务器去心跳信息数据库中查询相应的心跳服务器标识,相对于现有技术中检测服务器定期扫描所有用户的心跳信息,大大减少了心跳数据库的数据读出压力。第二,在心跳服务器中对收到心跳数据的用户相应的定时器中起始时间进行更新,而不是将每次收到心跳数据的时间写入到心跳数据库,写入到心跳信息数据库的仅为用户本文档来自技高网...

【技术保护点】
1.一种异常离线用户检测方法,其特征在于,应用于心跳服务器,所述方法包括:/n确定内存中是否存在超时定时器;/n响应于确定存在超时定时器,获取所述超时定时器对应的超时用户标识;/n在心跳信息数据库中查询与所述超时用户标识对应的心跳服务器标识;/n响应于查询到,确定所查到的心跳服务器标识与所述心跳服务器的心跳服务器标识是否相同;/n响应于确定相同,确定所述超时用户标识所指示的用户为异常离线用户。/n

【技术特征摘要】
1.一种异常离线用户检测方法,其特征在于,应用于心跳服务器,所述方法包括:
确定内存中是否存在超时定时器;
响应于确定存在超时定时器,获取所述超时定时器对应的超时用户标识;
在心跳信息数据库中查询与所述超时用户标识对应的心跳服务器标识;
响应于查询到,确定所查到的心跳服务器标识与所述心跳服务器的心跳服务器标识是否相同;
响应于确定相同,确定所述超时用户标识所指示的用户为异常离线用户。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于确定不相同或者未查询到,删除内存中所述超时用户标识对应的定时器。


3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于接收到客户端发送的针对目标用户标识的心跳数据,确定内存中是否存在所述目标用户标识对应的定时器;
响应于确定不存在所述目标用户标识对应的定时器,在内存中新建所述目标用户标识对应的定时器,其中,所述目标用户标识对应的定时器的起始时间和超时时长分别基于当前时间和预设心跳过期时长确定,以及将所述目标用户标识和所述心跳服务器的心跳服务器标识对应存储至所述心跳信息数据库。


4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
响应于确定存在所述目标用户标识对应的定时器,将内存中所述目标用户标识对应的定时器的起始时间更新为当前时间。


5.根据权利要求4所述的方法,其特征在于,所述心跳数据是所述网关服务器从客户端接收并转发至所述心跳服务器的。


6.根据权利要求5所述的方法,其特征在于,所述心跳服务器是所述网关服务器利用哈希算法根据从客户端收到的所述心跳数据中所述目标用户标识而确定的。


7.根据权利要求1-6中任一所述的方法,其特征在于,所述方法还包括:
针对所确定的异常离线用户执行预设用户异常离线业务操作。


8.一种异常离线用户检测装置,其特征在于,应用于心跳服务器,所述装置包括:
第一确定单元,被配置成确定内存中是否存在超时定时器;
获取单元,被配置成响应于确定存在超时定时器,获取所述超时定时器对应的超时用户标识;
查询单元,被配置成在心跳信息数据库中查询与所述超时用户标识对应的心跳服务器标识;
第二确定单元,被配置成响应于查询到,确定所查到的心跳服务器标识与所述心跳服务器的心跳服务器标识是否相同;
第三确定单元,...

【专利技术属性】
技术研发人员:张晓林茅志翔秦志雷
申请(专利权)人:北京字跳网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1