心跳监听的方法、装置、设备及存储介质制造方法及图纸

技术编号:36527078 阅读:14 留言:0更新日期:2023-02-01 16:06
本申请提供一种心跳监听的方法、装置、设备及存储介质。该方法包括:监测远程字典服务Redis存储单元中存储的服务器最近一次接收的客户端的心跳数据以及服务器接收心跳数据的时间戳,心跳数据包括:客户端标识;根据设定的查询时间间隔启动服务器的查询任务,查询Redis中存储的心跳数据的时间戳是否超过设定阈值;根据心跳数据的时间戳是否超过设定阈值,确定客户端的当前状态。本申请的方法,增加了心跳监听参考指标的安全性和稳定性提高了心跳监控的准确性。心跳监控的准确性。心跳监控的准确性。

【技术实现步骤摘要】
心跳监听的方法、装置、设备及存储介质


[0001]本申请涉及通信
,尤其涉及一种心跳监听的方法、装置、设备及存储介质。

技术介绍

[0002]客户端需要心跳机制,让服务端感知到客户端是否在线或存活。客户端的软件系统可采用C/S架构(Client/Server,客户端/服务端架构)和/或B/S架构(Browser/Server,浏览器/服务器架构)。客户端系统采用以上任意一种架构都需要运用心跳机制来感知客户端的运行状态。例如基于客户端/服务端架构的视频会议场景中,参会人通过客户端入会,客户端非正常退出,服务端需要通过心跳机制感知客户端是否还在,如果不在,就提示主持人某参会人离开;在基于浏览器/服务器架构的系统,客户端运行在浏览器中,浏览器关闭,客户端是无法主动汇报退出的,只能通过心跳机制,让服务端感知客户端是否在线;另外,在即时聊天软件运行过程中,也是通过心跳机制感知用户是否处于在线状态的。
[0003]现有技术中服务端通过非关系型数据库键的过期事件来感知客户端是否在线,当服务端持续一段时间没有收到心跳数据时,非关系型数据库的键就触发了自动删除功能,并发送一个过期事件。服务端在监听心跳数据的同时对非关系型数据库的键的过期事件进行监听,当服务端收到过期事件,即表示这些过期事件对应的客户端离线。
[0004]然而,非关系型数据库键的过期事件是一个不可靠的事件,本身就容易发生丢失,因此会出现心跳数据监控不准确的问题,进一步导致客户端运行状态判断错误的情况。

技术实现思路

