一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

心跳代理方法和装置与流程

2022-03-02 02:54:46 来源:中国专利 TAG:


1.本技术属于通信技术领域,具体涉及一种心跳代理方法和装置。


背景技术:

2.随着手机应用程序越来越多,用户手机里安装了各种需要即时通信的软件,比如即时聊天类、收付款类、社交类、物联网(internet of things,iot)类等等,这一类软件有一个共性,就是需要不断的使用各种手段在手机端保活自己,同时维持至少一条传输控制协议(transmission control protocol,tcp)长连接跟服务器的通信,以确保消息触达的及时性。
3.为了维持各自的长连接,各类应用程序会不定时得向各自服务器发送ping包,相应服务器会回复对应的pong包,俗称心跳包,对应的ping-pong动作称为心跳,用来检查长连接的健康情况,也确保没有意外掉线,或者没有被各个网络节点的网络地址转换(network address translation,nat)路由器掐断等。
4.由于目前各类应用程序繁多,都各自维护其长连接,这么一来给手机的系统环境带来了很多无序的唤醒动作以及网络请求动作,即使各大手机厂商都对各类应用程序的唤醒动作做了对齐处理,可是依然增加了手机的功耗,而且各应用程序为了发送心跳包还做了很多保活动作,应用程序在后台不断运行占用手机的资源较多,影响手机运行性能。


技术实现要素:

