CN107645529B - 心跳包发送方法及装置 - Google Patents
心跳包发送方法及装置 Download PDFInfo
- Publication number
- CN107645529B CN107645529B CN201610584141.1A CN201610584141A CN107645529B CN 107645529 B CN107645529 B CN 107645529B CN 201610584141 A CN201610584141 A CN 201610584141A CN 107645529 B CN107645529 B CN 107645529B
- Authority
- CN
- China
- Prior art keywords
- interval
- heartbeat
- client
- heartbeat packet
- sending
- 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.)
- Active
Links
Images
Abstract
本发明公开了一种心跳包发送方法及装置,属于通信领域。所述方法包括:与客户端所在的终端建立长连接,确定终端所处的网络运行环境所对应的心跳包发送间隔,将心跳包发送间隔发送给客户端,客户端按照心跳包发送间隔发送心跳包;解决了客户端始终采用相同的心跳包发送间隔发送心跳包而导致的产生不必要的功耗或引起长连接断开的问题;由于服务器是根据终端所处的网络运行环境确定心跳包发送间隔的,且即使终端所处的网络运行环境发生变化,服务器也能及时地根据网络运行环境调整心跳包发送间隔,因此,确定得到的心跳包发送间隔与客户端所在的终端的网络运行环境相匹配,达到了使心跳包在不同网络运行环境中发送的更合理的效果。
Description
技术领域
本发明实施例涉及通信领域,特别涉及一种心跳包发送方法及装置。
背景技术
服务器可以与终端建立长连接,并使用该长连接与终端中的客户端进行数据通信。
为了维持服务器与终端之间的长连接,客户端需要每隔一段时间向服务器发送心跳包,在现有技术中,客户端向服务器发送的每两个心跳包之间的时间间隔都是相同的。
在实现本发明实施例的过程中,发明人发现现有技术至少存在以下问题:
终端所处的网络运行环境复杂且多变,所以当客户端采用相同时间间隔发送心跳包时,可能会因为心跳包发送时间间隔较小而导致终端的功耗较高,或者因为心跳包发送时间间隔较长而导致长连接断开。
发明内容
为了解决现有技术心跳包发送不合理的问题,本发明实施例提供了一种心跳包发送方法及装置。所述技术方案如下:
根据本发明实施例的第一方面,提供一种心跳包发送方法,该方法包括:
与客户端所在的终端建立长连接;
确定终端所处的网络运行环境所对应的心跳包发送间隔;
将心跳包发送间隔发送给客户端,客户端按照心跳包发送间隔发送心跳包。
根据本发明实施例的第二方面,提供一种心跳包发送装置,该装置包括:
连接建立模块,用于与客户端所在的终端建立长连接;
确定模块,用于确定终端所处的网络运行环境所对应的心跳包发送间隔;
发送模块,用于将心跳包发送间隔发送给客户端,客户端按照心跳包发送间隔发送心跳包。
本发明实施例提供的技术方案带来的有益效果是:
通过服务器在与客户端所在的终端建立长连接后,确定终端所处的网络运行环境所对应的心跳包发送间隔,将心跳包发送间隔发送给客户端,客户端按照心跳包发送间隔发送心跳包;解决了客户端始终采用相同的心跳包发送间隔发送心跳包而导致的产生不必要的功耗或引起长连接断开的问题;由于服务器是根据终端所处的网络运行环境确定心跳包发送间隔的,且即使终端所处的网络运行环境发生变化,服务器也能及时地根据网络运行环境调整心跳包发送间隔,因此,确定得到的心跳包发送间隔与客户端所在的终端的网络运行环境相匹配,达到了使心跳包在不同网络运行环境中发送的更合理的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明各个示例性实施例所涉及的实施环境的示意图;
图2是本发明一示例性实施例提供的心跳包发送方法的流程图;
图3是本发明另一示例性实施例提供的心跳包发送方法的流程图;
图4A是本发明另一示例性实施例提供的心跳包发送方法的流程图;
图4B是本发明另一示例性实施例提供的心跳包发送方法的流程图;
图5是本发明一示例性实施例提供的心跳包发送示意图;
图6是本发明另一示例性实施例提供的心跳包发送方法的流程图;
图7A是本发明一示例性实施例提供的客户端状态切换示意图;
图7B是本发明另一示例性实施例提供的客户端状态切换示意图;
图8是本发明另一示例性实施例提供的心跳包发送装置的框图;
图9是本发明另一示例性实施例提供的服务器的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在本发明实施方式中出现的术语“第一”、“第二”仅用于描述,而不能理解为指示或暗示相对重要性或隐含所指示的技术特征的数量。
图1是本发明一示例性实施例示出的一种实施环境的示意图,该实施环境包括:服务器110和终端120。
终端120是诸如手机、平板电脑、便携式计算机和台式计算机之类的终端。终端120中安装有若干个客户端,图1中仅示出了终端120中的一个客户端130。
服务器110是为客户端130提供后台服务的后台服务器。在实际实现时,服务器110可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者是一个云计算服务中心。
服务器110可以通过无线网络方式或者有线网络方式与终端120建立连接,该连接可以是基于HTTP(HyperText Transfer Protocol,超文本传输协议)、SSL(Secure SocketsLayer,安全套接层)协议和TCP(Transmission Control Protocol传输控制协议)等网络协议的长连接。
在实际实现时,与服务器110相连的终端120可以有多个,服务器110为多个终端120中的客户端130提供后台服务,比如,与服务器a相连的终端包括终端1和终端2,服务器a为终端1中的客户端a提供后台服务,为终端2中的客户端a提供后台服务;与终端120相连的服务器110也可以有多个,不同的服务器为不同的客户端提供后台服务,比如,与终端1相连的服务器包括服务器a和服务器b,服务器a为终端1中的客户端a提供后台服务,服务器b为终端1中的客户端b提供后台服务。
图2是根据一示例性实施例示出的一种心跳包发送方法的流程图,本实施例以该心跳包发送方法应用于图1所示的实施环境中的服务器中进行举例说明,该方法可以包括如下几个步骤:
在步骤201中,与客户端所在的终端建立长连接。
在步骤202中,确定终端所处的网络运行环境所对应的心跳包发送间隔。
在步骤203中,将心跳包发送间隔发送给客户端,客户端按照心跳包发送间隔发送心跳包。
综上所述,本发明实施例提供的心跳包发送方法,通过服务器在与客户端所在的终端建立长连接后,确定终端所处的网络运行环境所对应的心跳包发送间隔,将心跳包发送间隔发送给客户端,客户端按照心跳包发送间隔发送心跳包;解决了客户端始终采用相同的心跳包发送间隔发送心跳包而导致的产生不必要的功耗或引起长连接断开的问题;由于服务器是根据终端所处的网络运行环境确定心跳包发送间隔的,且即使终端所处的网络运行环境发生变化,服务器也能及时地根据网络运行环境调整心跳包发送间隔,因此,确定得到的心跳包发送间隔与客户端所在的终端的网络运行环境相匹配,达到了使心跳包在不同网络运行环境中发送的更合理的效果。
图3是根据一示例性实施例示出的一种心跳包发送方法的流程图,本实施例以该心跳包发送方法应用于图1所示的实施环境中的服务器中进行举例说明,该方法可以包括如下几个步骤:
在步骤301中,与客户端所在的终端建立长连接。
当客户端处于运行状态时,客户端所在的终端与服务器建立长连接,客户端的运行状态包括在前台运行和在后台运行。
在步骤302中,获取客户端的运行状态。
客户端所在的终端可以检测客户端的运行状态,并将检测的运行状态上报至服务器。相应的,服务器可以接收到终端上报的运行状态。
实际实现时,终端可以主动上报该运行状态,或者,在接收到服务器的获取请求之后,上报该运行状态,本实施例对此并不做限定。
在步骤303中,当客户端在前台运行时,将预设发送间隔作为心跳包发送间隔发送给客户端,客户端按照该心跳包发送间隔发送心跳包。
当客户端在前台运行时,用户通常是正在使用客户端所提供的服务,客户端与服务器之间会存在较为频繁的消息收发,为了使客户端稳定地向用户提供服务,需要维持服务器与客户端所在的终端之间的长连接以保证消息收发的稳定性,因此服务器将预设发送间隔作为心跳包发送间隔发送给客户端,预设发送间隔是使客户端与服务器之间的长连接维持稳定的心跳包发送间隔,预设发送间隔是系统预设值或用户自定义值。实际实现时,预设发送间隔是一个使长连接稳定的、间隔较小的经验值,可选的,预设发送间隔为4.5分钟。
在步骤304中,当客户端在后台运行时,获取客户端在后台运行的累计时长。
服务器实时地获取客户端切换到后台运行的时刻,并实时地确定当前时刻与客户端切换到后台运行的时刻之间的时间间隔,该时间间隔即为客户端在后台运行的累计时长。
步骤305,若获取得到的累计时长未达到时间阈值,则将预设发送间隔作为心跳包发送间隔发送给客户端,客户端按照心跳包发送间隔发送心跳包。
当客户端切换至后台运行时,用户可能只是暂时将客户端切换至后台运行,但实际上客户端与服务器之间仍有较为频繁的消息收发,此时服务器仍然将预设发送间隔作为心跳包发送间隔发送给客户端,以维持与客户端所在的终端之间的长连接,预定发送间隔的定义可以结合上述步骤303。
在步骤306中,若获取得到的累计时长达到时间阈值,则确定终端所处的网络运行环境所对应的心跳间隔区间。
当客户端在后台运行的累计时长达到时间阈值时,表示用户已经不再频繁地使用客户端,此时客户端与服务器之间可以不再进行频繁的消息收发,则服务器可以根据终端所处的网络运行环境所对应的心跳间隔区间确定在该心跳间隔区间中客户端所能使用的最大的心跳包发送间隔,其中,时间阈值是系统预设值或由用户自定义。
服务器通过获取客户端所在的终端的网关(Gateway)、IP(Internet Protocol,网络协议)和DNS(Domain Name System,域名系统)中的至少一种确定终端所处的网络运行环境。
可选的,终端所处的网络运行环境包括终端接入的网络的类型和终端所在的位置中的至少一种。其中,终端接入的网络的类型是WiFi(Wireless-Fidelity,无线保真)或移动数据网络;终端所在的位置包括道路、地铁、建筑物和列车中的至少一种。
可选的,当终端接入移动数据网络时,终端所处的网络运行环境还包括终端接入的移动数据网络类型、终端所接入的运营商类型和终端的APN(Access Point Name,接入点)中的至少一种,终端所接入的移动数据网络类型包括2G(2-Generation wirelesstelephone technology,2-Generation wireless telephone technology)、3G(3rd-Generation,第三代移动通信技术)、4G(the 4th Generation mobile communicationtechnology,第四代移动通信技术)和5G(5th-Generation,第五代移动通信技术)中的至少一种;终端的APN包括UNIWAP、UNINET、3GWAP、3GNET、CMWAP和CMNET中的至少一种。
可选的,服务器存储有网络运行环境与心跳间隔区间之间的预设对应关系,服务器在确定终端所处的网络运行环境后,通过查询预设对应关系确定网络运行环境所对应的心跳间隔区间。其中,与一个网络运行环境对应的心跳间隔区间是由该网络运行环境下的若干个客户端进入后台非活跃态后的心跳包发送间隔所确定的区间,可选的,心跳间隔区间的最小值为预设发送间隔,心跳间隔区间的最大值为该网络运行环境下的若干个客户端在进入后台非活跃态后的心跳包发送间隔中的最小值,其中,客户端的后台非活跃态是客户端在后台运行的累计时长达到时间阈值的状态。
比如,一个网络运行环境下包括客户端1、客户端2和客户端3,客户端1进入后台非活跃态后的心跳包发送间隔10分钟,客户端2进入后台非活跃态后的心跳包发送间隔12分钟,客户端3进入后台非活跃态后的心跳包发送间隔13分钟,则确定心跳包发送间隔的最大值为10分钟,则预设对应关系中存储的该网络环境对应的心跳间隔区间为[4.5分钟,10分钟]。
在其他可能的实现方式中,服务器预先存储有网络运行环境与该网络运行环境下的若干个客户端进入后台非活跃态后的心跳包发送间隔之间的对应关系,服务器在确定终端所处的网络运行环境后,查询对应关系确定该网络运行环境对应的所有客户端的心跳包发送间隔,根据确定得到的心跳包发送间隔确定心跳间隔区间。
可选的,上述步骤304-步骤306也可以实现成为,当客户端在后台运行时,服务器将预设发送间隔作为心跳包发送间隔发送给客户端,客户端按照心跳包发送间隔发送心跳包;当服务器连续接收到客户端按照预设发送间隔发送的心跳包的次数达到次数阈值时,服务器确定终端所处的网络运行环境所对应的心跳间隔区间。其中,次数阈值是系统预设值或由用户自定义。
在步骤307中,根据心跳间隔区间确定心跳包发送间隔。
服务器从心跳间隔区间的最小值开始递增以确定客户端的心跳包发送间隔,确定得到的心跳包发送间隔在心跳间隔区间内,心跳包发送间隔是该客户端进入后台非活跃态后所能使用的最大的心跳包发送间隔。
在步骤308中,将心跳包发送间隔发送给客户端,客户端按照心跳包发送
16SG1F1841间隔发送心跳包。
需要说明的是,若服务器没有发送新的心跳包发送间隔给客户端,则客户端始终按照该心跳包发送间隔发送心跳包。
比如,在0时刻时,服务器将4.5分钟的心跳包发送间隔发送给客户端,则客户端按照4.5分钟的心跳包发送间隔发送心跳包,则在18分钟时刻时,客户端发送了4次心跳包,若此时服务器确定新的心跳包发送间隔为5分钟,并将5分钟的心跳包发送间隔发送给客户端,则从18分钟时刻开始,客户端按照5分钟的心跳包发送间隔发送心跳包。
在步骤309中,当心跳包发送间隔小于心跳间隔区间的最大值时,将心跳间隔区间的最大值更新为心跳包发送间隔。
在上述示例性例子中,假设心跳间隔区间为[4.5分钟,10分钟],在客户端处于非活跃态时,确定客户端的心跳包发送间隔为9.8分钟,则将心跳间隔区间更新为[4.5分钟,9.8分钟]。
需要说明的是,当对心跳间隔区间的最大值进行若干次更新后,心跳间隔区间的最大值会越来越小,也即心跳间隔区间范围越来越小,则可以每隔预定时间后对心跳间隔区间进行一次重置。
基于图3所示的实施例,上述步骤307包括以下几个步骤,如图4A所示:
在步骤401中,确定心跳间隔区间的最小值为测试发送间隔。
可选的,心跳间隔区间的最小值是使客户端与服务器之间的长连接维持稳定的心跳包发送间隔,心跳间隔区间的最小值与预设发送间隔相同。比如心跳间隔区间的最小值为4.5分钟。
在步骤402中,将测试发送间隔发送给客户端,客户端按照测试发送间隔反馈心跳包。
在步骤403中,若在第一时间间隔内接收到客户端反馈的心跳包,则检测测试发送间隔与预定时间间隔的总和是否达到心跳间隔区间的最大值。
当服务器在第一时间间隔内接收到客户端反馈的心跳包时,表示客户端在按照该测试发送间隔反馈心跳包时,服务器与客户端所在的终端之间的长连接仍能稳定使用,则服务器确定该测试发送间隔是可用的,服务器可以对测试发送间隔进行更新以增大测试发送间隔,由于测试发送间隔不能大于心跳间隔区间的最大值,因此服务器在对测试发送间隔进行更新之前,需要先检测更新后的测试发送间隔有没有达到该最大值,也即,检测测试发送间隔与预定时间间隔的总和是否达到心跳间隔区间的最大值并执行下列步骤404或步骤405。其中,预定时间间隔是系统预设值或用户自定义值,可选的,预定时间间隔为0.5分钟。
其中,第一时间间隔大于等于测试发送间隔,当测试发送间隔发生变化时,第一时间间隔也会变化,第一时间间隔是系统预设值或用户自定义值。
在实际实现时,对于服务器发送给客户端的每一个测试发送间隔,客户端可以按照该测试发送间隔发送多次心跳包,则服务器在连续接收到客户端反馈的多次心跳包后,检测测试发送间隔与预定时间间隔的总和是否达到心跳间隔区间的最大值并执行下列步骤404或步骤405。
在步骤404中,若未达到最大值,则将测试发送间隔更新为测试发送间隔与预定时间间隔的总和,并再次执行将测试发送间隔发送给客户端的步骤。
在步骤405中,若达到最大值,则将最大值确定为测试发送间隔,并再次执行将测试发送间隔发送给客户端的步骤。
比如,假设心跳间隔区间为[4.5分钟,9.8分钟],预定时间间隔为0.5分钟。当测试发送间隔为9分钟时,服务器检测到测试发送间隔9分钟与预定时间间隔0.5分钟的总和为9.5分钟,小于最大值9.8分钟,则将测试发送间隔更新为9.5分钟,服务器将9.5分钟的测试发送间隔发送给客户端,客户端按照9.5分钟的测试发送间隔发送心跳包;若服务器在第一时间间隔内接收到心跳包,则服务器检测到测试发送间隔9.5分钟与预定时间间隔0.5的总和为10分钟,大于最大值9.8分钟,则服务器将最大值9.8分钟确定为测试发送间隔发送给客户端,客户端按照9.8分钟的测试发送间隔发送心跳包。
在步骤406中,若达到第一时间间隔时未接收到客户端反馈的心跳包,则将心跳间隔区间的最小值发送给客户端,客户端按照心跳间隔区间的最小值反馈心跳包。
若达到第一时间间隔时服务器未接收到客户端反馈的心跳包,则表示客户端在按照该测试发送间隔反馈心跳包时心跳包反馈失败,心跳包反馈失败可能是测试发送间隔不可用而导致的,也可能是终端所处的网络运行环境不稳定而导致的,比如,终端突然经过隧道等网络较差的位置引起长连接突然断开,导致服务器无法接收到客户端反馈的心跳包。因此,服务器为了判断是否是由测试发送间隔不可用而导致未接收到心跳包,需要将心跳间隔区间的最小值发送给客户端,客户端按照心跳间隔区间的最小值反馈心跳包以检测与客户端所在的终端之间的长连接是否稳定。
在步骤407中,若在第二时间间隔内接收到客户端反馈的心跳包,则根据测试发送间隔确定心跳包发送间隔。
其中,第二时间间隔大于等于心跳间隔区间的最小值,第二时间间隔是系统预设值或用户自定义值。
若服务器在第二时间间隔内接收到客户端反馈的心跳包,则表示服务器与客户端所在的终端之间的长连接稳定,服务器在第一时间间隔时未接收到客户端反馈的心跳包是因为该测试发送间隔不可用而导致的,则服务器根据测试发送间隔确定心跳包发送间隔。
当测试发送间隔不同时,服务器使用以下两种不同的方法确定心跳包发送间隔:
在第一种可能的方法中,当测试发送间隔为心跳间隔区间的最小值时,确定心跳间隔区间的最小值为心跳包发送间隔。
在第二种可能的方法中,当测试发送间隔大于心跳间隔区间的最小值时,将测试发送间隔与预定时间间隔的差值确定为心跳包发送间隔。
可选的,在实际实现时,服务器将心跳间隔区间的最小值发送给客户端后,客户端按照该心跳间隔区间的最小值发送多次心跳包,则服务器连续接收到客户端发送的心跳包的次数达到预定阈值时,服务器确定与客户端所在的终端之间的长连接稳定,预定阈值是系统预设值或用户自定义值。
在步骤408中,若达到第二时间间隔时未接收到客户端反馈的心跳包,则确定心跳间隔区间的最小值为心跳包发送间隔。
当达到第二时间间隔时,服务器没有接收到客户端反馈的心跳包,则表示服务器与客户端所在的终端之间的长连接不稳定,服务器确定心跳间隔区间的最小值为心跳包发送间隔。
可选的,在实际实现时,服务器将心跳间隔区间的最小值发送给客户端后,客户端按照该心跳间隔区间的最小值发送多次心跳包,则服务器在连续预定个数个第二时间间隔内均未接收到客户端反馈的心跳包时,服务器确定客户端所在的终端之间的长连接不稳定,并确定心跳间隔区间的最小值为心跳包发送间隔,预定个数是系统预设值或由用户自定义。
可选的,在基于上述实施例的其他可选实施例中,上述步骤407可被替代实现为以下几个步骤,如图4B所示:
在步骤410中,若在第二时间间隔内接收到客户端反馈的心跳包,则检测服务器将心跳间隔区间的最小值发送给客户端的次数是否达到预定次数。
其中,预定次数是系统预设值或由用户自定义。
在步骤411中,若服务器将心跳间隔区间的最小值发送给客户端的次数未达到预定次数,则重新执行将测试发送间隔发送给客户端的步骤。
服务器在达到第一时间间隔时未接收到客户端反馈的心跳包后,将心跳间隔区间的最小值发送给客户端,当在第二时间间隔内收到客户端反馈的心跳包时,确定是因为测试发送间隔不可用而导致在第一时间间隔内未接收到客户端反馈的心跳包。其中,测试发送间隔不可用可能是测试发送间隔太长而导致的,也可能是由于终端所处的网络运行环境突然出现不稳定而导致的。为了避免偶然性,服务器在第二时间间隔内接收到客户端反馈的心跳包后,再次将测试发送间隔发送给客户端,客户端再次按照该测试发送间隔反馈心跳包。
在步骤412中,若服务器将心跳间隔区间的最小值发送给客户端的次数达到预定次数,则根据测试发送间隔确定心跳包发送间隔。
当服务器将心跳间隔区间的最小值发送给客户端的次数达到预定次数后,服务器确定长连接稳定,心跳包反馈失败是测试发送间隔太长而导致的,则服务器根据测试发送间隔确定心跳包发送间隔。
比如,预定次数为2次,预定时间间隔为0.5分钟,服务器将测试发送间隔9分钟发送给客户端,若达到第一时间间隔时没有接收到客户端反馈的心跳包,则服务器将心跳间隔区间的最小值4.5分钟发送给客户端,在第二时间间隔内接收到客户端反馈的心跳包,则服务器再次将测试发送间隔9分钟发送给客户端,若达到第一时间间隔时没有接收到客户端反馈的心跳包,则服务器将心跳间隔区间的最小值4.5分钟发送给客户端,在第二时间间隔内接收到客户端反馈的心跳包,则确定心跳包发送间隔为测试发送间隔9分钟与预定时间间隔0.5分钟的差值,即为8.5分钟。
基于上述实施例,当客户端在后台运行时,服务器确定心跳包发送间隔的示意图可以如图5所示,在现有技术中,客户端发送的每两个心跳包之间的发送时间间隔是固定的,假设是4.5分钟。在本发明实施例中,服务器从前台运行切换至后台运行时,服务器将4.5分钟的心跳发送间隔发送给客户端,客户端按照4.5分钟的心跳发送间隔发送心跳包。当服务器在后台运行的累计时长达到时间阈值时,服务器将4.5分钟作为测试发送间隔发送给客户端,使用上述步骤401-408所示的方法不断更新测试发送间隔,客户端按照测试发送间隔发送心跳包。当服务器确定心跳包发送间隔后,图5中示出服务器确定的心跳包发送间隔为6分钟,客户端按照6分钟心跳包发送间隔发送心跳包。
当服务器确定心跳包发送间隔,客户端按照心跳包发送间隔发送心跳包时,若客户端所在的终端切换了接入的网络类型或者移动了位置等,也会引起长连接的不稳定,则可选的,在基于上述实施例的其他可选实施例中,在上述步骤308之后,该方法还包括如下步骤,如图6所示:
在步骤601中,若达到第三时间间隔时未接收到客户端发送的心跳包,则将心跳间隔区间的最小值发送给客户端,客户端按照心跳间隔区间的最小值反馈心跳包。
其中,第三时间间隔大于等于心跳包发送间隔,第三时间间隔是系统预设值或用户自定义值。
在步骤602中,若在第三时间间隔内接收到客户端反馈的心跳包,则将心跳包发送间隔发送给客户端,客户端按照心跳包发送间隔发送心跳包。
在步骤603中,若达到第三时间间隔时未接收到客户端反馈的心跳包,则重新执行将预设发送间隔作为心跳包发送间隔的步骤,或者,重新执行根据心跳间隔区间确定心跳包发送间隔的步骤。
也即,服务器重新执行上述步骤304或者重新执行步骤306。
步骤601-603的具体实现方式可以结合图4A所示实施例中的步骤406-408。
综上所述,本发明实施例提供的心跳包发送方法,通过服务器在与客户端所在的终端建立长连接后,确定终端所处的网络运行环境所对应的心跳包发送间隔,将心跳包发送间隔发送给客户端,客户端按照心跳包发送间隔发送心跳包;解决了客户端始终采用相同的心跳包发送间隔发送心跳包而导致的产生不必要的功耗或引起长连接断开的问题;由于服务器是根据终端所处的网络运行环境确定心跳包发送间隔的,且即使终端所处的网络运行环境发生变化,服务器也能及时地根据网络运行环境调整心跳包发送间隔,因此,确定得到的心跳包发送间隔与客户端所在的终端的网络运行环境相匹配,达到了使心跳包在不同网络运行环境中发送的更合理的效果。
本发明实施例提供的心跳包发送方法,在保证长连接处于连接状态的前提下,确定最大的心跳包发送间隔,使心跳包的收发更稳定,在保证连接稳定的前提下,减少了客户端所在的终端的功耗,也减少了服务器负载。
本发明实施例提供的心跳包发送方法,由服务器确定测试发送间隔并进行更新确定最终的心跳包发送间隔,可以有效地调整更新时使用的策略,方便容错控制。
基于上述实施例,客户端在运行过程中,包括以下几种状态:
1、前台活跃态,是客户端在前台运行时的状态,在该状态下,服务器确定的客户端的心跳包发送间隔为预设发送间隔,客户端按照预设发送间隔发送心跳包。
2、后台活跃态,是客户端切换到后台运行,且在后台运行的累计时长未达到时间阈值时的状态,在该状态下,服务器确定的客户端的心跳包发送间隔为预设发送间隔,客户端按照预设发送间隔发送心跳包。
3、自动检测态,是客户端在后台运行的累计时长达到时间阈值且服务器还未确定心跳包发送间隔的状态,在该状态下,服务器将测试发送间隔发送给客户端,客户端按照测试发送间隔发送心跳包以确定心跳包发送间隔。
4、后台稳定态,是客户端按照服务器确定的心跳包发送间隔发送心跳包的状态,在该状态下,客户端按照服务器确定的心跳包发送间隔发送心跳包。
5、网络检测态,是客户端发送心跳包失败后所处的状态,在该状态下,服务器将心跳间隔区间的最小值作为心跳包发送间隔发送给客户端,客户端按照心跳间隔区间的最小值发送心跳包。
客户端的上述五种状态的一种切换示意图可以如图7A所示,当客户端在自动检测态时,若服务器接收心跳包失败,则客户端进入网络检测态;当客户端在网络检测态时,若服务器接收心跳包成功,则客户端回到自动检测态或者进入后台稳定态,若服务器接收心跳包失败,则客户端进入后台稳定态。
客户端的上述五种状态的另一种切换示意图可以如图7B所示,当客户端在后台稳定态时,若服务器接收心跳包失败,则客户端进入网络检测态;当客户端在网络检测态时,若服务器接收心跳包成功,则客户端回到后台稳定态,若服务器接收心跳包失败,则客户端回到后台活跃态,实际实现时,客户端也可以直接回到自动检测态,图7B未示出。
需要说明的是,在实际实现时,除了图7A和图7B示出的状态切换示意图之外,客户端的上述5种状态还存在其他的切换方式,比如,客户端可以在前台活跃态时切换到网络检测态,也可以在后台活跃态时切换到网络检测态,客户端在后台稳定态时,也可以切换到前台活跃态,本实施例对此不作限定。
图8是根据一示例性实施例示出的一种心跳包发送装置的框图,该心跳包发送装置可以通过软件或硬件或两者的结合实现成为图1所示的实施环境中的服务器的全部或者一部分,该装置至少包括:连接建立模块810、确定模块820和发送模块830。
连接建立模块810,用于与客户端所在的终端建立长连接。
确定模块820,用于确定终端所处的网络运行环境所对应的心跳包发送间隔。
发送模块830,用于将心跳包发送间隔发送给客户端,客户端按照心跳包发送间隔发送心跳包。
综上所述,本发明实施例提供的心跳包发送装置,通过服务器在与客户端所在的终端建立长连接后,确定终端所处的网络运行环境所对应的心跳包发送间隔,将心跳包发送间隔发送给客户端,客户端按照心跳包发送间隔发送心跳包;解决了客户端始终采用相同的心跳包发送间隔发送心跳包而导致的产生不必要的功耗或引起长连接断开的问题;由于服务器是根据终端所处的网络运行环境确定心跳包发送间隔的,且即使终端所处的网络运行环境发生变化,服务器也能及时地根据网络运行环境调整心跳包发送间隔,因此,确定得到的心跳包发送间隔与客户端所在的终端的网络运行环境相匹配,达到了使心跳包在不同网络运行环境中发送的更合理的效果。
基于上述实施例,可选的,该心跳包发送装置还包括更新模块,用于当心跳包发送间隔小于心跳间隔区间的最大值时,将心跳间隔区间的最大值更新为心跳包发送间隔。
上述确定模块820包括:
第一确定单元,用于确定终端所处的网络运行环境所对应的心跳间隔区间;
第二确定单元,用于根据心跳间隔区间确定心跳包发送间隔。
第二确定单元包括以下几个子单元:
第一确定子单元,用于确定心跳间隔区间的最小值为测试发送间隔,将测试发送间隔发送给客户端,客户端按照测试发送间隔反馈心跳包。
更新子单元,用于若在第一时间间隔内接收到客户端反馈的心跳包,则将测试发送间隔更新为测试发送间隔与预定时间间隔的总和,并再次执行将测试发送间隔发送给客户端的步骤。
发送子单元,用于若达到第一时间间隔时未接收到客户端反馈的心跳包,则将心跳间隔区间的最小值发送给客户端,客户端按照心跳间隔区间的最小值反馈心跳包。
第二确定子单元,用于若在第二时间间隔内接收到客户端反馈的心跳包,则根据测试发送间隔确定心跳包发送间隔。
第六确定子单元,用于若达到第二时间间隔时未接收到客户端反馈的心跳包,则确定心跳间隔区间的最小值为心跳包发送间隔。
可选的,更新子单元还包括以下几个子单元:
检测子单元,用于检测测试发送间隔与预定时间间隔的总和是否达到心跳间隔区间的最大值。
处理子单元,用于若未达到最大值,则执行将测试发送间隔更新为测试发送间隔与预定时间间隔的总和的步骤。
第三确定子单元,用于若达到最大值,则将最大值确定为测试发送间隔。
可选的,第二确定子单元,还包括以下几个子单元:
第四确定子单元,用于当测试发送间隔为心跳间隔区间的最小值时,确定心跳间隔区间的最小值为心跳包发送间隔。
第五确定子单元,用于当测试发送间隔大于心跳间隔区间的最小值时,将测试发送间隔与预定时间间隔的差值确定为心跳包发送间隔。
综上所述,本发明实施例提供的心跳包发送装置,通过服务器在与客户端所在的终端建立长连接后,确定终端所处的网络运行环境所对应的心跳包发送间隔,将心跳包发送间隔发送给客户端,客户端按照心跳包发送间隔发送心跳包;解决了客户端始终采用相同的心跳包发送间隔发送心跳包而导致的产生不必要的功耗或引起长连接断开的问题;由于服务器是根据终端所处的网络运行环境确定心跳包发送间隔的,且即使终端所处的网络运行环境发生变化,服务器也能及时地根据网络运行环境调整心跳包发送间隔,因此,确定得到的心跳包发送间隔与客户端所在的终端的网络运行环境相匹配,达到了使心跳包在不同网络运行环境中发送的更合理的效果。
请参考图9,其示出了本发明一个实施例提供的服务器的结构示意图。该服务器用于实施上述实施例中提供的心跳包发送方法。具体来讲:
服务器900包括中央处理单元(CPU)901、包括随机存取存储器(RAM)902和只读存储器(ROM)903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。服务器900还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)906,和用于存储操作系统913、应用程序914和其他程序模块915的大容量存储设备907。
基本输入/输出系统906包括有用于显示信息的显示器908和用于用户输入信息的诸如鼠标、键盘之类的输入设备909。其中显示器908和输入设备909都通过连接到系统总线905的输入输出控制器910连接到中央处理单元901。基本输入/输出系统906还可以包括输入输出控制器910以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器910还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备907通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。大容量存储设备907及其相关联的计算机可读介质为服务器900提供非易失性存储。也就是说,大容量存储设备907可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备907可以统称为存储器。
根据本发明的各种实施例,服务器900还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器900可以通过连接在系统总线905上的网络接口单元911连接到网络912,或者说,也可以使用网络接口单元911来连接到其他类型的网络或远程计算机系统(未示出)。
存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述方法的指令。
需要说明的是:上述实施例提供的心跳包发送装置在确定心跳包发送间隔时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的心跳包发送装置和心跳包发送方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种心跳包发送方法,其特征在于,所述方法包括:
与客户端所在的终端建立长连接;
确定所述终端所处的网络运行环境所对应的心跳间隔区间,所述网络运行环境包括所述终端接入的网络的类型和所述终端所在的位置中的至少一种,与所述网络运行环境对应的心跳间隔区间是由所述网络运行环境下若干个客户端进入后台非活跃态后的心跳包发送间隔所确定的区间,所述心跳间隔区间的最小值为预设发送间隔,所述心跳间隔区间的最大值为所述网络运行环境下的所述若干个客户端在进入所述后台非活跃态后的心跳包发送间隔中的最小值,所述客户端的所述后台非活跃态是所述客户端在后台运行的累计时长达到时间阈值的状态;
确定所述心跳间隔区间的最小值为测试发送间隔,将所述测试发送间隔发送给所述客户端,所述客户端按照所述测试发送间隔反馈心跳包;
若在第一时间间隔内接收到所述客户端反馈的所述心跳包,则将所述测试发送间隔更新为所述测试发送间隔与预定时间间隔的总和,并再次执行所述将所述测试发送间隔发送给所述客户端的步骤;
若达到所述第一时间间隔时未接收到所述客户端反馈的所述心跳包,则根据所述测试发送间隔确定所述心跳包发送间隔;
其中,所述第一时间间隔大于等于所述测试发送间隔;
将所述心跳包发送间隔发送给所述客户端,所述客户端按照所述心跳包发送间隔发送所述心跳包。
2.根据权利要求1所述的方法,其特征在于,所述将所述测试发送间隔更新为所述测试发送间隔与预定时间间隔的总和之前,还包括:
检测所述测试发送间隔与所述预定时间间隔的总和是否达到所述心跳间隔区间的最大值;
若未达到所述最大值,则执行所述将所述测试发送间隔更新为所述测试发送间隔与预定时间间隔的总和的步骤;
若达到所述最大值,则将所述最大值确定为所述测试发送间隔。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述测试发送间隔确定所述心跳包发送间隔,包括:
当所述测试发送间隔为所述心跳间隔区间的最小值时,确定所述心跳间隔区间的最小值为所述心跳包发送间隔;
当所述测试发送间隔大于所述心跳间隔区间的最小值时,将所述测试发送间隔与所述预定时间间隔的差值确定为所述心跳包发送间隔。
4.根据权利要求1或2所述的方法,其特征在于,所述根据所述测试发送间隔确定所述心跳包发送间隔之前,还包括:
将所述心跳间隔区间的最小值发送给所述客户端,所述客户端按照所述心跳间隔区间的最小值反馈所述心跳包;
若在第二时间间隔内接收到所述客户端反馈的所述心跳包,则执行所述根据所述测试发送间隔确定所述心跳包发送间隔的步骤;
若达到所述第二时间间隔时未接收到所述客户端反馈的所述心跳包,则确定所述心跳间隔区间的最小值为所述心跳包发送间隔;
其中,所述第二时间间隔大于等于所述心跳间隔区间的最小值。
5.根据权利要求1所述的方法,其特征在于,所述确定所述客户端所处的网络运行环境所对应的心跳包发送间隔之后,所述方法还包括:
当所述心跳包发送间隔小于所述心跳间隔区间的最大值时,将所述心跳间隔区间的最大值更新为所述心跳包发送间隔。
6.一种心跳包发送装置,其特征在于,所述装置包括:
连接建立模块,用于与客户端所在的终端建立长连接;
第一确定单元,用于确定所述终端所处的网络运行环境所对应的心跳间隔区间,所述网络运行环境包括所述终端接入的网络的类型和所述终端所在的位置中的至少一种,与所述网络运行环境对应的心跳间隔区间是由所述网络运行环境下若干个客户端进入后台非活跃态后的心跳包发送间隔所确定的区间,所述心跳间隔区间的最小值为预设发送间隔,所述心跳间隔区间的最大值为所述网络运行环境下的所述若干个客户端在进入所述后台非活跃态后的心跳包发送间隔中的最小值,所述客户端的所述后台非活跃态是所述客户端在后台运行的累计时长达到时间阈值的状态;
第一确定子单元,用于确定所述心跳间隔区间的最小值为测试发送间隔,将所述测试发送间隔发送给所述客户端,所述客户端按照所述测试发送间隔反馈心跳包;
更新子单元,用于若在第一时间间隔内接收到所述客户端反馈的所述心跳包,则将所述测试发送间隔更新为所述测试发送间隔与预定时间间隔的总和,并再次执行所述将所述测试发送间隔发送给所述客户端的步骤;
第二确定子单元,用于若达到所述第一时间间隔时未接收到所述客户端反馈的所述心跳包,则根据所述测试发送间隔确定所述心跳包发送间隔;
其中,所述第一时间间隔大于等于所述测试发送间隔;
发送模块,用于将所述心跳包发送间隔发送给所述客户端,所述客户端按照所述心跳包发送间隔发送所述心跳包。
7.根据权利要求6所述的装置,其特征在于,所述更新子单元,还包括:
检测子单元,用于检测所述测试发送间隔与所述预定时间间隔的总和是否达到所述心跳间隔区间的最大值;
处理子单元,用于若未达到所述最大值,则执行所述将所述测试发送间隔更新为所述测试发送间隔与预定时间间隔的总和的步骤;
第三确定子单元,用于若达到所述最大值,则将所述最大值确定为所述测试发送间隔。
8.根据权利要求6或7所述的装置,其特征在于,所述第二确定子单元,还包括:
第四确定子单元,用于当所述测试发送间隔为所述心跳间隔区间的最小值时,确定所述心跳间隔区间的最小值为所述心跳包发送间隔;
第五确定子单元,用于当所述测试发送间隔大于所述心跳间隔区间的最小值时,将所述测试发送间隔与所述预定时间间隔的差值确定为所述心跳包发送间隔。
9.根据权利要求6或7所述的装置,其特征在于,所述第二确定单元,还包括:
发送子单元,用于将所述心跳间隔区间的最小值发送给所述客户端,所述客户端按照所述心跳间隔区间的最小值反馈所述心跳包;
所述第二确定子单元,还用于若在第二时间间隔内接收到所述客户端反馈的所述心跳包,则执行所述根据所述测试发送间隔确定所述心跳包发送间隔的步骤;
第六确定子单元,用于若达到所述第二时间间隔时未接收到所述客户端反馈的所述心跳包,则确定所述心跳间隔区间的最小值为所述心跳包发送间隔;
其中,所述第二时间间隔大于等于所述心跳间隔区间的最小值。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
更新模块,用于当所述心跳包发送间隔小于所述心跳间隔区间的最大值时,将所述心跳间隔区间的最大值更新为所述心跳包发送间隔。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610584141.1A CN107645529B (zh) | 2016-07-21 | 2016-07-21 | 心跳包发送方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610584141.1A CN107645529B (zh) | 2016-07-21 | 2016-07-21 | 心跳包发送方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107645529A CN107645529A (zh) | 2018-01-30 |
CN107645529B true CN107645529B (zh) | 2020-06-30 |
Family
ID=61109228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610584141.1A Active CN107645529B (zh) | 2016-07-21 | 2016-07-21 | 心跳包发送方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107645529B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110691428A (zh) * | 2018-07-05 | 2020-01-14 | 中国移动通信有限公司研究院 | 一种心跳包的发送方法、装置、设备、存储介质 |
CN109120727A (zh) * | 2018-10-31 | 2019-01-01 | 苏州友教习亦教育科技有限公司 | 分布式消息推送系统 |
CN109831474B (zh) * | 2018-11-26 | 2021-07-13 | 创新先进技术有限公司 | http长连接的保活系统、方法、服务器及可读存储介质 |
CN110035446B (zh) * | 2019-04-04 | 2022-07-26 | 中科云创(厦门)科技有限公司 | 心跳数据发送方法、装置、电子设备及可读介质 |
CN109981415B (zh) * | 2019-04-04 | 2021-08-06 | 深圳市网心科技有限公司 | 状态判定方法、电子设备、系统及介质 |
CN110445683B (zh) * | 2019-08-05 | 2022-11-25 | 深圳市大拿科技有限公司 | 服务器、设备、监测服务器存活状态的方法及系统 |
CN110445682B (zh) * | 2019-08-05 | 2022-11-25 | 深圳市大拿科技有限公司 | 监测联网节点存活状态的方法、服务器、设备及系统 |
CN110474975B (zh) * | 2019-08-08 | 2022-03-15 | 北京云中融信网络科技有限公司 | 应用程序的心跳处理方法、装置、电子设备及存储介质 |
CN110753086A (zh) * | 2019-09-12 | 2020-02-04 | 华为技术有限公司 | 应用的心跳唤醒方法及终端设备 |
CN111176809A (zh) * | 2019-12-18 | 2020-05-19 | 任子行网络技术股份有限公司 | 安卓平台下含长连接通讯进程的应用保活处理方法及系统 |
CN111031598A (zh) * | 2020-01-08 | 2020-04-17 | Oppo广东移动通信有限公司 | 网络通信控制方法、装置、通信设备以及存储介质 |
CN113691930B (zh) * | 2020-05-19 | 2023-08-22 | 京东方科技集团股份有限公司 | 可移动终端及其控制方法、物联网系统、存储介质 |
CN111669438B (zh) * | 2020-05-27 | 2022-10-04 | 北京百度网讯科技有限公司 | 直播消息传输方法、装置、电子设备及介质 |
CN114125023B (zh) * | 2021-11-12 | 2024-03-22 | 青岛海尔科技有限公司 | 数据连接的确定方法及装置、存储介质及电子装置 |
CN114500550A (zh) * | 2021-12-31 | 2022-05-13 | 深圳市晨北科技有限公司 | 设备心跳间隔控制方法、装置、物联网设备及存储介质 |
CN114466437B (zh) * | 2022-01-24 | 2024-02-20 | 深圳市睿联技术股份有限公司 | 心跳保活方法、装置、设备及计算机可读存储介质 |
CN114390453B (zh) * | 2022-02-09 | 2023-09-08 | 福建天泉教育科技有限公司 | 一种消息推送的优化方法及终端 |
CN114826982B (zh) * | 2022-04-08 | 2023-08-18 | 浙江大学 | 一种微服务场景下的自适应心跳包调节方法 |
CN115190160A (zh) * | 2022-05-25 | 2022-10-14 | 杭州脸脸会网络技术有限公司 | 屏设备的断网监控方法、装置、电子装置和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015196790A1 (en) * | 2014-06-26 | 2015-12-30 | Tencent Technology (Shenzhen) Company Limited | Method and system for heartbeat adaptation |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102223257B (zh) * | 2011-07-25 | 2014-02-19 | 莫雅静 | 一种心跳间隔调整方法、服务器、客户端及通信系统 |
CN102404858B (zh) * | 2011-11-25 | 2014-04-02 | 华为技术有限公司 | 一种无线资源优化方法、装置及系统 |
CN103312528B (zh) * | 2012-03-08 | 2016-12-14 | 中国移动通信集团公司 | 一种心跳消息发送方法及用户终端 |
CN103856954B (zh) * | 2012-11-28 | 2017-11-28 | 中国电信股份有限公司 | 探测游牧终端心跳周期的方法、系统、游牧终端与服务器 |
CN103139303B (zh) * | 2013-02-07 | 2016-08-17 | 网易(杭州)网络有限公司 | 一种用于保持连接的心跳方法、装置及系统 |
CN103581950B (zh) * | 2013-11-15 | 2017-02-01 | 中国联合网络通信集团有限公司 | 电子设备、心跳消息的发送方法与系统 |
CN104333465B (zh) * | 2014-10-31 | 2019-06-11 | 北京奇安信科技有限公司 | 一种心跳间隔设置的方法、装置及系统 |
CN105577507A (zh) * | 2014-11-10 | 2016-05-11 | 中国移动通信集团广东有限公司 | 一种心跳包发送间隔的调整方法、装置及服务器 |
-
2016
- 2016-07-21 CN CN201610584141.1A patent/CN107645529B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015196790A1 (en) * | 2014-06-26 | 2015-12-30 | Tencent Technology (Shenzhen) Company Limited | Method and system for heartbeat adaptation |
Also Published As
Publication number | Publication date |
---|---|
CN107645529A (zh) | 2018-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107645529B (zh) | 心跳包发送方法及装置 | |
CN103312528A (zh) | 一种心跳消息发送方法及用户终端 | |
CN110474975B (zh) | 应用程序的心跳处理方法、装置、电子设备及存储介质 | |
CN107645517B (zh) | 数据推送方法及装置 | |
CN109040295B (zh) | 异常断线的确定方法及装置、终端及存储介质 | |
CN110691398B (zh) | 智能设备的网络交互方法、系统、设备及存储介质 | |
CN105262836A (zh) | 服务器推送信息的方法及客户端接收推送信息的方法 | |
KR102001103B1 (ko) | 전자장치, 서버 및 시스템의 제어방법 | |
CN104580013A (zh) | 一种快速选择接入点的网络通信方法及其系统 | |
CN106411713B (zh) | 一种状态通知方法及服务器 | |
US10958712B2 (en) | Enhanced reliability for information services | |
CN101686081A (zh) | 一种重新建立同步连接的方法、装置及系统 | |
CN104486443A (zh) | 消息推送系统及其方法 | |
US9866644B2 (en) | Terminal, message distribution system, message distribution method, and computer-readable medium | |
CN110661836B (zh) | 消息路由方法、装置及系统、存储介质 | |
CN108632355B (zh) | 一种家电网络选路方法、控制终端、可读存储介质及设备 | |
KR101407597B1 (ko) | 망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법 | |
CN106304241B (zh) | 一种数据传输方法、转发器及网关 | |
CN112751907B (zh) | 信息处理方法、装置和存储介质及电子装置 | |
CN114884805A (zh) | 数据传输方法、装置、终端及存储介质 | |
JP2014146876A (ja) | メッセージ配信システムおよびメッセージ配信方法 | |
CN110474807B (zh) | 一种日志处理方法及装置 | |
CN113542424A (zh) | 数据处理方法、装置、设备及计算机程序产品 | |
CN113055695B (zh) | 数据传输方法、装置、服务器、设备及介质 | |
CN115225450A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221124 Address after: 1402, Floor 14, Block A, Haina Baichuan Headquarters Building, No. 6, Baoxing Road, Haibin Community, Xin'an Street, Bao'an District, Shenzhen, Guangdong 518133 Patentee after: Shenzhen Yayue Technology Co.,Ltd. Address before: 2, 518000, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |