心跳检测方法、装置、存储介质及服务器与流程

文档序号:17379220发布日期:2019-04-12 23:39阅读:227来源:国知局
心跳检测方法、装置、存储介质及服务器与流程

本申请实施例涉及通信技术领域,尤其涉及心跳检测方法、装置、存储介质及服务器。



背景技术:

心跳检测机制在现代的各种电子设备中得到了广泛的应用,对于判断客户端的运行状态,及客户端和服务端之间的连接状态起到了不可或缺的作用。

因为需要周期性的发送心跳信息,所以心跳检测的效率极为重要,尤其是能及时地发现客户端的异常状态,以减少无效客户端对带宽和资源的占用。因此,有效的心跳检测机制变得至关重要。



技术实现要素:

本申请实施例提供心跳检测方法、装置、存储介质及服务器,可以优化现有的心跳检测机制。

第一方面,本申请实施例提供了一种心跳检测方法,包括:

获取客户端对应的请求标识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对应的数值为奇数时,将客户端放到第一个存储环中,即将第一个存储环作为该客户端的目标存储环;当客户端对应的请求标识id对应的数值为偶数时,将客户端放到第二个存储环中,即将第二个存储环作为该客户端的目标存储环。又示例性的,预先设定的存储环的数量为3个,获取客户端的请求标识id对应的数值,当客户端的请求标识id对应的数值小于第一预设阈值时,可将第一个存储环作为该客户端的目标存储环;当客户端的请求标识id对应的数值大于等于第一预设阈值,且小于第二预设阈值时,可将第二个存储环作为该客户端的目标存储环;当客户端的请求标识id对应的数值大于等于第二预设阈值时,可将第三个存储环作为该客户端的目标存储环。

可选的,根据所述请求标识id,确定所述客户端对应的目标存储环,包括:对所述请求标识id进行取模运算,得到第一取模运算结果;根据所述第一取模运算结果确定所述客户端对应的目标存储环。示例性的,服务端预先设定的存储环的数量为4个,则可对请求标识id进行取模运算,如基于预先设定的存储环的数量对请求标识id进行取模运算,得到第一取模运算结果。例如,某客户端的请求标识id为5(或者请求标识id对应的数值为5),则将请求标识id对4取模,得到的第一取模运算结果为5mod4=1,则可将第二个存储环作为该客户端的目标存储环;当客户端的请求标识id为4时,则将该客户端的请求标识id对4取模,得到的第一取模运算结果为4mod4=0,则可将第一个存储环作为该客户端的目标存储环;当客户端的请求标识id为10时,则将该客户端的请求标识id对4取模,得到的第一取模运算结果为10mod4=2,则可将第三个存储环作为该客户端的目标存储环;当客户端的请求标识id为7时,则将该客户端的请求标识id对4取模,得到的第一取模运算结果为7mod4=3,则可将第四个存储环作为该客户端的目标存储环。可以理解的是,对于请求标识id对4取模的第一取模运算结果为0的客户端,第一个存储环为其目标存储环;对于请求标识id对4取模的第一取模运算结果为1的客户端,第二个存储环为其目标存储环;对于请求标识id对4取模的第一取模运算结果为2的客户端,第三个存储环为其目标存储环;对于请求标识id对4取模的第一取模运算结果为3的客户端,第四个存储环为其目标存储环。

需要说明的时,本申请实施例,对根据客户端的请求标识id,确定客户端对应的目标存储环的具体方式不做限定。

步骤103、根据所述连接时间,从所述目标存储环包含的存储区域中确定所述客户端对应的目标存储区域。

其中,所述目标存储区域用于存储所述客户端的关键信息。

在本申请实施例中,目标存储环中可包括多个存储区域,当根据客户端对应的请求标识id确定出客户端对应的目标存储环后,可进一步根据客户端与服务端建立连接的连接时间,确定客户端在该目标存储环中的具体目标存储区域。目标存储区域用于存储客户端的关键信息,其中,关键信息可以包括客户端的请求标识id、客户端的名称、客户端调用服务的类型及客户端与服务端建立连接的连接时间中的至少一个。

