资源管理方法、装置、移动终端及计算机可读存储介质与流程

文档序号:18213486发布日期:2019-07-19 22:28阅读:117来源:国知局
资源管理方法、装置、移动终端及计算机可读存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种资源管理方法、装置、移动终端及计算机可读存储介质。



背景技术:

随着互联网的飞速发展,智能移动终端已经成为许多用户最常用的电子设备,例如智能手机、平板电板等。用户可在智能移动终端上安装各式的应用程序进行使用,当应用程序在后台进行运行时,会与前台运行的应用程序抢占cpu(centralprocessingunit,中央处理器)、内存、带宽等系统资源,导致出现前台运行的应用卡顿、系统运行缓慢及移动终端发热等问题。



技术实现要素:

本申请实施例提供一种资源管理方法、装置、移动终端及计算机可读存储介质,可以对后台应用动态实现不同等级的资源限制,优化系统性能,节省功耗。

一种资源管理方法,包括:

采集至少一个资源种类的资源使用数据;

根据所述资源使用数据获取对应资源种类的占用信息;

根据所述占用信息确定后台应用在所述对应资源种类的资源限制等级;

将所述后台应用分配到所述对应资源种类下与所述资源限制等级对应的资源组别中,并配置与所述资源限制等级对应的资源使用优先级。

一种资源管理装置,包括:

数据采集模块,用于采集至少一个资源种类的资源使用数据;

占用信息获取模块,用于根据所述资源使用数据获取对应资源种类的占用信息;

等级确定模块,用于根据所述占用信息确定后台应用在所述对应资源种类的资源限制等级;

配置模块,用于将所述后台应用分配到所述对应资源种类下与所述资源限制等级对应的资源组别中,并配置与所述资源限制等级对应的资源使用优先级。

一种移动终端,包括存储器及处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器实现如上所述的方法。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。

上述资源管理方法、装置、移动终端及计算机可读存储介质,采集至少一个资源种类的资源使用数据,根据资源使用数据获取对应资源种类的占用信息,根据占用信息确定后台应用在该对应资源种类的资源限制等级,将后台应用分配到该对应资源种类下与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级,根据资源种类的占用信息动态调整后台应用在该资源种类下的资源限制等级,可以对后台应用动态实现不同等级的资源限制,优化系统性能,节省功耗。

附图说明

图1为一个实施例中移动终端的框图;

图2为一个实施例中资源管理方法的系统架构图;

图3为一个实施例中资源管理方法的流程示意图;

图4为一个实施例中网络资源的资源组别的示意图;

图5为一个实施例中采集至少一个资源种类的资源使用数据的流程示意图;

图6为一个实施例中将后台应用分配到资源种类下与资源限制等级对应的资源组别中的流程示意图;

图7为一个实施例中将后台应用中运行的后台进程分配到资源种类下与资源限制等级对应的资源组别中的流程示意图;

图8为一个实施例中资源管理装置的框图;

图9为一个实施例中配置模块的框图;

图10为另一个实施例中移动终端的框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。

图1为一个实施例中移动终端的框图。如图1所示,该移动终端包括通过系统总线连接的处理器、存储器、显示屏和输入装置。其中,存储器可包括非易失性存储介质及处理器。移动终端的非易失性存储介质存储有操作系统及计算机程序,该计算机程序被处理器执行时以实现本申请实施例中提供的一种资源管理方法。该处理器用于提供计算和控制能力,支撑整个移动终端的运行。移动终端中的内存储器为非易失性存储介质中的计算机程序的运行提供环境。移动终端的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是移动终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该移动终端可以是手机、平板电脑或者个人数字助理或穿戴式设备等。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的移动终端的限定,具体的移动终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图2为一个实施例中资源管理方法的系统架构图。如图2所示,该系统架构中包括java空间层210、本地框架层220以及内核(kernel)空间层230。java空间层210上可包含冻结管理模块212,移动终端可通过该冻结管理模块212来实现对运行的各个应用的冻结策略,对后台耗电较多或是抢占大量系统资源的相关应用进行冻结操作。本地框架层220中包含资源优先级和限制管理器222和平台冻结管理器224。移动终端可通过资源优先级和限制管理器222实时维护不同的应用处于不同的资源使用优先级和不同的资源组别中,并根据上层的需求来调整应用程序的资源组别从而达到优化性能,节省功耗的作用。移动终端可通过平台冻结管理器224将后台可以冻结的应用按照进入冻结时间的长短,分配到对应预设的不同层次的冻结层。可选地,该冻结层可包括三个,分别是:cpu限制睡眠模式、cpu冻结睡眠模式、进程深度冻结模式。其中,cpu限制睡眠模式是指对相关进程所占用的cpu资源进行限制,使相关进程占用较少的cpu资源,将空余的cpu资源向其它未被冻结的进程倾斜,限制了对cpu资源的占用,也相应限制了进程对网络资源以及i/o接口资源的占用;cpu冻结睡眠模式是指禁止相关进程使用cpu,而保留对内存的占用,当禁止使用cpu资源时,相应的网络资源以及i/o接口资源也被禁止使用;进程深度冻结模式是指除禁止使用cpu资源之外,进一步对相关进程所占用的内存资源进行回收,回收的内存可供其它进程使用。可选地,本地框架层220还可包括接口模块,该接口模块包含开发给上层的binder接口,上层的框架或者应用通过提供的binder接口来发送资源限制或者冻结的指令给资源优先级和限制管理器222和平台冻结管理器224。

