[发明专利]一种维持长连接的方法、装置、系统及介质在审
申请号: | 201711204124.1 | 申请日: | 2017-11-27 |
公开(公告)号: | CN109842647A | 公开(公告)日: | 2019-06-04 |
发明(设计)人: | 章国琼;程宝平;李铎 | 申请(专利权)人: | 中移(杭州)信息技术有限公司;中国移动通信集团公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 311100 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 随机数 客户端 随机数数组 心跳数据包 长连接 服务端 发送 响应数据包 电量消耗 终端设备 周期发送 携带 固定的 心跳 删除 返回 服务 | ||
本发明公开了一种维持长连接的方法、装置、系统及介质,具体为:客户端在设定的周期内生成随机数,并向服务端发送携带有该随机数的心跳数据包,以及将该随机数添加至随机数数组中,若接收到服务端返回的携带有该随机数的心跳响应数据包,则删除随机数数组中的该随机数,这样,客户端就可以根据随机数数组中的随机数的数目选取相应的设定策略,并按照选取的设定策略来设定周期,而不是按照固定的周期发送心跳数据包,尽可能地减少了心跳数据包的发送数目,减轻了客户端和服务端的负荷,降低了客户端所在终端设备的电量消耗。
技术领域
本发明涉及通信技术领域,尤其涉及一种维持长连接的方法、装置、系统及介质。
背景技术
为了保证通信的持续性和数据推送的及时性,应用软件的客户端和服务端之间通常需要建立并维持长连接。目前,常见的维持客户端和服务端的长连接的方法是,客户端周期性地向服务端发送心跳数据包,确保客户端和服务端之间一直存在数据传输,以防连接被运营商自动切断。这种维持长连接的方法不仅增加了网络流量,也增加了客户端和服务端的负荷,而且,心跳数据包的频繁发送也会导致客户端所在终端设备的电量消耗过大。
此外,从客户端的性能和安全方面考虑,部分客户端限制了在后台周期性唤醒并发送心跳数据包的能力,针对这种情况,现有技术中,通常是通过服务端周期性地向客户端发送心跳数据包来维持长连接。这种维持长连接的方法存在以下问题:若客户端长时间运行在后台,客户端所在终端设备的操作系统会自动切断客户端和服务端的连接,从而造成连接不可用,而且,客户端无法感知连接已中断,进而也就无法进行长连接的自动重建。
发明内容
本发明实施例提供了一种维持长连接的方法、装置、系统及介质,用以解决现有技术中的维持长连接的方法存在的网络流量消耗较多、客户端和服务端负荷较重和客户端所在终端设备的电量消耗较多的问题,以及解决当客户端长时间运行在后台时,由于长连接被该客户端所在终端设备的操作系统自动切断,导致连接不可用和由于客户端无法感知连接已切断,导致客户端无法进行长连接的自动重建的问题。
本发明实施例提供的具体技术方案如下:
一种维持长连接的方法,应用于客户端,包括在客户端和服务器建立长连接后,在设定的周期内执行以下操作:
生成随机数;
向服务端发送携带有随机数的心跳数据包;
将随机数添加至随机数数组;
若接收到服务端返回的携带有随机数的心跳响应数据包,则删除随机数数组中的随机数。
较佳的,采用以下方式设定周期:
基于随机数数组中的随机数的数目,选取相应的设定策略,并基于选取的设定策略,设定周期。
较佳的,基于随机数数组中的随机数的数目,选取相应的设定策略,并基于选取的设定策略,设定周期,包括:
若随机数数组中的随机数的数目小于等于第一预设阈值,则将周期设定为第一预设周期;
若随机数数组中的随机数的数目大于第一预设阈值,则将周期设定为第二预设周期,其中,第一预设周期大于第二预设周期。
较佳的,将周期设定为第二预设周期之后,还包括:
若随机数数组中的随机数的数目小于等于第一预设阈值,则将周期从第二预设周期调整至第一预设周期;
若随机数数组中的随机数的数目大于第一预设阈值,则保持周期为第二预设周期;
若随机数数组中的随机数的数目大于等于第二预设阈值,则暂停向服务端发送心跳数据包。
较佳的,该方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中移(杭州)信息技术有限公司;中国移动通信集团公司,未经中移(杭州)信息技术有限公司;中国移动通信集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711204124.1/2.html,转载请声明来源钻瓜专利网。