示例性的,将目标存储环划分为3个存储区域,每个存储区域可独立地存储不同客户端的关键信息,则可根据客户端与服务端建立连接的连接时间,从目标存储环中的3个存储区域中,确定客户端对应的目标存储区域。示例性的,客户端与服务端建立连接的连接时间只关注秒,即客户端与服务端建立连接的时间具体为哪一秒,则可将客户端与服务端建立连接的连接时间小于20秒的客户端的关键信息,存储于目标存储环中的第一存储区域中,即将第一存储区域作为该客户端在目标存储环中的目标存储区域;当客户端与服务端建立连接的连接时间大于等于20秒,且小于40秒,则可将该客户端的关键信息存储于目标存储环中的第二存储区域中,即将第二存储区域作为该客户端在目标存储环中的目标存储区域;当客户端与服务端建立连接的连接时间大于等于40秒,且小于等于60秒,则可将该客户端的关键信息存储于目标存储环中的第三存储区域中,即将第三存储区域作为该客户端在目标存储环中的目标存储区域。

可选的,在根据所述连接时间,从所述目标存储环包含的存储区域中确定所述客户端对应的目标存储区域之前,还包括:获取预先设定的心跳检测时长阈值;根据所述心跳检测时长阈值确定所述目标存储环中包含的存储区域的第二数量;根据所述连接时间,从所述目标存储环包含的存储区域中确定所述客户端对应的目标存储区域,包括:根据所述连接时间及所述心跳检测时长阈值,从所述目标存储环包含的第二数量个存储区域中,确定所述客户端对应的目标存储区域。这样设置的好处在于,可根据心跳检测时长阈值,准确确定目标存储环中包含的存储区域的数量,以便于进一步根据客户端与服务端间的连接时间及心跳检测时长阈值,合理确定客户端在目标存储环中的目标存储区域。

示例性的,预先设定的心跳检测时长阈值为20秒,即当在20秒内未收到客户端发送的心跳数据包时,则认为客户端与服务端的连接异常。因为,预先设定的心跳检测时长阈值为20秒,则客户端与服务端间建立连接的连接时间只需关注秒,则整个目标存储区域可以理解为能够进行60秒时长的心跳检测的存储区间,则可将这个能够进行60秒时长的心跳检测的存储区间划分为3个存储区域,每个存储区域对应的能够进行心跳检测时长均为20秒。

可选的,根据所述连接时间及所述心跳检测时长阈值,从所述目标存储环包含的第二数量个存储区域中,确定所述客户端对应的目标存储区域,包括:对所述连接时间与所述心跳检测时长阈值进行求和运算,得到求和结果;计算所述求和结果整除所述心跳检测时长阈值的整除结果;基于所述存储区域的第二数量对所述整除结果进行取模运算,得到第二取模运算结果;根据所述第二取模运算结果,从所述目标存储环包含的第二数量个存储区域中,确定所述客户端对应的目标存储区域。这样设置的好处在于,可将客户端与服务端间的连接时间较接近的客户端存储于一个存储环中,这样有利于快速、及时地对各个客户端进行心跳检测,能够进一步避免对个别客户端进行漏检的情况发生。

示例性的,将客户端与服务端建立连接的连接时间与心跳检测时长阈值求和,并用求和结果整除心跳检测时长阈值,得到整除结果。例如,心跳检测时长阈值为15秒,连接时间为20秒,则得到的整除结果为2。基于存储区域的第二数量对整除结果进行取模运算,得到第二取模运算结果,并根据第二取模运算结果确定客户端在目标存储环中的目标存储区域。例如,存储区域的第二数量为4,即目标存储环中包含4个存储区域,则得到的第二取模运算结果为2mod4=2,则可将第三个存储区域作为客户端的目标存储区域。

步骤104、当心跳检测事件被触发时,并行对各个存储区域对应的客户端进行心跳检测。