内核空间层230中可包括uid管理模块231、cgroup模块233、binder管控模块235、进程内存回收模块237以及冻结超时退出模块239。其中,uid管理模块231用于实现基于应用的用户身份标识(useridentifier,uid)来管理第三方应用的资源或进行冻结。相比较于基于进程身份标识(processidentifier,pid)来进行进程管控,通过uid更便于统一管理一个用户的应用的资源。cgroup模块233用于提供一套完善的cpu、cpuset、内存(memory)、输入/输出(input/output,i/o)和net相关的资源限制机制。binder管控模块235用于实现后台binder通信的优先级的控制。进程内存回收模块237用于实现进程深度冻结模式,这样能当某个第三方应用长期处于冻结状态的时候,会主要释放掉进程的文件区,从而达到节省内存的模块,也加快该应用在下次启动时的速度。冻结超时退出模块239可用于解决出现冻结超时场景产生的异常。通过上述的系统架构,可实现本申请各个实施例中的资源管理方法。

如图3所示,在一个实施例中,提供一种资源管理方法,包括以下步骤:

步骤310,采集至少一个资源种类的资源使用数据。

移动终端上可包括有一种或多种资源,资源可指的是用于向移动终端的操作系统及应用程序等提供运行能力的任何实体或虚拟的组成元件。可选地,移动终端上的资源可包括但不限于cpu、i/o、内存及网络资源等。移动终端可采集至少一个资源种类的资源使用数据。资源使用数据可包括资源种类在一定时间段内总共的被占用的比例、占用该资源种类的应用标识或进程标识,以及与应用标识或进程标识对应的占用比例等,其中,应用标识可以由数字、字母及符号等中的一种或多种进行组成,用于唯一标识应用,进程标识可以由数字、字母及符号等中的一种或多种进行组成,用于唯一标识进程。例如,移动终端可采集cpu的资源使用数据,cpu的资源使用数据可包括cpu在10秒内的总占用率、10秒内占用cpu的应用标识或进程标识,以及与每个应用标识或进程标识对应的cpu占用率等,但不限于此。

在一个实施例中,移动终端可将各个资源种类的活动数据记录在预设文件中,可选的,不同资源种类的活动数据可记录在不同的预设文件中。资源种类的活动数据可指的是对应资源种类被占用向移动终端的操作系统或应用程序等提供运行能力时产生的数据。例如,cpu资源对应的预设文件中可记录有cpu从移动终端启动至当前时刻的累计工作时间,以及各个不同的进程或应用等从移动终端启动至当前时刻使用cpu的累计时间等;内存资源对应的预设文件中可记录有在不同时刻内存被占用的大小,以及各个不同的进程或应用等占用的内存大小等,但不限于此。

可选地,移动终端可从预设文件中读取至少一个资源种类的活动数据,并根据该活动数据采集与活动数据对应的资源种类的资源使用数据。例如,移动终端可按照预设的采集周期从/proc目录下的/proc/stat文件中读取cpu从移动终端启动至当前时刻的累计工作时间。移动终端可记录每一次读取的cpu的累计工作时间,并计算本次记录的cpu的累计工作时间与上一次记录的cpu的累计工作时间之间的差值,得到采集周期内cpu的真正工作时间。移动终端可确定采集周期内cpu的真正工作时间与采集周期的比值,该比值即为cpu的总占用率等。移动终端也可每隔一定时间段从与内存对应的预设文件中读取内存当前被占用的大小,以及当前运行的各个进程占用的内存大小等。可以理解地,也可采用其他方式采集资源种类的资源使用数据,并不仅限于上述方式。

