CN105094967B - 进程运行方法及装置 - Google Patents

进程运行方法及装置 Download PDF

Info

Publication number
CN105094967B
CN105094967B CN201510369431.XA CN201510369431A CN105094967B CN 105094967 B CN105094967 B CN 105094967B CN 201510369431 A CN201510369431 A CN 201510369431A CN 105094967 B CN105094967 B CN 105094967B
Authority
CN
China
Prior art keywords
priority
transmission rate
collection
rate
terminal
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.)
Active
Application number
CN201510369431.XA
Other languages
English (en)
Other versions
CN105094967A (zh
Inventor
刘山荣
詹远
王敏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiaomi Inc
Original Assignee
Xiaomi Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201510369431.XA priority Critical patent/CN105094967B/zh
Publication of CN105094967A publication Critical patent/CN105094967A/zh
Application granted granted Critical
Publication of CN105094967B publication Critical patent/CN105094967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

本公开是关于一种进程运行方法及装置。所述方法包括:对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序;基于所述多个应用程序的期望数据传输速率,确定总期望数据传输速率;当所述总期望数据传输速率大于终端当前的最大数据传输速率时,该终端基于所述多个进程的优先级顺序,挂起第一进程集合包括的进程,并运行第二进程集合包括的进程,从而解决了有限的数据传输速率对多个进程同时运行时造成的影响,提高了优先级较高的进程的运行流畅度。

Description

进程运行方法及装置
技术领域
本公开涉及网络技术领域,尤其涉及一种进程运行方法及装置。
背景技术
随着互联网技术的快速发展,出现了越来越多诸如即时通讯、浏览器、视频播放器等应用程序,这些应用程序可以安装在诸如手机、计算机、平板电脑等终端上,当这些应用程序在终端上运行时都需要连接互联网,并占用互联网中一定的数据传输速率。而当终端同时运行多个应用程序时,由于该终端所能提供的数据传输速率是有限的,因此该多个应用程序的进程会受到数据传输速率的限制,从而影响该多个应用程序的正常使用。因此,为了最大限度地减少有限的数据传输速率对该多个应用程序的进程产生的影响,亟需一种进程运行方法。
发明内容
为克服相关技术中存在的问题,本公开提供一种进程运行方法及装置。
根据本公开实施例的第一方面,提供一种进程运行方法,所述方法包括:
对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序;
基于所述多个应用程序的进程的期望数据传输速率,确定总期望数据传输速率;
当所述总期望数据传输速率大于终端当前的最大数据传输速率时,基于所述多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合;
挂起所述第一进程集合包括的进程,并运行所述第二进程集合包括的进程。
结合第一方面,在上述第一方面的第一种可能的实现方式中,所述对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序,包括:
将当前运行的多个应用程序的进程中,正处于前台运行的进程的优先级设置为最高;
获取第三进程集合包括的每个进程所属的应用程序类型,得到多个应用程序类型,所述第三进程集合包括所述多个进程中除所述正处于前台运行的进程之外的进程;
基于预设的应用程序类型的优先级和所述第三进程集合包括的每个进程所述应用程序的期望数据传输速率,对所述第三进程集合包括的进程进行优先级排序,得到所述第三进程集合包括的进程的优先级顺序;
基于所述正处于前台运行的进程的优先级和所述第三进程集合包括的进程的优先级顺序,确定所述多个进程的优先级顺序。
结合第一方面的第一种可能的实现方式,在上述第一方面的第二种可能的实现方式中,所述基于预设的应用程序类型的优先级和所述第三进程集合包括的每个进程所属应用程序的期望数据传输速率,对所述第三进程集合包括的进程进行优先级排序,得到所述第三进程集合包括的进程的优先级顺序之前,还包括:
对于多个进程中的每个进程,基于所述进程所属应用程序的应用程序标识,从存储的进程标识与期望数据传输速率之间的对应关系中,获取对应的期望数据传输速率。
结合第一方面,在上述第一方面的第三种可能的实现方式中,所述基于所述多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合,包括:
基于所述多个进程的优先级顺序,按照所述终端当前的最大数据传输速率,将所述多个进程划分为第一进程集合和第二进程集合,所述第二进程集合包括的所有进程所属应用程序的期望数据传输速率之和小于或等于所述终端当前的最大数据传输速率。
结合第一方面,在上述第一方面的第四种可能的实现方式中,所述基于所述多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合,包括:
基于所述多个进程的优先级顺序,从所述多个进程中,获取临界进程;
将所述多个进程中优先级低于临界优先级的进程划分为第一进程集合,将所述多个进程中除第一进程集合包括的进程之外的进程划分为第二进程集合,所述临界优先级为所述临界进程的优先级。
结合第一方面,在上述第一方面的第五种可能的实现方式中,所述从所述多个进程中,获取临界进程,包括:
确定目标进程所属应用程序的期望数据传输速率与优先级高于所述目标进程优先级的进程所属应用程序的期望数据传输速率之和,得到第一目标速率,所述目标进程为所述多个进程中的任一进程;
确定所述第一目标速率和所述目标进程的下一个进程所属应用程序的期望数据传输速率之和,得到第二目标速率,所述目标进程的下一个进程为所述多个进程的优先级顺序中优先级低于所述目标进程且与所述目标进程相邻的进程;
当所述第一目标速率小于或等于所述终端当前的最大数据传输速率且所述第二目标速率大于所述终端当前的最大数据传输速率时,将所述目标进程确定为所述临界进程。
结合第一方面至第一方面的第五种可能的实现方式中的任一种可能的实现方式,在上述第一方面的第六种可能的实现方式中,所述当所述总期望数据传输速率大于终端当前的最大数据传输速率时,基于所述多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合之前,还包括:
获取所述终端当前的信号强度和所述终端当前所处的网络制式;
基于所述信号强度和所述网络制式,获取所述终端当前的最大数据传输速率。
结合第一方面的第六种可能的实现方式,在上述第一方面的第七种可能的实现方式中,基于所述信号强度和所述网络制式,获取所述终端当前的最大数据传输速率,包括:
基于所述信号强度和所述网络制式,从存储的信号强度、网络制式与数据传输速率之间的对应关系中,获取对应的数据传输速率;
将获取的数据传输速率确定为所述终端当前的最大数据传输速率。
根据本公开实施例的第二方面,提供一种进程运行装置,所述装置包括:
排序模块,用于对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序;
确定模块,用于基于所述多个应用程序的期望数据传输速率,确定总期望数据传输速率;
划分模块,用于当所述总期望数据传输速率大于终端当前的最大数据传输速率时,基于所述多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合;
运行模块,用于挂起所述第一进程集合包括的进程,并运行所述第二进程集合包括的进程。
结合第二方面,在上述第二方面的第一种可能的实现方式中,所述排序模块包括:
设置单元,用于将当前运行的多个应用程序的进程中,正处于前台运行的进程的优先级设置为最高;
第一获取单元,用于获取第三进程集合包括的每个进程所属的应用程序类型,得到多个应用程序类型,所述第三进程集合包括所述多个进程中除所述正处于前台运行的进程之外的进程;
排序单元,用于基于预设的应用程序类型的优先级和所述第三进程集合包括的每个进程所属应用程序的期望数据传输速率,对所述第三进程集合包括的进程进行优先级排序,得到所述第三进程集合包括的进程的优先级顺序;
第一确定单元,用于基于所述正处于前台运行的进程的优先级和所述第三进程集合包括的进程的优先级顺序,确定所述多个进程的优先级顺序。
结合第二方面的第一种可能的实现方式,在上述第二方面的第二种可能的实现方式中,所述排序模块还包括:
第二获取单元,对于多个进程中的每个进程,基于所述进程所属应用程序的应用程序标识,从存储的应用程序标识与期望数据传输速率之间的对应关系中,获取对应的期望数据传输速率。
结合第二方面,在上述第二方面的第三种可能的实现方式中,所述划分模块包括:
第一划分单元,用于基于所述多个进程的优先级顺序,按照所述终端当前的最大数据传输速率,将所述多个进程划分为第一进程集合和第二进程集合,所述第二进程集合包括的所有进程所属应用程序的期望数据传输速率之和小于或等于所述终端当前的最大数据传输速率。
结合第二方面,在上述第二方面的第四种可能的实现方式中,所述划分模块包括:
第三获取单元,用于基于所述多个进程的优先级顺序,从所述多个进程中,获取临界进程;
第二划分单元,用于将所述多个进程中优先级低于临界优先级的进程划分为第一进程集合,将所述多个进程中除第一进程集合包括的进程之外的进程划分为第二进程集合,所述临界优先级为所述临界进程的优先级。
结合第二方面的第四种可能的实现方式,在上述第二方面的第五种可能的实现方式中,所述第三获取单元包括:
第一确定子单元,用于当所述总期望数据传输速率大于终端当前的最大数据传输速率时,确定目标进程所属应用程序的期望数据传输速率与优先级高于所述目标进程优先级的进程所属应用程序的期望数据传输速率之和,得到第一目标速率,所述目标进程为所述多个进程中的任一进程;
第二确定子单元,用于确定所述第一目标速率和所述目标进程的下一个进程所属应用程序的期望数据传输速率之和,得到第二目标速率,所述目标进程的下一个进程为所述多个进程的优先级顺序中优先级低于所述目标进程且与所述目标进程相邻的进程;
第三确定子单元,用于当所述第一目标速率小于或等于所述终端当前的最大数据传输速率且所述第二目标速率大于所述终端当前的最大数据传输速率时,将所述目标进程确定为所述临界进程。
结合第二方面至第二方面的第五种可能的实现方式中任一种可能的实现方式,在上述第二方面的第六种可能的实现方式中,所述装置还包括:
第一获取模块,用于获取所述终端当前的信号强度和所述终端当前所处的网络制式;
第二获取模块,用于基于所述信号强度和所述网络制式,获取所述终端当前的最大数据传输速率。
结合第二方面的第六种可能的实现方式,在上述第二方面的第七种可能的实现方式中,所述第二获取模块包括:
第四获取单元,用于基于所述信号强度和所述网络制式,从存储的信号强度、网络制式与数据传输速率之间的对应关系中,获取对应的数据传输速率;
第二确定单元,用于将获取的数据传输速率确定为所述终端当前的最大数据传输速率。
根据本公开实施例的第三方面,提供一种进程运行装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序;
基于所述多个应用程序的期望数据传输速率,确定总期望数据传输速率;
当所述总期望数据传输速率大于终端当前的最大数据传输速率时,基于所述多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合;
挂起所述第一进程集合包括的进程,并运行所述第二进程集合包括的进程。
本公开的实施例提供的技术方案可以包括以下有益效果:终端对当前运行的多个进程进行优先级排序,得到该多个进程的优先级顺序,并基于该多个进程的期望数据传输速率,确定总期望数据传输速率,当该总期望数据传输速率大于终端当前的最大数据传输速率时,该终端基于该多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合,挂起该第一进程集合包括的进程,并运行该第二进程集合包括的进程,从而解决了有限的数据传输速率对多个进程同时运行时造成的影响,提高了优先级较高的进程的运行流畅度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种进程运行方法的流程图。
图2是根据一示例性实施例示出的另一种进程运行方法的流程图。
图3是根据一示例性实施例示出的一种进程运行装置的框图。
图4是根据一示例性实施例示出的一种排序模块的框图。
图5是根据一示例性实施例示出的另一种排序模块的框图。
图6是根据一示例性实施例示出的一种划分模块的框图。
图7是根据一示例性实施例示出的一种第三获取单元的框图。
图8是根据一示例性实施例示出的另一种进程运行装置的框图。
图9是根据一示例性实施例示出的一种第三获取模块的框图。
图10是根据一示例性实施例示出的又一种进程运行装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种进程运行方法的流程图,如图1所示,该方法用于终端中,包括以下步骤。
在步骤101中,对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序。
在步骤102中,基于该多个应用程序的的期望数据传输速率,确定总期望数据传输速率。
在步骤103中,当该总期望数据传输速率大于终端当前的最大数据传输速率时,基于该多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合。
在步骤104中,挂起第一进程集合包括的进程,并运行第二进程集合包括的进程。
在本公开的实施例中,终端对当前运行的多个进程进行优先级排序,得到该多个进程的优先级顺序,并基于该多个进程的期望数据传输速率,确定总期望数据传输速率,当该总期望数据传输速率大于终端当前的最大数据传输速率时,该终端基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合,挂起该第一进程集合包括的进程,并运行该第二进程集合包括的进程,从而解决了有限的数据传输速率对多个进程同时运行时造成的影响,提高优先级较高的进程的运行流畅度。
在本公开的另一实施例中,对当前运行的多个应用程序的进程进行优先级排序,得到该多个进程的优先级顺序,包括:
将当前运行的多个应用程序的进程中,正处于前台运行的进程的优先级设置为最高;
获取第三进程集合包括的每个进程所属的应用程序类型,得到多个应用程序类型,该第三进程集合包括该多个进程中除该正处于前台运行的进程之外的进程;
基于预设的应用程序类型的优先级和该第三进程集合包括的每个进程所属应用程序的期望数据传输速率,对该第三进程集合包括的进程进行优先级排序,得到该第三进程集合包括的进程的优先级顺序;
基于该正处于前台运行的进程的优先级和该第三进程集合包括的进程的优先级顺序,确定该多个进程的优先级顺序。
在本公开的另一实施例中,基于预设的应用程序类型的优先级和该第三进程集合包括的每个进程所属应用程序的期望数据传输速率,对该第三进程集合包括的进程进行优先级排序,得到该第三进程集合包括的进程的优先级顺序之前,还包括:
对于多个进程中的每个进程,基于该进程所属应用程序的应用程序标识,从存储的应用程序标识与期望数据传输速率之间的对应关系中,获取对应的期望数据传输速率。
在本公开的另一实施例中,基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合,包括:
基于该多个进程的优先级顺序,按照该终端当前的最大数据传输速率,将该多个进程划分为第一进程集合和第二进程集合,该第二进程集合包括的所有进程所属应用程序的期望数据传输速率之和小于或等于该终端当前的最大数据传输速率。
在本公开的另一实施例中,基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合,包括:
基于该多个进程的优先级顺序,从该多个进程中,获取临界进程;
将该多个进程中优先级低于临界优先级的进程划分为第一进程集合,将该多个进程中除第一进程集合包括的进程之外的进程划分为第二进程集合,该临界优先级为所述临界进程的优先级。
在本公开的另一实施例中,从该多个进程中,获取临界进程,包括:
确定目标进程所属应用程序的期望数据传输速率与优先级高于该目标进程优先级的进程所属应用程序的期望数据传输速率之和,得到第一目标速率,该目标进程为该多个进程中的任一进程;
确定该第一目标速率和该目标进程的下一个进程所属应用程序的期望数据传输速率之和,得到第二目标速率,该目标进程的下一个进程为该多个进程的优先级顺序中优先级低于该目标进程且与该目标进程相邻的进程;
当该第一目标速率小于或等于该终端当前的最大数据传输速率且该第二目标速率大于该终端当前的最大数据传输速率时,将该目标进程确定为该临界进程。
在本公开的另一实施例中,当该总期望数据传输速率大于终端当前的最大数据传输速率时,基于所述多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合之前,还包括:
获取该终端当前的信号强度和该终端当前所处的网络制式;
基于该信号强度和该网络制式,获取该终端当前的最大数据传输速率。
在本公开的另一实施例中,基于该信号强度和该网络制式,获取该终端当前的最大数据传输速率,包括:
基于该信号强度和该网络制式,从存储的信号强度、网络制式与数据传输速率之间的对应关系中,获取对应的数据传输速率;
将获取的数据传输速率确定为该终端当前的最大数据传输速率。
上述所有可选技术方案,均可按照任意结合形成本公开的可选实施例,本公开实施例对此不再一一赘述。
图2是根据一示例性实施例示出的一种进程运行方法的流程图,参照图2,该方法用于终端中,包括以下步骤。
在步骤201中,对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序。
终端通过无线通信模块提供的数据传输速率是有限的,为了避免有限的数据传输速率对多个进程同时运行时造成影响,以及提高优先级较高的进程的运行流畅度,该终端需要对当前运行的多个应用程序的进程进行优先级排序,从而得到该多个进程的优先级顺序,而该终端对当前运行的多个应用程序的进程进行优先级排序过程可以包括如下(1)-(5)的步骤:
(1)、将当前运行的多个应用程序的进程中,正处于前台运行的进程的优先级设置为最高。
前台运行的进程是指处于该终端的显示窗口中、可以与用户进行交互且正在运行的进程,也即是,用户当前正在使用的应用程序的进程,它可以是当前运行的多个进程中的任一进程,本公开实施例对此不做具体限定。
另外,由于正处于前台运行的进程是该用户当前正在使用的应用程序的进程,该前台运行的进程的运行流畅度相比后台运行的进程更为重要,因此,为了保证该前台运行的进程的运行流畅度,该终端可以将该前台运行的进程的优先级设置为最高。
需要说明的是,一个应用程序可以对应一个进程,因此,当该终端当前运行多个应用程序时,该终端会运行多个进程,本公开实施例对此不做具体限定。
(2)、获取第三进程集合包括的每个进程所属的应用程序类型,得到多个应用程序类型,该第三进程集合包括该多个进程中除该正处于前台运行的进程之外的进程。
当该终端获取第三进程集合包括的每个进程所属的应用程序类型时,该终端可以先获取每个进程所属的应用程序标识,基于每个进程所属的应用程序标识,从存储的应用程序标识与应用程序类型之间的对应关系中,获取对应的应用程序类型,从而得到每个进程所属的应用程序类型。
比如,该第三进程集合包括3个进程,分别为进程1、进程2和进程3。该终端可以先获取进程1所属的应用程序标识为ID1,进程2所属的应用程序标识为ID2,进程3所属的应用程序标识为ID3。进而该终端基于进程1所属的应用程序标识,从如下表1所示的应用程序标识与应用程序类型之间的对应关系中,获取对应的应用程序类型为即时通讯类,从而得到该进程所属的应用程序类型为即时通讯类。同理,获取进程2所属的应用程序类型为音乐视频类,进程3所属的应用程序类型也为音乐视频类。
表1
需要说明的是,在本公开实施例中,仅以上述表1所示的应用程序标识与应用程序之间的对应关系为例进行说明,上述表1并不对本公开实施例构成限定。
其中,应用程序标识是应用程序的标识,该应用程序标识用于唯一标识该应用程序,且该应用程序标识可以是该应用程序的名称、图标等等,本公开实施例对此不做具体限定。
需要说明的是,每个进程所属的应用程序类型可以是事先设置的,该应用程序类型可以分为多种类型,每一种类型可以包括一个或者多个应用程序,因此,可以事先存储应用程序标识与应用程序类型之间的对应关系,本公开实施例对此不做具体限定。
比如,应用程序类型可以分为三种类型,该三种类型分别是即时通讯类、音乐视频类和其它应用程序类,即时通信类应用程序可以包括用于实现即时通讯的一个或者多个应用程序,音乐视频类应用程序可以包括播放音乐或者视频文件的一个或者多个应用程序,其它应用程序类是指除即时通讯类和音乐视频类之外的其它应用程序,该其他应用程序可以包括浏览器、电子阅读器、后台文件下载等等,本公开实施例对此不做具体限定。
(3)、对于多个进程中的每个进程,基于该进程所属应用程序的应用程序标识,从存储的应用程序标识与期望数据传输速率之间的对应关系中,获取对应的期望数据传输速率。
对于多个进程中的每个进程,该终端可以先获取该多个进程中每个进程所属应用程序的应用程序标识,从而基于获取的应用程序标识,从存储的应用程序标识与期望数据传输速率之间的对应关系中,获取对应的期望数据传输速率。
比如,该多个进程包括进程1、进程2、进程3和进程4,进程1所属的应用程序标识为ID1,进程2所属的应用程序标识为ID2,进程3所属的应用程序标识为ID3,进程4所属应用程序的应用程序标识为ID4,因此,该终端可以基于应用程序标识ID1,从如下表2所示的应用程序标识与期望数据传输速率之间的对应关系中,获取对应的期望数据传输速率为22kbps。同理,获取应用程序标识ID2对应的期望数据传输速率为192kbps,应用程序标识ID3对应的期望数据传输速率为34kbps,应用程序标识ID4对应的期望数据传输速率为143kbps。
表2
应用程序标识 期望数据传输速率
ID1 22kbps
ID2 192kbps
ID3 34kbps
ID4 143kbps
…… ……
需要说明的是,在本公开实施例中,仅以上述表2所示的应用程序标识与期望数据传输速率之间的对应关系为例进行说明,上述表2并不对本公开实施例构成限定。
需要说明的是,该应用程序标识与期望数据传输速率之间的对应关系是事先存储在该终端上的。其中,该期望数据传输速率是指每个进程在正常运行时所需要的数据传输速率,该期望数据传输速率可以事先通过实际测试得到,而实际测试得到该期望数据传输速率的方法可以参考相关技术,本公开实施例对此不做详细阐述。
进一步,该终端不仅可以通过上述方法来获取每个进程的期望数据传输速率,还可以通过如下的方法来获取,包括:对于该多个进程中的每个进程,该终端可以获取该进程所属应用程序的应用程序标识,并基于该进程所属应用程序的应用程序标识,从存储的应用程序标识与上行数据传输速率之间的对应关系中,获取对应的上行数据传输速率,以及基于该进程所属应用程序的应用程序标识,从存储的应用程序标识与下行数据传输速率之间的对应关系中,获取对应的下行数据传输速率,将获取的上行数据传输速率和下行数据传输速率相加,从而得到对应的期望数据传输速率。
需要说明的是,该步骤(3)不仅可以位于步骤(2)之后,还可以位于步骤(1)之前,只要该步骤(3)位于步骤(4)之前即可,本公开实施例对此不做具体限定。
(4)、基于预设的应用程序类型的优先级和该第三进程集合包括的每个进程的期望数据传输速率,对该第三进程集合包括的进程进行优先级排序,得到该第三进程集合包括的进程的优先级顺序。
由于一个应用程序类型可以包括多个应用程序,且该多个应用程序之间也存在一定的优先级,因此,该终端可以先基于预设的应用程序类型的优先级和第三进程集合包括的每个进程所属的应用程序类型,对第三进程集合包括的进程进行排序,当该第三进程集合包括的进程中存在至少一个进程属于同一应用程序类型时,该终端可以从该多个进程对应的期望数据传输速率中,获取该至少一个进程对应的期望数据传输速率,进而基于该至少一个进程对应的期望数据传输速率,对属于同一应用程序类型的进程进行排序,从而得到第三进程集合包括的进程的优先级顺序。
需要说明的是,该终端基于该至少一个进程对应的期望数据传输速率,对属于同一应用程序类型的进程进行排序时,可以设置期望数据传输速率较小的进程的优先级高于期望数据传输速率较大的进程的优先级,也可以设置期望数据传输速率较小的进程的优先级低于期望数据传输速率较大的进程的优先级。而为了使更多地进程可以顺畅运行,可以优先设置期望数据传输速率较小的进程的优先级高于期望数据传输速率较大的进程的优先级,本公开实施例对此不做具体限定。
另外,该终端对该第三进程集合包括的进程进行优先级排序时,不仅可以按照优先级从高到低的顺序进行排序,也可以按照优先级从低到高的顺序进行排序,本公开实施例对此不做具体限定。
比如,该终端对属于同一应用程序类型的进程进行排序时,该终端设置期望数据传输速率较小的进程的优先级高于期望数据传输速率较大的进程的优先级,且预设的应用程序类型的优先级从高到低的顺序为即时通讯类、音乐视频类、其他应用程序类,因此,该终端基于预设的应用程序类型的优先级和第三进程集合包括的每个进程所属的应用程序类型,对第三进程集合包括的进程进行排序,可以确定进程1的优先级高于进程2和进程3的优先级,另外,由于进程2和进程3属于同一应用程序类型,且进程3对应的期望数据传输速率34kbps小于进程2对应的期望数据传输速率192kbps。因此,进程3的优先级高于进程2的优先级,从而得到该第三进程集合包括的进程的优先级从高到低的顺序为进程1、进程3、进程2。
(5)、基于该正处于前台运行的进程的优先级和该第三进程集合包括的进程的优先级顺序,确定该多个进程的优先级顺序。
由于该正处于前台运行的进程的优先级最高,因此,基于该正处于前台运行的进程的优先级和该第三进程集合包括的进程的优先级顺序,确定该多个进程的优先级顺序时,如果该第三进程集合包括的进程是按照优先级从高到低的顺序进行排序时,则将该正处于前台运行的进程排在第三进程集合包括的进程的第一位,从而得到该多个进程的优先级顺序;如果该第三进程集合包括的进程是按照优先级从低到高的顺序进行排序时,则可以将该正处于前台运行的进程排在第三进程集合包括的进程的最后一位,从而得到该多个进程的优先级顺序。
比如,该正处于前台运行的进程为进程4,该第三进程集合包括的进程优先级顺序从高到低依次是进程1、进程3、进程2,该终端基于该正处于前台运行的进程的优先级和该第三进程集合包括的进程的优先级顺序,将该正处于前台运行的进程4排在第三进程集合包括的进程的第一位,从而得到该多个进程从高到低的优先级顺序为进程4、进程1、进程3、进程2。
进一步地,当该终端得到该多个进程的优先级顺序时,可以将该多个进程的期望数据传输速率按照优先级的顺序进行存储,而存储该多个进程的期望数据传输速率时,该终端可以以数组的形式进行存储,当然,该终端还可以以表格的形式进行存储,本公开实施例对此不做具体限定。
在步骤202中,基于该多个进程的期望数据传输速率,确定总期望数据传输速率。
该终端可以将该多个进程的期望数据传输速率进行求和,得到该多个期望数据传输速率的总和,从而将该多个期望数据传输速率的总和确定为总期望数据传输速率。
比如,进程1对应的期望数据传输速率为22kbps,进程2对应的期望数据传输速率为192kbps,进程3对应的期望数据传输速率为34kbps,进程4对应的期望数据传输速率为143kbps,该终端将该多个进程的期望数据传输速率进行求和,得到该多个期望数据传输速率的总和为391kbps,从而确定总期望数据传输速率为391kbps。
在步骤203中,获取该终端当前的信号强度和该终端当前所处的网络制式,并基于该信号强度和该网络制式,获取该终端当前的最大数据传输速率。
由于该终端可以处于多个等级的信号强度,以及多个不同的网络制式下,且在不同的信号强度和不同的网络制式下,该终端的数据传输速率是不一样的,因此,该终端可以获取当前的信号强度和该终端当前所处的网络制式,并基于该信号强度和该网络制式,从存储的信号强度、网络制式与数据传输速率之间的对应关系中,获取对应的数据传输速率;将获取的数据传输速率确定为该终端当前的最大数据传输速率。
需要说明的是,该终端存储的信号强度、网络制式与数据传输速率之间的对应关系是可以事先设置的,对于该终端在不同的信号强度和不同的网络制式下,可以实际测试该终端的数据传输速率,并将测试得到的数据传输速率事先存储在信号强度、网络制式与数据传输速率之间的对应关系,而实际测试该终端的数据传输速率的方法可以参考相关技术,本公开实施例对此不做详细阐述。
另外,该信号强度的等级是可以事先设置的,也即是,可以是先将该信号强度的等级划分为多级,比如,将该信号强度等级划分为四级,分别是一级、二级、三级、四级,其中一级的信号强度最强,二级的信号强度次之,三级的信号强度比二级当信号强度稍弱,四级的信号强度最弱,本公开实施例对此不做具体限定。
再者,该网络制式也可以包括一种或者多种,比如,该网络制式可以包括GSM(Global System for Mobile Communications,全球移动通信系统)、TD-SCDMA(TimeDivision-Synchronous Code Division Multiple Access,时分同步码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、CDMA-2000(Code DivisionMultiple Access 2000,码分多址2000)、TDD-LTE(Time Division Duplexing-Long TermEvolution,时分多址-长期演进)、FDD-LTE(Frequence Division Duplexing-Long TermEvolution,频分多址-长期演进)等等,本公开实施例对此不做具体限定。
比如,该终端当前的信号强度可以为一级,该终端当前所处的网络制式可以为GSM,则该终端基于该信号强度一级和该网络制式GSM,从如下表3所示的信号强度、网络制式与数据传输速率之间的对应关系中,获取对应的数据传输速率为300kbps,从而该终端将该300kbps确定为该终端当前的最大数据传输速率,也即是,该最大数据传输速率为300kbps。
表3
需要说明的是,在本公开实施例中,仅以上述表3所示的信号强度、网络制式与数据传输速率之间的对应关系为例进行说明,上述表3并不对本公开实施例构成限定。
在步骤204中,当该总期望数据传输速率大于终端当前的最大数据传输速率时,基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合。
当该总期望数据传输速率大于终端当前的最大数据传输速率时,该终端上同时运行的多个进程需要的数据传输速率大于该终端能够提供的最大数据传输速率,因此该多个进程的运行会受到影响,为了保证优先级高的进程能够运行顺畅,该终端可以基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合。
其中,该终端基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合的过程可以包括如下(1)-(2)两种方式,如下所述。
(1)、该终端基于该多个进程的优先级顺序,按照该终端当前的最大数据传输速率,将该多个进程划分为第一进程集合和第二进程集合,该第二进程集合包括的所有进程所属应用程序的期望数据传输速率之和小于或等于该终端当前的最大数据传输速率。
该终端基于该多个进程的优先级顺序,按照该终端当前的最大数据传输速率,将该多个进程划分为第一进程集合和第二进程集合的操作可以为:该终端按照该多个进程的优先级顺序,将该多个进程对应的期望数据传输速率依次相加,得到期望数据传输速率之和,直到该期望数据传输速率之和最接近且小于或等于该终端当前的最大数据传输速率,此时,将该多个进程中,组成该期望数据传输速率之和的每个期望数据传输速率所对应的进程划分为第二进程集合,该多个进程中除第二进程集合包括的进程之外的进程划分为第一进程集合。
比如,该多个进程从高到低的优先级顺序可以为进程4、进程1、进程3、进程2,对应的期望数据传输速率分别为22kbps、192kbps、34kbps、143kbps,该终端的最大数据传输速率为300kbps,该终端按照该多个进程的优先级顺序,将该多个进程对应的期望数据传输速率依次相加,得到该期望数据速率之和为248kbps,且248kbps最接近且小于该终端当前的最大数据传输速率300kbps,则将多个进程中组成该期望数据速率之和248kbps中的每个期望数据传输速率所对应的进程4、进程1和进程3划分为第二进程集合,将该多个进程中除第二进程集合包括的进程之外的进程2划分为第一进程集合。
(2)、该终端基于该多个进程的优先级顺序,从该多个进程中,获取临界进程,将该多个进程中优先级低于临界优先级的进程划分为第一进程集合,将该多个进程中除第一进程集合包括的进程之外的进程划分为第二进程集合,也即是,第二进程集合包括该临界进程和该多个进程中优先级高于该临界优先级的进程,该临界优先级为该临界进程的优先级。
该终端基于该多个进程的优先级顺序,从该多个进程中,获取临界进程的过程可以为:确定目标进程的期望数据传输速率与优先级高于该目标进程优先级的进程的期望数据传输速率之和,得到第一目标速率,该目标进程为该多个进程中的任一进程;确定该第一目标速率和该目标进程的下一个进程的期望数据传输速率之和,得到第二目标速率,该目标进程的下一个进程为该多个进程的优先级顺序中优先级低于该目标进程且与该目标进程相邻的进程;当该第一目标速率小于或等于该终端当前的最大数据传输速率且该第二目标速率大于该终端当前的最大数据传输速率时,将该目标进程确定为该临界进程。
比如,该多个进程从高到低的优先级顺序可以为进程4、进程1、进程3、进程2,对应的期望数据传输速率分别为22kbps、192kbps、34kbps、143kbps,该终端的最大数据传输速率为300kbps,该目标进程为进程3,则该终端确定目标进程的期望数据传输速率与优先级高于该目标进程优先级的进程的期望数据传输速率之和,即确定22kbps、192kbps、34kbps之和,得到第一目标速率为248kbps;确定该第一目标速率248kbps和该目标进程3的下一个进程的期望数据传输速率143kbps之和,得到第二目标速率为391kbps,该目标进程3的下一个进程为该多个进程的优先级顺序中优先级低于该目标进程3且与该目标进程相邻的进程2;该第一目标速率248kbps小于该终端当前的最大数据传输速率300kbps,且该第二目标速率391kbps大于该终端当前的最大数据传输300kbps,因此将该进程3确定为该临界进程。
需要说明的是,该终端从该多个进程中获取临界进程时,需要先确定目标进程,而确定目标进程时,该终端可以按照该多个进程从高到低的优先级顺序来确定目标进程,还可以按照该多个进程从低到高的优先级顺序来确定目标进程,当然,还可以从该多个进程中随机选择一个进程,并将选择的进程确定为目标进程,本公开实施例对此不做具体限定。
另外,该终端基于多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合,不仅可以通过上述(1)-(2)两种方式,还可以通过其他方式将该多个进程划分为第一进程集合和第二进程集合,本公开实施例对此不做具体限定。
进一步地,由于该终端提供的数据传输速率可以划分为上行数据传输速率和下行数据传输速率,因此,该终端不仅可以基于上述201至204的步骤,将该多个进程划分为第一进程集合和第二进程集合,还可以通过如下两种方式,该多个进程划分为第一进程集合和第二进程集合,包括:
第一种方式,对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序;基于该多个进程的上行数据传输速率,确定总上行数据传输速率,并基于该多个进程的下行数据传输速率,确定总下行数据传输速率。确定总上行数据传输速率与总下行数据传输速率之间的差值,得到速率差值,当该速率差值大于速率阈值时,从该总上行数据传输速率和该总下行数据传输速率中,获取最大的数据传输速率。如果获取的最大的数据传输速率为总上行数据传输速率时,获取该终端当前的信号强度和该终端当前所处的网络制式,并基于该信号强度和该网络制式,获取该终端当前的最大上行数据传输速率。当该总上行数据传输速率大于终端当前的最大上行数据传输速率时,基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合。
进一步地,如果获取的最大的数据传输速率为总下行数据传输速率时,获取该终端当前的信号强度和该终端当前所处的网络制式,并基于该信号强度和该网络制式,获取该终端当前的最大下行数据传输速率。当该总下行数据传输速率大于终端当前的最大下行数据传输速率时,基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合。
其中,该终端对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序的操作可以为:将当前运行的多个应用程序的进程中,正处于前台运行的进程的优先级设置为最高;获取第三进程集合包括的每个进程所属的应用程序类型,得到多个应用程序类型,第三进程集合包括所述多个进程中除正处于前台运行的进程之外的进程;基于预设的应用程序类型的优先级和第三进程集合包括的每个进程所属应用程序的上行数据传输速率,对第三进程集合包括的进程进行优先级排序,得到第三进程集合包括的进程的优先级顺序;基于正处于前台运行的进程的优先级和第三进程集合包括的进程的优先级顺序,确定该多个进程的优先级顺序。
而该终端基于预设的应用程序类型的优先级和第三进程集合包括的每个进程所属应用程序的上行数据传输速率,对第三进程集合包括的进程进行优先级排序,得到第三进程集合包括的进程的优先级顺序的操作可以为:该终端基于预设的应用程序类型的优先级和第三进程集合包括的每个进程所属的应用程序类型,对第三进程集合包括的进程进行排序,当该第三进程集合包括的进程中存在至少一个进程属于同一应用程序类型时,该终端可以从该多个进程对应的上行数据传输速率中,获取该至少一个进程对应的上行数据传输速率,进而基于该至少一个进程对应的上行数据传输速率,对属于同一应用程序类型的进程进行排序,从而得到第三进程集合包括的进程的优先级顺序。
同理,该终端基于预设的应用程序类型的优先级和第三进程集合包括的每个进程所属应用程序的下行数据传输速率,对第三进程集合包括的进程进行优先级排序,得到第三进程集合包括的进程的优先级顺序的方法与上述方法相似,本公开实施例在此不再进行详细阐述。
另外,该终端基于该多个进程的上行数据传输速率,确定总上行数据传输速率的操作可以为:对于该多个进程中的每个进程,该终端基于该进程所属应用程序的应用程序标识,从存储的应用程序标识与上行数据传输速率之间的对应关系中,获取对应的上行数据传输速率,该终端可以将该多个进程的上行数据传输速率进行求和,得到该多个上行数据传输速率的总和,从而将该多个上行数据传输速率的总和确定为总上行数据传输速率;同理,该终端基于该多个进程的下行数据传输速率,确定总上行数据传输速率时,该终端可以基于该进程所属应用程序的应用程序标识,从存储的应用程序标识与下行数据传输速率之间的对应关系中,获取对应的下行数据传输速率,并将该多个进程的下行数据传输速率进行求和,得到该多个下行数据传输速率的总和,从而将该多个下行数据传输速率的总和确定为总下行数据传输速率。
再者,该终端基于该信号强度和该网络制式,获取该终端当前的最大上行数据传输速率的操作可以为:该终端基于该信号强度和该网络制式,从存储的信号强度、网络制式与上行数据传输速率之间的对应关系中,获取对应的上行数据传输速率,将获取的上行数据传输速率确定为该终端当前的最大上行数据传输速率。同理,该终端基于该信号强度和该网络制式,获取该终端当前的最大下行数据传输速率的操作可以为:该终端并基于该信号强度和该网络制式,从存储的信号强度、网络制式与下行数据传输速率之间的对应关系中,获取对应的下行数据传输速率,将获取的下数据传输速率确定为该终端当前的最大下行数据传输速率。
需要说明的是,速率阈值可以是事先设置的,比如,速率阈值可以为150kbps,本公开实施例对此不做具体限定。
第二种方式,由于终端中运行的应用程序一般进行上行传输,也即是,该终端运行的多个进程一般占用比较大的上行数据传输速率,因此,该终端可以对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序;基于该多个进程的上行数据传输速率,确定总上行数据传输速率。获取该终端当前的信号强度和该终端当前所处的网络制式,并基于该信号强度和该网络制式,获取该终端当前的最大上行数据传输速率。当该总上行数据传输速率大于终端当前的最大上行数据传输速率时,基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合。
在步骤205中,挂起第一进程集合包括的进程,并运行第二进程集合包括的进程。
由于挂起进程是指暂时被调离出内存的进程,当条件允许的时候,该进程会被再次调回内存,重新进入进程运行的状态,因此,该终端可以基于该多个进程的优先级顺序,将第一进程集合包括的进程暂时调离出该终端的内存,并运行第二进程集合包括的进程。
比如,该多个进程从高到低的优先级顺序为进程4、进程1、进程3、进程2,则该终端基于该多个进程的优先级顺序,确定第一进程集合包括进程2,该终端将第一进程集合包括的进程2暂时调离出该终端的内存,并运行该第二进程集合包括的进程4、进程1和进程3。
需要说明的是,触发该终端执行本公开实施例提供的进程运行方法的触发条件可以包括多种,比如,当该终端可以运行一个新应用程序的进程时进行触发,或者该终端可以周期性的进行触发,该周期性的时间可以事先设置,又或者当该终端确定该多个进程需要的数据传输速率发生急剧变化时进行触发等等,本公开实施例对此不做具体限定。
在本公开的实施例中,终端对当前运行的多个进程进行优先级排序,得到该多个进程的优先级顺序,并基于该多个进程的期望数据传输速率,确定总期望数据传输速率,当该总期望数据传输速率大于终端当前的最大数据传输速率时,该终端基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合,挂起该第一进程集合包括的进程,并运行该第二进程集合包括的进程,从而解决了有限的数据传输速率对多个进程同时运行时造成的影响,提高优先级较高的进程的运行流畅度。
图3是根据一示例性实施例示出的一种进程运行装置框图。参照图3,该装置包括排序模块301,确定模块302,划分模块303,运行模块304。
排序模块301,用于对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序;
确定模块302,用于基于该多个应用程序的期望数据传输速率,确定总期望数据传输速率;
划分模块303,用于当该总期望数据传输速率大于终端当前的最大数据传输速率时,基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合;
运行模块304,用于挂起第一进程集合包括的进程,并运行第二进程集合包括的进程。
在本公开的另一实施例中,参见图4,该排序模块301包括设置单元3011,第一获取单元3012,排序单元3013,第一确定单元3014。
设置单元3011,用于将当前运行的多个应用程序的进程中,正处于前台运行的进程的优先级设置为最高;
第一获取单元3012,用于获取第三进程集合包括的每个进程所属的应用程序类型,得到多个应用程序类型,该第三进程集合包括该多个进程中除该正处于前台运行的进程之外的进程;
排序单元3013,用于基于预设的应用程序类型的优先级和该第三进程集合包括的每个进程所属应用程序的期望数据传输速率,对该第三进程集合包括的进程进行优先级排序,得到该第三进程集合包括的进程的优先级顺序;
第一确定单元3014,用于基于该正处于前台运行的进程的优先级和该第三进程集合包括的进程的优先级顺序,确定该多个进程的优先级顺序。
在本公开的另一实施例中,参见图5,该排序模块301还包括第二获取单元3015。
第二获取单元3015,对于多个进程中的每个进程,基于该进程所属应用程序的应用程序标识,从存储的应用程序标识与期望数据传输速率之间的对应关系中,获取对应的期望数据传输速率。
在本公开的另一实施例中,划分模块303包括第一划分单元。
第一划分单元,用于基于该多个进程的优先级顺序,按照该终端当前的最大数据传输速率,将该多个进程划分为第一进程集合和第二进程集合,该第二进程集合包括的所有进程所属应用程序的期望数据传输速率之和小于或等于该终端当前的最大数据传输速率。
在本公开的另一实施例中,参见图6,该划分模块303包括第三获取单元3031,第二划分单元3032。
第三获取单元3031,用于基于所述多个进程的优先级顺序,从所述多个进程中,获取临界进程;
第二划分单元3032,用于将所述多个进程中优先级低于临界优先级的进程划分为第一进程集合,将所述多个进程中除第一进程集合包括的进程之外的进程划分为第二进程集合,所述临界优先级为所述临界进程的优先级。
在本公开的另一实施例中,参见图7,该第三获取单元3031包括第一确定子单元30311,第二确定子单元30312,第三确定子单元30313。
第一确定子单元30311,用于当该总期望数据传输速率大于终端当前的最大数据传输速率时,确定目标进程所属应用程序的期望数据传输速率与优先级高于该目标进程优先级的进程所属应用程序的期望数据传输速率之和,得到第一目标速率,该目标进程为该多个进程中的任一进程;
第二确定子单元30312,用于确定该第一目标速率和该目标进程的下一个进程所属应用程序的期望数据传输速率之和,得到第二目标速率,该目标进程的下一个进程为该多个进程的优先级顺序中优先级低于该目标进程且与该目标进程相邻的进程;
第三确定子单元30313,用于当该第一目标速率小于或等于该终端当前的最大数据传输速率且该第二目标速率大于该终端当前的最大数据传输速率时,将该目标进程确定为该临界进程。
在本公开的另一实施例中,参见图8,该装置还包括第一获取模块305,第二获取模块306。
第二获取模块305,用于获取该终端当前的信号强度和该终端当前所处的网络制式;
第三获取模块306,用于基于该信号强度和该网络制式,获取该终端当前的最大数据传输速率。
在本公开的另一实施例中,参见图9,该第二获取模块306包括第四获取单元3061,第二确定单元3062。
第四获取单元3061,用于基于该信号强度和该网络制式,从存储的信号强度、网络制式与数据传输速率之间的对应关系中,获取对应的数据传输速率;
第二确定单元3062,用于将获取的数据传输速率确定为该终端当前的最大数据传输速率。
在本公开的实施例中,终端对当前运行的多个进程进行优先级排序,得到该多个进程的优先级顺序,并基于该多个进程的期望数据传输速率,确定总期望数据传输速率,当该总期望数据传输速率大于终端当前的最大数据传输速率时,该终端基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合,挂起第一进程集合包括的进程,并运行第二进程集合包括的进程,从而解决了有限的数据传输速率对多个进程同时运行时造成的影响,提高了优先级较高的进程的运行流畅度。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图10是根据一示例性实施例示出的一种用于进程运行的装置1000的框图。例如,装置1000可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图10,装置1000可以包括以下一个或多个组件:处理组件1002,存储器1004,电源组件1006,多媒体组件1008,音频组件1010,输入/输出(I/O)的接口1012,传感器组件1014,以及通信组件1016。
处理组件1002通常控制装置1000的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件1002可以包括一个或多个处理器1020来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1002可以包括一个或多个模块,便于处理组件1002和其他组件之间的交互。例如,处理部件1002可以包括多媒体模块,以方便多媒体组件1008和处理组件1002之间的交互。
存储器1004被配置为存储各种类型的数据以支持在设备1000的操作。这些数据的示例包括用于在装置1000上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1004可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件1006为装置1000的各种组件提供电力。电力组件1006可以包括电源管理系统,一个或多个电源,及其他与为装置1000生成、管理和分配电力相关联的组件。
多媒体组件1008包括在所述装置1000和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1008包括一个前置摄像头和/或后置摄像头。当设备1000处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1010被配置为输出和/或输入音频信号。例如,音频组件1010包括一个麦克风(MIC),当装置1000处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1004或经由通信组件1016发送。在一些实施例中,音频组件1010还包括一个扬声器,用于输出音频信号。
I/O接口1012为处理组件1002和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1014包括一个或多个传感器,用于为装置1000提供各个方面的状态评估。例如,传感器组件1014可以检测到设备1000的打开/关闭状态,组件的相对定位,例如所述组件为装置1000的显示器和小键盘,传感器组件1014还可以检测装置1000或装置1000一个组件的位置改变,用户与装置1000接触的存在或不存在,装置1000方位或加速/减速和装置1000的温度变化。传感器组件1014可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1014还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1014还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1016被配置为便于装置1000和其他设备之间有线或无线方式的通信。装置1000可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件1016经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件1016还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置1000可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1004,上述指令可由装置1000的处理器1020执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种进程运行方法,该方法包括:
对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序;
基于该多个应用程序的期望数据传输速率,确定总期望数据传输速率;
当该总期望数据传输速率大于终端当前的最大数据传输速率时,基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合;
挂起该第一进程集合包括的进程,并运行该第二进程集合包括的进程。
在本公开的另一实施例中,对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序,包括:
将当前运行的多个应用程序的进程中,正处于前台运行的进程的优先级设置为最高;
获取第三进程集合包括的每个进程所属的应用程序类型,得到多个应用程序类型,该第三进程集合包括该多个进程中除该正处于前台运行的进程之外的进程;
基于预设的应用程序类型的优先级和该第三进程集合包括的每个进程所属应用程序的期望数据传输速率,对该第三进程集合包括的进程进行优先级排序,得到该第三进程集合包括的进程的优先级顺序;
基于该正处于前台运行的进程的优先级和该第三进程集合包括的进程的优先级顺序,确定该多个进程的优先级顺序。
在本公开的另一实施例中,基于预设的应用程序类型的优先级和该第三进程集合包括的每个进程所属应用程序的期望数据传输速率,对该第三进程集合包括的进程进行优先级排序,得到该第三进程集合包括的进程的优先级顺序之前,还包括:
对于多个进程中的每个进程,基于该进程所属应用程序的应用程序标识,从存储的应用程序标识与期望数据传输速率之间的对应关系中,获取对应的期望数据传输速率。
在本公开的另一实施例中,基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合,包括:
基于该多个进程的优先级顺序,按照该终端当前的最大数据传输速率,将该多个进程划分为第一进程集合和第二进程集合,该第二进程集合包括的所有进程所属应用程序的期望数据传输速率之和小于或等于该终端当前的最大数据传输速率。
在本公开的另一实施例中,基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合,包括:
基于该多个进程的优先级顺序,从该多个进程中,获取临界进程;
将该多个进程中优先级低于临界优先级的进程划分为第一进程集合,将该多个进程中除第一进程集合包括的进程之外的进程划分为第二进程集合,该临界优先级为所述临界进程的优先级。
在本公开的另一实施例中,从该多个进程中,获取临界进程,包括:
确定目标进程所属应用程序的期望数据传输速率与优先级高于该目标进程优先级的进程所属应用程序的期望数据传输速率之和,得到第一目标速率,该目标进程为该多个进程中的任一进程;
确定该第一目标速率和该目标进程的下一个进程所属应用程序的期望数据传输速率之和,得到第二目标速率,该目标进程的下一个进程为该多个进程的优先级顺序中优先级低于该目标进程且与该目标进程相邻的进程;
当该第一目标速率小于或等于该终端当前的最大数据传输速率且该第二目标速率大于该终端当前的最大数据传输速率时,将该目标进程确定为该临界进程。
在本公开的另一实施例中,当该总期望数据传输速率大于终端当前的最大数据传输速率时,基于所述多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合之前,还包括:
获取该终端当前的信号强度和该终端当前所处的网络制式;
基于该信号强度和该网络制式,获取该终端当前的最大数据传输速率。
在本公开的另一实施例中,基于该信号强度和该网络制式,获取该终端当前的最大数据传输速率,包括:
基于该信号强度和该网络制式,从存储的信号强度、网络制式与数据传输速率之间的对应关系中,获取对应的数据传输速率;
将获取的数据传输速率确定为该终端当前的最大数据传输速率。
在本公开的实施例中,终端对当前运行的多个进程进行优先级排序,得到该多个进程的优先级顺序,并基于该多个进程的期望数据传输速率,确定总期望数据传输速率,当该总期望数据传输速率大于终端当前的最大数据传输速率时,该终端基于该多个进程的优先级顺序,将该多个进程划分为第一进程集合和第二进程集合,挂起该第一进程集合包括的进程,并运行该第二进程集合包括的进程,,从而解决了有限的数据传输速率对多个进程同时运行时造成的影响,提高了优先级较高的进程的运行流畅度。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (11)

1.一种进程运行方法,其特征在于,所述方法包括:
对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序;
基于所述多个应用程序的期望数据传输速率,确定总期望数据传输速率;
当所述总期望数据传输速率大于终端当前的最大数据传输速率时,基于所述多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合;
挂起所述第一进程集合包括的进程,并运行所述第二进程集合包括的进程;
所述方法还包括:
对于多个进程中的每个进程,基于所述进程所属应用程序的应用程序标识,从存储的应用程序标识与期望数据传输速率之间的对应关系中,获取对应的期望数据传输速率;
所述基于所述多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合,包括:
基于所述多个进程的优先级顺序,按照所述终端当前的最大数据传输速率,将所述多个进程划分为第一进程集合和第二进程集合,所述第二进程集合包括的所有进程所属应用程序的期望数据传输速率之和小于或等于所述终端当前的最大数据传输速率;
或者,基于所述多个进程的优先级顺序,从所述多个进程中,获取临界进程;
将所述多个进程中优先级低于临界优先级的进程划分为第一进程集合,将所述多个进程中除第一进程集合包括的进程之外的进程划分为第二进程集合,所述临界优先级为所述临界进程的优先级。
2.如权利要求1所述的方法,其特征在于,所述对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序,包括:
将当前运行的多个应用程序的进程中,正处于前台运行的进程的优先级设置为最高;
获取第三进程集合包括的每个进程所属的应用程序类型,得到多个应用程序类型,所述第三进程集合包括所述多个进程中除所述正处于前台运行的进程之外的进程;
基于预设的应用程序类型的优先级和所述第三进程集合包括的每个进程所属应用程序的期望数据传输速率,对所述第三进程集合包括的进程进行优先级排序,得到所述第三进程集合包括的进程的优先级顺序;
基于所述正处于前台运行的进程的优先级和所述第三进程集合包括的进程的优先级顺序,确定所述多个进程的优先级顺序。
3.如权利要求1所述的方法,其特征在于,所述从所述多个进程中,获取临界进程,包括:
确定目标进程所属应用程序的期望数据传输速率与优先级高于所述目标进程优先级的进程所属应用程序的期望数据传输速率之和,得到第一目标速率,所述目标进程为所述多个进程中的任一进程;
确定所述第一目标速率和所述目标进程的下一个进程所属应用程序的期望数据传输速率之和,得到第二目标速率,所述目标进程的下一个进程为所述多个进程的优先级顺序中优先级低于所述目标进程且与所述目标进程相邻的进程;
当所述第一目标速率小于或等于所述终端当前的最大数据传输速率且所述第二目标速率大于所述终端当前的最大数据传输速率时,将所述目标进程确定为所述临界进程。
4.如权利要求1-3任一权利要求所述的方法,其特征在于,所述当所述总期望数据传输速率大于终端当前的最大数据传输速率时,基于所述多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合之前,还包括:
获取所述终端当前的信号强度和所述终端当前所处的网络制式;
基于所述信号强度和所述网络制式,获取所述终端当前的最大数据传输速率。
5.如权利要求4所述的方法,其特征在于,所述基于所述信号强度和所述网络制式,获取所述终端当前的最大数据传输速率,包括:
基于所述信号强度和所述网络制式,从存储的信号强度、网络制式与数据传输速率之间的对应关系中,获取对应的数据传输速率;
将获取的数据传输速率确定为所述终端当前的最大数据传输速率。
6.一种进程运行装置,其特征在于,所述装置包括:
排序模块,用于对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序;
确定模块,用于基于所述多个应用程序的期望数据传输速率,确定总期望数据传输速率;
划分模块,用于当所述总期望数据传输速率大于终端当前的最大数据传输速率时,基于所述多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合;
运行模块,用于挂起所述第一进程集合包括的进程,并运行所述第二进程集合包括的进程;
所述装置还包括:
第二获取单元,对于多个进程中的每个进程,基于所述进程所属应用程序的应用程序标识,从存储的应用程序标识与期望数据传输速率之间的对应关系中,获取对应的期望数据传输速率;
所述划分模块包括:
第一划分单元,用于基于所述多个进程的优先级顺序,按照所述终端当前的最大数据传输速率,将所述多个进程划分为第一进程集合和第二进程集合,所述第二进程集合包括的所有进程所属应用程序的期望数据传输速率之和小于或等于所述终端当前的最大数据传输速率;
或者,第三获取单元,用于基于所述多个进程的优先级顺序,从所述多个进程中,获取临界进程;
第二划分单元,用于将所述多个进程中优先级低于临界优先级的进程划分为第一进程集合,将所述多个进程中除第一进程集合包括的进程之外的进程划分为第二进程集合,所述临界优先级为所述临界进程的优先级。
7.如权利要求6所述的装置,其特征在于,所述排序模块包括:
设置单元,用于将当前运行的多个应用程序的进程中,正处于前台运行的进程的优先级设置为最高;
第一获取单元,用于获取第三进程集合包括的每个进程所属的应用程序类型,得到多个应用程序类型,所述第三进程集合包括所述多个进程中除所述正处于前台运行的进程之外的进程;
排序单元,用于基于预设的应用程序类型的优先级和所述第三进程集合包括的每个进程所属应用程序的期望数据传输速率,对所述第三进程集合包括的进程进行优先级排序,得到所述第三进程集合包括的进程的优先级顺序;
第一确定单元,用于基于所述正处于前台运行的进程的优先级和所述第三进程集合包括的进程的优先级顺序,确定所述多个进程的优先级顺序。
8.如权利要求7所述的装置,其特征在于,所述第三获取单元包括:
第一确定子单元,用于当所述总期望数据传输速率大于终端当前的最大数据传输速率时,确定目标进程所属应用程序的期望数据传输速率与优先级高于所述目标进程优先级的进程所属应用程序的期望数据传输速率之和,得到第一目标速率,所述目标进程为所述多个进程中的任一进程;
第二确定子单元,用于确定所述第一目标速率和所述目标进程的下一个进程所属应用程序的期望数据传输速率之和,得到第二目标速率,所述目标进程的下一个进程为所述多个进程的优先级顺序中优先级低于所述目标进程且与所述目标进程相邻的进程;
第三确定子单元,用于当所述第一目标速率小于或等于所述终端当前的最大数据传输速率且所述第二目标速率大于所述终端当前的最大数据传输速率时,将所述目标进程确定为所述临界进程。
9.如权利要求6-8任一权利要求所述的装置,其特征在于,所述装置还包括:
第一获取模块,用于获取所述终端当前的信号强度和所述终端当前所处的网络制式;
第二获取模块,用于基于所述信号强度和所述网络制式,获取所述终端当前的最大数据传输速率。
10.如权利要求9所述的装置,其特征在于,所述第二获取模块包括:
第四获取单元,用于基于所述信号强度和所述网络制式,从存储的信号强度、网络制式与数据传输速率之间的对应关系中,获取对应的数据传输速率;
第二确定单元,用于将获取的数据传输速率确定为所述终端当前的最大数据传输速率。
11.一种进程运行装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
对当前运行的多个应用程序的进程进行优先级排序,得到多个进程的优先级顺序;
基于所述多个应用程序的期望数据传输速率,确定总期望数据传输速率;
当所述总期望数据传输速率大于终端当前的最大数据传输速率时,基于所述多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合;
挂起所述第一进程集合包括的进程,并运行所述第二进程集合包括的进程;
对于多个进程中的每个进程,基于所述进程所属应用程序的应用程序标识,从存储的应用程序标识与期望数据传输速率之间的对应关系中,获取对应的期望数据传输速率;
所述基于所述多个进程的优先级顺序,将所述多个进程划分为第一进程集合和第二进程集合,包括:
基于所述多个进程的优先级顺序,按照所述终端当前的最大数据传输速率,将所述多个进程划分为第一进程集合和第二进程集合,所述第二进程集合包括的所有进程所属应用程序的期望数据传输速率之和小于或等于所述终端当前的最大数据传输速率;
或者,基于所述多个进程的优先级顺序,从所述多个进程中,获取临界进程;
将所述多个进程中优先级低于临界优先级的进程划分为第一进程集合,将所述多个进程中除第一进程集合包括的进程之外的进程划分为第二进程集合,所述临界优先级为所述临界进程的优先级。
CN201510369431.XA 2015-06-26 2015-06-26 进程运行方法及装置 Active CN105094967B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510369431.XA CN105094967B (zh) 2015-06-26 2015-06-26 进程运行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510369431.XA CN105094967B (zh) 2015-06-26 2015-06-26 进程运行方法及装置

Publications (2)

Publication Number Publication Date
CN105094967A CN105094967A (zh) 2015-11-25
CN105094967B true CN105094967B (zh) 2019-04-16

Family

ID=54575475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510369431.XA Active CN105094967B (zh) 2015-06-26 2015-06-26 进程运行方法及装置

Country Status (1)

Country Link
CN (1) CN105094967B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372110B (zh) * 2016-08-22 2019-12-24 维沃移动通信有限公司 一种应用程序的推荐方法及移动终端
CN107038067B (zh) * 2016-09-07 2020-12-04 创新先进技术有限公司 分布式流处理中处理资源的管理方法和装置
CN107037977B (zh) * 2016-10-14 2020-04-07 惠州Tcl移动通信有限公司 一种基于移动终端的数据写入控制方法及系统
CN106547623A (zh) * 2016-10-26 2017-03-29 安徽扬远信息科技有限公司 一种基于实时优化系统集成的方法
CN108934056B (zh) * 2018-06-20 2021-01-15 联想(北京)有限公司 电子设备的控制方法及系统
CN109324878A (zh) * 2018-09-20 2019-02-12 郑州云海信息技术有限公司 一种进程cpu占用率的控制方法及相关设备
CN112714907B (zh) * 2018-11-08 2023-08-11 深圳市欢太科技有限公司 应用冻结时进行过滤的方法、装置及电子设备
CN112997539B (zh) * 2018-12-29 2022-11-01 深圳市欢太科技有限公司 应用分组调整方法、装置、存储介质及电子设备
CN112997134A (zh) * 2018-12-29 2021-06-18 深圳市欢太科技有限公司 应用图标显示方法、装置、存储介质及电子设备
WO2020133413A1 (zh) * 2018-12-29 2020-07-02 深圳市欢太科技有限公司 应用分组调整方法、装置、存储介质及电子设备
WO2020154902A1 (zh) * 2019-01-29 2020-08-06 深圳市欢太科技有限公司 应用处理方法、装置、存储介质、服务器及电子设备
CN111046378B (zh) * 2019-12-12 2022-07-08 Oppo(重庆)智能科技有限公司 禁止第三方应用程序设置进程优先级的方法及相关装置
CN115412505B (zh) * 2022-11-01 2023-04-07 亿咖通(湖北)技术有限公司 数据流量限制方法、装置、电子设备及非易失性存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1169192A (zh) * 1994-12-09 1997-12-31 艾利森电话股份有限公司 管理内部执行线程的系统
CN103500121A (zh) * 2013-09-29 2014-01-08 深圳Tcl新技术有限公司 一种进程管理方法及装置
CN104407924A (zh) * 2014-10-31 2015-03-11 小米科技有限责任公司 内存优化方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1169192A (zh) * 1994-12-09 1997-12-31 艾利森电话股份有限公司 管理内部执行线程的系统
CN103500121A (zh) * 2013-09-29 2014-01-08 深圳Tcl新技术有限公司 一种进程管理方法及装置
CN104407924A (zh) * 2014-10-31 2015-03-11 小米科技有限责任公司 内存优化方法及装置

Also Published As

Publication number Publication date
CN105094967A (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
CN105094967B (zh) 进程运行方法及装置
CN105095873B (zh) 照片共享方法、装置
CN104486451B (zh) 应用程序推荐方法及装置
CN105975156B (zh) 应用界面显示方法及装置
CN104991910B (zh) 相册创建方法及装置
CN104615663B (zh) 文件排序方法、装置及终端
CN104503690B (zh) 一种应用图标的排列方法及装置
CN105389113B (zh) 基于手势的应用控制方法、装置及终端
CN105100634B (zh) 图像拍摄方法及装置
CN106789551B (zh) 会话消息展示方法及装置
CN108319886A (zh) 指纹识别方法及装置
CN105912258A (zh) 操作处理方法及装置
CN108206998A (zh) 获取终端信息的方法及装置
CN109376771A (zh) 应用程序分类方法及装置
CN109698878A (zh) 通知消息排序方法及装置
CN110087118A (zh) 评论消息处理方法、装置、终端、服务器及介质
CN107220059A (zh) 应用界面的显示方法及装置
CN108804179A (zh) 显示通知栏消息的方法、装置、终端及存储介质
CN104811904B (zh) 联系人设置方法及装置
CN108881634A (zh) 终端控制方法、装置及计算机可读存储介质
CN109451813A (zh) 小区接入方法及装置
CN106295468B (zh) 人脸识别方法及装置
CN110490303A (zh) 超网络构建方法、使用方法、装置及介质
CN105430469B (zh) 音视频数据的播放方法、装置、终端及服务器
CN105357388B (zh) 一种信息推荐的方法及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant