进程管控方法、装置、存储介质及电子设备转让专利

申请号 : CN201710643278.4

文献号 : CN107479951B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杜冰张俊林志泳

申请人 : OPPO广东移动通信有限公司

摘要 :

本发明实施例公开了一种进程管控方法、装置、存储介质及电子设备。该进程管控方法,当检测到CPU使用率高于预设使用率时,确定每一后台应用各自对应的进程组,并将各进程组所包含的进程进行比较,以获取不同进程各自对应的后台调度应用的数量,再根据不同进程各自对应的后台调度应用的数量,调节各进程的优先级,按照优先级的高低顺序冻结相应的进程,以使CPU使用率不高于预设使用率。该方案根据实际的使用情况及当前各进程对应的后台调度应用的数量,调整进程的优先级并根据优先级冻结相应的进程,有效释放CPU资源,提升后续进程的运行速度,减少电子设备功耗。

权利要求 :

1.一种进程管控方法,应用于电子设备,其特征在于,所述方法包括:当检测到CPU使用率高于预设使用率时,确定每一后台应用各自对应的进程组;

将各进程组所包含的进程进行比较,以获取不同进程各自对应的后台调度应用的数量;

根据不同进程各自对应的后台调度应用的数量,调节各进程的优先级;

按照所述优先级的高低顺序冻结相应的进程,以使CPU使用率不高于所述预设使用率。

2.如权利要求1所述的进程管控方法,其特征在于,按照所述优先级的高低顺序冻结相应的进程,以使CPU使用率不高于所述预设使用率的步骤,包括:确定进程白名单,所述进程白名单基于前台应用对应的进程组生成;

从所述各进程中筛除与所述进程白名单匹配的进程,以将余下未被筛除的进程作为候选进程;

按照所述优先级的高低顺序,依次从所述候选进程中选取相应的进程进行冻结,直至CPU使用率不高于所述预设使用率。

3.如权利要求1所述的进程管控方法,其特征在于,被冻结的进程有多个;在按照所述优先级的高低顺序冻结相应的进程之后,所述方法还包括:当检测到有第一进程结束时,获取当前的CPU使用率与预设使用率之间的差率,其中,第一进程为各进程中未被冻结的进程;

根据所述差率和CPU资源总量,确定所释放的第一CPU资源量;

获取每一第二进程运行时各自占用的第二CPU资源量,其中,第二进程为各进程中已被冻结的进程;

根据第一CPU资源量和第二CPU资源量,从多个第二进程中选取目标第二进程解除冻结,使CPU使用率不高于所述预设使用率。

4.如权利要求3所述的进程管控方法,其特征在于,根据第一CPU资源量和第二CPU资源量,从多个第二进程中选取目标第二进程解除冻结的步骤,包括:按照所述多个第二进程被冻结时由后到前的顺序,选取相应个数的第一应用解除冻结,使解除冻结的第二进程所占用的第二CPU资源量的总和不高于所述第一CPU资源量。

5.如权利要求1所述的进程管控方法,其特征在于,在按照所述优先级的高低顺序冻结相应的进程之后,所述方法还包括:当检测到有后台应用切换至前台运行时,判断所述后台应用对应的进程组中是否存在被冻结的进程;

若是,则获取所述被冻结的进程的进程标识;

根据所述进程标识从已被冻结的进程中选取对应的目标进程解除冻结。

6.一种进程管控装置,应用于电子设备,其特征在于,所述装置包括:第一确定模块,用于当检测到CPU使用率高于预设使用率时,确定每一后台应用各自对应的进程组;

数量获取模块,用于将各进程组所包含的进程进行比较,以获取不同进程各自对应的后台调度应用的数量;

调节模块,用于根据不同进程各自对应的后台调度应用的数量,调节各进程的优先级;

冻结模块,用于按照所述优先级的高低顺序冻结相应的进程,以使CPU使用率不高于所述预设使用率。

7.如权利要求6所述的进程管控装置,其特征在于,所述冻结模块包括:确定子模块,用于确定进程白名单,所述进程白名单基于前台应用对应的进程组生成;

选取子模块,用于从所述各进程中筛除与所述进程白名单匹配的进程,以将余下未被筛除的进程作为候选进程;

冻结子模块,按照所述优先级的高低顺序,依次从所述候选进程中选取相应的进程进行冻结,直至CPU使用率不高于所述预设使用率。

