CN112202626A - 一种实时数据通信心跳包推送方法 - Google Patents

一种实时数据通信心跳包推送方法 Download PDF

Info

Publication number
CN112202626A
CN112202626A CN202010770886.3A CN202010770886A CN112202626A CN 112202626 A CN112202626 A CN 112202626A CN 202010770886 A CN202010770886 A CN 202010770886A CN 112202626 A CN112202626 A CN 112202626A
Authority
CN
China
Prior art keywords
heartbeat
time
period
cycle
packet
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
Application number
CN202010770886.3A
Other languages
English (en)
Inventor
于雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changchun Chuangshi Qilin Technology Co ltd
Original Assignee
Changchun Chuangshi Qilin Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Changchun Chuangshi Qilin Technology Co ltd filed Critical Changchun Chuangshi Qilin Technology Co ltd
Priority to CN202010770886.3A priority Critical patent/CN112202626A/zh
Publication of CN112202626A publication Critical patent/CN112202626A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种实时数据通信心跳包推送方法,包括如下步骤:客户端与服务器端建立初始连接后,客户端应用程序自动向服务器发送心跳包,所述心跳包发送周期初始设定为预设时间,不断延长心跳周期,直至心跳周期延长至设备最长的支持心跳时间,以设备最长的支持心跳时间为心跳周期,持续向服务器发送心跳包,断网重连时,再次通过向服务器推送心跳包消息,将客户端拉起运行,本发明不断延长心跳包发送周期,试探设备最长的支持心跳时间,以心跳发送失败的的心跳周期的前一心跳周期为心跳周期,这样既能保证设备不断线,又能减少心跳包的发送频率,降低设备功耗,客户端设备电量消耗降低明显。

Description

