心跳检测方法、装置、电子设备及服务器与流程

未命名 10-18 阅读:113 评论:0


1.本技术属于通信技术领域,具体涉及一种心跳检测方法、装置、电子设备及服务器。


背景技术:

2.目前,在终端与服务器之间进行持续地通信时,往往需要建立起一条传输控制协议(transmission control protocol,tcp)长连接,基于建立起的tcp长连接,终端与服务器之间可以连续发送数据包来进行数据交换。
3.在相关技术中,在终端与服务器之间建立起tcp长连接之后,终端可以按照一定的心跳间隔进行心跳检测,来检测该终端与服务器之间的连接状态是否正常。即,终端可以定期向服务器发送无意义的数据包或信号,来检测与服务器端之间的连接状态,以保证长连接的稳定性。通常,终端在进行心跳检测时,会选择接近或等于当前网络环境的nat超时时间的时间间隔作为上述心跳间隔。
4.然而,对于同一网络环境下的多个终端来说,该多个终端中的每个终端均需要为其选择合适的心跳间隔进行心跳检测,从而导致多个终端中的每个终端均需要进行相同的选择过程以选择合适的心跳间隔,进而造成终端功耗的浪费。


技术实现要素:

5.本技术实施例的目的是提供一种心跳检测方法、装置、电子设备及服务器,能够减少终端在选择合适的心跳间隔时功耗的消耗。
6.第一方面,本技术实施例提供了一种心跳检测方法,该方法包括:第一终端接收服务器发送的第一消息,该第一消息携带有服务器预存的第一心跳间隔,第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔;第一终端按照第一心跳间隔进行稳定态心跳检测;其中,第一终端与第二终端为与第一网络连接的不同终端。
7.第二方面,本技术实施例提供了一种心跳检测方法,该方法包括:服务器在通过第一网络与第一终端成功建立长连接的情况下,获取第一网络的网络出口ip,其中,服务器为与第一网络连接的服务器;服务器获取预存的与第一网络的网络出口ip对应的第一心跳间隔;服务器向第一终端发送第一消息,该第一消息携带有第一心跳间隔。
8.第三方面,本技术实施例提供了一种心跳检测方法,该方法包括:第二终端在第一网络探测第一心跳间隔,第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔;第二终端按照第一心跳间隔进行稳定态心跳检测,并向服务器发送第三消息,该第三消息携带有第一心跳间隔。
9.第四方面,本技术实施例提供了一种心跳检测方法,该方法包括:第一终端从第二终端接收第三心跳间隔,第三心跳间隔为第二终端在第二网络探测到的最大稳定态心跳间隔;第一终端按照第三心跳间隔进行稳定态心跳检测;其中,第一终端与第二终端为与第二网络连接的不同终端。
10.第五方面,本技术实施例提供了一种心跳检测方法,该方法包括:第二终端在第二网络探测第三心跳间隔,第三心跳间隔为第二终端在第二网络探测到的最大稳定态心跳间隔;第二终端按照第三心跳间隔进行稳定态心跳检测;第二终端在接收到服务器发送的心跳成功反馈消息的情况下,广播第三心跳间隔。
11.第六方面,本技术实施例提供了一种心跳检测装置,该装置包括:接收模块,用于接收服务器发送的第一消息,该第一消息携带有服务器预存的第一心跳间隔,第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔;检测模块,用于按照接收模块接收的第一心跳间隔进行稳定态心跳检测;其中,第一终端与第二终端为与第一网络连接的不同终端。
12.第七方面,本技术实施例提供了一种心跳检测装置,该装置包括:获取模块,用于在通过第一网络与第一终端成功建立长连接的情况下,获取第一网络的网络出口ip,其中,服务器为与第一网络连接的服务器;获取模块,还用于获取预存的与第一网络的网络出口ip对应的第一心跳间隔;发送模块,用于向第一终端发送第一消息,该第一消息携带有获取模块获取的第一心跳间隔。
13.第八方面,本技术实施例提供了一种心跳检测装置,该装置包括:探测模块,用于在第一网络探测第一心跳间隔,第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔;检测模块,用于按照探测模块探测到的第一心跳间隔进行稳定态心跳检测;发送模块,用于向服务器发送第三消息,该第三消息携带有探测模块探测到的第一心跳间隔。
14.第九方面,本技术实施例提供了一种心跳检测装置,该装置包括:接收模块,用于从第二终端接收第三心跳间隔,第三心跳间隔为第二终端在第二网络探测到的最大稳定态心跳间隔;检测模块,用于按照接收模块接收的第三心跳间隔进行稳定态心跳检测;其中,第一终端与第二终端为与第二网络连接的不同终端
15.第十方面,本技术实施例提供了一种心跳检测装置,该装置包括:探测模块,用于在第二网络探测第三心跳间隔,第三心跳间隔为第二终端在第二网络探测到的最大稳定态心跳间隔;检测模块,用于在第三心跳间隔与接收模块接收的第四心跳间隔不同的情况下,按照探测模块探测到的第三心跳间隔进行稳定态心跳检测;广播模块,用于在接收到服务器发送的心跳成功反馈消息的情况下,广播探测模块探测到的第三心跳间隔。
16.第十一方面,本技术实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤,或实现如第三方面所述的方法的步骤。
17.第十二方面,本技术实施例提供了一种电子设备,该电子设备包括通信接口,通信接口用于接收服务器发送的预存的第一心跳间隔,并按照第一心跳间隔进行稳定态心跳检测,或用于按照第一心跳间隔进行稳定态心跳检测,并向服务器发送第一心跳间隔。
18.第十三方面,本技术实施例提供了一种服务器,该服务器包括处理器、通信接口和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第二方面所述的方法的步骤。
19.第十四方面,本技术实施例提供了一种服务器,该服务器包括通信接口,所述通信接口用于向第一终端发送第一心跳间隔。
20.第十五方面,本技术实施例提供了一种电子设备,该电子设备包括处理器和存储
器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第四方面所述的方法的步骤,或实现如第五方面所述的方法的步骤。
21.第十六方面,本技术实施例提供了一种电子设备,该电子设备包括通信接口,通信接口用于从第二终端接收第三心跳间隔,并按照第三心跳间隔进行稳定态心跳检测,或用于按照第三心跳间隔进行稳定态心跳检测,并在接收到服务器发送的心跳成功反馈消息的情况下,广播第三心跳间隔。
22.第十七方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤,实现如第二方面所述的方法的步骤,实现如第三方面所述的方法的步骤。
23.第十八方面,本技术实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法的步骤,实现如第二方面所述的方法的步骤,实现如第三方面所述的方法的步骤。
24.第十九方面,本技术实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法的步骤,实现如第二方面所述的方法的步骤,实现如第三方面所述的方法的步骤。
25.在本技术实施例中,第一终端接收服务器发送的预存的第一心跳间隔,第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔;第一终端按照第一心跳间隔进行稳定态心跳检测;其中,第一终端与第二终端为与第一网络连接的不同终端。通过该方案,由于同一网络中,终端使用的可以维持长连接的最大稳定态心跳间隔相同,因此第一终端在进行心跳检测时,可以通过复用同一网络中其他终端探测到的最大稳定态心跳间隔进行稳定态心跳检测。从而使得第一终端无需进行心跳间隔的探测操作便可获得最大稳定态心跳间隔,节省了终端在选择合适的心跳间隔时功耗的消耗。
附图说明
26.图1是本技术的一些实施例提供的终端探测最大稳定态心跳间隔的实例示意图;
27.图2是本技术的一些实施例提供的心跳检测方法的流程示意图;
28.图3是本技术的一些实施例提供的心跳检测方法的流程示意图;
29.图4是本技术的一些实施例提供的通信系统的系统架构示意图;
30.图5是本技术的一些实施例提供的心跳检测方法的流程示意图;
31.图6是本技术的一些实施例提供的心跳检测方法的流程示意图;
32.图7是本技术的一些实施例提供的心跳检测方法的流程示意图;
33.图8是本技术的一些实施例提供的心跳检测方法的流程示意图;
34.图9是本技术的一些实施例提供的心跳检测方法的实例流程图;
35.图10是本技术的一些实施例提供的心跳检测方法的流程示意图;
36.图11是本技术的一些实施例提供的通信系统的系统架构示意图;
37.图12是本技术的一些实施例提供的心跳检测方法的流程示意图;
38.图13是本技术的一些实施例提供的心跳检测方法的实例流程图;
39.图14是本技术的一些实施例提供的心跳检测装置的结构示意图;
40.图15是本技术的一些实施例提供的心跳检测装置的结构示意图;
41.图16是本技术的一些实施例提供的心跳检测装置的结构示意图;
42.图17是本技术的一些实施例提供的心跳检测装置的结构示意图;
43.图18是本技术的一些实施例提供的心跳检测装置的结构示意图;
44.图19是本技术的一些实施例提供的电子设备的硬件结构示意图;
45.图20是本技术的一些实施例提供的电子设备的硬件结构示意图;
46.图21是本技术的一些实施例提供的服务器的结构示意图。
具体实施方式
47.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本技术保护的范围。
48.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
49.本技术的说明书和权利要求书中的术语“至少一个(项)”、“至少之一”等指其包含对象中的任意一个、任意两个或两个以上的组合。例如,a、b、c中的至少一个(项),可以表示:“a”、“b”、“c”、“a和b”、“a和c”、“b和c”以及“a、b和c”,其中a,b,c可以是单个,也可以是多个。同理,“至少两个(项)”是指两个或两个以上,其表达的含义与“至少一个(项)”类似。
50.下面对本技术实施例中涉及的一些术语和名词进行解释说明。
51.1、长连接
52.长连接是终端与服务器之间建立的一条持久性的线路,终端与服务器可以通过长连接发送多个数据包。在该长连接上没有数据包发送时,需要终端向服务器发送检测信息,以保持该长连接,从而可以使后续的请求和响应可以在该线路上重复使用。
53.2、心跳检测
54.心跳检测是指终端在使用长连接与服务器进行数据传输的过程中,通过定期发送无意义的数据包或信号,来检测终端和服务器之间的连接状态是否正常,保证长连接的稳定性。
55.通常情况下,心跳检测是由终端发起的。终端按照心跳间隔向服务器发送心跳检测信息;服务器在接收到终端发送的心跳检测信息之后,在网络正常的情况下,向终端发送心跳成功的反馈消息;终端在预定时间内接收到服务器发送的心跳成功的反馈消息之后,确定长连接的连接状态良好,即视为一次心跳成功事件。可以理解的是,在网络状况不好、终端没有接收到服务器发送的心跳成功的反馈消息等的情况下,则可以认为长连接的连接异常,即发生心跳失败事件。
56.3、心跳间隔
57.心跳间隔是指终端向服务器发送无意义的数据包或信号的间隔时长。其可以根据是开发人员根据需要自行设置的时间间隔,该时间间隔可以是固定的,也可以动态变化。
58.4、稳定态
59.稳定态是指在心跳间隔动态变化的场景下,心跳间隔接近或等于当前网络的网络地址转换(network address translation,nat)超时时间,且不再变化的状态。可以理解的是,终端在稳定态时,长连接不会发生断连,且心跳检测所消耗的功耗最少。
60.5、稳定态心跳检测
61.稳定态心跳检测是指终端固定按照一个心跳间隔进行心跳检测的过程。可以理解的是,终端在稳定态心跳检测的过程中,其所使用的心跳间隔通常为接近或等于当前网络的nat超时时间的心跳间隔,且消耗的功耗最少。
62.6、nat
63.nat是一种网络地址转换技术,用于将一个网络的网际互连协议(internet protocol,ip)地址转换为另一个网络的ip地址,从而实现多个设备共享同一个ip地址上网。
64.7、nat超时时间
65.nat超时是指在nat设备中,当一个会话或连接在一段时间内没有产生任何数据包时,这个会话或连接的超时时间就会到期,nat设备会将这个会话或连接从nat表中删除,同时释放其占用的资源。也就是说,nat超时时间指nat设备没有收到数据包而回收会话或连接的间隔时长。
66.8、网络出口ip
67.网络出口ip指的是网络的ip地址,其是局域网内的终端配置的用来连接网络的ip,同一局域网中的多个终端共用一个ip连接网络。
68.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的心跳检测方法、装置、电子设备及服务器进行详细地说明。
69.本技术实施例提供的心跳检测方法、装置、电子设备及服务器适用于在同一网络中有多个终端分别与服务器建立长连接,以进行数据传输的场景。
70.随着通信技术的发展,长连接因其可以优化网络和通信性能,提高数据交换的效率和可靠性,而被广泛应用于即时通信、消息推送、物联网等场景。其中,为了在维护长连接的稳定性的同时,降低终端因维护长连接而产生的功耗,各设备厂商以及软件开发者,都使用了较为相近的动态心跳方案。
71.示例性地,如图1所示,上述动态心跳方案可以包括下述的步骤101至步骤107。
72.步骤101、终端与服务器建立长连接。
73.步骤102、终端进行心跳检测。
74.可以理解的是,终端可以先设置一个初始心跳间隔。在终端与服务器建立长连接之后,终端可以按照该初始心跳间隔进行心跳检测。
75.步骤103、终端在心跳成功、且没有进入稳定态的情况下,控制心跳成功次数增加1。
76.可以理解的是,终端可以在心跳成功、且进入稳定态的情况下,进行稳定态心跳检测。即终端可以按照固定不变心跳间隔进行心跳检测。
77.步骤104、终端在心跳成功次数达到阈值的情况下,控制心跳间隔增加一个步长。
78.可以理解的是,若心跳成功次数达到阈值,则说明当前所使用的心跳间隔可以维
持终端与服务器间的长连接。因此,终端可以将心跳间隔增大,以找到可以维持终端与服务器间的长连接的最大稳定态心跳间隔。
79.并且,终端可以在心跳成功次数没有达到阈值的情况下,继续按照当前所使用的心跳间隔进行心跳检测,直至心跳成功次数达到阈值。
80.示例性地,以步长为3s,阈值为5,初始心跳间隔为30s为例。终端可以在与服务器建立长连接之后,按照初始心跳间隔30s进行心跳检测。若按照30s的心跳间隔连续进行了5次心跳成功的心跳检测,则终端可以控制初始心跳间隔30s增加3s,并按照增加后的33s的心跳间隔进行心跳检测。若按照33s的心跳间隔连续进行了5次心跳成功的心跳检测,则终端可以控制心跳间隔33s再增加3s,并按照增加后的36s的心跳间隔进行心跳检测。可以理解的是,终端可以重复上述过程,直至按照增加后的心跳间隔进行心跳检测时发生心跳失败事件,则终端可以继续执行下述的步骤105,控制心跳间隔降低一个步长,以找到最大稳定态心跳间隔。
81.步骤105、终端在发生心跳失败事件的情况下,控制心跳间隔降低一个步长。
82.可以理解的是,若发生心跳失败事件,则可以说明当前所使用的心跳间隔过长,导致终端与服务器间的长连接断开。因此,终端需要缩短心跳间隔,以重连长连接。
83.步骤106、终端按照降低后的心跳间隔,控制长连接断开重连。
84.步骤107、终端在心跳成功次数达到阈值的情况下,按照降低后的心跳间隔,进行稳定态心跳检测。
85.在心跳成功次数达到阈值的情况下,终端可以使用该心跳间隔进行心跳检测,控制终端进入稳定态,并不再改变心跳间隔,进行稳定态心跳检测。
86.如此,通过上述的步骤101至步骤107,终端可以探测得到所要使用的最大稳定态心跳间隔。
87.然而,上述的心跳间隔探测方法都是针对单个终端所设置的。若在同一网络中同时存在多个终端,则该多个终端均需要进行完整的心跳间隔探测过程,并不断向服务器发送网络请求,才能得到最大稳定态心跳间隔,因此该同一网络中同时存在的多个终端均会在探测最大稳定态心跳间隔的过程中产生一定的功耗,从而造成了不必要的功耗的浪费。
88.而在本技术实施例提供的心跳检测方法、装置、电子设备及服务器中,由于同一网络中,终端使用的可以维持长连接的最大稳定态心跳间隔相同,因此第一终端在进行心跳检测时,可以通过复用同一网络中其他终端探测到的最大稳定态心跳间隔进行稳定态心跳检测。从而使得第一终端无需进行心跳间隔的探测操作便可获得最大稳定态心跳间隔,节省了终端在选择合适的心跳间隔时功耗的消耗。
89.本技术实施例提供的心跳检测方法的执行主体可以为心跳检测装置。示例性地,该心跳检测装置可以为终端,也可以为该终端中的部件,例如集成电路或芯片。以下将以终端为例对本技术实施例提供的心跳检测方法进行示例性说明。
90.以下通过具体的实施例对本技术实施例提供的心跳检测方法进行示例性说明。
91.在一种方式中,本技术实施例提供一种心跳检测方法,图2示出了本技术实施例提供的一种心跳检测方法的流程图,该方法可以应用于第一终端。如图2所示,本技术实施例提供的心跳检测方法可以包括下述的步骤201至步骤202。
92.步骤201、第一终端接收服务器发送的第一消息。
93.其中,上述第一消息携带有服务器预存的第一心跳间隔。
94.在本技术的一些实施例中,在第一终端与服务器建立长连接之后,服务器可以向第一终端发送一个回执消息,该回执消息携带有服务器预存的第一心跳间隔。换句话说,服务器可以通过发送第一消息,向第一终端发送第一心跳间隔。
95.在本技术的一些实施例中,上述第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔。可以理解的是,该最大稳定态心跳间隔可以为第二终端在第一网络探测的、接近或等于第一网络的nat超时时间的心跳间隔。换句话说,第二终端在第一网络中使用该最大稳定态心跳间隔进行心跳检测时,所产生的功耗最小。
96.在本技术的一些实施例中,在第一终端从第二终端接收第一心跳间隔之后,可以将该第一心跳间隔作为第一终端在第一网络中的最大稳定态心跳间隔,控制终端进入稳定态,进行心跳检测。也就是说,第一终端可以复用第二终端在第一网络探测到的最大稳定态心跳间隔,控制终端进入稳定态,进行心跳检测,以节省第一终端自行在第一网络探测最大稳定态心跳间隔的功耗。
97.在本技术的一些实施例中,上述第一终端与第二终端为与第一网络连接的不同终端。
98.在本技术的一些实施例中,上述服务器可以为与第一网络的网络设备连接的服务器。
99.需要说明的是,上述服务器可以与多个网络连接,第一网络为该多个网络中的一个网络。
100.在本技术的一些实施例中,第一终端可以在与服务器建立长连接的情况下,从同一网络中的第二终端接收第一心跳间隔。可以理解的是,上述第一心跳间隔可以为维持该长连接的最大心跳间隔。
101.在本技术的一些实施例中,上述第一网络可以为局域网网络。可以理解的是,在同一局域网下,即在同一网络环境中,其nat超时时间是相同的,因此同一局域网下的多个终端可以使用的最大的心跳间隔也是相同的。如此,第一终端可以通过复用第二终端探测到的最大稳定态心跳间隔,来节省获取最大稳定态心跳间隔时所消耗的功耗。
102.示例性地,以第二终端在第一网络探测到的最大稳定态心跳间隔为60s为例。若第一网络的覆盖范围为一个房间,则该房间中与第一网络连接的多个终端可以使用的最大的心跳间隔均为60s。
103.示例性地,以第二终端在第一网络探测到的最大稳定态心跳间隔为30s为例。若第一网络的覆盖范围为一层楼层,则该层楼层中与第一网络连接的多个终端可以使用的最大的心跳间隔均为30s。
104.步骤202、第一终端按照第一心跳间隔进行稳定态心跳检测。
105.在本技术的一些实施例中,第一终端通过心跳检测,可以检测第一终端与服务器间的连接状态。可以理解的是,上述稳定态心跳检测可以为第一终端固定按照第一心跳间隔进行的心跳检测。
106.在本技术的一些实施例中,第一终端在进行心跳检测时,可以向服务器发送一个心跳检测信息;服务器在接收到第一终端发送的心跳检测信息之后,可以向第一终端发送心跳成功的反馈消息,以表示该次心跳成功。即,第一终端与服务器间的长连接的连接状况
良好。
107.在本技术的一些实施例中,上述心跳检测信息可以包括自定义的命令符,以通知服务器第一终端当前的状态。
108.在本技术的一些实施例中,上述心跳成功的反馈消息可以为第一终端与服务器约定好的数据包或信号,以表示第一终端与服务器间长连接的连接状态。
109.示例性地,第一终端可以按照第一心跳间隔,向服务器发送无意义的数据包,如带有确认字符(acknowledge character,ack)的空数据包;服务器在接收到第一终端发送的心跳检测信息之后,可以在网络状况良好、且第一终端与服务器间的长连接未断开的情况下,向第一终端发送一个ack信息作为心跳成功的反馈消息,以表示第一终端与服务器间长连接的连接状态良好。
110.示例性地,第一终端可以按照第一心跳间隔,向服务器发送一个固定的信号;服务器在接收到第一终端发送的固定信号之后,可以在网络状况良好、且第一终端与服务器间的长连接未断开的情况下,向第一终端发送另一个固定信号作为心跳成功的反馈消息,以表示第一终端与服务器间长连接的连接状态良好。
111.在本技术实施例提供的心跳检测方法中,由于同一网络中,终端使用的可以维持长连接的最大稳定态心跳间隔相同,因此第一终端在进行心跳检测时,可以通过复用同一网络中其他终端探测到的最大稳定态心跳间隔进行稳定态心跳检测。从而使得第一终端无需进行心跳间隔的探测操作便可获得最大稳定态心跳间隔,节省了终端在选择合适的心跳间隔时功耗的消耗。
112.在本技术的一些实施例中,结合图2,如图3所示,在上述步骤202之后,本技术实施例提供的心跳检测方法还可以包括下述的步骤203和步骤204。
113.步骤203、第一终端在发生心跳失败事件的情况下,按照第一步长,降低第一心跳间隔。
114.在本技术的一些实施例中,上述心跳失败事件可以指第一终端在进行稳定态心跳检测的过程中,向服务器发送心跳检测信息之后,没有在预定时间内接收到服务器发送的心跳成功的反馈消息。也就是说,若第一终端在预定时间内接收到服务器发送的心跳异常的反馈消息,则第一终端也可以认为发生心跳失败事件,即第一终端与服务器间长连接断开或出现异常。
115.示例性地,以上述预定时间为60s为例,若第一终端没有在60s内接收到服务器发送的心跳成功的反馈消息,则可以认为发生心跳失败事件。
116.示例性地,以上述预定时间为30s为例,若第一终端在30s内接收到服务器发送的长连接异常的反馈消息,则也可以认为发生心跳失败事件。
117.示例性地,第一终端在按照第一心跳间隔,向服务器发送带有ack的空数据包之后,接收到服务器发送的重置(reset,rst)信息。则第一终端可以认为发生心跳失败事件。即第一终端与服务器间的长连接存在异常,可能已经断开。
118.在本技术的一些实施例中,上述预定时间可以为用户设置的,也可以为第一终端默认的,还可以为根据大数据确定的。本技术实施例不作具体限定。
119.在本技术的一些实施例中,上述第一步长可以指示每次改变第一心跳间隔的时长。上述“按照第一步长,降低第一心跳间隔”可以理解为:第一终端每次对第一心跳间隔降
低一个第一步长。
120.示例性地,以第一步长为5s,第一心跳间隔为30s为例。按照第一步长降低一次第一心跳间隔则可以指将第一心跳间隔降低至55s。
121.示例性地,以第一步长为10s,第一心跳间隔为60s为例。按照第一步长降低一次第一心跳间隔则可以指将第一心跳间隔降低至50s。
122.在本技术的一些实施例中,上述第一步长可以为用户设置的,也可以为终端默认的,还可以为根据大数据确定的。本技术实施例不作具体限定。
123.步骤204、第一终端在基于降低后的第一心跳间隔,在第一网络探测第二心跳间隔,且第二心跳间隔为第一终端在第一网络探测到的最大稳定态心跳间隔的情况下,按照第二心跳间隔进行稳定态心跳检测。
124.可以理解的是,上述第二心跳间隔与第一心跳间隔可以相同,也可以不同。
125.在本技术的一些实施例中,“基于降低后的第一心跳间隔,在第一网络探测第二心跳间隔”可以理解为:第一终端在发生心跳失败事件的情况下,可以控制第一终端退出稳定态,按照第一步长降低该第一心跳间隔,并按照降低后的第一心跳间隔向服务器发送心跳检测信息,探测第二心跳间隔。
126.示例性地,以第一步长为10s,第一心跳间隔为60s为例。第一终端在发生心跳失败事件的情况下,可以控制第一终端退出稳定态,将心跳间隔60s降低10s,并按照50s的心跳间隔进行心跳检测。若第一终端按照50s的心跳间隔可以连续进行多次心跳成功的心跳检测,则第一终端可以将该50s的心跳间隔确定为在第一网络探测到的最大稳定态心跳间隔,即第二心跳间隔。
127.示例性地,以第一步长为5s,第一心跳间隔为50s为例。第一终端在发生心跳失败事件的情况下,可以控制第一终端退出稳定态,将心跳间隔50s降低5s,并按照45s的心跳间隔进行心跳检测。若仍然发生心跳失败事件,则第一终端可以将45s再降低5s,按照40s的心跳间隔进行心跳检测。若第一终端按照40s的心跳间隔可以连续进行多次心跳成功的心跳检测,则第一终端可以将该40s的心跳间隔确定为在第一网络探测到的最大稳定态心跳间隔,即第二心跳间隔。
128.需要说明的是,对于同一网络下的不同终端,可能会由于终端的配置不同,网络的不稳定等因素而导致其所使用的最大稳定态心跳间隔不同。因此第一终端可以在使用第一心跳间隔进行心跳检测发生心跳失败的情况下,退出稳定态,按照第一步长降低第一心跳间隔,在第一网络探测第二心跳间隔,从而找到适合第一终端的最大稳定态心跳间隔。
129.在本技术的一些实施例中,第一终端按照第一终端自己探测的第二心跳间隔,进行稳定态心跳检测,从而可以保证第一终端所使用的心跳间隔为合适的心跳间隔。
130.关于第一终端按照第二心跳间隔进行稳定态心跳检测的详细描述,可以参见上述步骤202中第一终端按照第一心跳间隔进行稳定态心跳检测的相关描述,此处不再赘述。
131.如此,由于第一终端可以在发生心跳失败事件的情况下,降低心跳间隔,在第一网络重新探测适合第一终端的心跳间隔,因此可以保证所使用的心跳间隔为适合第一终端的心跳间隔,第一终端通过该心跳间隔可以使用最低的功耗维持与服务器之间的长连接。
132.在本技术的一些实施例中,本技术实施例提供的心跳检测方法还可以包括下述的步骤205。
133.步骤205、在第一终端在第一网络探测到第二心跳间隔的情况下,第一终端向服务器发送第二消息。
134.其中,上述第二消息携带有第二心跳间隔。
135.在本技术的一些实施例中,第一终端可以通过发送第二消息,向服务器发送第二心跳间隔。
136.在本技术的一些实施例中,第一终端可以在第一终端在第一网络探测到第二心跳间隔的情况下,向服务器发送第二心跳间隔。从而服务器可以在接收到第二心跳间隔之后,可以将该第二心跳间隔与第一终端所处的第一网络进行对应存储,使得在其他终端连接第一网络时,可以将该第二心跳间隔直接下发给其他终端,从而使得其他终端可以复用第二心跳间隔而无需进行最大稳定态心跳间隔的探测,进而节省了其他终端在进行探测时产生的功耗。
137.示例性地,如图4所示,第一网络包括服务器41和网络设备42;终端43、终端44和终端45与网络设备42连接。假设第一心跳间隔为65s,第一步长为5s。若终端43在按照65s的心跳间隔进行心跳检测时发生心跳失败事件,则终端43可以将65s的心跳间隔降低5s,按照降低后的60s的心跳间隔在第一网络探测第二心跳间隔。若终端43按照60s的心跳间隔可以进行多次心跳成功的心跳检测,则终端43可以将60s确定为第一网络中探测到的最大稳定态心跳间隔,即第二心跳间隔。然后,终端43可以将该60s的心跳间隔发送给服务器41,从而使得服务器41可以将该60s的心跳间隔下发给终端44和终端45,使得终端44和终端45可以通过复用60s的心跳间隔,直接进入稳定态,按照第二心跳间隔进行稳定态心跳检测。
138.示例性地,如图4所示,第一网络包括服务器41和网络设备42;终端43、终端44和终端45与网络设备42连接。假设第一心跳间隔为70s,第一步长为7s。若终端44在按照70s的心跳间隔进行心跳检测时发生心跳失败事件,则终端44可以将70s的心跳间隔降低7s,按照降低后的63s的心跳间隔在第一网络探测第二心跳间隔。若终端44按照63s的心跳间隔进行心跳检测时发生心跳失败事件,则终端44可以将63s的心跳间隔再降低7s,按照降低后的56s的心跳间隔在第一网络探测第二心跳间隔。若终端44按照56s的心跳间隔可以进行多次心跳成功的心跳检测,则终端44可以将56s确定为第一网络中探测到的最大稳定态心跳间隔,即第二心跳间隔。然后,终端44可以将该56s的心跳间隔发送给服务器41,从而使得服务器41可以将该56s的心跳间隔下发给终端43和终端45,使得终端43和终端45可以通过复用56s的心跳间隔,直接进入稳定态,按照第二心跳间隔进行稳定态心跳检测。
139.需要说明的是,上述步骤205可以在步骤204之前执行,也可以在步骤204之后执行,还可以与步骤204同时执行。本技术实施例不作具体限定。
140.如此,由于第一终端可以将其在第一网络探测到的最大稳定态心跳发送给服务器。因此,第一网络中除第一终端以外的其他终端可以直接将接收的服务器下发的心跳间隔作为最大稳定态心跳间隔进行稳定态心跳检测,从而节省了探测过程中所产生的功耗。
141.本技术实施例提供了一种心跳检测方法,图5示出了本技术实施例提供的一种心跳检测方法的流程图,该方法可以应用于服务器。如图5所示,本技术实施例提供的心跳检测方法可以包括下述的步骤301至步骤303。
142.步骤301、服务器在通过第一网络与第一终端成功建立长连接的情况下,获取第一网络的网络出口ip。
143.其中,服务器为与第一网络连接的服务器。
144.在本技术的一些实施例中,服务器可以根据第一终端所处的第一网络,获取该第一网络的网络出口ip。
145.示例性地,服务器可以通过ip协议头获取第一网络的网络出口ip。
146.示例性地,服务器可以通过命令行查询第一网络的网络出口ip。
147.步骤302、服务器获取预存的与第一网络的网络出口ip对应的第一心跳间隔。
148.在本技术的一些实施例中,服务器中可以预存有至少一个网络出口ip与心跳间隔间的映射关系。
149.在本技术的一些实施例中,结合图5,如图6所示,上述步骤302可以包括下述的步骤302a和步骤302b。
150.步骤302a、服务器基于第一网络的网络出口ip,从预存的至少一个网络的网络出口ip与心跳间隔之间的映射关系中,确定第一网络的网络出口ip与第一心跳间隔之间的第一映射关系。
151.步骤302b、服务器基于第一映射关系,获取第一心跳间隔。
152.在本技术的一些实施例中,上述至少一个网络出口ip与心跳间隔间的映射关系可以指示网络出口ip对应的网络中的终端可以使用的最大稳定态心跳间隔。
153.在本技术的一些实施例中,服务器可以先获取第一网络的网络出口ip,然后从预存的至少一个网络出口ip与心跳间隔间的映射关系中,找到第一网络的网络出口ip与第一心跳间隔的第一映射关系。然后根据该第一映射关系,获取第一网络的网络出口ip对应的第一心跳间隔。
154.示例性地,假设服务器中预存有网络出口ip1与心跳间隔a的映射关系、网络出口ip2与心跳间隔b的映射关系、以及网络出口ip3与心跳间隔c的映射关系。若第一终端所处的网络的网络出口ip为网络出口ip2,则第一终端在该网络下可以使用的最大稳定态心跳间隔为心跳间隔b。服务器可以先获取第一终端所处的网络的网络出口ip,即网络出口ip2;然后,服务器可以从预存的映射关系中,确定网络出口ip2与心跳间隔b的映射关系;并根据网络出口ip2与心跳间隔b的映射关系,获取到第一终端在该网络下可以使用的心跳间隔b。
155.如此,由于服务器可以从预存的至少一个网络出口ip与心跳间隔间的映射关系中,直接获取第一网络的网络出口ip对应的第一心跳间隔间,因此可以直接将该第一心跳间隔间下发给第一网络中的终端,从而可以节省终端探测最大稳定态心跳间隔的过程中所产生的功耗。
156.步骤303、服务器向第一终端发送第一消息。
157.其中,上述第一消息携带有第一心跳间隔。
158.在本技术的一些实施例中,在第一终端所处的网络为第一网络的情况下,服务器可以根据第一网络的网络出口ip与第一心跳间隔间的映射关系,确定出第一终端在第一网络中可以使用的最大稳定态心跳间隔为第一心跳间隔,从而可以直接将该第一心跳间隔发送给第一终端。第一终端在接收到服务器发送的第一心跳间隔之后,可以直接按照该第一心跳间隔进行稳定态心跳检测,而无需在第一网络探测该第一心跳间隔。
159.如此,由于服务器可以预存网络出口ip与心跳间隔间的映射关系,因此可以在终端与服务器建立长连接时,直接根据上述映射关系,将与终端所处网络对应的心跳间隔发
送给该终端,从而使得该终端可以直接按照服务器发送的心跳间隔进行稳定态心跳检测,而无需自行探测该心跳间隔,节省了终端的功耗。
160.在本技术的一些实施例中,结合图5,如图7所示,在上述步骤301之前,本技术实施例提供的心跳检测方法还可以包括下述的步骤304和步骤305。
161.步骤304、服务器接收第一网络中的第二终端发送的第三消息。
162.其中,上述第三消息携带有第一心跳间隔。
163.在本技术的一些实施例中,第二终端可以通过发送第三消息,向服务器发送第一心跳间隔。
164.其中,上述第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔。可以理解的是,上述第二终端与第一终端可以为与第一网络连接的不同终端。
165.步骤305、服务器建立第一映射关系,并在服务器中存储第一映射关系。
166.在本技术的一些实施例中,服务器在接收到第二终端发送的第一心跳间隔之后,可以建立该第二终端所在的第一网络的网络出口ip与第一心跳间隔的映射关系,即第一映射关系,并在服务器中存储该第一映射关系。
167.可以理解的是,由于同一网络下多个终端所使用的网络出口ip相同,因此服务器可以通过网络出口ip表示网络,通过建立网络出口ip与心跳间隔的映射关系,来建立网络与心跳间隔的映射关系。
168.示例性地,服务器在接收到第二终端发送的第一心跳间隔之后,可以通过键值(key-value)映射表存储第一网络的网络出口ip与第一心跳间隔间的映射关系。其中,键(key)可以用于记录网络的网络出口ip,值(value)可以用于记录与网络出口ip对应的心跳间隔。可以理解的是,上述键值表中可以包含多个键值对,每个键值对可以表示一个网络出口ip与心跳间隔的对应关系。
169.例如,如表1所示,表1中包含网络1的网络出口ip1与心跳间隔t1的映射关系,以及网络2的网络出口ip2与心跳间隔t2的映射关系。
170.表1
171.key(网络出口ip)value(心跳间隔)ip1t1ip2t2
172.如此,由于服务器可以将第二终端在第一网络探测到的最大稳定态心跳间隔与该第一网络的网络出口ip对应存储,因此可以在第一网络中有其他终端接入的情况下,直接将该心跳间隔发送给后接入的其他终端,而无需其他终端自行探测最大稳定态心跳间隔,节省了终端探测过程的功耗。
173.在本技术的一些实施例中,在上述步骤305之后,本技术实施例提供的心跳检测方法还可以包括下述的步骤306和步骤307。
174.步骤306、服务器接收第一终端发送的第二消息。
175.可以理解的是,上述第二消息携带有第二心跳间隔。
176.在本技术的一些实施例中,上述第二心跳间隔为第一终端在第一网络探测到的最大稳定态心跳间隔。
177.步骤307、服务器在第一心跳间隔与第二心跳间隔不同的情况下,建立第一网络的
网络出口ip与第二心跳间隔之间的第二映射关系,并将服务器中存储的第一映射关系替换为第二映射关系。
178.在本技术的一些实施例中,第一终端在接入第一网络之后,可以接收服务器发送的第一心跳间隔,并按照第一心跳间隔进行稳定态心跳检测。然后,第一终端可以在发生心跳失败事件之后,按照第一步长,降低该第一心跳间隔。并在基于该降低后的第一心跳间隔,在第一网络中探测第二心跳间隔,且该第二心跳间隔为第一终端在第一网络探测到的最大稳定态心跳间隔的情况下,按照第二心跳间隔进行稳定态心跳检测,并将探测到的第二心跳间隔发送给服务器。从而,服务器可以在第一心跳间隔与第二心跳间隔不同的情况下,建立第一网络的网络出口ip与第二心跳间隔的映射关系,并将服务器中存储的第一网络的网络出口ip与第一心跳间隔的第一映射关系替换为第一网络的网络出口ip与第二心跳间隔的映射关系。
179.需要说明的是,上述步骤306和步骤307可以在上述步骤301至步骤303之前执行,也可以在上述步骤301至步骤303之后执行,还可以与上述步骤301至步骤303同时执行。本技术实施例不作具体限定。
180.如此,由于服务器可以根据终端发送的心跳间隔,更新服务器中存储的网络出口ip与心跳间隔的映射关系,因此可以确保服务器中存储的映射关系指示的网络中可以使用的最大稳定态心跳间隔为合适的心跳间隔,避免终端使用服务器发送的不合适的心跳间隔进行心跳检测而导致的功耗的浪费。
181.本技术实施例提供了一种心跳检测方法,图8示出了本技术实施例提供的一种心跳检测方法的流程图,该方法可以应用于第二终端。如图8所示,本技术实施例提供的心跳检测方法可以包括下述的步骤401和步骤402。
182.步骤401、第二终端在第一网络探测第一心跳间隔。
183.其中,上述第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔。
184.在本技术的一些实施例中,上述第二终端可以在与第一网络连接之后,进行第一心跳间隔的探测。
185.示例性地,第二终端可以与第一网络连接之后,按照第一步长增加或减小初始心跳检测,从而在第一网络探测第一心跳间隔。
186.步骤402、第二终端按照第一心跳间隔进行稳定态心跳检测,并向服务器发送第三消息。
187.其中,上述第三消息携带有第一心跳间隔。
188.在本技术的一些实施例中,第二终端在第一网络探测第一心跳间隔之后,可以向服务器发送该第一心跳间隔。从而服务器可以将该第一心跳间隔与第一网络进行对应存储,使得服务器可以直接向第一网络中的其他终端发送该第一心跳间隔,而无需第一网络中的每个终端都进行第一心跳间隔的探测,节省的终端的功耗。
189.如此,由于在同一网络中,终端使用的可以维持长连接的最大稳定态心跳间隔相同,因此第二终端可以将在第一网络探测到的最大稳定态心跳间隔发送给服务器,以使得第一网络中除第二终端以外的其他终端可以通过复用该最大稳定态心跳间隔进行稳定态心跳检测。从而使得其他终端无需进行心跳间隔的探测操作便可获得最大稳定态心跳间隔,节省了终端在选择合适的心跳间隔时功耗的消耗。
190.以下以具体示例来对本技术实施例提供的心跳检测方法进行示例性说明。
191.以第一终端为终端a,第二终端为终端b,第一网络为wlan1为例。如图9所示,该心跳检测方法可以包括下述的步骤501至步骤508。
192.步骤501、终端b在wlan1探测最大稳定态心跳间隔t1。
193.在本技术的一些实施例中,wlan1可以为与终端b连接的局域网,终端b可以在wlan1探测t1,以使得终端b可以按照t1进行稳定态心跳检测。
194.步骤502、终端b向服务器发送t1。
195.步骤503、服务器建立t1与wlan1的网络出口ip1的映射关系,并在服务器中存储该映射关系。
196.在本技术的一些实施例中,服务器存储t1与wlan1的网络出口ip1的映射关系之后,可以向后接入wlan1的终端发送与wlan1的网络出口ip1对应的心跳间隔t1。从而使得后接入wlan1的终端无需进行探测便可直接得到进行稳定态心跳检测所需的最大稳定态心跳间隔。
197.步骤504、服务器在通过wlan1与终端a建立长连接的情况下,向终端a发送t1。
198.可以理解的是,上述服务器可以为与wlan1连接的服务器。
199.步骤505、终端a将t1作为最大稳定态心跳间隔进行稳定态心跳检测。
200.可以理解的是,终端a在按照t1进行稳定态心跳检测时,其进行心跳检测所消耗的功耗最小。
201.步骤506、终端a在发生心跳失败事件的情况下,按照第一步长降低t1,基于降低后的t1在wlan1探测心跳间隔t2。
202.步骤507、终端a向服务器发送t2。
203.在本技术的一些实施例中,终端a可以在基于降低后的t1,在wlan1探测t2,且该t2为终端a在wlan1探测到的最大稳定态心跳间隔的情况下,按照t2进行稳定态心跳检测,并向服务器发送t2,以使得服务器可以建立t2与wlan1的网络出口ip的映射关系。
204.步骤508、服务器建立t2与wlan1的网络出口ip1的映射关系,并将服务器中存储t1与wlan1的网络出口ip1的映射关系替换为t2与wlan1的网络出口ip1的映射关系。
205.如此,服务器可以将终端b将在wlan1探测到的最大稳定态心跳间隔与wlan1的网络出口ip进行映射存储,从而在其他终端接入wlan1时直接将器对应的心跳间隔发送给新接入的其他终端;并及时对wlan1对应的心跳间隔进行更新。从而可以使得新接入的其他终端无需进行最大稳定态心跳间隔的探测过程,降低了终端的功耗。
206.在另一种方式中,本技术实施例提供了一种心跳检测方法,图10示出了本技术实施例提供的一种心跳检测方法的流程图,该方法可以应用于第一终端。如图10所示,本技术实施例提供的心跳检测方法可以包括下述的步骤601和步骤602。
207.步骤601、第一终端从第二终端接收第三心跳间隔。
208.其中,上述第三心跳间隔为第二终端在第二网络探测到的最大稳定态心跳间隔。
209.在本技术的一些实施例中,上述第一终端与第二终端为与第二网络连接的不同终端。
210.在本技术的一些实施例,上述第二网络可以为局域网网络。上述第二网络与第一网络可以相同,也可以不同。
211.可以理解的是,在第二网络与第一网络相同的情况下,第三心跳间隔与第一心跳间隔可以相同,也可以不同。在第二网络与第一网络不同的情况下,第二网络与第一网络可以为与同一服务器连接的网络,也可以为与不同服务器连接的网络。
212.在本技术的一些实施例中,第二终端可以将第三心跳间隔以广播的形式,发送给第二网络中除第二终端以外的其他终端,从而使得第二网络中除第二终端以外的其他终端可以直接复用第三心跳间隔进行心跳检测。
213.需要说明的是,在第二终端通过广播的形式向第二网络中除第二终端以外的其他终端发送第三心跳间隔的情况下,第二网络中除第二终端以外的其他终端,如第一终端,在接入第二网络之后,可以在第二网络中注册广播接收器,以监听第二网络中的广播,从而第一终端可以接收到第二终端广播的第三心跳间隔,并将该第三心跳间隔作为其在第二网络中的最大稳定态心跳间隔进行稳定态心跳检测。
214.步骤602、第一终端按照第三心跳间隔进行稳定态心跳检测。
215.在本技术的一些实施例中,上述第一终端按照第三心跳间隔进行稳定态心跳检测的详细描述,可以参见上述步骤202中第一终端按照第一心跳间隔进行稳定态心跳检测中的相关描述,此处不再赘述。
216.如此,由于同一网络中,终端使用的可以维持长连接的最大稳定态心跳间隔相同,因此第一终端在进行心跳检测时,可以通过复用同一网络中其他终端探测到的最大稳定态心跳间隔进行稳定态心跳检测。从而使得第一终端无需进行心跳间隔的探测操作便可获得最大稳定态心跳间隔,节省了终端在选择合适的心跳间隔时功耗的消耗。
217.在本技术的一些实施例中,在上述步骤602之后,本技术实施例提供的心跳检测方法还可以包括下述的步骤603和步骤604。
218.步骤603、第一终端在发生心跳失败事件的情况下,按照第二步长,降低第三心跳间隔。
219.步骤604、第一终端在基于降低后的第三心跳间隔,在第二网络探测第四心跳间隔,且第四心跳间隔为第一终端在第二网络探测到的最大稳定态心跳间隔的情况下,按照第四心跳间隔进行稳定态心跳检测。
220.关于上述步骤603和步骤604的详细描述,可以参见上述步骤203和步骤204中的详细描述,此处不再赘述。
221.如此,由于第一终端可以在发生心跳失败事件的情况下,降低心跳间隔,在第一网络重新探测适合第一终端的心跳间隔,因此可以保证所使用的心跳间隔为适合第一终端的心跳间隔,第一终端通过该心跳间隔可以使用最低的功耗维持与服务器之间的长连接。
222.在本技术的一些实施例中,在上述步骤604之后,本技术实施例提供的心跳检测方法还可以包括下述的步骤605。
223.步骤605、第一终端在接收到服务器发送的心跳成功反馈消息的情况下,广播第四心跳间隔。
224.在本技术的一些实施例中,上述第四心跳间隔与第三心跳间隔可以相同,也可以不同。
225.可以理解的是,第一终端可以接收到服务器发送的心跳成功反馈消息,则可以表示:第一终端与服务器间的长连接的连接状况良好,即第四心跳间隔可以维持长连接。因
此,第一终端可以在接收到服务器发送的心跳成功反馈消息的情况下,广播第四心跳间隔。
226.在本技术的一些实施例中,第一终端可以在每次接收到服务器发送的心跳成功反馈消息的情况下,广播第四心跳间隔,以使得第一网络中除第一终端以外的其他终端可以及时的接收到第一终端广播的第四心跳间隔,从而可以通过复用该心跳间隔进行心跳检测,节省终端的功耗。
227.在本技术的一些实施例中,在第二网络具有多层网络设备的情况下,第一终端可以仅向与同一网络设备连接的终端广播第四心跳间隔,从而使得同一网络下的终端可以更加准确的复用最大稳定态心跳间隔。
228.示例性地,如图11所示,第二网络包括服务器111、网络设备112、网络设备113、网络设备114和网络设备115。其中,网络设备113下的一个终端可以向网络设备113下的其他终端广播心跳间隔,以使得网络设备113下的其他终端可以复用该一个终端在第二网络探测到的最大稳定态心跳间隔;网络设备114下的一个终端可以向网络设备114下的其他终端广播心跳间隔,以使得网络设备114下的其他终端可以复用该一个终端在第二网络探测到的最大稳定态心跳间隔;网络设备115下的一个终端可以向网络设备115下的其他终端广播心跳间隔,以使得网络设备115下的其他终端可以复用该一个终端在第二网络探测到的最大稳定态心跳间隔。
229.如此,由于第一终端在进行稳定态心跳检测时,只在心跳成功的情况下,广播该心跳间隔,因此可以保证同一网络中的其他终端复用的心跳间隔为可以维持长连接的心跳间隔,避免使用错误的心跳间隔而造成的功耗浪费。
230.本技术实施例提供了一种心跳检测方法,图12示出了本技术实施例提供的一种心跳检测方法的流程图,该方法可以应用于第二终端。如图12所示,本技术实施例提供的心跳检测方法可以包括下述的步骤701至步骤703。
231.步骤701、第二终端在第二网络探测第三心跳间隔。
232.其中,第三心跳间隔为第二终端在第二网络探测到的最大稳定态心跳间隔。
233.步骤702、第二终端按照第三心跳间隔进行稳定态心跳检测。
234.步骤703、第二终端在接收到服务器发送的心跳成功反馈消息的情况下,广播第三心跳间隔。
235.关于上述步骤701至步骤703的详细描述,可以参见上述步骤601至步骤605中的相关描述,此处不再赘述。
236.如此,由于第二终端可以在第二网络中探测第三心跳间隔,并在按照第三心跳间隔进行稳定态心跳检测时,在接收到服务器发送的心跳成功反馈消息的情况下,广播第三心跳间隔,因此可以保证同一网络中的其他终端复用的心跳间隔为可以维持长连接的心跳间隔,避免使用错误的心跳间隔而造成的功耗浪费。
237.以下以具体示例来对本技术实施例提供的心跳检测方法进行示例性说明。
238.以第一终端为终端c,第二终端为终端d,第一网络为wlan2为例。如图13所示,该心跳检测方法可以包括下述的步骤801至步骤806。
239.步骤801、终端d在wlan2下探测最大稳定态心跳间隔t3。
240.在本技术的一些实施例中,wlan2可以为与终端d连接的局域网,终端d可以在wlan2探测t3,以使得终端d可以按照t3进行稳定态心跳检测。
241.步骤802、终端d广播t3。
242.步骤803、终端c在接入wlan2的情况下,注册广播接收器,监听wlan2广播。
243.步骤804、终端c接收终端d广播的t3,并将t3作为最大稳定态心跳间隔进行心跳检测。
244.可以理解的是,终端c在按照t3进行稳定态心跳检测时,其进行心跳检测所消耗的功耗最小。
245.步骤805、终端c在发生心跳失败事件的情况下,按照第一步长降低t3,基于降低后的t3在wlan2探测心跳间隔t4。
246.步骤806、终端c广播t4。
247.在本技术的一些实施例中,终端c可以在基于降低后的t3,在wlan2探测t4,且该t4为终端a在wlan2探测到的最大稳定态心跳间隔的情况下,按照t4进行稳定态心跳检测,并广播t4,以使得与wlan2连接的其他终端可以接收并按照t4进行稳定态心跳检测。
248.如此,一方面,由于终端在探测得到最大稳定态心跳间隔之后,可以将该心跳间隔广播给同一网络下的其他终端,实现最大稳定态心跳间隔的复用,降低终端的功耗。另一方面,由于无需服务器建立并存储网络出口ip与心跳间隔间的映射关系,因此可以降低了服务器的带宽成本、存储成本以及磁盘读写性能的消耗。
249.上述各个方法实施例,或者各个方法实施例中的各种可能的实现方式均可以单独执行,也可以任意两个或两个以上相互结合执行,具体可以根据实际使用需求确定,本技术实施例对此不做限制。
250.本技术实施例提供的心跳检测方法,执行主体可以为心跳检测装置。本技术实施例中以心跳检测装置执行心跳检测方法为例,说明本技术实施例提供的心跳检测装置。
251.图14示出了本技术实施例中涉及的心跳检测装置的一种可能的结构示意图。如图14所示,该心跳检测装置140可以包括:接收模块141和检测模块142。
252.其中,接收模块141,用于接收服务器发送的第一消息,第一消息携带有所述服务器预存的第一心跳间隔,第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔;检测模块142,用于按照接收模块141接收的第一心跳间隔进行稳定态心跳检测;其中,第一终端与第二终端为与第一网络连接的不同终端。
253.在一种可能的实现方式中,上述装置还包括:处理模块,用于在检测模块142按照第一心跳间隔进行稳定态心跳检测之后,在发生心跳失败事件的情况下,按照第一步长,降低第一心跳间隔;
254.上述检测模块142,还用于在基于处理模块得到的降低后的第一心跳间隔,在第一网络探测第二心跳间隔,且第二心跳间隔为第一终端在第一网络探测到的最大稳定态心跳间隔的情况下,按照第二心跳间隔进行稳定态心跳检测。
255.在一种可能的实现方式中,上述装置还包括:发送模块,用于在第一终端在第一网络探测到第二心跳间隔的情况下,向服务器发送第二消息,第二消息携带有第二心跳间隔。
256.本技术实施例提供一种心跳检测装置,由于同一网络中,终端使用的可以维持长连接的最大稳定态心跳间隔相同,因此第一终端在进行心跳检测时,可以通过复用同一网络中其他终端探测到的最大稳定态心跳间隔进行稳定态心跳检测。从而使得第一终端无需进行心跳间隔的探测操作便可获得最大稳定态心跳间隔,节省了终端在选择合适的心跳间
隔时功耗的消耗。
257.图15示出了本技术实施例中涉及的心跳检测装置的一种可能的结构示意图。如图15所示,该心跳检测装置150可以包括:获取模块151和发送模块152。
258.其中,获取模块151,用于在通过第一网络与第一终端成功建立长连接的情况下,获取第一网络的网络出口ip,其中,服务器为与第一网络连接的服务器;获取模块151,还用于获取预存的与第一网络的网络出口ip对应的第一心跳间隔;发送模块152,用于向第一终端发送第一消息,第一消息携带有获取模块151获取的第一心跳间隔。
259.在一种可能的实现方式中,上述获取模块151,具体用于:
260.基于第一网络的网络出口ip,从预存的至少一个网络的网络出口ip与心跳间隔之间的映射关系中,确定第一网络的网络出口ip与第一心跳间隔之间的第一映射关系;
261.基于第一映射关系,获取第一心跳间隔。
262.在一种可能的实现方式中,上述装置还包括:
263.接收模块,用于在获取模块151获取第一终端所处的第一网络的网络出口ip之前,接收第一网络中的第二终端发送的第三消息,第三消息携带有第一心跳间隔,第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔;
264.处理模块,用于建立第一映射关系,并在服务器中存储第一映射关系。
265.在一种可能的实现方式中,上述接收模块,还用于在处理模块建立第一映射关系,并在服务器中存储第一映射关系之后,接收第一终端发送的第二消息,第二消息携带有第二心跳间隔,第二心跳间隔为第一终端在第一网络探测到的最大稳定态心跳间隔;
266.处理模块,还用于在第一心跳间隔与接收模块接收到的第二心跳间隔不同的情况下,建立第一网络的网络出口ip与第二心跳间隔之间的第二映射关系,并将服务器中存储的第一映射关系替换为第二映射关系。
267.本技术实施例提供一种心跳检测装置,由于服务器可以预存网络出口ip与心跳间隔间的映射关系,因此可以在终端与服务器建立长连接时,直接根据上述映射关系,将与终端所处网络对应的心跳间隔发送给该终端,从而使得该终端可以直接按照服务器发送的心跳间隔进行稳定态心跳检测,而无需自行探测该心跳间隔,节省了终端的功耗。
268.图16示出了本技术实施例中涉及的心跳检测装置的一种可能的结构示意图。如图16所示,该心跳检测装置160可以包括:探测模块161、检测模块162和发送模块163。
269.其中,探测模块161,用于在第一网络探测第一心跳间隔,第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔;检测模块162,用于按照探测模块161探测到的第一心跳间隔进行稳定态心跳检测;发送模块163,用于向服务器发送第三消息,第三消息携带有探测模块161探测到的第一心跳间隔。
270.本技术实施例提供一种心跳检测装置,由于在同一网络中,终端使用的可以维持长连接的最大稳定态心跳间隔相同,因此第二终端可以将在第一网络探测到的最大稳定态心跳间隔发送给服务器,以使得第一网络中除第二终端以外的其他终端可以通过复用该最大稳定态心跳间隔进行稳定态心跳检测。从而使得其他终端无需进行心跳间隔的探测操作便可获得最大稳定态心跳间隔,节省了终端在选择合适的心跳间隔时功耗的消耗。
271.图17示出了本技术实施例中涉及的心跳检测装置的一种可能的结构示意图。如图17所示,该心跳检测装置170可以包括:接收模块171和检测模块172。
272.其中,接收模块171,用于从第二终端接收第三心跳间隔,第三心跳间隔为第二终端在第二网络探测到的最大稳定态心跳间隔;检测模块172,用于按照接收模块171接收的第三心跳间隔进行稳定态心跳检测;其中,第一终端与第二终端为与第二网络连接的不同终端。
273.在一种可能的实现方式中,上述处理模块,用于在检测模块172按照第三心跳间隔进行稳定态心跳检测之后,在发生心跳失败事件的情况下,按照第二步长,降低第三心跳间隔;
274.检测模块172,还用于在基于处理模块得到的降低后的第三心跳间隔,在第二网络探测第四心跳间隔,且第四心跳间隔为第一终端在第二网络探测到的最大稳定态心跳间隔的情况下,按照第四心跳间隔进行稳定态心跳检测。
275.在一种可能的实现方式中,上述装置还包括:
276.广播模块,用于在检测模块172按照第四心跳间隔进行稳定态心跳检测之后,在接收到服务器发送的心跳成功反馈消息的情况下,广播第四心跳间隔。
277.本技术实施例提供一种心跳检测装置,由于同一网络中,终端使用的可以维持长连接的最大稳定态心跳间隔相同,因此第一终端在进行心跳检测时,可以通过复用同一网络中其他终端探测到的最大稳定态心跳间隔进行稳定态心跳检测。从而使得第一终端无需进行心跳间隔的探测操作便可获得最大稳定态心跳间隔,节省了终端在选择合适的心跳间隔时功耗的消耗。
278.图18示出了本技术实施例中涉及的心跳检测装置的一种可能的结构示意图。如图18所示,该心跳检测装置180可以包括:探测模块181、检测模块182和广播模块183。
279.其中,探测模块181,用于在第二网络探测第三心跳间隔,第三心跳间隔为第二终端在第二网络探测到的最大稳定态心跳间隔;
280.检测模块182,用于按照探测模块181探测到的第三心跳间隔进行稳定态心跳检测;
281.广播模块183,用于在接收到服务器发送的心跳成功反馈消息的情况下,广播探测模块181探测到的第三心跳间隔。
282.本技术实施例提供一种心跳检测装置,由于第二终端可以在第二网络中探测第三心跳间隔,并在按照第三心跳间隔进行稳定态心跳检测时,在接收到服务器发送的心跳成功反馈消息的情况下,广播第三心跳间隔,因此可以保证同一网络中的其他终端复用的心跳间隔为可以维持长连接的心跳间隔,避免使用错误的心跳间隔而造成的功耗浪费。
283.本技术实施例中的心跳检测装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(mobile internet device,mid)、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等,还可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本技术实施例不作具体限定。
284.本技术实施例中的心跳检测装置可以为具有操作系统的装置。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本技术实施例不作具体限定。
285.本技术实施例提供的心跳检测装置能够实现如上述心跳检测方法实施例实现的各个过程,达到相同的技术效果,为避免重复,这里不再赘述。
286.可选地,如图19所示,本技术实施例还提供一种电子设备1900,包括处理器1901和存储器1902,存储器1902上存储有可在所述处理器1901上运行的程序或指令,该程序或指令被处理器1901执行时实现上述心跳检测方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
287.需要说明的是,本技术实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
288.本技术实施例提供的电子设备能够实现上述方法实施例中第一终端、服务器或第二终端实现的各个过程,为避免重复,这里不再赘述。
289.图20为实现本技术实施例的一种电子设备的硬件结构示意图。
290.该电子设备2000包括但不限于:射频单元2001、网络模块2002、音频输出单元2003、输入单元2004、传感器2005、显示单元2006、用户输入单元2007、接口单元2008、存储器2009、以及处理器2010等部件。
291.本领域技术人员可以理解,电子设备2000还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器2010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图20中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
292.其中,如图20所示的电子设备可以为上述实施例中的第一终端或第二终端。
293.在一种方式中,当如图20所示的电子设备为上述实施例中的第一终端时:
294.射频单元2001,用于接收服务器发送的第一消息,第一消息携带有所述服务器预存的第一心跳间隔,第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔;处理器2010,用于按照射频单元2001接收的第一心跳间隔进行稳定态心跳检测;其中,第一终端与第二终端为与第一网络连接的不同终端。
295.在一种可能的实现方式中,上述处理器2010,用于在按照第一心跳间隔进行稳定态心跳检测之后,在发生心跳失败事件的情况下,按照第一步长,降低第一心跳间隔;
296.上述处理器2010,还用于在基于降低后的第一心跳间隔,在第一网络探测第二心跳间隔,且第二心跳间隔为第一终端在第一网络探测到的最大稳定态心跳间隔的情况下,按照第二心跳间隔进行稳定态心跳检测。
297.在一种可能的实现方式中,上述射频单元2001,还用于在第一终端在第一网络探测到第二心跳间隔的情况下,向服务器发送第二消息,第二消息携带有第二心跳间隔。
298.本技术实施例提供一种电子设备,由于同一网络中,终端使用的可以维持长连接的最大稳定态心跳间隔相同,因此第一终端在进行心跳检测时,可以通过复用同一网络中其他终端探测到的最大稳定态心跳间隔进行稳定态心跳检测。从而使得第一终端无需进行心跳间隔的探测操作便可获得最大稳定态心跳间隔,节省了终端在选择合适的心跳间隔时
功耗的消耗。
299.当如图20所示的电子设备为上述实施例中的第二终端时:
300.处理器2010,用于在第一网络探测第一心跳间隔,第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔;处理器2010,用于按照第一心跳间隔进行稳定态心跳检测;射频单元2001,用于向服务器发送第三消息,第三消息携带有处理器2010探测到的第一心跳间隔。
301.本技术实施例提供一种电子设备,由于在同一网络中,终端使用的可以维持长连接的最大稳定态心跳间隔相同,因此第二终端可以将在第一网络探测到的最大稳定态心跳间隔发送给服务器,以使得第一网络中除第二终端以外的其他终端可以通过复用该最大稳定态心跳间隔进行稳定态心跳检测。从而使得其他终端无需进行心跳间隔的探测操作便可获得最大稳定态心跳间隔,节省了终端在选择合适的心跳间隔时功耗的消耗。
302.在另一种方式中,当如图20所示的电子设备为上述实施例中的第一终端时:
303.射频单元2001,用于从第二终端接收第三心跳间隔,第三心跳间隔为第二终端在第二网络探测到的最大稳定态心跳间隔;处理器2010,用于按照射频单元2001接收的第三心跳间隔进行稳定态心跳检测;其中,第一终端与第二终端为与第二网络连接的不同终端。
304.在一种可能的实现方式中,上述处理器2010,还用于在按照第三心跳间隔进行稳定态心跳检测之后,在发生心跳失败事件的情况下,按照第二步长,降低第三心跳间隔;
305.上述处理器2010,还用于在基于降低后的第三心跳间隔,在第二网络探测第四心跳间隔,且第四心跳间隔为第一终端在第二网络探测到的最大稳定态心跳间隔的情况下,按照第四心跳间隔进行稳定态心跳检测。
306.在一种可能的实现方式中,上述装置还包括:
307.射频单元2001,还用于在处理器2010按照第四心跳间隔进行稳定态心跳检测之后,在接收到服务器发送的心跳成功反馈消息的情况下,广播第四心跳间隔。
308.本技术实施例提供一种电子设备,由于同一网络中,终端使用的可以维持长连接的最大稳定态心跳间隔相同,因此第一终端在进行心跳检测时,可以通过复用同一网络中其他终端探测到的最大稳定态心跳间隔进行稳定态心跳检测。从而使得第一终端无需进行心跳间隔的探测操作便可获得最大稳定态心跳间隔,节省了终端在选择合适的心跳间隔时功耗的消耗。
309.当如图20所示的电子设备为上述实施例中的第二终端时:
310.处理器2010,用于在第二网络探测第三心跳间隔,第三心跳间隔为第二终端在第二网络探测到的最大稳定态心跳间隔;以及,用于按照第三心跳间隔进行稳定态心跳检测;
311.射频单元2001,用于在接收到服务器发送的心跳成功反馈消息的情况下,广播处理器2010探测到的第三心跳间隔。
312.本技术实施例提供一种电子设备,由于第二终端可以在第二网络中探测第三心跳间隔,并在按照第三心跳间隔进行稳定态心跳检测时,在接收到服务器发送的心跳成功反馈消息的情况下,广播第三心跳间隔,因此可以保证同一网络中的其他终端复用的心跳间隔为可以维持长连接的心跳间隔,避免使用错误的心跳间隔而造成的功耗浪费。
313.应理解的是,本技术实施例中,输入单元2004可以包括图形处理器(graphics processing unit,gpu)20041和麦克风20042,图形处理器20041对在视频捕获模式或图像
捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元2006可包括显示面板20061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板20061。用户输入单元2007包括触控面板20071以及其他输入设备20072中的至少一种。触控面板20071,也称为触摸屏。触控面板20071可包括触摸检测装置和触摸控制器两个部分。其他输入设备20072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
314.存储器2009可用于存储软件程序以及各种数据。存储器2009可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器2009可以包括易失性存储器或非易失性存储器,或者,存储器2009可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synch link dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,drram)。本技术实施例中的存储器2009包括但不限于这些和任意其它适合类型的存储器。
315.处理器2010可包括一个或多个处理单元;可选的,处理器2010集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器2010中。
316.图21示出了本技术实施例提供的一种服务器的结构示意图。
317.如图21所示,该服务器2100包括:天线211、射频装置212、基带装置213、处理器214和存储器215。天线211与射频装置212连接。在上行方向上,射频装置212通过天线211接收信息,将接收的信息发送给基带装置213进行处理。在下行方向上,基带装置213对要发送的信息进行处理,并发送给射频装置212,射频装置212对收到的信息进行处理后经过天线211发送出去。
318.以上实施例中服务器执行的方法可以在基带装置213中实现,该基带装置213包括基带处理器。
319.基带装置213例如可以包括至少一个基带板,该基带板上设置有多个芯片,如图21所示,其中一个芯片例如为基带处理器,通过总线接口与存储器215连接,以调用存储器215中的程序,执行以上方法实施例中所示的服务器操作。
320.该服务器还可以包括网络接口216,该接口例如为通用公共无线接口(common public radio interface,cpri)。
321.具体地,本发明实施例的服务器2100还包括:存储在存储器215上并可在处理器214上运行的指令或程序,处理器214调用存储器215中的指令或程序执行图14所示各模块执行的方法,并达到相同的技术效果,为避免重复,故不在此赘述。
322.本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述心跳检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
323.其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器rom、随机存取存储器ram、磁碟或者光盘等。
324.本技术实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述心跳检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
325.应理解,本技术实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
326.本技术实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述心跳检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
327.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
328.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
329.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。

