CN106571973A - 心跳包超时管理方法及系统 - Google Patents

心跳包超时管理方法及系统 Download PDF

Info

Publication number
CN106571973A
CN106571973A CN201610859176.1A CN201610859176A CN106571973A CN 106571973 A CN106571973 A CN 106571973A CN 201610859176 A CN201610859176 A CN 201610859176A CN 106571973 A CN106571973 A CN 106571973A
Authority
CN
China
Prior art keywords
client
side information
heartbeat packet
connection queue
heartbeat
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610859176.1A
Other languages
English (en)
Inventor
杜岩岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hongyan Intelligent Technology Co Ltd
Original Assignee
Hangzhou Hongyan Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hongyan Intelligent Technology Co Ltd filed Critical Hangzhou Hongyan Intelligent Technology Co Ltd
Priority to CN201610859176.1A priority Critical patent/CN106571973A/zh
Publication of CN106571973A publication Critical patent/CN106571973A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks

Abstract

本申请涉及一种心跳包超时管理方法及系统。其方法包括:步骤101:当客户端的心跳包到达时,创建心跳监听事件并产生客户端的引用信息;步骤102:获取多个客户端上传的心跳包并存储于散列表;步骤103:周期性删除所述引用信息。如此,本申请通过使用事件驱动机制,可降低服务器的资源占用,提高网络传输效率;通过引用计数的方法,可降低对于心跳包超时检测的时间复杂度,提高服务器响应效率。

Description