一种实时数据通信心跳包推送方法
技术领域
本发明涉及应用程序信息推送领域,特别涉及一种实时数据通信心跳包推送方法。
背景技术
大部分移动无线网络运营商都在链路一段时间没有数据通讯时,会淘汰NAT(网络地址转换)表中的对应项,造成链路中断。NAT超时是影响TCP(传输控制协议)连接寿命的一个重要因素。
安卓***对DHCP(动态主机配置协议)的处理有漏洞,DHCP租期到了不会主动续约并继续使用过期IP,这个问题会造成TCP长连接偶然的断连。
手机网络和WIFI网络切换、网络断开和连上等情况有网络状态的变化,也会使长连接变为无效连接,需要监听响应的网络状态变化事件,重新建立Push长连接。
网络中的接收和发送数据都是使用SOCKET进行实现。但是如果此套接字已经断开,那发送数据和接收数据的时候就一定会有问题。如何判断这个套接字是否还可以使用呢?我们在***中创建了心跳机制。“心跳”就是定时发送一个自定义的结构体(心跳包或心跳帧),让对方知道自己“在线”,以确保链接的有效性,
目前的客户端软件可以在windows上也可以在android或者ios移动设备上运行,在心跳机制下,客户端每隔固定时间就要给服务器发送一次心跳包,由于频繁的发包,App将会更加耗电,发热情况较重,移动设备的电池续航时间将降低。另外,由于频繁发包,也会占用一定的cpu资源,在有其他大型应用运行时,也更可能出现死机等不良的用户体验,在移动网络下,大量的心跳包会对移动运营商的网络产生信令风暴。
发明内容
针对现有技术存在的问题本发明提供了一种实时数据通信心跳包推送方法,包括如下步骤:
步骤1:客户端与服务器端建立初始连接后,客户端应用程序自动向服务器发送心跳包,所述心跳包发送周期初始设定为预设时间,不断延长心跳周期,直至心跳周期延长至设备最长的支持心跳时间;
步骤2:以设备最长的支持心跳时间为心跳周期,持续向服务器发送心跳包;
步骤3:断网重连时,再次通过向服务器推送心跳包消息,重新建立通信进程,定位进程和界面进程,将客户端拉起运行;
步骤4:重新开始以初始预定的心跳周期发送心跳包,再次不断延长心跳周期,直至心跳周期延长至设备最长的支持心跳时间,如此反复循环。
优选的是:所述设备最长的支持心跳时间的确定方法为:客户端记录最后心跳发送失败的心跳周期,以最后心跳发送失败的心跳周期的前一周期为心跳周期发送心跳,此心跳周期为所述设备最长的支持心跳时间,既极限的心跳间隔。
优选的是,所述心跳周期初始设定为预设时间2-5秒之间。每次心跳周期延长时间为1-10秒中任意时间。
优选的是:所述心跳周期初始设定为预设时间为2秒,每次心跳周期延长时间为2秒。
优选的是:每个心跳周期持续至少一次。
本发明具有以下有益效果:
1、不断延长心跳包发送周期,试探设备最长的支持心跳时间,以心跳发送失败的的心跳周期的前一心跳周期为心跳周期,这样既能保证设备不断线,又能减少心跳包的发送频率,降低设备功耗,客户端设备电量消耗降低明显。
2、由于心跳包发送周期合理延长,断线重连时,再次通过向服务器推送心跳包消息,重新建立通信进程,定位进程和界面进程,将客户端拉起运行,各个设备的心跳周期不同加之心跳周期长,不会出现大量设备同时频繁向服务器发送心跳包,不会因断网重连占用太多cpu资源,
3、由于心跳包发送周期合理延长,在有大型应用运行时,也能减少死机现象,服务器处理消息压力明显降低。
4、由于心跳包发送周期合理延长,减少移动网络下大量的心跳包对移动运营商的网络产生信令风暴的概率。
5、保障长连接的连接状态,提高通信消息到达率和实时性。
具体实施方式
下面对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
实施例1
一种实时数据通信心跳包推送方法,包括如下步骤:
步骤1:客户端与服务器端建立初始连接后,客户端应用程序自动向服务器发送心跳包,所述心跳包发送周期初始设定为预设时间,不断延长心跳周期,直至心跳周期延长至设备最长的支持心跳时间,现有的客户端设备心跳包的预设固定周期通常为2-5秒之间,本实施例中,所述心跳周期初始设定为预设时间为2秒,每次心跳周期延长时间可以设置为2秒。
步骤2:以设备最长的支持心跳时间为心跳周期,持续向服务器发送心跳包;
步骤3:断网重连时,再次通过向服务器推送心跳包消息,重新建立通信进程,定位进程和界面进程,将客户端拉起运行;
步骤4:重新开始以初始预定的心跳周期发送心跳包,再次不断延长心跳周期,直至心跳周期延长至设备最长的支持心跳时间,如此反复循环。
所述设备最长的支持心跳时间的确定方法为:客户端记录最后心跳发送失败的心跳周期,以最后心跳发送失败的心跳周期的前一周期为心跳周期发送心跳,此心跳周期为所述设备最长的支持心跳时间,既极限的心跳间隔。
每个心跳周期持续至少一次。
实施例2
一种实时数据通信心跳包推送方法,包括如下步骤:
步骤1:客户端与服务器端建立初始连接后,客户端应用程序自动向服务器发送心跳包,所述心跳包发送周期初始设定为预设时间,不断延长心跳周期,直至心跳周期延长至设备最长的支持心跳时间,现有的客户端设备心跳包的预设固定周期通常为2-5秒之间,本实施例中,所述心跳周期初始设定为预设时间为3秒,每次心跳周期延长时间可以设置为1秒。
步骤2:以设备最长的支持心跳时间为心跳周期,持续向服务器发送心跳包;
步骤3:断网重连时,再次通过向服务器推送心跳包消息,重新建立通信进程,定位进程和界面进程,将客户端拉起运行;
步骤4:重新开始以初始预定的心跳周期发送心跳包,再次不断延长心跳周期,直至心跳周期延长至设备最长的支持心跳时间,如此反复循环。
所述设备最长的支持心跳时间的确定方法为:客户端记录最后心跳发送失败的心跳周期,以最后心跳发送失败的心跳周期的前一周期为心跳周期发送心跳,此心跳周期为所述设备最长的支持心跳时间,既极限的心跳间隔。
每个心跳周期持续至少一次。
实施例3
一种实时数据通信心跳包推送方法,包括如下步骤:
步骤1:客户端与服务器端建立初始连接后,客户端应用程序自动向服务器发送心跳包,所述心跳包发送周期初始设定为预设时间,不断延长心跳周期,直至心跳周期延长至设备最长的支持心跳时间,现有的客户端设备心跳包的预设固定周期通常为2-5秒之间,本实施例中,所述心跳周期初始设定为预设时间为4秒,每次心跳周期延长时间可以设置为7秒。
步骤2:以设备最长的支持心跳时间为心跳周期,持续向服务器发送心跳包;
步骤3:断网重连时,再次通过向服务器推送心跳包消息,重新建立通信进程,定位进程和界面进程,将客户端拉起运行;
步骤4:重新开始以初始预定的心跳周期发送心跳包,再次不断延长心跳周期,直至心跳周期延长至设备最长的支持心跳时间,如此反复循环。
所述设备最长的支持心跳时间的确定方法为:客户端记录最后心跳发送失败的心跳周期,以最后心跳发送失败的心跳周期的前一周期为心跳周期发送心跳,此心跳周期为所述设备最长的支持心跳时间,既极限的心跳间隔。
每个心跳周期持续至少一次。
实施例4
一种实时数据通信心跳包推送方法,包括如下步骤:
步骤1:客户端与服务器端建立初始连接后,客户端应用程序自动向服务器发送心跳包,所述心跳包发送周期初始设定为预设时间,不断延长心跳周期,直至心跳周期延长至设备最长的支持心跳时间,现有的客户端设备心跳包的预设固定周期通常为2-5秒之间,本实施例中,所述心跳周期初始设定为预设时间为5秒,每次心跳周期延长时间可以设置为10秒。
步骤2:以设备最长的支持心跳时间为心跳周期,持续向服务器发送心跳包;
步骤3:断网重连时,再次通过向服务器推送心跳包消息,重新建立通信进程,定位进程和界面进程,将客户端拉起运行;
步骤4:重新开始以初始预定的心跳周期发送心跳包,再次不断延长心跳周期,直至心跳周期延长至设备最长的支持心跳时间,如此反复循环。
所述设备最长的支持心跳时间的确定方法为:客户端记录最后心跳发送失败的心跳周期,以最后心跳发送失败的心跳周期的前一周期为心跳周期发送心跳,此心跳周期为所述设备最长的支持心跳时间,既极限的心跳间隔。
每个心跳周期持续至少一次。
经实践后得知,所述心跳周期初始设定为预设时间为2秒,每次心跳周期延长时间可以设置为2秒较佳,为最佳实施例。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用。它完全可以被适用于各种适合本发明的领域。对于熟悉本领域的人员而言,可容易地实现另外的修改。因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节。

