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

数据处理方法及电子设备与流程

2023-02-06 10:03:18 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及数据处理方法及电子设备。


背景技术:

2.随着科技的不断发展,使用电子设备的用户越来越多,在电子设备上开发应用(application,app)的开发商也越来越多。所以,一台电子设备上通常会安装多个应用,例如如等等。对于各个应用的开发商,他们希望电子设备上的应用可以持续保活,也就是说,开发商希望应用的进程维持开启状态而不被杀死。这样,开发商就可以向用户推送消息,以开展自身业务。对于电子设备的用户,他们也希望电子设备上的应用可以持续保活。这样,用户可以通过电子设备及时接收开发商推送的消息,而且,用户再次打开应用时,应用还维持着上次的使用状态,使用起来较为方便。
3.然而,在电子设备的内存不足的情况下,电子设备会杀死部分应用,以回收内存,保证电子设备正常运行。因此,如何保活应用是当前亟需解决的问题。


技术实现要素:

4.本技术实施例提供数据处理方法及电子设备,可以在多个电子设备之间共享内存,避免电子设备中的应用由于内存不足而被杀死,进而提高了用户体验。
5.为达到上述目的,本技术的实施例采用如下技术方案:
6.第一方面,本技术实施例提供一种数据处理方法,该数据处理方法可以应用于第一电子设备,也可以应用于第一电子设备中的模块,例如芯片或芯片系统。下面以该数据处理方法应用于第一电子设备为例进行描述。其中,第一电子设备与第二电子设备连接,第一电子设备上运行至少一个应用,至少一个应用包括在第一电子设备后台运行的第一应用。该方法包括:获取第二电子设备的信息,第二电子设备的信息用于确定第二电子设备能否协助第一电子设备实现应用保活;若第二电子设备能够协助第一电子设备实现应用保活,向第二电子设备发送第一应用的数据;删除第一应用的数据。
7.基于上述第一方面提供的方法,第一电子设备可以在第二电子设备能够协助第一电子设备实现应用保活的情况下,向第二电子设备发送第一应用的数据,使得第一电子设备能够共享第二电子设备的内存。因此,第一电子设备可以释放第一应用的数据,来获得更多空闲的存储空间。避免了第一电子设备的后台应用因为运行内存不足而被杀,实现了应用保活,提高了用户体验。另外,上述第一方面提供的方法不需要对第一电子设备上的应用进行任何修改或适配,操作简单,使用方便。
8.一种可能的实现方式,若第一应用切换至第一电子设备的前台运行,该方法还包括:向第二电子设备发送用于请求第一应用的数据的第一请求信息;接收来自第二电子设备的第一应用的数据。基于上述方法,在第一应用切换至第一电子设备的前台运行的情况下,第一电子设备可以从第二电子设备获取第一应用的数据,以便第一应用在第一电子设备的前台运行。
9.一种可能的实现方式,该方法还包括:建立第一通道,第一通道用于传输存储在第二电子设备中、第一电子设备上的应用的数据。基于上述方法,第一电子设备可以通过第一通道从第二电子设备获取存储在第二电子设备中、第一电子设备上的应用的数据。
10.一种可能的实现方式,该方法还包括:向第二电子设备发送第二应用的数据,第二应用包括在至少一个应用中,第二应用在第一电子设备的后台运行。基于上述方法,第一电子设备可以向第二电子设备发送第二应用的数据,使得第一电子设备可以释放更多的内存。
11.一种可能的实现方式,第一操作的优先级高于第二操作的优先级,第一操作是接收来自第二电子设备的第一应用的数据,第二操作是向第二电子设备发送第二应用的数据。基于上述方法,在第一操作和第二操作同时存在的情况下,第一电子设备可以优先执行第一操作,使得第一电子设备可以及时获取到第一应用的数据。如此,第一应用切换至第一电子设备的前台运行后,可以及时恢复运行,不影响用户体验。
12.一种可能的实现方式,该方法还包括:向第二电子设备发送用于请求第一数据的第二请求信息,其中,第一数据为第二应用的数据中的部分数据;接收来自第二电子设备的第一数据。基于上述方法,第一电子设备可以从第二电子设备获取第二应用的数据中的部分数据。
13.一种可能的实现方式,第一操作的优先级高于第三操作的优先级,第一操作是接收来自第二电子设备的第一应用的数据,第三操作是接收来自第二电子设备的第一数据。基于上述方法,在第一操作和第三操作同时存在的情况下,第一电子设备可以优先执行第一操作,使得第一电子设备可以及时获取到第一应用的数据。如此,第一应用切换至第一电子设备的前台运行后,可以及时恢复运行,不影响用户体验。
14.一种可能的实现方式,该方法还包括:建立第二通道,第二通道用于传输存储在第二电子设备中、第一电子设备上的应用的数据中的部分数据。基于上述方法,第一电子设备可以通过第二通道从第二电子设备获取存储在第二电子设备中、第一电子设备上的应用的数据中的部分数据。
15.一种可能的实现方式,该方法还包括:建立第三通道,第三通道用于传输第一电子设备上的应用的数据。基于上述方法,第一电子设备可以通过第三通道向第二电子设备发送第一电子设备上的应用的数据。
16.一种可能的实现方式,获取第二电子设备的信息,包括:接收来自第二电子设备的第二电子设备的信息。基于上述方法,第一电子设备可以从第二电子设备获取第二电子设备的信息,进而可以根据第二电子设备的信息确定第二电子设备能否协助第一电子设备实现应用保活。
17.一种可能的实现方式,第二电子设备的信息指示第二电子设备的可用内存;或者,第二电子设备的信息指示第二电子设备能否协助第一电子设备实现应用保活。基于上述方法,第一电子设备可以根据第二电子设备的可用内存确定第二电子设备能否协助第一电子设备实现应用保活,或者,第一电子设备可以根据第二电子设备的指示确定第二电子设备能否协助第一电子设备实现应用保活。
18.一种可能的实现方式,该方法还包括:向第二电子设备发送第三请求信息,第三请求信息用于请求第二电子设备的信息。基于上述方法,第一电子设备可以触发第二电子设
备发送第二电子设备的信息。
19.一种可能的实现方式,第一电子设备的可用内存小于或等于第一阈值的情况下,获取第二电子设备的信息。基于上述方法,第一电子设备可以在第一电子设备的可用内存不足的情况下,获取第二电子设备的信息。
20.第二方面,本技术实施例提供一种数据处理方法,该数据处理方法可以应用于第二电子设备,也可以应用于第二电子设备中的模块,例如芯片或芯片系统。下面以该数据处理方法应用于第二电子设备为例进行描述。其中,第二电子设备与第一电子设备连接,第一电子设备上运行至少一个应用,至少一个应用包括在第一电子设备后台运行的第一应用。该方法包括:向第一电子设备发送第二电子设备的信息,第二电子设备的信息用于确定第二电子设备能否协助第一电子设备实现应用保活;若第二电子设备能够协助第一电子设备实现应用保活,接收来自第一电子设备的第一应用的数据。
21.基于上述第二方面提供的方法,第二电子设备可以向第一电子设备发送第二电子设备的信息,使得第一电子设备可以根据第二电子设备的信息确定第二电子设备能否协助第一电子设备实现应用保活。在第一电子设备确定第二电子设备能够协助第一电子设备实现应用保活的情况下,接收来自第一电子设备的第一应用的数据,使得,第一电子设备可以释放第一应用的数据,来获得更多空闲的存储空间。避免了第一电子设备的后台应用因为运行内存不足而被杀,实现了应用保活,提高了用户体验。另外,上述第二方面提供的方法不需要对第一电子设备上的应用进行任何修改或适配,操作简单,使用方便。
22.一种可能的实现方式,该方法还包括:接收来自第一电子设备的用于请求第一应用的数据的第一请求信息;向第一电子设备发送第一应用的数据。基于上述方法,第二电子设备可以基于第一电子设备的请求,向第一电子设备发送第一应用的数据,使得第一应用可以在第一电子设备上运行。
23.一种可能的实现方式,该方法还包括:建立第一通道,第一通道用于传输存储在第二电子设备中、第一电子设备上的应用的数据。基于上述方法,第二电子设备可以通过第一通道向第一电子设备发送存储在第二电子设备中、第一电子设备上的应用的数据。
24.一种可能的实现方式,该方法还包括:接收来自第一电子设备的第二应用的数据,第二应用在第一电子设备的后台运行。基于上述方法,第二电子设备可以接收来自第一电子设备的第二应用的数据,使得第一电子设备可以释放更多的内存。
25.一种可能的实现方式,第一操作的优先级高于第二操作的优先级,第一操作是向第一电子设备发送第一应用的数据,第二操作是接收来自第一电子设备的第二应用的数据。基于上述方法,在第一操作和第二操作同时存在的情况下,第二电子设备可以优先执行第一操作,使得第一电子设备可以及时获取到第一应用的数据。如此,第一电子设备可以及时恢复运行第一应用,不影响用户体验。
26.一种可能的实现方式,该方法还包括:接收来自第一电子设备的用于请求第一数据的第二请求信息,第一数据为第二应用的数据中的部分数据;向第一电子设备发送第一数据。基于上述方法,第二电子设备可以向第一电子设备发送第二应用的数据中的部分数据。
27.一种可能的实现方式,第一操作的优先级高于第三操作的优先级,第一操作是向第一电子设备发送第一应用的数据,第三操作是向第一电子设备发送第一数据。基于上述
方法,在第一操作和第三操作同时存在的情况下,第二电子设备可以优先执行第一操作,使得第一电子设备可以及时获取到第一应用的数据。如此,第一电子设备可以及时恢复运行第一应用,不影响用户体验。
28.一种可能的实现方式,该方法还包括:建立第二通道,第二通道用于传输存储在第二电子设备中、第一电子设备上的应用的数据中的部分数据。基于上述方法,第二电子设备可以通过第二通道向第一电子设备发送存储在第二电子设备中、第一电子设备上的应用的数据中的部分数据。
29.一种可能的实现方式,该方法还包括:建立第三通道,第三通道用于传输第一电子设备上的应用的数据。基于上述方法,第二电子设备可以通过第三通道接收来自第一电子设备的第一电子设备上的应用的数据。
30.一种可能的实现方式,第二电子设备的信息指示第二电子设备的可用内存;或者,第二电子设备的信息指示第二电子设备能否协助第一电子设备实现应用保活。基于上述方法,第一电子设备可以根据第二电子设备的可用内存确定第二电子设备能否协助第一电子设备实现应用保活,或者,第一电子设备可以根据第二电子设备的指示确定第二电子设备能否协助第一电子设备实现应用保活。
31.一种可能的实现方式,该方法还包括:接收来自第一电子设备的第三请求信息,第三请求信息用于请求第二电子设备的信息。基于上述方法,第二电子设备可以在第一电子设备触发后,向第一电子设备发送第二电子设备的信息。
32.第三方面,本技术实施例提供一种电子设备,该电子设备用于实现上述方法。该电子设备可以为上述第一方面中的第一电子设备;或者,该电子设备可以为上述第二方面中的第二电子设备。该电子设备包括实现上述方法相应的模块、单元、或手段(means),该模块、单元、或means可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或单元。
33.结合上述第三方面,在第一种可能的实现方式中,该电子设备可以包括处理模块和收发模块。该处理模块,可以用于实现上述任一方面及其任意可能的实现方式中的处理功能。该处理模块例如可以为处理器。该收发模块,也可以称为收发单元,用以实现上述任一方面及其任意可能的实现方式中的发送和/或接收功能。该收发模块可以由收发电路,收发机,收发器或者通信接口构成。
34.结合上述第三方面,在第一种可能的实现方式中,收发模块包括发送模块和接收模块,分别用于实现上述任一方面及其任意可能的实现方式中的发送和接收功能。
35.第四方面,提供了一种电子设备,包括:处理器;该处理器用于与存储器耦合,并读取存储器中的指令之后,根据该指令执行如上述任一方面所述的方法。该电子设备可以为上述第一方面中的第一电子;或者,该电子设备可以为上述第二方面中的第二电子设备。
36.结合上述第四方面,在一种可能的实现方式中,该电子设备还包括存储器,该存储器,用于保存必要的程序指令和数据。
37.结合上述第四方面,在一种可能的实现方式中,该电子设备为芯片或芯片系统。可选的,该电子设备是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。
38.第五方面,提供了一种电子设备,包括:处理器和接口电路;接口电路,用于接收计算机程序或指令并传输至处理器;处理器用于执行所述计算机程序或指令,以使该电子设
备执执行如上述任一方面所述的方法。
39.结合上述第五方面,在一种可能的实现方式中,该电子设备为芯片或芯片系统。可选的,该电子设备是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。
40.第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述任一方面所述的方法。
41.第七方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述任一方面所述的方法。
42.其中,第三方面至第七方面中任一种可能的实现方式所带来的技术效果可参见上述第一方面至第二方面中任一方面或任一方面中不同可能的实现方式所带来的技术效果,此处不再赘述。
附图说明
43.图1a为本技术实施例提供的电子设备的内存示意图一;
44.图1b为本技术实施例提供的电子设备的内存示意图二;
45.图1c为本技术实施例提供的电子设备的内存示意图三;
46.图1d为本技术实施例提供的电子设备的内存示意图四;
47.图1e为本技术实施例提供的电子设备的内存示意图五;
48.图2为本技术实施例提供的数据处理系统的架构示意图;
49.图3为本技术实施例提供的手机的结构示意图;
50.图4为本技术实施例提供的软件架构的组成示意图;
51.图5为本技术实施例提供的数据处理方法的流程示意图一;
52.图6a为本技术实施例提供的第一操作、第二操作和第三操作的执行顺序的示意图一;
53.图6b为本技术实施例提供的第一操作、第二操作和第三操作的执行顺序的示意图二;
54.图6c为本技术实施例提供的第一操作、第二操作和第三操作的执行顺序的示意图三;
55.图7为本技术实施例提供的数据传输及处理的示意图;
56.图8为本技术实施例提供的数据处理方法的流程示意图二;
57.图9为本技术实施例提供的一种电子设备的结构组成示意图。
具体实施方式
58.以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本技术以下各实施例中,“至少一个”、“一个或多个”是指一个、两个或两个以上。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a、b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
59.在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。
60.需要说明的是,本技术下述实施例中各个电子设备之间的消息名字或消息中各参数的名字等只是一个示例,具体实现中也可以是其他的名字,本技术实施例对此不作具体限定。
61.为了便于描述本技术实施例的技术方案,在本技术实施例中,可以采用“第一”、“第二”等字样对功能相同或相似的技术特征进行区分。该“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。在本技术实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明,被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。此外,在本技术实施例中,对于一种技术特征,通过“第一”、“第二”、“第三”等区分该种技术特征中的技术特征,该“第一”、“第二”、“第三”描述的技术特征间无先后顺序或者大小顺序。
62.可以理解的,本技术实施例中同一个步骤或者具有相同功能的步骤或者技术特征在不同实施例之间可以互相参考借鉴。
63.通过背景技术中的描述可以知道,在电子设备上运行有多个应用的情况下,若电子设备的内存不足,电子设备会杀死部分应用。所以,若想要电子设备中的应用持续保活,如何在电子设备有限的内存上通过软件技术实现内存的增加就显得至关重要。例如,可以通过下述方法实现内存的增加。
64.方法1:在电子设备的内存中固定一块内存,作为压缩内存(zip random access memory,zram)缓冲区。电子设备可以逐步将电子设备的内存中,不活跃(inactive)应用的数据进行压缩,将压缩后的数据存放到zram缓冲区中。这样,电子设备通过对数据的压缩可以释放一部分内存,使得电子设备中的应用保活。后续,若电子设备需要使用这些数据,再解压缩这些数据。
65.如图1a所示,在电子设备的内存101中固定了一块内存103,作为zram缓冲区。其余内存,即内存102可以用于存储数据。图1a中,内存102中的数据被压缩前,存储了不活跃应用的数据和活跃(active)应用的数据,内存102已经被占满了。通过对不活跃应用的数据进行压缩,将压缩后的数据存放到zram缓冲区中,内存102有了空闲的内存空间。如此,就不需要杀死应用,可以使得电子设备中的应用保活。
66.本技术实施例中,不活跃应用可以是电子设备的后台运行的任意应用。例如,不活跃应用可以是电子设备的后台运行的应用中,用户在一段时间内没有使用的应用。活跃应用可以是电子设备的前台运行的应用,或者,活跃的应用可以是电子设备的后台运行的应用中,用户经常使用的应用。
67.方法2:在方法1的基础上进行了扩展。如图1b所示,电子设备将不活跃应用的数据
进行压缩后,根据电子设备的内存使用情况,将zram缓冲区中的部分压缩数据写入闪存(flash memory)中。如此,可以节省电子设备的内存,使得电子设备中的应用保活。后续,若电子设备需要使用这些数据,再从闪存中读取这些数据。
68.方法3:电子设备可以获取与其连接的其他电子设备的信息,根据其他电子设备的信息确定其他电子设备能否协助该电子设备实现应用保活。若其他电子设备能够协助该电子设备实现应用保活,将该电子设备上的不活跃应用的数据发送给其他电子设备,并删除该电子设备上的不活跃应用的数据。这样,该电子设备就可以释放一部分内存,使得该电子设备上的应用保活。方法3的具体过程将在下述图5所示的方法中具体阐述,在此不做赘述。
69.可以理解的,与方法1和方法2相比,方法3不需要固定一块内存作为zram缓冲区,也就是说,方法3的电子设备可以支配全部的内存,提高了内存的利用率。此外,与方法1相比,方法3中的其他电子设备的内存远远大于zram缓冲区,因此,可以协助电子设备保活更多的应用。与方法2相比,方法3中的其他电子设备的内存的读写寿命不像闪存一样会受到限制。因此,在采用方法3实现内存的增加时,不需要考虑器件的寿命问题,实现起来简单便捷。
70.为了便于理解本技术实施例的技术方案,下面对本技术实施例涉及的技术术语进行解释说明。
71.本技术实施例中,电子设备之间交互数据时可以有以下三种情况:
72.1、匿名页整块读出(anonymous page-whole blok read,ap-wbr)
73.ap-wbr可以在一个电子设备上的数据需要写入另一个电子设备的情况下进行。这一过程用户是不感知的。如图1c所示,电子设备1可以将其内存中不活跃应用的数据(如不活跃应用对应的多个匿名页)发送给电子设备2。电子设备2接收到该不活跃应用的数据后,将这些数据写入电子设备2的内存中。这样,电子设备1就可以删除该不活跃应用的数据,使得电子设备1的内存有更多空闲的存储空间。
74.可以理解的,电子设备1删除了不活跃应用的数据后,该不活跃应用的进程就被冻结了,不能被调度。若需要调度该应用的某个进程,就需要从电子设备2中获取该进程对应的匿名页。
75.2、匿名页缺页(anonymous page-fault,ap-fault)写入
76.ap-fault写入可以在电子设备访问不到数据的情况下进行。这一过程用户是不感知的。如图1d所示,电子设备1向电子设备2发送了不活跃应用对应的多个匿名页,并将这些匿名页删除后,若要调度该不活跃应用的个别进程(如需要定期调度一些进程以接收云侧的消息),则电子设备2可以将该进程对应的匿名页发送给电子设备1,以便电子设备1运行该进程。
77.3、匿名页整块写入(anonymous page-whole blok write,ap-wbw)
78.ap-wbw可以在电子设备的后台运行的应用切换到前台运行时进行。在这种情况下,该电子设备可以从存储该应用对应的匿名页的电子设备处获取该应用对应的匿名页,以使得该电子设备运行该应用。例如,如图1e所示,电子设备2向电子设备1发送了个别匿名页后,不活跃应用从电子设备1的后台切换到了前台。在这种情况下,电子设备2可以将整块匿名页中剩余的匿名页发送给电子设备1,以便电子设备1运行该应用。
79.可以理解的,用户对ap-wbw这一过程有感知,若电子设备上后台运行的应用切换
到前台运行时,该电子设备从其他电子设备获取该应用对应的匿名页过慢的话,会造成应用响应过慢,影响用户体验。
80.下面将结合附图对本技术实施例的实施方式进行详细描述。
81.如图2所示,为本技术实施例提供的数据处理系统的架构示意图。该数据处理系统至少可以包括:电子设备201和电子设备202。可选的,该数据处理系统还可以包括电子设备203和/或电子设备204。
82.图2中的电子设备之间(如电子设备201和电子设备202之间,电子设备201和电子设备203之间)可以通过有线(如通用串行总线(universal serial bus,usb)数据线)或无线的方式建立连接,本技术实施例对具体的连接方式不作限定。图2中的电子设备之间通过无线方式建立连接时,所采用的无线通信协议可以为无线保真(wireless fidelity,wi-fi)协议、各种蜂窝网(如第四代(4th generation,4g)通信网络或第五代(5th generation,5g)通信网络)协议等,在此不做具体限制。
83.在一些实施例中,图2中的电子设备可以形成超级终端。例如,图2中的电子设备之间可以基于任一种认证机制(如hichian机制)进行身份认证,认证通过的电子设备可以形成超级终端。可以理解的,超级终端可以包括多个终端,该多个终端为组网连接状态,该多个终端互为可信设备。
84.在具体实现时,图2中的电子设备,例如电子设备201、电子设备202、电子设备203或电子设备204,可以为手机,平板电脑,手持计算机,个人计算机(personal computer,pc),蜂窝电话,个人数字助理(personal digital assistant,pda),可穿戴式设备(如智能手表、智能手环等),游戏机,或增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备等电子设备。本技术实施例对图2中的电子设备的具体设备形态不做特殊限制。例如,图2中的电子设备还可以为智能家居设备(如电视机,智能音箱),车载电脑(或者称为车机)等。且在本技术实施例中,图2中的电子设备的设备形态可以相同。例如,电子设备201和电子设备202均为手机。图2中的电子设备的设备形态也可以不同。例如,电子设备201为手机,电子设备202为平板电脑。又例如,电子设备201为智能手表,电子设备202为pc。
85.图2中的电子设备可以是触屏设备,也可以是非触屏设备。触屏设备可以通过手指、触控笔等在屏幕上点击、滑动等方式对电子设备进行控制。非触屏设备可以连接鼠标、键盘、触控面板等输入设备,通过输入设备对电子设备进行控制。在本技术实施例中,图2中的电子设备均是可以运行操作系统,安装应用的电子设备。其中,图2中的电子设备的操作系统可以是android系统、ios系统、windows系统、mac系统、linux系统等,本技术实施例在此不做具体限制。图2中的电子设备的操作系统可以相同,也可以不同。作为一种示例,图2中的电子设备分别可以包括内存和处理器。其中,内存可以用于存储操作系统,处理器可以用于运行内存中存储的操作系统。
86.本技术实施例中,内存也可以称为存储器,用于存储操作系统和处理器运算的数据,内存还可以用于运行电子设备上安装的应用的程序。作为一种示例,内存可以是图3中的内部存储器121。
87.本技术实施例中,图2所示的电子设备上可以部署分布式系统。部署了该分布式系统的电子设备可以执行本技术实施例提供的数据处理方法,使得部署了分布式系统的电子
设备之间实现内存共享,避免电子设备中的应用由于内存不足而被杀死。
88.图2所示的数据处理系统仅用于举例,并非用于限制本技术实施例的技术方案。本领域的技术人员应当明白,在具体实现过程中,该数据处理系统还可以包括其他设备,同时也可根据具体需要来确定电子设备的数量,不予限制。
89.在本技术实施例中,以电子设备为手机为例。请参考图3,为本技术实施例提供的一种手机的结构示意图。以下实施例中的方法可以在具有下述硬件结构的手机中实现。
90.如图3所示,手机可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180等。
91.可以理解的是,本技术实施例示意的结构并不构成对手机的具体限定。在本技术另一些实施例中,手机可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
92.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
93.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
94.手机的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
95.天线1和天线2用于发射和接收电磁波信号。手机中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
96.移动通信模块150可以提供应用在手机上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
97.无线通信模块160可以提供应用在手机上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术
(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
98.在一些实施例中,手机的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
99.手机通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
100.显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,手机可以包括1个或n个显示屏194,n为大于1的正整数。
101.手机可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
102.isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
103.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,手机可以包括1个或n个摄像头193,n为大于1的正整数。
104.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当手机在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换
等。
105.视频编解码器用于对数字视频压缩或解压缩。手机可以支持一种或多种视频编解码器。这样,手机可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
106.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展手机的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
107.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
108.手机可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
109.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
110.扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。手机可以通过扬声器170a收听音乐,或收听免提通话。
111.受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当手机接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。
112.麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。手机可以设置至少一个麦克风170c。在另一些实施例中,手机可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,手机还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
113.耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
114.传感器模块180中可以包括以下一种或多种传感器:压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
115.当然,手机还可以包括充电管理模块、电源管理模块、电池、按键、指示器以及1个或多个sim卡接口等,本技术实施例对此不做任何限制。
116.结合图2,请参考图4,为本技术实施例提供的一种软件架构的组成示意图。如图4所示,图2中的电子设备(如电子设备201和电子设备202)的软件架构均可以包括:应用层和框架层(framework,fwk)。
117.在一些实施例中,应用层可以包括安装在电子设备的各个应用。例如,安装在电子设备中的应用可以包括设置,计算器,相机,短信息,音乐播放器,文件管理器,图库,浏览器,备忘录,新闻,视频播放器,邮件,等。这些应用可以是电子设备的系统应用,也可以是第三方应用,本技术实施例在此不做具体限制。框架层中可以部署分布式系统。该分布式系统可以实现电子设备之间的内存共享,避免电子设备中的应用由于内存不足而被杀死。
118.需要说明的是,本实施例示意的软件架构并不构成对图2中的电子设备的具体限定。在另一些实施例中,图2中的电子设备可以包括比图示更多或更少的层,或者更多或更少的模块,或者组合某些模块,或者不同的模块布置,本实施例在此并不做具体限制。例如,上述所示的软件架构除了包括上述应用层和框架层之外,还可以包括其他层,如内核层(图4中未示出)等。该内核层是硬件和软件之间的层。内核层至少可以包含显示驱动,摄像头驱动,音频驱动,传感器驱动等。
119.下面将结合附图,对本技术实施例提供的数据处理方法进行描述。
120.如图5所示,为本技术实施例提供的一种数据处理方法,该数据处理方法包括s501-s503。
121.s501:第一电子设备获取第二电子设备的信息。
122.本技术实施例中,第一电子设备可以是图2中的任一电子设备,例如,第一电子设备为图2中的电子设备201。第一电子设备上运行了至少一个应用。例如,该至少一个应用可以在第一电子设备的后台运行;或者,该至少一个应用中,一个应用在第一电子设备的前台运行,其他应用在第一电子设备的后台运行。
123.本技术实施例中,第二电子设备可以是图2中除第一电子设备之外,与第一电子设备连接的任一电子设备。例如,若第一电子设备为图2中的电子设备201,则第二电子设备可以是图2中的电子设备202、电子设备203或电子设备204。
124.可以理解的,为了提高通信安全,防止第一电子设备中的数据泄漏,第二电子设备可以满足一定的条件。
125.作为一种示例,第二电子设备为可信设备。例如,第二电子设和第一电子设备都包括在超级终端中。超级终端的介绍可以参考图2所示的数据处理系统中对应的描述。
126.作为另一种示例,第二电子设备可以为第一电子设备存储的设备列表中的设备。该设备列表可以是用户设置的,或者说是用户维护的。例如,用户可以通过人机交互界面将与第一电子设备建立过连接的设备添加到设备列表中。以第一电子设备曾通过wifi与平板电脑、智能手环和智能手表建立了连接为例,用户可以将平板电脑、智能手环和智能手表中的一个或多个设备通过第一电子设备的人机交互界面添加到设备列表中。该设备列表也可以是第一电子设备获取的。例如,第一电子设备可以将与用户的用户名关联的设备添加到该设备列表中。以用户持有第一电子设备、平板电脑和智能手环,并且用户通过用户名登录过第一电子设备和平板电脑为例,第一电子设备可以将平板电脑添加到该设备列表中。
127.本技术实施例中,第二电子设备的信息可以用于确定第二电子设备能否协助第一
电子设备实现应用保活。其中,第二电子设备能否协助第一电子设备实现应用保活也可以描述为第二电子设备能否存储第一电子设备上的应用的数据。可以理解的,若第二电子设备能够协助第一电子设备实现应用保活,第一电子设备就可以将第一电子设备上不活跃应用的数据发送给第二电子设备。如此,第一电子设备就能释放该不活跃应用的数据,使得第一电子设备的内存有更多空闲的存储空间。这样,第一电子设备就不需要杀死应用,可以使得第一电子设备中的应用保活。
128.一种可能的实现方式,第二电子设备的信息可以有以下两种情况:
129.情况1:第二电子设备的信息指示第二电子设备的可用内存。
130.作为一种示例,第二电子设备的信息包括第二电子设备的可用内存的指示信息。
131.可选的,第二电子设备的信息还包括以下至少一项:第二电子设备的标识(diviceid)、第二电子设备的名称(devicename)、第二电子设备的类型(devicetype)的指示信息、第二电子设备是否在线(online)的指示信息、第二电子设备是否为可信设备(trusted)的指示信息、第二电子设备的互联网协议(internet protocol,ip)地址(ipaddress)、第二电子设备是否处于活动状态(active)的指示信息、第二电子设备的总电量(batterycapacity)的指示信息、第二电子设备的剩余电量(batterypercent)的指示信息、第二电子设备的电池的温度(batterytemperature)的指示信息、第二电子设备是否正在充电(setcharging)的指示信息、第二电子设备的中央处理器(central processing unit,cpu)主频(cpufrequency)的指示信息、第二电子设备的cpu占用率(cpuusage)的指示信息、或第二电子设备的总内存大小(totalmemorysize)的指示信息。
132.其中,第二电子设备的标识还可以称为第二电子设备的id。第二电子设备的类型包括:手机、平板电脑、pc、可穿戴设备等。第二电子设备是否在线可用理解为第二电子设备是否与第一电子设备连接。第二电子设备是否处于活动状态可以表示第二电子设备是否被使用。以第二电子设备是手机为例,第二电子设备是否处于活动状态可以表示第二电子设备的屏幕是点亮还是熄灭。例如,若第二电子设备是否处于活动状态的指示信息指示第二电子设备处于活动状态,则表示第二电子设备的屏幕点亮;若第二电子设备是否处于活动状态的指示信息指示第二电子设备未处于活动状态则表示第二电子设备的屏幕熄灭。以第二电子设备是pc为例,第二电子设备是否处于活动状态可以表示第二电子设备是否处于睡眠状态。例如,若第二电子设备是否处于活动状态的指示信息指示第二电子设备处于活动状态,则表示第二电子设备未处于睡眠状态;若第二电子设备是否处于活动状态的指示信息指示第二电子设备未处于活动状态,则表示第二电子设备处于睡眠状态。
133.可选的,第二电子设备的标识、第二电子设备的名称、第二电子设备的类型的指示信息、第二电子设备是否在线的指示信息、第二电子设备是否为可信设备的指示信息和第二电子设备的ip地址可以统称为设备信息。第二电子设备是否处于活动状态的指示信息、第二电子设备的总电量的指示信息、第二电子设备的剩余电量的指示信息、第二电子设备的电池的温度的指示信息和第二电子设备是否正在充电的指示信息可以统称为设备的状态信息(devicestatus)。第二电子设备的cpu主频的指示信息和第二电子设备的cpu占用率的指示信息可以统称为cpu的资源信息(cpuresource)。第二电子设备的总内存大小的指示信息和第二电子设备的可用内存的指示信息可以统称为存储资源信息(storageresource)。设备的状态信息、cpu的资源信息和存储资源信息可以统称为设备资
源信息。示例性的,第二电子设备的信息包括的内容可以如表1所示。
134.表1
[0135][0136]
情况2:第二电子设备的信息指示第二电子设备能否协助第一电子设备实现应用保活。
[0137]
作为一种示例,第二电子设备的信息包括第一指示信息。该第一指示信息为1比特的指示信息。若第一指示信息的值为“0”,则第二电子设备的信息指示第二电子设备不能协助第一电子设备实现应用保活;若第一指示信息的值为“1”,则第二电子设备的信息指示第二电子设备能够协助第一电子设备实现应用保活。在这种情况下,第二电子设备就可以不用向第一电子设备发送情况1中描述的信息,可以节省信令开销。
[0138]
一种可能的实现方式,第一电子设备获取第二电子设备的信息,包括:第一电子设备接收来自第二电子设备的第二电子设备的信息;或者,第一电子设备从本地获取第二电子设备的信息。这一过程将在下述图8所示方法进行具体阐述,在此不做赘述。
[0139]
可以理解的,若存在多个第二电子设备与第一电子设备连接,则第一电子设备可以获取多个第二电子设备的信息。第一电子设备获取每个第二电子设备的信息的具体过程,可以参考图6中所述的第一电子设备获取第二电子设备的信息的介绍,在此不做赘述。第一电子设备获取到多个第二电子设备的信息后,可以在能够协助第一电子设备实现应用保活的设备中,确定至少一个电子设备,将第一电子设备上不活跃应用的数据发送给该至少一个电子设备,以使得第一电子设备中的应用保活。
[0140]
以图2所示的数据处理系统为例,若电子设备201与电子设备202、电子设备203和电子设备204建立了连接,则电子设备201可以获取电子设备202的信息、电子设备203的信息和电子设备204的信息。若电子设备202和电子设备203能够协助电子设备201实现应用保活,电子设备204不能协助电子设备201实现应用保活,则电子设备201将电子设备201上不活跃应用的数据发送给电子设备202和电子设备203中的一个或多个设备,以使得电子设备
201中的应用保活。
[0141]
s502:若第二电子设备能够协助第一电子设备实现应用保活,第一电子设备向第二电子设备发送第一应用的数据。对应的,第二电子设备接收来自第一电子设备的第一应用的数据。
[0142]
本技术实施例中,第一应用包括在第一电子设备上运行的至少一个应用中,并且第一应用在第一电子设备的后台运行。第一应用也可以称为第一电子设备上的不活跃应用。第一应用的数据还可以称为第一应用对应的匿名页。第一应用的数据可以存储在第一电子设备的内存中。第一电子设备向第二电子设备发送第一应用的数据也可以称为ap-wbr。ap-wbr的介绍可以参考前文所述。
[0143]
一种可能的实现方式,第一电子设备根据第二电子设备的信息,确定第二电子设备能否协助第一电子设备实现应用保活。若第二电子设备能够协助第一电子设备实现应用保活,则第一电子设备向第二电子设备发送第一应用的数据。
[0144]
对于上述情况1和情况2,第一电子设备确定第二电子设备能否协助第一电子设备实现应用保活的过程不同。下面进行具体阐述。
[0145]
对于上述情况1,第一电子设备可以将第二电子设备的信息与预设置信息进行比较,以确定第二电子设备能否协助第一电子设备实现应用保活。其中,预设置信息可以指示能够协助第一电子设备实现应用保活的设备(以下简称协助设备)需要满足的条件。预设置信息可以是在第一电子设备初次执行本技术实施例提供的数据处理方法之前,用户设置的,或者预先存储在第一电子设备中的。后续,预设置信息可以被修改。可以理解的,若第二电子设备能够满足预设置信息指示的条件,则第一电子设备确定第二电子设备能够协助第一电子设备实现应用保活,若第二电子设备不能满足预设置信息指示的条件,则第一电子设备确定第二电子设备不能协助第一电子设备实现应用保活。
[0146]
示例性的,以第二电子设备的信息包括第二电子设备的可用内存的指示信息,预设置信息指示协助设备的可用内存需要大于或等于2gb为例,若第二电子设备的可用内存的指示信息指示第二电子设备的可用内存为8gb,则第一电子设备确定第二电子设备能够协助第一电子设备实现应用保活。若第二电子设备的可用内存的指示信息指示第二电子设备的可用内存为1gb,则第一电子设备确定第二电子设备不能协助第一电子设备实现应用保活。
[0147]
示例性的,以第二电子设备的信息包括第二电子设备的可用内存的指示信息和第二电子设备是否为可信设备的指示信息,预设置信息指示协助设备的可用内存需要大于或等于2gb,并且协助设备需要是可信设备为例,若第二电子设备的可用内存的指示信息指示第二电子设备的可用内存为8gb、第二电子设备是否为可信设备的指示信息指示第二电子设备为可信设备,则第一电子设备确定第二电子设备能够协助第一电子设备实现应用保活。若第二电子设备的可用内存的指示信息指示第二电子设备的可用内存为4gb、第二电子设备是否为可信设备的指示信息指示第二电子设备为不可信设备,则第一电子设备确定第二电子设备不能协助第一电子设备实现应用保活。
[0148]
示例性的,以第二电子设备的信息包括第二电子设备的可用内存的指示信息和第二电子设备是否处于活动状态的指示信息,预设置信息指示协助设备的可用内存需要大于或等于1gb,并且协助设备未处于活动状态为例,若第二电子设备的可用内存的指示信息指
示第二电子设备的可用内存为8gb、第二电子设备是否处于活动状态的指示信息指示第二电子设备未处于活动状态,则第一电子设备确定第二电子设备能够协助第一电子设备实现应用保活。若第二电子设备的可用内存的指示信息指示第二电子设备的可用内存为4gb、第二电子设备是否处于活动状态的指示信息指示第二电子设备处于活动状态,则第一电子设备确定第二电子设备不能协助第一电子设备实现应用保活。
[0149]
示例性的,以第二电子设备的信息包括第二电子设备的可用内存的指示信息、第二电子设备是否在线的指示信息和第二电子设备的剩余电量的指示信息,预设置信息指示协助设备的可用内存需要大于或等于1gb、协助设备在线、并且协助设备的剩余电量需要大于或等于80%为例,若第二电子设备的可用内存的指示信息指示第二电子设备的可用内存为6gb、第二电子设备是否在线的指示信息指示第二电子设备在线、第二电子设备的剩余电量的指示信息指示第二电子设备的剩余电量为80%,则第一电子设备确定第二电子设备能够协助第一电子设备实现应用保活。若第二电子设备的可用内存的指示信息指示第二电子设备的可用内存为4gb、第二电子设备是否在线的指示信息指示第二电子设备在线、第二电子设备的剩余电量的指示信息指示第二电子设备的剩余电量为60%,则第一电子设备确定第二电子设备不能协助第一电子设备实现应用保活。
[0150]
示例性的,以第二电子设备的信息包括第二电子设备的可用内存的指示信息和第二电子设备的cpu占用率的指示信息,预设置信息指示协助设备的可用内存需要大于或等于1gb,并且协助设备的cpu占用率需要小于或等于20%为例,若第二电子设备的可用内存的指示信息指示第二电子设备的可用内存为4gb、第二电子设备的cpu占用率的指示信息指示第二电子设备的cpu占用率为10%,则第一电子设备确定第二电子设备能够协助第一电子设备实现应用保活。若第二电子设备的可用内存的指示信息指示第二电子设备的可用内存为4gb、第二电子设备的cpu占用率的指示信息指示第二电子设备的cpu占用率为25%,则第一电子设备确定第二电子设备不能协助第一电子设备实现应用保活。
[0151]
对于上述情况2,第一电子设备可以根据第一指示信息确定第二电子设备能否协助第一电子设备实现应用保活。也就是说,第二电子设备可以采用与第一电子设备相同的方法确定第二电子设备能否协助第一电子设备实现应用保活。例如,第二电子设备可以根据预设置信息确定第二电子设备能够协助第一电子设备实现应用保活。其中,预设置信息可以是在第二电子设备初次执行本技术实施例提供的数据处理方法之前,用户设置的,或者预先存储在第二电子设备中的,或者第二电子设备从第一电子设备获取的。后续,预设置信息可以被修改。可以理解的,若第二电子设备能够满足预设置信息指示的条件,则第二电子设备向第一电子设备指示第二电子设备能够协助第一电子设备实现应用保活;若第二电子设备不能满足预设置信息指示的条件,则第二电子设备向第一电子设备指示第二电子设备不能协助第一电子设备实现应用保活。示例性的,若第一指示信息指示第二电子设备能够协助第一电子设备实现应用保活,则第一电子设备确定第二电子设备能够协助第一电子设备实现应用保活。若第一指示信息指示第二电子设备不能协助第一电子设备实现应用保活,则第一电子设备确定第二电子设备不能协助第一电子设备实现应用保活。
[0152]
可选的,第二电子设备接收到第一应用的数据后,将第一应用的数据存储在第二电子设备的内存缓冲区(memory base)中。
[0153]
s503:第一电子设备删除第一应用的数据。
[0154]
可以理解的,第一电子设备可以从第一电子设备的内存中删除第一应用的数据,使得第一电子设备的内存有更多空闲的存储空间。如此,第一电子设备就不需要杀死应用,可以使得第一电子设备中的应用保活。
[0155]
基于图5所示的方法,第一电子设备在第二电子设备能够协助第一电子设备实现应用保活的情况下,向第二电子设备发送第一应用的数据,使得第一电子设备能够共享第二电子设备的内存。因此,第一电子设备可以释放第一应用的数据,来获得更多空闲的存储空间。避免了第一电子设备的后台应用因为运行内存不足而被杀,实现了应用保活,提高了用户体验。另外,图5所示的方法不需要对第一电子设备上的应用进行任何修改或适配,操作简单,使用方便。
[0156]
可选的,s503之后,若第一应用切换至第一电子设备的前台运行,则第一电子设备可以从第二电子设备获取第一应用的数据,以便第一应用在第一电子设备的前台运行。例如,图5所示的方法还包括s504-s505。
[0157]
s504:第一电子设备向第二电子设备发送第一请求信息。对应的,第二电子设备接收来自第一电子设备的第一请求信息。
[0158]
本技术实施例中,第一请求信息可以用于请求第一应用的数据。例如,第一请求信息可以包括第一应用对应的匿名页的标识。如此,第二电子设备接收到第一请求信息后,可以根据第一应用对应的匿名页的标识,获取第一应用对应的匿名页(即第一应用的数据)。
[0159]
s505:第二电子设备向第一电子设备发送第一应用的数据。对应的,第一电子设备接收来自第二电子设备的第一应用的数据。
[0160]
本技术实施例中,第二电子设备向第一电子设备发送第一应用的数据也可以称为ap-wbw。ap-wbw的介绍可以参考前文所述。
[0161]
可选的,s502之后,第一电子设备继续向第二电子设备发送第一电子设备上的应用的数据,使得第一电子设备可以释放更多的内存。例如,图5所示的方法还包括s506。
[0162]
s506:第一电子设备向第二电子设备发送第二应用的数据。对应的,第二电子设备接收来自第一电子设备的第二应用的数据。
[0163]
本技术实施例中,第二应用可以是第一电子设备上运行的至少一个应用中的应用。第二应用在第一电子设备的后台运行。
[0164]
可以理解的,第二应用的数据可以发送给第二电子设备,也可以发送给其他满足预设置信息指示的条件的设备,不予限制。
[0165]
可选的,s506之后,若第一电子设备需要调度第二应用的部分进程,则第一电子设备可以从第二电子设备获取这些进程对应的匿名页。例如,图5所示的方法还包括s507-s508。
[0166]
s507:第一电子设备向第二电子设备发送第二请求信息。对应的,第二电子设备接收来自第一电子设备的第二请求信息。
[0167]
本技术实施例中,第二请求信息可以用于请求第一数据。例如,第二请求信息可以包括第一数据对应的匿名页的标识。如此,第二电子设备接收到第二请求信息后,可以根据第一数据对应的匿名页的标识,获取第一数据。其中,第一数据为第二应用的数据中的部分数据。例如,第一数据为第二应用的部分进程对应的匿名页。
[0168]
s508:第二电子设备向第一电子设备发送第一数据。对应的,第一电子设备接收来
自第二电子设备的第一数据。
[0169]
本技术实施例中,第二电子设备向第一电子设备发送第一数据也可以称为ap-fault写入。ap-fault写入的介绍可以参考前文所述。
[0170]
可以理解的,本技术实施例中,若第一电子设备上运行多个应用,则会存在ap-wbr、ap-fault写入和ap-wbw同时出现的情况。由前文描述可知,用户对ap-wbr和ap-fault写入是不感知的。而用户对ap-wbw有感知,若ap-wbw不能及时执行,会导致应用响应过慢,影响用户体验。因此,可以为ap-wbr、ap-fault写入和ap-wbw配置不同的优先级,使得优先级高的操作可以先执行,以提高用户体验。
[0171]
一种可能的实现方式,ap-wbw的优先级高于ap-wbr和ap-fault写入的优先级。ap-fault写入的优先级高于ap-wbr的优先级。如此,可以优先执行ap-wbw,并降低执行ap-wbw时的干扰,提高ap-wbw的执行效率。那么,应用从后台切换到前台后,第一电子设备就可以及时获取到应用的数据,并及时在前台运行该应用,以提高用户体验。
[0172]
作为一种示例,若ap-wbr、ap-fault写入和ap-wbw同时出现,则优先执行ap-wbw,并将ap-wbr和ap-fault写入设置为超时等待。在等待超时后,再执行ap-wbr和ap-fault。
[0173]
作为另一种示例,若ap-wbr、ap-fault写入和ap-wbw同时出现,则优先执行ap-wbw,并将ap-wbr和ap-fault写入设置为等待。在ap-wbw执行完成后再执行ap-wbr和ap-fault。
[0174]
作为另一种示例,若ap-wbr、ap-fault写入和ap-wbw同时出现,则优先执行ap-wbw,将ap-fault写入设置为超时等待,并将ap-wbr设置为等待。后续,在等待超时后,执行ap-fault写入,在ap-wbw执行完成后再执行ap-wbr。
[0175]
可以理解的,在上述示例中,若ap-wbw和ap-fault写入对应的应用相同,可以停止执行ap-fault写入,执行ap-wbw即可。因为ap-fault写入的数据是包括在ap-wbw的数据中的,第一电子设备执行了ap-wbw,就可以获取到执行ap-fault写入时获取的数据。以ap-wbw和ap-fault写入对应的应用为为例,从第一电子设备的前台切换至后台后,第一电子设备可以将的数据发送给第二电子设备。之后,若需要调度某些进程以接收云侧的消息,则第一电子设备可以执行ap-fault写入。第一电子设备在执行ap-fault写入的过程中,若从第一电子设备的后台切换至前台,则第一电子设备可以停止执行ap-fault写入,而是执行ap-wbw即可。
[0176]
下面以图5所示的方法同时包括s504-s508为例,介绍ap-wbr、ap-fault写入和ap-wbw的执行顺序。
[0177]
一种可能的实现方式,第一操作的优先级高于第二操作和第三操作的优先级。第三操作的优先级高于第二操作的优先。其中,第一操作是第一电子设备接收来自第二电子设备的第一应用的数据。第二操作是第一电子设备向第二电子设备发送第二应用的数据。第三操作是第一电子设备接收来自第二电子设备的第一数据。
[0178]
示例性的,如图6a所示,若第一电子设备在执行第二操作和第三操作的过程中,需要执行第一操作(即第一电子设备执行s505和s508的过程中,需要执行s505),则第一电子设备优先执行第一操作,并将第二操作和第三操作设置为超时等待。在等待超时后,再执行第二操作和第三操作。
[0179]
示例性的,如图6b所示,若第一电子设备在执行第二操作和第三操作的过程中,需
要执行第一操作,则第一电子设备优先执行第一操作,并将第二操作和第三操作设置为等待。在第一操作执行完成后,再执行第二操作和第三操作。
[0180]
示例性的,如图6c所示,若第一电子设备在执行第二操作和第三操作的过程中,需要执行第一操作,则第一电子设备优先执行第一操作,将第三操作设置为超时等待,并将第二操作设置为等待。后续,在等待超时后,执行第三操作,在第一操作执行完成后再执行第二操作。
[0181]
通过前文描述可以知道,ap-wbw所花费的时间与用户体验息息相关。ap-wbw所花费的时间越短,用户体验越好。为了进一步提高用户体验,可以为ap-wbr、ap-fault写入和ap-wbw分别建立不同的传输通道。如此,ap-wbr、ap-fault写入和ap-wbw可以分别通过自己的传输通道处理数据,互不影响。
[0182]
可选的,s505之前,第一电子设备和第二电子设备建立第一通道。其中,第一通道用于传输存储在第二电子设备中、第一电子设备上的应用的数据。如此,第二电子设备可以通过第一通道向第一电子设备发送第一应用的数据,第一电子设备可以通过第一通道接收第一应用的数据。例如,s505之前,第一电子设备和第二电子设备建立第一传输控制协议(transmission control protocol,tcp)连接,并建立第一线程。第一tcp连接和第一线程可以用于传输存储在第二电子设备中、第一电子设备上的应用的数据。
[0183]
可选的,s508之前,第一电子设备和第二电子设备建立第二通道。其中,第二通道用于传输存储在第二电子设备中、第一电子设备上的应用的数据中的部分数据。如此,第二电子设备可以通过第二通道向第一电子设备发送第一数据,第一电子设备可以通过第二通道接收第一数据。例如,s508之前,第一电子设备和第二电子设备建立第二tcp连接,并建立第二线程。第二tcp连接和第二线程可以用于传输存储在第二电子设备中、第一电子设备上的应用的数据中的部分数据。
[0184]
可选的,s502之前,第一电子设备和第二电子设备可以建立第三通道。其中,第三通道可以用于传输第一电子设备上的应用的数据。如此,第一电子设备可以通过第三通道向第二电子设备发送第一应用的数据,第二电子设备可以通过第三通道接收第一应用的数据。例如,s502之前,第一电子设备和第二电子设备建立第三tcp连接,并建立第三线程。第三tcp连接和第三线程可以用于传输第一电子设备上的应用的数据。
[0185]
可以理解的,为了提高用户体验,还可以根据用户对ap-wbw、ap-wbr和ap-fault写入的敏感性为第一线程、第二线程和第三线程配置不同的优先级。优先级高的线程可以提前被处理。如前文所述,用户对ap-wbr和ap-fault写入是不感知的,对ap-wbw有感知,若ap-wbw不能及时执行,会导致应用响应过慢,影响用户体验。因此,第一线程的优先级可以高于第二线程的优先级和第三线程的优先级。第二线程的优先级高于第三线程的优先级,或者,第二线程的优先级与第三线程的优先级相同。
[0186]
可以理解的,为了节约传输资源,可以为ap-wbr和ap-fault写入建立一个传输通道,ap-wbr和ap-fault写入可以通过这个传输通道处理数据。例如,s502之前,第一电子设备和第二电子设备可以建立第四通道。第四通道可以具备上述第二通道和第三通道的功能。
[0187]
可以理解的,为了进一步提高ap-wbr、ap-fault写入和ap-wbw的速度,可以将数据收发与数据处理解耦,使得数据收发与数据处理互不影响。这样,第一电子设备或第二电子
设备可以持续接收或发送数据,使得数据的传输速率可以保持最高,而不会因为要处理数据而中断收发操作。
[0188]
示例性的,第一电子设备和第二电子设备可以为ap-wbr、ap-fault写入和ap-wbw建立独立的传输通道、独立的数据收发任务和独立的数据处理任务。如图7所示,第一电子设备可以建立数据处理任务1、数据处理任务2、数据发送任务1、数据接收任务1和数据接收任务2。第二电子设备可以建立数据接收任务3、数据发送任务2和数据发送任务3,第二电子设备中的内存缓冲区可以用于存储第一电子设备中应用的数据。其中,数据处理任务1可以发送第一电子设备中应用的数据,第一电子设备中应用的数据可以通过第三通道传输至第二电子设备。数据接收任务3可以接收第一电子设备中应用的数据。第二电子设备接收到第一电子设备中应用的数据后,可以将该数据写入内存缓冲区中。后续,若第一电子设备上的应用1从后台切换至前台运行,数据发送任务2可以发送应用1的数据,应用1的数据可以通过第一通道传输至第一电子设备。数据接收任务1可以接收应用1的数据,并通知数据处理任务1处理应用1的数据。数据处理任务1可以将应用1的数据存储到第一电子设备的内存中。若第一电子设备需要调度应用2的部分进程,数据发送任务3可以发送应用2的部分进程所需要的数据,应用2的部分进程所需要的数据可以通过第二通道传输至第一电子设备。数据接收任务2可以接收应用2的部分进程所需要的数据,并通知数据处理任务2处理该数据。数据处理任务2可以将该数据存储到第一电子设备的内存中。
[0189]
可选的,对第二电子设备的内存缓冲区构建全索引机制。也就是说,第二电子设备接收并存储了第一电子设备的应用的数据后,不会对存储的数据进行修改、删除或添加等,直到第二电子设备将该应用的数据都发送给第一电子设备。例如,第二电子设备执行ap-wbr,从第一电子设备接收并存储应用1的数据后,又执行ap-fault写入,将应用1中的4k数据发送给第一电子设备。之后,第二电子设备不删除该4k数据。后续,若应用1从第一电子设备的后台切换至前台运行后,第二电子设备执行ap-wbw,将应用1的数据发送给第一电子设备,并删除该应用1的数据。如此,可以避免对同一应用的数据的读写冲突,使得数据的读写操作相互独立,互不影响。例如,在对同一应用,第二电子设备多次执行ap-fault写入的情况下,若每次执行完ap-fault写入,第二电子设备都删除发送给第一电子设备的数据,会导致后续的ap-fault写入操作无法找到对应的数据,对后续的ap-fault写入造成影响。
[0190]
可选的,第一电子设备可以从第二电子设备处获取第二电子设备的信息,或者从本地获取第二电子设备的信息。例如,如图8所示,s501包括s5011或s5012。
[0191]
s5011:第一电子设备接收来自第二电子设备的第二电子设备的信息。
[0192]
一种可能的实现方式,第二电子设备的信息是第一电子设备触发第二电子设备发送的。也就是说,在第一电子设备需要进行应用保活的情况下,第一电子设备可以向第二电子设备发送第三请求信息。第二电子设备接收到第三请求信息后,向第一电子设备发送响应信息,该响应信息包括第二电子设备的信息。本技术实施例中,第一电子设备需要进行应用保活可以理解为:第一电子设备的可用内存小于或等于第一阈值。也就是说,在第一电子设备的可用内存不足的情况下,第一电子设备可以执行本技术实施例提供的数据处理方法,以使得第一电子设备能够共享第二电子设备的内存,实现应用保活。本技术实施例中,第三请求信息也可以称为寻找设备请求(finddevicerequest)消息。第三请求信息可以用于请求第二电子设备的信息。
[0193]
可以理解的,对于上述情况1,第二电子设备可以将第二电子设备的信息中的信息分多次发送给第一电子设备。
[0194]
作为一种示例,第二电子设备接收到第三请求信息后,可以先向第一电子设备发送响应信息1,该响应信息1包括第二电子设备的标识。后续,第二电子设备再向第一电子设备发送响应信息2,该响应信息2包括第二电子设备的可用内存的信息。
[0195]
作为另一种示例,第二电子设备接收到第三请求信息后,可以先向第一电子设备发送设备信息响应(deviceinforesponse)消息,该设备信息响应消息包括设备信息中的至少一项,例如包括第二电子设备的标识和第二电子设备的ip地址。第一电子设备接收到设备信息响应消息后,向第二电子设备发送获取设备资源请求(getdeviceresourcerequest)消息。第二电子设备接收到获取设备资源请求消息后,向第一电子设备发送设备资源响应(deviceresourceresponse)消息,该设备资源响应消息包括设备资源信息中的至少一项,例如包括第二电子设备的可用内存的指示信息,第二电子设备是否处于活动状态的指示信息和第二电子设备的剩余电量的指示信息。其中,设备信息和设备资源信息的介绍可以参考上述s501中所述。
[0196]
可选的,第三请求信息还用于订阅第二电子设备的信息。后续,若第二电子设备的信息发生变化,例如,第二电子设备的ip地址发生变化,第二电子设备可以向第一电子设备发送第一更新信息。该第一更新信息包括更新后的第二电子设备的信息,例如,更新后的ip地址。类似的,上述示例中的获取设备资源请求消息还用于订阅设备资源信息。后续,若第二电子设备的设备资源信息发生变化,第二电子设备可以向第一电子设备发送第二更新信息,该第二更新信息包括更新后的设备资源信息。
[0197]
s5012:第一电子设备从本地获取第二电子设备的信息。
[0198]
一种可能的实现方式,第二电子设备周期性地向第一电子设备发送第二电子设备的信息。第一电子设备接收到第二电子设备的信息后,将第二电子设备的信息存储在本地。在第一电子设备需要进行应用保活的情况下,第一电子设备从本地获取最新接收到的第二电子设备的信息。
[0199]
另一种可能的实现方式,第二电子设备与第一电子设备建立连接后,向第一电子设备发送第二电子设备的信息。后续,若第二电子设备的信息发生变化,第二电子设备向第一电子设备发送第三更新信息,第三更新信息包括更新后的第二电子设备的信息。在第一电子设备需要进行应用保活的情况下,第一电子设备从本地获取最新接收到的第二电子设备的信息。
[0200]
可以理解的,本技术实施例提供的数据处理方法是将第一电子设备中的应用的数据发送给第二电子设备,使得第二电子设备可以协助第一电子设备存储应用的数据,实现电子设备之间的内存共享。基于这种思想,电子设备之间也可以共享计算资源。例如,第一电子设备可以将计算任务分成多个子任务,并将多个子任务分配给至少一个第二电子设备,使得至少一个第二电子设备协助第一电子设备完成计算任务。如此,可以提高计算效率。其中,计算任务可以是图形渲染、视频剪辑等。
[0201]
可以理解的是,上述电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术实施例能够以硬件或硬件和计算机软件的结合形
式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
[0202]
本技术实施例可以根据上述方法示例对上述电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0203]
如图9所示,本技术实施例公开了一种电子设备900,该电子设备可以为上述实施例中协同工作的电子设备中的一个。该电子设备900具体可以包括:显示屏901;输入设备902(例如鼠标、键盘或触摸屏等);一个或多个处理器903;存储器904;一个或多个应用程序(未示出);以及一个或多个计算机程序905,上述各器件可以通过一个或多个通信总线906连接。其中,上述一个或多个计算机程序905被存储在上述存储器904中并被配置为被该一个或多个处理器903执行,该一个或多个计算机程序905包括指令,该指令可以用于执行上述实施例中的相关步骤。在一种示例中,该电子设备900可以为图2中电子设备201、电子设备202、电子设备203或电子设备204。
[0204]
本技术实施例还提供了一种芯片系统,包括:至少一个处理器和接口,该至少一个处理器通过接口与存储器耦合,当该至少一个处理器执行存储器中的计算机程序或指令时,使得上述任一方法实施例中的方法被执行。在一种可能的实现方式中,该芯片系统还包括存储器。可选的,该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件,本技术实施例对此不作具体限定。
[0205]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序代码,当处理器执行该计算机程序代码时,电子设备执行上述实施例中的方法。
[0206]
本技术实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述实施例中的方法。
[0207]
其中,本技术实施例提供的电子设备900、计算机可读存储介质或者计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
[0208]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0209]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0210]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以使用硬件的形式实现,也可以使用软件功能单元的形式实现。
[0211]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、磁碟或者光盘等各种可以存储程序代码的介质。
[0212]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献