技术特征:
1.一种心跳检测方法,其特征在于,所述方法包括:第一终端接收服务器发送的第一消息,所述第一消息携带有所述服务器预存的第一心跳间隔,所述第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔;所述第一终端按照所述第一心跳间隔进行稳定态心跳检测;其中,所述第一终端与所述第二终端为与所述第一网络连接的不同终端。2.根据权利要求1所述的方法,其特征在于,所述第一终端按照所述第一心跳间隔进行稳定态心跳检测之后,所述方法还包括:所述第一终端在发生心跳失败事件的情况下,按照第一步长,降低所述第一心跳间隔;所述第一终端在基于降低后的所述第一心跳间隔,在所述第一网络探测第二心跳间隔,且所述第二心跳间隔为所述第一终端在所述第一网络探测到的最大稳定态心跳间隔的情况下,按照所述第二心跳间隔进行稳定态心跳检测。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述第一终端在所述第一网络探测到第二心跳间隔的情况下,所述第一终端向所述服务器发送第二消息,所述第二消息携带有所述第二心跳间隔。4.一种心跳检测方法,其特征在于,所述方法包括:服务器在通过第一网络与第一终端成功建立长连接的情况下,获取所述第一网络的网络出口ip,其中,所述服务器为与所述第一网络连接的服务器;所述服务器获取预存的与所述第一网络的网络出口ip对应的第一心跳间隔;所述服务器向所述第一终端发送第一消息,所述第一消息携带有所述第一心跳间隔。5.根据权利要求4所述的方法,其特征在于,所述服务器获取预存的与所述第一网络的网络出口ip对应的第一心跳间隔,包括:所述服务器基于所述第一网络的网络出口ip,从预存的至少一个网络的网络出口ip与心跳间隔之间的映射关系中,确定所述第一网络的网络出口ip与所述第一心跳间隔之间的第一映射关系;所述服务器基于所述第一映射关系,获取所述第一心跳间隔。6.根据权利要求5所述的方法,其特征在于,所述服务器获取所述第一终端所处的第一网络的网络出口ip之前,所述方法还包括:所述服务器接收所述第一网络中的第二终端发送的第三消息,所述第三消息携带有所述第一心跳间隔,所述第一心跳间隔为所述第二终端在所述第一网络探测到的最大稳定态心跳间隔;所述服务器建立所述第一映射关系,并在所述服务器中存储所述第一映射关系。7.根据权利要求6所述的方法,其特征在于,所述服务器建立所述第一映射关系,并在所述服务器中存储所述第一映射关系之后,所述方法还包括:所述服务器接收所述第一终端发送的第二消息,所述第二消息携带有第二心跳间隔,所述第二心跳间隔为所述第一终端在所述第一网络探测到的最大稳定态心跳间隔;所述服务器在所述第一心跳间隔与所述第二心跳间隔不同的情况下,建立所述第一网络的网络出口ip与所述第二心跳间隔之间的第二映射关系,并将所述服务器中存储的所述第一映射关系替换为所述第二映射关系。8.一种心跳检测方法,其特征在于,所述方法包括:
第二终端在第一网络探测第一心跳间隔,所述第一心跳间隔为所述第二终端在所述第一网络探测到的最大稳定态心跳间隔;所述第二终端按照所述第一心跳间隔进行稳定态心跳检测,并向所述服务器发送第三消息,所述第三消息携带有所述第一心跳间隔。9.一种心跳检测方法,其特征在于,所述方法包括:第一终端从第二终端接收第三心跳间隔,所述第三心跳间隔为所述第二终端在第二网络探测到的最大稳定态心跳间隔;所述第一终端按照所述第三心跳间隔进行稳定态心跳检测;其中,所述第一终端与所述第二终端为与所述第二网络连接的不同终端。10.根据权利要求9所述的方法,其特征在于,所述第一终端按照所述第三心跳间隔进行稳定态心跳检测之后,所述方法还包括:所述第一终端在发生心跳失败事件的情况下,按照第二步长,降低所述第三心跳间隔;所述第一终端在基于降低后的所述第三心跳间隔,在所述第二网络探测第四心跳间隔,且所述第四心跳间隔为所述第一终端在所述第二网络探测到的最大稳定态心跳间隔的情况下,按照所述第四心跳间隔进行稳定态心跳检测。11.根据权利要求10所述的方法,其特征在于,所述第一终端按照所述第四心跳间隔进行稳定态心跳检测之后,所述方法还包括:所述第一终端在接收到所述服务器发送的心跳成功反馈消息的情况下,广播所述第四心跳间隔。12.一种心跳检测方法,其特征在于,所述方法包括:第二终端在第二网络探测第三心跳间隔,所述第三心跳间隔为所述第二终端在所述第二网络探测到的最大稳定态心跳间隔;所述第二终端按照所述第三心跳间隔进行稳定态心跳检测;所述第二终端在接收到所述服务器发送的心跳成功反馈消息的情况下,广播所述第三心跳间隔。13.一种心跳检测装置,其特征在于,所述装置包括:接收模块,用于接收服务器发送的第一消息,所述第一消息携带有所述服务器预存的第一心跳间隔,所述第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔;检测模块,用于按照所述接收模块接收的所述第一心跳间隔进行稳定态心跳检测;其中,所述第一终端与所述第二终端为与所述第一网络连接的不同终端。14.根据权利要求13所述的装置,其特征在于,所述装置还包括:处理模块,用于在所述检测模块按照所述第一心跳间隔进行稳定态心跳检测之后,在发生心跳失败事件的情况下,按照第一步长,降低所述第一心跳间隔;所述检测模块,还用于在基于所述处理模块得到的降低后的所述第一心跳间隔,在所述第一网络探测第二心跳间隔,且所述第二心跳间隔为所述第一终端在所述第一网络探测到的最大稳定态心跳间隔的情况下,按照所述第二心跳间隔进行稳定态心跳检测。15.根据权利要求14所述的装置,其特征在于,所述装置还包括:发送模块,用于在所述第一终端在所述第一网络探测到第二心跳间隔的情况下,向所述服务器发送第二消息,所述第二消息携带有所述第二心跳间隔。
16.一种心跳检测装置,其特征在于,所述装置包括:获取模块,用于在通过第一网络与第一终端成功建立长连接的情况下,获取所述第一网络的网络出口ip,其中,所述服务器为与所述第一网络连接的服务器;获取模块,还用于获取预存的与所述第一网络的网络出口ip对应的第一心跳间隔;发送模块,用于向所述第一终端发送第一消息,所述第一消息携带有所述获取模块获取的所述第一心跳间隔。17.根据权利要求16所述的装置,其特征在于,所述获取模块具体用于:基于所述第一网络的网络出口ip,从预存的至少一个网络的网络出口ip与心跳间隔之间的映射关系中,确定所述第一网络的网络出口ip与所述第一心跳间隔之间的第一映射关系;基于所述第一映射关系,获取所述第一心跳间隔。18.根据权利要求17所述的装置,其特征在于,所述装置还包括:接收模块,用于在所述获取模块获取所述第一终端所处的第一网络的网络出口ip之前,接收所述第一网络中的第二终端发送的第三消息,所述第三消息携带有所述第一心跳间隔,所述第一心跳间隔为所述第二终端在所述第一网络探测到的最大稳定态心跳间隔;处理模块,用于建立所述第一映射关系,并在所述服务器中存储所述第一映射关系。19.根据权利要求18所述的装置,其特征在于,所述接收模块,还用于在所述处理模块建立所述第一映射关系,并在所述服务器中存储所述第一映射关系之后,接收所述第一终端发送的第二消息,所述第二消息携带有第二心跳间隔,所述第二心跳间隔为所述第一终端在所述第一网络探测到的最大稳定态心跳间隔;所述处理模块,还用于在所述第一心跳间隔与所述接收模块接收到的所述第二心跳间隔不同的情况下,建立所述第一网络的网络出口ip与所述第二心跳间隔之间的第二映射关系,并将所述服务器中存储的所述第一映射关系替换为所述第二映射关系。20.一种心跳检测装置,其特征在于,所述装置包括:探测模块,用于在第一网络探测第一心跳间隔,所述第一心跳间隔为所述第二终端在所述第一网络探测到的最大稳定态心跳间隔;检测模块,用于按照所述探测模块探测到的所述第一心跳间隔进行稳定态心跳检测;发送模块,用于向所述服务器发送第三消息,所述第三消息携带有所述探测模块探测到的所述第一心跳间隔。21.一种心跳检测装置,其特征在于,所述装置包括:接收模块,用于从第二终端接收第三心跳间隔,所述第三心跳间隔为所述第二终端在第二网络探测到的最大稳定态心跳间隔;检测模块,用于按照所述接收模块接收的所述第三心跳间隔进行稳定态心跳检测;其中,所述第一终端与所述第二终端为与所述第二网络连接的不同终端。22.根据权利要求21所述的装置,其特征在于,所述装置还包括:处理模块,用于在所述检测模块按照所述第三心跳间隔进行稳定态心跳检测之后,在发生心跳失败事件的情况下,按照第二步长,降低所述第三心跳间隔;所述检测模块,还用于在基于所述处理模块得到的降低后的所述第三心跳间隔,在所述第二网络探测第四心跳间隔,且所述第四心跳间隔为所述第一终端在所述第二网络探测
到的最大稳定态心跳间隔的情况下,按照所述第四心跳间隔进行稳定态心跳检测。23.根据权利要求22所述的装置,其特征在于,所述装置还包括:广播模块,用于在所述检测模块按照所述第四心跳间隔进行稳定态心跳检测之后,在接收到所述服务器发送的心跳成功反馈消息的情况下,广播所述第四心跳间隔。24.一种心跳检测装置,其特征在于,所述装置包括:探测模块,用于在第二网络探测第三心跳间隔,所述第三心跳间隔为所述第二终端在所述第二网络探测到的最大稳定态心跳间隔;检测模块,用于按照所述探测模块探测到的所述第三心跳间隔进行稳定态心跳检测;广播模块,用于在接收到所述服务器发送的心跳成功反馈消息的情况下,广播所述探测模块探测到的所述第三心跳间隔。25.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至3任一项所述的心跳检测方法的步骤,或实现如权利要求8所述的心跳检测方法的步骤。26.一种服务器,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求4至7中任一项所述的心跳检测方法的步骤。27.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求9至11所述的心跳检测方法的步骤,或实现如权利要求12所述的心跳检测方法的步骤。

技术总结
本申请公开了一种心跳检测方法、装置、电子设备及服务器,属于通信技术领域,该方法包括:第一终端接收服务器发送的第一消息,该第一消息携带有服务器预存的第一心跳间隔,第一心跳间隔为第二终端在第一网络探测到的最大稳定态心跳间隔;第一终端按照第一心跳间隔进行稳定态心跳检测;其中,第一终端与第二终端为与第一网络连接的不同终端。为与第一网络连接的不同终端。为与第一网络连接的不同终端。


技术研发人员:李鸿卓
受保护的技术使用者:维沃移动通信有限公司
技术研发日:2023.08.02
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