Claims (5)

1.一种实时数据通信心跳包推送方法,其特征在于,包括如下步骤:
步骤1:客户端与服务器端建立初始连接后,客户端应用程序自动向服务器发送心跳包,所述心跳包发送周期初始设定为预设时间,不断延长心跳周期,直至心跳周期延长至设备最长的支持心跳时间;
步骤2:以设备最长的支持心跳时间为心跳周期,持续向服务器发送心跳包;
步骤3:断网重连时,再次通过向服务器推送心跳包消息,重新建立通信进程,定位进程和界面进程,将客户端拉起运行;
步骤4:重新开始以初始预定的心跳周期发送心跳包,再次不断延长心跳周期,直至心跳周期延长至设备最长的支持心跳时间,如此反复循环。
2.根据权利要求1所述的一种实时数据通信心跳包推送方法,其特征在于:所述设备最长的支持心跳时间的确定方法为:客户端记录最后心跳发送失败的心跳周期,以最后心跳发送失败的心跳周期的前一周期为心跳周期发送心跳,此心跳周期为所述设备最长的支持心跳时间,既极限的心跳间隔。
3.根据权利要求2所述的一种实时数据通信心跳包推送方法,其特征在于:所述心跳周期初始设定为预设时间2-5秒之间。每次心跳周期延长时间为1-10秒中任意时间。
4.根据权利要求3所述的一种实时数据通信心跳包推送方法,其特征在于:所述心跳周期初始设定为预设时间为2秒,每次心跳周期延长时间为2秒。
5.根据权利要求3所述的一种实时数据通信心跳包推送方法,其特征在于:每个心跳周期持续至少一次。
CN202010770886.3A 2020-08-04 2020-08-04 一种实时数据通信心跳包推送方法 Pending CN112202626A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010770886.3A CN112202626A (zh) 2020-08-04 2020-08-04 一种实时数据通信心跳包推送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010770886.3A CN112202626A (zh) 2020-08-04 2020-08-04 一种实时数据通信心跳包推送方法

Publications (1)

Publication Number Publication Date
CN112202626A true CN112202626A (zh) 2021-01-08

Family

ID=74004865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010770886.3A Pending CN112202626A (zh) 2020-08-04 2020-08-04 一种实时数据通信心跳包推送方法

Country Status (1)

Country Link
CN (1) CN112202626A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390453A (zh) * 2022-02-09 2022-04-22 福建天泉教育科技有限公司 一种消息推送的优化方法及终端
CN115766823A (zh) * 2022-10-26 2023-03-07 浪潮软件股份有限公司 基于tcp实现终端app与服务器断线重连的方法及***

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997011746A1 (en) * 1995-09-29 1997-04-03 Medtronic, Inc. Adaptive search av and auto pvarp adaptation to same with additional benefit
CN103581950A (zh) * 2013-11-15 2014-02-12 中国联合网络通信集团有限公司 电子设备、心跳消息的发送方法与***
CN103634746A (zh) * 2013-12-13 2014-03-12 中国人民解放军重庆通信学院 一种保持PoC持续连接处理能力的方法和装置
CN104135460A (zh) * 2013-05-03 2014-11-05 华为软件技术有限公司 一种推送通道保活方法和推送服务器
CN104207756A (zh) * 2013-06-03 2014-12-17 飞比特公司 可佩戴心率监视器
CN105307139A (zh) * 2014-07-31 2016-02-03 中国电信股份有限公司 一种传输应用心跳信号的方法、移动终端和***
CN105577507A (zh) * 2014-11-10 2016-05-11 ***通信集团广东有限公司 一种心跳包发送间隔的调整方法、装置及服务器
CN105578515A (zh) * 2014-10-15 2016-05-11 上海点艺信息技术有限公司 一种心跳频率参数的维护方法及服务器
CN105610913A (zh) * 2015-12-22 2016-05-25 用友网络科技股份有限公司 通信网络中长连接的心跳保活方法及装置
CN109981384A (zh) * 2017-12-27 2019-07-05 航天信息股份有限公司 一种动态调整心跳周期的***和方法

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997011746A1 (en) * 1995-09-29 1997-04-03 Medtronic, Inc. Adaptive search av and auto pvarp adaptation to same with additional benefit
AU7235096A (en) * 1995-09-29 1997-04-17 Medtronic, Inc. Adaptive search av and auto pvarp adaptation to same with additional benefit
EP0794813A1 (en) * 1995-09-29 1997-09-17 Medtronic, Inc. Adaptive search av and auto pvarp adaptation to same with additional benefit
US5861007A (en) * 1995-09-29 1999-01-19 Medtronic, Inc. Adaptive search AV and auto PVARP adaptation to same with additional benefit
CN104135460A (zh) * 2013-05-03 2014-11-05 华为软件技术有限公司 一种推送通道保活方法和推送服务器
CN104207756A (zh) * 2013-06-03 2014-12-17 飞比特公司 可佩戴心率监视器
CN106073737A (zh) * 2013-06-03 2016-11-09 飞比特公司 可佩戴心率监视器
CN106333667A (zh) * 2013-06-03 2017-01-18 飞比特公司 可佩戴心率监视器
CN103581950A (zh) * 2013-11-15 2014-02-12 中国联合网络通信集团有限公司 电子设备、心跳消息的发送方法与***
CN103634746A (zh) * 2013-12-13 2014-03-12 中国人民解放军重庆通信学院 一种保持PoC持续连接处理能力的方法和装置
CN105307139A (zh) * 2014-07-31 2016-02-03 中国电信股份有限公司 一种传输应用心跳信号的方法、移动终端和***
CN105578515A (zh) * 2014-10-15 2016-05-11 上海点艺信息技术有限公司 一种心跳频率参数的维护方法及服务器
CN105577507A (zh) * 2014-11-10 2016-05-11 ***通信集团广东有限公司 一种心跳包发送间隔的调整方法、装置及服务器
CN105610913A (zh) * 2015-12-22 2016-05-25 用友网络科技股份有限公司 通信网络中长连接的心跳保活方法及装置
CN109981384A (zh) * 2017-12-27 2019-07-05 航天信息股份有限公司 一种动态调整心跳周期的***和方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390453A (zh) * 2022-02-09 2022-04-22 福建天泉教育科技有限公司 一种消息推送的优化方法及终端
CN114390453B (zh) * 2022-02-09 2023-09-08 福建天泉教育科技有限公司 一种消息推送的优化方法及终端
CN115766823A (zh) * 2022-10-26 2023-03-07 浪潮软件股份有限公司 基于tcp实现终端app与服务器断线重连的方法及***

Similar Documents

Publication Publication Date Title
CN107645529B (zh) 心跳包发送方法及装置
CN107465556B (zh) 一种主备服务器的切换方法、装置及***
WO2021077811A1 (zh) 分布式拒绝服务ddos攻击的防护方法、装置及***
EP3229420A1 (en) Method for establishing persistent connection between multiple smart devices and server, and smart device
US7515549B2 (en) Managing devices across NAT boundaries
CN110266810B (zh) 基于mqtt协议的消息接收方法、设备及存储介质
CN112202626A (zh) 一种实时数据通信心跳包推送方法
KR20050086182A (ko) 홈네트워크 시스템 및 그 제어 방법
CN101714991B (zh) 心跳机制的实现方法
CN110691398B (zh) 智能设备的网络交互方法、***、设备及存储介质
US10594844B2 (en) Method and system for wireless network bilateral accelerated transmission
CN102957623B (zh) 一种边界网关协议邻居的维护方法和设备
CN101656764A (zh) Dhcp用户的会话保活方法、***和装置
CN101485141B (zh) 用于基于管理服务发现Web服务的两阶段机制的方法和***
CN105450779A (zh) 一家电设备连接多服务器的方法
JP2010103695A (ja) クラスタシステム、クラスタサーバ及びクラスタ制御方法
CN107454184B (zh) Android客户端与服务器建立稳定网络连接的方法
CN112217649A (zh) 终端设备管理方法、服务器及终端设备
CN103516766B (zh) 一种客户端与应用服务器间进行通信的方法和***
CN104202814B (zh) 一种实现信息自注册的方法、终端、服务器及***
CN105554150A (zh) 一种网络登录方法及装置
CN108270593B (zh) 一种双机热备份方法和***
WO2013159492A1 (zh) 信息上报与下载的方法及***
CN101304367B (zh) 订户会话的存活监控方法、***及装置
CN111225080A (zh) 一种网关下挂设备信息的获取方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for 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: 20210108