CN110795240A - 任务管理方法和装置、电子设备、计算机可读存储介质 - Google Patents
任务管理方法和装置、电子设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN110795240A CN110795240A CN201910992580.XA CN201910992580A CN110795240A CN 110795240 A CN110795240 A CN 110795240A CN 201910992580 A CN201910992580 A CN 201910992580A CN 110795240 A CN110795240 A CN 110795240A
- Authority
- CN
- China
- Prior art keywords
- task
- background
- built
- white list
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种任务管理方法和装置、电子设备、计算机可读存储介质,包括:当检测出前台任务属于预设前台任务时,获取当前运行的后台任务名单。将当前运行的后台任务名单与预设前台任务对应的后台任务白名单进行比较,后台任务白名单中剔除了电子设备的部分内置应用和系统服务。对不属于预设前台任务对应的后台任务白名单中的后台任务进行限制处理。不属于预设前台任务对应的后台任务白名单中包括剔除的电子设备的部分内置应用和系统服务。即本申请中也可以对电子设备的内置应用和系统服务进行限制处理,从而保证了后台任务的进一步纯净,可以为前台任务提供更多的资源。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种任务管理方法和装置、电子设备、计算机可读存储介质。
背景技术
随着电子设备的普及和移动互联网的迅速发展,电子设备的用户使用量越来越大。目前,由于电子设备上自带的内置应用、系统服务以及所安装的应用程序越来越多、功能也越来越丰富,使得电子设备上的资源越来越不够用,以至于在用户使用的过程中经常出现卡顿、不流畅等问题。电子设备上传统的任务管理方法,只是粗略地对任务进行管理,不能够为电子设备释放更多的资源,无法为前台任务提供更多的资源,从而保障前台任务的流畅、高效运行。
发明内容
本申请实施例提供一种任务管理方法和装置、电子设备、计算机可读存储介质,可以为前台任务提供更多的资源,使前台任务运行的更加流畅、更加高效。
一种任务管理方法,所述方法包括:
当检测出前台任务属于预设前台任务时,获取当前运行的后台任务名单;
将所述当前运行的后台任务名单与所述预设前台任务对应的后台任务白名单进行比较,所述后台任务白名单中剔除了电子设备的部分内置应用和系统服务;
对不属于所述预设前台任务对应的后台任务白名单中的后台任务进行限制处理。
一种任务管理装置,所述装置包括:
后台任务名单获取模块,用于当检测出前台任务属于预设前台任务时,获取当前运行的后台任务名单;
比较模块,用于将所述当前运行的后台任务名单与所述预设前台任务对应的后台任务白名单进行比较,所述后台任务白名单中剔除了电子设备的部分内置应用和系统服务;
后台任务限制模块,用于对不属于所述预设前台任务对应的后台任务白名单中的后台任务进行限制处理。
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上方法的步骤。
上述任务管理方法和装置、电子设备、计算机可读存储介质,当检测出前台任务属于预设前台任务时,获取当前运行的后台任务名单。将当前运行的后台任务名单与预设前台任务对应的后台任务白名单进行比较,后台任务白名单中剔除了电子设备的部分内置应用和系统服务。对不属于预设前台任务对应的后台任务白名单中的后台任务进行限制处理。不属于预设前台任务对应的后台任务白名单中包括剔除的电子设备的部分内置应用和系统服务。即本申请中也可以对电子设备的内置应用和系统服务进行限制处理,从而保证了后台任务的进一步纯净,可以为前台任务提供更多的资源。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中电子设备的内部结构示意图;
图2为一个实施例中任务管理方法的流程图;
图3为一个实施例中预设前台任务对应的后台任务白名单的生成过程的流程图;
图4为一个实施例中电子设备中的系统的部分框架示意图;
图5为另一个实施例中任务管理方法的流程图;
图6为再一个实施例中任务管理方法的流程图;
图7为一个实施例中任务管理装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中电子设备的内部结构示意图。如图1所示,该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种任务管理方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。该电子设备可以是各种手机、电脑、可携带设备等。
图2为一个实施例中任务管理方法的流程图,如图2所示,任务管理方法包括步骤220至步骤260。
步骤220,当检测出前台任务属于预设前台任务时,获取当前运行的后台任务名单。
在电子设备中预先存储了预设前台任务的名单,这些预设前台任务为需要占用较多资源的任务,例如,视频类任务、游戏类任务等,本申请对此不作限定。对于预设前台任务的名单中的每一类任务或每一个任务,对应配置了该类任务对应的后台任务白名单,即当前台运行该类任务或该任务时,只有存在于后台任务白名单中的后台任务才可以运行。
当检测出前台任务属于预设前台任务时,获取当前运行的后台任务名单。例如,当前台任务为游戏类任务,则检测出该前台任务属于预设前台任务,获取当前运行的后台任务名单。当前运行的后台任务名单包括在后台运行的所有任务,例如在后台运行的第三方应用、在后台运行的电子设备的内置应用和系统服务等。
步骤240,将当前运行的后台任务名单与预设前台任务对应的后台任务白名单进行比较,后台任务白名单中剔除了电子设备的部分内置应用和系统服务。
预设前台任务对应的后台任务白名单中包括保证该预设前台任务运行所必须在后台运行的任务。而对那些在该预设前台任务运行时非必须的后台任务就可以在后台任务白名单中剔除,也可以对电子设备中该预设前台任务运行时非必须的部分内置应用和系统服务也进行剔除。因此,当前台任务为游戏类任务,将当前运行的后台任务名单与游戏类任务对应的后台任务白名单进行比较。当前台任务为视频类任务,将当前运行的后台任务名单与视频类任务的后台任务白名单进行比较。比较当前运行的后台任务名单是否属于该前台任务对应的后台任务名单中。
步骤260,对不属于预设前台任务对应的后台任务白名单中的后台任务进行限制处理。
对属于预设前台任务对应的后台任务白名单中的后台任务,则允许该后台任务运行,对不属于预设前台任务对应的后台任务白名单中的后台任务进行限制处理。因为后台任务白名单中剔除了电子设备的部分内置应用和系统服务,所以不属于预设前台任务对应的后台任务白名单中包括电子设备的内置应用和系统服务。本申请实施例也就可以对这部分内置应用和系统服务进行限制,从而保证了后台任务的进一步纯净,可以为前台任务提供更多的资源。本申请实施例也同时对不属于预设前台任务对应的后台任务白名单中的第三方应用进行限制处理。
本申请实施例中,当检测出前台任务属于预设前台任务时,获取当前运行的后台任务名单。将当前运行的后台任务名单与预设前台任务对应的后台任务白名单进行比较,后台任务白名单中剔除了电子设备的部分内置应用和系统服务。对不属于预设前台任务对应的后台任务白名单中的后台任务进行限制处理。不属于预设前台任务对应的后台任务白名单中包括剔除的电子设备的部分内置应用和系统服务。即本申请实施例中也可以对电子设备的内置应用和系统服务进行限制处理,从而保证了后台任务的进一步纯净,可以为前台任务提供更多的资源。
在一个实施例中,如图3所示,预设前台任务对应的后台任务白名单的生成过程包括:
步骤320,对电子设备的内置应用和系统服务进行业务功能及运行逻辑分析,得到电子设备的内置应用和系统服务的第一分析结果。
步骤340,对预设前台任务的运行需求进行分析;
步骤360,根据预设前台任务的运行需求、第一分析结果,将运行预设前台任务时所需要运行的内置应用和系统服务加入至预设前台任务对应的后台任务白名单。
具体的,对第三方应用可以根据该第三方应用与前台任务的关联关系、或在后台运行的第三方应用的优先级、或该前台任务的运行需求,判断在后台运行的第三方应用是否可以加入该前台任务对应的后台任务白名单。而对电子设备的内置应用和系统服务,则对电子设备的内置应用和系统服务进行业务功能及运行逻辑分析,得到电子设备的内置应用和系统服务的第一分析结果。再结合该前台任务的运行需求,判断哪些内置应用和系统服务是运行该前台任务所必须的,就将这些内置应用和系统服务加入至预设前台任务对应的后台任务白名单。
对电子设备的内置应用和系统服务进行业务功能及运行逻辑分析得到第一分析结果。其中,业务功能指的是内置应用和系统服务运行时所实现的功能,例如,对于系统服务AccountManagerService,用于实现Android账户服务,提供了对账户、password、授权的集中管理等功能;对于系统服务LocationManagerService,用于实现位置服务,GPS、定位等功能。其中,运行逻辑指的是内置应用和系统服务在实现具体功能的时候是如何操作的,如在何时、采用何种方式、调用什么资源等。当然,本申请对此不作限定。
其中,对预设前台任务的运行需求进行分析,包括对预设前台任务的运行所需的第三方应用、内置应用和系统服务提供的支持进行具体分析。
然后,就可以根据预设前台任务的运行需求、第一分析结果,将运行预设前台任务时所需要运行的内置应用和系统服务加入至预设前台任务对应的后台任务白名单。
本申请实施例中,对电子设备的内置应用和系统服务进行业务功能及运行逻辑分析得到第一分析结果。其中,业务功能指的是内置应用和系统服务运行时所实现的功能,运行逻辑指的是内置应用和系统服务在实现具体功能的时候是如何操作的,如在何时、采用何种方式、调用什么资源等。然后,就可以根据预设前台任务的运行需求、第一分析结果,将运行预设前台任务时所需要运行的内置应用和系统服务加入至预设前台任务对应的后台任务白名单。因为是从底层分析了内置应用和系统服务的业务功能及运行逻辑,所以再结合预设前台任务的运行需求,就可以从底层分析出哪些内置应用和系统服务是预设前台任务运行时所必须提供支持的,然后将这些必须提供支持的内置应用和系统服务加入至预设前台任务对应的后台任务白名单。从而,既能够保证前台任务的正常运行,也实现了进一步净化后台的效果,同时也因此能够为前台任务提供更多的资源,使前台任务运行的更加流畅、更加高效。
在一个实施例中,对不属于预设前台任务对应的后台任务白名单中的后台任务进行限制处理,包括:
对剔除的电子设备的部分内置应用和系统服务采用对应的限制策略进行限制处理,限制策略包括冻结、查杀。
具体的,对剔除的电子设备的部分内置应用和系统服务采用对应的限制策略进行限制处理,以释放出内存、CPU等资源,当然,本申请对此不作限定。其中,对剔除的电子设备的部分内置应用和系统服务采用的限制策略包括冻结、查杀等。同理,对不属于预设前台任务对应的后台任务白名单中的第三方应用进行限制处理,限制策略也包括冻结、查杀。
如图4所示,提供了一种电子设备的部分架构图。对第三方应用、内置应用和系统服务可以采用图4的架构图来实现冻结。其中,该电子设备的架构系统中包括JAVA空间层410、本地框架层420以及内核(Kernel)空间层430。JAVA空间层上可包含冻结管理应用412,电子设备可通过该冻结管理应用412来实现对各个应用的冻结策略,对后台运行的相关应用做冻结操作。本地框架层420中包含资源优先级和限制管理模块422和平台冻结管理模块424。电子设备可通过资源优先级和限制管理模块422实时维护不同的应用处于不同优先级和不同资源的组织中,并根据上层的需求来调整应用程序的资源组别从而达到优化性能,节省功耗的作用。电子设备可通过平台冻结管理模块424将后台可以冻结的任务按照进入冻结时间的长短,分配到对应预设的不同层次的冻结层,可选地,该冻结层可包括三个,分别是:CPU限制睡眠模式、CPU冻结睡眠模式、进程深度冻结模式。
其中,CPU限制睡眠模式是指对相关进程所占用的CPU资源进行限制,使相关进程占用较少的CPU资源,将空余的CPU资源向其它未被冻结的进程倾斜,限制了对CPU资源的占用,也相应限制了进程对网络资源以及I/O接口资源的占用;CPU冻结睡眠模式是指禁止相关进程使用CPU,而保留对内存的占用,当禁止使用CPU资源时,相应的网络资源以及I/O接口资源也被禁止使用;进程深度冻结模式是指除禁止使用CPU资源之外,进一步对相关进程所占用的内存资源进行回收,回收的内存可供其它进程使用。
内核空间层430中包括UID管理模块431、Cgroup模块432、Binder管控模块433、进程内存回收模块434以及冻结超时退出模块435。其中,UID管理模块431用于实现基于应用的用户身份标识(User Identifier,UID)来管理第三方应用的资源或进行冻结。相比较于基于进程身份标识(Process Identifier,PID)来进行进程管控,通过UID更便于统一管理一个用户的应用的资源。Cgroup模块432用于提供一套完善的中央处理器(CentralProcessing Unit,CPU)、CPUSET、内存(memory)、输入/输出(input/output,I/O)和Net相关的资源限制机制。Binder管控模块433用于实现后台binder通信的优先级的控制。其中,本地框架层420的接口模块包含开发给上层的binder接口,上层的框架或者应用通过提供的binder接口来发送资源限制或者冻结的指令给资源优先级和限制管理模块422和平台冻结管理模块424。进程内存回收模块434用于实现进程深度冻结模式,这样能当某个第三方应用长期处于冻结状态的时候,会主要释放掉进程的文件区,从而达到节省内存的模块,也加快该应用在下次启动时的速度。冻结超时退出模块435用于解决出现冻结超时场景产生的异常。通过上述的架构,可实现本申请各个实施例中的冻结方法。
当然,对第三方应用、内置应用和系统服务还可以采用查杀的限制策略来进行限制。查杀指的是对第三方应用、内置应用和系统服务进行关闭,不在占用内存、CPU等资源。可以对第三方应用、内置应用和系统服务与前台任务的关联关系进行分析,按照关联关系的大小对第三方应用、内置应用和系统服务进行排序,从而可以根据排序对第三方应用、内置应用和系统服务采取不同的限制策略。例如,可以对排序靠前的第三方应用、内置应用和系统服务采取冻结的方式进行限制,对排序靠后的第三方应用、内置应用和系统服务采取查杀的方式进行限制。当然,在采取冻结方式进行限制时,还可以再次根据排序依次来采取CPU限制睡眠模式、CPU冻结睡眠模式、进程深度冻结模式。
本申请实施例中,对第三方应用、内置应用和系统服务可以采用冻结或查杀等限制策略来进行限制,以释放出更多的内存、CPU等资源。从而,既能够保证前台任务的正常运行,也实现了进一步净化后台的效果,同时也因此能够为前台任务提供更多的资源,使前台任务运行的更加流畅、更加高效。
在一个实施例中,对剔除的电子设备的部分内置应用和系统服务采用对应的限制策略进行限制处理,包括:
从电子设备的内置应用和系统服务的第一分析结果中,获取剔除的电子设备的部分内置应用和系统服务的第二分析结果;
根据第二分析结果对剔除的电子设备的部分内置应用和系统服务的运行逻辑进行修改,以使修改后的内置应用和系统服务在前台任务运行时延迟占用资源或占用前台任务运行所需资源之外的资源。
具体的,在开发阶段,对前述实施例中对电子设备的内置应用和系统服务进行业务功能及运行逻辑分析,得到了第一分析结果。从第一分析结果中获取所剔除的部分内置应用和系统服务的第二分析结果。因为第二分析结果中包括业务功能及运行逻辑的分析结果,所以就可以根据第二分析结果对剔除的电子设备的部分内置应用和系统服务的运行逻辑进行修改,以使修改后的内置应用和系统服务在前台任务运行时延迟占用资源或占用前台任务运行所需资源之外的资源。例如,运行逻辑指的是内置应用和系统服务在实现具体功能的时候是如何操作的,如在何时、采用何种方式、调用什么资源等,则可以在前台任务与该内置应用和系统服务所需占用的资源发生冲突的时候,调整该内置应用和系统服务去占用可替代的资源。如无可替代资源时,则修改内置应用和系统服务延迟占用资源。当然,对内置应用和系统服务的运行逻辑进行修改的方式不限于此。
例如,对于系统服务AccountManagerService,用于实现Android账户服务,提供了对账户、password、授权的集中管理等功能。则在开发阶段,对前台任务为游戏类任务的情况,则就可以修改AccountManagerService的运行逻辑为前台的游戏类任务完成了账号登录认证等操作后就进行冻结,当再次需要登录认证的时候再运行,即在前台的游戏类任务不需要登录认证的时间段内则进行冻结操作,这样就不需要AccountManagerService一直在后台运行,占用资源却很少被调用。传统方法中,并不能够修改内置应用和系统服务的运行逻辑,以实现更进一步地净化后台,所以有很多内置应用和系统服务都是一直在后台运行,占用资源。
本申请实施例中,在开发阶段,获取剔除的电子设备的部分内置应用和系统服务的第二分析结果,根据第二分析结果对剔除的电子设备的部分内置应用和系统服务的运行逻辑进行修改,以使修改后的内置应用和系统服务在预设前台任务运行时延迟占用资源或占用前台任务运行所需资源之外的资源。因为在开发阶段就对所剔除的电子设备的部分内置应用和系统服务的运行逻辑进行了修改,所以在预设前台任务运行时就可以释放出更多的资源,使前台任务运行的更加流畅、更加高效。
在一个实施例中,还提供了一种任务管理方法,该方法还包括:
对查杀或冻结后反复启动超过预设次数的剔除的电子设备的部分内置应用和系统服务,重新制定限制策略以对剔除的电子设备的部分内置应用和系统服务进行限制。
具体的,当检测出前台任务属于预设前台任务时,获取当前运行的后台任务名单。将当前运行的后台任务名单与预设前台任务对应的后台任务白名单进行比较,后台任务白名单中剔除了电子设备的部分内置应用和系统服务。对剔除的电子设备的部分内置应用和系统服务采用对应的限制策略进行限制处理,例如查杀或冻结。对于进行查杀或冻结后,某些内置应用和系统服务还会再次启动,且反复启动的异常情况,当判断所查杀或冻结的内置应用和系统服务反复启动超过预设次数时,则对该内置应用和系统服务在开发阶段重新制定限制策略以对剔除的电子设备的部分内置应用和系统服务进行限制,例如可以对该内置应用和系统服务的运行逻辑进行进一步的优化,当然,本申请对此不作限定。
例如,对于前台任务为游戏类任务时,如图5所示,提供了一种任务管理方法,该方法包括以下步骤:
步骤502,游戏启动运行;
步骤504,监控后台运行的进程;
步骤506,根据游戏运行时的系统运行进程白名单,判断后台运行进程是否属于系统运行进程白名单;
步骤508,对判断出不属于系统运行进程白名单的后台运行进程进行冻结或查杀;
步骤510,在冻结或查杀后,记录该后台运行进程反复启动次数,若反复启动次数超出次数上限则禁止启动,并上传到监控服务器;
步骤512,监控服务器收到信息后,通知对应的模块负责人对该后台运行进程的运行逻辑进行优化,以使得在游戏运行时,该后台运行进程被冻结或查杀后不会反复启动占用资源。
本申请实施例中,在对不属于预设前台任务对应的后台任务白名单中的部分内置应用和系统服务进行限制处理之后,例如进行查杀或冻结后,某些内置应用和系统服务还还会再次启动,且反复启动。当判断所查杀或冻结的内置应用和系统服务反复启动超过预设次数时,则对该内置应用和系统服务在开发阶段重新制定限制策略以对剔除的电子设备的部分内置应用和系统服务进行限制。保证了内置应用和系统服务在查杀后反复启动超过预设次数这种异常情况下,如何进一步对内置应用和系统服务进行限制,释放资源。
在一个实施例中,如图6所示,还提供了一种任务管理方法,该方法还包括:
步骤620,在前台任务运行时,对预设前台任务对应的后台任务白名单中的后台任务的运行过程进行监控,对预设前台任务的运行需求进行分析。
具体的,当检测出前台任务属于预设前台任务时,获取当前运行的后台任务名单。将当前运行的后台任务名单与预设前台任务对应的后台任务白名单进行比较,后台任务白名单中剔除了电子设备的部分内置应用和系统服务。对不属于预设前台任务对应的后台任务白名单中的后台任务进行限制处理。
在对不属于预设前台任务对应的后台任务白名单中的后台任务进行限制处理之后,还需要在前台任务运行时,对预设前台任务对应的后台任务白名单中的后台任务的运行过程实时进行监控,对预设前台任务的运行需求实时进行监测。
步骤640,当发现预设前台任务对应的后台任务白名单中的后台任务的运行过程所占用的资源超过预设阈值,则对后台任务进行限制处理。
当发现预设前台任务对应的后台任务白名单中的后台任务的运行出现异常,例如运行过程所占用的资源超过预设阈值,则对后台任务进行限制处理,此处的限制处理可以是限制占用资源的大小。
步骤660,当发现预设前台任务的运行需求发生变化时,则对预设前台任务对应的后台任务白名单中的后台任务进行变更或对预设前台任务对应的后台任务白名单中的后台任务采用变更后的限制策略进行限制处理。
对预设前台任务的运行需求实时进行监测,当发现预设前台任务的运行需求发生变化时,则对预设前台任务对应的后台任务白名单中的后台任务进行变更或对预设前台任务对应的后台任务白名单中的后台任务采用变更后的限制策略进行限制处理。例如,当预设前台任务的运行需求发生变化,在运行时已经不在需要某个或某些存在于后台任务白名单中的后台任务的支持,则将该后台任务从后台任务白名单中剔除,则释放出更多的资源。若预设前台任务与存在于后台任务白名单中的后台任务的关联关系减小,则就可以将限制策略进行变更。例如,某个后台任务本来的限制策略为采取CPU限制睡眠模式,则将限制策略变更为CPU冻结睡眠模式。其中,CPU限制睡眠模式是指对相关进程所占用的CPU资源进行限制,使相关进程占用较少的CPU资源,将空余的CPU资源向其它未被冻结的进程倾斜,限制了对CPU资源的占用,也相应限制了进程对网络资源以及I/O接口资源的占用。CPU冻结睡眠模式是指禁止相关进程使用CPU,而保留对内存的占用,当禁止使用CPU资源时,相应的网络资源以及I/O接口资源也被禁止使用。显然,释放了更多的CPU资源、相应的网络资源以及I/O接口资源。
本申请实施例中,在前台任务运行时,对预设前台任务对应的后台任务白名单中的后台任务的运行过程和预设前台任务的运行需求同时进行监控,当任何一个发生变化时,则就相应地需要对预设前台任务对应的后台任务白名单中的后台任务进行变更或对预设前台任务对应的后台任务白名单中的后台任务采用变更后的限制策略进行限制处理。如此,可以及时地进行后台任务白名单的变更、限制策略的变更,以及时释放出更多的资源。
在一个实施例中,不属于预设前台任务对应的后台任务白名单中还包括任务的进程及任务的进程中的线程。
本申请实施例中,剔除在后台任务白名单中的不仅包括完整的第三方应用、内置应用和系统服务,还包括第三方应用、内置应用和系统服务的某些进程、某些进程中的某些线程。相较于传统的粗略的产生后台任务白名单的方式,只会将整个第三方应用、内置应用和系统服务剔除在外或将第三方应用、内置应用和系统服务都包含在内。本申请实施例中可以只对第三方应用、内置应用和系统服务的某些线程或某些线程中的某些进程剔除在外,一方面满足前台任务的使用需求,同时还可以释放出资源。
在一个具体的实施例中,提供了一种任务管理方法,应用与开发阶段,该方法包括以下步骤:
步骤一,对预设前台任务的运行需求进行分析,得到需求分析结果;
步骤二,对第三方应用与预设前台任务的关联关系、或在后台运行的第三方应用的优先级进行分析,得到第三方应用分析结果;
步骤三,对电子设备的内置应用和系统服务进行业务功能及运行逻辑分析,得到电子设备的内置应用和系统服务的第一分析结果;
步骤四,将第三方应用分析结果与需求分析结果结合,判断在后台运行的第三方应用是否可以加入该预设前台任务对应的后台任务白名单;
步骤五,将内置应用和系统服务的第一分析结果与需求分析结果结合,判断哪些内置应用和系统服务可以加入该预设前台任务对应的后台任务白名单;
步骤六,得到预设前台任务对应的后台任务白名单;
步骤七,从电子设备的内置应用和系统服务的第一分析结果中,获取剔除的电子设备的部分内置应用和系统服务的第二分析结果;
步骤八,根据第二分析结果对剔除的电子设备的部分内置应用和系统服务的运行逻辑进行修改,以使修改后的内置应用和系统服务在前台任务运行时延迟占用资源或占用前台任务运行所需资源之外的资源。
步骤九,当检测出当前运行的前台任务属于预设前台任务时,获取当前运行的后台任务名单;
步骤十,将当前运行的后台任务名单与预设前台任务对应的后台任务白名单进行比较;
步骤十一,对不属于预设前台任务对应的后台任务白名单中的后台任务的内置应用和系统服务采用修改后的运行逻辑实现限制处理;
步骤十二,对不属于预设前台任务对应的后台任务白名单中的第三方应用,采用冻结、查杀的方式来进行限制。
本申请实施例中,在开发阶段对预设前台任务的运行需求进行分析,对第三方应用与预设前台任务的关联关系、或在后台运行的第三方应用的优先级进行分析,以及对电子设备的内置应用和系统服务进行业务功能及运行逻辑分析,从而综合得到预设前台任务对应的后台任务白名单。当检测出当前运行的前台任务属于预设前台任务时,获取当前运行的后台任务名单。将当前运行的后台任务名单与预设前台任务对应的后台任务白名单进行比较。对不属于预设前台任务对应的后台任务白名单中的后台任务的内置应用和系统服务采用修改后的运行逻辑实现限制处理。对不属于预设前台任务对应的后台任务白名单中的第三方应用,采用冻结、查杀的方式来进行限制。从而保证了后台任务的进一步纯净,可以为前台任务提供更多的资源。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种任务管理装置700,包括:后台任务名单获取模块720、比较模块740及后台任务限制模块760。其中,
后台任务名单获取模块720,用于当检测出前台任务属于预设前台任务时,获取当前运行的后台任务名单;
比较模块740,用于将当前运行的后台任务名单与预设前台任务对应的后台任务白名单进行比较,后台任务白名单中剔除了电子设备的部分内置应用和系统服务;
后台任务限制模块760,用于对不属于预设前台任务对应的后台任务白名单中的后台任务进行限制处理。
在一个实施例中,预设前台任务对应的后台任务白名单的生成过程包括:
对电子设备的内置应用和系统服务进行业务功能及运行逻辑分析,得到电子设备的内置应用和系统服务的第一分析结果;
对预设前台任务的运行需求进行分析;
根据预设前台任务的运行需求、第一分析结果,将运行预设前台任务时所需要运行的内置应用和系统服务加入至预设前台任务对应的后台任务白名单。
在一个实施例中,后台任务限制模块760,还用于对剔除的电子设备的部分内置应用和系统服务采用对应的限制策略进行限制处理,限制策略包括冻结、查杀。
在一个实施例中,后台任务限制模块760,还用于从电子设备的内置应用和系统服务的第一分析结果中,获取剔除的电子设备的部分内置应用和系统服务的第二分析结果;根据第二分析结果对剔除的电子设备的部分内置应用和系统服务的运行逻辑进行修改,以使修改后的内置应用和系统服务在前台任务运行时延迟占用资源或占用前台任务运行所需资源之外的资源。
在一个实施例中,还提供了一种任务管理装置,还用于对查杀后反复启动超过预设次数的剔除的电子设备的部分内置应用和系统服务,重新制定限制策略以对剔除的电子设备的部分内置应用和系统服务进行限制。
在一个实施例中,后台任务限制模块还用于在前台任务运行时,对预设前台任务对应的后台任务白名单中的后台任务的运行过程进行监控,对预设前台任务的运行需求进行分析;当发现预设前台任务对应的后台任务白名单中的后台任务的运行过程所占用的资源超过预设阈值,则对后台任务进行限制处理;当发现预设前台任务的运行需求发生变化时,则对预设前台任务对应的后台任务白名单中的后台任务进行变更或对预设前台任务对应的后台任务白名单中的后台任务采用变更后的限制策略进行限制处理。
在一个实施例中,不属于预设前台任务对应的后台任务白名单中还包括任务的进程及任务的进程中的线程。
本申请实施例中提供的任务管理装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
电子设备实现该任务管理方法的过程如上述实施例,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行任务管理方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行任务管理方法。
本申请实施例所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种任务管理方法,其特征在于,所述方法包括:
当检测出前台任务属于预设前台任务时,获取当前运行的后台任务名单;
将所述当前运行的后台任务名单与所述预设前台任务对应的后台任务白名单进行比较,所述后台任务白名单中剔除了电子设备的部分内置应用和系统服务;
对不属于所述预设前台任务对应的后台任务白名单中的后台任务进行限制处理。
2.根据权利要求1所述的方法,其特征在于,所述预设前台任务对应的后台任务白名单的生成过程包括:
对所述电子设备的内置应用和系统服务进行业务功能及运行逻辑分析,得到所述电子设备的内置应用和系统服务的第一分析结果;
对所述预设前台任务的运行需求进行分析;
根据所述预设前台任务的运行需求、所述第一分析结果,将运行所述预设前台任务时所需要运行的内置应用和系统服务加入至所述预设前台任务对应的后台任务白名单。
3.根据权利要求1所述的方法,其特征在于,所述对不属于所述预设前台任务对应的后台任务白名单中的后台任务进行限制处理,包括:
对所述剔除的电子设备的部分内置应用和系统服务采用对应的限制策略进行限制处理,所述限制策略包括冻结、查杀。
4.根据权利要求3所述的方法,其特征在于,所述对所述剔除的电子设备的部分内置应用和系统服务采用对应的限制策略进行限制处理,包括:
从所述电子设备的内置应用和系统服务的第一分析结果中,获取所述剔除的电子设备的部分内置应用和系统服务的第二分析结果;
根据所述第二分析结果对所述剔除的电子设备的部分内置应用和系统服务的运行逻辑进行修改,以使所述修改后的内置应用和系统服务在所述前台任务运行时延迟占用资源或占用所述前台任务运行所需资源之外的资源。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对查杀或冻结后反复启动超过预设次数的所述剔除的电子设备的部分内置应用和系统服务,重新制定限制策略以对所述剔除的电子设备的部分内置应用和系统服务进行限制。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述前台任务运行时,对所述预设前台任务对应的后台任务白名单中的后台任务的运行过程进行监控,对所述预设前台任务的运行需求进行分析;
当发现所述预设前台任务对应的后台任务白名单中的后台任务的运行过程所占用的资源超过预设阈值,则对所述后台任务进行限制处理;
当发现所述预设前台任务的运行需求发生变化时,则对所述预设前台任务对应的后台任务白名单中的后台任务进行变更或对所述预设前台任务对应的后台任务白名单中的后台任务采用变更后的限制策略进行限制处理。
7.根据权利要求1所述的方法,其特征在于,不属于所述预设前台任务对应的后台任务白名单中还包括任务的进程及所述任务的进程中的线程。
8.一种任务管理装置,其特征在于,所述装置包括:
后台任务名单获取模块,用于当检测出前台任务属于预设前台任务时,获取当前运行的后台任务名单;
比较模块,用于将所述当前运行的后台任务名单与所述预设前台任务对应的后台任务白名单进行比较,所述后台任务白名单中剔除了电子设备的部分内置应用和系统服务;
后台任务限制模块,用于对不属于所述预设前台任务对应的后台任务白名单中的后台任务进行限制处理。
9.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的任务管理方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910992580.XA CN110795240A (zh) | 2019-10-18 | 2019-10-18 | 任务管理方法和装置、电子设备、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910992580.XA CN110795240A (zh) | 2019-10-18 | 2019-10-18 | 任务管理方法和装置、电子设备、计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110795240A true CN110795240A (zh) | 2020-02-14 |
Family
ID=69439616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910992580.XA Pending CN110795240A (zh) | 2019-10-18 | 2019-10-18 | 任务管理方法和装置、电子设备、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795240A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256354A (zh) * | 2020-11-25 | 2021-01-22 | Oppo(重庆)智能科技有限公司 | 应用启动方法、装置、存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949429B1 (en) * | 2011-12-23 | 2015-02-03 | Amazon Technologies, Inc. | Client-managed hierarchical resource allocation |
CN104699218A (zh) * | 2013-12-10 | 2015-06-10 | 华为终端有限公司 | 一种任务管理方法及设备 |
CN107450709A (zh) * | 2017-07-31 | 2017-12-08 | 广东欧珀移动通信有限公司 | 应用处理方法、装置、存储介质及电子设备 |
CN107506240A (zh) * | 2017-07-31 | 2017-12-22 | 广东欧珀移动通信有限公司 | 后台应用程序管控方法、装置、存储介质及电子设备 |
CN107544842A (zh) * | 2017-08-25 | 2018-01-05 | 广东欧珀移动通信有限公司 | 应用程序处理方法和装置、计算机设备、存储介质 |
CN109992364A (zh) * | 2017-12-29 | 2019-07-09 | 广东欧珀移动通信有限公司 | 应用冻结方法、装置、计算机设备和计算机可读存储介质 |
-
2019
- 2019-10-18 CN CN201910992580.XA patent/CN110795240A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949429B1 (en) * | 2011-12-23 | 2015-02-03 | Amazon Technologies, Inc. | Client-managed hierarchical resource allocation |
CN104699218A (zh) * | 2013-12-10 | 2015-06-10 | 华为终端有限公司 | 一种任务管理方法及设备 |
CN107450709A (zh) * | 2017-07-31 | 2017-12-08 | 广东欧珀移动通信有限公司 | 应用处理方法、装置、存储介质及电子设备 |
CN107506240A (zh) * | 2017-07-31 | 2017-12-22 | 广东欧珀移动通信有限公司 | 后台应用程序管控方法、装置、存储介质及电子设备 |
CN107544842A (zh) * | 2017-08-25 | 2018-01-05 | 广东欧珀移动通信有限公司 | 应用程序处理方法和装置、计算机设备、存储介质 |
CN109992364A (zh) * | 2017-12-29 | 2019-07-09 | 广东欧珀移动通信有限公司 | 应用冻结方法、装置、计算机设备和计算机可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256354A (zh) * | 2020-11-25 | 2021-01-22 | Oppo(重庆)智能科技有限公司 | 应用启动方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8424007B1 (en) | Prioritizing tasks from virtual machines | |
WO2019114833A1 (en) | Method, device, terminal and storage medium for processing application | |
US20190116200A1 (en) | Method and system for placing a workload on one of a plurality of hosts | |
TWI234369B (en) | System and method for the allocation of grid computing workload to network workstations | |
US20180052711A1 (en) | Method and system for scheduling video analysis tasks | |
CN111049695A (zh) | 云网关配置方法和系统 | |
CN108549574B (zh) | 线程调度管理方法、装置、计算机设备和存储介质 | |
CN111104208B (zh) | 进程调度管理方法、装置、计算机设备及存储介质 | |
US10048986B2 (en) | Method and device for allocating browser processes according to a selected browser process mode | |
CN110175457B (zh) | 一种双体系结构可信操作系统及方法 | |
US11809424B2 (en) | Auto-scaling a query engine for enterprise-level big data workloads | |
US10313219B1 (en) | Predictive intelligent processor balancing in streaming mobile communication device data processing | |
CN110427258B (zh) | 基于云平台的资源调度控制方法及装置 | |
CN111222821B (zh) | 一种货品补充方法、装置、计算机设备和存储介质 | |
US20200028752A1 (en) | Scaling of remote network directory management resources | |
WO2017124947A1 (zh) | 一种cpu核心的管理方法、装置及终端 | |
CN111338779A (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN115220912A (zh) | 系统资源的配置方法、装置、电子设备以及存储介质 | |
CN110795240A (zh) | 任务管理方法和装置、电子设备、计算机可读存储介质 | |
FR3054902A1 (fr) | Procede et dispositif de distribution de partitions sur un processeur multi-coeurs | |
US20230073235A1 (en) | Method and apparatus for performing horizontal federated learning | |
US20200241911A1 (en) | Automatically freeing up virtual machine resources based on virtual machine tagging | |
CN116450290A (zh) | 计算机资源的管理方法、装置、云服务器及存储介质 | |
CN115617494A (zh) | 多cpu环境下的进程调度方法、装置、电子设备和介质 | |
CN113742059B (zh) | 任务分配方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200214 |