[发明专利]心跳数据包发送方法在审
申请号: | 201811567166.6 | 申请日: | 2018-12-20 |
公开(公告)号: | CN109547293A | 公开(公告)日: | 2019-03-29 |
发明(设计)人: | 杨阳;郑富强 | 申请(专利权)人: | 上海数果科技有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/08 |
代理公司: | 上海申浩律师事务所 31280 | 代理人: | 吕琳琳 |
地址: | 201703 上海市青*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 心跳周期 心跳数据包 客户端 目标服务器 心跳 发送 预设 缓存 客户端启动 连接地址 连接建立 心跳成功 一次发送 周期发送 稳定态 心跳线 自适应 递归 探测 客户 失败 成功 | ||
本发明公开一种心跳数据包发送方法,包括:S1、客户端与目标服务器建立基于udp的socket连接,连接建立后,目标服务器缓存相应客户端的连接地址;S2、客户端启动心跳线程,用预设短心跳周期为时间间隔向目标服务器发送三次心跳数据包,若三次心跳交互都成功,则进入S3;S3、客户端开始探测心跳周期最大值,客户端在预设短心跳周期基础上增加设定步长作为下一次发送心跳数据包的时间间隔,针对心跳周期递归增加其步长,直至心跳失败,然后取比最新的一个心跳成功值小一点的值作为心跳周期的最大值;自适应心跳计算状态;S4、客户端以心跳周期最大值为周期发送心跳数据包,进入稳定态。
技术领域
本发明涉及移动通信领域,特别是涉及一种基于udp(用户数据报协议)的心跳数据包发送方法。
背景技术
心跳多用于基于长连的通讯系统中,用于持续的通知后台服务器客户端依旧存活。心跳包就是双方所定义的一种用来通知对方存活的数据通讯结构。
周期性的发心跳包给服务器主要有以下几个原因:
1、通知服务器客户端存活状态,一旦服务器监测到在某段时间没有收到客户端发来的心跳包,服务器就会释放曾经为此客户端分配的所有资源,例如Socket连接。
2、定时的刷新NAT内外网IP映射表,以便防止NAT路由器移除映射表,导致客户端和服务器端的连接中断,特别是基于udp的服务,路由表更新非常频繁。
一个简单的实现就是定期的给服务器发送心跳包,但这种实现引出一个问题,就是周期时间间隔是多少为合适?
由于不同的网络拓扑结构的实现,NAT节点会分配到不同的网路路由当中,不同的NAT有不同的策略来处理映射表,一旦NAT发现某个映射表对应IP在某段时间内没有上行或下行数据,NAT就会移除此IP映射表,导致连接被中断。
另一个问题是以较短的时间间隔周期性地向服务器发送心跳包,会加大客户端尤其是移动设备的功耗和流量的消耗。
基于以上考虑设计一种智能心跳,可以根据不同的网络情况,自动调整发送心跳包的周期,以解决上述所提出的问题。
发明内容
本发明针对现有技术存在的问题和不足,提供一种新型的心跳数据包发送方法,用于解决固定周期的心跳给客户端带来过多功耗和流量的消耗以及给服务器端带来的巨大访问压力的问题。
本发明是通过下述技术方案来解决上述技术问题的:
本发明提供一种心跳数据包发送方法,其特点在于,其包括以下步骤:
S1、客户端与目标服务器建立基于udp的socket连接,连接建立后,目标服务器缓存相应客户端的连接地址;
S2、客户端启动心跳线程,用预设短心跳周期为时间间隔向目标服务器发送三次心跳数据包,若三次心跳交互都成功,则进入步骤S3;
S3、客户端开始探测心跳周期最大值,客户端在预设短心跳周期基础上增加设定步长作为下一次发送心跳数据包的时间间隔,针对心跳周期递归增加其步长,直至心跳失败,然后取比最新的一个心跳成功值小一点的值作为心跳周期的最大值;自适应心跳计算状态;
S4、客户端以心跳周期最大值为周期发送心跳数据包,进入稳定态。
较佳地,步骤S4之后包括以下步骤:
S5、一段时间后,在心跳周期最大值的基础上增加步长,继续探测心跳周期最大值,以适应Nat超时时间变长的情况。
较佳地,目标服务器收到心跳数据包后,将收到的心跳数据包的地址与已缓存的上个发送的心跳数据包的地址作比较,若地址改变,目标服务器立即做相应更新,并为客户端回复一个Nat变更数据包,若标识未改变,则向客户端返回一个针对该心跳数据包的确认数据包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海数果科技有限公司,未经上海数果科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811567166.6/2.html,转载请声明来源钻瓜专利网。