信息处理方法、装置、移动终端及计算机可读存储介质与流程

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

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



背景技术:

随着互联网的飞速发展,智能移动终端已经成为许多用户最常用的电子设备,例如智能手机、平板电板等。用户可在智能移动终端上安装各式的应用程序进行使用,当应用程序在后台进行运行时,会与前台运行的应用程序抢占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,当监听到前台应用启动时,获取前台应用的历史调用数据。

移动终端上可同时运行有一个或多个应用程序,可包括在前台运行的前台应用及在后台运行的后台应用。移动终端可对各个应用程序的运行状态进行监听,其中,运行状态可包括但不限于启动、前台运行、后台运行及退出等。当移动终端监听到前台应用启动时,可获取该前台应用的历史调用数据,其中,监听到前台应用启动可指的是监听到应用启动后进入前台运行。历史调用数据可包括该前台应用在一定时间段内在前台运行时调用的进程、调用时刻等,该一定时间段可根据实际需求进行设定,比如一星期内、两周内、1个月内等。

可选地,移动终端可通过活动管理器对正在运行的应用程序进行监听,获取各个正在运行的应用程序的运行状态。在一个实施例中,移动终端可每隔一段时间通过活动管理器的runningappprocessinfo类获取正在运行的应用列表,该应用列表中可记录有移动终端当前运行的各个应用的应用标识,其中,应用标识可以由数字、字母及符号等中的一种或多种组成。移动终端可将本次获取的应用列表中的应用标识与上一次获取的应用列表中的应用标识进行比对。若应用的应用标识仅存在于本次获取的应用列表中,不存在于上一次获取的应用列表,则可确定该应用为新启动的应用。移动终端可获取新启动的应用,并判断该新启动的应用是在前台运行还是后台运行,若该新启动的应用在前台运行,则可确定该应用为启动的前台运用。

步骤320,根据历史调用数据生成调用列表,调用列表记录有前台应用运行时调用的进程。