心跳包超时管理方法及系统
【技术领域】
本发明涉及智能家居领域的数据处理技术,尤其是一种心跳包超时管理方法及系统。
【背景技术】
心跳包是指客户端定时发送一帧简单的数据包给服务器,以此通知服务器该客户端处于在线状态。如果该服务器在预定的时间内没有接收到来自客户端的心跳包,则该服务器认为客户端已经离线,服务器可以主动释放该客户端的连接资源。
现有的服务器多采用以下方式管理心跳包:每个客户端连接都保存最后的上报时间,当心跳包到达时更新该上报时间,服务器端开启一个定时器,定时去遍历客户端连接列表,比对当前时间与最后上报时间间的时间差,断开那些超过规定时间的客户端连接;每个客户端连接自身维护一个定时器,当心跳包到达时更新定时器,当超时时间到达时断开连接;对于第一种方法,服务器端维护一个定时器,但是每次超时都需要去遍历客户端连接列表,当客户端连接数目较大时,这个遍历过程将非常耗时。对于第二种方法,则服务器端需要很多个定时器,并且需要根据心跳包频繁更新定时器,在客户端连接数目较大时对会定时器的数量及系统造成压力。对于第一种方法的现有改良方法是通过启动多个执行线程的方法,将客户端连接分散到执行线程对应的客户端散列表及心跳包队列中,通过并行处理的方式解决一次性遍历所有客户端连接的耗时问题。
虽然将客户端连接及心跳包分散到各个执行线程中,但是本质上来说,对于客户端连接的心跳包超时检测仍然采用遍历的方式,这并没有充分发掘单线程内对于客户端连接心跳包超时检测的能力。另外,受到服务器CPU内核的限制,一个进程的线程具有数量限制,为了满足更多的心跳包超时检测,需要增加多个服务器来扩充心跳包超时能力。
【发明内容】
为解决前述问题,本发明提供一种检测能力更强的心跳包超时管理方法及系统。
为达到前述目的,本发明采用如下技术方案:心跳包超时管理方法,其特征在于,包括:
步骤101:当客户端的心跳包到达时,创建心跳监听事件并产生客户端的引用信息;
步骤102:获取多个客户端上传的心跳包并存储于散列表;
步骤103:周期性删除所述引用信息。
可选的,所述心跳包包括客户端信息,所述客户端信息包括已连接客户端套接字标识符、所述客户端信息的引用计数。
可选的,所述散列表的每个散列地址指向单链表;以及所述单链表内存储以所述客户端信息为结点的数据。
可选的,所述步骤102包括:根据所述心跳包对应的已连接客户端套接字标识符查找散列地址的客户端连接队列中是否已存在所述客户端信息;当不存在时,则在所述客户端连接队列中增加所述客户端信息;添加所述客户端信息的引用到所述散列表中,以及所述客户端信息的引用计数值加1。
可选的,根据所述心跳包对应的已连接客户端套接字标识符查找客户端连接队列中是否已存在所述客户端信息,包括:所述客户端连接队列顺序存储每一个已连接的客户端的客户端信息;查询所述客户端连接队列中以所述已连接客户端套接字标识符为索引的位置指向的对象结点是否为空;若为空,则所述客户端连接队列中不存在所述客户端信息,若不为空,则所述客户端连接队列中存在所述客户端信息。
可选的,添加所述客户端信息的引用到所述散列表中的方式,包括:
存在游标,所述游标用于指向所述心跳包的定时上报周期的每一个时间点;
将所述游标值与所述心跳包的定时上报周期值取模,并得到取模结果;以及
添加所述客户端信息的引用到以所述散列表的所述取模结果为索引的位置所指向的单链表中。
可选的,在所述客户端连接队列中增加所述客户端信息,包括:创建一个所述客户端信息的对象结点;
在所述客户端连接队列中以所述客户端信息对应的已连接客户端套接字标识符为索引的位置保存所述对象结点。
本发明还提供另一种方案:心跳包超时管理系统,其特征在于,包括:事件循环模块:用于当客户端的心跳包到达时,创建心跳监听事件并产生客户端的引用信息;心跳监视模块:用于获取多个客户端上传的心跳包并存储于散列表;超时监视模块:用于周期性删除所述引用信息。
可选的,所述心跳包包括客户端信息,所述客户端信息包括已连接客户端套接字标识符、所述客户端信息的引用计数。
可选的,所述散列表的每个散列地址指向单链表;以及所述单链表内存储以所述客户端信息为结点的数据。
可选的,所述心跳监视模块:用于根据所述心跳包对应的已连接客户端套接字标识符查找散列地址的客户端连接队列中是否已存在所述客户端信息;当不存在时,则在所述客户端连接队列中增加所述客户端信息;添加所述客户端信息的引用到所述散列表中,以及所述客户端信息的引用计数值加1。
可选的,根据所述心跳包对应的已连接客户端套接字标识符查找客户端连接队列中是否已存在所述客户端信息的方式,包括:所述客户端连接队列顺序存储每一个已连接的客户端的客户端信息;查询所述客户端连接队列中以所述已连接客户端套接字标识符为索引的位置指向的对象结点是否为空;若为空,则所述客户端连接队列中不存在所述客户端信息,若不为空,则所述客户端连接队列中存在所述客户端信息。
可选的,添加所述客户端信息的引用到所述散列表,包括:
存在游标,所述游标用于指向所述心跳包的定时上报周期的每一个时间点;
将所述游标值与所述心跳包的定时上报周期值取模,并得到取模结果;以及
添加所述客户端信息的引用到以所述散列表的所述取模结果为索引的位置所指向的单链表中。
可选的,在所述客户端连接队列中增加所述客户端信息,包括:创建一个所述客户端信息的对象结点;
在所述客户端连接队列中以所述客户端信息对应的已连接客户端套接字标识符为索引的位置保存所述对象结点。
基于前述方案,本申请具有以下技术效果:本申请通过使用事件驱动机制,可降低服务器的资源占用,提高网络传输效率;通过引用计数的方法,可降低对于心跳包超时检测的时间复杂度,提高服务器响应效率。
本发明的这些特点和优点将会在下面的具体实施方式、附图中详细的揭露。本发明最佳的实施方式或手段将结合附图来详尽表现,但并非是对本发明技术方案的限制。另外,在每个下文和附图中出现的这些特征、要素和组件是具有多个,并且为了表示方便而标记了不同的符号或数字,但均表示相同或相似构造或功能的部件。
【附图说明】
下面结合附图对本发明做进一步的说明:
图1为本发明实施例1的心跳包超时管理方法流程图。
图2为本发明实施例2的心跳包超时管理系统模块图。
【具体实施方式】
下面结合本发明实施例的附图对本发明实施例的技术方案进行解释和说明,但下述实施例仅为本发明的优选实施例,并非全部。基于实施方式中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得其他实施例,都属于本发明的保护范围。
在本说明书中引用的“一个实施例”或“实例”或“例子”意指结合实施例本身描述的特定特征、结构或特性可被包括在本专利公开的至少一个实施例中。短语“在一个实施例中”在说明书中的各位置的出现不必都是指同一个实施例。
需要说明的是,本发明中虽然在附图中表示出各模块的连接方式,但是该连接方式仅是一个功能说明,而非具体的连接方式,在具体的应用场景中,基于本申请的发明构思,本领域技术人员很容易想到在本申请发明构思内的变化,也在本申请保护范围内。
在本说明书所附的附图中示出的处理步骤是由包括硬件(例如电路、专用逻辑单元等)、固件(诸如在通用计算装置或专用机器上运行)或这二者的组合的处理逻辑执行的。尽管以下各个实施例是依据一些顺序操作描述了处理,但应该理解的是,某些描述的步骤操作可按不同次序执行。此外,一些步骤操作可被并行地执行而非顺序地执行。
实施例1。
参看图1,心跳包超时管理方法,该方法的实施可基于任何计算设备或设备集群实现,这些计算设备的实例可包括例如数字信号处理器(DSP)、中央处理单元(CPU)或微处理器(MCU),例如便携式数字电话,便携式电脑或数字助理,在本发明的例示性说明里,对“处理器”、“控制器”等的提及应当被理解为不仅包含具有不同架构(诸如单个/多个逻辑控制结构和串行/并行结构)的计算机,而且包含特定模拟/数字集成电路,诸如现场可编程门阵列(FPGA)、专用电路(ASIC)、信号收发电路以及其他处理电路设备。对计算机程序、指令、代码等的参考应当被理解为包含用于可编程控制电路的软件或固件,例如,针对信号判定单元的硬件设备是否具有指令的可编程内容,或针对固定功能设备单元的配置设定、门阵列或可编程逻辑设备等。包括:
步骤101:当客户端的心跳包到达时,创建心跳监听事件并产生客户端的引用信息;
步骤102:获取多个客户端上传的心跳包并存储于散列表;
步骤103:周期性删除所述引用信息。
心跳包包括客户端信息,所述客户端信息包括已连接客户端套接字标识符、所述客户端信息的引用计数。
散列表的每个散列地址指向单链表;以及所述单链表内存储以所述客户端信息为结点的数据。
所述步骤102包括:根据所述心跳包对应的已连接客户端套接字标识符查找散列地址的客户端连接队列中是否已存在所述客户端信息;当不存在时,则在所述客户端连接队列中增加所述客户端信息;添加所述客户端信息的引用到所述散列表中,以及所述客户端信息的引用计数值加1。
根据所述心跳包对应的已连接客户端套接字标识符查找客户端连接队列中是否已存在所述客户端信息的方式,包括:所述客户端连接队列顺序存储每一个已连接的客户端的客户端信息;查询所述客户端连接队列中以所述已连接客户端套接字标识符为索引的位置指向的对象结点是否为空;若为空,则所述客户端连接队列中不存在所述客户端信息,若不为空,则所述客户端连接队列中存在所述客户端信息。
添加所述客户端信息的引用到所述散列表中的方式,包括:
存在游标,所述游标用于指向所述心跳包的定时上报周期的每一个时间点;
将所述游标值与所述心跳包的定时上报周期值取模,并得到取模结果;以及
添加所述客户端信息的引用到以所述散列表的所述取模结果为索引的位置所指向的单链表中。
在所述客户端连接队列中增加所述客户端信息,包括:创建一个所述客户端信息的对象结点;
在所述客户端连接队列中以所述客户端信息对应的已连接客户端套接字标识符为索引的位置保存所述对象结点。
本实施例中,服务器端需要规定每一个心跳包的定时上报周期,所述定时上报周期指明客户端发送心跳包的周期时间,例如本例中的定时上报周期为6s。因此存在定时上报周期循环队列,它用于判断客户端超时连接的检测时间范围。
在所述定时上报周期队列上存在游标,所述游标用于指向所述定时上报周期循环队列的每一个时间点;所述游标随着超时监视器的周期性触发而移动,初始状态指向所述定时上报周期队列的头部。假设所述超时监视器的触发周期为1s,则每隔1s所述超时监视器启动后游标就向前移动一次,当到达所述定时上报周期时间点结尾时将返回到所述定时上报周期循环队列起始头部。
客户端连接队列,顺序存储每一个已连接的客户端的客户端信息,其中所述客户端信息至少包括对应客户端的IP地址以及引用计数。客户端连接队列中以所述已连接客户端套接字标识符为索引的结点保存每一个客户端信息。
实施例2。
参看图2,心跳包超时管理系统,包括:事件循环模块:用于当客户端的心跳包到达时,创建心跳监听事件并产生客户端的引用信息;心跳监视模块:用于获取多个客户端上传的心跳包并存储于散列表;超时监视模块:用于周期性删除所述引用信息。
心跳包包括客户端信息,所述客户端信息包括已连接客户端套接字标识符、所述客户端信息的引用计数。
散列表的每个散列地址指向单链表;以及所述单链表内存储以所述客户端信息为结点的数据。
心跳监视模块:用于根据所述心跳包对应的已连接客户端套接字标识符查找散列地址的客户端连接队列中是否已存在所述客户端信息;当不存在时,则在所述客户端连接队列中增加所述客户端信息;添加所述客户端信息的引用到所述散列表中,以及所述客户端信息的引用计数值加1。
根据所述心跳包对应的已连接客户端套接字标识符查找客户端连接队列中是否已存在所述客户端信息,包括:所述客户端连接队列顺序存储每一个已连接的客户端的客户端信息;查询所述客户端连接队列中以所述已连接客户端套接字标识符为索引的位置指向的对象结点是否为空;若为空,则所述客户端连接队列中不存在所述客户端信息,若不为空,则所述客户端连接队列中存在所述客户端信息。
添加所述客户端信息的引用到所述散列表,包括:
存在游标,所述游标用于指向所述心跳包的定时上报周期的每一个时间点;
将所述游标值与所述心跳包的定时上报周期值取模,并得到取模结果;以及
添加所述客户端信息的引用到以所述散列表的所述取模结果为索引的位置所指向的单链表中。
在所述客户端连接队列中增加所述客户端信息,包括:创建一个所述客户端信息的对象结点;
在所述客户端连接队列中以所述客户端信息对应的已连接客户端套接字标识符为索引的位置保存所述对象结点。
本实施例中,服务器端需要规定每一个心跳包的定时上报周期,所述定时上报周期指明客户端发送心跳包的周期时间,例如本例中的定时上报周期为6s。因此存在定时上报周期循环队列,它用于确定所述超时监视器判断客户端超时连接的检测时间范围。
在所述定时上报周期队列上存在游标,所述游标用于指向所述定时上报周期循环队列的每一个时间点;所述游标随着所述超时监视器的周期性触发而移动,初始状态指向所述定时上报周期队列的头部。假设所述超时监视器的触发周期为1s,则每隔1s所述超时监视器启动后游标就向前移动一次,当到达所述定时上报周期时间点结尾时将返回到所述定时上报周期循环队列起始头部。
客户端连接队列,顺序存储每一个已连接的客户端的客户端信息,其中所述客户端信息至少包括对应客户端的IP地址以及引用计数。所述客户端连接队列中以所述已连接客户端套接字标识符为索引的结点保存每一个客户端信息。这样,当有心跳包到达时,可直接通过心跳包对应的客户端的套接字标识符直接检索到该客户端是否已存在,时间复杂度为O(1)。
所述散列表,用于保存每一个心跳包对应的客户端信息的引用。其中,散列表地址数量与所述心跳包的定时上报周期值相同,例如本例中所述定时上报周期为6s,则所述散列表具有6个存储地址,而每个散列地址指向一个单链表;以及所述单链表内存储以所述客户端信息为结点的数据。
心跳包就是在客户端和服务器间定时通知对方自己状态的一个自己定义的命令字,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。
网络中的接收和发送数据都是使用SOCKET进行实现。但是如果此套接字已经断开,那发送数据和接收数据的时候就一定会有问题。可是如何判断这个套接字是否还可以使用呢?这个就需要在系统中创建心跳机制。其实TCP中已经为我们实现了一个叫做心跳的机制。如果你设置了心跳,那TCP就会在一定的时间(比如你设置的是3秒钟)内发送你设置的次数的心跳(比如说2次),并且此信息不会影响你自己定义的协议。所谓"心跳"就是定时发送一个自定义的结构体(心跳包或心跳帧),让对方知道自己"在线"。以确保链接的有效性。
所谓的心跳包就是客户端定时发送简单的信息给服务器端告诉它我还在而已。代码就是每隔几分钟发送一个固定信息给服务端,服务端收到后回复一个固定信息如果服务端几分钟内没有收到客户端信息则视客户端断开。比如有些通信软件长时间不使用,要想知道它的状态是在线还是离线就需要心跳包,定时发包收包。发包方:可以是客户也可以是服务端,看哪边实现方便合理。一般是客户端。服务器也可以定时轮询发心跳下去。心跳包之所以叫心跳包是因为:它像心跳一样每隔固定时间发一次,以此来告诉服务器,这个客户端还活着。事实上这是为了保持长连接,至于这个包的内容,是没有什么特别规定的,不过一般都是很小的包,或者只包含包头的一个空包。在TCP的机制里面,本身是存在有心跳包的机制的,也就是TCP的选项。系统默认是设置的是2小时的心跳频率。但是它检查不到机器断电、网线拔出、防火墙这些断线。而且逻辑层处理断线可能也不是那么好处理。一般,如果只是用于保活还是可以的。心跳包一般来说都是在逻辑层发送空的包来实现的。下一个定时器,在一定时间间隔下发送一个空包给客户端,然后客户端反馈一个同样的空包回来,服务器如果在一定时间内收不到客户端发送过来的反馈包,那就只有认定说掉线了。只需要send或者recv一下,如果结果为零,则为掉线。但是,在长连接下,有可能很长一段时间都没有数据往来。理论上说,这个连接是一直保持连接的,但是实际情况中,如果中间节点出现什么故障是难以知道的。更要命的是,有的节点(防火墙)会自动把一定时间之内没有数据交互的连接给断掉。在这个时候,就需要我们的心跳包了,用于维持长连接,保活。在获知了断线之后,服务器逻辑可能需要做一些事情,比如断线后的数据清理呀,重新连接呀当然,这个自然是要由逻辑层根据需求去做了。总的来说,心跳包主要也就是用于长连接的保活和断线处理。一般的应用下,判定时间在30-40秒比较不错。如果实在要求高,那就在6-9秒。
如在本申请中使用的,术语“模块”、“装置”是指下面各项的全部:
(1)仅硬件的电路实施方式(诸如以仅模拟和/或数字电路设备的实施方式);
(2)电路和软件的组合,诸如:(i)控制电路的组合或(ii)控制电路/软件(包括数字信号控制电路)、软件和存储器的部分,其共同工作以引起诸如移动电话或服务器之类的设备执行各种功能;以及
(3)诸如微控制电路或微控制电路部分之类的电路,其需要用于操作的软件或固件,即使软件或固件并没有物理地呈现。
“模块”或“装置”的定义适用于所有在以上实施例中(包括在任何权利要求中)对该术语的使用。作为另一示例,术语“模块”也可以涵盖仅一个控制电路或控制电路部分以及它的附属的软件和/或固件的实施例方式。术语“装置”还可涵盖例如类集成电路、蜂窝网络设备或其他网络设备中的基带集成电路或应用控制电路集成电路。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中的功能的装置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.心跳包超时管理方法,其特征在于,包括:
步骤101:当客户端的心跳包到达时,创建心跳监听事件并产生客户端的引用信息;
步骤102:获取多个客户端上传的心跳包并存储于散列表;
步骤103:周期性删除所述引用信息。
2.根据权利要求1所述心跳包超时管理方法,其特征在于,所述心跳包包括客户端信息,所述客户端信息包括已连接客户端套接字标识符、所述客户端信息的引用计数。
3.根据权利要求2所述心跳包超时管理方法,其特征在于,所述散列表的每个散列地址指向单链表;以及所述单链表内存储以所述客户端信息为结点的数据。
4.根据权利要求3所述心跳包超时管理方法,其特征在于,所述步骤102包括:根据所述心跳包对应的已连接客户端套接字标识符查找散列地址的客户端连接队列中是否已存在所述客户端信息;当不存在时,则在所述客户端连接队列中增加所述客户端信息;添加所述客户端信息的引用到所述散列表中,以及所述客户端信息的引用计数值加1。
5.根据权利要求4所述心跳包超时管理方法,其特征在于:根据所述心跳包对应的已连接客户端套接字标识符查找客户端连接队列中是否已存在所述客户端信息的方式,包括:所述客户端连接队列顺序存储每一个已连接的客户端的客户端信息;查询所述客户端连接队列中以所述已连接客户端套接字标识符为索引的位置指向的对象结点是否为空;若为空,则所述客户端连接队列中不存在所述客户端信息,若不为空,则所述客户端连接队列中存在所述客户端信息。
6.根据权利要求4所述心跳包超时管理方法,其特征在于:添加所述客户端信息的引用到所述散列表中的方式,包括:
存在游标,所述游标用于指向所述心跳包的定时上报周期的每一个时间点;
将所述游标值与所述心跳包的定时上报周期值取模,并得到取模结果;以及
添加所述客户端信息的引用到以所述散列表的所述取模结果为索引的位置所指向的单链表中。
7.根据权利要求4所述心跳包超时管理方法,其特征在于:在所述客户端连接队列中增加所述客户端信息,包括:创建一个所述客户端信息的对象结点;在所述客户端连接队列中以所述客户端信息对应的已连接客户端套接字标识符为索引的位置保存所述对象结点。
8.心跳包超时管理系统,其特征在于,包括:事件循环模块:用于当客户端的心跳包到达时,创建心跳监听事件并产生客户端的引用信息;心跳监视模块:用于获取多个客户端上传的心跳包并存储于散列表;超时监视模块:用于周期性删除所述引用信息。
9.根据权利要求8所述心跳包超时管理系统,其特征在于,所述心跳包包括客户端信息,所述客户端信息包括已连接客户端套接字标识符、所述客户端信息的引用计数。
10.根据权利要求9所述心跳包超时管理系统,其特征在于,所述散列表的每个散列地址指向单链表;以及所述单链表内存储以所述客户端信息为结点的数据。
11.根据权利要求10所述心跳包超时管理系统,其特征在于,所述心跳监视模块:用于根据所述心跳包对应的已连接客户端套接字标识符查找散列地址的客户端连接队列中是否已存在所述客户端信息;当不存在时,则在所述客户端连接队列中增加所述客户端信息;添加所述客户端信息的引用到所述散列表中,以及所述客户端信息的引用计数值加1。
12.根据权利要求11所述心跳包超时管理系统,其特征在于:根据所述心跳包对应的已连接客户端套接字标识符查找客户端连接队列中是否已存在所述客户端信息,包括:所述客户端连接队列顺序存储每一个已连接的客户端的客户端信息;查询所述客户端连接队列中以所述已连接客户端套接字标识符为索引的位置指向的对象结点是否为空;若为空,则所述客户端连接队列中不存在所述客户端信息,若不为空,则所述客户端连接队列中存在所述客户端信息。
13.根据权利要求11所述心跳包超时管理系统,其特征在于:添加所述客户端信息的引用到所述散列表,包括:
存在游标,所述游标用于指向所述心跳包的定时上报周期的每一个时间点;
将所述游标值与所述心跳包的定时上报周期值取模,并得到取模结果;以及
添加所述客户端信息的引用到以所述散列表的所述取模结果为索引的位置所指向的单链表中。
14.根据权利要求11所述心跳包超时管理系统,其特征在于:在所述客户端连接队列中增加所述客户端信息,包括:创建一个所述客户端信息的对象结点;在所述客户端连接队列中以所述客户端信息对应的已连接客户端套接字标识符为索引的位置保存所述对象结点。
CN201610859176.1A 2016-09-28 2016-09-28 心跳包超时管理方法及系统 Pending CN106571973A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610859176.1A CN106571973A (zh) 2016-09-28 2016-09-28 心跳包超时管理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610859176.1A CN106571973A (zh) 2016-09-28 2016-09-28 心跳包超时管理方法及系统

