终端快速感知NAT保活时间的方法、心跳包发送端和交互系统技术方案

技术编号:21552493 阅读:51 留言:0更新日期:2019-07-07 00:27
本发明专利技术属于通信领域,公开了一种终端快速感知NAT保活时间的方法,所述的方法具体为:心跳包发送端按照不断加大的试探周期向心跳响应端发送心跳包,直到因为心跳包发送周期过长导致心跳包发送端无法接收到心跳响应端反馈的心跳响应;以最近成功的试探周期作为心跳包发送端和心跳响应端之间保活连接的最长保活时间;所述的试探周期按照指数级的方式增长;所述的心跳包发送端为客户端,心跳响应端为服务器;或所述的心跳包发送端为服务器,心跳响应端为客户端。该方法可以迅速的获知保活时间,同时,本发明专利技术还公开了涉及该方法的心跳包发送端和交互系统。

A Method of Fast Sensing NAT Living Time, Heart Packet Sender and Interactive System

【技术实现步骤摘要】
终端快速感知NAT保活时间的方法、心跳包发送端和交互系统
本专利技术涉及通信领域,具体地说是一种终端快速感知NAT保活时间的方法、心跳包发送端和交互系统。
技术介绍
申请人北京容联易通信息技术有限公司于2016年申请了一项专利技术专利CN201610414480.5公开了一种用于保持连接的心跳方法和系统,分为终端和云服务器两个方面,通过终端采集最大心跳包周期并上传到云服务器,再由云服务器统计出最优心跳包周期;当终端处于某网络状态下,服务器下发对应的最优心跳包周期,以此作为初始心跳包周期,用于保活网络链路,这样能避免不必要的试探和浪费终端流量和电量。其在说明书中第42段记载:当满足智能心跳包采集试探条件时,以当前网络心跳包周期再加上一步长作为试探周期,向服务器发送试探心跳包,再不断加大步长并发送试探心跳不,直至因为周期过长导致的发送心跳包无服务器相应的失败,这时以最近成功的试探周期作为最大心跳包周期。该方案最大的缺陷在于,每次以一步长的形式提高心跳包发送周期,其无法迅速的获知NAT(NetworkAddressTranslation,网络地址转换)的保活时间。
技术实现思路
本专利技术的目的在于提供一种终端快速感知NAT保活时间的方法、心跳包发送端和交互系统,该方法可以迅速的获知保活时间,同时,本专利技术还公开了涉及该方法的心跳包发送端和交互系统。本专利技术的具体的技术方案为:一种终端快速感知NAT保活时间的方法,所述的方法具体为:心跳包发送端按照不断加大的试探周期向心跳响应端发送心跳包,直到因为心跳包发送周期过长导致心跳包发送端无法接收到心跳响应端反馈的心跳响应;以最近成功的试探周期作为心跳包发送端和心跳响应端之间保活连接的最长保活时间;所述的试探周期按照指数级的方式增长;所述的心跳包发送端为客户端,心跳响应端为服务器;或所述的心跳包发送端为服务器,心跳响应端为客户端。在上述的终端快速感知NAT保活时间的方法中,包括如下步骤:步骤1:心跳包发送端以试探周期TK向心跳响应端发送的心跳包;所述的心跳响应端用于在接收到心跳包后向心跳包发送端反馈心跳响应;步骤2:若心跳包发送端收到心跳响应则进行步骤1,若心跳包发送端没有接收到心跳响应则进行步骤3;步骤3:若心跳包发送端在第N次发送心跳包后没有收到心跳响应,则以心跳包发送端第N-1次发送心跳包的试探周期TN-1为最长保活时间;心跳包发送端第一次发送心跳包的试探周期为T1;第K次发送心跳包的试探周期为TK;TN-1=XN-1*T1;X大于1,N≥K≥1。在上述的终端快速感知NAT保活时间的方法中,X=2。在上述的终端快速感知NAT保活时间的方法中,所述的步骤3之后还包括步骤4:步骤4:心跳包发送端以最长保活时间TN-1为基础不断加大的试探周期向心跳响应端发送心跳包,直到因为心跳包发送周期过长导致心跳包发送端无法接收到心跳响应端反馈的心跳响应;以最近成功的试探周期作为心跳包发送端和心跳响应端之间保活连接的最优保活时间;所述的步骤4中的试探周期按照线性增加的方式增长。在上述的终端快速感知NAT保活时间的方法中,所述的步骤4具体为:步骤S41:心跳包发送端以试探周期TJ向心跳响应端发送的心跳包;步骤S42:若心跳包发送端收到心跳响应则进行步骤S41,若心跳包发送端没有接收到心跳响应则进行步骤S43;步骤S43:若心跳包发送端在第M次发送心跳包后没有收到心跳响应,则以心跳包发送端第M-1次发送心跳包的试探周期TM-1为最优保活时间;TJ-TJ-1=Y,Y为预设值;M>J>N;当J=N+1时,TJ=TN-1+Y。在上述的终端快速感知NAT保活时间的方法中,Y=1。同时,本专利技术还公开了一种快速感知NAT保活时间的心跳包发送端,包括如下模块:心跳包发送模块:以试探周期TK向心跳响应端发送的心跳包;心跳反应接收模块:用于接收心跳响应;所述的心跳响应由心跳响应端在接收到心跳包后向心跳反应接收模块发送;控制模块:用于在心跳反应接收模块接收到心跳响应时,控制心跳包发送模块发送心跳包;所述的控制模块内预设有试探周期TK的增长规律为指数级增长;最长保活时间确定模块:用于在心跳反应接收模块没有接收到心跳响应时,确定以心跳包发送模块第N-1次发送心跳包的试探周期TN-1为最长保活时间;心跳包发送端第一次发送心跳包的试探周期为T1;第K次发送心跳包的试探周期为TK;TN-1=XN-1*T1;X大于1,N≥K≥1。在上述的快速感知NAT保活时间的心跳包发送端中,还包括最优保活时间确定模块;所述的最优保活时间确定模块用于在最长保活时间确定模块确定最长保活时间后,以最长保活时间TN-1为基础不断加大的试探周期通过心跳包发送模块向心跳响应端发送心跳包,直到因为心跳包发送周期过长导致心跳反应接收模块无法接收到心跳响应端反馈的心跳响应;以最近成功的试探周期作为心跳包发送端和心跳响应端之间保活连接的最优保活时间;最优保活时间确定模块预设的试探周期的增长规律为线性增长。在上述的快速感知NAT保活时间的心跳包发送端中,所述的心跳包发送端为客户端或服务器。此外,本专利技术还公开了一种快速感知NAT保活时间的交互系统,包括客户端和服务器;所述的客户端为如上所述的心跳包发送端;所述的服务器为与心跳包发送端配合的在接收到心跳包后向心跳反应接收模块发送心跳包的服务器;或所述的服务器为如上所述的心跳包发送端;所述的客户端为与心跳包发送端配合的在接收到心跳包后向心跳反应接收模块发送心跳包的客户端。与现有技术相比,本专利技术的有益效果在于:本专利技术的客户端、服务器任选一个作为心跳包发送端且另外一个作为心跳响应端,在终端加入网络的时候,通过以指数级的试探周期对心跳包进行发送,可以试探得到最长保活时间。虽然该最长保活时间并不是最优化的保活时间,但是其能够以较快的时间确定一个较长的保活间隔。作为优选的,如果要确定保活时间的上限,我们可以在杉树的最长保活时间的基础上以线性增加的方式提高保活时间及心跳包发送周期。这样可以确定最优保活时间。附图说明图1为本专利技术实施例1的流程方框图;图2为本专利技术实施例2的结构方框图;图3为本专利技术实施例3的结构方框图。具体实施方式下面结合具体实施方式,对本专利技术的技术方案作进一步的详细说明,但不构成对本专利技术的任何限制。实施例1如图1所示,一种终端快速感知NAT保活时间的方法,所述的方法具体为:最长保活时间的确定:心跳包发送端按照不断加大的试探周期向心跳响应端发送心跳包,直到因为心跳包发送周期过长导致心跳包发送端无法接收到心跳响应端反馈的心跳响应;以最近成功的试探周期作为心跳包发送端和心跳响应端之间保活连接的最长保活时间;所述的试探周期按照指数级的方式增长;所述的心跳包发送端为客户端,心跳响应端为服务器;或所述的心跳包发送端为服务器,心跳响应端为客户端。具体来说,上述的方法包括如下步骤:步骤1:心跳包发送端以试探周期TK向心跳响应端发送的心跳包;所述的心跳响应端用于在接收到心跳包后向心跳包发送端反馈心跳响应;步骤2:若心跳包发送端收到心跳响应则进行步骤1,若心跳包发送端没有接收到心跳响应则进行步骤3;步骤3:若心跳包发送端在第N次发送心跳包后没有收到心跳响应,则以心跳包发送端第N-1次发送心跳包的试探周期TN-1为最长保活时间;心跳本文档来自技高网...