5.本技术实施例的目的是提供一种心跳代理方法和装置,能够解决对系统无序的唤醒动作过多,电子设备的功耗过高,影响电子设备运行性能的问题。
6.第一方面,本技术实施例提供了一种心跳代理方法,该方法包括:
7.所述电子设备中的m个应用程序发送代理请求消息至所述心跳代理模块,所述代理请求消息中携带所述m个应用程序对应的服务器地址,以及所述m个应用程序与其对应的服务器之间的心跳通信格式;
8.所述心跳代理模块将所述m个应用程序中的至少一个应用程序对应的服务器地址,以及所述至少一个应用程序与其对应的服务器之间的心跳通信格式存储至代理池;
9.所述心跳代理模块每隔目标时长根据所述代理池中存储的应用程序对应的服务器地址和心跳通信格式,向所述代理池中存储的应用程序对应的服务器发送相应的第一心跳包,所述目标时长是基于当前时刻网络状况确定的。
10.第二方面,本技术实施例提供了一种心跳代理装置,该装置包括:
11.第一发送模块,用于使所述电子设备中的m个应用程序发送代理请求消息至所述心跳代理模块,所述代理请求消息中携带所述m个应用程序对应的服务器地址,以及所述m个应用程序与其对应的服务器之间的心跳通信格式;
12.存储模块,用于使所述心跳代理模块将所述m个应用程序中的至少一个应用程序对应的服务器地址,以及所述至少一个应用程序与其对应的服务器之间的心跳通信格式存
储至代理池;
13.第二发送模块,用于使所述心跳代理模块每隔目标时长根据所述代理池中存储的应用程序对应的服务器地址和心跳通信格式,向所述代理池中存储的应用程序对应的服务器发送相应的第一心跳包,所述目标时长是基于当前时刻网络状况确定的。
14.第三方面,本技术实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
15.第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
16.第五方面,本技术实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法的步骤。
17.在本技术实施例中,电子设备中的应用程序发送的代理请求消息至心跳代理模块,整合了电子设备中各个应用程序的心跳代理需求,每隔目标时长根据代理池中存储的应用程序对应的服务器地址和心跳通信格式,向代理池中存储的应用程序对应的服务器发送相应的第一心跳包,进行统一的心跳包发送,相比于相关技术中各应用程序各自发送心跳包至对应的服务器,减少了对系统无序的唤醒动作,降低了电子设备的功耗,提高电子设备运行性能。
附图说明
18.图1是本技术实施例提供的心跳代理方法的流程示意图之一;
19.图2是本技术实施例提供的心跳代理方法的流程示意图之二;
20.图3是本技术实施例提供的心跳代理装置的结构示意图;
21.图4为本技术实施例提供的电子设备的结构示意图;
22.图5为本技术实施例提供的电子设备的硬件结构示意图。
具体实施方式
23.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本技术保护的范围。
24.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
25.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的心跳代理方法进行详细地说明。图1为本技术实施例提供的心跳代理方法的流程示意图之一,如图1所示,所述心跳代理方法包括以下步骤:
26.步骤100、电子设备中的m个应用程序发送代理请求消息至心跳代理模块,代理请求消息中携带m个应用程序对应的服务器地址,以及m个应用程序与其对应的服务器之间的心跳通信格式。
27.可选地,m个应用程序为有代理需求的应用程序。有代理需求的m个应用程序将代理请求消息发送给心跳代理模块,请求心跳代理模块代理m个应用程序的心跳包发送和接收业务,同时将m个应用程序中各个应用程序对应的服务器地址,以及各个应用程序与其对应的服务器之间的心跳通信格式发送给心跳代理模块。
28.可选地,心跳代理模块为系统框架层中的一段程序,其中,系统框架层为系统应用层与系统底层中间的一个层。
29.可以理解地,相关技术中,为了维持各自的长连接,应用程序会不定时地向服务器发送第一心跳包,并接收服务器回复的对应的第二心跳包,而本方案,心跳代理模块统一负责有代理需求的应用程序的心跳包发送和接收业务,对各应用程序的心跳包发送和接收进行统一管理。
30.步骤101、心跳代理模块将m个应用程序中的至少一个应用程序对应的服务器地址,以及至少一个应用程序与其对应的服务器之间的心跳通信格式存储至代理池。
31.为了对应用程序的心跳包发送和接收进行统一管理,心跳代理模块将有代理需求的应用程序的服务器地址以及应用程序与其服务器之间的心跳通信格式存储至代理池中。
32.可选地,心跳代理模块在接收m个应用程序发送的代理请求消息后,需要对代理请求消息进行校验,将校验通过的至少一个应用程序对应的服务器地址,以及校验通过的应用程序与其对应的服务器之间的心跳通信格式存储至代理池中。
33.步骤102、心跳代理模块每隔目标时长根据代理池中存储的应用程序对应的服务器地址和心跳通信格式,向代理池中存储的应用程序对应的服务器发送相应的第一心跳包,目标时长是基于当前时刻网络状况确定的。
34.每隔目标时长根据代理池中存储的所有应用程序对应的服务器地址和心跳通信格式,向代理池中存储的所有的应用程序对应的服务器发送相应的第一心跳包。第一心跳包是心跳代理模块向服务器发送的,符合对应的应用程序与服务器之间的心跳通信格式的数据包。
35.第一心跳包也可称为ping包。
36.可选地,目标时长可以是固定时长也可以是非固定的时长,在目标时长为非固定的时长的情况下,目标时长可以是根据电子设备的网络状况计算得到的。
37.代理池中存储了至少一个有代理需求的应用程序的服务器地址和心跳通信格式,代理池维护着全部需要代理的服务器地址队列。心跳代理模块根据代理池中的信息,对应用进行统一的心跳管理,每隔目标时长唤醒系统,向各应用程序对应的服务器发送相应的第一心跳包,相应的第一心跳包符合对应的应用程序与服务器之间的心跳通信格式。
38.需要说明的是,每次发送心跳包之前,需要先唤醒系统,因此,相关技术中系统总是被唤醒,导致电子设备功耗高,本技术通过对应用程序进行统一的心跳管理,每隔目标时长才进行一次唤醒系统,可以有效减少无序的唤醒动作,从而降低电子设备功耗。
39.可选地,心跳代理模块每隔目标时长根据代理池中存储的所有应用程序对应的服务器地址和心跳通信格式,通过系统底层向各应用程序对应的服务器发送相应的第一心跳
包。可以理解地,心跳代理模块将第一心跳包发送至系统底层,系统底层再将心跳代理模块发送的相应的第一心跳包透传至各应用程序对应的服务器。
40.可选地,心跳代理模块在接收m个应用程序发送代理请求消息之后获取当前时刻的网络状况,根据当前时刻网络情况,确定所述目标时长。根据目标时长确定下次唤醒系统并向各应用程序对应的服务器发送相应的第一心跳包的时间。
41.不同的网络状况对应的目标时长可能相同也可能不相同。
42.例如,当前时刻电子设备基于行动热点wifi进行网络通信,则对应的目标时长为5分钟;当前时刻电子设备基于第五代移动通信技术(5th generation mobile communication technology,5g)进行网络通信,则对应的目标时长为10分钟;当前时刻电子设备基于第四代移动通信技术(4th generation mobile communication technology,4g)进行网络通信,则对应的目标时长为15分钟;当前时刻电子设备基于第三代移动通信技术(3th generation mobile communication technology,3g)进行网络通信,则对应的目标时长为20分钟;当前时刻电子设备基于第二代移动通信技术(2th generation mobile communication technology,2g)进行网络通信,则对应的目标时长为20分钟。
43.根据当前时刻网络情况,确定所述目标时长,对当前的网络资源进行充分利用,提高心跳代理的及时性。
44.需要说明的是,本技术实施例中所提及的“系统”均指运行在电子设备上的操作系统。
45.本技术实施例提供的心跳代理方法,接收电子设备中的应用程序发送的代理请求消息至心跳代理模块,整合了电子设备中各个应用程序的心跳代理需求,每隔目标时长根据代理池中存储的应用程序对应的服务器地址和心跳通信格式,向代理池中存储的应用程序对应的服务器发送相应的第一心跳包,进行统一的心跳包发送,相比于相关技术中各应用程序各自发送心跳包至对应的服务器,减少了对系统无序的唤醒动作,降低了电子设备的功耗,提高电子设备运行性能。
46.可选地,向代理池中存储的应用程序对应的服务器发送相应的第一心跳包之后,还包括:
47.心跳代理模块在未接收到代理池中的第一应用程序对应的第二心跳包,且第一应用程序的进程处于保活状态的情况下,向第一应用程序发送服务器无响应消息;
48.其中,第二心跳包为服务器对第一心跳包进行响应时发送的数据包,服务器无响应消息用于指示第一应用程序进行掉线处理。第二心跳包也可以称为pong包。
49.第一应用程序是有代理需求、心跳代理模块已经向第一应用程序对应的服务器发送相应的第一心跳包,并且心跳代理模块未接收到第一应用程序对应的服务器发送的第二心跳包的应用程序。第一应用程序可能是m个应用程序中的一个,也可能是预先存储在代理池中的应用程序。
50.可选地,心跳代理模块通过系统底层向代理池中存储的应用程序对应的服务器发送相应的第一心跳包,代理池中存储的应用程序对应服务器对所述第一心跳包进行响应,向系统底层发送第二心跳包。在心跳代理模块未接收到系统底层发送的第二心跳包且相应的第一应用程序的进程处于保活状态的情况下,向所述第一应用程序发送服务器无响应消息,其中,应用程序的进程处于保活状态下,该应用程序占用电子设备的资源。
51.第一应用程序在接收到服务器无响应消息的情况下,自行进行掉线处理,例如,释放第一应用程序占用的电子设备资源,或者与第一应用程序的服务器端重新建立连接。
52.本技术实施例提供的心跳代理方法,在未接收到第二心跳包且相应的第一应用程序的进程处于保活状态的情况下,向所述第一应用程序发送服务器无响应消息,使所述第一应用程序能获知服务器无响应及时进行掉线处理。
53.可选地,心跳代理模块将m个应用程序中的至少一个应用程序对应的服务器地址,以及至少一个应用程序与其对应的服务器之间的心跳通信格式存储至代理池,包括:
54.对所述m个应用程序的代理请求消息进行授权检查;
55.将所述授权检查的结果通过的至少一个应用程序对应的服务器地址,以及所述至少一个应用程序与其对应的服务器之间的心跳通信格式存储至代理池。
56.可选地,所述授权检查的内容包括检查系统有没有将m个应用程序的代理权限拉黑,例如,确定m个应用程序是否在系统的代理请求黑名单中。在系统将m个应用程序中的一个应用程序的代理权限拉黑的情况下,则该应用程序的授权检查不通过。
57.可选地,所述授权检查的内容还包括代理请求是否为恶意代理请求,例如,在代理请求消息对同一个应用程序频繁切换服务器地址的情况下,确定该代理请求为恶意的代理请求。在代理请求为恶意代理请求的情况下,授权检查不通过。
58.心跳代理模块对对m个应用程序发送的代理请求消息进行授权检查,在至少一个应用程序的代理请求消息授权检查结果为通过的情况下,将授权检查的结果通过的至少一个应用程序对应的服务器地址,以及至少一个应用程序与其对应的服务器之间的心跳通信格式存储至代理池。
59.本技术实施例提供的心跳代理方法,在将应用程序对应的服务器地址,以及应用程序与其对应的服务器之间的心跳通信格式存储至所述代理池之前,对应用程序发送的代理请求消息进行授权检查,提高了心跳代理的安全性和可靠性。
60.可选地,所述心跳代理方法还包括:
61.在代理池中的第二应用程序退出后台的情况下,冻结第二应用程序。
62.其中,冻结是指压制应用程序的运行,冻结应用程序所在进程的所有能力。系统的冻结模块会将不在保活白名单里的应用程序进行快速冻结,使其所在进程丧失运行能力,甚至断网。冻结跟应用程序被杀掉的区别在于被冻结的应用程序依然会保留其在内存里的资源,使其解冻时能快速恢复,不用重新申请资源导致启动慢。
63.第二应用程序是有代理需求的应用程序,第二应用程序已向心跳代理模块发送了代理请求消息,并且,心跳代理模块已将第二应用程序对应的服务器地址,以及所述第二应用程序与其对应的服务器之间的心跳通信格式存储至所述代理池。第二应用程序和第一应用程序可能为同一应用程序,也可能为不同应用程序。
64.可选地,如果检查到第二应用程序已经退出到后台,没有后台下载和播放任务的情况下,请求系统的冻结模块冻结第二应用程序。
65.本技术实施例提供的心跳代理方法,在第二应用程序退出后台的情况下,冻结所述第二应用程序,减少了系统资源的占用,节省了系统资源。
66.可选地,电子设备中的m个应用程序发送代理请求消息至心跳代理模块,包括:
67.在电子设备中的m个应用程序与其对应的服务器连接成功的情况下,m个应用程序
通过调用第一软件工具开发包接口,向心跳代理模块发送代理请求消息;
68.其中,第一软件工具开发包用于提供实现心跳代理功能的方法。
69.可选地,有代理需求的应用程序自行集成第一软件工具开发包(software development kit,sdk)。
70.应用程序正常启动后尝试与各自对应的服务器建立连接。各应用程序判断与各自对应的服务器建立连接是否成功,在建立连接不成功的情况下,该应用程序自行决定是否与服务器重连,系统对于应用程序与服务器连接的过程不干预。
71.在应用程序与其对应的服务器连接成功的情况下,应用程序通过调用第一软件工具开发包接口,向心跳代理模块发送所述代理请求消息。
72.本技术实施例提供的心跳代理方法,在应用程序与其对应的服务器连接成功的情况下,通过调用第一软件工具开发包接口,向心跳代理模块发送所述代理请求消息,通过第一软件工具开发接口统一管理了各个应用程序的代理请求消息。
73.电子设备本技术实施例提供一种心跳代理方法,包括:
74.系统底层接收心跳代理模块发送的第一心跳包,将所述第一心跳包透传至对应的服务器;
75.系统底层接收目标服务器发送的第二心跳包,将所述第二心跳包透传至心跳代理模块。
76.需要说明的是,应用程序向心跳代理模块发送的代理请求消息中包括应用程序与服务器之间的心跳通信格式,从而系统底层获取了应用程序与服务器之间的心跳通信格式,系统运行过程中不断的接收服务器发送的数据包,对应接收到的数据包,根据应用程序与服务器之间的心跳通信格式判断该数据包是否是第二心跳包,在所述数据包是第二心跳包的情况下,将所述第二心跳包透传至心跳代理模块。
77.本技术实施例提供的心跳代理方法,系统底层接收目标服务器发送的第二心跳包,并将所述第二心跳包透传至心跳代理模块,相比于相关技术中,系统底层直接将第二心跳包发送给应用程序,整合了电子设备中各个应用程序的心跳代理需求,降低了电子设备的功耗。
78.图2为本技术实施例提供的心跳代理方法的流程示意图之二,如图2所示,所述一种心跳代理方法,包括:
79.步骤200、应用程序发送代理请求至心跳代理模块。
80.可选地,有代理需求的应用程序发送代理请求至心跳代理模块,其中,代理请求消息携带所述应用程序对应的服务器地址以及所述应用程序与其对应的服务器之间的心跳通信格式。
81.步骤201、心跳代理模块对所述代理请求消息进行授权检查。
82.可选地,所述授权检查的内容包括检查系统有没有将应用程序的代理权限拉黑,以及所述授权检查的内容还包括代理请求是否为恶意代理请求。在系统将应用程序的代理权限拉黑或者代理请求为恶意代理请求的情况下,授权检查不通过。
83.步骤202、心跳代理模块每隔目标时长发送第一心跳包至系统底层。
84.可选地,在步骤201中授权检查通过的情况下,心跳代理模块将应用程序对应的服务器地址,以及所述应用程序与其对应的服务器之间的心跳通信格式存储至所述代理池。
每隔目标时长根据代理池中存储的所有应用程序对应的服务器地址和心跳通信格式,向系统底层发送相应的第一心跳包。
85.步骤203、系统底层将第一心跳包透传至所述应用程序对应的服务器。
86.可选地,系统底层接收心跳代理模块发送的第一心跳包的情况下,将所述第一心跳包透传至对应的服务器。
87.步骤204、服务器发送第二心跳包至系统底层。
88.可选地,服务器在接收到第一心跳包的情况下,按照该服务器与应用程序之间的心跳通信格式,生成第二心跳包,将所述第二心跳包发送至系统底层。
89.步骤205、系统底层将第二心跳包透传至心跳代理模块。
90.可选地,系统底层接收目标服务器发送的第二心跳包,将所述第二心跳包透传至心跳代理模块。
91.步骤206、心跳代理模块向应用程序发送服务器无响应消息。
92.心跳代理模块在未接收到第二心跳包且相应的应用程序的进程处于保活状态的情况下,该应用程序发送服务器无响应消息;心跳代理模块在接收到系统底层透传的第二心跳包的情况下,说明服务器有响应,此时无需做处理。
93.本技术实施例提供的心跳代理方法,接收应用程序发送的代理请求消息,整合了电子设备中各个应用程序的心跳代理需求,每隔目标时长根据代理池中存储的所有应用程序对应的服务器地址和心跳通信格式,向各应用程序对应的服务器发送相应的第一心跳包,进行统一的心跳包发送,相比于相关技术中各应用程序各自发送心跳包至对应的服务器,减少了对系统无序的唤醒动作,降低了电子设备的功耗,提高电子设备运行性能。
94.需要说明的是,本技术实施例提供的心跳代理方法,执行主体可以为心跳代理装置,或者该心跳代理装置中的用于执行心跳代理的方法的控制模块。本技术实施例中以心跳代理装置执行心跳代理的方法为例,说明本技术实施例提供的心跳代理装置。
95.图3是本技术实施例提供的心跳代理装置的结构示意图,如图3所示,所述心跳代理装置300包括第一发送模块310、存储模块320和第二发送模块330,其中,
96.第一发送模块310,用于使所述电子设备中的m个应用程序发送代理请求消息至所述心跳代理模块,所述代理请求消息中携带所述m个应用程序对应的服务器地址,以及所述m个应用程序与其对应的服务器之间的心跳通信格式;
97.存储模块320,用于使所述心跳代理模块将所述m个应用程序中的至少一个应用程序对应的服务器地址,以及所述至少一个应用程序与其对应的服务器之间的心跳通信格式存储至代理池;
98.第二发送模块330,用于使所述心跳代理模块每隔目标时长根据所述代理池中存储的应用程序对应的服务器地址和心跳通信格式,向所述代理池中存储的应用程序对应的服务器发送相应的第一心跳包,所述目标时长是基于当前时刻网络状况确定的。
99.可选地,所述心跳代理装置300还包括第三发送模块,所述第三发送模块用于:
100.使所述心跳代理模块在未接收到所述代理池中的第一应用程序对应的第二心跳包,且所述第一应用程序的进程处于保活状态的情况下,向所述第一应用程序发送服务器无响应消息;
101.可选地,所述心跳代理模块将所述m个应用程序中的至少一个应用程序对应的服
务器地址,以及所述至少一个应用程序与其对应的服务器之间的心跳通信格式存储至代理池,包括:
102.对所述m个应用程序的代理请求消息进行授权检查;
103.将所述授权检查的结果通过的至少一个应用程序对应的服务器地址,以及所述至少一个应用程序与其对应的服务器之间的心跳通信格式存储至代理池。
104.可选地,所述心跳代理装置300还包括应用冻结模块,所示应用冻结模块用于:
105.在所述代理池中的第二应用程序退出后台的情况下,冻结所述第二应用程序。
106.可选地,所述电子设备中的m个应用程序发送代理请求消息至所述心跳代理模块,包括:
107.在所述电子设备中的m个应用程序与其对应的服务器连接成功的情况下,所述m个应用程序通过调用第一软件工具开发包接口,向所述心跳代理模块发送所述代理请求消息;
108.其中,所述第一软件工具开发包用于提供实现心跳代理功能的方法。
109.本技术实施例中的心跳代理装置可以是装置,也可以是电子设备中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等,非移动电子设备可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本技术实施例不作具体限定。
110.本技术实施例中的心跳代理装置可以为具有操作系统的装置。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本技术实施例不作具体限定。
111.本技术实施例提供的心跳代理装置能够实现图1至图2的方法实施例实现的各个过程,为避免重复,这里不再赘述。
112.可选地,如图4所示,本技术实施例还提供一种电子设备400,包括处理器401,存储器402,存储在存储器402上并可在所述处理器401上运行的程序或指令,该程序或指令被处理器401执行时实现上述心跳代理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
113.需要说明的是,本技术实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
114.图5为实现本技术实施例的一种电子设备的硬件结构示意图。
115.该电子设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、以及处理器510等部件。
116.本领域技术人员可以理解,电子设备500还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图5中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布
置,在此不再赘述。
117.其中,处理器510,用于使电子设备中的m个应用程序发送代理请求消息至心跳代理模块,代理请求消息中携带m个应用程序对应的服务器地址,以及m个应用程序与其对应的服务器之间的心跳通信格式;
118.心跳代理模块将m个应用程序中的至少一个应用程序对应的服务器地址,以及至少一个应用程序与其对应的服务器之间的心跳通信格式存储至代理池;
119.心跳代理模块每隔目标时长根据代理池中存储的应用程序对应的服务器地址和心跳通信格式,向代理池中存储的应用程序对应的服务器发送相应的第一心跳包,目标时长是基于当前时刻网络状况确定的。
120.在本技术实施中,电子设备中的应用程序发送的代理请求消息至心跳代理模块,整合了电子设备中各个应用程序的心跳代理需求,每隔目标时长根据代理池中存储的所有应用对应的服务器地址和心跳通信格式,向代理池中存储的应用程序对应的服务器发送相应的第一心跳包,进行统一的心跳包发送,相比于相关技术中各应用程序各自发送心跳包至对应的服务器,减少了对系统无序的唤醒动作,降低了电子设备的功耗,提高电子设备运行性能。
121.可选地,处理器510,还用于使心跳代理模块在未接收到代理池中的第一应用程序对应的第二心跳包,且第一应用程序的进程处于保活状态的情况下,向第一应用程序发送服务器无响应消息;
122.其中,第二心跳包为服务器对第一心跳包进行响应时发送的数据包,服务器无响应消息用于指示第一应用程序进行掉线处理。
123.在本技术实施中,在未接收到第二心跳包且相应的第一应用程序的进程处于保活状态的情况下,向所述第一应用程序发送服务器无响应消息,使所述第一应用程序能获知服务器无响应及时进行掉线处理。
124.可选地,处理器510,还用于对m个应用程序的代理请求消息进行授权检查;
125.将授权检查的结果通过的至少一个应用程序对应的服务器地址,以及至少一个应用程序与其对应的服务器之间的心跳通信格式存储至代理池。
126.在本技术实施中,在将应用程序对应的服务器地址,以及应用程序与其对应的服务器之间的心跳通信格式存储至所述代理池之前,对应用程序发送的代理请求消息进行授权检查,提高了心跳代理的安全性和可靠性。
127.可选地,处理器510,还用于在代理池中的第二应用程序退出后台的情况下,冻结第二应用程序。
128.在本技术实施中,在第二应用程序退出后台的情况下,冻结所述第三应用,减少了系统资源的占用,节省了系统资源。
129.可选地,电子设备中的m个应用程序发送代理请求消息至心跳代理模块,包括:
130.在电子设备中的m个应用程序与其对应的服务器连接成功的情况下,m个应用程序通过调用第一软件工具开发包接口,向心跳代理模块发送代理请求消息;
131.其中,第一软件工具开发包用于提供实现心跳代理功能的方法。
132.在本技术实施中,在应用程序与其对应的服务器连接成功的情况下,通过调用第一软件工具开发包接口,向心跳代理模块发送所述代理请求消息,通过第一软件工具开发
接口统一管理了各个应用程序的代理请求消息。
133.应理解的是,本技术实施例中,输入单元504可以包括图形处理器(graphics processing unit,gpu)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元506可包括显示面板5061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板5061。用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器509可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
134.本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述心跳代理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
135.其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
136.本技术实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述心跳代理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
137.应理解,本技术实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
138.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
139.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台电子设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
140.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体
实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献