步骤320,根据资源使用数据获取对应资源种类的占用信息。

移动终端可根据资源种类的资源使用数据获取与资源使用数据对应的资源种类的占用信息,其中,占用信息可包含该对应的资源种类总共被占用的比例,及当前运行的各个应用占用的比例等。可选地,一个应用下可运行有一个或多个进程。移动终端可先通过活动管理器获取当前运行的各个应用,以及各个应用下运行的各个进程,可对应用下运行的各个进程在与资源使用数据对应的资源种类的占用比例进行累计,得到应用占用该对应的资源种类的比例。

步骤330,根据占用信息确定后台应用在对应资源种类的资源限制等级。

可选地,移动终端可根据实际需求设定不同的资源限制等级,资源限制等级可用于表示应用使用资源被限制的程度,资源限制等级越高,受限制的程度可越大。受限制的资源可包括但不限于cpu资源、内存资源、i/o资源、网络资源等。移动终端采集至少一种资源种类的资源使用数据,并根据资源使用数据获取与资源使用数据对应的资源种类的占用信息后,可根据该占用信息确定后台应用在与资源使用数据对应的资源种类的资源限制等级,其中,移动终端中可同时运行有一个或多个应用,后台应用指的是在后台运行的应用。

比如,当与资源使用数据对应的资源种类总共被占用的比例较大时,后台应用可对应较高的资源限制等级,限制后台应用对该对应的资源种类的使用;当与资源使用数据对应的资源种类总共被占用的比例较小时,后台应用可对应较低的资源限制等级,可使用较多该对应的资源种类。当后台应用在与资源使用数据对应的资源种类下占用的比例较大时,可对应较高的资源限制等级,限制后台应用对该对应的资源种类的使用等,但不限于此。

在一个实施例中,移动终端设定的资源限制等级可包括无限制级别、普通限制级别、深度限制级别及冻结级别等。无限制级别可指的是应用使用的资源不受限制。普通限制级别可指的是应用可使用较少的资源,比如最多仅可使用50%的资源等,但不限于此。深度限制级别可指的是应用可使用极少的资源,比如最多仅可使用20%的资源等,但不限于此。冻结级别指的是应用无法使用任何的资源,停止应用的一切行为。可选地,不同种类的资源均可包含上述设定的几种资源限制等级,移动终端可分别根据不同资源种类的资源使用数据设定后台应用的资源限制等级。资源限制等级也可按照其他方式进行划分,并不仅限于此,不同资源种类也可划分不同的资源限制等级。

在一个实施例中,移动终端可根据资源使用数据获取与资源使用数据以应的资源种类的占用信息,并根据占用信息获取该对应资源种类在当前被占用的比例。移动终端可将该对应资源种类在当前被占用的比例与预设第一阈值进行比较,若该对应资源种类在当前被占用的比例大于预设第一阈值,则可根据该被占用的比例确定后台应用在该对应资源种类的资源限制等级,对后台应用在该对应资源种类的使用进行限制。若该对应资源种类在当前被占用的比例不大于预设第一阈值,移动终端可不对后台应用在该对应资源种类的使用进行限制。可选地,第一阈值可根据实际需求进行设定,不同资源种类可对应不同的第一阈值,例如,cpu对应的第一阈值为40%,内存对应的第一阈值为50%等,但不限于此。

步骤340,将后台应用分配到对应资源种类下与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级。

移动终端确定后台应用在与资源使用数据对应的资源种类的资源限制等级后,可将后台应用添加到该对应资源种类下与资源限制等级对应的资源组别中,并配置与确定的资源限制等级对应的资源使用优先级。资源限制等级越高,限制资源使用的程度越强,可对应较低的资源使用优先级。资源限制等级越低,限制资源使用的程度越弱,可对应较高的资源使用优先级。

可选地,移动终端可基于内核cgroup(controlgroup)机制划分不同的资源组别,并可采用文件节点写配置的方式设置各个资源组别的资源使用优先级,对被分配到各个资源组别中的应用使用资源的时间或比例等进行管理,其中,cgroup是内核中提供的一种可以限制、记录、隔离进程所使用的物理资源(比如:cpu、内存、i/o、网络等资源)的机制。针对不同种类的资源,移动终端可划分不同的资源组别。移动终端可加载cgroup的配置文件,配置文件中可记录有划分的资源组别、各个资源组别的资源使用优先级及与资源使用优先级对应的资源调度策略。资源调度策略可包括但不限于被分配到资源组别中的进程使用资源的时间、占用资源比例、使用的资源标识等。例如,可配置网络资源下的普通限制级别对应的资源组别的应用最大可占用20%的网络资源,可配置cpu资源下的普通限制级别对应的资源组别的应用在1分钟内可使用30秒的cpu资源等,但不限于此。当需要添加新的资源组别,或是修改资源组别的资源使用优先级及资源调度策略,可通过修改cgroup的配置文件。