示例性的,可预先设定定时任务,当定时任务的时间到达时,即可触发心跳检测事件。该定时任务可根据实际情况进行具体设定,例如,可设定为30秒,10分钟,半小时或1小时,即每30秒,每10分钟,每半小时或每1小时进行一次心跳检测。可选的,可将心跳检测时长阈值设定为定时任务对应的定时时长。当心跳检测事件被触发时,并行对各个存储区域对应的客户端进行心跳检测。示例性的,当心跳检测事件被触发时,同时或并行对目标存储环中的各个存储区域中对应的客户端进行心跳检测,即针对各个存储区域,并行地分别对每个客户端进行心跳检测,即同时向每个存储区域中的第一个客户端发送心跳数据包,判断在心跳检测时长阈值时间内是否收到客户端的心跳反馈信息,对于每个存储区域,当对第一个客户端心跳检测完成后,再对第二个客户端进行心跳检测,依次类推,直到检测完所述存储区域中包含的所有客户端的心跳检测为止。

本申请实施例中提供的心跳检测方法,获取客户端对应的请求标识id及客户端与服务端建立连接的连接时间,并根据请求标识id,确定客户端对应的目标存储环,然后根据连接时间,从目标存储环包含的存储区域中确定客户端对应的目标存储区域,其中,目标存储区域用于存储客户端的关键信息,当心跳检测事件被触发时,并行对各个存储区域对应的客户端进行心跳检测。通过采用上述技术方案,可以实现对与服务端连接的各个客户端进行快速、及时地心跳检测,准确地确定各个客户端的连接状态,有利于减少连接状态异常的客户端对服务端的资源占用。

图2为本申请实施例提供的心跳检测方法的流程示意图,如图2所示,该方法包括:

步骤201、获取客户端对应的请求标识id及所述客户端与所述服务端建立连接的连接时间。

步骤202、根据所述服务端的配置信息确定存储环的第一数量。

在本申请实施例中,获取服务端的配置信息,并根据配置信息确定存储环的第一数量。其中,服务端的配置信息可以包括服务端能够连接客户端的最大数量,也可包括服务端能够存储客户端关键信息的内存大小。示例性的,服务端的配置信息包括服务端能够连接客户端的最大数量为100个,为了降低每个存储环中包含的客户端的心跳检测时长,可设置4个存储环用于存储客户端的关键信息。当然,也可设置2个存储环用于存储客户端的关键信息。需要说明的是,本申请实施例对根据服务端的配置信息确定存储环的第一数量的具体方式不做限定。

步骤203、判断所述第一数量是否大于1,若是,则执行步骤204,否则,执行步骤213。

步骤204、基于所述存储环的第一数量对所述请求标识id进行取模运算,得到第一取模运算结果。

当存储环的数量大于1时,即服务端侧包括多个存储环中时,则基于存储环的第一数量对请求标识id进行取模运算,以便于后续步骤中根据第一取模运算结果,从多个存储环中合理确定具体存储客户端关键信息的目标存储环。

步骤205、根据所述第一取模运算结果,从第一数量个存储环中确定所述客户端对应的目标存储环。

示例性的,存储环的第一数量为2,即服务端包括2个存储环,则基于存储环的第一数量2对客户端对应的请求标识id进行取模运算。例如,某客户端对应的请求标识id为3,则将请求标识id对2进行取模运算,得到的第一取模运算结果为3mod2=1,则可将该客户端的关键信息存储于第二个存储环中,即将第二个存储环作为该客户端的目标存储环。又例如,某客户端对应的请求标识id为6,则将请求标识id对2进行取模运算,得到的第一取模运算结果为6mod2=0,则可将该客户端的关键信息存储于第一个存储环中,即将第一个存储环作为该客户端的目标存储环。

步骤206、获取预先设定的心跳检测时长阈值。

示例性的,预先设定的心跳检测时长为15秒,即当在15秒内未收到客户端发送的心跳数据包时,则认为客户端与服务端的连接异常。

步骤207、根据所述心跳检测时长阈值确定所述目标存储环中包含的存储区域的第二数量。

在本申请实施例中,客户端与服务端建立连接的时间具体关注时、分还是秒,与心跳检测时长阈值相关。如心跳检测时长阈值为小于60秒的时长时,客户端与服务端间的连接时间只取秒;若心跳检测时长阈值为大于60秒且小于等于60分的时长时,客户端与服务端间的连接时间只取分;若心跳检测时长阈值为大于60分的时长时,客户端与服务端间的连接时间只取时。示例性的,心跳检测时长阈值为15秒,则目标存储环中包含的存储区域的第二数量为60÷15=4,即可将目标存储环划分为4个存储区域。

步骤208、对所述连接时间与所述心跳检测时长阈值进行求和运算,得到求和结果。

步骤209、计算所述求和结果整除所述心跳检测时长阈值的整除结果。

示例性的,客户端与服务端建立连接的连接时间可用t表示,心跳检测时长阈值可用t表示,则连接时间t与心跳检测时长阈值t的求和结果,整除心跳检测时长阈值t的整除结果j可表示为:j=(t+t)/t。例如,在本申请实施例中,心跳检测时长阈值为15秒,则j=(t+15)/15。若客户端与服务端建立连接的连接时间为20s,则j=(20+15)/15=2。

步骤210、基于所述存储区域的第二数量对所述整除结果进行取模运算,得到第二取模运算结果。

在本申请实施例中,基于存储区域的第二数量对整除结果进行取模运算,即将整除结果对第二数量进行取模运算。示例性的,存储区域的第二数量用m表示,则第二取模运算结果s可表示为:s=jmodm=[(t+t)/t]modm。例如,m=4,j=2,则s=2mod4=2。

步骤211、根据所述第二取模运算结果,从所述目标存储环包含的第二数量个存储区域中,确定所述客户端对应的目标存储区域。

示例性的,目标存储环中包含4个存储区域,若第二取模运算结果s=2,则可将第三个存储区域确定为该客户端的目标存储区域。又示例性的,当s=0,则可将第一个存储区域确定为该客户端的目标存储区域;s=1,则可将第二个存储区域确定为该客户端的目标存储区域;s=3,则可将第四个存储区域确定为该客户端的目标存储区域。

步骤212、当心跳检测事件被触发时,并行对各个存储区域对应的客户端进行心跳检测。

步骤213、将存储环直接确定为所述客户端的目标存储环。

在本申请实施例中,当存储环的数量不大于1,也即存储环的数量只有1个时,可直接将该存储环确定为客户端的目标存储环,并执行步骤206。

本申请实施例中提供的心跳检测方法,获取客户端对应的请求标识id及客户端与服务端建立连接的连接时间,并根据服务端的配置信息确定存储环的第一数量,当第一数量大于1时,基于存储环的第一数量对请求标识id进行取模运算,得到第一取模运算结果,并根据第一取模运算结果,从第一数量个存储环中确定客户端对应的目标存储环,然后获取预先设定的心跳检测时长阈值,并根据心跳检测时长阈值确定目标存储环中包含的存储区域的第二数量,对连接时间与心跳检测时长阈值进行求和运算,得到求和结果,计算求和结果整除心跳检测时长阈值的整除结果,基于存储区域的第二数量对整除结果进行取模运算,得到第二取模运算结果,并根据第二取模运算结果,从目标存储环包含的第二数量个存储区域中,确定客户端对应的目标存储区域,最后当心跳检测事件被触发时,并行对各个存储区域对应的客户端进行心跳检测。通过采用上述技术方案,可以进一步实现对与服务端连接的各个客户端进行快速、及时地心跳检测,能够进一步有效避免对某客户端漏检的情况发生,可以准确地确定各个客户端的连接状态,有利于减少连接状态异常的客户端对服务端的资源占用。

图3为本申请实施例提供的一种心跳检测装置的结构示意图,该装置可由软件和/或硬件实现,一般集成在服务器中,可通过执行心跳检测方法来对与服务端连接的客户端进行心跳检测。如图3所示,该装置包括:

客户端信息获取模块301,用于获取客户端对应的请求标识id及所述客户端与所述服务端建立连接的连接时间;

目标存储环确定模块302,用于根据所述请求标识id,确定所述客户端对应的目标存储环;

目标存储区域确定模块303,用于根据所述连接时间,从所述目标存储环包含的存储区域中确定所述客户端对应的目标存储区域;其中,所述目标存储区域用于存储所述客户端的关键信息;

心跳检测模块304,用于当心跳检测事件被触发时,并行对各个存储区域对应的客户端进行心跳检测。

