CN103685241A - 一种维持tcp长连接的自适应心跳方法及其系统 - Google Patents
一种维持tcp长连接的自适应心跳方法及其系统 Download PDFInfo
- Publication number
- CN103685241A CN103685241A CN201310610828.4A CN201310610828A CN103685241A CN 103685241 A CN103685241 A CN 103685241A CN 201310610828 A CN201310610828 A CN 201310610828A CN 103685241 A CN103685241 A CN 103685241A
- Authority
- CN
- China
- Prior art keywords
- heartbeat packet
- self adaptation
- heartbeat
- time interval
- connection
- 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
Links
Images
Abstract
本发明公开了一种维持TCP长连接的自适应心跳方法及其系统,该自适应心跳方法,包括:连接建立步骤、连接状态探测步骤和自适应调整步骤;连接建立步骤用于完成通信双方初始化,通信双方建立网络连接;连接状态探测步骤用于通信双方中的一方作为发送方发送心跳包对所述网络连接状态进行探测;自适应调整步骤用于根据所述网络连接状态探测结果,通过连接探测参数的自适应调整,使所述发送方自主的调整发送心跳包的频率,以维持TCP长连接。本发明只需对通信终端上运行的程序稍加修改,而无需改变网络中已有的其他设备,也不需要修改通信所使用的网络协议,具有实现简单和部署方便的有益效果。
Description
技术领域
本发明涉及一种自适应机制,特别涉及一种NAT环境下维持TCP长连接的自适应心跳方法和系统。
背景技术
嵌入式设备是一种用于控制、监视或者辅助操作的装置,从它诞生起就一直是最有发展前景的IT应用领域之一。如今,嵌入式设备在数量上已经远远超过了各种通用计算机。在可以预见的将来,人们对嵌入式的需求将持续增长,嵌入式领域将继续蓬勃发展。
大部分的嵌入式设备都能够通过无线方式接入网络。然而,由于互联网公有地址数量有限,无法为这些无线设备分配唯一的IP地址。因此,绝大部分的无线设备采用NAT方式接入到互联网。NAT能够将私有IP地址映射成公有IP地址,并通过修改数据包中的IP地址完成NAT内部设备和外部终端之间的通信。但是,NAT可用的公有地址数无法满足所有的无线设备,因此,NAT采用动态刷新的方式为最近需要联网的无线设备选择可用的公有IP地址。如果无线设备和外部主机所建立的连接长时间空闲,NAT将删除与之相对应的记录,导致链路断开。
一方面,在大部分场景中,无线设备需要保持和服务器的连接以便实时的发送和接收数据。另一方面,出于便携性考虑,无线设备大都体积较小,其计算能力、存储能力和能源相比于PC机而言都较低。一旦与服务器的连接断开,无线设备需要向服务器重新发起连接,消耗了不必要的资源。
现有的技术使用定时发送心跳包的方式来维持连接的稳定,要求发送心跳包的间隔小于NAT的刷新间隔。因此,使用确定的时间间隔发送心跳包的方式需要事先知道NAT的刷新间隔。然而,通常情况下NAT的刷新时间是不确定的。另一方面,无线设备所处的NAT网络环境可能随时发生变化,采用定时发送心跳包的方式将很难适应网络的变化。当然,可以采用非常小的间隔来发送心跳包,但是这种方式过于极端,同时会消耗大量的网络流量,对于流量十分宝贵的无线设备而言,这种方式是不可取的。
综上所述,在NAT环境下提供一套行之有效的以最少流量代价维持通信两端连接存活的自适应机制迫在眉睫。
发明内容
现有的无线设备大部分通过定时发送心跳包的方式来维持与NAT外部服务器的连接,这种方式需要知道当前NAT环境下的刷新间隔,而且一旦网络环境发生变化,修改相应的配置代价过高。本发明为了克服这些不足,提供一种自适应的连接存活维持机制,能够让通信端自主的调整向对端发送心跳包的频率,以此来维持不同NAT环境下的长连接。通过这种方式,本发明能够大大的降低数据丢失的概率和重建连接的开销,通信双方能够使用最小的代价维持与对端的长连接,避免了数据的丢失和繁琐的重连接。
为达上述目的,本发明提供一种维持TCP长连接的自适应心跳方法,其特征在于,所述方法包括:
连接建立步骤:完成通信双方初始化,通信双方建立网络连接;
连接状态探测步骤:通信双方中的一方作为发送方发送心跳包对所述网络连接状态进行探测;
自适应调整步骤:根据所述网络连接状态探测结果,通过连接探测参数的自适应调整,使所述发送方自主的调整发送心跳包的频率,以维持TCP长连接。
上述维持TCP长连接的自适应心跳方法,其特征在于,所述连接探测参数,包括:空闲时间间隔Time,心跳包发送时间间隔Intvl和probes个心跳包。
上述维持TCP长连接的自适应心跳方法,其特征在于,所述连接状态探测步骤,还包括:
心跳包发送步骤:当链路空闲时间等于所述空闲时间间隔Time,所述发送方向对方发送一个心跳包,探测所述网络连接状态;
连接成功标记步骤:如果所述发送方收到所述对方的应答包,所述网络连接状态标记为成功;
连接失败标记步骤:如果所述发送方没有收到所述对方的应答包,则所述发送方继续以所述心跳包发送时间间隔Intvl定时向对方发送probes个心跳包,如果所述发送方仍然没有收到所述对方的应答包,所述连接状态标记为失败。
上述维持TCP长连接的自适应心跳方法,其特征在于,所述自适应调整步骤,还包括:
连接成功自适应调整步骤:所述连接状态为成功的情况下,自适应调整所述连接探测参数,分别为所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包增加处理,并且重复执行所述连接状态探测步骤;
连接失败自适应调整步骤:所述连接状态为失败的情况下,自适应调整所述连接探测参数,分别为所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包减少处理后,对所述网络连接状态进行判断。
上述维持TCP长连接的自适应心跳方法,其特征在于,所述连接失败自适应调整步骤,还包括:
网络环境不变调整步骤:在所述连接失败自适应调整步骤中,如果所述网络连接状态为成功,此时记录所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包的值,作为自适应策略存储,重复执行所述连接状态探测步骤;
网络环境变化调整步骤:在所述连接失败自适应调整步骤中,如果所述网络连接状态为失败,判断所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包是否已经达到预设置最小值,如果是则重复执行所述连接状态探测步骤,否则,将所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包的值减少处理,重复执行所述连接状态探测步骤。
上述维持TCP长连接的自适应心跳方法,其特征在于,所述连接建立步骤,还包括:
网段自适应策略查找步骤:如果所述发送方为服务器端,根据不同的IP网段查找所述自适应策略,如果查找成功,所述服务器端会对不同IP网段直接采用已经存储的所述自适应策略。
本发明还提供一种维持TCP长连接的自适应心跳系统,采用所述的自适应心跳方法,其特征在于,所述系统包括:
连接建立模块:用于完成通信双方初始化,通信双方建立网络连接;
连接状态探测模块:用于通信双方中的一方作为发送方发送心跳包对所述网络连接状态进行探测;
自适应调整模块:用于根据所述网络连接状态探测结果,通过连接探测参数的自适应调整,使所述发送方自主的调整发送心跳包的频率,以维持TCP长连接。
上述维持TCP长连接的自适应心跳系统,其特征在于,所述连接探测参数,包括:空闲时间间隔Time,心跳包发送时间间隔Intvl和probes个心跳包。
上述维持TCP长连接的自适应心跳系统,其特征在于,所述连接状态探测模块,还包括:
心跳包发送模块:用于当链路空闲时间等于所述空闲时间间隔Time,所述发送方向对方发送一个心跳包,探测所述网络连接状态;
连接成功标记模块:用于判断如果所述发送方收到所述对方的应答包,所述网络连接状态标记为成功;
连接失败标记模块:用于判断如果所述发送方没有收到所述对方的应答包,则所述发送方继续以所述心跳包发送时间间隔Intvl定时向对方发送probes个心跳包,如果所述发送方仍然没有收到所述对方的应答包,所述连接状态标记为失败。
上述维持TCP长连接的自适应心跳系统,其特征在于,所述自适应调整模块,还包括:
连接成功自适应调整模块:用于在所述连接状态为成功的情况下,自适应调整所述链路探测参数,分别为所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包增加处理;
连接失败自适应调整模块:用于在所述连接状态为失败的情况下,自适应调整所述连接探测参数,分别为所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包减少处理后,并对所述网络连接状态进行判断。
上述维持TCP长连接的自适应心跳系统,其特征在于,所述连接失败自适应调整模块,还包括:
网络环境不变调整模块:用于在所述网络连接状态为成功时,存储所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包的值,作为自适应存储策略;
网络环境变化调整模块:用于当所述网络连接状态为失败时,判断所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包是否已经达到预设置最小值,如果没有达到所述最小值,将所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包的值减少处理。
上述维持TCP长连接的自适应心跳系统,其特征在于,所述连接建立模块,还包括:
网段自适应策略查找模块:用于当所述发送方为服务器端时,根据不同的IP网段查找存储所述自适应策略的数据库,如果查找成功,所述服务器端会对不同IP网段直接采用已经存储的所述自适应策略。
本发明与现有技术相比,本发明的有益效果在于,能够让通信一端自主的调整向对端发送心跳包的策略,以此来维持不同NAT环境下与通信对端的长连接;能够让通信双方使用最小的代价维持与对端的长连接,避免了数据的丢失和繁琐的重连接。
附图说明
图1为本发明维持TCP长连接的自适应心跳方法的流程示意图;
图2为本发明一实施例在客户端实现自适应方法的流程示意图;
图3为本发明一实施例在服务器端实现自适应方法的流程示意图;
图4为本发明一实施例的实例场景图;
图5为本发明维持TCP长连接的自适应心跳系统的系统结构图。
其中,附图标记:
1连接建立模块 2连接状态探测模块
3自适应调整模块
11网段自适应策略查找模块 21心跳包发送模块
22连接成功标记模块 23连接失败标记模块
31连接成功自适应调整模块 32连接失败自适应调整模块
321网络环境不变调整模块 322网络环境变化调整模块
S1~S3、S11、S21~S23、S31~S32、S321~S322: 本发明的实施例步骤
具体实施方式
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
下面结合附图和具体实施方式,对本发明做进一步的说明。
在详细说明自适应方法前,需要解释三个名词的含义。
Time:每当链路空闲时,本方将按照Time规定的时间间隔向对方发送心跳包,一旦发送间隔内链路重新忙碌,本方将等待链路空闲重新按照Time规定的时间间隔发送心跳包。
Intvl:一旦对方不回复相应的心跳包,本方将以Intvl规定的时间间隔定时向对方发送心跳包。通常情况下,Intvl的值小于Time规定的时间间隔。
Probes:在本方以Intvl规定的时间间隔发送了probes个心跳包后若对方仍然无响应,本方标记链路为断开。
本发明提供的一种维持TCP长连接的自适应心跳方法,如图1所示,包括以下步骤:
连接建立步骤S1:完成通信双方初始化,通信双方建立网络连接;
连接状态探测步骤S2:通信双方中的一方作为发送方发送心跳包对网络连接状态进行探测;
自适应调整步骤S3:根据网络连接状态探测结果,通过发送方的连接探测参数的自适应调整,使发送方自主的调整发送心跳包的频率,以维持TCP长连接。
该自适应心跳方法的连接状态探测步骤S2,还包括以下步骤:
心跳包发送步骤S21:当链路空闲时间等于空闲时间间隔Time,发送方向对方发送一个心跳包,探测网络连接状态;
连接成功标记步骤S22:如果发送方收到对方的应答包,网络连接状态标记为成功;
连接失败标记步骤S23:如果发送方没有收到对方的应答包,则发送方继续以心跳包发送时间间隔Intvl定时向对方发送probes个心跳包,如果发送方仍然没有收到对方的应答包,所述连接状态标记为失败。
该自适应心跳方法的自适应调整步骤S3,还包括以下步骤:
连接成功自适应调整步骤S31:连接状态为成功的情况下,自适应调整链路探测参数,分别为空闲时间间隔Time值,心跳包发送时间间隔Intvl和probes个心跳包增加处理,并且重复执行连接状态探测步骤;
连接失败自适应调整步骤S32:连接状态为失败的情况下,自适应调整连接探测参数,分别为空闲时间间隔Time值,心跳包发送时间间隔Intvl和probes个心跳包减少处理后,对网络连接状态进行判断。
该自适应心跳方法的连接失败自适应调整步骤S32,还包括以下步骤:
网络环境不变调整步骤S321:在连接失败自适应调整步骤中,如果网络连接状态为成功,此时记录空闲时间间隔Time值,心跳包发送时间间隔Intvl和probes个心跳包的值,作为自适应策略存储,重复执行所述连接状态探测步骤;
网络环境变化调整步骤S322:在所述连接失败自适应调整步骤中,如果所述网络连接状态为失败,判断所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包是否已经达到预设置最小值,如果是,则重复执行所述连接状态探测步骤,否则,将所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包的值减少处理,重复执行所述连接状态探测步骤。
该自适应心跳方法的连接建立步骤S1,还包括以下步骤:
网段自适应策略查找步骤S11:如果发送方为服务器端,根据不同的IP网段查找存储自适应策略的数据库,如果查找成功,服务器端会对不同IP网段直接采用已经存储的自适应策略。
以下结合本发明具体实施例,对维持TCP长连接的自适应心跳方法进行详细说明。
一般情况下,当连接空闲时,通过发送心跳包的方式,能够让NAT刷新对该无线设备的映射,从而保持连接的稳定。对于某一个特定的场景而言,如果心跳包发送过慢,NAT刷新的时间间隔小于心跳包的发送间隔,心跳包将失去作用,连接依然会断开。如果心跳包发送过快,心跳包可以起到刷新NAT映射表的作用,但是却消耗了不必要的网络流量和资源。因此,需要为不同NAT环境下的无线设备选择合适的心跳包发送策略。
本发明提供的自适应机制依据每次连接的成功与否来调整前述三个参数。通信中的一方穿过NAT和另外一方建立连接后,由其中一方启动自适应机制,当链路处于忙碌状态时,自适应机制休眠不工作。一旦链路空闲,自适应机制在本方启动定时器。如果在Time时间内,链路中有数据传输,则本方等待数据传输结束后将定时器清0并重新启动定时器。如果在定时器规定的时间内,链路依然空闲,则本方将发送一个心跳包给对方。此时可能遇到两种情况,如果对方在RTO时间内回复该心跳包的ACK,则表明此时通信对端仍然可达,本方重新启动定时器,重复上述过程,直至连接成功结束。如果本方没有收到对方回复的ACK,则本方将以Intvl时间间隔定时向对方发送心跳包。其中,RTO为TCP标准协议中的超时重传等待时间,其取值范围为200ms—120s。不同的TCP实现版本所选择的RTO取值也不一样,一般情况下,RTO的值被设置为200ms。如果对方在本方已经发送了probes个心跳包后仍然没有任何响应,则标记链路断开,此次连接失败。对于建立的每一次连接来说,它可能成功完成,也可能失败。下面就这两种情况分别描述自适应机制的参数调整策略:
①如果连接成功完成,表明当前网络状况良好,NAT的刷新时间间隔大于心跳包的发送间隔,按照当前的心跳包发送策略能够实现维持连接的功能。出于节省流量的考虑,Time的值增加一个单位,Intvl的值增加一个单位,Probes的值增加1,在下一次连接建立时,机制将使用这三个新的参数值。
②如果连接断开,表明当前网络状况一般,NAT的刷新时间间隔小于心跳包的发送间隔,按照当前的心跳包发送策略无法维持连接。造成这种情况的原因有两个:1)NAT刷新时间不变,而心跳包发送间隔大于NAT刷新间隔。2)心跳包发送间隔不变,而NAT刷新时间小于心跳包发送间隔。因此,自适应机制需要判断连接断开的原因。首先,将Time、Intvl和Probes的值都减少一个单位。然后观察调整之后的连接是否成功,如果成功,说明当前心跳间隔正好为临界点,并且NAT网络环境并没有发生变化,则参数调整完毕,自适应过程结束,保存Time、Intvl和Probes的值作为自适应调整策略,并且以已经保存的Time、Intvl和Probes的值继续定时向对端发送心跳包,进行连接状态探测。如果之后的连接失败,则说明此时NAT网络环境已经发生变化,NAT的刷新间隔已经远远小于心跳包的发送间隔,需要重新调整参数。此时对Time、Intvl和Probes的值进行判断,是否已经达到预设置的最小值,如果已经达到最小值,则采用Time、Intvl和Probes的预设置最小值,继续向对端发送心跳包,进行连接状态探测;如果Time、Intvl和Probes的值没有达到预设置的最小值,将Time、Intvl和Probes的值减半,然后继续观察连接是否断开,如果连接成功完成,则回到策略①,以1为单位继续增加Time、Intvl和Probes的值,直到达到临界点,自适应过程结束,继续定时向对端发送心跳包,进行连接状态探测。值得注意的是,假设在物理链路正常的情况下,NAT的刷新间隔始终是一个大于0的数,因此,对Time、Intvl和Probes三个值持续减半,一定会存在一个时刻使得Time的值小于NAT的刷新间隔,此时连接将成功,然后回到策略①,以1为单位增加Time、Intvl和Probes的值,直至达到NAT刷新间隔的临界点,自适应过程结束。
经过上述过程,心跳包的发送策略将最终趋于稳定。心跳发送间隔略低于NAT的刷新间隔,最大限度的节省了流量。可以看到,自适应机制简洁明了,使用统一的方式解决了问题,能够适应不同地区的NAT设备和不同的网络拥塞状况。
本发明提供的自适应心跳机制可以在任意一端进行配置,在通信两端进行配置各自有各自的优势,下面分别进行讨论。
本发明在客户端的一较佳实施例,具体说明如下:
在客户端部署自适应机制相对简单,由位于NAT内部的客户端主动启动自适应机制,经过一段时间后,客户端将适应当前的NAT网络环境。这种方式的优点的是客户端能主动适应所处的NAT环境,并且每个客户端相互独立互不影响。缺点是当客户端发现连接已经断开后,将重新建立连接。对于服务器而言,它并不知晓客户端已经断开,因此它将维持连接状态直到主动发送数据无响应为止,造成了不必要的服务器资源消耗。另一方面,客户端的数量较大,不方便进行统一的管理和配置。
如图2所示,本发明在客户端的心跳维持方法的具体步骤如下:
初始化步骤S201:在无线客户设备上修改客户端代码,在程序中定义三个和心跳包发送策略相关的参数。这三个参数分别是time、intvl、probes。其中,前两个参数的单位都为秒,第三个参数无量纲。
创建套接字,并使用setsockopt函数对其进行设置,打开相应的keepalive功能,并使用上述三个默认值设置套接字的keepalive功能。
连接服务器步骤S202:与服务器建立连接,进行通信。
设置默认心跳参数S203:在通信过程中,keepalive机制会按照配置好的三个参数在链路空闲时发送心跳包。
启动自适应过程S204:如果通信成功结束,将time值加1,intvl值加1,probes值加1。如果本次通信失败,并且上一次通信也失败,则将time值减半,intvl值减半,probes值减半,直至达到预设置最小值。如果本次通信失败,并且上一次通信成功,则将time值减1,intvl值减1,probes值减1。此时time、intvl、probes三个值不再变化。
配置心跳策略S205:在下一次该客户端向服务器发起连接时,使用新的time、intvl和probes值对其进行设置。
经过一段时间的或成功或失败的尝试后,time、intvl和probes三个值都将稳定,完成自适应过程。继续向服务器发送心跳包,进行连接状态探测,如果此时NAT环境再次发生改变,重复上述过程。
本发明在服务器端的一较佳实施例,具体说明如下:
在服务器部署自适应机制,由服务器主动记录和其他所有客户端的通信情况,为处于不同网段的客户端维护相应的心跳发送策略。这种方式的优点是,由服务器统一管理心跳策略,便于修改和控制自适应过程。这种方式的缺点是,当客户端的数量很大时,服务器需要使用额外的资源来为不同网段的客户端维护相应的心跳发送策略。
服务器自适应机制的实现过程和客户端基本相同,唯一不同的是,服务器增加了网段心跳策略。由于互联网中的IP地址和设备一一对应,对于同一个NAT来说,它所可用的公网IP地址是有限的,并且是固定的,同时,这些IP地址处于同一网段。也就是说,网段和NAT是一一对应的。因此,当服务器收到来自NAT的连接请求时,可以通过分析源IP地址的网段判断该请求所属的NAT,并根据以往存储的策略信息,相应的选择适合该NAT的心跳发送策略,省去了重新自适应的过程。
如图3所示,本发明在服务器端的心跳维持方法的具体步骤如下:
初始化步骤S301:在服务器端修改代码,在程序中定义三个和心跳包发送策略相关的参数。这三个参数分别是time、intvl、probes。其中,前两个参数的单位都为秒,第三个参数无量纲。
创建套接字步骤S302:并使用setsockopt函数对其进行设置,打开相应的keepalive功能,并使用上述三个默认值设置套接字的keepalive功能。并将该套接字设为监听模式。
接受客户端连接请求步骤S303:提取客户端请求数据包中的IP地址网段。
相应网段心跳策略步骤S304:然后根据该网段查找数据库,该数据库中存储了所有曾经和该服务器建立过连接的NAT所处的网段以及和这些网段对应的心跳策略。服务器从数据库中查找是否已经存储了与本次连接来自网段相对应的Time、Intvl以及Probes的值。如果已经存在,则直接使用数据库中的这三个值初始化Time、Intvl和Probes。如果不存在,则使用默认值初始化Time、Intvl和Probes。
自适应启动步骤S305:在上一步中,如果服务器不存在相应心跳策略,则在通信过程中,启动自适应机制。如果通信成功结束,将time值加1,intvl值加1,probes值加1。如果本次通信失败,并且上一次通信也失败,说明当前NAT刷新较为频繁,则将time值减半,intvl值减半,probes值减半,直至Time、Intvl和Probes值达到预设置的最小值,通信成功为止。如果本次通信失败,并且上一次通信成功,则将time值减1,intvl值减1,probes值减1。
配置相应心跳策略步骤S306:此时time、intvl、probes三个值不再变化并将对应新网段的策略存储在服务器中。
在下一个客户端向服务器发起连接时,重复上述过程。
如图4所示,本发明应用的一个场景,图4中有两个无线设备,分别为A和B。两个无线设备都通过无线链路连接到可以访问外网的NAT上,NAT再接入到Internet上。以无线设备A为例,由A通过NAT和服务器建立一个TCP长连接。当连接建立后,在链路空闲时,A启动自适应机制,使用默认值初始化Time、Intvl和Probes三个值,紧接着启动定时器,将该定时器的时间设置为Time。链路持续空闲,定时器的时间减少,当定时器的时间降为0时,A发送一个心跳包给服务器,如果服务器响应一个ACK,则证明连接正常,NAT刷新一次映射表,定时器重新设置为Time,重复上述步骤,长连接继续保持。如果没有收到ACK回复,证明连接异常,定时器设置为Intvl,当Intvl降为0时,A发送一个心跳包,并重复Probes次。如果在此期间,A重新收到ACK,或者重新忙碌,证明连接恢复正常,定时器再次重置为Time,重复以上步骤。如果在此期间,A没有收到ACK,则链路断开,A将记录下此时的Time、Intvl和Probes三个值。在下一次建立连接时,将这三个值加1,并重复上述过程,直至逼近NAT的刷新时间,至此,A完成自适应过程,Time、Intvl和Probes三个值已经和当前NAT环境相匹配。如果A更换了网络接入点,通过另外一个NAT接入到网络,并且该NAT的刷新时间小于A之前配置好的心跳间隔,则A将重新进行适配。具体方式是,首先,A将Time、Intvl和Probes三个值都减1。如果连接成功,适配完成。如果连接依旧失败,则将该三个值减半,直至连接重新成功为止。在之后的过程中,只要连接成功,就将该三个值加1,直至逼近新的NAT环境刷新时间。至此,自适应机制完成。
本发明提供的维持TCP长连接的自适应心跳系统,如图5所示,包括以下模块:连接建立模块1,连接状态探测模块2,自适应调整模块3,连接建立模块1用于完成通信双方初始化,通信双方建立网络连接;连接状态探测模块2用于通信双方中的一方作为发送方发送心跳包对网络连接状态进行探测;自适应调整模块3用于根据网络连接状态探测结果,通过连接探测参数的自适应调整,使发送方自主的调整发送心跳包的频率,以维持TCP长连接。
其中,连接建立模块1,还包括:网段自适应策略查找模块11用于当发送方为服务器端时,根据不同的IP网段查找存储自适应策略的数据库,如果查找成功,所述服务器端会对不同IP网段直接采用已经存储的自适应策略。
其中,连接状态探测模块2,还包括:心跳包发送模块21,连接成功标记模块22,连接失败标记模块23;心跳包发送模块21用于当链路空闲时间等于空闲时间间隔Time,发送方向对方发送一个心跳包,探测网络连接状态;连接成功标记模块22用于判断如果发送方收到对方的应答包,网络连接状态标记为成功;连接失败标记模块23用于判断如果发送方没有收到对方的应答包,则发送方继续以心跳包发送时间间隔Intvl定时向对方发送probes个心跳包,如果发送方仍然没有收到对方的应答包,连接状态标记为失败。
其中,自适应调整模块3,还包括:连接成功自适应调整模块31,连接失败自适应调整模块32;连接成功自适应调整模块31用于在连接状态为成功的情况下,自适应调整连接探测参数,分别为所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包增加处理;连接失败自适应调整模块32用于在连接状态为失败的情况下,自适应调整连接探测参数,分别为空闲时间间隔Time值,心跳包发送时间间隔Intvl和probes个心跳包减少处理后,并对网络连接状态进行判断。
其中,连接失败自适应调整模块32,还包括:网络环境不变调整模块321,网络环境变化调整模块322,网络环境不变调整模块321用于在网络连接状态为成功时,存储所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包的值,作为自适应存储策略;网络环境变化调整模块322用于当网络连接状态为失败时,判断空闲时间间隔Time值,心跳包发送时间间隔Intvl和probes个心跳包是否已经达到预设置最小值,如果没有达到所述最小值,将所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包的值减少处理。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (12)
1.一种维持TCP长连接的自适应心跳方法,其特征在于,所述方法包括:
连接建立步骤:完成通信双方初始化,通信双方建立网络连接;
连接状态探测步骤:所述通信双方中的一方作为发送方发送心跳包对所述网络连接状态进行探测;
自适应调整步骤:根据所述网络连接状态探测结果,通过连接探测参数的自适应调整,使所述发送方自主的调整发送心跳包的频率,以维持TCP长连接。
2.根据权利要求1所述维持TCP长连接的自适应心跳方法,其特征在于,所述连接探测参数,包括:空闲时间间隔Time,心跳包发送时间间隔Intvl和probes个心跳包。
3.根据权利要求2所述维持TCP长连接的自适应心跳方法,其特征在于,所述连接状态探测步骤,还包括:
心跳包发送步骤:当链路空闲时间等于所述空闲时间间隔Time,所述发送方向对方发送一个心跳包,探测所述网络连接状态;
连接成功标记步骤:如果所述发送方收到所述对方的应答包,所述网络连接状态标记为成功;
连接失败标记步骤:如果所述发送方没有收到所述对方的应答包,则所述发送方继续以所述心跳包发送时间间隔Intvl定时向对方发送probes个心跳包,如果所述发送方仍然没有收到所述对方的应答包,所述连接状态标记为失败。
4.根据权利要求3所述维持TCP长连接的自适应心跳方法,其特征在于,所述自适应调整步骤,还包括:
连接成功自适应调整步骤:所述连接状态为成功的情况下,自适应调整所述连接探测参数,分别为所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包增加处理,并且重复执行所述连接状态探测步骤;
连接失败自适应调整步骤:所述连接状态为失败的情况下,自适应调整所述连接探测参数,分别为所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包减少处理后,对所述网络连接状态进行判断。
5.根据权利要求4所述维持TCP长连接的自适应心跳方法,其特征在于,所述连接失败自适应调整步骤,还包括:
网络环境不变调整步骤:在所述连接失败自适应调整步骤中,如果所述网络连接状态为成功,此时记录所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包的值,作为自适应策略存储,重复执行所述连接状态探测步骤;
网络环境变化调整步骤:在所述连接失败自适应调整步骤中,如果所述网络连接状态为失败,判断所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包是否已经达到预设置最小值,如果是,则重复执行所述连接状态探测步骤,否则,将所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包的值减少处理,重复执行所述连接状态探测步骤。
6.根据权利要求5所述维持TCP长连接的自适应心跳方法,其特征在于,所述连接建立步骤,还包括:
网段自适应策略查找步骤:如果所述发送方为服务器端,根据不同的IP网段查找所述自适应策略,如果查找成功,所述服务器端会对不同IP网段直接采用已经存储的所述自适应策略。
7.一种维持TCP长连接的自适应心跳系统,采用如权利要求1-6中任一项所述的自适应心跳方法,其特征在于,所述系统包括:
连接建立模块:用于完成通信双方初始化,通信双方建立网络连接;
连接状态探测模块:用于通信双方中的一方作为发送方发送心跳包对所述网络连接状态进行探测;
自适应调整模块:用于根据所述网络连接状态探测结果,通过连接探测参数的自适应调整,使所述发送方自主的调整发送心跳包的频率,以维持TCP长连接。
8.根据权利要求7所述维持TCP长连接的自适应心跳系统,其特征在于,所述连接探测参数,包括:空闲时间间隔Time,心跳包发送时间间隔Intvl和probes个心跳包。
9.根据权利要求8所述维持TCP长连接的自适应心跳系统,其特征在于,所述连接状态探测模块,还包括:
心跳包发送模块:用于当链路空闲时间等于所述空闲时间间隔Time,所述发送方向对方发送一个心跳包,探测所述网络连接状态;
连接成功标记模块:用于判断如果所述发送方收到所述对方的应答包,所述网络连接状态标记为成功;
连接失败标记模块:用于判断如果所述发送方没有收到所述对方的应答包,则所述发送方继续以所述心跳包发送时间间隔Intvl定时向对方发送probes个心跳包,如果所述发送方仍然没有收到所述对方的应答包,所述连接状态标记为失败。
10.根据权利要求9所述维持TCP长连接的自适应心跳系统,其特征在于,所述自适应调整模块,还包括:
连接成功自适应调整模块:用于在所述连接状态为成功的情况下,自适应调整所述连接探测参数,分别为所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包增加处理;
连接失败自适应调整模块:用于在所述连接状态为失败的情况下,自适应调整所述连接探测参数,分别为所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包减少处理后,并对所述网络连接状态进行判断。
11.根据权利要求10所述维持TCP长连接的自适应心跳系统,其特征在于,所述连接失败自适应调整模块,还包括:
网络环境不变调整模块:用于在所述网络连接状态为成功时,存储所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包的值,作为自适应存储策略;
网络环境变化调整模块:用于当所述网络连接状态为失败时,判断所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包是否已经达到预设置最小值,如果没有达到所述最小值,将所述空闲时间间隔Time值,所述心跳包发送时间间隔Intvl和所述probes个心跳包的值减少处理。
12.根据权利要求11所述维持TCP长连接的自适应心跳系统,其特征在于,所述连接建立模块,还包括:
网段自适应策略查找模块:用于当所述发送方为服务器端时,根据不同的IP网段查找存储所述自适应策略的数据库,如果查找成功,所述服务器端会对不同IP网段直接采用已经存储的所述自适应策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310610828.4A CN103685241A (zh) | 2013-11-26 | 2013-11-26 | 一种维持tcp长连接的自适应心跳方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310610828.4A CN103685241A (zh) | 2013-11-26 | 2013-11-26 | 一种维持tcp长连接的自适应心跳方法及其系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103685241A true CN103685241A (zh) | 2014-03-26 |
Family
ID=50321556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310610828.4A Pending CN103685241A (zh) | 2013-11-26 | 2013-11-26 | 一种维持tcp长连接的自适应心跳方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103685241A (zh) |
Cited By (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104333465A (zh) * | 2014-10-31 | 2015-02-04 | 北京奇虎科技有限公司 | 一种心跳间隔设置的方法、装置及系统 |
CN105049477A (zh) * | 2015-05-26 | 2015-11-11 | 腾讯科技(深圳)有限公司 | 维持长连接的方法和装置 |
WO2015196790A1 (en) * | 2014-06-26 | 2015-12-30 | Tencent Technology (Shenzhen) Company Limited | Method and system for heartbeat adaptation |
CN105227482A (zh) * | 2015-09-07 | 2016-01-06 | 北京百度网讯科技有限公司 | 基于tcp连接的限速方法和装置 |
CN105227398A (zh) * | 2015-09-08 | 2016-01-06 | 深圳创维-Rgb电子有限公司 | 多业务共享长连接方法、系统及其装置、终端 |
CN105516010A (zh) * | 2015-12-09 | 2016-04-20 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
CN105577410A (zh) * | 2014-10-16 | 2016-05-11 | 中兴通讯股份有限公司 | 一种终端状态实时刷新方法及装置 |
CN105578515A (zh) * | 2014-10-15 | 2016-05-11 | 上海点艺信息技术有限公司 | 一种心跳频率参数的维护方法及服务器 |
WO2016155300A1 (zh) * | 2015-03-27 | 2016-10-06 | 上海斐讯数据通信技术有限公司 | 无线终端设备的远程控制系统及远程控制方法 |
CN106375148A (zh) * | 2016-08-30 | 2017-02-01 | 北京北信源软件股份有限公司 | 即时通讯中的动态网络心跳处理方法及终端 |
CN106385409A (zh) * | 2016-09-08 | 2017-02-08 | 杭州迪普科技有限公司 | 一种tcp报文的处理方法及装置 |
CN106411627A (zh) * | 2015-07-31 | 2017-02-15 | 博雅网络游戏开发(深圳)有限公司 | 网络连接检测方法和装置 |
CN106850784A (zh) * | 2017-01-17 | 2017-06-13 | 华东交通大学 | 智能主机与云服务之间的通信方法 |
CN106851799A (zh) * | 2017-01-19 | 2017-06-13 | 珠海市魅族科技有限公司 | 一种长连接中心跳包的发送方法及装置 |
CN106922039A (zh) * | 2015-12-25 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 一种心跳报文的发送方法和装置 |
CN106972977A (zh) * | 2017-05-24 | 2017-07-21 | 北京潘达互娱科技有限公司 | 一种长连接维护方法与装置 |
CN107276859A (zh) * | 2017-08-21 | 2017-10-20 | 武汉斗鱼网络科技有限公司 | 保持长连接的方法及装置 |
CN107317731A (zh) * | 2017-08-21 | 2017-11-03 | 厦门天锐科技股份有限公司 | 一种客户端与服务器连接状态的检测方法 |
CN107612789A (zh) * | 2017-11-09 | 2018-01-19 | 北京奇艺世纪科技有限公司 | 一种客户端的心跳间隔调整方法及装置 |
CN108390910A (zh) * | 2018-01-17 | 2018-08-10 | 吉浦斯信息咨询(深圳)有限公司 | 一种推送sdk的省电方法、装置及计算机可读介质 |
US10084675B2 (en) | 2016-04-07 | 2018-09-25 | International Business Machines Corporation | Monitoring connections for data communications |
CN109067698A (zh) * | 2018-06-05 | 2018-12-21 | 中国平安人寿保险股份有限公司 | 一种协议文件的变更方法及设备 |
CN109246123A (zh) * | 2018-09-30 | 2019-01-18 | 广州酷狗计算机科技有限公司 | 媒体流获取方法及装置 |
CN109413612A (zh) * | 2018-10-22 | 2019-03-01 | 深圳市元征科技股份有限公司 | 一种通讯连接建立方法及设备 |
CN109547293A (zh) * | 2018-12-20 | 2019-03-29 | 上海数果科技有限公司 | 心跳数据包发送方法 |
CN109769214A (zh) * | 2018-12-26 | 2019-05-17 | 彩讯科技股份有限公司 | 一种消息推送方法、装置、终端及介质 |
CN109788038A (zh) * | 2018-12-25 | 2019-05-21 | 上海数果科技有限公司 | 一种智能心跳方法 |
CN110049068A (zh) * | 2018-01-15 | 2019-07-23 | 北京京东尚科信息技术有限公司 | 一种基于超文本传输协议的网络长连接优化的方法和装置 |
CN110336708A (zh) * | 2019-05-24 | 2019-10-15 | 重庆科技学院 | 一种面向虚拟跨域通信的弹性保活系统及方法 |
CN110784369A (zh) * | 2019-09-16 | 2020-02-11 | 珠海格力电器股份有限公司 | 检测长连接的方法、服务器、终端及存储介质 |
CN111049946A (zh) * | 2019-12-24 | 2020-04-21 | 深信服科技股份有限公司 | 一种Portal认证方法、系统及电子设备和存储介质 |
US10666537B2 (en) | 2016-04-19 | 2020-05-26 | International Business Machines Corporation | Managing connections for data communications using heartbeat messaging |
US10742747B2 (en) | 2017-07-06 | 2020-08-11 | International Business Machines Corporation | Managing connections for data communications following socket failure |
WO2020211314A1 (en) * | 2019-04-19 | 2020-10-22 | Shanghai Bilibili Technology Co.,Ltd. | Connection control method and device |
CN111817877A (zh) * | 2020-06-05 | 2020-10-23 | 北京嘀嘀无限科技发展有限公司 | 充电桩心跳控制方法、装置、电子设备、反馈方法、服务器及存储介质 |
US10827001B2 (en) | 2016-07-27 | 2020-11-03 | International Business Machines Corporation | Managing connections for data communications |
CN112383449A (zh) * | 2020-11-19 | 2021-02-19 | 广东沃科融合通讯有限公司 | 信息发送方法、装置、电子设备和存储介质 |
CN112422646A (zh) * | 2020-11-05 | 2021-02-26 | 杭州萤石软件有限公司 | 一种udp动态心跳的实现方法、装置及存储介质 |
CN112797325A (zh) * | 2021-02-06 | 2021-05-14 | 广东联博新型建材有限公司 | 智能管网检测系统及方法 |
CN113315802A (zh) * | 2020-07-27 | 2021-08-27 | 阿里巴巴集团控股有限公司 | 网络链路异常的处理方法、装置及设备 |
CN113452568A (zh) * | 2020-03-25 | 2021-09-28 | 上汽通用汽车有限公司 | 车辆通信方法、通信系统、车辆以及存储介质 |
CN114422571A (zh) * | 2021-12-31 | 2022-04-29 | 广东国腾量子科技有限公司 | 一种量子通信客户端断开重连系统及方法 |
CN115529255A (zh) * | 2021-06-25 | 2022-12-27 | 华为技术有限公司 | 一种连接探测方法、客户端与服务器 |
WO2023066125A1 (zh) * | 2021-10-22 | 2023-04-27 | 杭州研极微电子有限公司 | 降低通信设备休眠状态下功耗的方法、装置、设备及介质 |
-
2013
- 2013-11-26 CN CN201310610828.4A patent/CN103685241A/zh active Pending
Cited By (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015196790A1 (en) * | 2014-06-26 | 2015-12-30 | Tencent Technology (Shenzhen) Company Limited | Method and system for heartbeat adaptation |
CN104144159B (zh) * | 2014-06-26 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 智能心跳保活方法及智能心跳保活系统 |
US10063448B2 (en) | 2014-06-26 | 2018-08-28 | Tencent Technology (Shenzhen) Company Limited | Method and system for heartbeat adaptation |
CN105578515B (zh) * | 2014-10-15 | 2019-04-02 | 上海点艺信息技术有限公司 | 一种心跳频率参数的维护方法及服务器 |
CN105578515A (zh) * | 2014-10-15 | 2016-05-11 | 上海点艺信息技术有限公司 | 一种心跳频率参数的维护方法及服务器 |
CN105577410A (zh) * | 2014-10-16 | 2016-05-11 | 中兴通讯股份有限公司 | 一种终端状态实时刷新方法及装置 |
CN104333465B (zh) * | 2014-10-31 | 2019-06-11 | 北京奇安信科技有限公司 | 一种心跳间隔设置的方法、装置及系统 |
CN104333465A (zh) * | 2014-10-31 | 2015-02-04 | 北京奇虎科技有限公司 | 一种心跳间隔设置的方法、装置及系统 |
WO2016155300A1 (zh) * | 2015-03-27 | 2016-10-06 | 上海斐讯数据通信技术有限公司 | 无线终端设备的远程控制系统及远程控制方法 |
CN105049477A (zh) * | 2015-05-26 | 2015-11-11 | 腾讯科技(深圳)有限公司 | 维持长连接的方法和装置 |
CN106411627A (zh) * | 2015-07-31 | 2017-02-15 | 博雅网络游戏开发(深圳)有限公司 | 网络连接检测方法和装置 |
CN105227482B (zh) * | 2015-09-07 | 2018-07-10 | 北京百度网讯科技有限公司 | 基于tcp连接的限速方法和装置 |
CN105227482A (zh) * | 2015-09-07 | 2016-01-06 | 北京百度网讯科技有限公司 | 基于tcp连接的限速方法和装置 |
CN105227398B (zh) * | 2015-09-08 | 2018-09-04 | 深圳创维-Rgb电子有限公司 | 多业务共享长连接方法、系统及其装置、终端 |
CN105227398A (zh) * | 2015-09-08 | 2016-01-06 | 深圳创维-Rgb电子有限公司 | 多业务共享长连接方法、系统及其装置、终端 |
CN105516010A (zh) * | 2015-12-09 | 2016-04-20 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
CN105516010B (zh) * | 2015-12-09 | 2019-02-05 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
CN106922039A (zh) * | 2015-12-25 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 一种心跳报文的发送方法和装置 |
CN106922039B (zh) * | 2015-12-25 | 2020-06-05 | 阿里巴巴集团控股有限公司 | 一种心跳报文的发送方法和装置 |
US10084675B2 (en) | 2016-04-07 | 2018-09-25 | International Business Machines Corporation | Monitoring connections for data communications |
US10666537B2 (en) | 2016-04-19 | 2020-05-26 | International Business Machines Corporation | Managing connections for data communications using heartbeat messaging |
US10887403B2 (en) | 2016-07-27 | 2021-01-05 | International Business Machines Corporation | Method for managing connections for data communications |
US10827001B2 (en) | 2016-07-27 | 2020-11-03 | International Business Machines Corporation | Managing connections for data communications |
CN106375148A (zh) * | 2016-08-30 | 2017-02-01 | 北京北信源软件股份有限公司 | 即时通讯中的动态网络心跳处理方法及终端 |
CN106375148B (zh) * | 2016-08-30 | 2019-05-21 | 北京北信源软件股份有限公司 | 即时通讯中的动态网络心跳处理方法及终端 |
CN106385409A (zh) * | 2016-09-08 | 2017-02-08 | 杭州迪普科技有限公司 | 一种tcp报文的处理方法及装置 |
CN106385409B (zh) * | 2016-09-08 | 2019-07-09 | 杭州迪普科技股份有限公司 | 一种tcp报文的处理方法及装置 |
CN106850784A (zh) * | 2017-01-17 | 2017-06-13 | 华东交通大学 | 智能主机与云服务之间的通信方法 |
CN106851799A (zh) * | 2017-01-19 | 2017-06-13 | 珠海市魅族科技有限公司 | 一种长连接中心跳包的发送方法及装置 |
CN106972977A (zh) * | 2017-05-24 | 2017-07-21 | 北京潘达互娱科技有限公司 | 一种长连接维护方法与装置 |
US10742747B2 (en) | 2017-07-06 | 2020-08-11 | International Business Machines Corporation | Managing connections for data communications following socket failure |
CN107276859B (zh) * | 2017-08-21 | 2019-10-25 | 武汉斗鱼网络科技有限公司 | 保持长连接的方法及装置 |
CN107317731A (zh) * | 2017-08-21 | 2017-11-03 | 厦门天锐科技股份有限公司 | 一种客户端与服务器连接状态的检测方法 |
CN107276859A (zh) * | 2017-08-21 | 2017-10-20 | 武汉斗鱼网络科技有限公司 | 保持长连接的方法及装置 |
CN107612789A (zh) * | 2017-11-09 | 2018-01-19 | 北京奇艺世纪科技有限公司 | 一种客户端的心跳间隔调整方法及装置 |
CN107612789B (zh) * | 2017-11-09 | 2020-08-28 | 北京奇艺世纪科技有限公司 | 一种客户端的心跳间隔调整方法及装置 |
CN110049068A (zh) * | 2018-01-15 | 2019-07-23 | 北京京东尚科信息技术有限公司 | 一种基于超文本传输协议的网络长连接优化的方法和装置 |
CN108390910B (zh) * | 2018-01-17 | 2021-03-16 | 吉浦斯信息咨询(深圳)有限公司 | 一种推送sdk的省电方法、装置及计算机可读介质 |
CN108390910A (zh) * | 2018-01-17 | 2018-08-10 | 吉浦斯信息咨询(深圳)有限公司 | 一种推送sdk的省电方法、装置及计算机可读介质 |
CN109067698A (zh) * | 2018-06-05 | 2018-12-21 | 中国平安人寿保险股份有限公司 | 一种协议文件的变更方法及设备 |
CN109246123A (zh) * | 2018-09-30 | 2019-01-18 | 广州酷狗计算机科技有限公司 | 媒体流获取方法及装置 |
CN109413612A (zh) * | 2018-10-22 | 2019-03-01 | 深圳市元征科技股份有限公司 | 一种通讯连接建立方法及设备 |
CN109547293A (zh) * | 2018-12-20 | 2019-03-29 | 上海数果科技有限公司 | 心跳数据包发送方法 |
CN109788038A (zh) * | 2018-12-25 | 2019-05-21 | 上海数果科技有限公司 | 一种智能心跳方法 |
CN109769214A (zh) * | 2018-12-26 | 2019-05-17 | 彩讯科技股份有限公司 | 一种消息推送方法、装置、终端及介质 |
US11165870B2 (en) | 2019-04-19 | 2021-11-02 | Shanghai Bilibili Technology Co., Ltd. | Connection control method and device |
WO2020211314A1 (en) * | 2019-04-19 | 2020-10-22 | Shanghai Bilibili Technology Co.,Ltd. | Connection control method and device |
CN110336708A (zh) * | 2019-05-24 | 2019-10-15 | 重庆科技学院 | 一种面向虚拟跨域通信的弹性保活系统及方法 |
CN110784369A (zh) * | 2019-09-16 | 2020-02-11 | 珠海格力电器股份有限公司 | 检测长连接的方法、服务器、终端及存储介质 |
CN111049946A (zh) * | 2019-12-24 | 2020-04-21 | 深信服科技股份有限公司 | 一种Portal认证方法、系统及电子设备和存储介质 |
CN113452568A (zh) * | 2020-03-25 | 2021-09-28 | 上汽通用汽车有限公司 | 车辆通信方法、通信系统、车辆以及存储介质 |
CN111817877A (zh) * | 2020-06-05 | 2020-10-23 | 北京嘀嘀无限科技发展有限公司 | 充电桩心跳控制方法、装置、电子设备、反馈方法、服务器及存储介质 |
CN113315802A (zh) * | 2020-07-27 | 2021-08-27 | 阿里巴巴集团控股有限公司 | 网络链路异常的处理方法、装置及设备 |
CN112422646A (zh) * | 2020-11-05 | 2021-02-26 | 杭州萤石软件有限公司 | 一种udp动态心跳的实现方法、装置及存储介质 |
CN112422646B (zh) * | 2020-11-05 | 2023-04-18 | 杭州萤石软件有限公司 | 一种udp动态心跳的实现方法、装置及存储介质 |
CN112383449A (zh) * | 2020-11-19 | 2021-02-19 | 广东沃科融合通讯有限公司 | 信息发送方法、装置、电子设备和存储介质 |
CN112797325A (zh) * | 2021-02-06 | 2021-05-14 | 广东联博新型建材有限公司 | 智能管网检测系统及方法 |
CN112797325B (zh) * | 2021-02-06 | 2022-07-05 | 广东联博新型建材有限公司 | 智能管网检测系统及方法 |
CN115529255A (zh) * | 2021-06-25 | 2022-12-27 | 华为技术有限公司 | 一种连接探测方法、客户端与服务器 |
WO2023066125A1 (zh) * | 2021-10-22 | 2023-04-27 | 杭州研极微电子有限公司 | 降低通信设备休眠状态下功耗的方法、装置、设备及介质 |
CN114422571A (zh) * | 2021-12-31 | 2022-04-29 | 广东国腾量子科技有限公司 | 一种量子通信客户端断开重连系统及方法 |
CN114422571B (zh) * | 2021-12-31 | 2023-08-11 | 广东国腾量子科技有限公司 | 一种量子通信客户端断开重连系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103685241A (zh) | 一种维持tcp长连接的自适应心跳方法及其系统 | |
US20230247388A1 (en) | Communication system, method and device for miniature intelligent sensor | |
US8566625B2 (en) | System and method for determining transmitting frequency to maintain remote application server connectivity | |
EP2803244B1 (en) | Methods and apparatus for establishing a tunneled direct link setup (tdls) session between devices in a wireless network | |
US8935405B2 (en) | Expanding universal plug and play capabilities in power constrained environment | |
KR101481443B1 (ko) | 통신 네트워크의 디바이스 관리 방법 및 시스템 | |
CN104519036B (zh) | 一种发送业务请求消息的方法及装置 | |
CN101489294B (zh) | 调整功率的方法、路由器和网络设备 | |
CN110366153B (zh) | 一种蓝牙自组网的方法 | |
WO2016058335A1 (zh) | 信号传输的控制方法及装置、电子设备 | |
CN102209302A (zh) | 一种实现移动终端信息推送的系统及方法 | |
CN101945141B (zh) | 基于tcp的穿越nat设备的方法及系统 | |
WO2013033457A1 (en) | Topology discovery in a hybrid network | |
CN106341468B (zh) | 一种智能设备的远程唤醒方法、装置及系统 | |
CN110557327A (zh) | 利用近程通信技术可直接与用户终端联动的独立型IoT网关 | |
CN109818905B (zh) | 一种传输层协议适配的方法、网元设备及系统 | |
CN105262836A (zh) | 服务器推送信息的方法及客户端接收推送信息的方法 | |
US20240007929A1 (en) | Polymorphic network control system and method supporting mobile access of terminal | |
US9226229B2 (en) | Method for internet protocol-based sleep mode control using synchronization information | |
CN109547293A (zh) | 心跳数据包发送方法 | |
CN105453509A (zh) | 使用基于数据报的协议与vpn服务器通信 | |
CN107864042A (zh) | 应用程序唤醒方法及装置 | |
CN202111746U (zh) | 一种实现移动终端信息推送的系统 | |
CN109756972A (zh) | 一种唤醒应用程序的方法、网络侧设备及终端 | |
CN114143904B (zh) | 一种基于5g融合网络分流器的cpe管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20140326 |