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

一种应用程序运行加速的方法及设备与流程

2022-08-26 22:38:54 来源:中国专利 TAG:

一种应用程序运行加速的方法及设备
1.本技术要求于2021年02月09日提交国家知识产权局、申请号为202110182539.3、申请名称为“一种应用程序运行加速的方法及设备”的中国专利申请的优先权,要求于2021年02月09日提交国家知识产权局、申请号为202110182302.5、申请名称为“一种混合易失型与非易失型存储介质的器件实现方法及其装置”的中国专利申请的优先权,以及要求于2021年02月10日提交国家知识产权局、申请号为202110185585.9、申请名称为“一种应用程序运行加速的方法及设备”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术实施例涉及人工智能领域,尤其涉及一种应用程序运行加速的方法及设备。


背景技术:

3.随着智能手机的不断发展,性能不断升级,功能也不断丰富,人们使用智能手机的频率越来越高。一般智能手机通过内部安装的各种应用程序(application,app)来实现丰富的功能。例如,用户可以通过智能手机上安装的有声书类app收听有声小说或播客等。又例如,用户可以通过智能手机上安装的导航类app进行出行导航、查看实时路况等。
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.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备实现如第一方面或第一方面的可能的实现方式中任一项所述的应用程序运行加速的方法。
33.第五方面,本技术实施例提供一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在电子设备中运行时,使得电子设备实现如第一方面或第一方面的可能的实现方式中任一项所述的应用程序运行加速的方法。
34.应当理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
35.第六方面,本技术实施例提供一种混合易失型与非易失型存储介质的器件实现方法,其特征在于,应用于电子设备,所述方法包括:在同一个substrate(基板)上,同时集成了易失型存储介质和非易失型存储介质,以及存储控制器;其中,易失型存储介质可以是:例如,ddr,ddr2,ddr3,ddr4,hbm(超宽带);非易失型存储介质可以是:例如,slc-nand,mram(magnetic radom access memory),rram(resistance radom access memory),pcram(phase change radom access memory)。
36.在一种可能的实现方式中,方法还包括:易失型存储介质和非易失型存储介质,连接到存储控制器,可以连接到同一个存储控制器,可以连接到不同的存储控制器。
37.在另一种可能的实现方式中,方法还包括:存储控制器(controller)、substrate(基板)及其上的易失型(volatile)和非易失型(none-volatile)存储介质,被封装在一个package(封装外壳)内部,对外呈现出总线接口。
38.封装可以是flip-package、bga(ball grid array,球栅阵)、wlcsp(wafer level chip scale package,晶片级别芯片规模封装)等;总线接口可以是一个接口,例如,符合jedec规范的ddr4接口;总线接口可以是二个或多个接口,例如,符合jedec规范的两组ddr4接口。
39.在另一种可能的实现方式中,方法还包括:当host器件访问混合存储器时:
40.同一个物理地址端,指向易失型或者非易失型存储器,彼此的物理地址段不重合(并行模式);或者,同一个物理地址段,既可以指向易失型存储器,也可以指向非易失型存储器,彼此的物理地址重合(影子模式);或者,有些物理地址端,既可以指向易失型存储器,也可以指向非易失型存储器,彼此的物理地址重合(影子模式);而另一些物理地址端,指向易失型或者非易失型存储器,彼此的物理地址段不重合(并行模式)。
41.在另一种可能的实现方式中,方法还包括:并行模式时,掉电后再上电,非易失型存储器的数据依然保持、易失型存储器数据丢失。
42.在另一种可能的实现方式中,方法还包括:影子模式时,掉电后再上电,影子模式所属物理地址段的数据依然保持。
43.第七方面,本技术还提供一种电子设备,包括:存储器,一个或多个处理器;所述一个或多个处理器与所述存储器、所述摄像头、所述信号处理器、所述显示屏耦合连接;以及一个或多个计算机程序,其中,所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令;当所述指令被所述电子设备执行时,使得所述电子设备执行上述第六方面的方法。
44.第八方面,本技术还提供一种计算机可读存储介质,包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行上述第六方面的方法。
附图说明
45.图1为本技术实施例提供的一种内部存储器的组成示意图;
46.图2为相关技术提供的一种打开应用程序的场景示意图;
47.图3为相关技术提供的另一种打开应用程序的场景示意图;
48.图4为相关技术提供的另一种打开应用程序的场景示意图;
49.图5为本技术实施例提供的一种电子设备的结构示意图;
50.图6为本技术实施例提供的一种应用程序运行加速的方法的流程示意图;
51.图7为本技术实施例提供的一种应用程序运行加速的方法应用时的场景示意图;
52.图8为本技术实施例提供的另一种应用程序运行加速的方法应用时的场景示意图;
53.图9为本技术实施例提供的另一种应用程序运行加速的方法应用时的场景示意图;
54.图10为本技术实施例提供的另一种应用程序运行加速的方法应用时的场景示意图;
55.图11为本技术实施例提供的另一种应用程序运行加速的方法应用时的场景示意图;
56.图12为本技术实施例提供的另一种应用程序运行加速的方法应用时的场景示意图;
57.图13为本技术实施例提供的一种应用程序运行加速的方法应用时的流程示意图;
58.图14为本技术实施例提供的另一种应用程序运行加速的方法应用时的流程示意图;
59.图15为本技术实施例提供的另一种应用程序运行加速的方法的流程示意图;
60.图16为本技术实施例提供的另一种应用程序运行加速的方法应用时的流程示意图;
61.图17为本技术实施例提供的另一种应用程序运行加速的方法应用时的流程示意图;
62.图18为本技术实施例提供的一种存储器的组成示意图;
63.图19为本技术实施例提供的一种存储器的结构示意图;
64.图20为本技术实施例提供的一种存储系统的组成示意图;
65.图21为本技术实施例提供的一种应用程序运行加速的装置的组成示意图。
具体实施方式
66.通常用户在使用手机上安装的应用程序时,需要先通过触摸点击的方式打开手机上的应用程序。在手机接收到用户打开应用程序的操作时,手机需要对应用程序进行加载,当手机将应用程序加载完成之后,用户才能够使用该应用程序。其中,如图1中的(a)所示,目前手机的内部存储器可以包括易失性内存112和磁盘111。其中,磁盘111采用非易失性存储介质,读写速度相对较慢,可以在掉电的情况下稳定存储不丢失存储内容,功耗较低,能够用于存储手机上安装的应用程序的数据,但不能用于应用程序的运行。易失性内存112采用易失性存储介质,读写速度较快,在存储时需要电量维持以保证存储内容不丢失,功耗较高,能够用于加载和运行应用程序。手机中所有应用程序的数据均存储在磁盘111中,当手机加载应用程序时,可以将该应用程序的数据从磁盘111中加载到易失性内存112中,以使应用程序在易失性内存112中运行。
67.手机在加载应用程序时,通常需要将应用程序的可执行代码载入到内存(即易失性内存)中,并获取应用程序所需的一些资源,以及加载应用程序运行所需的相关线程。
68.例如,当用户需要打开手机上安装的有声书类app,如,“听书”app,收听有声小说时。如图2中的(a)所示,用户可以通过点击手机桌面中的“听书”app的图标201,以打开“听书”app。当手机接收到用户对“听书”app的图标201的点击操作时,手机便加载启动该“听书”app。手机加载该“听书”app的过程中,如图2中的(b)所示,通常会显示该“听书”app的启动页202(如,开屏广告页面,或者图中所示的包含app图标的页面等)。从而避免手机在加载该“听书”app时显示空白页,影响用户体验。当手机将“听书”app加载完成之后,如图2中的(c)所示,手机显示的界面可以从“听书”app的启动页202跳转到“听书”app的应用页面203(如,应用首页)。从而用户可以通过点击“听书”app的应用页面203内的相关内容以收听有声小说。例如,如图2中的(c)所示,手机显示的“听书”app的应用页面203中包含有《三国演义》、《红楼梦》、《水浒传》以及《西游记》等小说的有声版本对应的封面图片。用户可以通过点击这些小说的封面图片,以使手机播放相应的小说。例如,当用户点击《三国演义》的封面图片时,手机接收到上述点击操作时,便能够播放《三国演义》的有声版本,以供用户收听。
69.又例如,当用户上班时,需要打开手机上安装的导航类app,如,“地图”app,查看上班线路的路况时。如图3中的(a)所示,用户可以通过点击手机桌面中的“地图”app的图标301,以打开“地图”app。当手机接收到用户对“地图”app图标301的点击操作时,手机便加载启动该“地图”app。手机加载该“地图”app的过程中,如图3中的(b)所示,通常会显示该“地
图”app的启动页302(如,开屏广告页面,或者图中所示的包含app图标的页面等)。从而避免手机在加载该“地图”app时显示空白页,影响用户体验。当手机将“地图”app加载完成之后,如图3中的(c)所示,手机显示的界面可以从“地图”app的启动页302跳转到“地图”app的地图界面303。在手机显示“地图”app的地图界面303时,手机还需要加载获取手机的位置信息(即用户的位置定位),然后如图3中的(d)所示,手机才能显示出手机(或者说用户)在地图中的位置,以及手机位置附近的地图信息,以供用户查看路况。
70.在用户使用手机上安装的应用程序的过程中,还经常会出现应用程序间相互切换的场景。即,正在使用某个应用程序,如,第一应用程序时,又将另一个应用程序,如,第二应用程序切换到前台,相应地第一应用程序切换到后台。在使用第二应用程序一段时间后,再将第一应用程序切换回前台使用。在该场景下,通常受到手机的后台管理和电源管理策略限制,当用户使用第二应用程序时间过长或第二应用程序占用系统内存资源较多时,手机可能会将切换到后台的第一应用程序回收掉。此时,如果用户要从第二应用程序切换回第一应用程序,则手机需要重新加载第一应用程序(重新加载第一应用程序的过程与上述手机加载应用程序的过程类似),因此,用户需要等待第一应用程序的加载。
71.例如,如图4中的(a)所示,当用户正在使用电商类app,如,“购物”app进行购物时,手机弹出聊天类app,如“信息”app的消息提醒401。此时,如图4中的(a)所示,用户可以点击该消息提醒401以打开“信息”app。当手机接收到用户的上述操作时,如图4中的(b)所示,手机可以将“购物”app切换到后台,并打开“信息”app,显示聊天界面402。用户可以在“信息”app的聊天界面402中回复消息,聊天等。在用户使用“信息”app的过程中,由于手机内存不足或“购物”app在后台的时间过长等原因,手机会将“购物”app从后台回收掉。此时,当用户想要重新切回“购物”app时,手机接收到用户的操作,如图4中的(c)所示,手机则需要重新加载“购物”app,并在加载过程中显示“购物”app的启动页403。
72.由以上可以看到,当用户打开手机上安装的应用程序,或用户切换回长时间未使用的上次使用的应用程序时,手机需要加载相应的应用程序。加载应用程序的过程中,由于需要将应用程序的可执行代码载入到内存中,并获取应用程序所需的一些资源,以及加载应用程序运行所需的相关线程。因此,用户需要较长的等待时间以等待手机将应用程序加载完成,应用程序启动响应速度相对较慢。
73.为了解决上述问题,本技术实施例提供了一种应用程序运行加速的方法。该方法可以应用于用户打开电子设备中安装的某个应用或在电子设备中开启的至少两个应用程序间来回切换的场景中。
74.在本技术实施例中,该应用程序运行加速的方法可以包括,在用户使用电子设备中安装的应用程序的过程中,电子设备对用户使用电子设备的操作行为进行观测和记录。之后,电子设备可根据记录的用户使用电子设备的操作行为,生成能够表示用户使用应用程序的使用习惯的用户画像信息。后续用户使用电子设备过程中,在特定时间范围内、特定地点范围内、特定操作时或者上述三种的任意组合发生时,电子设备可根据观测到的用户使用电子设备的操作行为,以及用户画像信息和/或预设的预测规则,对用户可能要打开(即启动)的应用程序进行预测,以得到预测的应用程序(即用户将要使用的应用程序,如第一应用程序)。电子设备可根据预测结果,对相应的应用程序(即预测的应用程序)进行预加载,当用户操作打开预测的应用程序时,电子设备便能够直接启动该应用程序。或者,电子
identification module,sim)卡接口595等。
83.其中,传感器模块580可以包括压力传感器580a,陀螺仪传感器580b,气压传感器580c,磁传感器580d,加速度传感器580e,距离传感器580f,接近光传感器580g,指纹传感器580h,温度传感器580j,触摸传感器580k,环境光传感器580l,骨传导传感器580m等。
84.可以理解的是,图5所示的结构并不构成对手机的具体限定。在一些实施例中,手机也可以包括比图5所示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置等。又或者,图5所示的一些部件可以以硬件,软件或软件和硬件的组合实现。
85.处理器510可以包括一个或多个处理单元,例如:处理器510可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。控制器可以是手机的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
86.处理器510中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器510中的存储器为高速缓冲存储器。该存储器可以保存处理器510刚用过或循环使用的指令或数据。如果处理器510需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器510的等待时间,因而提高了系统的效率。
87.在一些实施例中,处理器510可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,sim接口,和/或usb接口等。
88.充电管理模块540用于从充电器接收充电输入。充电管理模块540为电池542充电的同时,还可以通过电源管理模块541为手机供电。电源管理模块541用于连接电池542,充电管理模块540,以及处理器510。电源管理模块541也可接收电池542的输入为手机供电。
89.手机的无线通信功能可以通过天线1,天线2,移动通信模块550,无线通信模块560,调制解调处理器以及基带处理器等实现。
90.天线1和天线2用于发射和接收电磁波信号。手机中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
91.当手机包括移动通信模块550时,移动通信模块550可以提供应用在手机上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块550可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块550可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块550还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块550的至少部分功能模块可以被设置于处理器510中。在
一些实施例中,移动通信模块550的至少部分功能模块可以与处理器510的至少部分模块被设置在同一个器件中。
92.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器570a,受话器570b等)输出声音信号,或通过显示屏594显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器510,与移动通信模块550或其他功能模块设置在同一个器件中。
93.无线通信模块560可以提供应用在手机上的包括无线局域网(wireless local area networks,wlan)(如wi-fi网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),nfc,红外技术(infrared,ir)等无线通信的解决方案。无线通信模块560可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块560经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器510。无线通信模块560还可以从处理器510接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
94.在一些实施例中,手机的天线1和移动通信模块550耦合,天线2和无线通信模块560耦合,使得手机可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(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)。
95.手机通过gpu,显示屏594,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏594和应用处理器。处理器510可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
96.显示屏594用于显示图像,视频等。显示屏594包括显示面板。显示面板可以采用液晶显示屏(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个显示屏594,n为大于1的正整数。
97.手机可以通过isp,摄像头593,视频编解码器,gpu,显示屏594以及应用处理器等实现拍摄功能。在一些实施例中,手机可以包括1个或n个摄像头593,n为大于1的正整数。
98.外部存储器接口520可以用于连接外部存储卡,例如micro sd卡,实现扩展手机的存储能力。外部存储卡通过外部存储器接口520与处理器510通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
99.内部存储器521可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器510通过运行存储在内部存储器521的指令,从而执行手机的各种功能应用以及数据处理。内部存储器521可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器521可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
100.手机可以通过音频模块570,扬声器570a,受话器570b,麦克风570c,耳机接口570d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
101.当然,可以理解的,上述图5所示仅仅为终端的设备形态为手机时的示例性说明。若终端是平板电脑,手持计算机,pc,pda,可穿戴式设备(如:智能手表、智能手环),智能家居设备(如:电视机),车机(如:车载电脑),智慧屏,游戏机,以及ar/vr设备等其他设备形态时,终端的结构中可以包括比图5中所示更少的结构,也可以包括比图5中所示更多的结构,在此不作限制。
102.以下实施例中的方法均可以在具有上述硬件结构的电子设备中实现。下面将结合附图对本技术实施例进行举例说明。
103.在本技术实施例中,电子设备可以根据用户的应用程序使用习惯和/或预设的预测规则对应用程序预测和预加载。
104.以电子设备为手机,电子设备预测用户可能要打开的应用程序并进行预加载为例。图6示出了本技术实施例提供的一种应用程序运行加速的方法的流程示意图。如图6所示,该应用程序运行加速的方法可以包括以下s601-s603。
105.s601、手机生成用户画像。其中,用户画像可以包括用户使用手机以及应用程序的使用习惯。
106.作为一种实施方式,手机可以通过观测用户使用手机过程中用户的操作行为,根据观测到的操作行为生成用户画像。示例地,用户的操作行为可以包括用户使用某个应用程序时的环境(如,时间,地点等),用户使用某个应用程序所进行的操作等。例如,手机观测的用户操作行为是“早上八点在桌面上点击有声书类app,(如“听书”app)的图标,进入有声书类app收听有声小说”,“早上八点十五分在车库打开导航类app(如“地图”app)查询路况”等。手机观测到这些用户的操作行为后,可以将这些操作行为存储记录起来,以便根据这些操作行为生成用户画像。示例地,手机可以对观测得到的这些用户的操作行为中,相同操作行为发生的次数进行统计。然后,根据一定的时间周期(如,最近一周,最近一个月或最近三个月等)对各种操作行为发生的频率进行计算。最终,手机可以将发生频率高于一定阈值的操作行为作为用户使用手机已经应用程序的使用习惯,并根据各种操作行为的发生频率的大小进行排序。例如,手机观测并存储的用户的操作行为可以包括:早上八点起床,并打开有声书类app收听有声小说。早上在车库会打开导航类app查看路况。早上八点起床,并打开新闻类app浏览新闻。通过“办公”app打开文档。通过“文本”app打开文档。其中,手机通过对
最近一个月存储的用户的操作行为进行统计,早上八点起床,并打开有声书类app收听有声小说,该行为最近一个月发生的频率为90%。早上在车库会打开导航类app查看路况,该行为最近一个月发生的频率为80%。早上八点起床,并打开新闻类app浏览新闻,该行为最近一个月发生的频率为30%。通过“办公”app打开文档,该行为最近一个月发生的频率为88%。通过“文本”app打开文档,该行为最近一个月发生的频率为10%。此时,手机可以将发生频率高于60%的操作行为作为用户使用习惯以生成用户画像。即手机生成的用户画像可以包括:用户一般早上八点起床,并打开有声书类app收听有声小说。用户一般早上到车库后会打开导航类app查看路况。用户需要打开文档时一般通过“办公”app打开文档。
107.当然,在其他一些实施方式中,手机还可以通过其他方式生成用户画像。例如,手机向用户展示应用程序使用习惯的问卷,然后根据用户填写的问卷信息生成用户画像等,此处不做限制。另外,在其他一些实施方式中,用户画像(即用户的习惯)还可以通过序列预测、频繁模式挖掘等机器学习方法得到。
108.s602、手机根据当前所处的场景,以及用户画像和/或预设的预测规则,预测用户可能要打开的应用程序。
109.作为一种实施方式,手机可以根据当前所处的场景,在用户画像中查询对应的用户操作行为(或称为使用习惯、用户行为),然后根据查询到的用户操作行为预测与该操作行为相对应的应用程序为用户可能要打开的应用程序。
110.例如,用户画像中有一个用户操作行为(或称为用户行为)是“用户一般在处理图片时采用app1”。因此,如图7中的(a)所示,当用户在手机中打开某个图片,并准备处理图片(如,修图等)时。手机弹出可供用户选择的安装在手机中的处理图片的应用程序(如,包括app1、app2、app3等)。当手机观测到用户的上述操作时(即手机观测到用户准备处理图片的场景),则手机可以根据该场景在用户画像中进行查询。此时,手机查询到用户画像中有一个用户操作行为是“用户一般在处理图片时采用app1”,因此,手机可以根据该操作行为预测用户可能要打开app1,从而便于后续手机根据预测对app1进行预加载。当用户点击app1的图标以打开app1时,如图7中的(b)所示,手机接收到用户打开app1的操作后,可以直接根据预加载打开该app1进入到应用界面701。
111.又例如,用户画像中有一个用户操作行为(或称为用户行为)是“用户需要打开文档时一般采用app1打开文档”。因此,如图8中的(a)所示,当用户在手机中打开某个文档时,手机弹出可供用户选择的安装在手机中的可打开文档的应用程序(如,包括app1、app2、app3等)。当手机观测到用户的上述操作时(即手机观测到用户准备打开文档的场景),则手机可以根据该场景在用户画像中进行查询。此时,手机查询到用户画像中有一个用户操作行为是“用户需要打开文档时一般采用app1打开文档”。因此,手机可以根据该操作行为预测用户可能要打开app1,从而便于后续手机根据预测对app1进行预加载。当用户点击app1的图标以打开app1时,如图8中的(b)所示,手机接收到用户打开app1的操作后,可以直接根据预加载打开该app1进入到应用界面801。
112.又例如,用户画像中有一个用户操作行为(或称为用户行为)是“用户经常玩游戏app1”。因此,如图9所示,当用户在手机中打开应用分类文件夹“游戏”时,手机可显示手机中安装的各个游戏app(如,包括游戏app1、游戏app2、游戏app3等)。当手机观测到用户的上述操作时(即手机观测到用户打开了“游戏”应用分类文件夹,准备玩游戏的场景),则手机
可以根据该场景在用户画像中进行查询。此时,手机查询到用户画像中有一个用户操作行为是“用户经常玩游戏app1”。因此,手机可以根据该操作行为预测用户可能要打开游戏app1,从而便于后续手机根据预测对游戏app1进行预加载。其中,在一些其他实施方式中,当用户打开某个应用分类文件夹时,手机还可以根据该应用分类文件夹中是否存在某个应用程序(如第一应用程序)具有用户未完成业务来预测用户可能要打开该应用程序,从而对该应用程序进行预加载。用户未完成的业务可以是用户曾经打开该应用程序进行业务操作,关闭应用程序后相应业务操作的进程或业务流程还没有结束等。例如,如图10所示,当用户在手机中打开应用分类文件夹“购物”时,手机可以显示手机中安装的各个购物app(如,包括购物app1、购物app2、购物app3等)。当手机观测到用户的上述操作时(即手机观测到用户打开了“购物”应用分类文件夹,准备进行购物的场景),则手机可以查询用户使用各个购物app的历史操作,然后根据历史操作确定某个购物app(如购物app1)中有用户购买物品的业务还未完成(如用户在购物app1中购买了物品,该物品正在运输中还没有到货),此时手机可以预测用户可能要打开购物app1,从而便于后续手机根据预测对购物app1进行预加载。使手机能够在用户打开“购物”应用分类文件夹准备启动购物app1查看购买的物品的物流信息时,提前对购物app1进行预加载提高用户打开购物app1的响应速度。需要说明的是,当手机预测到用户可能会打开的应用程序不止一个时,手机还可以根据预测到的应用程序的优先级(通常可以对不同应用程序预设优先级)的不同来分配预测到的应用程序可预加载的配额,从而使手机可以根据配额分别预加载相应的应用程序。例如,以图10所示为例,在用户打开“购物”应用分类文件夹时,手机可以根据购物app1存在未完成业务预测用户可能要打开购物app1,还根据用户画像中用户经常使用购物app2而预测用户可能要打开购物app2。此时,手机可以根据预先设置的优先级,如根据未完成业务预测出的应用程序的优先级低于根据用户画像预测出的应用程序(即购物app1的优先级低于购物app2的优先级),对购物app1和购物app2可预加载的配额进行分配。如,低优先级的购物app1分配可预加载的配额为70%(即购物app1可预加载全部数据的70%),高优先级的购物app2分配可预加载的配额为30%(即购物app2可预加载全部数据的30%)。从而手机可以根据对购物app1和购物app2分配的配额分别预加载购物app1和购物app2。
113.当然,上述仅为手机预测用户要打开的应用程序的示例。在实际应用中,还可以包括其他实施示例。例如,当手机观测到时间快到早上八点了(如,当前时间为七点五十八分),手机查询到用户画像中有一个用户操作行为是“用户通常早上八点起床,并打开有声书app收听有声书”。则手机此时可以预测到用户将要打开有声书app,从而便于后续手机根据预测对有声书app进行预加载。或者,当手机观测到时间快到早上八点半了(如,当前时间为八点二十分),手机查询到用户画像中有一个用户操作行为是“用户通常在早上八点半至九点,打开新闻app浏览新闻”。则手机此时可以预测到用户将要打开新闻app,从而便于后续手机根据预测对新闻app进行预加载。又或者,当手机观测到时间快到中午十二点了(如,当前时间为十二点五十分),手机查询到用户画像中有一个用户操作行为是“用户通常在中午十二点至十三点,打开外卖app点外卖”。则手机此时可以预测到用户将要打开外卖app,从而便于后续手机根据预测对外卖app进行预加载。又或者,当手机观测到时间快到晚上二十点了(如,当前时间为十九点五十五分),手机查询到用户画像中有一个用户操作行为是“用户通常在二十点至二十一点,打开游戏app玩游戏”。则手机此时可以预测到用户将要打
开游戏app,从而便于后续手机根据预测对游戏app进行预加载。又或者,当手机观测到手机当前所处位置(或者说用户所处位置)为地铁站,手机查询到用户画像中有一个用户操作行为是“用户通常在地铁站使用乘车app扫码乘车”。则手机此时可以预测到用户将要打开乘车app,从而便于后续手机根据预测对乘车app进行预加载。
114.作为另一种实施方式,手机还可以根据当前所打开的应用(即用户打开某个应用时的场景),在用户画像中查询对应的用户操作行为(或称为使用习惯),然后根据查询到的用户操作行为预测与该操作行为相对应的应用程序为用户可能要打开的应用程序。
115.例如,用户在打开外卖app后准备点外卖时,通常还会再打开点评app以查看外卖商家的相关点评。用户在打开银行app后查看资产信息时,通常还会再打开支付理财app进行理财或支付等操作。用户在打开美颜app后准备修图时,通常还会再打开图库app来选择图片。因此,用户画像中还可以包括用户打开某个应用程序后,还会再打开另一个应用程序的操作行为。如,用户打开外卖app后,还会再打开点评app。用户打开银行app后,还会再打开支付理财app。用户打开美颜app后,还会再打开图库app等。当手机观测到用户打开了外卖app后,会查询用户画像中的用户操作行为,从而预测用户将要打开点评app。相应地,手机观测到用户打开了银行app后,会预测用户将要打开支付理财app。手机观测到用户打开了美颜app后,会预测用户将要打开图库app。
116.作为另一种实施方式,手机还可以根据用户当前的操作行为(即用户进行某项操作时的场景),按照预设的预测规则,预测用户可能要打开的应用程序。
117.例如,预设的预测规则包括“当用户搜索安装的应用程序时,则预测用户可能要打开搜索的应用程序”。因此,如图11所示,当用户在手机中搜索安装的某个应用程序(如app1)时,手机可以显示出用户搜索的应用程序,如app1。此时,手机可以根据预设的预测规则预测用户将要打开搜索的app1,从而便于后续手机根据预测对app1进行预加载。
118.又例如,预设的预测规则包括“当用户下载某个应用程序(如app1)时,则预测用户可能要打开下载的应用程序”。因此,示例地,如图12中的(a)所示,当用户在手机应用市场中通过点击操作下载app1时,手机可以响应于用户的点击操作下载并安装该app1。当手机下载并安装完成app1时,如图12中的(b)所述,手机可以显示下载完成的界面,在该下载完成的界面中包括有便于用户打开app1的操作控件(例如,图中所示的“打开”按钮1201)。在用户还没有通过点击“打开”按钮1201等操作来打开app1时,手机可以根据预设的预测规则预测用户将要打开下载的app1,从而便于后续手机根据预测对app1进行预加载。
119.当手机预测到用户可能将要打开的应用程序后,手机可以对该应用程序进行预加载。其中,手机对应用程序的预加载可以包括加载应用程序的运行必需线程或进程,还可以加载应用程序某些业务所需的线程或资源。例如,手机可以根据用户画像中相应的用户操作行为预加载应用程序相应的内容。如,用户画像中有用户通常打开新闻app后会滑动应用界面以刷新内容,然后再点击某个板块进行收听或查看的操作行为。此时,当手机预测到用户可能将要打开新闻app时,手机可以将新闻app的运行必需进程或线程进行预加载,还会将实现刷新应用界面内容,以及用户常点击的某个板块的相关资源内容所需的线程或资源进行预加载。以便于用户打开新闻app时,应用界面的内容已经刷新好,用户常点击的某个板块的内容也已经加载好供用户查看或收听,从而进一步提高手机打开应用程序时的响应速度。
120.作为一种实施方式,如图5所示的手机中的内部存储器521可以包括磁盘(例如,固态硬盘(solid state disk,ssd),硬盘驱动器(hard disk drive,hdd),nand闪存(nand flash),通用闪存存储(universal flash storage,ufs),emmc等)和易失性内存。其中,磁盘读写速度相对较慢,可以在掉电的情况下稳定存储不丢失存储内容,功耗较低,能够用于存储手机上安装的应用程序的数据。易失性内存读写速度较快,在存储时需要电量维持以保证存储内容不丢失,功耗较高,能够用于加载和运行应用程序。因此,手机可以将预测的用户可能要打开的应用程序(或称为预测的应用程序)从磁盘中预加载到易失性内存中。当用户打开预测的应用程序时,手机则可以直接在易失性内存中运行已经预加载的该预测的应用程序,从而提高用户打开相应应用程序时手机的响应速度。
121.可选地,为了避免手机将预测的应用程序在易失性内存中进行预加载,而导致易失性内存的空间占用较高,使手机产生卡顿现象,以及使手机功耗增加。本技术实施例中还提供了另一种实施方式,例如手机预加载应用程序可以执行以下s603。
122.s603、手机通过非易失性内存预加载预测的用户可能要打开的应用程序。
123.示例地,如图5所示的手机中的内部存储器521可以如图1中的(b)所示,包括磁盘121(例如,ssd、hdd、nand flash、emmc、ufs等),易失性内存122以及非易失性内存123。其中,易失性内存122的存储介质可以是双倍数据速率存储介质(double data rate,ddr),ddr二代(ddr2),ddr三代(ddr3),ddr四代(ddr4),高带宽存储(high bandwidth memory,hbm)等,非易失性内存123的存储介质可以是单层单元闪存(single-levelcell-nand,slc-nand),磁性随机存储(magnetic radom access memory,mram),阻变式存储(resistance radom access memory,rram),相变随机存储(phase change radom access memory,pcram)等快速可保持存储(fast none volatile memory,fastnvm)。
124.需要说明的是,本示例中的上述非易失性内存的读写速度稍低于易失性内存,远高于磁盘的读写速度,可以用做低优先级应用、进程的运行态载体。该非易失性内存具有非易失性存储特性,即在掉电的情况下也能够稳定存储,因此功耗相对较低。易失性内存和非易失性内存之间可以相互调度,数据可以相互转移。例如,可以通过内存管理模块来实现易失性内存和非易失性内存之间的调度和数据转移。易失性内存和非易失性内存可以独立设置也可以集成在一起此处不做限制。
125.非易失性内存作为低功耗内存,其可以存储应用程序要访问的资源数据(例如,配置文件、多媒体数据等),还可以存储应用程序的运行时代码段,应用程序可以直接在该内存区运行。为了降低功耗对于预加载的应用程序可加载在该非易失性内存中。用户感知不强的应用程序、进程或线程等运行时相应的内存页也可以在该非易失性内存中运行。例如,后台下载,后台资源更新等业务也可在该非易失性内存中运行。
126.因此,手机可以将预测的用户可能要打开的应用程序(或称为预测的应用程序)从磁盘中预加载到非易失性内存中,或者将应用程序一部分加载在非易失性内存中,一部分加载在易失性内存中。当用户打开预测的应用程序时,手机则可以将预加载在非易失性内存中的该应用程序的数据移动到易失性内存中以运行该应用程序。从而提高用户打开相应应用程序时手机的响应速度。
127.其中,作为一种实现方式,手机预加载应用程序时,应用程序在易失性内存和非易失性内存中进行预加载调度的方式可以如以下示例。
128.示例地,当手机要预加载某个应用程序时,手机可以根据该应用程序当前是否已经被加载过,对该应用程序的预加载进行相应的调度。
129.例如,当要预加载的应用程序未被加载过,且如果该应用程序可能被用户打开的置信度(置信度为预测的可能性,可以是根据机器学习预测算法得到,还可以根据用户画像中该应用程序相关的用户操作行为的频率大小得到,如将频率直接作为置信度,当频率越高时置信度越高)高于第一阈值而未超过第二阈值(第一阈值和第二阈值可根据实际情况设置,以便将置信度高于第一阈值未超过第二阈值的应用程序作为用户有一定可能性要使用的应用程序,将高于第二阈值的应用程序作为用户有很大可能要打开的应用程序),则说明该应用程序有一定可能被用户使用,手机可以从磁盘中将该应用程序加载到非易失性内存中。从而便于后续应用程序被用户打开时,手机能够将非易失性内存中预加载的应用程序数据转移到易失性内存中以运行应用程序,从而在应用程序预加载时减小易失性内存空间占用和降低功耗。或者,如果该应用程序可能被用户打开的置信度超过了第二阈值,则说明该应用程序有很大可能被用户使用,手机可以从磁盘中将该应用程序的一部分(如第二数据)加载到易失性内存中,将另一部分(如第一数据)加载到非易失性内存中。其中,加载到易失性内存的部分通常为用户感知(用户感知即用户期望的应用程序的运行速度,通常用户感知较强的业务与用户感知较弱的业务相比,用户感知较强的业务的用户期望的运行速度大于用户感知较弱的业务的用户期望的运行速度)相对较强的交互类线程或进程,而加载到非易失性内存的部分通常为用户感知相对较弱的附加功能。例如,日志上传、打车app中的买菜等附属业务等。从而便于后续应用程序被用户打开时,手机能够直接将用户感知相对较强的业务在易失性内存中开始运行,而将其他附属业务等相关的数据从非易失性内存中转移到易失性内存中再进行运行,进一步提升手机打开应用程序时的响应速度,并兼顾预加载时易失性内存空间占用高和功耗高的问题。
130.又例如,当要预加载的应用程序已被加载过,且该应用程序全部被加载在易失性内存中。则手机可以维持该应用程序目前的加载状态,以便于后续应用程序被用户打开时,手机能够直接在易失性内存中直接运行该应用程序,从而提高手机打开该应用程序时的响应速度。
131.又例如,当要预加载的应用程序已被加载过,且该应用程序全部被加载在非易失性内存中。如果该应用程序可能被用户打开的置信度高于第一阈值而未超过第二阈值,则说明该应用程序有一定可能被用户使用,手机可以维持该应用程序目前的加载状态,以便于后续应用程序被用户打开时,手机能够将非易失性内存中预加载的应用程序数据转移到易失性内存中以运行应用程序,从而在应用程序预加载时减小易失性内存空间占用和降低功耗。或者,如果该应用程序可能被用户打开的置信度超过了第二阈值,则说明该应用程序有很大可能被用户使用,手机可以从非易失性内存中将该应用程序的一部分数据转移到易失性内存中。其中,转移到易失性内存中的一部分数据通常为用户感知相对较强的交互类线程或进程,而保留在非易失性内存中的一部分数据通常为用户感知相对较弱的附加功能。例如,日志上传、打车app中的买菜等附属业务等。从而便于后续应用程序被用户打开时,手机能够直接将用户感知相对较强的业务在易失性内存中开始运行,而将其他附属业务等相关的数据从非易失性内存中转移到易失性内存中再进行运行,进一步提升手机打开应用程序时的响应速度,并兼顾预加载时易失性内存空间占用高和功耗高的问题。
132.又例如,当要预加载的应用程序已被加载过,且该应用程序在易失性内存和非易失性内存中均存在。如果该应用程序可能被用户打开的置信度高于第一阈值而未超过第二阈值,则说明该应用程序有一定可能被用户使用,手机可以维持该应用程序目前的加载状态,以便于后续应用程序被用户打开时,手机能够将非易失性内存中预加载的应用程序数据转移到易失性内存中以运行应用程序,从而在应用程序预加载时减小易失性内存空间占用和降低功耗。或者,如果该应用程序可能被用户打开的置信度超过了第二阈值,则说明该应用程序有很大可能被用户使用,手机可以从非易失性内存中将该应用程序的一部分数据转移到易失性内存中。其中,转移到易失性内存中的一部分数据通常为用户感知相对较强的交互类线程或进程,而保留在非易失性内存中的一部分数据通常为用户感知相对较弱的附加功能。例如,日志上传、打车app中的买菜等附属业务等。从而便于后续应用程序被用户打开时,手机能够直接将用户感知相对较强的业务在易失性内存中开始运行,而将其他附属业务等相关的数据从非易失性内存中转移到易失性内存中再进行运行,进一步提升手机打开应用程序时的响应速度,并兼顾预加载时易失性内存空间占用高和功耗高的问题。
133.需要说明的是,当手机根据预测对预测的用户可能要打开的应用程序进行了预加载之后,则当用户打开该应用程序时,手机可以将非易失性内存中存储该应用程序的数据转移到易失性内存中,以使手机可以在易失性内存中运行该应用程序供用户使用。
134.示例地,以用户正在使用app1,手机预测的用户可能要打开的应用程序为app2,且手机采用将app2从磁盘中预加载到非易失性内存中的方式进行app2预加载为例。
135.如图13中的(a)所示,当用户正在使用app1时(在用户使用app1之前启动app1时,手机可以通过易失性内存从磁盘中加载app1,即在易失性内存中加载app1运行段),手机预测到用户可能将要使用app2。手机根据预测结果,准备预加载app2。此时,手机发现app2当前未被加载过,则可以指示非易失性内存从磁盘中加载app2(例如,通过app调度策略执行模块来指示非易失性内存从磁盘中加载app2),即在非易失性内存中加载app2运行段,并在非易失性内存中完成app2的运行(例如,app启动,app特定线程的运行,app所需资源的分配等)。如图13中的(b)所示,当用户要使用app2时,手机接收到用户打开app2的操作(如用户通过点击桌面上的app2图标等方式以打开app2)则开始加载app2。此时,手机可以指示非易失性内存将app2的运行段数据(或者说运行态的全部数据)转移到易失性内存中,以使手机在易失性内存中运行该app2供用户使用。如图13中的(c)所示,当用户一定时间内还未使用app2时,或者用户使用完app2将app2在非易失性内存中保活一段时间后,手机则可以从非易失性内存中卸载(或者说淘汰,释放,回收)app2。例如,手机可以通过app调度策略执行模块指示非易失性内存将app2的运行段数据释放掉。
136.需要注意的是,由于易失性内存和非易失性内存均可作为程序运行时的载体,因此,在一些可能的实施方式中,当用户要打开预测的应用程序(如app2)时,从非易失性内存转移到易失性内存的数据可能仅是应用程序运行段数据的一部分(如,用户感知较强的部分业务数据),其中用户感知较弱的部分仍在非易失性内存中运行,例如日志上传、打车app中的买菜业务等。用户感知即用户期望的应用程序的运行速度,通常用户感知较强的业务与用户感知较弱的业务相比,用户感知较强的业务的用户期望的运行速度大于用户感知较弱的业务的用户期望的运行速度。
137.例如,如图14中的(a)所示,当用户在使用app1时(在用户使用app1之前启动app1
时,手机可以通过易失性内存从磁盘中加载app1,即在易失性内存中加载app1运行段),手机预测到用户可能将要使用app2。手机根据预测结果,准备预加载app2。此时,手机发现app2当前未被加载过,则可以指示非易失性内存从磁盘中加载app2(例如,通过app调度策略执行模块来指示非易失性内存从磁盘中加载app2),即在非易失性内存中加载app2运行段,并在非易失性内存中完成app2的运行(例如,app启动,app特定线程的运行,app所需资源的分配等)。如图14中的(b)所示,当用户要使用app2时,手机接收到用户打开app2的操作(如用户通过点击桌面上的app2图标等方式以打开app2)则开始加载app2。此时,手机可以指示非易失性内存将app2的运行段的一部分数据(或称为app2第一运行段)转移到易失性内存中,在非易失性内存中保留app2的运行段的另一部分数据(或称为app2第二运行段),以使手机在易失性内存和非易失性内存中分别运行该app2的第一运行段和第二运行段,以实现运行app2供用户使用。如图14中的(c)所示,当用户一定时间内还未使用app2时,或者用户使用完app2将app2在非易失性内存中保活一段时间后,手机则可以从非易失性内存中卸载(或者说淘汰,释放,回收)app2。例如,手机可以通过app调度策略执行模块指示非易失性内存将app2的运行段数据释放掉。
138.其中,手机可以实时预测用户在那些场景下可能要打开哪些应用程序。此时,手机可以仅在预测到的应用程序用户将要打开时,对这些应用程序进行预加载,从而降低因预加载过多的应用程序而增加手机功耗。当然,若手机检测到其正在充电,则手机可以不考虑功耗,一次性将所有预测到的用户可能要打开的应用程序全部进行预加载。并且,可以将这些应用程序预加载到上述非易失性内存中,从而当手机预加载完成后即使手机不再充电,也能保持较低功耗。
139.作为另一种实施实现方式,在手机现有的高速运存和低速存储之间,可以增加多级不同速度的存储作为运行时内存。在应用预加载时,根据各级存储的速度以及用户对应用程序运行的感知,将应用程序运行时内存段分别加载到不同的存储中。例如,对于打车app,将打车主业务(例如地图、订单处理)加载到高速运行时内存,将使用不频繁的业务(例如买菜)加载到次一级的运行时内存,将用户感知很弱的业务(例如日志上传、本地机器学习推理)加载到再次一级的运行时内存。这些多级存储可以是易失性内存,也可以是非易失性内存。
140.作为另一种实施实现方式,得益于网络速度的高速提升以及虚拟化、分布式技术的发展,跨设备、跨网络的读写性能已经高于一些低端运行时内存(如emmc)的性能。上述多级存储的实例还可以在物理上和当前设备的高速运行时内存是分离的,例如有线局域网内的网络附属存储(network attached storage,nas)、云端存储(cloud storage)、通过高速网络(例如5g)连接到的其他存储(nas、cloud storage或其他存储器件)、借助分布式虚拟化技术提供的存储介质等。
141.在本技术实施例中,电子设备还可以根据观测到的用户使用电子设备的操作行为,以及用户画像信息,对用户切换到后台的应用程序是否还会继续使用进行预测。并根据预测结果对相应的应用程序进行保活。
142.以电子设备为手机,电子设备预测用户切换到后台的应用程序可能还会继续使用并进行保活为例。图15示出了本技术实施例提供的另一种应用程序运行加速的方法的流程示意图。如图15所示,该应用程序运行加速的方法可以包括以下s1501-s1503。
nand),磁性随机存储(magnetic radom access memory,mram),阻变式存储(resistance radom access memory,rram),相变随机存储(phase change radom access memory,pcram)等快速可保持存储(fast none volatile memory,fastnvm)。
152.需要说明的是,本示例中的上述非易失性内存的读写速度略低于易失性内存,远高于磁盘的读写速度,可以用做低优先级应用、进程的运行态载体。该非易失性内存具有非易失性存储特性,即在掉电的情况下也能够稳定存储,因此功耗相对较低。易失性内存和非易失性内存之间可以相互调度,数据可以相互转移。例如,可以通过内存管理模块来实现易失性内存和非易失性内存之间的调度和数据转移。易失性内存和非易失性内存可以独立设置也可以集成在一起此处不做限制。
153.非易失性内存作为低功耗内存,其可以存储应用程序要访问的资源数据(例如,配置文件、多媒体数据等),还可以存储应用程序的运行时代码段,应用程序可以直接在该内存区运行。为了降低功耗和对易失性内存的占用,可以将应用程序保活在该非易失性内存中。
154.因此,手机可以将预测的用户可能要继续使用的应用程序(或称为预测的要继续使用的应用程序)从易失性内存转移到非易失性内存进行保活。当用户切换回预测的要继续使用的应用程序时,手机则可以将保活在非易失性内存中的该应用程序的数据移动到易失性内存中以继续运行该应用程序。从而避免用户要继续使用的应用程序被后台清掉,提高用户切换回应用程序时手机的响应速度。
155.其中,作为一种实现方式,手机保活应用程序时,应用程序在易失性内存和非易失性内存中进行调度的方式可以如以下示例。
156.示例地,当手机要保活某个应用程序时,若该应用程序可能被用户继续使用的置信度(置信度为预测的可能性,可以是根据机器学习预测算法得到,还可以根据用户画像中该应用程序相关的用户操作行为的频率大小得到,如将频率直接作为置信度,当频率越高时置信度越高)高于第一阈值而未超过第二阈值(第一阈值和第二阈值可根据实际情况设置,以便将置信度高于第一阈值未超过第二阈值的应用程序作为用户有一定可能性要继续使用的应用程序,将高于第二阈值的应用程序作为用户有很大可能要继续使用的应用程序),则说明该应用程序有一定可能被用户继续使用,手机可以从易失性内存中将该应用程序的数据转移到非易失性内存中。从而便于后续应用程序被用户切回前台继续使用时,手机能够将该应用程序从非易失性内存中重新转移到易失性内存中继续运行。减小应用程序保活时易失性内存的空间占用和功耗。或者,如果该应用程序可能被用户继续使用的置信度超过了第二阈值,则说明该应用程序有很大可能被用户继续使用。手机可以维持该应用程序在易失性内存中的运行状态,即将该应用程序保活在易失性内存中。以便于后续应用程序被用户切回前台继续使用时,手机能够直接在易失性内存中继续运行,从而提高手机在用户切换回应用程序继续使用时的响应速度。又或者,手机可以先将应用程序保活在易失性内存中,以便于用户切换回该应用程序时,手机能够继续在易失性内存中继续运行该应用程序。而随着时间的推移,若用户还没有切换回保活在易失性内存中的应用程序继续使用时,手机可以逐步将保活在易失性内存中的应用程序的内容转移到非易失性内存中。从而降低应用程序保活时易失性内存的空间占用和功耗。
157.需要说明的是,当手机根据预测对预测的用户可能要继续使用的应用程序进行保
活之后,则当用户切换回该应用程序继续使用时,手机可以将非易失性内存中存储的该应用程序的数据转移到易失性内存中,以使手机在易失性内存中继续运行该应用程序供用户继续使用。
158.示例地,以用户将app1切换到后台,打开app2进行使用,手机预测用户可能要继续使用app1为例。
159.如图16中的(a)所示,用户将app1切换到后台(此时,app1的运行段数据将保留在易失性内存中),要使用app2时,手机可以加载app2以供用户使用。其中,用户启动app1和app2时均可以是手机指示易失性内存从磁盘加载app2或app1(例如,通过app调度策略执行模块来指示易失性内存从磁盘加载app2或app1),并在易失性内存中完成app2或app1的运行(例如,app启动,app特定线程的运行,app所需资源的分配等)。如图16中的(b)所示,当用户使用app2时间较长时,手机预测到用户后续可能要继续使用app1,则手机可根据预测结果来保活app1。此时,手机可以指示易失性内存将app1的运行段数据转移到非易失性内存中进行保活。如图16中的(c)所示,当用户切回app1继续使用时,手机则可以指示非易失性内存将app1的运行段数据转移到易失性内存中,以使手机在易失性内存中继续运行该app1供用户继续使用。其中,若用户长时间还没有切回app1以继续使用,则手机可以从非易失性内存中将app1卸载。具体可以参考如图13中的(c)所示的方式,此处不做赘述。
160.需要注意的是,由于易失性内存和非易失性内存均可作为程序运行时的载体,因此,在一些可能的实施方式中,当用户切回相应的应用程序(如app1)时,从非易失性内存转移到易失性内存的数据可能仅是该应用程序运行段数据的一部分(如,用户感知较强的部分业务数据),其中用户感知较弱的部分仍在非易失性内存中运行,例如日志上传、打车app中的买菜业务等。
161.在一些实施例中,当手机需要将应用程序(如app1)在非易失性内存中进行保活时,手机还可以将应用程序运行段的一部分数据(或称为第二数据)(如,用户感知较强的部分业务数据)保留在易失性内存中,而将另一部分数据(或称为第一数据)(如,用户感知较弱的部分业务数据)转移到非易失性内存中。用户感知即用户期望的应用程序的运行速度,通常用户感知较强的业务与用户感知较弱的业务相比,用户感知较强的业务的用户期望的运行速度大于用户感知较弱的业务的用户期望的运行速度。
162.例如,如图17中的(a)所示,用户将app1切换到后台(此时,app1的运行段数据将保留在易失性内存中),要使用app2时,手机可以加载app2以供用户使用。其中,用户启动app1和app2时均可以是手机指示易失性内存从磁盘加载app2或app1(例如,通过app调度策略执行模块来指示易失性内存从磁盘加载app2或app1),并在易失性内存中完成app2或app1的运行(例如,app启动,app特定线程的运行,app所需资源的分配等)。如图17中的(b)所示,当用户使用app2时间较长时,手机预测到用户后续可能要继续使用app1,则手机可根据预测结果来保活app1。此时,手机可以指示易失性内存将app1的运行段的一部分数据(或称为app1第一运行段)保留在易失性内存中,而将app1的运行段的另一部分数据(或称为app1第二运行段)转移到非易失性内存中以对app1进行保活。如图17中的(c)所示,当用户切回app1继续使用时,手机则可以指示非易失性内存将app1的第二运行段数据转移到易失性内存中,以使手机在易失性内存中继续运行该app1(即运行app1的第一运行段和第二运行段,也即运行app1的运行段)供用户继续使用。其中,随着时间的推移,以及手机对用户可能要
切回app1继续使用的预测概率(如,置信度)的降低,手机还可以逐步的将保留在易失性内存中的app1第一运行段转移到非易失性内存中。从而减少app1的数据占用的易失性内存的空间。
163.需要说明的是,在一些其他实施例中,当手机检测到其正在充电时,还可以不考虑功耗问题,将预测出的用户可能要继续使用的所有处于后台的应用程序进行保活。
164.基于上述图6以及图15所示的方法流程,下面将结合图18-图20来介绍和存储器(如,上述的易失性内存以及非易失性内存)相关的实施例:
165.诸如pc机、智能手机、平板电脑等电子设备,是日常生产生活中所必须的电子设备。在这些设备中,中央处理器使用随机访问存储器(radom access memory,ram),例如ddr3、ddr4、ddr5等,进行数据的快速存取,而使用存储器storage(例如hdd硬盘,或者ssd固态硬盘)来持久存取数据。
166.其中,目前常用于数据快速存取的ram是ddr-sdram,这是一种掉电易失的器件。为了保存数据,ddr-sdram需要不断地“刷新“所保存的数据——由于半导体漏电的原因,需要定期将数据重写一遍——会消耗较高的功耗;另外,当系统遭遇突然掉电时,其存储的内容会丢失。
167.持久存取数据的storage,是一种慢速设备。当系统要将数据写入storage时,通常会遇到较长的延迟和等待。例如:关键数据的同步写盘命令(sync write)导致的io(input output)性能瞬间下降。
168.本技术的一些实施例提供了一种混合了易失型和非易失型存储介质的存储器,可以实现以下中的至少一项:
169.提升操作系统(operating system,os)的同步写性能,使被大量使用的数据库的性能提高
170.使快速存取的数据掉电不丢失,并可实现写入完成后即可断电,保证功耗节省。
171.参考图18-图20,本技术提供的一些实施例可以包括以下中的一项或多项(各项中的多个子项可以根据实际情况选择是采用一个子项或是多个子项):
172.在同一个基板(substrate)上,同时集成了易失型存储介质和非易失型存储介质,以及存储控制器。其中,易失型存储介质可以是:例如,ddr,ddr2,ddr3,ddr4,hbm(超宽带)等。非易失型存储介质可以是:例如,slc-nand,mram(magnetic radom access memory),rram(resistance radom access memory),pcram(phase change radom access memory)等。
173.易失型存储介质和非易失型存储介质,连接到存储控制器。
174.其中,可以连接到同一个存储控制器,或,可以连接到不同的存储控制器。
175.存储控制器(controller)、substrate(基板)及其上的易失型(volatile)和非易失型(none-volatile)存储介质,被封装在一个package(封装外壳)内部,对外呈现出总线接口。
176.封装可以是flip-package、bga(ball grid array,球栅阵)、wlcsp(wafer level chip scale package,晶片级别芯片规模封装)等。
177.总线接口可以是一个接口,例如,符合jedec规范的ddr4接口。
178.总线接口可以是二个或多个接口,例如,符合jedec规范的两组ddr4接口。
179.当host器件访问混合存储器时:
180.同一个物理地址端,指向易失型或者非易失型存储器,彼此的物理地址段不重合(并行模式)。
181.或者,同一个物理地址段,既可以指向易失型存储器,也可以指向非易失型存储器,彼此的物理地址重合(如图18中所示的影子模式)。
182.或者,有些物理地址端,既可以指向易失型存储器,也可以指向非易失型存储器,彼此的物理地址重合(影子模式);而另一些物理地址端,指向易失型或者非易失型存储器,彼此的物理地址段不重合(如图18中所示的并行模式)。
183.并行模式时,掉电后再上电,非易失型存储器的数据依然保持、易失型存储器数据丢失。
184.影子模式时,掉电后再上电,影子模式所属物理地址段的数据依然保持。
185.本技术实施例提供的一种并行结构,其实现方式如图19所示:
186.1901为substrate基板。连线1902为内部连线。1903为ddr4,8gbx4组成易失型存储器组,1904为fastnvm,1gbx4组成非易失型存储器组。1905为ddr控制器负责与host接口,同时负责管理ddr4组与fast nvm组。器件为4gb 1gb的混合型存储器。1906为塑封外壳,在其上标注器件型号。其它如胶与filler,在示意图中省略。
187.1901为substrate基板。1903为ddr4,8gbx4组成易失型存储器组,1904为fastnvm1gbx4组成非易失型存储器组。底部为bga焊盘1907,间距(pitch)为0.45mm。
188.在一种具体的实施例中,ddr4 1903可以为1alpha nm工艺节点的micron ddr4颗粒;fastnvm 1904(nvm:none-volatile memory)可以为28nm节点的global foundry 1gb ddr4颗粒;ddr控制器可以为asic(application specific ic;ic:integrated chip)开发的22nm节点定制控制器。基板可以为0.15mm;绑定线可以为金线;器件封装完成后可以再ate(auto test equipment)机台进行package level测试。
189.如图20所示,片上系统(system on chip,soc)通过ddr4(dual-data rate 4)总线接口访问混合存储(hybrid ddr4-sdram),通过访问不同的物理地址段,可以访问其内部的非易失或者易失型存储器。
190.上述实施例其它可能的替代方案还可以包括以下中的一项或多项:
191.host看到的物理地址段,可以同时访问易失型和非易失型存储器。例如,通过配置混合存储颗粒的mr及存储,设置不同的mode模式,以访问不同的存储器。
192.易失型存储器还可以是hbm(high bandwidth memory)超宽带3d-dram,例如512bits宽度,容量1gb的hbm;
193.非易失型存储器还可以是例如3d-xpoint pcm(phase change memory)相变存储器,或者rram(resistance radom access memory)阻变存储器,或者3d-slc nand闪存存储器,等等。
194.host与混合存储器的连接方式,还可以是分别通过两组ddr4的接口,来分别访问内部不同型号的存储器;或者通过ddr4接口访问易失型存储器,通过pcie4.0x4来访问非易失型存储器。
195.intel optane dimm(dual inline memory module,直插式内存条)颗粒与本技术的一些实施例的主要不同点是,其:不是一颗芯片,而是一个pcb板,无法作为器件灵活使
用;其是把3d-xpoint非易失介质做成内存条,但是并没有做上去易失型的介质,不属于混合型。
196.混合dimm条与本技术的一些实施例的的主要不同点是,其:其非易失存储器host无法访问,仅当系统掉电时,由dimm条上的一个控制芯片,在外部备电的帮助下,把内存的数据快速搬到flash上保存;不是一颗芯片,而是一个pcb(printed circuit board)板,无法作为器件灵活使用。
197.采用以上实施例中的方法,电子设备可以基于机器学习对用户的操作行为进行预测,以在用户打开应用程序之前,将相应的应用程序进行预加载,从而时用户打开相应的应用程序时,手机不需要在进行应用程序的加载,可以直接进入应用的界面,提高用户打开该应用程序时应用程序的启动速度。或者,在用户切换应用程序到后台后,可以预测用户的操作行为,对切换到后台的应用程序进行保活,从而使用户切回应用程序后电子设备可继续运行相应的应用程序而不用重新加载,提高应用程序响应速度。
198.对应于前述实施例中的方法,本技术实施例还提供一种应用程序运行加速的装置。该装置可以应用于电子设备,用于实现前述实施例中的方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。例如,图21示出了一种应用程序运行加速的装置的结构示意图,如图21所示,该装置包括:显示模块2101、处理模块2102等。
199.其中,处理模块2102,可以用于根据用户画像和/或预设的预测规则,在预测到用户将要使用第一应用程序时,在第二内存中加载第一应用程序;接收用户开启第一应用程序的第一操作;响应于第一操作,将第二内存中的第一应用程序的数据转移到第一内存中。显示模块2101,可以用于根据第一内存中的第一应用程序的数据,显示第一应用程序的界面。
200.在另一种可能的实现方式中,处理模块2102,具体用于预测到用户将要启动第一应用程序;将第一应用程序的数据从电子设备的磁盘加载到第二内存中。
201.在另一种可能的实现方式中,第一应用程序的数据包括第一数据和第二数据,用户对第一数据对应业务期望的运行速度小于用户对第二数据对应业务期望的运行速度;处理模块2102,具体用于将第一应用程序的第一数据从磁盘加载到第二内存中;处理模块2102,还用于将第一应用程序的第二数据从磁盘加载到第一内存中。
202.在另一种可能的实现方式中,处理模块2102,具体用于预测到用户会将处于后台运行的第一应用程序切换到前台运行;将第一应用程序的全部或部分数据从第一内存转移到第二内存中。
203.在另一种可能的实现方式中,第一应用程序的数据包括第一数据和第二数据,用户对第一数据对应业务期望的运行速度小于用户对第二数据对应业务期望的运行速度;处理模块2102,具体用于将第一应用程序的第一数据从第一内存转移到第二内存;第二数据保留在第一内存中。
204.在另一种可能的实现方式中,处理模块2102,具体用于在根据当前的时间、电子设备当前所处的位置和用户当前的操作中的至少一种,从用户画像和/或预测规则中查询相匹配的用户行为关联的应用程序为第一应用程序时,预测用户将要使用第一应用程序。
205.在另一种可能的实现方式中,预测规则包括以下中的至少一个:当接收到用户搜
索第一应用程序的操作时,预测用户将要启动第一应用程序;当接收到用户安装第一应用程序的操作时,预测用户将要启动第一应用程序;当接收到用户打开包含第一应用程序的应用分类文件夹时,预测用户将要启动第一应用程序;应用分类文件内的各应用程序中,第一应用程序包括未完成业务。
206.在另一种可能的实现方式中,处理模块2102,还用于统计用户对电子设备的用户行为,根据统计的用户行为生成用户画像,保存用户画像,用户行为包括以下至少一个:用户操作,用户操作的执行时间,执行用户操作时电子设备所处的位置。
207.应理解以上装置中单元或模块(以下均称为单元)的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。
208.例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以称为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
209.在一个例子中,以上装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个asic,或,一个或多个dsp,或,一个或者多个fpga,或这些集成电路形式中至少两种的组合。
210.再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如cpu或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,soc)的形式实现。
211.在一种实现中,以上装置实现以上方法中各个对应步骤的单元可以通过处理元件调度程序的形式实现。例如,该装置可以包括处理元件和存储元件,处理元件调用存储元件存储的程序,以执行以上方法实施例所述的方法。存储元件可以为与处理元件处于同一芯片上的存储元件,即片内存储元件。
212.在另一种实现中,用于执行以上方法的程序可以在与处理元件处于不同芯片上的存储元件,即片外存储元件。此时,处理元件从片外存储元件调用或加载程序于片内存储元件上,以调用并执行以上方法实施例所述的方法。
213.例如,本技术实施例还可以提供一种装置,如:电子设备,可以包括:处理器,用于存储该处理器可执行指令的存储器。该处理器被配置为执行上述指令时,使得该电子设备实现如前述实施例所述的应用程序运行加速的方法。该存储器可以位于该电子设备之内,也可以位于该电子设备之外。且该处理器包括一个或多个。
214.在又一种实现中,该装置实现以上方法中各个步骤的单元可以是被配置成一个或多个处理元件,这些处理元件可以设置于对应上述的电子设备上,这里的处理元件可以为集成电路,例如:一个或多个asic,或,一个或多个dsp,或,一个或者多个fpga,或者这些类集成电路的组合。这些集成电路可以集成在一起,构成芯片。
215.例如,本技术实施例还提供一种芯片,该芯片可以应用于上述电子设备。芯片包括
一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;处理器通过接口电路从电子设备的存储器接收并执行计算机指令,以实现以上方法实施例中所述的方法。
216.本技术实施例还提供一种计算机程序产品,包括电子设备,如上述电子设备,运行的计算机指令。
217.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
218.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
219.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
220.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
221.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,如:程序。该软件产品存储在一个程序产品,如计算机可读存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
222.例如,本技术实施例还可以提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备实现如前述方法实施例中所述的应用程序运行加速的方法。
223.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

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

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

相关文献