进程(process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。移动终端上通常可运行有多个进程,不同的进程可用于分别执行不同的任务。一个应用可运行有一个或多个进程,在应用运行过程中,还可调用其他非本应用的进程执行相应任务。移动终端可根据前台应用的历史调用数据生成调用列表,该调用列表中可记录有该前台应用在前台运行时可能调用的进程。可选地,移动终端可对历史调用数所中前台应用在一定时间段内在前台运行时调用的进程进行统计,并按照调用次数对各个进程进行排序。移动终端可按照调用次数从多到少提取预设数量的进程,并生成调用列表,调用列表中可记录有提取的预设数量的进程。例如,调用列表中可记录有前台应用在一定时间段内最多调用的5个进程,或是最多调用的4个进程等,但不限于此。

在一个实施例中,当移动终端监听到前台应用启动时,可记录该前台应用启动后在前台运行的时间。若该前台应用启动后在前台运行的时间达到预设时间阈值,移动终端可获取该前台应用的历史调用数据。可选地,预设时间阈值可根据需求进行设定,例如1分钟、3分钟或4分钟等。当前台应用启动并在前台运行的时间达到预设时间阈值才获取历史调用数据,提前对前台应用可能调用的进程进行解冻,可以减少出现应用启动后在前台运行时间过短导致解冻的进程不被调用的情况,可以降低系统功耗。

步骤330,确定调用列表中包含的进程的状态,并对调用列表中处于冻结状态的进程进行解冻。

移动终端可获取生成的调用列表中包含的各个进程的状态,可选地,进程的状态可包括但不限于冻结状态、解冻状态、退出状态等。冻结状态指的是进程无法使用cpu、/o及网络等资源,处于无法继续运行的状态,但是该进程依然会占据内存资源、硬盘资源等;解冻状态指的是进程可使用cpu、i/o、内存及网络等系统资源,处于可运行执行任务的状态;退出状态指的是进程终止后退出运行,并释放占据的资源,不使用cpu、i/o及网络等资源,也不占据内存等资源。

在一个实施例中,移动终端可获取调用列表中处于冻结状态的进程。可选地,移动终端可根据调用列表中包含的进程标识获取各个进程的状态标签,不同的状态可用不同的状态标签进行表示,例如,冻结状态对应的状态标签为0,解冻状态对应的状态标签为1,退出状态对应的状态标签为2等,但不限于此。移动终端可根据调用列表中各个进程的状态标签获取处于冻结状态的进程。

可选地,移动终端也可通过活动管理器获取调用列表中在后台运行的进程,调用列表中在后台运行的进程可能处于冻结状态,也可能处于解冻状态。移动终端可从调用列表中在后台运行的进程中获取处于冻结状态的进程。可选地,移动终端可分别向调用列表中正在后台运行的各个进程发送通信信号,并检测是否在预定时间段内接收到响应信号。若没有在预定时间段内接收到进程返回的响应信号,则可确定没有发送响应信号的进程的状态为冻结状态。可以理解地,也可采用其他方式获取调用列表中处于冻结状态的进程,并不仅限于上述几种方式。

移动终端获取调用列表中处于冻结状态的进程后,可将调用列表中处于冻结状态的进程进行解冻。移动终端可向调用列表中处于冻结状态的进程发送解冻信息,通过解冻信号使进程进入解冻状态,可以使用cpu、i/o、内存及网络等系统资源,可正常进行运行并执行任务。当前台应用需要调用进程运行相应任务时,无需重新对进程进行解冻,可提高响应速率。此外,仅解冻前台应用可能调用的进程,而不解调冻进程所属的整个应用,可以减少系统消耗。

在本实施例中,当监听到前台应用启动时,获取前台应用的历史调用数据,根据历史调用数据生成调用列表,并对调用列表中处于冻结状态的进程进行解冻,可以提前对前台应用可能调用的进程进行解冻,减少调用时再进行解冻的等待时间,加快系统响应速率。

如图4所示,在一个实施例中,在步骤对调用列表中处于冻结状态的进程进行解冻之后,还包括以下步骤:

步骤402,获取调用列表中包含的进程的运行特征。

移动终端对调用列表中处于冻结状态的进程进行解冻后,可获取调用列表中包含的各个进程的运行特征,运行特征可包括但不限于进程当前执行的任务、与其他进程和/或应用等的通信事件、当前占用的资源类型及比例等。

步骤404,根据运行特征确定进程的资源限制等级。

移动终端可对调用列表中包含的各个进程的运行特征进行分析,并根据运行特征确定对应进程的资源限制等级。可选地,移动终端可根据实际需求设定不同的资源限制等级,资源限制等级可用于表示使用资源被限制的程度,资源限制等级越高,受限制的程度可越大。受限制的资源可包括但不限于cpu资源、内存资源、i/o资源、网络资源等。不同的资源限制等级可对应不同的资源使用优先级,资源限制等级越高,对应的资源使用优先级可越小,资源限制等级越低,对应的资源使用优先级可越大。

在一个实施例中,移动终端设定的资源限制等级可包括无限制级别、普通限制级别、深度限制级别及冻结级别等。无限制级别可指的是进程使用的资源不受限制。普通限制级别可指的是进程可使用较少的资源,比如最多仅可使用50%的资源等,但不限于此。深度限制级别可指的是进程可使用极少的资源,比如最多仅可使用20%的资源等,但不限于此。冻结级别指的是进程无法使用任何的资源,停止进程的一切行为。比如,前台应用可对应无限制级别,前台应用使用的资源不受限制;调用列表中的进程接收到前台应用的调用信息后,可对应普通限制级别等,可使用较少的资源用于执行与调用信息对应的任务等,但不限于此。

步骤406,将进程分配到与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级。

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

移动终端将调用列表中的各个进程分配到与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级后,调用列表中的进程可按照该资源组别对应的资源调度策略使用cpu、内存、i/o及网络等资源。在一个实施例中,移动终端可每隔一定时间段获取调用列表中包含的各个进程的运行特征,并根据运行特征确定进程的资源限制等级。进程的资源限制等级可随着运行特征的变化而进行改变。比如,进程执行完与调用信息对应的任务后,可提高该进程的资源限制等级等,但不限于此。

图5为一个实施例中资源组别的示意图。如图5所示,移动终端中可设定有四个不同的资源限制等级,并划分有四个资源组别,其中,第一资源组别对应无限制级别,第二资源组别对应普通限制级别,第三资源组别对应深度限制级别,第四资源组别对应冻结级别。四个资源组别可分别对应不同的资源使用优先级,第一资源组别的资源使用优先级可高于第二资源组别,第二资源组别的资源使用优先级可高于第三资源组别,第三资源组别的资源使用优先级可高于第四资源组别。无限制级别的第一资源组别不限制进程使用的cpu、内存、i/o及网络等资源。普通限制级别的第二资源组别限制进程可使用较少的cpu、内存、i/o及网络等资源。深度限制级别的第三资源组别限制进程可使用极少的cpu、内存、i/o及网络等资源。冻结级别的第四资源组别限制进程不可使用cpu、内存、i/o及网络等资源。移动终端根据调用列表中包含的各个进程的运行特征确定资源限制等级,并将调用列表中包含的各个进程添加到相应的资源组别中,配置与资源组别对应的资源使用优先级,对调用列表中的进程使用的资源进行管理。

在本实施例中,可根据调用列表中包含的进程的运行特征确定资源限制等级,对调用列表中的进程动态实现不同等级的资源限制,在提前对前台应用可能调用的进程进行解冻,提高系统响应速率的同时,减少调用列表中的进程抢占前台应用的资源,优化系统性能,节省功耗。

如图6所示,在一个实施例中,上述信息处理方法,还包括以下步骤:

步骤602,通过内核空间采集调用列表中包含的进程的运行特征,并将运行特征打包成数据包传送给用户空间。

移动终端的虚拟空间中可包括有内核空间及用户空间,内核空间可用于存放内核的代码和数据,用户空间可用于存放应用程序的代码和数据。内核空间拥有较高的特权级别,在内核空间中运行的进程可拥有访问移动终端的所有硬件的权限,用户空间的权限则较低,在用户空间中运行的进程仅可使用系统的部分资源。

移动终端可通过内核空间采集调用列表中包含的各个进程的事件数据,事件数据可包括但不限于事件类型、事件时间、事件内容、事件所属的进程标识等。事件类型可包括但不限于通信事件、创建事件、退出事件、更改标识事件、任务事件等。通信事件可指的是进程与其他应用和/或进程的通信事件,可包括binder通信事件及socket通信事件等,其中,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket;binder是一种进程间通信机制,提供远程过程调用功能。创建事件可指的是进程等被创建的事件。退出事件指的是进程退出的事件。更改标识事件可指的是进程更改自身的标识等。任务事件可指的是进程执行的任务等。

移动终端通过内核空间采集调用列表中包含的各个进程的事件数据,可从事件数据中提取调用列表中各个进程的运行特征,并可按照约定的包格式将运行特征打包成数据包传送给用户空间。可选地,内核空间与用户空间可采用异步的netlink的方式进行通信,netlink是一种可以实现用户进程与内核进程通信的一种特殊的进程间通信。内核空间通过异步通信的方式将调用列表中包含的各个进程的运行特征传输给用户空间,相比起用户空间主动查询的方式,更加快捷方便,可提高运行特征的传输效率。

步骤604,通过用户空间解析数据包,得到进程的运行特征。

步骤606,通过用户空间对运行特征进行分析,确定进程的资源限制等级。

用户空间接收到内核空间传输的数据包后,可对数据包进行解析,得到调用列表中包含的各个进程的运行特征。移动终端可通过用户空间对调用列表中各个进程的运行特征进行分析,确定各个进程的资源限制等级。

在一个实施例中,移动终端通过用户空间对调用列表中包含的各个进程的运行特征进行分析,若调用列表中的进程没有接收到前台应用发送的调用信息,则可确定没有接收到调用信息的进程的资源限制等级为深度限制级别。移动终端可将调用列表中没有接收到前台应用发送的调用信息的进程添加到与深度限制级别对应的资源组别中,并配置与深度限制级别对应的资源使用优先级,调用列表中没有接收到调用信息的进程可使用移动终端中极少的资源。若移动终端通过用户空间检测到调用列表中的进程接收到前台应用发送的调用信息,可降低接收到调用信息的进程的资源限制等级。可选地,移动终端可根据与调用信息对应的任务内容确定进程的资源限制等级。若进程接收到的调用信息用于调用进程中存储的数据,例如,用于调用进程存储的登录信息等,可确定该进程的资源限制等级为普通限制级别,其中,登录信息指的是可用于登录的账户信息、密码等信息。若进程接收到的调用信息用于执行实时交互任务,则可确定该进程的资源限制等级为无限制级别,例如,调用信息用于调用进程的支付功能、或是调用进程的定位功能等,但不限于此。若移动终端通过用户空间检测到调用列表中的进程完成与接收到的调用信息对应的任务后,可提高该进程的资源限制等级,可确定完成任务的进程的资源限制等级为深度限制级别等。

在本实施例中,可通过内核空间采集调用列表中包含的进程的运行特征,并将采集的运行特征传输至用户空间进行分析,可提供更多确定资源限制等级的线索依据,可使调用列表中的进程的资源限制等级调整更加准确,提高资源管理效果及系统性能。

在一个实施例中,上述信息处理方法,还包括:当满足预设条件时,将解冻的进程重新进行冻结。

移动终端对调用列表中处于冻结状态的进程进行解冻后,解冻后的进程可使用移动终端的cpu、内存、i/o及网络等资源,可正常运行并执行任务等。当满足预设条件时,移动终端可将调用列表中解冻的进程重新进行冻结。可选地,预设条件可包括调用列表中解冻的进程在预设第一时间段内没有接收到前台应用发送的调用信息、解冻的进程进入解冻状态超过预设第二时间段、前台应用结束在前台的运行状态中的一种或多种。第一时间段及第二时间段可根据实际需求进行设定,比如第一时间段为10分钟,第二时间段为30分钟等,但不限于此。前台应用结束在前台的运行状态可以是前台应用从前台切换至后台运行,也可以是前台应用退出运行等。可以理解地,预设条件也可以是其他条件,并不仅限于上述几种。可选地,移动终端可将调用列表中解冻的进程添加到与冻结级别对应的资源组别中,并配置与该资源组别对应的资源使用优先级,重新冻结该进程。

在本实施例中,当满足预设条件时,可重新将调用列表中解冻的进程进行冻结,可以防止进程被唤醒后长期不进行冻结的情况,降低系统功耗。

如图7所示,在一个实施例中,上述信息处理方法,还包括以下步骤:

步骤702,通过用户空间发送终止信号。

当移动终端需要终止某个正在运行的进程时,可通过用户空间发送终止信号,该终止信号可用于终止进程的运行,使进程退出运行并释放占用的cpu、内存等系统资源。

步骤704,截获终止信号,若终止信号的目标进程处于冻结状态,则解冻目标进程及目标进程下包含的各个线程。

移动终端可截获用户空间发送的终止信号,并判断该终止信号的目标进程是否处于冻结状态。若目标进程不处于冻结状态,则移动终端可直接将终止信号发送给目标进程,目标进程可对该终止信号进行响应,终止目标进程的运行。若目标状态处于冻结状态,由于处于冻结状态的进程无法正常接收其他进程发送的信号,因此不会对终止信号进行正常响应。而在传统的方式中,通常要编写两套不同的代码,分别用于终止冻结状态的进程及非冻结状态的进程,给系统的开发及维护造成了较大的障碍。移动终端截取终止信号后,若该终止信号的目标进程处于冻结状态,则可先向目标进程发送解冻信号,对目标进程及目标进程下包含的各个线程进行解冻。线程也可被称为轻量级进程(lightweightprocess,lwp),是程序执行流的最小单元,线程是进程中的一个实体,是被系统独立调度和分派的基本单位。解冻目标进程及目标进程下包含的所有线程,可防止出现僵尸进程,造成系统资源的浪费,其中,僵尸进程指的是进程虽然已经退出了,但是在系统进程表中还为它保留了一些退出状态的信息,占用进程表项。

步骤706,设置目标进程为不可冻结状态,并将终止信号发送给目标进程,终止信号用于终止目标进程。

移动终端解冻目标进程及目标进程下包含的各个线程后,可设置目标进程为不可冻结状态,不可冻结状态指的是无法重新对目标进程进行冻结。移动终端可将终止信号发送给目标进程,由于目标进程此时处于不可冻结状态,则可正常对终止信号进行响应,终止目标进程的运行,使目标进程退出运行并释放占用的cpu、内存等系统资源。

在本实施例中,可安全终止处于冻结状态的进程,不会出现如僵尸进程的情况。此外,用户空间对于冻结状态和非冻结状态的进程终止,均可发送统一的终止信号,无需编写两套不同的代码,可减少系统开发和维护成本。

在一个实施例中,提供一种信息处理方法,包括以下步骤:

步骤(1),当监听到前台应用启动时,获取前台应用的历史调用数据。

可选地,步骤(1),包括:当监听到前台应用启动时,记录前台应用启动后在前台运行的时间;若前台应用启动后在前台运行的时间达到预设时间阈值,则获取前台应用的历史调用数据。

步骤(2),根据历史调用数据生成调用列表,调用列表记录有前台应用运行时调用的进程。

步骤(3),确定调用列表中包含的进程的状态,并对调用列表中处于冻结状态的进程进行解冻。

可选地,在步骤(3)之后,还包括:获取调用列表中包含的进程的运行特征;根据运行特征确定进程的资源限制等级;将进程分配到与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级。

可选地,获取调用列表中包含的进程的运行特征,包括:通过内核空间采集调用列表中包含的进程的运行特征,并将运行特征打包成数据包传送给用户空间;通过用户空间解析数据包,得到进程的运行特征;根据运行特征确定进程的资源限制等级,包括:通过用户空间对运行特征进行分析,确定进程的资源限制等级。

可选地,通过用户空间对运行特征进行分析,确定进程的资源限制等级,包括:若调用列表中的进程没有接收到前台应用发送的调用信息,则确定没有接收到调用信息的进程的资源限制等级为深度限制级别;当调用列表中的进程接收到前台应用发送的调用信息时,降低接收调用信息的进程的资源限制等级;当调用列表中的进程完成与调用信息对应的任务后,确定完成任务的进程的资源限制等级为深度限制级别。

可选地,在步骤(3)之后,还包括:当满足预设条件时,将解冻的进程重新进行冻结,其中,预设条件包括解冻的进程在预设第一时间段内没有接收到前台应用发送的调用信息、解冻的进程进入解冻状态超过预设第二时间段、前台应用结束在前台的运行状态中的一种或多种。

可选地,上述信息处理方法,还包括:通过用户空间发送终止信号;截获终止信号,若终止信号的目标进程处于冻结状态,则解冻目标进程及目标进程下包含的各个线程;设置目标进程为不可冻结状态,并将终止信号发送给目标进程,终止信号用于终止目标进程。

在本实施例中,当监听到前台应用启动时,获取前台应用的历史调用数据,根据历史调用数据生成调用列表,并对调用列表中处于冻结状态的进程进行解冻,可以提前对前台应用可能调用的进程进行解冻,减少调用时再进行解冻的等待时间,加快系统响应速率。

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

如图8所示,在一个实施例中,提供一种信息处理装置800,包括数据获取模块810、列表生成模块820及解冻模块830。

数据获取模块810,用于当监听到前台应用启动时,获取前台应用的历史调用数据。

可选地,数据获取模块810,包括时间记录单元及获取单元。

时间记录单元,用于当监听到前台应用启动时,记录前台应用启动后在前台运行的时间。

获取单元,用于若前台应用启动后在前台运行的时间达到预设时间阈值,则获取前台应用的历史调用数据。

列表生成模块820,用于根据历史调用数据生成调用列表,调用列表记录有前台应用运行时调用的进程。

解冻模块830,用于确定调用列表中包含的进程的状态,并对调用列表中处于冻结状态的进程进行解冻。

在本实施例中,当监听到前台应用启动时,获取前台应用的历史调用数据,根据历史调用数据生成调用列表,并对调用列表中处于冻结状态的进程进行解冻,可以提前对前台应用可能调用的进程进行解冻,减少调用时再进行解冻的等待时间,加快系统响应速率。

如图9所示,在一个实施例中,上述信息处理装置800,除了包括数据获取模块810、列表生成模块820及解冻模块830,还包括特征获取模块840、等级确定模块850及配置模块860。

特征获取模块840,用于获取调用列表中包含的进程的运行特征。

等级确定模块850,用于根据运行特征确定进程的资源限制等级。

配置模块860,用于将进程分配到与资源限制等级对应的资源组别中,并配置与资源限制等级对应的资源使用优先级。

在本实施例中,可根据调用列表中包含的进程的运行特征确定资源限制等级,对调用列表中的进程动态实现不同等级的资源限制,在提前对前台应用可能调用的进程进行解冻,提高系统响应速率的同时,减少调用列表中的进程抢占前台应用的资源,优化系统性能,节省功耗。

在一个实施例中,特征获取模块840,包括采集单元及解析单元。

采集单元,用于通过内核空间采集调用列表中包含的进程的运行特征,并将运行特征打包成数据包传送给用户空间。

解析单元,用于通过用户空间解析数据包,得到进程的运行特征。

等级确定模块850,还用于通过用户空间对运行特征进行分析,确定进程的资源限制等级。

可选地,等级确定模块850,还用于若调用列表中的进程没有接收到前台应用发送的调用信息,则确定没有接收到调用信息的进程的资源限制等级为深度限制级别。

等级确定模块850,还用于当调用列表中的进程接收到前台应用发送的调用信息时,降低接收调用信息的进程的资源限制等级。

等级确定模块850,还用于当调用列表中的进程完成与调用信息对应的任务后,确定完成任务的进程的资源限制等级为深度限制级别。

在本实施例中,可通过内核空间采集调用列表中包含的进程的运行特征,并将采集的运行特征传输至用户空间进行分析,可提供更多确定资源限制等级的线索依据,可使调用列表中的进程的资源限制等级调整更加准确,提高资源管理效果及系统性能。

在一个实施例中,上述信息处理装置800,除了包括数据获取模块810、列表生成模块820、解冻模块830、特征获取模块840、等级确定模块850及配置模块860,还包括冻结模块。

冻结模块,用于当满足预设条件时,将解冻的进程重新进行冻结,其中,预设条件包括解冻的进程在预设第一时间段内没有接收到前台应用发送的调用信息、解冻的进程进入解冻状态超过预设第二时间段、前台应用结束在前台的运行状态中的一种或多种。

在本实施例中,当满足预设条件时,可重新将调用列表中解冻的进程进行冻结,可以防止进程被唤醒后长期不进行冻结的情况,降低系统功耗。

在一个实施例中,上述信息处理装置800,除了包括数据获取模块810、列表生成模块820、解冻模块830、特征获取模块840、等级确定模块850、配置模块860及冻结模块,还包括信号发送模块及终止模块。

信号发送模块,用于通过用户空间发送终止信号。

解冻模块830,还用于截获终止信号,若终止信号的目标进程处于冻结状态,则解冻目标进程及目标进程下包含的各个线程。

终止模块,用于设置目标进程为不可冻结状态,并将终止信号发送给目标进程,终止信号用于终止目标进程。

在本实施例中,可安全终止处于冻结状态的进程,不会出现如僵尸进程的情况。此外,用户空间对于冻结状态和非冻结状态的进程终止,均可发送统一的终止信号,无需编写两套不同的代码,可减少系统开发和维护成本。

本申请实施例还提供了一种移动终端。如图10所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该移动终端可以为包括手机、平板电脑、个人数字助理(personaldigitalassistant,pda)、销售终端(pointofsales,pos)、车载电脑、穿戴式设备等任意终端设备,以移动终端为手机为例:

图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