Publications (1)

Publication Number Publication Date
CN106571973A true CN106571973A (zh) 2017-04-19

Family

ID=58532528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610859176.1A Pending CN106571973A (zh) 2016-09-28 2016-09-28 心跳包超时管理方法及系统

Country Status (1)

Country Link
CN (1) CN106571973A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107465578A (zh) * 2017-09-21 2017-12-12 杭州全维技术股份有限公司 一种动态检测促使ap及时下线的方法
CN108449239A (zh) * 2018-06-19 2018-08-24 广州视源电子科技股份有限公司 心跳包检测方法、装置、设备和存储介质
CN109450734A (zh) * 2018-11-27 2019-03-08 四川长虹电器股份有限公司 Zigbee协调器心跳管理方法
CN109445957A (zh) * 2018-09-26 2019-03-08 迪瑞医疗科技股份有限公司 一种同步和异步通信控制方法、系统及装置
CN110601914A (zh) * 2019-08-05 2019-12-20 深圳市大拿科技有限公司 监测服务器存活状态的方法及系统
CN110971922A (zh) * 2018-09-30 2020-04-07 武汉斗鱼网络科技有限公司 直播连麦状态监控方法、设备、存储介质及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110153634A1 (en) * 2009-12-17 2011-06-23 Chu Thomas P Method and apparatus for locating services within peer-to-peer networks
CN103118132A (zh) * 2013-02-28 2013-05-22 浙江大学 一种面向时空数据的分布式缓存系统及方法
CN103491107A (zh) * 2013-10-14 2014-01-01 刘胜利 基于网络数据流簇聚类的木马通信特征快速提取方法
CN103684911A (zh) * 2013-12-05 2014-03-26 北京奇虎科技有限公司 一种网站的在线用户统计方法和装置
CN104166589A (zh) * 2013-05-17 2014-11-26 阿里巴巴集团控股有限公司 一种心跳包的处理方法和装置
CN105704107A (zh) * 2014-11-28 2016-06-22 中兴通讯股份有限公司 实现心跳通信的方法、注册中心、服务端和客户端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110153634A1 (en) * 2009-12-17 2011-06-23 Chu Thomas P Method and apparatus for locating services within peer-to-peer networks
CN103118132A (zh) * 2013-02-28 2013-05-22 浙江大学 一种面向时空数据的分布式缓存系统及方法
CN104166589A (zh) * 2013-05-17 2014-11-26 阿里巴巴集团控股有限公司 一种心跳包的处理方法和装置
CN103491107A (zh) * 2013-10-14 2014-01-01 刘胜利 基于网络数据流簇聚类的木马通信特征快速提取方法
CN103684911A (zh) * 2013-12-05 2014-03-26 北京奇虎科技有限公司 一种网站的在线用户统计方法和装置
CN105704107A (zh) * 2014-11-28 2016-06-22 中兴通讯股份有限公司 实现心跳通信的方法、注册中心、服务端和客户端

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107465578A (zh) * 2017-09-21 2017-12-12 杭州全维技术股份有限公司 一种动态检测促使ap及时下线的方法
CN107465578B (zh) * 2017-09-21 2020-04-03 杭州全维技术股份有限公司 一种动态检测促使ap及时下线的方法
CN108449239A (zh) * 2018-06-19 2018-08-24 广州视源电子科技股份有限公司 心跳包检测方法、装置、设备和存储介质
CN108449239B (zh) * 2018-06-19 2020-11-03 广州视源电子科技股份有限公司 心跳包检测方法、装置、设备和存储介质
CN109445957A (zh) * 2018-09-26 2019-03-08 迪瑞医疗科技股份有限公司 一种同步和异步通信控制方法、系统及装置
CN110971922A (zh) * 2018-09-30 2020-04-07 武汉斗鱼网络科技有限公司 直播连麦状态监控方法、设备、存储介质及系统
CN110971922B (zh) * 2018-09-30 2021-11-09 武汉斗鱼网络科技有限公司 直播连麦状态监控方法、客户端、服务器、介质及系统
CN109450734A (zh) * 2018-11-27 2019-03-08 四川长虹电器股份有限公司 Zigbee协调器心跳管理方法
CN110601914A (zh) * 2019-08-05 2019-12-20 深圳市大拿科技有限公司 监测服务器存活状态的方法及系统