移动终端将后台应用添加到与资源使用数据对应的资源种类下与确定的资源限制等级对应的资源组别中,并配置与确定的资源限制等级对应的资源使用优先级,后台应用可按照该资源组别对应的资源调度策略使用该对应资源种类。可选地,移动终端可同时获取多个资源种类的资源使用数据,并根据资源使用数据逐一获取各个资源种类的占用信息。移动终端可根据各个资源种类的占用信息确定后台应用在不同资源种类下的资源限制等级,并将后台应用分配到各个资源种类下与确定的资源限制等级对应的资源组别中。例如,移动终端根据cpu资源的占用信息确定后台应用在cpu资源的资源限制等级为深度限制级别,根据网络资源的占用信息确定后台应用在网络资源的资源限制等级为普通限制级别,则可将后台应用分别分配到cpu资源下与深度限制级别对应的资源组别,以及网络资源下与普通限制级别对应的资源组别中。

图4为一个实施例中网络资源的资源组别的示意图。如图4所示,移动终端中可对网络资源设定有四个不同的资源限制等级,并划分有四个资源组别,其中,第一资源组别对应无限制级别,第二资源组别对应普通限制级别,第三资源组别对应深度限制级别,第四资源组别对应冻结级别。四个资源组别可分别对应不同的资源使用优先级,第一资源组别的资源使用优先级可高于第二资源组别,第二资源组别的资源使用优先级可高于第三资源组别,第三资源组别的资源使用优先级可高于第四资源组别。无限制级别的第一资源组别不限制进程使用的网络资源。普通限制级别的第二资源组别限制进程可使用较少的网络资源。深度限制级别的第三资源组别限制进程可使用极少的网络资源。冻结级别的第四资源组别限制进程不可使用网络资源等。移动终端可采集网络资源的资源使用数据,并根据资源使用数据获取网络资源的占用信息。移动终端可根据该占用信息确定后台应用在网络资源下的资源限制等级,并将后台应用分配到网络资源下与该资源限制等级对应的资源组别中,配置与该资源限制等级对应的资源使用优先级,对后台应用的网络资源使用进行管理。

在本实施例中,采集至少一个资源种类的资源使用数据,根据资源使用数据获取对应资源种类的占用信息,根据占用信息确定后台应用在该对应资源种类的资源限制等级,将后台应用分配到该对应资源种类下与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级,根据资源种类的占用信息动态调整后台应用在该资源种类下的资源限制等级,可以对后台应用动态实现不同等级的资源限制,优化系统性能,节省功耗。

如图5所示,在一个实施例中,步骤310采集至少一个资源种类的资源使用数据,包括以下步骤:

步骤502,当前台有应用在运行时,每隔预设时间段采集前台应用的资源占用数据。

移动终端可通过活动管理器对运行的各个应用程序进行监听,监听各个应用程序的运行状态变化。可选地,应用程序的运行状态可包括但不限于启动、前台运行、后台运行、退出等。移动终端可每隔一段时间通过活动管理器的runningappprocessinfo类获取正在运行的所有应用程序列表,例如,每隔2秒获取一次正在运行的所有应用程序列表,并逐一判断应用程序列表中各个正在运行的应用程序的运行状态是前台运行还是后台运行。

可选地,移动终端还可监听每个activity(活动)的生命周期,并根据每个activity的生命周期获取正在运行的各个应用程序的运行状态。移动终端可建立全局计数器,统计每个activity对onstart及onstop两个方法的调用,当应用程序调用一次onstart时,全局计数器加1,当应用程序调用一次onstop时,全局计数器减1。当应用程序的全局计数器大于0时,可说明应用程序在前台运行,当应用程序的全局计数器等于0时,可说明应用程序在后台运行。可以理解地,也可采用其他方式监听应用程序的运行状态,并不仅限于上述几种方式。

若移动终端检测到有应用程序的运行状态为前台运行,可表示前台有应用在运行。移动终端可每隔预设时间段采集在前台运行的前台应用的资源占用数据,资源占用数据可包括该前台应用在与预设时间段对应的时间间隔中占用的资源种类及占用比例等。

