心跳检测方法、装置、存储介质及服务器制造方法及图纸

技术编号:20835279 阅读:18 留言:0更新日期:2019-04-13 08:07
本申请实施例公开了心跳检测方法、装置、存储介质及服务器。该方法包括:获取客户端对应的请求标识ID及所述客户端与所述服务端建立连接的连接时间;根据所述请求标识ID,确定所述客户端对应的目标存储环;根据所述连接时间,从所述目标存储环包含的存储区域中确定所述客户端对应的目标存储区域;其中,所述目标存储区域用于存储所述客户端的关键信息;当心跳检测事件被触发时,并行对各个存储区域对应的客户端进行心跳检测。通过本申请实施例提供的技术方案,可以实现对与服务端连接的各个客户端进行快速、及时地心跳检测,准确地确定各个客户端的连接状态,有利于减少连接状态异常的客户端对服务端的资源占用。

【技术实现步骤摘要】
心跳检测方法、装置、存储介质及服务器
本申请实施例涉及通信
,尤其涉及心跳检测方法、装置、存储介质及服务器。
技术介绍
心跳检测机制在现代的各种电子设备中得到了广泛的应用,对于判断客户端的运行状态,及客户端和服务端之间的连接状态起到了不可或缺的作用。因为需要周期性的发送心跳信息,所以心跳检测的效率极为重要,尤其是能及时地发现客户端的异常状态,以减少无效客户端对带宽和资源的占用。因此,有效的心跳检测机制变得至关重要。
技术实现思路
本申请实施例提供心跳检测方法、装置、存储介质及服务器,可以优化现有的心跳检测机制。第一方面,本申请实施例提供了一种心跳检测方法,包括:获取客户端对应的请求标识ID及所述客户端与所述服务端建立连接的连接时间;根据所述请求标识ID,确定所述客户端对应的目标存储环;根据所述连接时间,从所述目标存储环包含的存储区域中确定所述客户端对应的目标存储区域;其中,所述目标存储区域用于存储所述客户端的关键信息;当心跳检测事件被触发时,并行对各个存储区域对应的客户端进行心跳检测。第二方面,本申请实施例提供了一种心跳检测装置,包括:客户端信息获取模块,用于获取客户端对应的请求标识ID及所述客户端与所述服务端建立连接的连接时间;目标存储环确定模块,用于根据所述请求标识ID,确定所述客户端对应的目标存储环;目标存储区域确定模块,用于根据所述连接时间,从所述目标存储环包含的存储区域中确定所述客户端对应的目标存储区域;其中,所述目标存储区域用于存储所述客户端的关键信息;心跳检测模块,用于当心跳检测事件被触发时,并行对各个存储区域对应的客户端进行心跳检测。第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例第一方面所述的心跳检测方法。第四方面,本申请实施例提供了一种服务器,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例第一方面所述的心跳检测方法。本申请实施例中提供的心跳检测方案,获取客户端对应的请求标识ID及所述客户端与所述服务端建立连接的连接时间,并根据所述请求标识ID,确定所述客户端对应的目标存储环,然后根据所述连接时间,从所述目标存储环包含的存储区域中确定所述客户端对应的目标存储区域,其中,所述目标存储区域用于存储所述客户端的关键信息,当心跳检测事件被触发时,并行对各个存储区域对应的客户端进行心跳检测。通过采用上述技术方案,可以实现对与服务端连接的各个客户端进行快速、及时地心跳检测,准确地确定各个客户端的连接状态,有利于减少连接状态异常的客户端对服务端的资源占用。附图说明图1为本申请实施例提供的一种心跳检测方法的流程示意图;图2为本申请实施例提供的另一种心跳检测方法的流程示意图;图3为本申请实施例提供的一种心跳检测装置的结构示意图;图4为本申请实施例提供的一种服务器的结构示意图。具体实施方式下面结合附图并通过具体实施方式来进一步说明本申请的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。常见的心跳检测机制包括被动模式与轮询模式两种。被动模式为被检测方会定期地发送一个自定义的心跳IP(网络之间互联的协议,InternetProtocol)数据包,让检测方能感知到自己是否还在正常运行,如果在一定时间间隔内检测方没有收到被检测方发送的心跳IP数据包,则认为被检测方已经宕机。轮询模式为检测方定期地向被检测方发送状态询问IP数据包,一般被检测方会返回其状态信息,如果在一定时间间隔内检测方没有收到被检测方法发送的返回信息或者返回错误、失效信息,就认为被检测方已经宕机。在基于轮询模式的心跳检测方案中,通常将所有与检测方建立连接关系的被检测方的相关信息放置在一个列表中,当需要进行心跳检测时,开启定时器进行定时轮询检测。然而,当与检测方建立连接的被检测方数量较多时,也即当列表较大时,容易导致轮询时间过长,无法及时地对列表末尾中的被检测方进行心跳检测。基于此,提出了对上述方案的改进方案:根据与检测方建立连接关系的被检测方的数量,将被检测方的相关信息放置在多个列表中,每个列表独立设置一个定时器,当需要进行心跳检测时,每个列表独立地开启对应的定时器,分别对该列表中对应的被检测方进行轮询检测。上述改进方案,可以有效解决与检测方建立连接的被检测方数量多的问题,但是,当放置在同一列表中的多个被检测方中,若存在两个被检测方与检测方建立连接的时间间隔较大时,容易出现针对个别被检测方的心跳检测不及时的问题。基于以上考虑,现提供如下心跳检测方案。图1为本申请实施例提供的心跳检测方法的流程示意图,该方法可以由心跳检测装置执行,其中该装置可由软件和/或硬件实现,一般可集成在服务器中。如图1所示,该方法包括:步骤101、获取客户端对应的请求标识ID及所述客户端与所述服务端建立连接的连接时间。在本申请实施例中,当客户端与服务端建立连接后,每个客户端都会拥有一个唯一的标识信息,即请求标识ID,用于标识该客户端的身份信息。当然,客户端与服务端建立连接时,不同的客户端与服务端均可拥有一个不同的连接时间。因此,可获取客户端对应的请求标识ID,及客户端与服务端建立连接的连接时间。可选的,获取客户端对应的请求标识ID及所述客户端与所述服务端建立连接的连接时间,包括:当接收到客户端发送的连接请求时,为所述客户端分配标识信息,并记录接收到所述连接请求时对应的时间;将所述标识信息作为所述客户端对应的请求标识ID,并将所述连接请求对应的时间作为所述客户端与所述服务端建立连接的连接时间。在本申请实施例中,当多个客户端与服务端建立连接后,多个客户端从服务端获取相应的服务。当客户端与服务端建立连接时,客户端向服务端发送连接请求,服务端接收到客户端发送的连接请求时,为客户端分配对应的标识信息,并将该标识信息作为客户端对应的请求标识ID。将服务端接收到客户端发送的连接请求的时间作为该客户端与服务端建立连接的连接时间。步骤102、根据所述请求标识ID,确定所述客户端对应的目标存储环。在本申请实施例中,根据客户端对应的请求标识ID,确定客户端对应的目标存储环,其中,目标存储环可以理解为用于存储客户端关键信息的存储容器。示例性的,获取服务端预先设定的存储环的数量,根据存储环的数量及客户端的请求标识ID,按照预设规则,确定客户端对应的目标存储环。例如,预先设定的存储环的数量为2个,则获取客户端的请求标识ID对应的数值(如请求标识ID为字符串,则可对请求标识ID进行哈希运算,求取对应的数值),当客户端对应的请求标识ID对应的数值为奇数时,将客户端放到第一个存储环中,即将第一个存储环作为该本文档来自技高网...

