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

资源调度方法及相关装置与流程

2022-05-11 12:01:32 来源:中国专利 TAG:


1.本技术涉及终端技术领域,尤其涉及一种资源调度方法及相关装置。


背景技术:

2.随着终端技术的发展与普及,用户使用电子设备处理各项事务的频率越来越高。当电子设备接收到用户针对处理指定任务(例如,启动指定应用、切换指定应用内的页面、滑动指定应用内的页面等等)的输入时,上述电子设备可以响应于该输入调用中央处理器(centralprocessingunit,cpu)资源执行一系列相关操作,以满足用户处理指定事项的需求。
3.目前,当电子设备接收并响应于用户的输入调用cpu资源时,电子设备会根据cpu当前的占用率(也可以被称为cpu负载)逐渐调整cpu的时钟频率来处理任务。然而,在常见的指定任务(例如,启动指定应用、切换指定应用内的页面、滑动指定应用内的页面等等)处理过程中,cpu负载并非是恒定的,常常会出现波动的情况。因此,电子设备按照cpu负载逐渐调整cpu的时钟频率会导致电子设备响应不够及时,处理任务的效率十分低下的问题。


技术实现要素:

4.本技术提供了一种资源调度方法及相关装置,通过本技术所提供的技术方案,实现了电子设备可以针对指定应用中的指定任务设置更为合理的cpu占用时长和/或cpu工作频率,降低了电子设备执行任务时的功耗,使得电子设备更为高效方便地执行指定应用中的指定任务。
5.第一方面,本技术提供了一种资源调度方法,该方法可以包括:在第一预设时间段内,电子设备接收到用户的第一输入。响应于该第一输入,该电子设备基于第一cpu占用时长和第一cpu工作频率,执行第一应用的第一任务。该电子设备获取到第一执行时长。其中,该第一执行时长是第一预设时间段内,该电子设备执行该第一应用中该第一任务所用的时长。该电子设备基于该第一cpu占用时长和该第一执行时长,获取到第二cpu占用时长。其中,该第二cpu占用时长和该第一cpu占用时长不同。这样,可以降低电子设备执行任务时的功耗,使得电子设备更为高效方便地执行指定应用中的指定任务。
6.在一种可能的实现方式中,该电子设备获取到第一执行时长之前,该方法还包括:该电子设备获取到第一流水日志。其中,该第一流水日志包括该第一应用的标识、该第一任务的标识以及一次或多次该电子设备执行该第一应用中该第一任务的实际时长。该电子设备基于该第一流水日志,获取该电子设备执行该第一应用中该第一任务的第一执行时长。这样,可以使得电子设备获取到第一执行时长,更为高效精确地确定出该第二cpu占用时长。
7.在一种可能的实现方式中,该电子设备基于该第一cpu占用时长和该第一执行时长,获取到第二cpu占用时长,该方法具体包括:当该第一cpu占用时长小于该第一执行时长时,该第二cpu占用时长大于该第一cpu占用时长。当该第一cpu占用时长大于该第一执行时
长时,该第二cpu占用时长小于该第一cpu占用时长。这样,可以降低电子设备执行任务时的功耗,使得电子设备更为高效方便地执行指定应用中的指定任务。
8.在一种可能的实现方式中,该第一执行时长包括:第一预设时间段内该电子设备执行该第一应用中该第一任务的平均时长,或,第一预设时间段内一次或多次该电子设备执行该第一应用中该第一任务的实际时长的中位值。
9.在一种可能的实现方式中,该方法还包括:在第二预设时间段内,该电子设备接收到用户的第二输入。响应于该第二输入,该电子设备基于该第二cpu占用时长和该第一cpu工作频率,执行该第一应用的该第一任务。这样,可以降低电子设备执行任务时的功耗,使得电子设备更为高效方便地执行指定应用中的指定任务。
10.在一种可能的实现方式中,在第一预设时间段内,电子设备接收到用户的第三输入。响应于该第三输入,该电子设备基于第三cpu占用时长和第二cpu工作频率,执行该第一应用的第二任务。该电子设备获取到第二执行时长。其中,该第二执行时长是第一预设时间段内,该电子设备执行该第一应用中该第二任务所用的时长。该电子设备基于该第三cpu占用时长和该第二执行时长,获取到第四cpu占用时长。其中,该第四cpu占用时长和该第三cpu占用时长不同。这样,可以降低电子设备执行任务时的功耗,使得电子设备更为高效方便地执行指定应用中的指定任务。
11.在一种可能的实现方式中,在第一预设时间段内,电子设备接收到用户的第四输入。响应于该第四输入,该电子设备基于第五cpu占用时长和第三cpu工作频率,执行该第一应用的第三任务。该电子设备获取到第一执行帧率。其中,该第一执行帧率是第一预设时间段内,该电子设备执行该第一应用中该第三任务的帧率。该电子设备基于该第一执行帧率和第一帧率阈值,获取到第四cpu工作频率。其中,该第四cpu工作频率和该第三cpu工作频率不同。这样,可以降低电子设备执行任务时的功耗,使得电子设备更为高效方便地执行指定应用中的指定任务。
12.在一种可能的实现方式中,该电子设备基于该第一执行帧率和第一帧率阈值,获取到第四cpu工作频率,该方法具体包括:当该电子设备确定出该第一执行帧率大于第一帧率阈值时,该第四cpu工作频率小于该第三cpu工作频率。当该电子设备确定出该第一执行帧率小于第一帧率阈值时,该第四cpu工作频率大于该第三cpu工作频率。这样,可以降低电子设备执行任务时的功耗,使得电子设备更为高效方便地执行指定应用中的指定任务。
13.在一种可能的实现方式中,该方法还包括:在第二预设时间段内,该电子设备接收到用户的第五输入。响应于该第五输入,该电子设备基于该第四cpu占用时长和该第二cpu工作频率,执行该第一应用的该第二任务。这样,可以降低电子设备执行任务时的功耗,使得电子设备更为高效方便地执行指定应用中的指定任务。
14.在一种可能的实现方式中,该方法还包括:在第二预设时间段内,该电子设备接收到用户的第六输入。响应于该第六输入,该电子设备基于该第五cpu占用时长和该第四cpu工作频率,执行该第一应用的该第三任务。这样,可以降低电子设备执行任务时的功耗,使得电子设备更为高效方便地执行指定应用中的指定任务。
15.在一种可能的实现方式中,该方法还包括:该电子设备获取到第三执行时长。其中,该第三执行时长是第二预设时间段内,该电子设备执行该第一应用中该第一任务所用的时长。当该电子设备确定出该第三执行时长减去该第一执行时长的第一差值为负数且该
第一差值的绝对值大于或等于第一阈值,或,该第一差值为正数且第一差值小于或等于第一阈值时,该电子设备比较该第三执行时长和该第二cpu占用时长。当该电子设备确定出该第二cpu占用时长减去第三执行时长的第二差值为正数且第二差值大于第二阈值时,该电子设备获取到该第六cpu占用时长,其中,该第六cpu占用时长小于该第二cpu占用时长。这样,可以降低电子设备执行任务时的功耗,使得电子设备更为高效方便地执行指定应用中的指定任务。
16.在一种可能的实现方式中,该方法还包括:当该电子设备确定出该第二cpu占用时长减去第三执行时长的第二差值为负数且第二差值的绝对值大于第二阈值时,该电子设备获取到该第六cpu占用时长,其中,该第六cpu占用时长大于该第二cpu占用时长。这样,可以降低电子设备执行任务时的功耗,使得电子设备更为高效方便地执行指定应用中的指定任务。
17.在一种可能的实现方式中,该方法还包括:该电子设备获取到第二执行帧率。其中,该第二执行帧率是第二预设时间段内,该电子设备执行该第一应用中该第三任务的帧率。当该电子设备基于该第一执行帧率和该第二执行帧率,确定出帧率优化效率大于第三阈值时,该电子设备针对该第一应用的该第三任务保持该第四cpu工作频率。当该电子设备基于该第一执行帧率和该第二执行帧率,确定出帧率优化效率小于第三阈值时,该电子设备针对该第一应用的该第三任务设置该第三cpu工作频率。这样,可以降低电子设备执行任务时的功耗,使得电子设备更为高效方便地执行指定应用中的指定任务。
18.第二方面,本技术提供了一种电子设备,该电子设备可以包括:一个或多个处理器、一个或多个存储器、显示屏和收发器。该一个或多个存储器与一个或多个处理器耦合,该一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当该一个或多个处理器执行该计算机指令时,使得该电子设备执行上述第一方面中任一项可能的实现方式中的方法。这样,可以降低电子设备执行任务时的功耗,使得电子设备更为高效方便地执行指定应用中的指定任务。
19.第三方面,本技术提供了一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行上述第一方面中任一项可能的实现方式中的方法。这样,可以降低电子设备执行任务时的功耗,使得电子设备更为高效方便地执行指定应用中的指定任务。
20.第四方面,本技术提供了一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行上述第一方面中任一项可能的实现方式中的方法。这样,可以降低电子设备执行任务时的功耗,使得电子设备更为高效方便地执行指定应用中的指定任务。
附图说明
21.图1是本技术实施例提供的一种电子设备100的硬件结构示意图;
22.图2是本技术实施例提供的一种资源调度方法的流程图;
23.图3a-图3e是本技术实施例提供的一组用户界面示意图;
24.图4是本技术实施例提供的一种判断流程示意图;
25.图5是本技术实施例提供的另一种资源调度方法的流程图;
26.图6a-图6b是本技术实施例提供的一组用户界面示意图;
27.图7是本技术实施例提供的一种软件架构示意图。
具体实施方式
28.本技术以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术得到说明书和所附权利要书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本技术中使用的术语“和/或”是指包含一个或多个所列出醒目的任何或所有可能组合。在本技术实施例中,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
29.首先,介绍本技术实施例中提供的示例性电子设备100。
30.请参考图1,图1示例性示出了本技术实施例提供的一种电子设备100的硬件结构示意图。
31.电子设备100可以是手机、平板电脑、pc、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personaldigital assistant,pda)等电子设备,本技术实施例对该电子设备的具体类型不作特殊限制。
32.电子设备100可以包括处理器101、存储器102、无线通信模块103、显示屏104、传感器模块105和移动通信模块108等。上述各个模块可以通过总线或者其他方式连接,本技术实施例以通过总线连接为例。
33.可以理解的是,本技术实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100还可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合来实现。
34.处理器101可以包括一个或多个处理器单元,例如处理器101可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
35.控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
36.处理器101中还可以设置存储器,用于存储指令和数据。存储器102与处理器101耦合,用于存储各种软件程序和/或多组指令。
37.无线通信模块103可以提供应用在电子设备100上的包括无线局域网(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)等无线通信的解决方案。无线通信模块103可以是集成至少一个通信处理模块的一个或多个器件。
38.显示屏104可以用于显示图像、视频等。
39.传感器模块105可以包括触摸传感器105a等等。触摸传感器105a也可以称为“触控器件”。触摸传感器105a可以设置于显示屏104,由触摸传感器105a与显示屏104组成触摸屏,也称“触控屏”。触摸传感器105a可以用于检测作用于其上或附近的触摸操作。可选的,传感器模块105还可以包括有陀螺仪传感器(图1未示出)、加速度传感器(图1未示出)等等。其中,陀螺仪传感器可以用于确定电子设备100的运动姿态,在一些实施例中,电子设备100可以通过陀螺仪传感器确定出电子设备100围绕三个轴(即,x,y和z轴)的角速度。加速度传感器可以用于检测电子设备100在各个方向上(一般为x,y和z轴)加速度的大小。当电子设备100静止时可以检测出重力的大小及方向。
40.移动通信模块108可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。
41.需要说明的是,图1所示电子设备100的硬件结构仅仅用于示例性解释本技术,不应对本技术构成任何限制。
42.下面介绍本技术实施例提供的一种资源调度方式。
43.首先,电子设备100可以针对一个或多个指定任务(例如,应用启动任务、应用内页面切换任务和应用内页面滑动任务等)设置相应的cpu工作频率(例如,2.1千兆赫兹(giga hertz,ghz)、1.8ghz和1.8ghz等)和cpu占用时长(例如,2秒、0.5秒和2秒等)。其中,在一些实施例中,cpu可以被称为中央处理器。在另一些实施例中,cpu也可以被称为应用处理器。本技术对此不作限制。当电子设备100响应于接收到的用户输入,处理该一个或多个指定任务时,电子设备100可以保持在相应的cpu频率上运行相应的占用时长。示例性的,电子设备100可以为应用启动任务设置cpu的占用频率为2.1ghz,在该频率上cpu占用时长为2秒。则当电子设备100接收到用户针对启动应用1(例如,阅读应用)的输入,响应于该输入电子设备100启动应用1(例如阅读应用)时,电子设备100中的cpu可以保持在2.1ghz上运行2秒。
44.然而,电子设备100处理不同应用的同一指定任务所需要的实际时长并不相同。如果电子设备100统一基于指定任务为不同应用设置同一cpu工作频率和在该频率上的cpu占用时长,会造成资源无法合理分配,从而导致任务处理效率低下,处理任务时功耗较大的问题。
45.因此,本技术实施例提供了一种资源调度方法。
46.首先,电子设备100可以为一个或多个指定任务(例如,应用启动任务、应用内页面切换任务和应用内页面滑动任务等)设置相应的cpu工作频率(例如,2.1ghz、1.8ghz和1.8ghz等)和cpu占用时长(例如,2秒、0.5秒和2秒等)。例如,电子设备100可以为指定任务1(例如,应用启动任务)设置cpu工作频率1(例如,2.1ghz)和在该频率上的cpu占用时长1(例如,2秒)。也即是说,当电子设备100处理应用1的指定任务1时,电子设备100中的cpu会保持在cpu工作频率1(例如,2.1ghz)上运行指定的cpu占用时长1(例如,2秒)。
47.在第一预设时间段(例如,24小时)内,电子设备100可以基于上述设置执行应用1(例如,阅读应用)的指定任务1(例如,应用启动任务)。电子设备100可以统计第一预设时间段内应用1中指定任务1的执行时长1。然后,电子设备100可以基于该执行时长1和前述设置
给指定任务1的cpu占用时长1,计算获取到针对于应用1中指定任务1的新cpu占用时长(例如,2.4秒)。
48.在第二预设时间段(例如,24小时)内,当电子设备100响应于接收到的用户输入时,电子设备100可以基于前述针对于应用1中指定任务1的新cpu占用时长(例如,2.4秒),处理该应用1的指定任务1。也即是说,当电子设备100处理应用1的指定任务1时,电子设备100中的cpu可以保持在cpu工作频率1(例如,2.1ghz)上运行指定的新cpu占用时长(例如,2.4秒)。电子设备100可以统计第二预设内应用1中指定任务1的执行时长2。电子设备100可以比较执行时长2和执行时长1的差值。当其差值在指定阈值1(例如,0.2秒)时,则电子设备100可以在后续预设时间段中基于上述设置的新cpu占用时长(例如,2.4秒)处理应用1中指定任务1。
49.这样,电子设备100可以针对指定应用中的指定任务设置更为合理的cpu占用时长,降低了电子设备100执行任务时的功耗,使得电子设备100更为高效方便地执行指定应用中的指定任务。
50.下面介绍本技术实施例提供的一种资源调度方法。
51.请参考图2,图2示例性示出了本技术实施例提供的一种资源调度方法的流程图。
52.s201、在第一预设时间段(例如,24小时)内,电子设备100基于cpu占用时长1和cpu工作频率1,执行应用1的指定任务1。
53.具体的,cpu占用时长1和cpu工作频率1可以是电子设备100基于设备版本号预先设置的。例如,电子设备100可以针对一个或多个指定任务基于设备版本号设置第一调度策略,该第一调度策略可以包括指定任务1(也可以被称为第一任务)对应的cpu工作频率1和在该频率上的cpu占用时长1(也可以被称为第一cpu占用时长)、指定任务2(也可以被称为第二任务)对应的cpu工作频率2(也可以被称为第二cpu工作频率)和在该频率上的cpu占用时长2(也可以被称为第三cpu占用时长)、指定任务3(也可以被称为第三任务)对应的cpu工作频率3和在频率上的cpu占用时长3。其中,cpu工作频率1、cpu工作频率2和cpu工作频率3两两之间可以相同,也可以不同;cpu占用时长1、cpu占用时长2和cpu占用时长3两两之间可以相同,也可以不同。本技术对此不作限制。
54.示例性的,以指定任务1为应用启动任务,指定任务2为应用内页面切换任务,指定任务3为应用内页面滑动任务为例,电子设备100可以基于设备版本号为上述指定任务设置第一调度策略。该第一调度策略可以如表1所示:
55.表1
[0056][0057]
由表1可知,第一调度策略中可以包括应用启动任务对应的cpu工作频率2.1ghz(也可以被称为cpu工作频率1)和在该cpu频率上的占用时长2秒(也可以被称为cpu占用时长1),应用内页面切换任务对应的cpu工作频率1.8ghz(也可以被称为cpu工作频率2)和在该cpu频率上的占用时长0.5秒(也可以被称为cpu占用时长2),应用内页面滑动任务对应的cpu工作频率1.8ghz(也可以被称为cpu工作频率3)和cpu占用时长2秒(也可以被称为cpu占
用时长3)。
[0058]
需要说明的是,表1仅仅用于示例性解释本技术,并不对本技术构成具体限制。
[0059]
然后,在第一预设时间段(例如,24小时)内,电子设备100可以接收到输入1(也可以被称为第一输入,例如,触摸操作),响应于该输入1,电子设备100可以基于上述cpu工作频率1和在该频率上的cpu占用时长1执行应用1(也可以被称为第一应用)的指定任务1。
[0060]
示例性的,以应用1是阅读应用,指定任务1是应用启动任务,以及前述如表1所示的第一调度策略为例。
[0061]
如图3a所示,电子设备100可以显示出桌面300。该桌面300中可以显示有一个或多个应用图标。其中,该一个或多个应用图标可以包括天气应用图标、股票应用图标、计算器应用图标、设置应用图标、邮件应用图标、阅读应用图标301、日历应用图标和视频应用图标等等。可选的,桌面300中还可以显示有状态栏、页面指示符和托盘图标区域。其中,状态栏可以包括移动通信信号(又可以被称为蜂窝信号)的一个或多个信号强度指示符、无线保真(wirelessfidelity,wi-fi)信号的信号强度指示符、电池状态指示符、时间指示符等等。页面指示符可以用于表明当前显示的页面与其他页面的位置关系。托盘图标区域包括有多个托盘图标(例如拨号应用图标、信息应用表、联系人应用图标、相机应用图标等等),托盘图标在页面切换时保持显示。上述页面指示符可以不是页面的一部分而单独存在,上述托盘图标也是可选的,本技术实施例对此不作限制。
[0062]
电子设备100可以接收到作用于阅读应用图标301上的输入1(例如,点击),响应于该输入1,电子设备100可以基于cpu占用时长1和cpu工作频率1启动阅读应用。
[0063]
如图3b所示,电子设备100可以显示出应用启动界面310。其中,该应用启动界面310可以显示出启动提示图标311和应用名称“阅读书城”、文本提示信息“世界纷扰,而你有我”等。该应用界面310可以用于提示用户电子设备100正在启动阅读应用。
[0064]
当电子设备100基于cpu占用时长1和cpu工作频率1完成阅读应用的启动时,电子设备100可以显示出阅读应用的应用界面。
[0065]
如图3c所示,电子设备100可以显示出阅读应用的应用界面320。该应用界面320可以包括搜索框321、扫码图标322和一个或多个页面选项(例如,“七天在读榜”页面选项、“国风文化”页面选项、“技能提升”页面选项、“传记纪实”页面选项和“散文随笔”页面选项等等)。其中,该搜索框321可以用于监听通过文本搜索书籍的操作,响应于该操作,电子设备100可以显示文本输入框,使得用户在输入框中显示想要搜索的书籍名称。该扫码图标322可以接收到用户作用于其上的触摸操作(例如,点击),响应于该触摸操作,电子设备100可以显示出扫码界面以用于扫描二维码和/或条形码等。该一个或多个选项可以接收到用户作用于其上的触摸操作(例如,点击),响应于该操作,电子设备100可以显示出相应的用户界面。
[0066]
在一种可能的实现方式中,在第一预设时间段(例如,24小时)内,电子设备100还可以接收到输入2(也可以被称为第三输入,例如,触摸操作),响应于该输入2,电子设备100可以基于上述cpu工作频率2和在该频率上的cpu占用时长2执行应用1的指定任务2。其中,cpu工作频率2和在该频率上的cpu占用时长2可以是如前述电子设备100基于版本号设置的。
[0067]
示例性的,以应用1是阅读应用,指定任务2是应用内页面切换任务,以及前述表1
所示的第一调度策略为例。电子设备100可以接收到用户针对选项1的输入2。其中,该选项1是阅读应用中页面1对应的选项。响应于该输入2,电子设备100可以基于上述表1所示的第一调度策略在阅读应用内执行页面切换任务,显示出页面1。
[0068]
如图3d所示,电子设备100可以显示出阅读应用的应用界面320。关于该应用界面320的描述,可以参考前述图3c所示实施例的描述,在此不再赘述。电子设备100可以基于应用界面320接收到用户作用于“散文随笔”选项323(也可以被称为选项1)的触摸操作(也可以被称为输入2,例如,点击)。响应于该触摸操作,电子设备100可以基于上述第一调度策略,执行阅读应用内页面切换任务。电子设备100可以显示出“散文随笔”页面(也可以被称为页面1)。
[0069]
如图3e所示,电子设备100可以显示出用户界面330。该用户界面330即是上述的“散文随笔”页面。该用户界面330可以包括页面标题、返回控件331和一个或多个条目选项(例如,“我与地坛”条目选项、“人间草木”条目选项、“浮生六记”条目选项、“目送”条目选项、“山村四季”条目选项和“枕草子”条目选项等)。
[0070]
s202、电子设备100统计第一预设时间段内,电子设备100执行应用1中指定任务1的执行时长1(也可以被称为第一执行时长)。
[0071]
其中,在一些实施例中,该执行时长1可以是第一预设时间段内,电子设备100执行应用1中指定任务1的平均执行时长。在另一些实施例中,该执行时长1也可以是电子设备100一次或多次执行应用1中指定任务1所记录的实际时长的中位数。本技术对此不作限制。
[0072]
具体的,以执行时长1是电子设备100在第一预设时间段内执行应用1中指定任务1的平均执行时长为例。当电子设备100在响应于接收到的输入1,基于cpu工作频率1和该频率上的cpu占用时长1执行应用1的指定任务1时,电子设备100可以记录下对应的数据信息,例如应用1对应的标识、指定任务1对应的标识以及执行应用1中指定任务1时的实际时长。电子设备100可以在第一预设时间段内记录一条或多条执行应用1中指定任务1时对应的数据信息。电子设备100可以生成包括上述一条或多条执行应用1中指定任务1时对应的数据信息的流水日志1,然后,电子设备100可以通过该流水日志1统计出第一预设时间段内执行应用1中指定任务1的执行时长1,并生成包括该执行时长1和电子设备100执行应用1中指定任务1的运行次数的性能日志1。
[0073]
示例性的,当电子设备100基于cpu占用时长1和cpu工作频率1执行阅读应用(也可以被称为应用1)的应用启动任务(也可以被称为指定任务1)时,电子设备100可以记录下阅读应用对应的标识、应用启动任务对应的标识和启动阅读应用的实际时长,如表2所示:
[0074]
表2
[0075]
阅读应用应用启动2.5秒
[0076]
由表2可知,电子设备100响应于输入1执行阅读应用的应用启动任务的实际时长是2.5秒。也即是说,电子设备100响应于输入1,使得阅读应用完成启动流程需要花费2.5秒。而电子设备100基于上述表1中的第一调度策略可以使得电子设备100在处理阅读应用的启动任务时,cpu保持在2.1ghz上运行2秒。则后续的0.5秒电子设备100可以使得cpu在低于2.1ghz的频率上运行。
[0077]
需要说明的是,表2仅仅是示例性解释本技术,并不对本技术构成具体限制。
[0078]
电子设备100可以在第一预设时间段内,以表2所示的格式,记录下一条或多条执
行应用1中指定任务1时对应的数据信息,并生成包括上述数据信息的流水日志1(也可以被称为第一流水日志),如表3所示:
[0079]
表3
[0080][0081]
由表3可知,电子设备100在第一预设时间段内第一次启动阅读应用的实际时长是2.5秒;电子设备100在第一预设时间段内第二次启动阅读应用的实际时长是2.6秒;电子设备100在第一预设时间段内第三次启动阅读应用的实际时长是2.4秒。
[0082]
需要说明的是,表3仅仅用于示例性解释本技术,不应对本技术构成具体限制。在具体的实现中,如表3所示的流水日志还可以包括一条或多条电子设备100执行阅读应用中指定任务2时对应的数据信息(例如,应用1对应的标识、指定任务2对应的标识和执行应用1中指定任务2的实际时长),也可以包括电子设备100执行阅读应用中指定任务3时对应的数据信息(例如,应用1对应的标识、指定任务3对应的标识和执行应用1中指定任务3的实际帧率),还可以包括电子设备100执行其他应用(例如,浏览器应用、备忘录应用、视频应用等)中指定任务(例如,指定任务1、指定任务2和指定任务3)时对应的数据信息,在此不做限制。
[0083]
然后,电子设备100可以基于如上述表3所示的流水日志1,统计出在第一预设时间段内电子设备100执行启动阅读应用的执行时长1,并生成包括该执行时长1和电子设备100执行启动阅读应用的运行次数的性能日志1,如表4所示:
[0084]
表4
[0085][0086]
由表4可知,在第一预设时间段内,电子设备100启动阅读应用的平均执行时长为2.5秒,启动了13次阅读应用。
[0087]
需要说明的是,表4仅仅用于示例性解释本技术,不应对本技术构成具体限制。
[0088]
在一种可能的实现方式中,电子设备100也可以统计第一预设时间段内,电子设备100执行应用1中指定任务2的执行时长2(也可以被称为第二执行时长)。其中,关于该执行时长2的说明,可以参考前述执行时长1的描述,在此不再赘述。
[0089]
具体的,以执行时长2是电子设备100在第一预设时间段内执行应用1中指定任务2的平均执行时长为例。当电子设备100响应于接收到的输入2,基于cpu工作频率2和该频率上的cpu占用时长2执行应用1的指定任务2时,电子设备100可以记录下对应的数据信息,例如应用1对应的标识、指定任务2对应的标识以及执行应用1中指定任务2的实际时长。电子设备100可以在第一预设时间段内记录一条或多条执行应用1中指定任务2时对应的数据信息。电子设备100可以生成包括上述一条或多条执行应用1中指定任务2对应的数据信息的流水日志1,然后,电子设备100可以通过该流水日志1统计出第一预设时间段内执行应用1中指定任务2的执行时长2,并生成包括该执行时长2和电子设备100执行应用1中指定任务2
的运行次数的性能日志1。
[0090]
示例性的,前述步骤s201中电子设备100基于表1所示的第一调度策略执行阅读应用(也可以被称为应用1)的应用内页面切换任务(也可以被称为指定任务2)时,电子设备100可以记录下阅读应用对应的标识、应用内页面切换任务对应的标识和执行阅读应用页面切换的实际时长,如表5所示:
[0091]
表5
[0092]
阅读应用应用内页面切换1.2秒
[0093]
由表5可知,电子设备100响应于输入2执行阅读应用的应用内页面切换任务的实际时长是1.2秒。也即是说,电子设备100响应于输入2,使得阅读应用完成应用内页面切换需要花费1.2秒。
[0094]
需要说明的是,表5仅仅是示例性解释本技术,并不对本技术构成具体限制。
[0095]
电子设备100可以在第一预设时间段内,以表5所示的格式,记录下一条或多条执行应用1中指定任务2时对应的数据信息,并生成包括上述数据信息的流水日志1,如表6所示:
[0096]
表6
[0097][0098]
由表6可知,电子设备100在第一预设时间段内第一次执行阅读应用的页面切换任务的实际时长是1.2秒;电子设备100在第一预设时间段内第二次执行阅读应用的页面切换任务的实际时长是1.22秒;电子设备100在第一预设时间段内第三次执行阅读应用的页面切换任务的实际时长是1.18秒。关于表6中其他数据的说明,可以参考前述表3中的描述,在此不再赘述。
[0099]
需要说明的是,表6仅仅用于示例性解释本技术,不应对本技术构成具体限制。
[0100]
然后,电子设备100可以基于上述表6所示的流水日志1,统计出第一预设时间段内电子设备100执行阅读应用页面切换任务的执行时长2,并生成包括该执行时长2和电子设备100执行阅读应用中应用页面切换任务的运行次数的性能日志1,如表7所示:
[0101]
表7
[0102][0103]
由表7可知,在第一预设时间段内,电子设备100执行阅读应用中应用页面切换任务的平均执行时长为1.2秒,运行次数为20次。
[0104]
需要说明的是,表7仅仅用于示例性解释本技术,不应对本技术构成具体限制。
[0105]
在一种可能的实现方式中,应用启动任务还可以分为应用热启动任务和应用冷启动任务。电子设备100可以分别根据应用1的应用热启动和应用1的应用冷启动基于表2所示的格式记录数据信息。本技术对此不作限制。其中,应用热启动可以指当电子设备100启动指定应用(例如,应用1)时,若后台已有该指定应用的进程,电子设备100可以从已有的该指定应用的进程中来启动该指定应用。应有冷启动可以指当电子设备100启动该指定应用时,后台没有该指定应用的进程,则电子设备100可以重新创建一个新进程分配给该指定应用。
[0106]
s203、电子设备100基于cpu占用时长1和执行时长1,确定出针对应用1中指定任务1的cpu占用时长4(也可以被称为第二cpu占用时长)。电子设备100可以生成第二调度策略。其中,该第二调度策略中可以包括针对于应用1中指定任务1的cpu工作频率1和在该频率上的cpu占用时长4。
[0107]
其中,当执行时长1大于cpu占用时长1时,电子设备100基于cpu占用时长1和执行时长1确定出的cpu占用时长4可以大于cpu占用时长1;当执行时长1小于cpu占用时长1时,电子设备100基于cpu占用时长1和执行时长1确定出的cpu占用时长4可以小于cpu占用时长1。
[0108]
具体的,电子设备100可以通过算法1确定出针对应用1中指定任务1的cpu占用时长4。例如,该算法1可以是:
[0109]
t
cpu_2
=t
cpu_1
a
×
(t
r1-t
cpu_1
)
[0110]
其中,t
cpu_1
可以指第一预设时间内指定应用(例如,应用1)中指定任务1的cpu占用时长(例如,cpu占用时长1),a可以是设置的指定系数(例如,0.8),t
r1
可以是第一预设时间段内指定应用(例如,应用1)中指定任务1的执行时长(例如,执行时长1)。则通过上述参数,算法1可以计算得出指定应用(例如,应用1)中指定任务1的新cpu占用时t
cpu_2
(例如,cpu占用时长4)。
[0111]
例如,以a为0.8,指定应用是应用1为例,上述算法1具体可以是:
[0112]
cpu占用时长4=cpu占用时长1 0.8
×
(执行时长1-cpu占用时长1)
[0113]
需要说明的是,该算法1仅仅用于示例性解释本技术,并不应对本技术构成具体限制。
[0114]
示例性的,以应用1是阅读应用,指定任务1为应用启动任务,a为0.8为例,通过前述步骤s201和s202中可知,在第一预设时间段内,cpu占用时长1为2秒,阅读应用中应用启动任务的执行时长1为2.5秒,则通过算法1计算可得:
[0115]
2 0.8
×
(2.5-2)=2.4秒,因此,阅读应用中应用启动任务的cpu占用时长4为2.4秒。
[0116]
此时,第二调度策略可以如表8所示:
[0117]
表8
[0118][0119]
由表8可知,在第二调度策略中,电子设备100设置给阅读应用中应用启动任务的cpu工作频率为2.1ghz(也可以被称为cpu工作频率1),以及在该频率上的cpu占用时长为2.4秒(也可以被称为cpu占用时长4)。
[0120]
需要说明的是,表8仅仅用于示例性解释本技术,并不应对本技术构成具体限制。
[0121]
在一种可能的实现方式中,电子设备100也可以基于cpu占用时长2和执行时长2,确定出针对应用1中指定任务2的cpu占用时长5(也可以被称为第四cpu占用时长)。其中,当执行时长2大于cpu占用时长2时,电子设备100基于cpu占用时长2和执行时长2确定出的cpu占用时长5可以大于cpu占用时长2;当执行时长2小于cpu占用时长2时,电子设备100基于cpu占用时长2和执行时长2确定出的cpu占用时长5可以小于cpu占用时长2。
[0122]
具体的,电子设备100可以通过算法2确定出针对应用1中指定任务2的cpu占用时长5。例如,该算法2可以是:
[0123]
t
cpu_4
=t
cpu_3
b
×
(t
r2-t
cpu_3
)
[0124]
其中,t
cpu_3
可以是第一预设时间段(例如,24小时)内指定应用(例如,应用1)中指定任务2的cpu占用时长(例如,cpu占用时长2),b可以是设置的指定系数(例如,0.8),t
r2
可以是第一预设时间段(例如,24小时)内指定应用(例如,应用1)中指定任务2的执行时长(例如,执行时长2)。则通过上述参数,算法2可以计算得出指定应用(例如,应用1)中指定任务2的新cpu占用时长t
cpu_4
(cpu占用时长5)。
[0125]
例如,以b为0.8,指定应用是应用1为例,上述算法2具体可以是:
[0126]
cpu占用时长5=cpu占用时长2 0.8
×
(执行时长2-cpu占用时长2)
[0127]
示例性的,以应用1是阅读应用,指定任务2为应用内页面切换任务,b为0.8为例,通过前述步骤s201和s202中可知,在第一预设时间段内,cpu占用时长2为0.5秒,阅读应用中应用内页面切换任务的执行时长2为1.2秒,则通过算法2计算可得:
[0128]
0.5 0.8
×
(1.2-0.5)=1.06秒,因此,阅读应用中应用内页面切换任务的cpu占用时长5为1.06秒。
[0129]
则此时,电子设备100中生成的第二调度策略中,也可以包括针对应用1中指定任务2的cpu工作频率2和在该频率上的cpu占用时长5。第二调度策略可以如表9所示:
[0130]
表9
[0131][0132]
由表9可知,在第二调度策略中,电子设备100设置给阅读应用中应用启动任务的cpu工作频率为2.1ghz,以及在该频率上的cpu占用时长为2.4秒;电子设备100设置给阅读应用中应用内页面切换任务的cpu工作频率为1.8ghz,以及在该频率上的cpu占用时长为1.06秒。
[0133]
需要说明的是,表9仅仅用于示例性解释本技术,并不应对本技术构成具体限制。
[0134]
需要说明的是,在一些实施例中,电子设备100可以预先设定应用1的指定任务1和/或应用1的指定任务2需要调整cpu占用时长。
[0135]
在另一些实施例中,电子设备100也可以在第一预设时间段内,通过指定规则筛选出应用1的指定任务1和/或应用1的指定任务2来调整对应的cpu占用时长。
[0136]
具体的,例如,电子设备100可以按照任务类型(例如,指定任务1的任务类型、指定任务2的任务类型、指定任务3的任务类型等)统计并存储电子设备100在第一预设时间段内
执行各应用的指定任务时的数据信息。电子设备100可以基于性能日志1和指定优先级顺序(例如,按照运行次数有多到少的顺序),从指定任务1和/或指定任务2的数据记录中筛选出指定数量(例如,3个)的应用记录,并相应地调整cpu占用时长。该筛选出的应用记录中,包括有应用1中指定任务1的数据和/或应用1中指定任务2的数据。
[0137]
示例性的,以指定任务1是应用启动任务为例,电子设备100可以按照应用启动任务类型,统计并记录第一预设时间段内电子设备100启动各应用时的数据信息。该指定任务1类型的数据记录包括多个应用记录,如表10所示:
[0138]
表10
[0139][0140]
由表10可知,在第一预设时间段内,启动阅读应用的平均执行时长是2.5秒,启动了13次阅读应用;启动备忘录应用的平均执行时长是0.5秒,启动了11次备忘录应用;启动音乐应用的平均执行时长是1.2秒,启动了8次音乐应用;启动浏览器应用的平均执行时长是3秒,启动了5次浏览器应用。
[0141]
需要说明的是,表10仅仅是示例性解释本技术,不应对本技术构成具体限制。
[0142]
然后,电子设备100可以按照由运行次数从多到少的顺序,基于表8筛选出3个应用记录,分别是阅读应用的应用启动记录、备忘录应用的应用启动记录和音乐应用的应用启动记录。此时,电子设备100可以基于前述算法1,对应地计算出阅读应用中应用启动任务的cpu占用时长,备忘录应用中应用启动任务的cpu占用时长和音乐应用中应用启动任务的cpu占用时长。此时,电子设备100生成的第二调度策略中,包括有阅读中应用启动任务的cpu工作频率和在该频率上的cpu占用时长,备忘录应用中应用启动任务的cpu工作频率和在该频率上的cpu占用时长,以及音乐应用中应用启动任务的cpu工作频率和在该频率上的cpu占用时长。
[0143]
又示例性的,以指定任务2是应用内页面切换任务为例,电子设备100可以按照应用内页面切换任务类型,统计并记录第一预设时间段内电子设备100执行各应用页面切换时的数据信息。该指定任务2类型的数据记录包括多个应用记录,如表11所示:
[0144]
表11
[0145][0146]
由表11可知,在第一预设时间段内,阅读应用页面切换的平均执行时长是1.2秒,在阅读应用内切换了20次页面;浏览器应用页面切换的平均执行时长是2秒,在备忘录应用
内切换了15次页面;音乐应用页面切换的平均执行时长是1秒,在音乐应用内切换了12次页面;备忘录应用页面切换的平均执行时长是1.3秒,在浏览器应用内切换了3次页面。
[0147]
需要说明的是,表11仅仅用于示例性解释本技术,不应对本技术构成具体限制。
[0148]
然后,电子设备100可以按照由运行次数从多到少的顺序,基于表9筛选出3个应用记录,分别是阅读应用的应用内页面切换记录、浏览器应用的应用内页面切换记录和音乐应用的应用内页面切换记录。此时,电子设备100可以基于前述算法2,对应地计算出阅读应用中应用页面切换任务的cpu占用时长、浏览器应用中应用内页面切换任务的cpu占用时长和音乐应用中应用内页面切换任务的cpu占用时长。此时,电子设备100生成的第二调度策略中,包括有阅读应用中应用内页面切换任务的cpu工作频率和在该频率上的cpu占用时长、浏览器应用中应用内页面切换任务的cpu工作频率和在该频率上的cpu占用时长、音乐应用中应用内页面切换任务的cpu工作频率和在该频率上的cpu占用时长。
[0149]
在一种可能的实现方式中,应用1也可以是游戏应用。当电子设备100为游戏应用设置第一调度策略时,指定任务1可以是游戏应用中显示道具选定画面任务,指定任务2可以是游戏应用中显示地图任务,指定任务3可以是游戏应用中显示打斗场景任务。电子设备100可以为上述游戏应用中的指定任务设置相应的cpu工作频率和cpu占用时长。
[0150]
s204、电子设备100生成待检测表1。其中,该待检测表1可以包括应用1的标识、指定任务1的标识和应用1中指定任务1对应的执行时长1。
[0151]
具体的,该待检测表1可以用于检测第二调度策略中针对于应用1中指定任务1的设置是否有效,也即是说电子设备100后续是否保持该第二对调度策略中针对于应用1中指定任务1的设置执行应用1中的指定任务1。关于检测方法,后续实施例中会详细描述,在此不再赘述。
[0152]
示例性的,以应用1是阅读应用,指定任务1是应用启动任务为例,依照前述步骤中针对阅读应用的示例流程,待检测表1可以如表12所示:
[0153]
表12
[0154][0155]
由表12可知,待检测表1中包括有阅读应用对应的标识、应用启动任务对应的标识和电子设备100在第一预设时间段内执行阅读应用中应用启动任务的平均执行时长2.5秒(也可以被称为执行时长1)。
[0156]
需要说明的是,表12仅仅用于示例性解释本技术,并不构成对本技术的具体限制。
[0157]
在一种可能的实现方式中,待检测表1中也可以包括应用1对应的标识、指定任务2对应的标识和应用1中指定任务2对应的执行时长2。则电子设备100可以基于该待检测表1检测第二调度策略中针对应用1中指定任务2的设置是否优先,也即是说电子设备100后续是否保持该第二对调度策略中针对于应用1中指定任务2的设置执行应用1中的指定任务2。关于检测方法,后续实施例中会详细描述,在此不再赘述。
[0158]
示例性的,以应用1是阅读应用,指定任务2为应用内页面切换任务为例,依照前述步骤中针对阅读应用的示例流程,该待检测表1可以如表13所示:
[0159]
表13
[0160][0161]
由表13可知,待检测表1中包括有阅读应用对应的标识、应用启动任务对应的标识、应用内页面切换任务对应的标识、电子设备100在第一预设时间段内执行阅读应用中应用启动任务的平均执行时长2.5秒(也可以被称为执行时长1)、电子设备100在第一预设时间段内执行阅读应用中应用内页面切换任务的平均执行时长1.2秒(也可以被称为执行时长2)。
[0162]
需要说明的是,表13仅仅用于示例性解释本技术,并不构成对本技术的具体限制。
[0163]
s205、在第二预设时间段内,电子设备100基于第二调度策略中针对于应用1中指定任务1的设置,执行应用1的指定任务1。
[0164]
具体的,第二调度策略可以针对于应用1的指定任务1设置有cpu工作频率1和在该频率上的cpu占用时长4。电子设备100可以接收到用户的输入3(也可以被称为第二输入)。响应于该输入3,电子设备100可以基于cpu工作频率1和该频率上的cpu占用时长4,执行应用1的指定任务1。
[0165]
示例性的,以应用1是阅读应用,指定任务1是应用启动任务,以及前述表8所示的第二调度策略为例。电子设备100可以接收到用户的输入3。响应于该输入3,电子设备100可以基于cpu工作频率2.1ghz和在该频率上的cpu占用时长2.4秒执行阅读应用的应用启动任务。也即是说,当电子设备100响应于输入3,执行阅读应用的应用启动任务时,电子设备100中的cpu可以保持在2.1ghz上运行2.4秒。
[0166]
在一种可能的实现方式中,第二调度策略可以针对于应用1的指定任务2设置有cpu工作频率2和在该频率上的cpu占用时长5。电子设备100可以接收到用户的输入4(也可以被称为第五输入)。响应于该输入4,电子设备100可以基于cpu工作频率2和该频率上的cpu占用时长5,执行应用1的指定任务2。
[0167]
示例性的,以应用1是阅读应用,指定任务2是应用内页面切换任务,以及前述表9所示的第二调度策略为例。电子设备100可以接收到用户的输入4。响应于该输入4,电子设备100可以基于cpu工作频率1.8ghz和在该频率上的cpu占用时长1.06秒执行阅读应用的应用内页面切换任务。也即是说,当电子设备100响应于输入4,执行阅读应用的应用内页面切换任务时,电子设备100中的cpu可以保持在1.8ghz上运行1.06秒。
[0168]
需要说明的是,当在第二预设时间段内,电子设备100接收到用户的输入,并响应于该输入所需要处理的指定应用的指定任务不在第二调度策略内时,电子设备100可以基于前述步骤201中设置的第一调度策略进行处理。
[0169]
s206、电子设备100统计第二预设时间段内,电子设备100执行应用1中指定任务1的执行时长3(也可以被称为第三执行时长)。
[0170]
其中,在一些实施例中,该执行时长3可以是第二预设时间段内,电子设备100执行应用1中指定任务1的平均执行时长。在另一些实施例中,该执行时长3也可以是电子设备100一次或多次执行应用1中指定任务1所记录的实际时长的中位数。本技术对此不作限制。
[0171]
具体的,以执行时长1时电子设备100的第二预设时间段内执行应用1中指定任务1的平均执行时长为例。当电子设备100在响应于接收到的输入3,基于cpu工作频率1和该频
率上的cpu占用时长4执行应用1的指定任务1时,电子设备100可以记录下对应的数据信息,关于该数据信息的说明,可以参考前述步骤s202中的相关说明,在此不再赘述。电子设备100可以在第二预设时间段内记录一条或多条执行应用1中指定任务1时对应的数据信息。电子设备100可以生成包括上述一条或多条执行应用1中指定任务1时对应的数据信息的流水日志2。然后,电子设备100可以通过该流水日志2统计出第二预设时间段内执行应用1中指定任务1的执行时长3,并生成包括该执行时长3和电子设备100执行应用1中指定任务1的运行次数的性能日志2。
[0172]
示例性的,当电子设备100响应于输入3,基于前述表8所示的第二调度策略执行阅读应用(也可以被称为应用1)的应用启动任务(也可以被称为指定任务1)时,电子设备100可以记录下阅读应用对应的标识、应用启动任务对应的标识和启动阅读应用的实际时长,如表14所示:
[0173]
表14
[0174]
阅读应用应用启动2.3秒
[0175]
由表14可知,在第二预设时间段内,电子设备100响应于输入3启动阅读应用的实际时长是2.3秒。也即是说,电子设备100使得阅读应用完成启动流程实际需要花费2.3秒。
[0176]
需要说明的是,表14仅仅是示例性解释本技术,不应对本技术构成具体限制。
[0177]
电子设备100可以在第二预设时间段内,以表14所示的格式,记录下一条或多条执行应用1中指定任务1时对应的数据信息,并生成包括上述数据信息的流水日志1,如表15所示:
[0178]
表15
[0179][0180]
由表15可知,电子设备100在第二预设时间段内第一次启动阅读的实际时长是2.3秒;电子设备100在第二预设时间段内第二次启动阅读应用的实际时长是2.28秒;电子设备100在第二预设时间段内第三次启动阅读应用的实际时长是2.31秒。
[0181]
需要说明的是,表15仅仅用于示例性解释本技术,不应对本技术构成具体限制。在具体的实现中,如表15所示的流水日志2还可以包括一条或多条电子设备100执行阅读应用中指定任务2时对应的数据信息(例如,应用1对应的标识、指定任务2对应的标识和执行应用1中指定任务2的实际时长),也可以包括电子设备100执行阅读应用中指定任务3时对应的数据信息(例如,应用1对应的标识、指定任务3对应的标识和执行应用1中指定任务3的实际帧率),还可以包括电子设备100执行其他应用(例如,浏览器应用、备忘录应用、视频应用等)中指定任务(例如,指定任务1、指定任务2和指定任务3)时对应的数据信息,在此不做限制。
[0182]
然后,电子设备100可以基于如上述表15所示的流水日志2,统计出在第二预设时间段内电子设备100执行启动阅读应用的执行时长3,并生成包括该执行时长3和电子设备100执行启动阅读应用的运行次数的性能日志2,如表16所示:
[0183]
表16
[0184][0185]
由表16可知,在第二预设时间段内,电子设备100启动阅读应用的平均执行时长为2.3秒,启动了16次阅读应用。
[0186]
需要说明的是,表16仅仅用于示例性解释本技术,不应对本技术构成具体限制。
[0187]
在一种可能的实现方式中,电子设备100也可以统计第二预设时间段内,电子设备100执行应用1中指定任务2的执行时长4。其中,关于执行时长4的说明,可以参考前述执行时长3的描述,在此不再赘述。
[0188]
具体的,以执行时长3是电子设备100在第二预设时间段内执行应用1中指定任务2的平均执行时长为例。当电子设备100响应于接收到的输入4,基于cpu工作频率2和该频率上cpu占用时长5执行应用1的指定任务2时,电子设备100可以记录下对应的数据信息,例如应用1对应的标识、指定任务2对应的标识以及执行应用1中指定任务2的实际时长。电子设备100可以在第二预设时间段内记录一条或多条执行应用1中指定任务2时对应的数据信息。电子设备100可以生成包括上述一条或多条执行应用1中指定任务2对应的数据信息的流水日志2,然后,电子设备100可以通过该流水日志2统计出第二预设时间段内执行应用1中指定任务2的执行时长4,并生成包括该执行时长4和电子设备100执行应用1中指定任务2的运行次数的性能日志2。
[0189]
示例性的,当电子设备100响应于输入4,基于前述表8所示的第二调度策略执行阅读应用(也可以被称为应用1)的应用内页面切换任务(也可以被称为指定任务2)时,电子设备100可以记录下阅读应用对应的标识、应用启动任务对应的标识和阅读应用切换页面的实际时长,如表17所示:
[0190]
表17
[0191]
阅读应用应用内页面切换1.04秒
[0192]
由表17可知,在第二预设时间段内,电子设备100响应于输入4,处理阅读应用的应用内页面切换任务的实际时长是1.04秒。也即是说,电子设备100使得阅读应用完成页切换流程实际需要花费1.04秒。
[0193]
需要说明的是,表17仅仅用于示例性解释本技术,并不构成对本技术的具体限制。
[0194]
电子设备100在第二预设时间段内,以表17的格式,记录下一条或多条执行应用1中指定任务2时对应的数据信息,并生成包括上述数据信息的流水日志1,如表18所示:
[0195]
表18
[0196][0197]
由表18可知,电子设备100在第二预设段内第一次执行阅读应用页面切换任务的实际时长是1.04秒;电子设备100在第二预设段内第二次执行阅读应用页面切换任务的实
际时长是1.03秒;电子设备100在第二预设段内第三次执行阅读应用页面切换任务的实际时长是1.05秒。
[0198]
需要说明的是,表18仅仅用于示例性解释本技术,不应对本技术构成具体限制。
[0199]
然后,电子设备100可以基于上述表18所示的流水日志2,统计出第二预设时间段内电子设备100执行阅读应用页面切换的执行时长4,并生成包括该执行时长4和电子设备100执行阅读应用页面切换的运行次数的性能日志2,如表19所示:
[0200]
表19
[0201][0202]
由表19可知,在第二预设时间段内,电子设备100之执行阅读应用页面切换任务的平均执行时长为1.04秒,启动了23次阅读应用。
[0203]
需要说明的是,表19仅仅用于示例性解释本技术,不应对本技术构成具体限制。
[0204]
s207、电子设备100可以基于执行时长1、执行时长3以及应用1中指定任务1对应的cpu占用时长4,判断前述第二调度策略中针对于应用1中指定任务1的设置是否有效,并执行相应的操作。
[0205]
其中,待检测表1中记录有执行时长1,性能日志2中记录有执行时长3。电子设备100可以基于执行时长1、执行时长3和cpu占用时长4,判断前述第二调度策略中针对于应用1中指定任务1的设置是否有效,并确定出电子设备100执行保持第二调度策略中针对于应用1中指定任务1的设置或调整应用1中指定任务1的cpu占用时长。
[0206]
具体的,如图4所示,针对于应用1的指定任务1,当第二预设时间段中的执行时长3减去第一预设时间段中的执行时长1所得差值1(也可以被称为第一差值)为负数时,若该差值1的绝对值小于阈值1(也可以被称为第一阈值,例如,0.1秒),则第二调度策略针对该应用1中指定任务1的cpu占用时长4无效,电子设备100将其替换为第一调度策略中的cpu占用时长1,该替换后的cpu占用时长1可以用于第三预设时间段;若该差值1的绝对值大于或等于阈值1(例如,0.1秒),则cpu占用时长4减去执行时长3所得差值2(也可以被称为第二差值),若该差值2为正数且该差值2大于阈值2(例如,0.3秒),则电子设备100可以降低cpu占用时长以获取到cpu占用时长6,例如,可以通过前述步骤s207中的算法1计算出cpu占用时长6,或cpu占用时长4减去固定时间间隔(例如,0.1秒)以获得cpu占用时长6。若该差值2为负数且该差值2的绝对值大于阈值2(也可以被称为第二阈值,例如,0.3秒),在而电子设备100可以增加cpu占用时长以获取到cpu占用时长6(也可以被称为第六cpu占用时长),例如,可以通过前述步骤s207中的算法1计算出cp u占用时长6,或cpu占用时长4加上固定时间间隔(例如,0.1秒)以获得cpu占用时长6。若该差值2的绝对值小于或等于阈值2(例如,0.3秒),则第二调度策略的设置有效,电子设备100可以保持cpu占用时长4的设置以用于后续针对应用1中指定任务1的处理。
[0207]
当第二预设时间段中的执行时长3减去第一预设时间段中的执行时长1所得差值1为正数时,若该差值1大于阈值1(例如,0.1秒),则第二调度策略针对该应用1中指定任务1的cpu占用时长4无效,电子设备100将其替换为第一调度策略中的cpu占用时长1,该替换后的cpu占用时长1可以用于第三预设时间段;若该差值1小于或等于阈值1(例如,0.1秒),则
比较cpu占用时长4与减去执行时长3所得差值2,若该差值2为正数且该差值2大于阈值2(例如,0.3秒),则电子设备100可以降低cpu占用时长以获取到cpu占用时长6,例如,可以通过前述步骤s207中的算法1计算出cpu占用时长6,或cpu占用时长4减去固定时间间隔(例如,0.1秒)以获得cpu占用时长6。若该差值2为负数且该差值2的绝对值大于阈值2(例如,0.3秒),在而电子设备100可以增加cpu占用时长以获取到cpu占用时长6,例如,可以通过前述步骤s207中的算法1计算出cpu占用时长6,或cpu占用时长4加上固定时间间隔(例如,0.1秒)以获得cpu占用时长6。若该差值2的绝对值小于或等于阈值2(例如,0.3秒),则第二调度策略的设置有效,电子设备100可以保持cpu占用时长4的设置以用于后续针对应用1中指定任务1的处理。
[0208]
示例性的,以应用1是阅读应用,指定任务1是应用启动任务为例,待检测表1可以如前述表12所示,性能日志2可以是前述表16所示。
[0209]
则在第一预设时间段内,阅读应用的应用启动执行时长1为2.5秒。在第二预设时间段内,阅读应用的应用启动执行时长3为2.3秒,两者的差值1为-0.2秒,该差值1的绝对值0.2大于阈值1(例如,0.1秒)。然后,第二调度策略针对阅读应用的应用启动所设置的cpu占用时长4为2.4秒,该cpu占用时长2.4秒减去执行时长2.3秒,得差值2位0.1秒。该差值2的绝对值0.1小于阈值2(例如,0.3秒)。则电子设备100可以基于上述比较结果,确定出第二调度策略针对阅读应用中应用启动任务的设置有效,电子设备100可以保持该cpu占用时长4以用于第三预设时间段针对启动阅读应用的处理。
[0210]
在一种可能的实现方式中,电子设备100可以基于第二预设时间段内针对于应用1中指定任务2的执行时长4、第一预设时间段内针对于应用1中指定任务2的执行时长2,以及以及应用1中指定任务1对应的cpu占用时长5,判断前述第二调度策略中针对于应用1中指定任务2的设置是否有效,并执行相应的操作。关于该判断方法可以参考前述应用1中指定任务1的相关描述,在此不再赘述。
[0211]
示例性的,以以应用1是阅读应用,指定任务2是应用内页面切换任务为例,待检测表1可以如前述表13所示,性能日志2可以是前述表17所示。
[0212]
则在第一预设时间段内,电子设备100处理阅读应用内页面切换的平均运行时长为1.2秒。在第二预设时间段,电子设备100处理阅读应用内页面切换的平均运行时长为1.04秒。该第二预设时间段的平均运行时长1.04秒减去第一预设时间段内的平均运行时长1.2秒,得到差值为-0.16秒,该差值的绝对值0.16秒大于阈值1(例如,0.1秒)。然后,前述步骤s207中表9所示的第二调度策略针对阅读应用的应用内页面切换所设置的cpu占用时长为1.06秒,该cpu占用时长1.06秒减去第二预设时间段内平均运行时长1.04秒,得差值0.02秒。该差值的绝对值0.02小于阈值2(例如,0.3秒)。则电子设备100可以基于上述比较结果,确定出第二调度策略针对阅读应用中应用内页面切换的设置有效,电子设备100可以保持该设置以用于第三预设时间段的处理。
[0213]
s208、电子设备100基于步骤s207的比较结果生成第三调度策略。其中,该第三调度策略可以包括应用1中指定任务1对应的cpu工作频率(例如,cpu工作频率1)和在该频率上的cpu占用时长(例如,cpu占用时长4或cpu占用时长6等)。
[0214]
具体的,该第三调度策略可以用于第三预设时间段内,电子设备100针对于应用1中指定任务1的处理。
[0215]
需要说明的是,在电子设备100判断出第二调度策略中针对于应用1中指定任务1的设置是否有效进而执行相应的操作时,电子设备100还可以在第二预设段内运行的应用中,选定出不同于应用1的指定应用,并针对指定应用中的指定任务1和/或指定任务2,调整其对应的cpu占用时长。关于选定出指定应用的方式,可以参考前述步骤203中选定应用1的描述;关于调整cpu占用时长以及判断调整后的cpu占用时长是否有效的流程,可以参考前述步骤s203-步骤s207关于应用1中指定任务1或指定任务2的描述,在此不再赘述。第三调度策略可以包括该指定应用中指定任务1和/或指定任务2对应的cpu工作频率和在该频率上的cpu占用时长。
[0216]
在一种可能的实现方式中,第三调度策略也可以包括应用1中指定任务2对应的cpu工作频率(例如,cpu工作频率2)和在该频率上的cpu占用时长(例如,cpu占用时长5等)。
[0217]
下面,介绍本技术实施例提供的另一种资源调度方法。
[0218]
请参考图5,图5示例性示出了本技术实施例提供的另一种资源调度方法的流程图。
[0219]
s501、在第一预设时间段(例如,24小时)内,电子设备100基于cpu占用时长3(也可以被称为第五cpu占用时长)和cpu工作频率3(也可以被称为第三cpu工作频率),执行应用1的指定任务3(也可以被称为第三任务)。
[0220]
具体的,cpu占用时长3和cpu工作频率3可以是电子设备100基于设备版本号预先设置的。例如,电子设备100可以针对一个或多个指定任务基于设备版本号设置第一调度策略,关于该第一调度策略的说明,可以参考前述步骤s201中的描述,在此不再赘述。
[0221]
然后,在第一预设时间段(例如,24小时)内,电子设备100可以接收到输入5(也可以被称为第四输入),响应于该输入5,电子设备100可以基于上述cpu占用时长3和cpu工作频率3执行应用1的指定任务3。
[0222]
示例性的,以应用1是阅读应用,指定任务3是应用内页面滑动任务,以及前述表1所示的第一调度策略为例。
[0223]
如图6a所示,电子设备100可以显示出用户界面330。关于用户界面330的描述,可以参考前述图3e的描述,在此不再赘述。电子设备100可以接收到用户针对用户界面330的滑动输入(也可以被称为输入5)响应于该滑动输入,电子设备100可以基于上述cpu占用时长3和cpu工作频率3所示的第一调度策略执行页面滑动操作,更新用户界面330的信息。
[0224]
如图6b所示,电子设备100响应于上述滑动输入,可以更新用户界面330的信息。该用户界面330可以显示出与图6a所示不同的一个或多个条目选项(例如,“浮生六记”条目选项、“目送”条目选项、“山村四季”条目选项、“枕草子”条目选项、“闲情偶寄”条目选项和“山月记”条目选项等)。
[0225]
s502、电子设备100统计第一预设时间段内,电子设备100执行应用1中指定任务3的执行帧率1(也可以被称为第一执行帧率)。
[0226]
其中,在一些实施中,该执行帧率1可以是第一预设时间段内,电子设备100执行应用1中指定任务3的平均执行帧率。在另一些实施例中,该执行帧率1可以是多条电子设备100执行应用1中指定任务3所记录的实际帧率数据中的中位数。本技术对此不作限制。
[0227]
具体的,以执行帧率1是电子设备100在第一预设时间段内执行应用1中指定任务3的平均执行帧率为例。当电子设备100响应于接收到的输入5,基于cpu工作频率3和在该频
率上的cpu占用时长3执行应用1的指定任务3时,电子设备100可以记录下对应的数据信息,例如应用1对应的标识、指定任务3对应的标识以及执行应用1中指定任务3的实际帧率。电子设备100可以在第一预设时间段内记录一条或多条执行应用1中指定任务3时对应的数据信息的流水日志1,然后,电子设备100可以通过该流水日志1统计出第一预设时间段内执行应用1中指定任务3的执行帧率1,并生成包括该执行帧率1和电子设备100执行应用1中指定任务3的运行次数的性能日志1。
[0228]
示例性的,当电子设备100基于cpu占用时长3和cpu工作频率3执行阅读应用(也可以被称为应用1)的应用内页面滑动任务(也可以被称为指定任务3)时,电子设备100可以记录下阅读应用对应的标识、应用内页面滑动任务对应的标识和执行阅读应用页面滑动任务的实际帧率,如表20所示:
[0229]
表20
[0230]
阅读应用应用内页面滑动58帧
[0231]
由表20可知,电子设备100响应于输入5执行阅读应用的应用内页面滑动任务的实际帧率是58帧。
[0232]
需要说明的是,表20仅仅是示例性解释本技术,并不对本技术构成具体限制.
[0233]
电子设备100可以在第一预设时间段内,以表20所示的格式,记录下一条或多条执行应用1中指定任务3时对应的数据信息,并生成包括上述数据信息的流水日志1,如表21所示:
[0234]
表21
[0235][0236]
由表21可知,电子设备100在第一预设时间段内第一次执行阅读应用的页面滑动任务的实际帧率是58帧;电子设备100在第一预设时间段内第二次执行阅读应用的页面滑动任务的实际帧率是56帧;电子设备100在第一预设时间段内第三次执行阅读应用的页面滑动任务的实际帧率是54帧。
[0237]
需要说明的是,表21仅仅用于示例性解释本技术,不应对本技术构成具体限制。
[0238]
然后,电子设备100可以基于如上述表21所示的流水日志1,统计出在第一预设时间段内电子设备100执行阅读应用页面滑动任务的执行帧率1,并生成包括该执行帧率1和电子设备100执行阅读应用页面滑动任务的运行次数的性能日志1,如表22所示:
[0239]
表22
[0240][0241]
由表22可知,在第一预设时间段内,电子设备100执行阅读应用页面滑动任务的执行帧率1为56帧,执行了983次阅读应用页面滑动任务。
[0242]
需要说明的是,表22仅仅用于示例性解释本技术,不应对本技术构成具体限制。
[0243]
s503、电子设备100基于执行帧率1和帧率阈值1(也可以被称为第一帧率阈值)/帧率阈值2(也可以被称为第二帧率阈值),确定出针对应用1中指定任务3的cpu工作频率4(也可以被称为第四cpu工作频率)。电子设备100可以生成第二调度策略。其中,该第二调度策略中可以包括针对于应用1中指定任务3的cpu工作频率4和在该频率上的cpu占用时长3。
[0244]
其中,当执行帧率1大于帧率阈值1时,电子设备100确定出的cpu工作帧率4可以小于cpu工作频率2;当执行帧率1小于帧率阈值2时,电子设备100确定出的cpu工作频率4可以大于cpu工作频率2。
[0245]
具体的,电子设备100可以通过算法3确定出针对应用1中指定任务3的cpu工作频率4。例如,该算法3可以是:
[0246]
当在第一预设时间段内时,若f
avg
》fd×
c时,则将应用1中指定任务3的cpu工作频率3调整至cpu工作频率4,其中,f
avg
可以是执行帧率1,fd可以是指定帧率(例如,60帧),c可以是指定系数(例如,0.99),fd×
c可以被称为帧率阈值1。此时,cpu工作频率4小于cpu工作频率3;当在例如,第一预设时间段内,若f
avg
《fd×
d时,则将应用1中指定任务3的cpu工作频率3调整至cpu工作频率4。其中,fd×
d可以被称为帧率阈值2。此时,cpu工作频率4大于cpu工作频率3。其中,d为指定系数(例如,0.95)。
[0247]
示例性的,以应用1是阅读应用,指定任务3为应用内页面滑动任务,指定帧率为60帧,c为0.99为,d为0.95为例。阅读应用中应用内页面滑动平均帧率为56帧,小于60
×
0.95,因此,阅读应用中应用内页面滑动任务的cpu工作频率调整至cpu工作频率4(例如,2.1ghz),该cpu工作频率4(例如,2.1ghz)大于前述表1所示的cpu工作频率3,该cpu工作频率3的具体值为1.8ghz。
[0248]
此时,第二调度策略可以如表23所示:
[0249]
表23
[0250][0251][0252]
由表23可知,在第二调度策略中,电子设备100设置给阅读应用中应用内页面滑动任务的cpu工作频率为2.1ghz(也可以被称为cpu工作频率4)和在该频率上的cpu占用时长2秒(也可以被称为cpu占用时长3)。
[0253]
需要说明的是,表23仅仅用于示例性解释本技术,并不应对本技术构成具体限制。
[0254]
需要说明的是,在一些实施例中,电子设备100可以预先设定应用1的指定任务3需要调整cpu工作频率。在另一些实施例中,电子设备100也可以在第一预设时间段内,通过指定规则筛选出应用1的指定任务3来调整对应的cpu工作频率。关于该筛选出应用1的指定任务3的说明,可以参考前述步骤s203中筛选应用1中指定任务1的描述,在此不再赘述。
[0255]
s504、电子设备100生成待检测表1。其中,该待检测表1可以包括应用1的标识、指定任务3的标识和应用1中指定任务3对应的执行帧率1。
[0256]
具体的,该待检测表1可以用于检测第二调度策略中针对于应用1中指定任务3的设置是否有效,也即是说电子设备100后续是否保持该第二对调度策略中针对于应用1中指定任务3的设置执行应用1中的指定任务3。关于检测方法,后续实施例中会详细描述,在此
不再赘述。
[0257]
示例性的,以应用1是阅读应用,指定任务3是应用内页面滑动任务为例,依照前述步骤中针对阅读应用的示例流程,待检测表1可以如表24所示:
[0258]
表24
[0259][0260]
由表24可知,待检测表1中包括有阅读应用对应的标识、应用内页面滑动任务对应的标识和电子设备100在第一预设时间段内执行阅读应用页面滑动任务的平均执行帧率56帧(也可以被称为执行帧率1)。
[0261]
需要说明的是,表24仅仅用于示例性解释本技术,并不构成对本技术的具体限制。
[0262]
s505、在第二预设时间段内,电子设备100基于第二调度策略中针对于应用1中指定任务3的设置,执行应用1的指定任务3。
[0263]
具体的,第二调度策略可以针对于应用1的指定任务3设置有cpu工作频率4和在该频率上的cpu占用时长3。电子设备100可以接收到用户的输入6(也可以被称为第六输入)。响应于该输入6,电子设备100可以基于cpu工作频率4和该频率上的cpu占用时长3,执行应用1的指定任务3。
[0264]
示例性的,以应用1是阅读应用,指定任务3是应用内页面滑动任务,以及前述表23所示的第二调度策略为例。电子设备100可以接收到用户的输入6。响应于该输入6,电子设备100可以基于cpu工作频率2.1ghz和在该频率上的cpu占用时长2秒执行阅读应用的应用内页面滑动任务。也即是说,当电子设备100响应于输入6,执行阅读应用的应用内页面滑动任务时,电子设备100中的cpu可以保持在2.1ghz上运行2秒。
[0265]
需要说明的是,当在第二预设时间段内,电子设备100接收到用户的输入,并响应于该输入所需要处理的指定应用的指定任务不在第二调度策略内时,电子设备100可以基于前述步骤s501中设置的第一调度策略进行处理。
[0266]
s506、电子设备100统计第二预设时间段内,电子设备100执行应用1中指定任务3的执行帧率2(也可以被称为第二执行帧率)。
[0267]
其中,在一些实施中,该执行帧率2可以是第二预设时间段内,电子设备100执行应用1中指定任务3的平均执行帧率。在另一些实施例中,该执行帧率2可以是多条电子设备100执行应用1中指定任务3所记录的实际帧率数据中的中位数。本技术对此不作限制。
[0268]
具体的,以执行帧率2是电子设备100在第二预设时间段内执行应用1中指定任务3的平均执行帧率为例。当电子设备100响应于接收到的输入6,基于cpu工作频率4和在该频率上的cpu占用时长3执行应用1的指定任务3时,电子设备100可以记录下对应的数据信息,例如应用1对应的标识、指定任务3对应的标识以及执行应用1中指定任务3的实际帧率。电子设备100可以在第二预设时间段内记录一条或多条执行应用1中指定任务3时对应的数据信息的流水日志2,然后,电子设备100可以通过该流水日志2统计出第二预设时间段内执行应用1中指定任务3的执行帧率2,并生成包括该执行帧率2和电子设备100执行应用1中指定任务3的运行次数的性能日志2。
[0269]
示例性的,当电子设备100基于cpu占用时长3和cpu工作频率4执行阅读应用(也可以被称为应用1)的应用内页面滑动任务(也可以被称为指定任务3)时,电子设备100可以记
录下阅读应用对应的标识、应用内页面滑动任务对应的标识和执行阅读应用页面滑动任务的实际帧率,如表25所示:
[0270]
表25
[0271]
阅读应用应用内页面滑动59帧
[0272]
由表25可知,电子设备100响应于输入6执行阅读应用的应用内页面滑动任务的实际帧率是59帧。
[0273]
需要说明的是,表25仅仅是示例性解释本技术,并不对本技术构成具体限制.
[0274]
电子设备100可以在第二预设时间段内,以表25所示的格式,记录下一条或多条执行应用1中指定任务3时对应的数据信息,并生成包括上述数据信息的流水日志2,如表26所示:
[0275]
表26
[0276][0277]
由表26可知,电子设备100在第二预设时间段内第一次执行阅读应用的页面滑动任务的实际帧率是59帧;电子设备100在第二预设时间段内第二次执行阅读应用的页面滑动任务的实际帧率是58帧;电子设备100在第二预设时间段内第三次执行阅读应用的页面滑动任务的实际帧率是58帧。
[0278]
需要说明的是,表26仅仅用于示例性解释本技术,不应对本技术构成具体限制。
[0279]
然后,电子设备100可以基于如上述表26所示的流水日志2,统计出在第二预设时间段内电子设备100执行阅读应用页面滑动任务的执行帧率2,并生成包括该执行帧率2和电子设备100执行阅读应用页面滑动任务的运行次数的性能日志2,如表27所示:
[0280]
表27
[0281][0282]
由表27可知,在第二预设时间段内,电子设备100执行阅读应用页面滑动任务的执行帧率2为58帧,执行了836次阅读应用页面滑动任务。
[0283]
需要说明的是,表27仅仅用于示例性解释本技术,不应对本技术构成具体限制。
[0284]
s507、电子设备100可以基于执行帧率1和执行帧率2,判断前述第二调度策略中针对于应用1中指定任务3的设置是否有效,并执行相应的操作。
[0285]
其中,待检测表1中记录有执行帧率1,性能日志2中记录有执行帧率2。电子设备100可以基于执行帧率1和执行帧率2,判断前述第二调度策略中针对于应用1中指定任务3的设置是否有效,并确定出电子设备100执行保持第二调度策略中针对于应用1中指定任务3的设置或调整应用1中指定任务3的cpu工作频率。
[0286]
具体的,电子设备100可以基于执行频率1和执行频率2计算帧率优化效果。当帧率优化效果小于阈值3(例如,1%),即是(f
avg2-f
avg1
)
÷favg1
的值小于阈值3(也可以被称为第
三阈值,例如,1%)时,则电子设备100所设置的cpu工作频率4不合理,替换为第一调度策略中的cpu工作频率3,该cpu工作频率3可以用于第三预设时间段电子设备100执行应用1的指定任务3。其中,f
avg2
为执行帧率2,f
avg1
为执行帧率1;若帧率优化效果大于或等于阈值3(例如,1%),则电子设备100所设置的cpu工作频率4合理,电子设备100可以针对指定应用(例如,应用1)中的指定任务3,保持cpu工作频率4的设置,以用于第三预设时间段的处理。
[0287]
示例性的,以应用1是阅读应用,指定任务3是应用内页面滑动任务为例,基于前述步骤中的示例,在第一预设时间段内,电子设备100处理阅读应用的页面滑动的执行帧率1为56帧。在第二预设时间段内,电子设备100处理阅读应用的页面滑动的执行帧率2为58帧。其帧率优化效果(58-56)/56大于阈值3(例如,1%),因此,电子设备100确定出所设置的cpu工作频率2.1ghz(也可以被称为cpu工作频率4)合理,电子设备100可以针对于阅读应用的应用内页面滑动任务,保持该cpu工作频率,以用于第三预设时间段的处理。
[0288]
s508、电子设备100基于步骤s507的比较结果生成第三调度策略。其中,该第三调度策略可以包括应用1中指定任务3对应的cpu工作频率(例如,cpu工作频率4)和在该频率上的cpu占用时长(例如,cpu占用时长3)。
[0289]
具体的,该第三调度策略可以用于第三预设时间段内,电子设备100针对于应用1中指定任务3的处理。
[0290]
需要说明的是,在电子设备100可以判断出第二调度策略中针对于应用1中指定任务3的设置是否有效进而执行相应的操作时,电子设备100还可以在第二预设段内运行的应用中,选定出不同于应用1的指定应用,并针对指定应用中的指定任务3,调整其对应的cpu工作频率。关于选定出指定应用的方式,可以参考前述步骤203中选定应用1的描述;关于调整cpu工作频率以及判断调整后的cpu工作频率是否有效的流程,可以参考前述步骤s503-步骤s507关于应用1中指定任务3的描述,在此不再赘述。第三调度策略可以包括该指定应用中指定任务3对应的cpu工作频率和在该频率上的cpu占用时长。
[0291]
可以理解的是,以上步骤的先后顺序仅仅用于示例性解释该通信方法的具体流程,并不对本技术构成具体限制。
[0292]
可以理解的是,上述用户界面示例仅仅用于解释本技术,不应对本技术构成限定。
[0293]
在一种可能的实现方式中,在电子设备100针对应用1的任务1设置cpu占用时长4之前,电子设备100可以判断在第一预设时间段内,应用1中指定任务1对应的执行时长1和cpu占用时长1的差值绝对值是否在阈值2(例如,0.3秒)。如果该差值的绝对值小于或等于阈值2(例如,0.3秒),则电子设备100保持第一调度策略中的设置,应用1中任务1的cpu占用时长仍然为cpu占用时长1;如果该差值的绝对值大于阈值2(例如,0.3秒)时,电子设备100可以基于前述中的算法1计算获得应用1中任务1的cpu占用时长4。
[0294]
同样的,在电子设备100针对应用1的任务2设置cpu占用时长5之前,电子设备100可以判断cpu占用时长2和应用1中指定任务2对应的执行时长2的差值绝对值是否在阈值2(例如,0.3秒)内。如果该差值的绝对值小于或等于阈值2(例如,0.3秒),则电子设备100保持第一调度策略中的设置,应用1中指定任务2的cpu占用时长仍然为cpu占用时长2;如果该差值的绝对值大于阈值2(例如,0.3秒)时,电子设备100可以基于前述中的算法2计算获得应用1中任务2的cpu占用时长5。
[0295]
由上述本技术实施例所述,本技术实施例中的一个或多个指定任务具体可以包括
应用启动任务、应用内页面切换任务和应用内页面滑动任务等中的一种或多种。应用启动任务可以指电子设备100接收并响应于用户的输入触发指定应用启动;应用内页面切换任务可以指电子设备100接收到用户作用在指定应用界面内指定选项上的输入,响应于该输入,电子设备100可以基于该指定选项对应的链接跳转至指定页面;应用内页面滑动任务可以指电子设备100接收并响应于用户在指定应用界面内的滑动输入(例如,向上滑动输入),从而更新指定页面的数据信息。
[0296]
示例性的,例如,图3a-图3c示出了应用启动任务的情景。关于图3a-图3c所示实施例的说明,可以参考前述的相关描述,在此不再赘述;
[0297]
图3d-图3e示出了应用内页面切换任务的情景。关于图3d-图3e所示实施例的说明,可以参考前述的相关描述,在此不再赘述;
[0298]
图6a-图6b示出了应用内页面滑动任务的情景。关于图6a-图6b所示实施例的说明,可以参考前述的相关描述,在此不再赘述。
[0299]
需要说明的是,上述实施例中的所示流程中有些步骤可以是可选的。例如,步骤s204是可选的,步骤s206是可选的,步骤s207是可选的,步骤s208是可选的,步骤s504是可选的,步骤s507是可选的,步骤s507是可选的,步骤s508是可选的。本技术对此不作限制。
[0300]
下面,介绍本技术实施例提供的一种软件架构。
[0301]
请参考图7,图7示例性示出了本技术提供的一种软件架构示意图。
[0302]
分层架构可以将软件层分成层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
[0303]
应用程序层可以包括一系列应用程序包。
[0304]
如图7所示,应用程序包可以包括:游戏、备忘录、音乐、视频、通话、浏览器、阅读、相机和图库等应用程序。
[0305]
应用程序框架层可以为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。如图7所示,应用程序框架层可以包括窗口管理器、内容提供器、通知管理器和任务识别模块等。
[0306]
窗口管理器可以用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
[0307]
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
[0308]
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
[0309]
任务识别模块可以用于当电子设备100运行指定应用时,识别出此时电子设备100针对指定应用所处理的任务类型(例如,应用启动任务等)。当电子设备100处理指定应用的指定任务时,该任务识别模块也可以记录下该指定应用的标识、该指定任务的标识和电子
设备100处理该指定应用中指定任务的实际时长等指定应用的数据信息。
[0310]
android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
[0311]
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
[0312]
系统库层可以包括流水日志生成模块、数据库、调度策略生成模块和调度策略下发模块等。
[0313]
流水日志生成模块可以基于上述应用程序框架层中的任务识别模块所记录的数据信息,生成流水日志。关于流水日志的说明,可以参考前述图2所示实施例中的相关描述,在此不再赘述。
[0314]
数据库可以用于存储流水日志生成模块所生成的流水日志。
[0315]
调度策略生成模块可以用于从数据中获取到上述流水日志,并基于处理该流水日志中的数据生成性能日志。调度策略模块可以基于上述性能日志,生成调度策略。调度策略模块还可以基于性能日志生成并存储待检测表。关于上述性能日志、调度策略和待检测表的说明,可以参考前述图2所示实施例中的相关描述,在此不再赘述。
[0316]
调度策略下发模块可以接收并存储到调度策略生成模块发送的调度策略。接收到该调度策略后,调度策略下发模块可以将该调度策略下发至内核层中的中央处理器(cpu)驱动,以用于电子设备100使得cpu基于上述调度策略执行指定应用中的指定任务。
[0317]
系统库层还可以包括多个功能模块(图7未示出)。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。表面管理器(图7未示出)用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。媒体库(图7未示出)支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库(图7未示出)可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。三维图形处理库(图7未示出)用于实现三维图形绘图,图像渲染,合成,和图层处理等。2d图形引擎(图7未示出)是2d绘图的绘图引擎。
[0318]
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,cpu驱动等。其中,cpu驱动可以用于接收调度策略模块下发的调度策略,以用于电子设备100使得cpu基于上述调度策略执行指定应用中的指定任务。
[0319]
下面,结合上述图7所示的软件架构图,介绍本技术实施例提供的一种模块交互流程。
[0320]
以第一预设时间段为例,在运行应用程序层中的应用程序前,电子设备100可以设置第一调度策略并将该第一调度策略存储在调度策略下发模块中。关于该第一调度策略的说明,可以参考前述图2所示实施例中的相关描述,在此不再赘述。
[0321]
s1、当电子设备100基于前述第一调度策略运行指定应用时,任务识别模块可以识别出针对该指定应用电子设备100所处理的任务类型(例如,应用启动任务等)。当电子设备100处理指定应用的指定任务时,该任务识别模块也可以记录下该指定应用的标识、该指定任务的标识和电子设备100处理该指定应用中指定任务的实际时长/实际帧率等指定应用的数据信息。
[0322]
s2、任务识别模块可以将上述的数据信息发送至系统库层中的流水日志生成模块。该流水日志生成模块获取到上述的数据信息后,可以生成流水日志1。
[0323]
s3、流水日志生成模块可以将上述生成的流水日志1发送至数据库中进行存储。
[0324]
s4、当时间达到第一预设时间段的第一时间段(例如,离预设时间段结束还有五分钟)时,系统库层中的调度策略生成模块可以从数据库中获取到上述流水日志1,并基于该流水日志1生成性能日志1。调度策略生成模块可以基于该性能日志1,生成第二调度策略。同时,调度策略生成模块可以基于前述的性能日志1生成待检测表1。
[0325]
具体的,可以参考前述步骤s201-步骤s204或步骤s501-步骤s504中的描述,在此不再赘述。
[0326]
s5、调度策略生成模块可以将第二调度策略发送至调度策略下发模块。
[0327]
s6、调度策略下发模块获取到第二调度策略后,可以存储该第二调度策略。同时,调度策略模块可以将该第二调度策略下发至内核层中的cpu驱动,以用于电子设备100使得cpu基于上述第二调度策略在第二预设时间段时执行指定应用中的指定任务。
[0328]
后续第二预设时间段的模块交互流程,可以参考前述步骤s1-步骤s6的描述,在此不再赘述。
[0329]
同时,在第二预设时间段内,当时间达到第二预设时间段的第一时间段(例如,离预设时间段结束还有五分钟)时,调度策略模块可以基于前述待检测表1和第二预设时间段的性能日志2,检测第二调度策略是否有效,从而确定出电子设备100后续预设时间段是否仍继续基于第二调度策略执行指定应用的指定任务。当调度策略生成模块确定出第二调度策略针对指定应用中指定任务的设置无效,则调度策略生成模块可以从调度策略下发模块获取到第一调度策略,并基于第一调度策略设置指定应用中指定任务的cpu工作频率和cpu占用时长。该流程可以参考前述步骤s206-步骤s208或步骤s506-步骤s508中的描述,在此不再赘述。
[0330]
上述实施例中所用,根据上下文,术语“当

时”可以被解释为意思是“如果
…”
或“在

后”或“响应于确定
…”
或“响应于检测到
…”
。类似地,根据上下文,短语“在确定

时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定
…”
或“响应于确定
…”
或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
[0331]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘)等。
[0332]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程
可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
再多了解一些

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

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

相关文献