步骤504,根据资源占用数据获取前台应用使用的资源种类,并采集前台应用使用的资源种类中至少一个资源种类的资源使用数据。

移动终端可根据前台应用的资源占用数据获取前台应用使用的资源种类,前台应用使用的资源种类可以是资源占用数据中包含的资源种类。例如,前台应用的资源占用数据包含占用cpu30%、占用内存20%,则可确定该前台应用使用的资源种类包含cpu及内存资源。前台应用使用的资源种类也可以是资源占用数据中占用比例大于预设值的资源种类等,不同资源种类可设定不同的预设值,比如,cpu资源对应的预设值为5%,内存资源对应的预设值为6%,网络资源对应的预设值为3%等,但不限于此。移动终端可将资源占用数据中占用比例大于预设值的资源种类确定为前台应用使用的资源种类。

移动终端根据资源占用数据获取前台应用使用的资源种类,可采集前台应用使用的资源种类中至少一个资源种类的资源使用数据,并根据资源使用数据获取与资源使用数据对应的资源种类的占用信息,从而确定后台应用在该对应资源种类的资源限制等级。移动终端可根据每一次采集的资源使用数据动态变更后台应用的资源限制等级,后台应用在资源种类下的资源限制等级可随着该资源种类的资源使用数据的变化而变化。

在本实施例中,可采集前台应用使用的资源种类中至少一个资源种类的资源使用数据,并确定后台应用在该至少一个资源种类下的资源限制等级,可以对后台应用使用的资源动态实现不同等级的资源限制,减少因后台应用抢占前台应用的资源造成的卡顿等情况,提高系统性能。

在一个实施例中,步骤将后台应用分配到对应资源种类下与资源限制等级对应的资源组别中,包括:获取后台应用当前在对应资源种类的资源限制等级,若当前的资源限制等级低于确定的资源限制等级,则将后台应用分配到对应资源种类下与确定的资源限制等级对应的资源组别中。

移动终端根据采集的资源使用数据获取与资源使用数据对应的资源种类的占用信息,并根据占用信息确定后台应用在该对应资源种类的资源限制等级后,可获取各个后台应用当前在该对应资源种类的资源限制等级,并将后台应用当前在该对应资源种类的资源限制等级与确定的资源限制等级进行比较。若后台应用当前在该对应资源种类的资源限制等级高于或等于确定的资源限制等级,则该后台应用当前在该对应资源种类的资源使用优先级低于或等于确定的资源限制等级对应的资源使用优先级。移动终端可不更改该后台应用在该对应资源种类的资源限制等级,使该后台应用在该对应资源种类中保持当前的资源限制等级。若后台应用当前在该对应资源种类的资源限制等级低于确定的资源限制等级,则该后台应用当前在该对应资源种类的资源使用优先级高于确定的资源限制等级对应的资源使用优先级。移动终端可将该后台应用在该对应资源种类的资源限制等级更改为确定的资源限制等级,可将该后台应用分配到该对应资源种类下与确定的资源限制等级对应的资源组别中,并配置与确定的资源限制等级匹配的资源使用优先级。

例如,移动终端根据内存资源的资源使用数据确定了后台应用在内存资源的资源限制等级为普通限制级别。若后台应用当前在内存资源的资源限制等级为深度限制级别,深度限制等级对资源使用的限制程度高于普通限制级别,可不更改当前在内存资源的资源限制等级为深度限制级别的后台应用在内存资源的资源限制等级。若后台应用当前在内存资源的资源限制等级为无限制级别,无限制级别对资源使用的限制程度低于普通限制级别,则可将当前在内存资源的资源限制等级为无限制级别的后台应用分配到内存资源中与普通限制级别对应的资源级别中。

可选地,移动终端确定后台应用在与资源使用数据对应的资源种类的资源限制等级后,可获取各个后台应用在该对应资源种类的占用比例。移动终端可判断后台应用在该对应资源种类的占用比例是否大于预设第二阈值。若后台应用在该对应资源种类的占用比例小于或等于预设第二阈值,移动终端可不对该后台应用在该对应资源种类的使用进行限制,可以不将该后台应用分配到该对应资源种类下与确定的资源限制等级对应的资源组别中。若后台应用在该对应资源种类的占用比例大于预设第二阈值,移动终端可将该后台应用分配到该对应资源种类下与确定的资源限制等级对应的资源组别中,并配置与资源组别匹配的,对该后台应用在该对应资源种类的使用进行限制。可选地,第二阈值可根据实际需求进行设定,不同资源种类可对应不同的第二阈值。