【技术保护点】
1.一种心跳检测方法,应用于服务端,其特征在于,包括:获取客户端对应的请求标识ID及所述客户端与所述服务端建立连接的连接时间;根据所述请求标识ID,确定所述客户端对应的目标存储环;根据所述连接时间,从所述目标存储环包含的存储区域中确定所述客户端对应的目标存储区域;其中,所述目标存储区域用于存储所述客户端的关键信息;当心跳检测事件被触发时,并行对各个存储区域对应的客户端进行心跳检测。

【技术特征摘要】
1.一种心跳检测方法,应用于服务端,其特征在于,包括:获取客户端对应的请求标识ID及所述客户端与所述服务端建立连接的连接时间;根据所述请求标识ID,确定所述客户端对应的目标存储环;根据所述连接时间,从所述目标存储环包含的存储区域中确定所述客户端对应的目标存储区域;其中,所述目标存储区域用于存储所述客户端的关键信息;当心跳检测事件被触发时,并行对各个存储区域对应的客户端进行心跳检测。2.根据权利要求1所述的方法,其特征在于,根据所述请求标识ID,确定所述客户端对应的目标存储环,包括:对所述请求标识ID进行取模运算,得到第一取模运算结果;根据所述第一取模运算结果确定所述客户端对应的目标存储环。3.根据权利要求2所述的方法,其特征在于,在对所述请求标识ID进行取模运算,得到第一取模运算结果之前,还包括:根据所述服务端的配置信息确定存储环的第一数量;对所述请求标识ID进行取模运算,得到第一取模运算结果,包括:基于所述存储环的第一数量对所述请求标识ID进行取模运算,得到第一取模运算结果;根据所述第一取模运算结果确定所述客户端对应的目标存储环,包括:根据所述第一取模运算结果,从第一数量个存储环中确定所述客户端对应的目标存储环。4.根据权利要求3所述的方法,其特征在于,在基于所述存储环的第一数量对所述请求标识ID进行取模运算,得到第一取模运算结果之前,还包括:判断所述第一数量是否大于1;基于所述存储环的第一数量对所述请求标识ID进行取模运算,得到第一取模运算结果,包括:当所述第一数量大于1时,基于所述存储环的第一数量对所述请求标识ID进行取模运算,得到第一取模运算结果。5.根据权利要求1所述的方法,其特征在于,在根据所述连接时间,从所述目标存储环包含的存储区域中确定所述客户端对应的目标存储区域之前,还包括:获取预先设定的心跳检测时长阈值;根据所述心跳检测时长阈值确定所述目标存储环中包含的存储区域的第二数量;根据所述连接时间,从所述目标存储环包含的存储区域中确定所述客户端对应的目标存储区域...

【专利技术属性】
技术研发人员:郭子亮
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:广东,44

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

1