本申请实施例中提供的心跳检测装置,获取客户端对应的请求标识id及所述客户端与所述服务端建立连接的连接时间,并根据所述请求标识id,确定所述客户端对应的目标存储环,然后根据所述连接时间,从所述目标存储环包含的存储区域中确定所述客户端对应的目标存储区域,其中,所述目标存储区域用于存储所述客户端的关键信息,当心跳检测事件被触发时,并行对各个存储区域对应的客户端进行心跳检测。通过采用上述技术方案,可以实现对与服务端连接的各个客户端进行快速、及时地心跳检测,准确地确定各个客户端的连接状态,有利于减少连接状态异常的客户端对服务端的资源占用。

可选的,所述目标存储环确定模块,包括:

第一取模运算单元,用于对所述请求标识id进行取模运算,得到第一取模运算结果;

目标存储环确定单元,用于根据所述第一取模运算结果确定所述客户端对应的目标存储环。

可选的,所述装置还包括:

第一数量确定模块,用于在对所述请求标识id进行取模运算,得到第一取模运算结果之前,根据所述服务端的配置信息确定存储环的第一数量;

所述第一取模运算单元,用于:

基于所述存储环的第一数量对所述请求标识id进行取模运算,得到第一取模运算结果;

所述目标存储环确定单元,包括:

目标存储环确定子单元,用于根据所述第一取模运算结果,从第一数量个存储环中确定所述客户端对应的目标存储环。

可选的,所述装置还包括:

判断模块,用于在基于所述存储环的第一数量对所述请求标识id进行取模运算,得到第一取模运算结果之前,判断所述第一数量是否大于1;

所述目标存储环确定子单元,用于:

当所述第一数量大于1时,基于所述存储环的第一数量对所述请求标识id进行取模运算,得到第一取模运算结果。

可选的,所述装置还包括:

心跳检测阈值获取模块,用于在根据所述连接时间,从所述目标存储环包含的存储区域中确定所述客户端对应的目标存储区域之前,获取预先设定的心跳检测时长阈值;

第二数量确定模块,用于根据所述心跳检测时长阈值确定所述目标存储环中包含的存储区域的第二数量;

目标存储区域确定模块,包括:

目标存储区域确定单元,用于根据所述连接时间及所述心跳检测时长阈值,从所述目标存储环包含的第二数量个存储区域中,确定所述客户端对应的目标存储区域。

可选的,所述目标存储区域确定单元,用于:

对所述连接时间与所述心跳检测时长阈值进行求和运算,得到求和结果;

计算所述求和结果整除所述心跳检测时长阈值的整除结果;

基于所述存储区域的第二数量对所述整除结果进行取模运算,得到第二取模运算结果;

根据所述第二取模运算结果,从所述目标存储环包含的第二数量个存储区域中,确定所述客户端对应的目标存储区域。

可选的,所述客户端信息获取模块,用于:

当接收到客户端发送的连接请求时,为所述客户端分配标识信息,并记录接收到所述连接请求时对应的时间;

将所述标识信息作为所述客户端对应的请求标识id,并将所述连接请求对应的时间作为所述客户端与所述服务端建立连接的连接时间。

本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行心跳检测方法,该方法包括:

获取客户端对应的请求标识id及所述客户端与所述服务端建立连接的连接时间;

根据所述请求标识id,确定所述客户端对应的目标存储环;

根据所述连接时间,从所述目标存储环包含的存储区域中确定所述客户端对应的目标存储区域;其中,所述目标存储区域用于存储所述客户端的关键信息;

当心跳检测事件被触发时,并行对各个存储区域对应的客户端进行心跳检测。

存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如cd-rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddrram、sram、edoram,兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。

当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的心跳检测操作,还可以执行本申请任意实施例所提供的心跳检测方法中的相关操作。

本申请实施例提供了一种服务器,该服务器中可集成本申请实施例提供的心跳检测装置。图4为本申请实施例提供的一种服务器的结构示意图。服务器400可以包括:存储器401,处理器402及存储在存储器上并可在处理器运行的计算机程序,所述处理器402执行所述计算机程序时实现如本申请实施例所述的心跳检测方法。

本申请实施例提供的服务器,可以实现对与服务端连接的各个客户端进行快速、及时地心跳检测,准确地确定各个客户端的连接状态,有利于减少连接状态异常的客户端对服务端的资源占用。

上述实施例中提供的心跳检测装置、存储介质及服务器可执行本申请任意实施例所提供的心跳检测方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的心跳检测方法。

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1