在本实施例中,可以根据后台应用当前在资源种类的资源限制等级或占用比例等,动态调整后台应用在资源种类的资源限制等级,可以更好地对不同后台应用进行资源限制管理,使限制效果更好,优化系统性能,节省功耗。

如图6所示,在一个实施例中,步骤将后台应用分配到对应资源种类下与资源限制等级对应的资源组别中,包括以下步骤:

步骤602,获取后台应用的用户组信息。

应用程序进行运行时,移动终端可为运行的应用程序分配不同的用户组,可通过用户组管理应用程序的权限等。移动终端将后台应用添加到与资源使用数据对应的资源种类下与确定的资源限制等级对应的资源组别,可获取该后台应用的应用标识,并根据应用标识获取该后台应用的用户组信息。用户组信息可包括用户组标识等,其中,用户组标识可以由数字、字母及符号等中的一种或多种进行构成。

步骤604,查询与用户组信息具备映射关系的进程标识。

移动终端可根据后台应用的用户组信息查询与用户组信息具备映射关系的进程标识,从而得到该后台应用下运行的各个进程。移动终端的内核空间层可实时对进程所属的用户组信息进行收集,当进程创建或销毁时,内核可对进程所属的用户组信息进行分配及释放等,进程在运行的过程中,也可以发生用户组信息改变的情况。内核空间层实时对各个进程所属的用户组信息进行收集,并可建立进程标识、进程名称等进程信息与用户组信息的映射关系。当移动终端需要将后台应用添加到与资源使用数据对应的资源种类下与确定的资源限制等级对应的资源组别时,可根据后台应用的用户组信息直接查询具备映射关系的进程标识,相比起遍历所有运行的进程从而找到后台应用下运行的进程,直接查找与用户组信息具备映射关系的进程标识更加方便快捷。

步骤606,将与进程标识匹配的后台进程分配到对应资源种类下与资源限制等级对应的资源组别中。

移动终端根据后台应用的用户组信息查询到具备映射关系的进程标识后,可根据进程标识获取后台应用下运行的所有进程。移动终端可将后台应用下运行的所有进程分配到与资源使用数据对应的资源种类下与确定的资源限制等级对应的资源组别中,并对后台应用下运行的所有进程配置与确定的资源限制等级对应的资源使用优先级,从而可实现配置该后台应用为与确定的资源限制等级对应的资源使用优先级的目的。

如图7所示,可选地,步骤606将与进程标识匹配的后台进程分配到对应资源种类下与资源限制等级对应的资源组别中,包括以下步骤:

步骤702,采集与进程标识匹配的后台进程的运行特征。

