[发明专利]心跳保活方法、电子设备、系统及介质在审
申请号: | 201911357315.0 | 申请日: | 2019-12-25 |
公开(公告)号: | CN111131458A | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 刘杰 | 申请(专利权)人: | 深圳市网心科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 深圳市赛恩倍吉知识产权代理有限公司 44334 | 代理人: | 陈海云 |
地址: | 518063 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 心跳 方法 电子设备 系统 介质 | ||
本发明提供了一种心跳保活方法、电子设备、系统及介质,所述方法包括:建立发送队列;当检测到有目标数据包生成时,将所述目标数据包存储至所述发送队列;当检测到长连接可用时,发送所述发送队列中的数据包。本发明能够保证在高压长连接场景下,心跳包不会被其他数据包挤掉,进而避免导致对长连接的断连产生误判,且通过对心跳包的等待,也能够有效避免在心跳包返回速度慢时对长连接的断连产生误判。
技术领域
本发明涉及互联网技术领域,尤其涉及心跳保活方法、电子设备、系统及介质。
背景技术
TCP(Transmission Control Protocol,传输控制协议)长连接系统会在传输过程中遇到一些异常情况,如:TCP长连接所在的进程被杀死、网络NAT(Network AddressTranslation,网络地址转换)超时、网络状态发生变化(如移动网络切换、wifi切换等)、DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)租期过期等。
上述异常将导致TCP长连接的中断,而在数据传输的过程中,TCP长连接的中断将导致数据传输异常,因此,通常要采用检测心跳包的方式确定TCP长连接是否异常。
但在高压TCP长连接的场景下,服务端需要对客户端发来的包进行丢包处理,如果丢掉了心跳包,便会对长连接的断连产生误判,影响长连接的可用性。
发明内容
本发明的主要目的在于提供心跳保活方法、电子设备、系统及介质,能够保证在高压长连接场景下,心跳包不会被其他数据包挤掉,进而避免导致对长连接的断连产生误判,且通过对心跳包的等待,也能够有效避免在心跳包返回速度慢时对长连接的断连产生误判。
为实现上述目的,本发明提供一种心跳保活方法,所述方法包括:
建立发送队列;
当检测到有目标数据包生成时,将所述目标数据包存储至所述发送队列;
当检测到长连接可用时,发送所述发送队列中的数据包。
优选地,所述方法还包括:
当检测到所述发送队列没有空闲位置时,确定所述目标数据包的类型;
当所述目标数据包为心跳包时,从所述发送队列中除心跳包之外的其他包中获取任意数据包,删除获取的数据包,并将所述目标数据包存储至所述发送队列;或者
当所述目标数据包为除心跳包之外的其他包时,丢弃所述目标数据包。
优选地,在丢弃所述目标数据包后,所述方法还包括:
当接收到与所述目标数据包对应的请求指令时,重新生成所述目标数据包。
优选地,所述方法还包括:
利用配置系统函数检测所述长连接是否可用。
优选地,在确定所述长连接中断后,所述方法还包括:
关闭所述长连接;
建立新的长连接。
优选地,所述方法还包括:
当接收到返回的心跳包时,确定所述长连接处于连接状态;
利用所述长连接进行数据传输。
优选地,所述方法还包括:
当发送的数据包中心跳包的数量达到配置数量时,监测预设时间内是否接收到返回的心跳包;
当没有接收到返回的心跳包时,确定所述长连接中断。
为实现上述目的,本发明进一步提供一种电子设备,所述电子设备包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市网心科技有限公司,未经深圳市网心科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911357315.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种钣金件喷涂系统
- 下一篇:放射治疗计划生成设备、装置和存储介质