[0005]本申请提供一种心跳监听的方法、装置、设备及存储介质,用以解决心跳数据监控不准确的问题。
[0006]第一方面,本申请提供一种心跳监听方法,包括:
[0007]监测远程字典服务Redis存储单元中存储的服务器最近一次接收的客户端的心跳数据以及服务器接收所述心跳数据的时间戳,所述心跳数据包括:客户端标识;
[0008]根据设定的查询时间间隔启动服务器的查询任务,查询所述Redis中存储的所述心跳数据的时间戳是否超过设定阈值;
[0009]根据所述心跳数据的时间戳是否超过所述设定阈值,确定所述客户端的当前状态。根据所述心跳数据的时间戳是否超过所述设定阈值,确定所述客户端的当前状态。
[0010]第二方面,本申请提供一种心跳监听装置,包括:
[0011]监测模块,用于监测远程字典服务Redis存储单元中存储的服务器最近一次接收的客户端的心跳数据以及服务器接收所述心跳数据的时间戳,所述心跳数据包括:客户端标识;
[0012]查询模块,用于根据设定的查询时间间隔启动服务器的查询任务,查询所述Redis中存储的所述心跳数据的时间戳是否超过设定阈值;
[0013]确定模块,用于根据所述心跳数据的时间戳是否超过所述设定阈值,确定所述客户端的当前状态。
[0014]第三方面,本申请提供一种心跳监听设备,包括:
[0015]处理器,存储器,通信接口;
[0016]所述存储器用于存储所述处理器的可执行指令;
[0017]其中,所述处理器配置为经由执行所述可执行指令来执行第一方面所述的心跳监听方法。
[0018]第四方面,本申请提供一种可读存储介质,其上存储有计算机程序,包括:
[0019]所述计算机程序被处理器执行时实现执行第一方面所述的心跳监听方法。
[0020]本申请提供的心跳监听的方法、装置、设备及存储介质,通过监测Redis存储单元中存储的服务器最近一次接收的客户端的心跳数据以及服务器接收心跳数据的时间戳,并且根据设定的查询时间间隔启动服务器的查询任务,查询Redis中存储的心跳数据的时间戳是否超过设定阈值,进一步确定客户端的当前状态。其中心跳数据的时间戳存储在Redis存储单元中,通过查询时间戳的方式可以使心跳状态的查询更加安全、稳定,实现了心跳监控更加准确的效果。
附图说明
[0021]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0022]图1为是本申请第一实施例提供的心跳监听的方法流程示意图;
[0023]图2是本申请第二实施例提供的心跳监听的方法流程示意图;
[0024]图3是本申请第三实施例提供的心跳监听装置的结构示意图;
[0025]图4是本申请第三实施例提供的另一种心跳监听装置的结构示意图;
[0026]图5是本申请第四实施例提供的心跳监听设备的结构示意图。
[0027]通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
[0028]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0029]现有技术根据非关系型数据库键的过期事件对客户端的运行状态进行监控。当服务器持续一段时间没有收到心跳数据时,非关系型数据库的键就触发了自动删除功能,并发送一个过期事件;服务器在监听心跳数据的同时对非关系型数据库的键的过期事件进行监听,当服务器收到过期事件,即表示这些过期事件对应的客户端离线。但是,非关系型数据库键的过期事件本身是一个不可靠的事件,很容易发生丢失,因此会出现心跳数据监控不准确的问题,进一步导致客户端运行状态判断错误。
[0030]本申请提供的心跳监听的方法、装置、设备及存储介质,服务器首先通过监测Redis存储单元中存储的服务器最近一次接收的客户端的心跳数据以及服务器接收心跳数据的时间戳,其中,心跳数据的时间戳存储在Redis存储单元中。根据设定的查询时间间隔,查询Redis中存储的心跳数据的时间戳是否超过设定阈值,进一步根据时间戳的查询结果确定客户端的当前状态,其中,通过查询时间戳的方式可以使心跳状态的查询更加安全、稳定,可以实现心跳监控更加准确的效果。
[0031]下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
[0032]图1是本申请第一实施例提供的心跳监听的方法流程示意图。
[0033]如图1所示,本实施例提供的心跳监听的方法,执行主体为服务器,一般而言可以通过软件实现,或者硬件实现,或者软件和硬件相结合的方式实现。可以包括如下步骤:
[0034]步骤S101、监测远程字典服务Redis存储单元中存储的服务器最近一次接收的客户端的心跳数据以及服务器接述心跳数据的时间本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种心跳监听方法,其特征在于,包括:监测远程字典服务Redis存储单元中存储的服务器最近一次接收的客户端的心跳数据以及服务器接收所述心跳数据的时间戳,所述心跳数据包括:客户端标识;根据设定的查询时间间隔启动服务器的查询任务,查询所述Redis中存储的所述心跳数据的时间戳是否超过设定阈值;根据所述心跳数据的时间戳是否超过所述设定阈值,确定所述客户端的当前状态。2.根据权利要求1所述的方法,其特征在于,所述根据所述心跳数据的时间戳是否超过所述设定阈值,确定所述客户端的当前状态,包括:若所述心跳数据的时间戳超过所述设定阈值,则确定所述客户端处于离线状态;若所述心跳数据的时间戳未超过所述设定阈值,则确定所述客户端处于在线状态。3.根据权利要求1或2所述的方法,其特征在于,所述监测Redis存储单元中存储的服务器最近一次接收的客户端的心跳数据以及服务器接收所述心跳数据的时间戳之前,还包括:接收所述客户端发送的心跳报文,所述心跳报文中携带所述客户端标识;生成接收所述心跳报文的时间戳;将包括所述客户端标识的心跳数据及所述心跳报文的时间戳存储至所述Redis存储单元,以替换所述Redis存储单元已存储的所述客户端的上一次心跳数据和时间戳。4.根据权利要求3所述的方法,其特征在于,所述将包括所述客户端标识的心跳数据及所述心跳报文的时间戳存储至所述Redis存储单元,包括:将所述客户端标识存储至所述Redis存储单元的有序集合中的键值字段,将所述时间戳存储至所述有序集合中的分数值字段。5.根据权利要求4所述的方法,其特征在于,所述根据设定的查询时间间隔,查询所述Redis中存储的所述心跳数据的时间戳是否超过设定阈值之前,...

【专利技术属性】
技术研发人员:何宁华陈传传潘海威王晨彬李志涛金永刚刘萍
申请(专利权)人:北京二六三企业通信有限公司
类型:发明
国别省市:

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

1