Similar Documents

Publication Publication Date Title
CN106571973A (zh) 心跳包超时管理方法及系统
CN107465767B (zh) 一种数据同步的方法和系统
US9654995B2 (en) Method, device, and systems for managing access points controlled by an access point controller
CN102325076B (zh) 一种路径最大传输单元发现方法和节点
CN109831318A (zh) 一种获取网络拓扑的系统、方法和服务器
CN104301141B (zh) 一种保存配置信息的方法、装置及系统
CN100461708C (zh) 告警同步方法
CN102780593B (zh) 基于bfd协议检测链路的方法、装置和网络处理器
US20150254190A1 (en) Policy Control Method and Apparatus for Terminal Peripheral
CN102857354B (zh) 告警信息上报方法、装置及系统
WO2013060212A1 (en) Distributed batterry management system and method of identification distribution using the same
CN101577646B (zh) 一种基于snmp的告警同步方法
CN107017958B (zh) 一种基于ntp的时间同步方法及相应系统
CN109788027A (zh) 数据同步方法、装置、服务器及计算机存储介质
CN109547524A (zh) 基于物理网的用户行为存储方法、装置、设备及存储介质
JP2011155344A (ja) ネットワークシステム、接続装置、及び、データ送信方法
CN103457748A (zh) 数据传输方法、系统和设备
CN103780436A (zh) 网络装置与其相关的连接保持方法
JP2022523452A (ja) データ処理方法及び機器
CN102811451B (zh) 一种Capwap隧道连接控制方法及装置
CN104079663B (zh) 分布式实时同步网络系统及其通告数据的方法
WO2007059667A1 (fr) Procede d'obtention de donnees d'alarme des elements de reseau
CN106685764A (zh) 一种基于数据采集传输的通讯系统及通讯方法
CN105306243A (zh) 过期数据采集方法、装置及系统
CN105592485A (zh) 一种基于snmp网管协议实时采集并处理消息的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170419