8.如权利要求6所述的进程管控装置,其特征在于,被冻结的进程有多个;所述装置还包括:差率获取模块,用于在在按照所述优先级的高低顺序冻结相应的进程之后,若检测到有第一进程结束,则获取当前的CPU使用率与预设使用率之间的差率,其中,第一进程为各进程中未被冻结的进程;

第二确定模块,用于根据所述差率和CPU资源总量,确定所释放的第一CPU资源量;

资源量获取模块,用于获取每一第二进程运行时各自占用的第二CPU资源量,其中,第二进程为各进程中已被冻结的进程;

第一解冻模块,根据第一CPU资源量和第二CPU资源量,从多个第二进程中选取目标第二进程解除冻结,使CPU使用率不高于所述预设使用率。

9.如权利要求8所述的进程管控装置,其特征在于,第一解冻模块进一步用于:按照所述多个第二进程被冻结时由后到前的顺序,选取相应个数的第一应用解除冻结,使解除冻结的第二进程所占用的第二CPU资源量的总和不高于所述第一CPU资源量。

10.如权利要求6所述的进程管控装置,其特征在于,所述装置还包括:判断模块,用于在按照所述优先级的高低顺序冻结相应的进程之后,若检测到有后台应用切换至前台运行,则判断所述后台应用对应的进程组中是否存在被冻结的进程;

标识获取模块,用于在所述判断模块判定为是时,获取所述被冻结的进程的进程标识;

第二解冻模块,用于根据所述进程标识从已被冻结的进程中选取对应的目标进程解除冻结。

11.一种存储介质,其特征在于,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如权利要求1-5中任一项所述的进程管控方法。

12.一种电子设备,其特征在于,包括处理器及存储器,所述处理器与所述存储器电性连接,所述存储器用于存储指令和数据;所述处理器用于执行如权利要求1-5中任一项所述的进程管控方法。

说明书 :

进程管控方法、装置、存储介质及电子设备

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种进程管控方法、装置、存储介质及电子设备。

背景技术

[0002] 随着互联网的发展和移动通信网络的发展,同时也伴随着电子设备的处理能力和存储能力的迅猛发展,海量的应用程序得到了迅速传播和使用。
[0003] 一般地,应用运行时对应有一进程组,进程组中包括为该应用服务的所有进程,每个进程组中至少包括有一个进程。而进程可分为独立进程和共享进程。随着系统服务不断增多,把很多服务做成共享方式,使得多个不同的应用可以使用同一个进程,以减少系统资源的占用。

发明内容

[0004] 本发明实施例提供一种进程管控方法、装置、存储介质及电子设备,可以降低电子设备功耗。
[0005] 第一方面,本发明实施例提供一种进程管控方法,应用于电子设备,所述方法包括:
[0006] 当检测到CPU使用率高于预设使用率时,确定每一后台应用各自对应的进程组;
[0007] 将各进程组所包含的进程进行比较,以获取不同进程各自对应的后台调度应用的数量;
[0008] 根据不同进程各自对应的后台调度应用的数量,调节各进程的优先级;
[0009] 按照所述优先级的高低顺序冻结相应的进程,以使CPU使用率不高于所述预设使用率。
[0010] 第二方面,本发明实施例提供了一种进程管控装置,应用于电子设备,所述装置包括:
[0011] 第一确定模块,用于当检测到CPU使用率高于预设使用率时,确定每一后台应用各自对应的进程组;
[0012] 数量获取模块,用于将各进程组所包含的进程进行比较,以获取不同进程各自对应的后台调度应用的数量;
[0013] 调节模块,用于根据不同进程各自对应的后台调度应用的数量,调节各进程的优先级;
[0014] 冻结模块,用于按照所述优先级的高低顺序冻结相应的进程,以使CPU使用率不高于所述预设使用率。
[0015] 第三方面,本发明实施例还提供了一种存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行上述的进程管控方法。
[0016] 第四方面,本发明实施例还提供了一种电子设备,包括处理器及存储器,所述处理器与所述存储器电性连接,所述存储器用于存储指令和数据;处理器用于执行上述的进程管控方法。
[0017] 本发明实施例公开了一种进程管控方法、装置、存储介质及电子设备。该进程管控方法,当检测到CPU使用率高于预设使用率时,确定每一后台应用各自对应的进程组,并将各进程组所包含的进程进行比较,以获取不同进程各自对应的后台调度应用的数量,再根据不同进程各自对应的后台调度应用的数量,调节各进程的优先级,按照优先级的高低顺序冻结相应的进程,以使CPU使用率不高于预设使用率。该方案根据实际的使用情况及当前各进程对应的后台调度应用的数量,调整进程的优先级并根据优先级冻结相应的进程,有效释放CPU资源,提升后续进程的运行速度,减少电子设备功耗。