【技术保护点】
1.一种终端快速感知NAT保活时间的方法,其特征在于,所述的方法具体为:心跳包发送端按照不断加大的试探周期向心跳响应端发送心跳包,直到因为心跳包发送周期过长导致心跳包发送端无法接收到心跳响应端反馈的心跳响应;以最近成功的试探周期作为心跳包发送端和心跳响应端之间保活连接的最长保活时间;所述的试探周期按照指数级的方式增长;所述的心跳包发送端为客户端,心跳响应端为服务器;或所述的心跳包发送端为服务器,心跳响应端为客户端。

【技术特征摘要】
1.一种终端快速感知NAT保活时间的方法,其特征在于,所述的方法具体为:心跳包发送端按照不断加大的试探周期向心跳响应端发送心跳包,直到因为心跳包发送周期过长导致心跳包发送端无法接收到心跳响应端反馈的心跳响应;以最近成功的试探周期作为心跳包发送端和心跳响应端之间保活连接的最长保活时间;所述的试探周期按照指数级的方式增长;所述的心跳包发送端为客户端,心跳响应端为服务器;或所述的心跳包发送端为服务器,心跳响应端为客户端。2.根据权利要求1所述的终端快速感知NAT保活时间的方法,其特征在于,包括如下步骤:步骤1:心跳包发送端以试探周期TK向心跳响应端发送的心跳包;所述的心跳响应端用于在接收到心跳包后向心跳包发送端反馈心跳响应;步骤2:若心跳包发送端收到心跳响应则进行步骤1,若心跳包发送端没有接收到心跳响应则进行步骤3;步骤3:若心跳包发送端在第N次发送心跳包后没有收到心跳响应,则以心跳包发送端第N-1次发送心跳包的试探周期TN-1为最长保活时间;心跳包发送端第一次发送心跳包的试探周期为T1;第K次发送心跳包的试探周期为TK;TN-1=XN-1*T1;X大于1,N≥K≥1。3.根据权利要求2所述的终端快速感知NAT保活时间的方法,其特征在于,X=2。4.根据权利要求2所述的终端快速感知NAT保活时间的方法,其特征在于,所述的步骤3之后还包括步骤4:步骤4:心跳包发送端以最长保活时间TN-1为基础不断加大的试探周期向心跳响应端发送心跳包,直到因为心跳包发送周期过长导致心跳包发送端无法接收到心跳响应端反馈的心跳响应;以最近成功的试探周期作为心跳包发送端和心跳响应端之间保活连接的最优保活时间;所述的步骤4中的试探周期按照线性增加的方式增长。5.根据权利要求4所述的终端快速感知NAT保活时间的方法,其特征在于,所述的步骤4具体为:步骤S41:心跳包发送端以试探周期TJ向心跳响应端发送的心跳包;步骤S42:若心跳包发送端收到心跳响应则进行步骤S41,若心跳包发送端没有接收到心跳响应则进行步骤S43;步骤S43:若心跳包发送端在第M次发送心跳包后没有收到心跳响应,则以心跳包发送端第M-...

【专利技术属性】
技术研发人员:赵伟陈小军黄章良黄毅
申请(专利权)人:广州鲁邦通物联网科技有限公司
类型:发明
国别省市:广东,44

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

1