进程(process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。一般地,一个应用下可运行有一个或多个进程,不同的进程可用于分别执行不同的任务。移动终端获取与后台应用的用户组信息具备映射关系的进程标识后,可采集与进程标识匹配的后台进程的运行特征。运行特征可包括但不限于后台进程当前执行的任务、与其他进程的通信事件、当前占用的资源种类及比例等。

步骤704,根据运行特征确定匹配的后台进程使用的资源种类。

移动终端可对采集的运行特征进行分析,确定与进程标识匹配的后台进程使用的资源种类。可选地,移动终端可根据后台进程当前占用的资源种类及比例确定后台进程使用的资源种类,比如,后台进程当前占用cpu资源30%,则可确定该后台进程使用的资源种类为cpu资源,后台进程当前占用网络资源20%、占用cpu20%,则可确定该后台进程使用的资源种类为网络及cpu资源等,但不限于此。可选地,移动终端也可根据后台进程当前执行的任务确定后台进程使用的资源种类,比如,后台进程当前执行的任务为下载任务,则可确定该后台进程使用的资源种类为网络资源,后台进程当前执行的任务为数据加载任务,则可确定该后台进程使用的资源种类为cpu及内存资源等,但不限于此。

步骤706,将资源种类包含对应资源种类的后台进程分配到对应资源种类下与资源限制等级对应的资源组别中。

移动终端可从后台进程下运行的所有进程中选取出使用的资源种类包含与资源使用数据对应的资源种类的后台进程,并将使用的资源种类包含该对应资源种类的后台进程添加到该对应资源种类下与确定的资源限制等级对应的资源组别中,配置与确定的资源限制等级对应的资源使用优先级。可对后台应用中使用不同资源种类的进程进行相应资源种类的使用限制,可使资源管理更加准确,提高系统性能。

在本实施例中,可根据后台应用的用户组信息查找到具有映射关系的进程标识,并将与进程标识匹配的后台进程添加到与资源使用数据对应的资源种类下与确定的资源限制等级对应的资源组别中,可按照资源限制等级对后台应用下运行的各个进程进行统一的资源使用管理,优化系统性能,节省功耗。

在一个实施例中,提供一种资源管理方法,包括以下步骤:

步骤(1),采集至少一个资源种类的资源使用数据。

可选地,步骤(1),包括:当前台有应用在运行时,每隔预设时间段采集前台应用的资源占用数据;根据资源占用数据获取前台应用使用的资源种类,并采集前台应用使用的资源种类中至少一个资源种类的资源使用数据。

步骤(2),根据资源使用数据获取对应资源种类的占用信息。

步骤(3),根据占用信息确定后台应用在对应资源种类的资源限制等级。

可选地,步骤(3),包括:根据占用信息获取对应资源种类在当前被占用的比例;若对应资源种类在当前被占用的比例大于预设第一阈值,则根据被占用的比例确定后台应用在对应资源种类的资源限制等级。

步骤(4),将后台应用分配到对应资源种类下与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级。

可选地,步骤(4),包括:获取后台应用当前在对应资源种类的资源限制等级;若当前的资源限制等级低于确定的资源限制等级,则将后台应用分配到对应资源种类下与确定的资源限制等级对应的资源组别中。

可选地,步骤(4),包括:获取后台应用在对应资源种类的占用比例;若占用比例大于预设第二阈值,则将后台应用分配到对应资源种类下与确定的资源限制等级对应的资源组别中。

可选地,步骤(4),包括:获取后台应用的用户组信息;查询与用户组信息具备映射关系的进程标识;将与进程标识匹配的后台进程分配到对应资源种类下与资源限制等级对应的资源组别中。

可选地,将与进程标识匹配的后台进程分配到对应资源种类下与资源限制等级对应的资源组别中,包括:采集与进程标识匹配的后台进程的运行特征;根据运行特征确定匹配的后台进程使用的资源种类;将资源种类包含对应资源种类的后台进程分配到对应资源种类下与资源限制等级对应的资源组别中。

在本实施例中,采集至少一个资源种类的资源使用数据,根据资源使用数据获取对应资源种类的占用信息,根据占用信息确定后台应用在该对应资源种类的资源限制等级,将后台应用分配到该对应资源种类下与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级,根据资源种类的占用信息动态调整后台应用在该资源种类下的资源限制等级,可以对后台应用动态实现不同等级的资源限制,优化系统性能,节省功耗。

应该理解的是,上述的流程示意图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述的流程示意图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

如图8所示,在一个实施例中,提供一种资源管理装置800,包括数据采集模块810、占用信息获取模块820、等级确定模块830及配置模块840。

数据采集模块810,用于采集至少一个资源种类的资源使用数据。

占用信息获取模块820,用于根据资源使用数据获取对应资源种类的占用信息。

等级确定模块830,用于根据占用信息确定后台应用在对应资源种类的资源限制等级。

可选地,等级确定模块830,还用于根据占用信息获取对应资源种类在当前被占用的比例,若对应资源种类在当前被占用的比例大于预设第一阈值,则根据被占用的比例确定后台应用在对应资源种类的资源限制等级。

配置模块840,用于将后台应用分配到对应资源种类下与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级。

在本实施例中,采集至少一个资源种类的资源使用数据,根据资源使用数据获取对应资源种类的占用信息,根据占用信息确定后台应用在该对应资源种类的资源限制等级,将后台应用分配到该对应资源种类下与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级,根据资源种类的占用信息动态调整后台应用在该资源种类下的资源限制等级,可以对后台应用动态实现不同等级的资源限制,优化系统性能,节省功耗。

在一个实施例中,数据采集模块810,还用于当前台有应用在运行时,每隔预设时间段采集前台应用的资源占用数据。

数据采集模块810,还用于根据资源占用数据获取前台应用使用的资源种类,并采集前台应用使用的资源种类中至少一个资源种类的资源使用数据。

在本实施例中,可采集前台应用使用的资源种类中至少一个资源种类的资源使用数据,并确定后台应用在该至少一个资源种类下的资源限制等级,可以对后台应用使用的资源动态实现不同等级的资源限制,减少因后台应用抢占前台应用的资源造成的卡顿等情况,提高系统性能。

在一个实施例中,配置模块840,还用于获取后台应用当前在对应资源种类的资源限制等级,若当前的资源限制等级低于确定的资源限制等级,则将后台应用分配到对应资源种类下与确定的资源限制等级对应的资源组别中。

可选地,配置模块840,还用于获取后台应用在对应资源种类的占用比例,若占用比例大于预设第二阈值,则将后台应用分配到对应资源种类下与确定的资源限制等级对应的资源组别中。

在本实施例中,可以根据后台应用当前在资源种类的资源限制等级或占用比例等,动态调整后台应用在资源种类的资源限制等级,可以更好地对不同后台应用进行资源限制管理,使限制效果更好,优化系统性能,节省功耗。

如图9所示,在一个实施例中,配置模块840,包括信息获取单元842、查询单元844及添加单元846。

信息获取单元842,用于获取后台应用的用户组信息。

查询单元844,用于查询与用户组信息具备映射关系的进程标识。

添加单元846,用于将与进程标识匹配的后台进程分配到对应资源种类下与资源限制等级对应的资源组别中。

可选地,添加单元846,包括特征采集子单元、种类确定子单元及分配子单元。

特征采集子单元,用于采集与进程标识匹配的后台进程的运行特征。

种类确定子单元,用于根据运行特征确定匹配的后台进程使用的资源种类。

分配子单元,用于将资源种类包含对应资源种类的后台进程分配到对应资源种类下与资源限制等级对应的资源组别中。

在本实施例中,可根据后台应用的用户组信息查找到具有映射关系的进程标识,并将与进程标识匹配的后台进程添加到与资源使用数据对应的资源种类下与确定的资源限制等级对应的资源组别中,可按照资源限制等级对后台应用下运行的各个进程进行统一的资源使用管理,优化系统性能,节省功耗。

图10为与本申请实施例提供的移动终端相关的手机的部分结构的框图。参考图10,手机包括:射频(radiofrequency,rf)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wirelessfidelity,wifi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图10所示的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,rf电路1010可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器1080处理;也可以将上行的数据发送给基站。通常,rf电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(lownoiseamplifier,lna)、双工器等。此外,rf电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于gsm、gprs、码分多址(codedivisionmultipleaccess,cdma)、w-cdma、长期演进(longtermevolution,lte)、电子邮件、短消息服务(shortmessagingservice,sms)等。

存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据手机的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元1030可用于接收输入的数字或字符信息,以及产生与手机1000的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1032以及其他输入设备1034。触控面板1032,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1032上或在触控面板1032附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,触控面板1032可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1032。除了触控面板1032,输入单元1030还可以包括其他输入设备1034。具体地,其他输入设备1034可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。

显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1042。在一个实施例中,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板1042。在一个实施例中,触控面板1032可覆盖显示面板1042,当触控面板1032检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1042上提供相应的视觉输出。虽然在图10中,触控面板1032与显示面板1042是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1032与显示面板1042集成而实现手机的输入和输出功能。

手机1000还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1042的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1042和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,手机还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。

音频电路1060、扬声器1062和传声器1064可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1062,由扬声器1062转换为声音信号输出;另一方面,传声器1064将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经rf电路1010可以发送给另一手机,或者将音频数据输出至存储器1020以便后续处理。

wifi属于短距离无线传输技术,手机通过wifi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了wifi模块1070,但是可以理解的是,其并不属于手机1000的必须构成,可以根据需要而省略。

处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。在一个实施例中,处理器1080可包括一个或多个处理单元。在一个实施例中,处理器1080可集成应用处理器和调制解调器,其中,应用处理器主要处理操作系统、用户界面和应用程序等;调制解调器主要处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1080中。比如,该处理器1080可集成应用处理器和基带处理器,基带处理器与和其它外围芯片等可组成调制解调器。手机1000还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

在一个实施例中,手机1000还可以包括摄像头、蓝牙模块等。

在本申请实施例中,该移动终端所包括的处理器880执行存储在存储器上的计算机程序时实现上述的资源管理方法。

在一个实施例中,该移动终端可包括存储器1020及处理器1080,存储器1020中存储有计算机程序,该计算机程序被处理器1080执行时,使得处理器执行如下步骤:

采集至少一个资源种类的资源使用数据;

根据资源使用数据获取对应资源种类的占用信息;

根据占用信息确定后台应用在对应资源种类的资源限制等级;

将后台应用分配到对应资源种类下与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级。

在一个实施例中,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的资源管理方法。

在一个实施例中,提供一种包含计算机程序的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行时实现上述的资源管理方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等。

如此处所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram),它用作外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1