附图说明

[0018] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019] 图1是本发明实施例提供的进程管控方法的场景示意图。
[0020] 图2是本发明实施例提供的进程管控方法的一种流程示意图。
[0021] 图3是本发明实施例提供的进程管控装置的另一种流程示意图。
[0022] 图4是本发明实施例提供的进程管控方法的另一种场景示意图。
[0023] 图5是本发明实施例提供的进程管控装置的一种结构示意图。
[0024] 图6是本发明实施例提供的进程管控装置的另一种结构示意图。
[0025] 图7是本发明实施例提供的进程管控装置的又一种结构示意图。
[0026] 图8是本发明实施例提供的进程管控装置的再一种结构示意图。
[0027] 图9是本发明实施例提供的电子设备的一种结构示意图。
[0028] 图10是本发明实施例提供的电子设备的另一种结构示意图。

具体实施方式

[0029] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030] 本发明实施例提供一种进程管控方法、装置、存储介质及电子设备。以下将分别进行详细说明。
[0031] 请参阅图1,图1为本发明实施例提供的进程管控方法的场景示意图。
[0032] 如图,电子设备(如智能手机、平板电脑等)内安装有不同的应用程序:APP1~APP16。电子设备对CPU使用率进行监控,当检测到CPU使用率高于预设使用率时生成查询指令,并根据该查询指令查询每一后台应用(如图1所示APP1、APP2、APP3)各自对应的进程组(如图APP1对应进程组A、APP2对应进程组B、APP3对应进程组C)。
[0033] 进一步确定各进程组所包含的进程(如进程组A包括进程P1~P4;进程组B包括进程P3~P7;进程组C包括进程P4~P6、P8、P9),进行去重处理,得到进程集合(如图1所示进程P1~P9),并获取不同进程各自对应的后台调度应用的数量(如P1只存在于APP1的进程组中,那么P1对应的后台调度应用(即后台应用)的数量为1;P4存在于APP1、APP2、APP3三个应用的进程组中,那么P4对应的后台调度应用的数量为3)。
[0034] 然后,根据不同进程各自对应后台调度应用的数量,调节各进程的优先级,比如,P1对应后台调度应用的数量为1,P4对应后台调度应用的数量为3,则可将P4的优先级设置高于P1的优先级。
[0035] 最后,按照优先级顺序,可先冻结低优先级的进程(如P1),使其停止运行,以降低CPU使用率。若CPU使用率仍然高于预设使用率,则需继续冻结进程,以使CPU使用率不高于所述预设使用率,或直至该进程集合中所有进程都被冻结,从而提升后续进程的运行速度,减少电子设备功耗。
[0036] 在一实施例中,提供一种进程管控方法,如图2所示,流程可以如下:
[0037] S110、当检测到CPU使用率高于预设使用率时,确定每一后台应用各自对应的进程组。
[0038] CPU使用率,即运行的应用程序占用的CPU资源,表示机器在某个时间点的运行程序的情况。使用率越高,说明机器在这个时间上运行了很多程序,反之较少。使用率的高低与CPU强弱有直接关系。现代分时多任务操作系统对CPU都是分时间片使用的,比如:A程序占用10ms,B程序占用30ms,空闲60ms,再又是A程序占10ms,B程序占30ms,空闲60ms;如果在一段时间内都是如此,那么这段时间内的占用率为40%。
[0039] 其中,预设使用频率可以是基于CPU自身的硬件性能、电子设备中其他硬件配置、电子设备操作系统、以及软件优化等多重因素,经本领域技术人员多次测试后而得出的合理CPU使用率上限的基准值。比如,可设置为70%、80%等。
[0040] 具体实施时,可在电子设备安装性能监视器用以监控CPU使用率。当检测到CPU使用率高于预设使用率时,其负荷量将视为达到上限,此时可触发查询指令,以使电子设备根据该查询指令确定当前的后台应用各自对应的进程组。也即,步骤“当检测到CPU使用率高于预设使用率时,确定每一后台应用各自对应的进程组”可以包括:
[0041] 对CPU使用率进行检测,判断CPU使用率是否高于预设使用率;
[0042] 若CPU使用率高于预设使用率,则触发查询指令;
[0043] 根据查询指令查询当前每一后台应用各自对应的进程组,其中,每一进程组包括至少一个进程。
[0044] 进程组是一个或多个进程的集合,通常它们与一组作业相关联,进程组中包括为该应用服务的所有进程,每个进程都有唯一的进程号(PID)。进程组则由进程组ID来标识,每个进程组都有唯一的进程组ID。每个进程组都有一个组长进程,组长进程的进程号等于进程组ID。组长进程可以创建一个进程组、创建该组中的进程。只要某个进程组中有一个进程存在,则该进程组就存在,与组长进程是否终止无关。从进程组创建开始到其中最后一个进程离开为止的时间区间成为进程组的生存期。
[0045] 比如,微信运行时,有微信主进程、接收消息通知的推送(如push)进程、服务(service)进程等,这就构成一个进程组。
[0046] S120、将各进程组所包含的进程进行比较,以获取不同进程各自对应的后台调度应用的数量。
[0047] 其中,后台调度应用也即上述后台应用。当进程对应的调度应用,即使用该进程的应用。某进程若包括于一应用的进程组内,则该应用即为该进程的调度应用,比如APP1对应的进程组A包括进程P1~P3,则APP1即为进程P1的调度应用,同时也是进程P2和进程P3的调度应用。
[0048] 继续以APP1对应的进程组A包括进程P1~P4为例,假设APP2对应的进程组B包括进程P3~P7,那么将进程组A与进程组B中包含的进程进行比较,再无其他进程的前提下,可以得到电子设备中的进程有P1~P7等七个进程。进一步的,通过统计可知APP1既是进程P3的调度应用,同时又是进程P4的调度应用,APP2既是进程P3的调度应用,同时又是进程P4的调度应用。由此可知,P3对应的调度应用个数为2,P4对应的调度应用的个数为2,其余进程对应的调度应用个数皆为1。
[0049] S130、根据不同进程各自对应的后台调度应用的数量,调节各进程的优先级。
[0050] 具体地,可对后台调度应用的数量越多的进程,设置其优先级越低,从而可以优先冻结后台调度应用的数量较少的进程,使得在降低CPU使用率的同时,又可确保不会对后台应用的运行造成明显的影响。
[0051] 在一些实施例中,可以用数值表示优先级。而不同操作系统中,数值大小所表示的优先级高低可能不相同。例如,linux系统中数值越小表示优先级越高,数值越大表示优先级越低;而在windows系统中,数值越小表示优先级越低,数值越大表示优先级越高。因此在具体实施时,可根据电子设备实际安装的操作系统,基于该操作系统的设定规则,设置用于表示优先级的数值大小。
[0052] S140、按照优先级的高低顺序冻结相应的进程,以使CPU使用率不高于预设使用率。
[0053] 具体地,可按照优先级从高到低的顺序,从后台应用对应的各进程组中所包含的进程中,选取相应个数的进程进行冻结。比如,若进程P1~P5的优先级从高到低的排序为:P3>;P2>;P1>;P4>;P5,则表示进程P3对应的后台调度应用数量最少,则可首先冻结进程P3,接着是冻结进程P2,然后可冻结进程P1,以此类推。
[0054] 为了保证不对后台应用造成过大的影响,在可确保CPU使用率降低至预设使用率的前提下,只需对适量的进程进行冻结操作,暂时停止某些进程的运行即可。
[0055] 由上可知,本发明实施例提供了一种进程管控方法,当检测到CPU使用率高于预设使用率时,确定每一后台应用各自对应的进程组,并将各进程组所包含的进程进行比较,以获取不同进程各自对应的后台调度应用的数量,再根据不同进程各自对应的后台调度应用的数量,调节各进程的优先级,按照优先级的高低顺序冻结相应的进程,以使CPU使用率不高于预设使用率。该方案根据实际的使用情况及当前各进程对应的后台调度应用的数量,调整进程的优先级并根据优先级冻结相应的进程,有效释放CPU资源,提升后续进程的运行速度,减少电子设备功耗。
[0056] 在一实施例中,还提供另一种进程管控方法,如图3所示,流程可以如下:
[0057] S210、当检测到CPU使用率高于预设使用率时,确定每一后台应用各自对应的进程组。
[0058] 其中,CPU使用率,即运行的应用程序占用的CPU资源,表示机器在某个时间点的运行程序的情况。在实际应用中,预设使用率则可设置为诸如70%、80%等数值。当检测到CPU使用率高于预设使用率时,其负荷量将视为达到上限,此时可触发查询指令,以使电子设备根据该查询指令确定当前的后台应用各自对应的进程组。其中,每个进程组可包括一个或多个进程。
[0059] 比如,当QQ运行时,有QQ主进程、接收消息通知的推送(push)进程、服务(service)进程等,这就构成一个进程组。
[0060] S220、将各进程组所包含的进程进行比较,以获取不同进程各自对应的后台调度应用的数量。
[0061] 其中,后台调度应用也即上述后台应用。当进程对应的调度应用,即使用该进程的应用。某进程若包括于一应用的进程组内,则该应用即为该进程的调度应用。
[0062] 假设电子设备中,当前的后台应用只有APP1、APP2、APP3,APP1对应的进程组A包括进程P1~P4,APP2对应的进程组B包括进程P3~P7,APP2对应的进程组B包括进程P4~P6、P8和P9。那么,可将进程组A、进程组B、进程C中包含的进程进行比较,可以得到电子设备中的进程有P1~P9等九个进程。经统计,可知进程P1~P9等九个进程分别对应的后台调度应用的数量依次为:1、1、2、3、2、2、1、1、1。
[0063] S230、根据不同进程各自对应的后台调度应用的数量,调节各进程的优先级。
[0064] 具体地,可对后台调度应用的数量越多的进程,设置其优先级越低,从而可以优先冻结后台调度应用的数量较少的进程,使得在降低CPU使用率的同时,又可确保不会对后台应用的运行造成明显的影响。
[0065] 继续以上述进程P1~P9等九个进程分别对应的后台调度应用的数量依次为:1、1、2、3、2、2、1、1、1为例,若按数量越多的进程,设置其优先级越低,则优先级从高到低的排序为:P1(P2/P7/P8/P9)>;P3(P5/P6)>;P4。
[0066] 可见,存在有相同数量后台调度应用的进程。这种情形下,可基于各进程在历史时间段内被调度的次数、所对应调度应用最多时的数量等历史数据,对当前具有相同数量后台调度应用的进程的优先级进一步考量。
[0067] S240、确定进程白名单,该进程白名单基于前台应用对应的进程组生成。
[0068] 在一些实施例中,为保证前台应用的正常运行,可将当前的前台应用对应的进程组中所有进程都列入进程摆明单内,其中还可能包括与某些后台应用共同使用的进程。
[0069] S250、从各进程中筛除与进程白名单匹配的进程,以将余下未被筛除的进程作为候选进程。
[0070] 具体地,为了避免对前台应用对应的进程误处理,可将前台应用所对应的进程列入待选名单之外。具体实施时,可通过遍历各后台应用对应的进程组中的所有进程,确定哪些进程属于进程白名单,而后操作时自动过滤掉这些进程即可。
[0071] 在一些实施方式中,可以每当访问一个进程,就将此应用程序与进程白名单进行比较,以判断该进程是否属于进程白名单内,以将属于进程白名单内的进程筛除,从而得到候选进程。
[0072] 在一些实施方式中,可以在遍历完所有进程之后,再将所遍历的进程与进程白名单进行匹配,以筛除掉属于此进程白名单内的进程,从而得到候选进程。
[0073] 在一优选实施例中,候选进程的数量优选为至少两个。
[0074] 继续以优先级从高到低的排序为:P1(P2/P7/P8/P9)>;P3(P5/P6)>;P4为例,假设进程白名单内包括的进程有:P2、P3、P6、P10。则,筛除掉白名单内的进程后,得到的候选进程有:P1、P4、P5、P7~P9,此时优先级从高到低的排序为:P1(P7/P8/P9)>;P5>;P4。
[0075] S260、按照优先级的高低顺序,依次从候选进程中选取相应的进程进行冻结,直至CPU使用率不高于预设使用率。
[0076] 为了保证不对后台应用造成过大的影响,在可确保CPU使用率降低至预设使用率的前提下,只需对适量的进程进行冻结操作,暂时停止某些进程的运行即可。
[0077] 具体地,可按照优先级从高到低的顺序,依次从候选进程中选取相应的进程进行冻结。
[0078] 继续以候选进程有:P1、P4、P5、P7~P9,优先级从高到低的排序为:P1(P7/P8/P9)>;P5>;P4为例。在此,假设根据历史数据得到进程P1、P7~P9的活跃度依次为:P8>;P9>;P7>;P1,则基于该数据重新进行优先级考量后,得到优先级从高到低新的排序为:
P1>;P7>;P8>;P9>;P5>;P4。参考图4,在新的排序基础上,电子设备按照优先级从高到低的顺序,首先选取进程P1进行冻结,然后判断关闭进程P1后CPU使用率是否低于预设使用率,如果没有降至预设使用频率或以下,则继续从未冻结的其他候选进程(即P4、P5、P7、P8、P9)中,选取下一个需冻结的候选进程(即P7),直到CPU使用率低于预设使用率,或者直到把所有候选进程冻结掉为止。
[0079] S270、当检测到有后台应用切换至前台运行时,判断后台应用对应的进程组中是否存在被冻结的进程;若是,执行步骤S280;若否,则结束流程。
[0080] 具体地,当后台应用切换至前台运行时,便可触发将此后台应用对应的进程组内的所有进程列入进程白名单。然后,系统将下发搜索指令,根据该指令确定此后台应用的进程组中是否存在被冻结的进程。
[0081] S280、获取被冻结的进程的进程标识。
[0082] 若上述后台应用对应的进程组中存在被冻结的进程,则获取该进程的进程标识,如进程号(PID)。
[0083] S290、根据进程标识从已被冻结的进程中选取对应的目标进程解除冻结。
[0084] 具体地,根据该进程标识从已被冻结的进程中,匹配到上述后台应用的进程组中被冻结的进程,并对该进程解除冻结,恢复运行,以继续完成未完成的作业。
[0085] 在一些实施例中,被冻结的进程可以有多个。实际应用中,进程在完成任务后可自动结束,此时便可将其占用的CPU资源释放掉,相应地提供了可使用的CPU资源,故可将之前冻结的进程解除冻结,以完成相应任务。也即,在按照优先级的高低顺序冻结相应的进程之后,该方法还可包括:
[0086] 当检测到有第一进程结束时,获取当前的CPU使用率与预设使用率之间的差率,其中,第一进程为各进程中未被冻结的进程;
[0087] 根据差率和CPU资源总量,确定所释放的第一CPU资源量;
[0088] 获取每一第二进程运行时各自占用的第二CPU资源量,其中,第二进程为各进程中已被冻结的进程;
[0089] 根据第一CPU资源量和第二CPU资源量,从多个第二进程中选取目标第二进程解除冻结,使CPU使用率不高于预设使用率。
[0090] 具体地,在确保CPU使用率不会高于预设使用率的前提下,可对任意被冻结的第二进程进行解冻处理。
[0091] 进一步的,步骤“根据第一CPU资源量和第二CPU资源量,从多个第二进程中选取目标第二进程解除冻结”具体可以为:
[0092] 按照多个第二进程被冻结时由后到前的顺序,选取相应个数的第一应用解除冻结,使解除冻结的第二进程所占用的第二CPU资源量的总和不高于第一CPU资源量。
[0093] 比如,进程冻结的由后到前的顺序为:P8、P9、P1。则,说明P8活跃度更高,然后是进程P9再是进程P1。因此,选择先对进程P8作为目标第二进程,对其解除冻结;再后可将P9作为目标第二进程,对其进行解冻。在解除冻结的第二进程所占用的第二CPU资源量的总和不高于第一CPU资源量的前提下,可按冻结时由后到前的顺序尽可能对更多数量的第二进程解除冻结,以提升后台应用运行的稳定性。
[0094] 由上可知,本发明实施例提供的进程管控方法,当检测到CPU使用率高于预设使用率时,确定每一后台应用各自对应的进程组,并获取不同进程各自对应的后台调度应用的数量,并根据该数量调节各进程的优先级。然后,从各进程中筛除与进程白名单匹配的进程,以将余下未被筛除的进程作为候选进程,并按照优先级的高低顺序,依次从候选进程中选取相应的进程进行冻结,直至CPU使用率不高于预设使用率。该方案根据实际的使用情况及当前各进程对应的后台调度应用的数量,调整进程的优先级并根据优先级冻结相应的进程,有效释放CPU资源,提升后续进程的运行速度,减少电子设备功耗。
[0095] 在本发明又一实施例中,还提供一种进程管控装置,该进程管控装置可以软件或硬件的形式集成在电子设备中,该电子设备具体可以包括手机、平板电脑、笔记本电脑等设备。如图5所示,该进程管控装置300可以包括第一确定模块301、数量获取模块302、调节模块303以及冻结模块304,其中:
[0096] 第一确定模块301,用于当检测到CPU使用率高于预设使用率时,确定每一后台应用各自对应的进程组;
[0097] 数量获取模块302,用于将各进程组所包含的进程进行比较,以获取不同进程各自对应的后台调度应用的数量;
[0098] 调节模块303,用于根据不同进程各自对应的后台调度应用的数量,调节各进程的优先级;
[0099] 冻结模块304,用于按照优先级的高低顺序冻结相应的进程,以使CPU使用率不高于预设使用率。
[0100] 在一些实施例中,参考图6,冻结模块304包括:
[0101] 确定子模块3041,用于确定进程白名单,进程白名单基于前台应用对应的进程组生成;
[0102] 选取子模块3042,用于从各进程中筛除与进程白名单匹配的进程,以将余下未被筛除的进程作为候选进程;
[0103] 冻结子模块3043,用于按照优先级的高低顺序,依次从候选进程中选取相应的进程进行冻结,直至CPU使用率不高于预设使用率。
[0104] 参考图7,在一些实施例中,被冻结的进程有多个;该进程管控装置300还包括:
[0105] 差率获取模块305,用于在在按照优先级的高低顺序冻结相应的进程之后,若检测到有第一进程结束,则获取当前的CPU使用率与预设使用率之间的差率,其中,第一进程为各进程中未被冻结的进程;
[0106] 第二确定模块306,用于根据差率和CPU资源总量,确定所释放的第一CPU资源量;
[0107] 资源量获取模块307,用于获取每一第二进程运行时各自占用的第二CPU资源量,其中,第二进程为各进程中已被冻结的进程;
[0108] 第一解冻模块308,根据第一CPU资源量和第二CPU资源量,从多个第二进程中选取目标第二进程解除冻结,使CPU使用率不高于所述预设使用率。
[0109] 在一些实施例中,第一解冻模块308进一步可用于:
[0110] 按照多个第二进程被冻结时由后到前的顺序,选取相应个数的第一应用解除冻结,使解除冻结的第二进程所占用的第二CPU资源量的总和不高于第一CPU资源量。
[0111] 参考图8,在一些实施例中,该进程管控装置300还可以包括:
[0112] 判断模块309,用于在按照所述优先级的高低顺序冻结相应的进程之后,若检测到有后台应用切换至前台运行,则判断后台应用对应的进程组中是否存在被冻结的进程;
[0113] 标识获取模块310,用于在判断模块判定为是时,获取被冻结的进程的进程标识;
[0114] 第二解冻模块311,用于根据进程标识从已被冻结的进程中选取对应的目标进程解除冻结。
[0115] 由上可知,本发明实施例提供的进程管控装置,当检测到CPU使用率高于预设使用率时,确定每一后台应用各自对应的进程组,并将各进程组所包含的进程进行比较,以获取不同进程各自对应的后台调度应用的数量,再根据不同进程各自对应的后台调度应用的数量,调节各进程的优先级,按照优先级的高低顺序冻结相应的进程,以使CPU使用率不高于预设使用率。该方案根据实际的使用情况及当前各进程对应的后台调度应用的数量,调整进程的优先级并根据优先级冻结相应的进程,有效释放CPU资源,提升后续进程的运行速度,减少电子设备功耗。
[0116] 在本发明又一实施例中还提供一种电子设备,该电子设备可以是智能手机、平板电脑等设备。如图9所示,电子设备400包括处理器401及存储器40。其中,处理器401与存储器402电性连接。
[0117] 处理器401是电子设备400的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或加载存储在存储器402内的应用程序,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
[0118] 在本实施例中,电子设备400中的处理器401会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能:
[0119] 当检测到CPU使用率高于预设使用率时,确定每一后台应用各自对应的进程组;
[0120] 将各进程组所包含的进程进行比较,以获取不同进程各自对应的后台调度应用的数量;
[0121] 根据不同进程各自对应的后台调度应用的数量,调节各进程的优先级;
[0122] 按照优先级的高低顺序冻结相应的进程,以使CPU使用率不高于预设使用率。
[0123] 在一些实施例中,处理器401执行以下步骤:
[0124] 确定进程白名单,进程白名单基于前台应用对应的进程组生成;
[0125] 从各进程中筛除与进程白名单匹配的进程,以将余下未被筛除的进程作为候选进程;
[0126] 按照优先级的高低顺序,依次从候选进程中选取相应的进程进行冻结,直至CPU使用率不高于预设使用率。
[0127] 在一些实施例中,被冻结的进程有多个;在在按照优先级的高低顺序冻结相应的进程之后,若检测到有第一进程结束,则处理器401可执行以下步骤:
[0128] 获取当前的CPU使用率与预设使用率之间的差率,其中,第一进程为各进程中未被冻结的进程;
[0129] 根据差率和CPU资源总量,确定所释放的第一CPU资源量;
[0130] 获取每一第二进程运行时各自占用的第二CPU资源量,其中,第二进程为各进程中已被冻结的进程;
[0131] 根据第一CPU资源量和第二CPU资源量,从多个第二进程中选取目标第二进程解除冻结,使CPU使用率不高于预设使用率。
[0132] 在一些实施例中,处理器401执行以下步骤:
[0133] 按照多个第二进程被冻结时由后到前的顺序,选取相应个数的第一应用解除冻结,使得解除冻结的第二进程所占用的第二CPU资源量的总和不高于第一CPU资源量。
[0134] 在一些实施例中,在按照优先级的高低顺序冻结相应的进程之后,若检测到有后台应用切换至前台运行,则处理器401执行以下步骤:
[0135] 判断后台应用对应的进程组中是否存在被冻结的进程;
[0136] 若是,则获取被冻结的进程的进程标识;
[0137] 根据进程标识从已被冻结的进程中选取对应的目标进程解除冻结。
[0138] 存储器402可用于存储应用程序和数据。存储器402存储的应用程序中包含有可在处理器中执行的指令。应用程序可以组成各种功能模块。处理器401通过运行存储在存储器402的应用程序,从而执行各种功能应用以及数据处理。
[0139] 在一些实施例中,如图10所示,电子设备400还包括:显示屏403、控制电路404、射频电路405、输入单元406、音频电路407、传感器408以及电源409。其中,处理器401分别与显示屏403、控制电路404、射频电路405、输入单元406、音频电路407、传感器408以及电源409电性连接。
[0140] 显示屏403可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图像、文本、图标、视频和其任意组合来构成。
[0141] 控制电路404与显示屏403电性连接,用于控制显示屏403显示信息。
[0142] 射频电路405用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通讯,与网络设备或其他电子设备之间收发信号。
[0143] 输入单元406可用于接收输入的数字、字符信息或用户特征信息(例如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。其中,输入单元406可以包括指纹识别模组。
[0144] 音频电路407可通过扬声器、传声器提供用户与电子设备之间的音频接口。
[0145] 传感器408用于采集外部环境信息。传感器408可以包括环境亮度传感器、加速度传感器、光传感器、运动传感器、以及其他传感器。
[0146] 电源409用于给电子设备400的各个部件供电。在一些实施例中,电源409可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0147] 尽管图10中未示出,电子设备400还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0148] 由上可知,本发明实施例提供的电子设备,当检测到CPU使用率高于预设使用率时,确定每一后台应用各自对应的进程组,并将各进程组所包含的进程进行比较,以获取不同进程各自对应的后台调度应用的数量,再根据不同进程各自对应的后台调度应用的数量,调节各进程的优先级,按照优先级的高低顺序冻结相应的进程,以使CPU使用率不高于预设使用率。该方案根据实际的使用情况及当前各进程对应的后台调度应用的数量,调整进程的优先级并根据优先级冻结相应的进程,有效释放CPU资源,提升后续进程的运行速度,减少电子设备功耗。
[0149] 在一些实施例中,还提供了一种存储介质,该存储介质中存储有多条指令,该指令适于由处理器加载以执行上述任一进程管控方法。
[0150] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
[0151] 在描述本发明的概念的过程中使用了术语“一”和“所述”以及类似的词语(尤其是在所附的权利要求书中),应该将这些术语解释为既涵盖单数又涵盖复数。此外,除非本文中另有说明,否则在本文中叙述数值范围时仅仅是通过快捷方法来指代属于相关范围的每个独立的值,而每个独立的值都并入本说明书中,就像这些值在本文中单独进行了陈述一样。另外,除非本文中另有指明或上下文有明确的相反提示,否则本文中所述的所有方法的步骤都可以按任何适当次序加以执行。本发明的改变并不限于描述的步骤顺序。除非另外主张,否则使用本文中所提供的任何以及所有实例或示例性语言(例如,“例如”)都仅仅为了更好地说明本发明的概念,而并非对本发明的概念的范围加以限制。在不脱离精神和范围的情况下,所属领域的技术人员将易于明白多种修改和适应。
[0152] 以上对本发明实施例所提供的进程管控方法、装置、存储介质及电子设备进行了详细介绍,本文中应用程序了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用程序范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。