CN106354564A - ***资源分配方法和***资源分配*** - Google Patents

***资源分配方法和***资源分配*** Download PDF

Info

Publication number
CN106354564A
CN106354564A CN201610795958.3A CN201610795958A CN106354564A CN 106354564 A CN106354564 A CN 106354564A CN 201610795958 A CN201610795958 A CN 201610795958A CN 106354564 A CN106354564 A CN 106354564A
Authority
CN
China
Prior art keywords
cpu
resource
application program
value
resource value
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
Application number
CN201610795958.3A
Other languages
English (en)
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.)
Shenzhen Tinno Wireless Technology Co Ltd
Original Assignee
Shenzhen Tinno Wireless Technology Co Ltd
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 Shenzhen Tinno Wireless Technology Co Ltd filed Critical Shenzhen Tinno Wireless Technology Co Ltd
Priority to CN201610795958.3A priority Critical patent/CN106354564A/zh
Publication of CN106354564A publication Critical patent/CN106354564A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提出了一种***资源分配方法和一种***资源分配***,其中,***资源分配方法包括:接收对应用程序的运行命令;根据所述运行命令,检索资源值数据库中是否具有与所述应用程序对应的目标资源值;根据检索结果,为所述应用程序分配***资源,以供运行所述应用程序。通过本发明的技术方案,可以合理地为应用程序分配***资源,能够在避免产生过高的功耗的同时,保证应用程序运行的高效性,大大提升了用户体验。

Description

***资源分配方法和***资源分配***
【技术领域】
本发明涉及终端技术领域,尤其涉及一种***资源分配方法和一种***资源分配***。
【背景技术】
一般地,移动设备等终端上的每个应用对***资源的耗费不同,因此,在运行应用程序时,需要向该应用程序分配***资源。目前,向应用程序分配***资源的做法一般是按照最高配置为应用程序使用当前资源,以确保应用的启动流畅。比如,在具有8核CPU(Central Processing Unit,中央处理器)的终端中,如果需要运行应用程序A,则需要开启CPU的全部8核,即会产生8颗CPU核的功耗。
然而,这种做法具有很多弊端,第一,按照最高配置启动应用程序会产生较高的功耗,增加了用户的使用成本,并且不利于环境保护,第二,按照最高配置启动应用程序会造成机身发热过快,并使得***的运行速度降低,降低了用户体验。
因此,如何合理地为应用程序分配***资源,成为目前亟待解决的技术问题。
【发明内容】
本发明提出了一种***资源分配方法和一种***资源分配***,可以合理地为应用程序分配***资源,能够在避免产生过高的功耗的同时保证应用程序运行的高效性,以提升用户体验。
有鉴于此,本发明的一方面提出了一种***资源分配方法,包括:接收对应用程序的运行命令;根据所述运行命令,检索资源值数据库中是否具有与所述应用程序对应的目标资源值;根据检索结果,为所述应用程序分配***资源,以供运行所述应用程序。
在该技术方案中,当根据运行命令运行应用程序时,可以首先检索终端中或与终端相连的服务器或网络中的资源值数据库内是否具有该应用程序对应的目标资源值,以便根据检索的实际结果合理地为该应用程序分配***资源。其中,目标资源值为该应用程序既能够顺利运行又能够避免产生过高的功耗的资源值,故如果资源值数据库内具有该应用程序对应的目标资源值,可以直接按照该目标资源值向该应用程序分配***资源。
通过该技术方案,可以合理地为应用程序分配***资源,能够在避免产生过高的功耗的同时,保证应用程序运行的高效性,大大提升了用户体验。
比如,在具有8核CPU的终端中,当接收到对应用程序A的运行命令时,如果在资源值数据库中检索到应用程序A对应的目标资源值为1核时,说明仅需开启1颗CPU核就能满足应用程序A运行的全部性能需求,因此,可以只开启1颗CPU核,即仅产生1颗CPU核的功耗。
在上述技术方案中,优选地,所述目标资源值包括以下至少之一或其组合:CPU核数、CPU主频、RAM(Random Access Memory,随机存取存储器)使用数和RAM频率。
在该技术方案中,目标资源值包括但不限于CPU核数、CPU主频、RAM使用数和RAM频率中的一项或多项的组合,通过对任一应用程序的多种类型的目标资源值的设定和存储,增加了目标资源值的有效性,换句话说,使用多样化的目标资源值能够使对应用程序的资源分配更加合理有效,从而提升***的运行效率和用户体验。
在上述任一技术方案中,优选地,所述根据检索结果,为所述应用程序分配***资源,具体包括:当所述检索结果为所述资源值数据库中具有所述目标资源值时,将所述目标资源值设置为所述应用程序的运行资源值;当所述检索结果为所述资源值数据库中不具有所述目标资源值时,为所述应用程序分配当前最大资源值。
在该技术方案中,如果资源值数据库内具有该应用程序对应的目标资源值,可以直接按照该目标资源值向该应用程序分配***资源,而如果资源值数据库内不具有该应用程序对应的目标资源值,则可以先向应用程序分配当前最大资源值,以保证其顺利运行。通过该技术方案,可以合理地为应用程序分配***资源,能够在避免产生过高的功耗的同时,保证应用程序运行的高效性,大大提升了用户体验。
在上述任一技术方案中,优选地,在为所述应用程序分配当前最大资源值的步骤后,还包括:实时监控***资源的运行参数,其中,所述运行参数包括CPU负载、CPU运行核数和CPU主频数值;根据所述***资源的运行参数,调整分配给所述应用程序的资源值;将调整结果作为与所述应用程序对应的目标资源值存储至所述资源值数据库中。
在该技术方案中,为应用程序分配当前最大资源值后,可以通过实时监控***资源的运行参数的方式为其确定对应的目标资源值,这种情况适用于新安装的应用程序或更新后的应用程序,使得***可以自主计算新安装的应用程序或更新后的应用程序所需的资源值,提升了资源分配的主动性,从而适应用户的实际操作,提升用户体验。
在上述任一技术方案中,优选地,所述根据所述***资源的运行参数,调整分配给所述应用程序的资源值,具体包括:判断所述CPU负载是否大于或等于预定百分比;当判断结果为是时,检测所述CPU运行核数和/或所述CPU主频数值是否为最高,以供确定是否继续提升所述CPU运行核数和/或所述CPU主频数值;当所述判断结果为否时,降低所述CPU运行核数和/或所述CPU主频数值。
在该技术方案中,预定百分比可以设置为70%或80%,当然,也可以设置为根据需要除此之外的其他值,当CPU负载大于或等于预定百分比时,可以检测当前使用的CPU运行核数是否为最高,当确定CPU运行核数为最高时,说明已经无法通过提升CPU运行核数来保证***及应用程序的顺利运行,故可以进一步检测当前使用的CPU主频数值是否为最高,如果是,则不动作,如果否,则提升CPU主频数值,以保证***和应用程序的顺利运行。
同样地,当CPU负载大于或等于预定百分比时,也可以先检测当前使用的CPU主频数值是否为最高,当确定CPU主频数值为最高时,说明已经无法通过提升CPU主频数值来保证***及应用程序的顺利运行,故可以进一步检测当前使用的CPU运行核数是否为最高,如果是,则不动作,如果否,则提升CPU运行核数,以保证***和应用程序的顺利运行。
当然,如果CPU运行核数和CPU主频数值均未达到最高,也可以同时对其进行升高。
同理,当CPU负载小于预定百分比时,可采取类似的方式对CPU运行核数进行降核和/或降低CPU主频数值。
通过该技术方案,可以通过依据实际情况调整CPU运行核数和CPU主频数值来确定一个应用程序运行所需的目标资源值,即实现了***自动获取应用程序所需的目标资源值,提升了资源分配的主动性和准确性,从而适应用户的实际操作,提升用户体验。
本发明的另一方面提出了一种***资源分配***,包括:运行命令接收单元,用于接收对应用程序的运行命令;资源值检索单元,用于根据所述运行命令,检索资源值数据库中是否具有与所述应用程序对应的目标资源值;***资源分配单元,用于根据检索结果,为所述应用程序分配***资源,以供运行所述应用程序。
在该技术方案中,当根据运行命令运行应用程序时,可以首先检索终端中或与终端相连的服务器或网络中的资源值数据库内是否具有该应用程序对应的目标资源值,以便根据检索的实际结果合理地为该应用程序分配***资源。其中,目标资源值为该应用程序既能够顺利运行又能够避免产生过高的功耗的资源值,故如果资源值数据库内具有该应用程序对应的目标资源值,可以直接按照该目标资源值向该应用程序分配***资源。
通过该技术方案,可以合理地为应用程序分配***资源,能够在避免产生过高的功耗的同时,保证应用程序运行的高效性,大大提升了用户体验。
比如,在具有8核CPU的终端中,当接收到对应用程序A的运行命令时,如果在资源值数据库中检索到应用程序A对应的目标资源值为1核时,说明仅需开启1颗CPU核就能满足应用程序A运行的全部性能需求,因此,可以只开启1颗CPU核,即仅产生1颗CPU核的功耗。
在上述技术方案中,优选地,所述目标资源值包括以下至少之一或其组合:CPU核数、CPU主频、RAM使用数和RAM频率。
在该技术方案中,目标资源值包括但不限于CPU核数、CPU主频、RAM使用数和RAM频率中的一项或多项的组合,通过对任一应用程序的多种类型的目标资源值的设定和存储,增加了目标资源值的有效性,换句话说,使用多样化的目标资源值能够使对应用程序的资源分配更加合理有效,从而提升***的运行效率和用户体验。
在上述任一技术方案中,优选地,所述***资源分配单元包括:第一执行单元,用于当所述检索结果为所述资源值数据库中具有所述目标资源值时,将所述目标资源值设置为所述应用程序的运行资源值;第二执行单元,用于当所述检索结果为所述资源值数据库中不具有所述目标资源值时,为所述应用程序分配当前最大资源值。
在该技术方案中,如果资源值数据库内具有该应用程序对应的目标资源值,可以直接按照该目标资源值向该应用程序分配***资源,而如果资源值数据库内不具有该应用程序对应的目标资源值,则可以先向应用程序分配当前最大资源值,以保证其顺利运行。通过该技术方案,可以合理地为应用程序分配***资源,能够在避免产生过高的功耗的同时,保证应用程序运行的高效性,大大提升了用户体验。
在上述任一技术方案中,优选地,还包括:***资源监控单元,用于在所述第二执行单元为所述应用程序分配当前最大资源值后,实时监控***资源的运行参数,其中,所述运行参数包括CPU负载、CPU运行核数和CPU主频数值;资源值调整单元,用于根据所述***资源的运行参数,调整分配给所述应用程序的资源值;资源值存储单元,用于将调整结果作为与所述应用程序对应的目标资源值存储至所述资源值数据库中。
在该技术方案中,为应用程序分配当前最大资源值后,可以通过实时监控***资源的运行参数的方式为其确定对应的目标资源值,这种情况适用于新安装的应用程序或更新后的应用程序,使得***可以自主计算新安装的应用程序或更新后的应用程序所需的资源值,提升了资源分配的主动性,从而适应用户的实际操作,提升用户体验。
在上述任一技术方案中,优选地,所述资源值调整单元包括:判断单元,用于判断所述CPU负载是否大于或等于预定百分比;第一处理单元,用于当判断结果为是时,检测所述CPU运行核数和/或所述CPU主频数值是否为最高,以供确定是否继续提升所述CPU运行核数和/或所述CPU主频数值;第二处理单元,用于当所述判断结果为否时,降低所述CPU运行核数和/或所述CPU主频数值。
在该技术方案中,预定百分比可以设置为70%或80%,当然,也可以设置为根据需要除此之外的其他值,当CPU负载大于或等于预定百分比时,可以检测当前使用的CPU运行核数是否为最高,当确定CPU运行核数为最高时,说明已经无法通过提升CPU运行核数来保证***及应用程序的顺利运行,故可以进一步检测当前使用的CPU主频数值是否为最高,如果是,则不动作,如果否,则提升CPU主频数值,以保证***和应用程序的顺利运行。
同样地,当CPU负载大于或等于预定百分比时,也可以先检测当前使用的CPU主频数值是否为最高,当确定CPU主频数值为最高时,说明已经无法通过提升CPU主频数值来保证***及应用程序的顺利运行,故可以进一步检测当前使用的CPU运行核数是否为最高,如果是,则不动作,如果否,则提升CPU运行核数,以保证***和应用程序的顺利运行。
当然,如果CPU运行核数和CPU主频数值均未达到最高,也可以同时对其进行升高。
同理,当CPU负载小于预定百分比时,可采取类似的方式对CPU运行核数进行降核和/或降低CPU主频数值。
通过该技术方案,可以通过依据实际情况调整CPU运行核数和CPU主频数值来确定一个应用程序运行所需的目标资源值,即实现了***自动获取应用程序所需的目标资源值,提升了资源分配的主动性和准确性,从而适应用户的实际操作,提升用户体验。
本发明的再一方面提出了一种终端,包括上述技术方案中任一项所述的***资源分配***,因此,该终端具有和上述技术方案中任一项所述的***资源分配***相同的技术效果,在此不再赘述。
通过以上技术方案,可以合理地为应用程序分配***资源,能够在避免产生过高的功耗的同时,保证应用程序运行的高效性,大大提升了用户体验。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1示出了根据本发明的一个实施例的***资源分配方法的流程图;
图2示出了根据本发明的一个实施例的***资源分配***的框图;
图3示出了根据本发明的一个实施例的终端的框图;
图4示出了根据本发明的另一个实施例的***资源分配方法的流程图;
图5示出了根据本发明的一个实施例的目标资源值确定方法的流程图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述执行单元,但这些执行单元不应限于这些术语。这些术语仅用来将执行单元彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一执行单元也可以被称为第二执行单元,类似地,第二执行单元也可以被称为第一执行单元。同理,尽管在本发明实施例中采用术语第一、第二等来描述处的第一处理单元和第二处理单元,但这些处理单元不应限于这些术语。这些术语仅用来将处理单元彼此区分开。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
实施例一
图1示出了根据本发明的一个实施例的***资源分配方法的流程图。
如图1所示,根据本发明的一个实施例的***资源分配方法,包括:
步骤102,接收对应用程序的运行命令;
步骤104,根据运行命令,检索资源值数据库中是否具有与应用程序对应的目标资源值;
步骤106,根据检索结果,为应用程序分配***资源,以供运行应用程序。
在该技术方案中,当根据运行命令运行应用程序时,可以首先检索终端中或与终端相连的服务器或网络中的资源值数据库内是否具有该应用程序对应的目标资源值,以便根据检索的实际结果合理地为该应用程序分配***资源。其中,目标资源值为该应用程序既能够顺利运行又能够避免产生过高的功耗的资源值,故如果资源值数据库内具有该应用程序对应的目标资源值,可以直接按照该目标资源值向该应用程序分配***资源。
通过该技术方案,可以合理地为应用程序分配***资源,能够在避免产生过高的功耗的同时,保证应用程序运行的高效性,大大提升了用户体验。
比如,在具有8核CPU的终端中,当接收到对应用程序A的运行命令时,如果在资源值数据库中检索到应用程序A对应的目标资源值为1核时,说明仅需开启1颗CPU核就能满足应用程序A运行的全部性能需求,因此,可以只开启1颗CPU核,即仅产生1颗CPU核的功耗。
在上述技术方案中,优选地,目标资源值包括以下至少之一或其组合:CPU核数、CPU主频、RAM(Random Access Memory,随机存取存储器)使用数和RAM频率。
在该技术方案中,目标资源值包括但不限于CPU核数、CPU主频、RAM使用数和RAM频率中的一项或多项的组合,通过对任一应用程序的多种类型的目标资源值的设定和存储,增加了目标资源值的有效性,换句话说,使用多样化的目标资源值能够使对应用程序的资源分配更加合理有效,从而提升***的运行效率和用户体验。
在上述任一技术方案中,优选地,步骤106具体包括:当检索结果为资源值数据库中具有目标资源值时,将目标资源值设置为应用程序的运行资源值;当检索结果为资源值数据库中不具有目标资源值时,为应用程序分配当前最大资源值。
在该技术方案中,如果资源值数据库内具有该应用程序对应的目标资源值,可以直接按照该目标资源值向该应用程序分配***资源,而如果资源值数据库内不具有该应用程序对应的目标资源值,则可以先向应用程序分配当前最大资源值,以保证其顺利运行。通过该技术方案,可以合理地为应用程序分配***资源,能够在避免产生过高的功耗的同时,保证应用程序运行的高效性,大大提升了用户体验。
在上述任一技术方案中,优选地,在为应用程序分配当前最大资源值的步骤后,还包括:实时监控***资源的运行参数,其中,运行参数包括CPU负载、CPU运行核数和CPU主频数值;根据***资源的运行参数,调整分配给应用程序的资源值;将调整结果作为与应用程序对应的目标资源值存储至资源值数据库中。
在该技术方案中,为应用程序分配当前最大资源值后,可以通过实时监控***资源的运行参数的方式为其确定对应的目标资源值,这种情况适用于新安装的应用程序或更新后的应用程序,使得***可以自主计算新安装的应用程序或更新后的应用程序所需的资源值,提升了资源分配的主动性,从而适应用户的实际操作,提升用户体验。
在上述任一技术方案中,优选地,根据***资源的运行参数,调整分配给应用程序的资源值,具体包括:判断CPU负载是否大于或等于预定百分比;当判断结果为是时,检测CPU运行核数和/或CPU主频数值是否为最高,以供确定是否继续提升CPU运行核数和/或CPU主频数值;当判断结果为否时,降低CPU运行核数和/或CPU主频数值。
在该技术方案中,预定百分比可以设置为70%或80%,当然,也可以设置为根据需要除此之外的其他值,当CPU负载大于或等于预定百分比时,可以检测当前使用的CPU运行核数是否为最高,当确定CPU运行核数为最高时,说明已经无法通过提升CPU运行核数来保证***及应用程序的顺利运行,故可以进一步检测当前使用的CPU主频数值是否为最高,如果是,则不动作,如果否,则提升CPU主频数值,以保证***和应用程序的顺利运行。
同样地,当CPU负载大于或等于预定百分比时,也可以先检测当前使用的CPU主频数值是否为最高,当确定CPU主频数值为最高时,说明已经无法通过提升CPU主频数值来保证***及应用程序的顺利运行,故可以进一步检测当前使用的CPU运行核数是否为最高,如果是,则不动作,如果否,则提升CPU运行核数,以保证***和应用程序的顺利运行。
当然,如果CPU运行核数和CPU主频数值均未达到最高,也可以同时对其进行升高。
同理,当CPU负载小于预定百分比时,可采取类似的方式对CPU运行核数进行降核和/或降低CPU主频数值。
通过该技术方案,可以通过依据实际情况调整CPU运行核数和CPU主频数值来确定一个应用程序运行所需的目标资源值,即实现了***自动获取应用程序所需的目标资源值,提升了资源分配的主动性和准确性,从而适应用户的实际操作,提升用户体验。
实施例二
图2示出了根据本发明的一个实施例的***资源分配***的框图。
如图2所示,根据本发明的一个实施例的***资源分配***200,包括:运行命令接收单元202、资源值检索单元204和***资源分配单元206。
其中,运行命令接收单元202用于接收对应用程序的运行命令;资源值检索单元204用于根据运行命令,检索资源值数据库中是否具有与应用程序对应的目标资源值;***资源分配单元206用于根据检索结果,为应用程序分配***资源,以供运行应用程序。
在该技术方案中,当根据运行命令运行应用程序时,可以首先检索终端中或与终端相连的服务器或网络中的资源值数据库内是否具有该应用程序对应的目标资源值,以便根据检索的实际结果合理地为该应用程序分配***资源。其中,目标资源值为该应用程序既能够顺利运行又能够避免产生过高的功耗的资源值,故如果资源值数据库内具有该应用程序对应的目标资源值,可以直接按照该目标资源值向该应用程序分配***资源。
通过该技术方案,可以合理地为应用程序分配***资源,能够在避免产生过高的功耗的同时,保证应用程序运行的高效性,大大提升了用户体验。
比如,在具有8核CPU的终端中,当接收到对应用程序A的运行命令时,如果在资源值数据库中检索到应用程序A对应的目标资源值为1核时,说明仅需开启1颗CPU核就能满足应用程序A运行的全部性能需求,因此,可以只开启1颗CPU核,即仅产生1颗CPU核的功耗。
在上述技术方案中,优选地,目标资源值包括以下至少之一或其组合:CPU核数、CPU主频、RAM使用数和RAM频率。
在该技术方案中,目标资源值包括但不限于CPU核数、CPU主频、RAM使用数和RAM频率中的一项或多项的组合,通过对任一应用程序的多种类型的目标资源值的设定和存储,增加了目标资源值的有效性,换句话说,使用多样化的目标资源值能够使对应用程序的资源分配更加合理有效,从而提升***的运行效率和用户体验。
在上述任一技术方案中,优选地,***资源分配单元206包括:第一执行单元2062,用于当检索结果为资源值数据库中具有目标资源值时,将目标资源值设置为应用程序的运行资源值;第二执行单元2064,用于当检索结果为资源值数据库中不具有目标资源值时,为应用程序分配当前最大资源值。
在该技术方案中,如果资源值数据库内具有该应用程序对应的目标资源值,可以直接按照该目标资源值向该应用程序分配***资源,而如果资源值数据库内不具有该应用程序对应的目标资源值,则可以先向应用程序分配当前最大资源值,以保证其顺利运行。通过该技术方案,可以合理地为应用程序分配***资源,能够在避免产生过高的功耗的同时,保证应用程序运行的高效性,大大提升了用户体验。
在上述任一技术方案中,优选地,还包括:***资源监控单元208,用于在第二执行单元为应用程序分配当前最大资源值后,实时监控***资源的运行参数,其中,运行参数包括CPU负载、CPU运行核数和CPU主频数值;资源值调整单元210,用于根据***资源的运行参数,调整分配给应用程序的资源值;资源值存储单元212,用于将调整结果作为与应用程序对应的目标资源值存储至资源值数据库中。
在该技术方案中,为应用程序分配当前最大资源值后,可以通过实时监控***资源的运行参数的方式为其确定对应的目标资源值,这种情况适用于新安装的应用程序或更新后的应用程序,使得***可以自主计算新安装的应用程序或更新后的应用程序所需的资源值,提升了资源分配的主动性,从而适应用户的实际操作,提升用户体验。
在上述任一技术方案中,优选地,资源值调整单元210包括:判断单元2102,用于判断CPU负载是否大于或等于预定百分比;第一处理单元2104,用于当判断结果为是时,检测CPU运行核数和/或CPU主频数值是否为最高,以供确定是否继续提升CPU运行核数和/或CPU主频数值;第二处理单元2106,用于当判断结果为否时,降低CPU运行核数和/或CPU主频数值。
在该技术方案中,预定百分比可以设置为70%或80%,当然,也可以设置为根据需要除此之外的其他值,当CPU负载大于或等于预定百分比时,可以检测当前使用的CPU运行核数是否为最高,当确定CPU运行核数为最高时,说明已经无法通过提升CPU运行核数来保证***及应用程序的顺利运行,故可以进一步检测当前使用的CPU主频数值是否为最高,如果是,则不动作,如果否,则提升CPU主频数值,以保证***和应用程序的顺利运行。
同样地,当CPU负载大于或等于预定百分比时,也可以先检测当前使用的CPU主频数值是否为最高,当确定CPU主频数值为最高时,说明已经无法通过提升CPU主频数值来保证***及应用程序的顺利运行,故可以进一步检测当前使用的CPU运行核数是否为最高,如果是,则不动作,如果否,则提升CPU运行核数,以保证***和应用程序的顺利运行。
当然,如果CPU运行核数和CPU主频数值均未达到最高,也可以同时对其进行升高。
同理,当CPU负载小于预定百分比时,可采取类似的方式对CPU运行核数进行降核和/或降低CPU主频数值。
通过该技术方案,可以通过依据实际情况调整CPU运行核数和CPU主频数值来确定一个应用程序运行所需的目标资源值,即实现了***自动获取应用程序所需的目标资源值,提升了资源分配的主动性和准确性,从而适应用户的实际操作,提升用户体验。
实施例三
图3示出了根据本发明的一个实施例的终端的框图。
如图3所示,根据本发明的一个实施例的终端300,包括图2示出的***资源分配***200,因此,该终端300具有和图2示出的***资源分配***200相同的技术效果,在此不再赘述。
实施例四
图4示出了根据本发明的另一个实施例的***资源分配方法的流程图。
如图4所示,根据本发明的另一个实施例的***资源分配方法,包括:
步骤402,接收对应用程序A的进程启动命令。
步骤404,向***发出运行应用程序A的资源请求。
步骤406,从资源值数据库中检索是否具有应用程序A对应的目标资源值,当检索结果为是时,进入步骤408,否则,进入步骤410。
其中,目标资源值为该应用程序既能够顺利运行又能够避免产生过高的功耗的资源值,检索终端中或与终端相连的服务器或网络中的资源值数据库内是否具有该应用程序对应的目标资源值,以便根据检索的实际结果合理地为该应用程序分配***资源。
步骤408,将该目标资源值设置为应用程序A启动所需的资源。
步骤410,将***默认最大值设置为应用程序A启动所需的资源。
步骤412,使用设置的资源启动应用程序A。
如果资源值数据库内具有该应用程序对应的目标资源值,可以直接按照该目标资源值向该应用程序分配***资源。通过资源值数据库中存储的目标资源值启动应用程序A,可以避免因直接以最大资源启动应用程序A而造成的过高功耗,保证应用程序运行的高效性,大大提升了用户体验。
实施例五
图5示出了根据本发明的一个实施例的目标资源值确定方法的流程图。
如图5所示,根据本发明的一个实施例的目标资源值确定方法,包括:
步骤502,在运行应用程序B时,检测终端的CPU负载。
步骤504,判断终端的CPU负载是否大于或等于80%,当判断结果为是时,进入步骤506,否则,进入步骤508。其中,判断的标准也就是CPU负载的预定阈值可以是80%,也可以是根据需要除此之外的其他数值。
步骤506,判断***当前是否处于最高主频,当判断结果为是时,进入步骤510,否则,进入步骤512。
步骤508,检测是否能够降低CPU核数,当检测结果为是时,进入步骤514,否则,进入步骤516。
步骤510,增加CPU核数,并返回步骤504,继续检测CPU负载是否大于或等于80%。
步骤512,提升CPU主频,并返回步骤504,继续检测CPU负载是否大于或等于80%。通过以上增加CPU核数或提升CPU主频的步骤,可以为应用程序增加***资源,避免因***资源占用不足而无法顺利运行,提升了用户体验。
步骤514,降低CPU核数,并返回步骤504,继续检测CPU负载是否大于或等于80%。通过降低CPU核数的步骤,可以为应用程序减少已分配的***资源,避免因占用***资源过多而造成的功耗过大及内存浪费等问题,降低了使用成本,提升了用户体验。
步骤516,检测是否能够降低CPU主频,当检测结果为是时,进入步骤518,否则,进入步骤520。
步骤518,降低CPU主频,并返回步骤504,继续检测CPU负载是否大于或等于80%。通过降低CPU主频的步骤,可以为应用程序减少已分配的***资源,避免因占用***资源过多而造成的功耗过大及内存浪费等问题,降低了使用成本,提升了用户体验。
步骤520,记录当前的***资源值。
步骤522,将该***资源值存储至资源值数据库中,作为应用程序B的目标资源值。这样,通过循环检测CPU负载,可以依据结果反复调整应用程序分配的***资源值,直至其占用的***资源值既能够保证其顺利运行,也不会因占用***资源过多而造成内存浪费或功耗过多。
换句话说,即实现了使终端的***本身通过自学习的方式合理为应用程序分配***资源,这样,在运行任一应用程序时,如果资源值数据库内具有该应用程序对应的目标资源值,则可以直接按照该目标资源值向该应用程序分配***资源,既能够避免因直接以最大资源启动应用程序而造成的过高功耗,也保证应用程序运行的高效性,大大提升了用户体验。
下面详细描述根据本发明的一个实施例的分配***资源技术方案。
首先,创建资源值数据库,资源值数据库可以是一个单独的数据库,也可以是一个文件,如数据表等。
第二,对移动设备上的每个应用程序所需的***资源进行量化,并将量化结果记录在资源值数据库中,以便在运行该应用程序时,直接根据资源值数据库中已记录的对应资源值为其分配***资源。
对移动设备上的每个应用程序所需的***资源进行量化的过程,具体来说,可先对每个应用程序分配最大资源数,即***当前能够提供的最大资源,在运行应用程序的期间,再对每个应用程序进行资源重新核对,定义出新的资源量化值,存放在资源值数据库中,作为下次运行该应用程序时向***申报资源数的依据。
这样,每次运行应用程序前,可以先申请资源数,再按申请到的资源数发送消息给功耗助手等资源分配工具,以完成***资源的合理分配,启动该应用程序。
功耗助手等资源分配工具需要实时监控***资源的使用状态,才能够依据应用程序当前使用资源的状况动态调整该应用程序分配的资源数。其中,调整资源数的依据包括以下至少之一或其组合:当前CPU主频数值、当前CPU运行核数和当前CPU负载程度。
具体来说,可以建立一个数学模型,比如,当CPU负载大于70%(此阈值可根据不同设备的性能而定)时,是否能通过提升CPU主频来降低CPU负载程度,或是再开启一颗CPU核来加强运算,其中,一般不提倡超频,这里所述的提升CPU主频是指在硬件规定内的频率调节。
我们可以把这一数学模型进一步简化:CPU主频可以化分为多个档位,当CPU负载程度大于70%时,提高CPU主频至上一档,并再次查看当前CPU负载程度是否在70%以内,若不满足条件,再开启一颗CPU核,以加强处理能力,并继续查看当前CPU负载程度是否在70%以内,若仍然不满足,需要继续开启CPU核数来查看。而当满足当前CPU负载程度在70%以内的条件时,记录此应用程序需要的资源数作为目标资源值。
如果一开始检测到的当前CPU负载程度就在70%以内,可以逐步降低CPU核数和/或CPU主频,直至将CPU核数和/或CPU主频降低至能够保证应用程序顺利运行的最低标准,再记录此时应用程序需要的资源数作为目标资源值,从而可以更加准确合理地分配***资源,降低***功耗,避免内存浪费,并提升用户体验。
在当前只有一个应用程序运行时,可评测出该应用程序需要的***资源数,如***负载处于70%至80%的范围内时,当前的***资源数即为该应用程序所需要的***资源数,另外,也可以将单个应用运行时评测的***资源数换算为多个应用运行时叠加值。
在多个应用程序同时运行时,可以只评测前台运行的应用程序需要的***资源数,另外,也可以将多个应用程序同时运行时评测出的前台应用程序的***资源数换算为仅单独运行该应用程序的***资源数。
在具有8核CPU的终端中,当接收到对应用程序A的运行命令时,如果在资源值数据库中检索到应用程序A对应的目标资源值为1颗CPU核时,说明仅需开启1颗CPU核就能满足应用程序A运行的全部性能需求,因此,可以只开启1颗CPU核,即仅产生1颗CPU核的功耗。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,可以合理地为应用程序分配***资源,能够在避免产生过高的功耗的同时,保证应用程序运行的高效性,大大提升了用户体验。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
需要说明的是,本发明实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer,PC)、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
在本发明所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种***资源分配方法,其特征在于,包括:
接收对应用程序的运行命令;
根据所述运行命令,检索资源值数据库中是否具有与所述应用程序对应的目标资源值;
根据检索结果,为所述应用程序分配***资源,以供运行所述应用程序。
2.根据权利要求1所述的***资源分配方法,其特征在于,所述目标资源值包括以下至少之一或其组合:CPU核数、CPU主频、RAM使用数和RAM频率。
3.根据权利要求1或2所述的***资源分配方法,其特征在于,所述根据检索结果,为所述应用程序分配***资源,具体包括:
当所述检索结果为所述资源值数据库中具有所述目标资源值时,将所述目标资源值设置为所述应用程序的运行资源值;
当所述检索结果为所述资源值数据库中不具有所述目标资源值时,为所述应用程序分配当前最大资源值。
4.根据权利要求3所述的***资源分配方法,其特征在于,在为所述应用程序分配当前最大资源值的步骤后,还包括:
实时监控***资源的运行参数,其中,所述运行参数包括CPU负载、CPU运行核数和CPU主频数值;
根据所述***资源的运行参数,调整分配给所述应用程序的资源值;
将调整结果作为与所述应用程序对应的目标资源值存储至所述资源值数据库中。
5.根据权利要求4所述的***资源分配方法,其特征在于,所述根据所述***资源的运行参数,调整分配给所述应用程序的资源值,具体包括:
判断所述CPU负载是否大于或等于预定百分比;
当判断结果为是时,检测所述CPU运行核数和/或所述CPU主频数值是否为最高,以供确定是否继续提升所述CPU运行核数和/或所述CPU主频数值;
当所述判断结果为否时,降低所述CPU运行核数和/或所述CPU主频数值。
6.一种***资源分配***,其特征在于,包括:
运行命令接收单元,用于接收对应用程序的运行命令;
资源值检索单元,用于根据所述运行命令,检索资源值数据库中是否具有与所述应用程序对应的目标资源值;
***资源分配单元,用于根据检索结果,为所述应用程序分配***资源,以供运行所述应用程序。
7.根据权利要求6所述的***资源分配***,其特征在于,所述目标资源值包括以下至少之一或其组合:CPU核数、CPU主频、RAM使用数和RAM频率。
8.根据权利要求6或7所述的***资源分配***,其特征在于,所述***资源分配单元包括:
第一执行单元,用于当所述检索结果为所述资源值数据库中具有所述目标资源值时,将所述目标资源值设置为所述应用程序的运行资源值;
第二执行单元,用于当所述检索结果为所述资源值数据库中不具有所述目标资源值时,为所述应用程序分配当前最大资源值。
9.根据权利要求8所述的***资源分配***,其特征在于,还包括:
***资源监控单元,用于在所述第二执行单元为所述应用程序分配当前最大资源值后,实时监控***资源的运行参数,其中,所述运行参数包括CPU负载、CPU运行核数和CPU主频数值;
资源值调整单元,用于根据所述***资源的运行参数,调整分配给所述应用程序的资源值;
资源值存储单元,用于将调整结果作为与所述应用程序对应的目标资源值存储至所述资源值数据库中。
10.根据权利要求9所述的***资源分配***,其特征在于,所述资源值调整单元包括:
判断单元,用于判断所述CPU负载是否大于或等于预定百分比;
第一处理单元,用于当判断结果为是时,检测所述CPU运行核数和/或所述CPU主频数值是否为最高,以供确定是否继续提升所述CPU运行核数和/或所述CPU主频数值;
第二处理单元,用于当所述判断结果为否时,降低所述CPU运行核数和/或所述CPU主频数值。
CN201610795958.3A 2016-08-31 2016-08-31 ***资源分配方法和***资源分配*** Pending CN106354564A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610795958.3A CN106354564A (zh) 2016-08-31 2016-08-31 ***资源分配方法和***资源分配***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610795958.3A CN106354564A (zh) 2016-08-31 2016-08-31 ***资源分配方法和***资源分配***

Publications (1)

Publication Number Publication Date
CN106354564A true CN106354564A (zh) 2017-01-25

Family

ID=57856989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610795958.3A Pending CN106354564A (zh) 2016-08-31 2016-08-31 ***资源分配方法和***资源分配***

Country Status (1)

Country Link
CN (1) CN106354564A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107577533A (zh) * 2017-08-31 2018-01-12 广东欧珀移动通信有限公司 资源配置方法及相关产品
CN107577537A (zh) * 2017-09-06 2018-01-12 广东欧珀移动通信有限公司 资源配置方法及相关产品
CN107608789A (zh) * 2017-08-31 2018-01-19 维沃移动通信有限公司 一种***资源分配的方法和移动终端
CN107621981A (zh) * 2017-09-06 2018-01-23 广东欧珀移动通信有限公司 资源配置方法及相关产品
CN108279980A (zh) * 2018-01-22 2018-07-13 上海联影医疗科技有限公司 资源分配方法及***和资源分配终端
CN109039929A (zh) * 2018-07-06 2018-12-18 华为技术有限公司 业务调度方法及装置
CN109408238A (zh) * 2018-10-31 2019-03-01 西安万像电子科技有限公司 信息处理方法及装置
CN111708633A (zh) * 2020-05-28 2020-09-25 北京赛博云睿智能科技有限公司 一种资源动态调整方法及***
CN115729714A (zh) * 2023-01-06 2023-03-03 之江实验室 一种资源分配方法、装置、存储介质及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111337A (zh) * 2011-03-14 2011-06-29 浪潮(北京)电子信息产业有限公司 任务调度方法和***
CN102495763A (zh) * 2011-11-18 2012-06-13 成都易我科技开发有限责任公司 计算机程序内存动态配置方法
US20120216054A1 (en) * 2009-11-05 2012-08-23 Samsung Electronics Co. Ltd. Method and apparatus for controlling power in low-power multi-core system
CN103544055A (zh) * 2013-10-22 2014-01-29 深圳Tcl新技术有限公司 资源需求数据的收集方法、应用程序的稳定运行方法及***
CN104468755A (zh) * 2014-11-27 2015-03-25 中国联合网络通信集团有限公司 实现应用性能保障的方法和装置
CN104503840A (zh) * 2014-12-15 2015-04-08 北京奇虎科技有限公司 对终端资源进行优化的方法及装置
CN105138905A (zh) * 2015-08-25 2015-12-09 中国科学院信息工程研究所 Linux应用程序的隔离运行方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120216054A1 (en) * 2009-11-05 2012-08-23 Samsung Electronics Co. Ltd. Method and apparatus for controlling power in low-power multi-core system
CN102111337A (zh) * 2011-03-14 2011-06-29 浪潮(北京)电子信息产业有限公司 任务调度方法和***
CN102495763A (zh) * 2011-11-18 2012-06-13 成都易我科技开发有限责任公司 计算机程序内存动态配置方法
CN103544055A (zh) * 2013-10-22 2014-01-29 深圳Tcl新技术有限公司 资源需求数据的收集方法、应用程序的稳定运行方法及***
CN104468755A (zh) * 2014-11-27 2015-03-25 中国联合网络通信集团有限公司 实现应用性能保障的方法和装置
CN104503840A (zh) * 2014-12-15 2015-04-08 北京奇虎科技有限公司 对终端资源进行优化的方法及装置
CN105138905A (zh) * 2015-08-25 2015-12-09 中国科学院信息工程研究所 Linux应用程序的隔离运行方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107577533A (zh) * 2017-08-31 2018-01-12 广东欧珀移动通信有限公司 资源配置方法及相关产品
CN107608789A (zh) * 2017-08-31 2018-01-19 维沃移动通信有限公司 一种***资源分配的方法和移动终端
CN107577533B (zh) * 2017-08-31 2020-12-15 Oppo广东移动通信有限公司 资源配置方法及相关产品
CN107577537A (zh) * 2017-09-06 2018-01-12 广东欧珀移动通信有限公司 资源配置方法及相关产品
CN107621981A (zh) * 2017-09-06 2018-01-23 广东欧珀移动通信有限公司 资源配置方法及相关产品
CN108279980A (zh) * 2018-01-22 2018-07-13 上海联影医疗科技有限公司 资源分配方法及***和资源分配终端
CN109039929A (zh) * 2018-07-06 2018-12-18 华为技术有限公司 业务调度方法及装置
CN109408238A (zh) * 2018-10-31 2019-03-01 西安万像电子科技有限公司 信息处理方法及装置
CN111708633A (zh) * 2020-05-28 2020-09-25 北京赛博云睿智能科技有限公司 一种资源动态调整方法及***
CN115729714A (zh) * 2023-01-06 2023-03-03 之江实验室 一种资源分配方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN106354564A (zh) ***资源分配方法和***资源分配***
US7155625B2 (en) Method and apparatus to modify power requirements for a system
EP2696285A1 (en) Method and device for allocating resource
CN104360878B (zh) 一种应用软件部署的方法及装置
CN110933178B (zh) 调整集群***内的节点配置的方法及服务器
CN107832164A (zh) 一种基于Ceph的故障硬盘处理的方法及装置
CN106547612A (zh) 一种多任务处理方法及装置
CN103229125A (zh) 机箱内的刀片服务器之间的动态功率平衡
CN103581313A (zh) 一种处理设备与集群服务器建立连接的方法及处理设备
CN103078933A (zh) 一种确定数据迁移时机的方法和装置
CN103775367A (zh) 智能风扇的控制方法
CN106569898A (zh) 一种资源分配的方法以及移动终端
CN102656936B (zh) 一种lte基站中基带资源池的实现方法及装置
CN106227530A (zh) 一种设置信息推送权限的方法及移动终端
CN108694083B (zh) 一种服务器的数据处理方法和装置
CN103870319A (zh) 信息处理方法、装置及电子设备
CN109597764A (zh) 一种目录配额的测试方法及相关装置
CN103365392A (zh) 内存管理***及方法
CN108287760A (zh) 终端设备控制方法及装置、终端设备及计算机可读存储介质
CN103258389B (zh) 自助终端上传文件的方法、***和自助终端
CN117112701B (zh) 分布式数据库中的节点切换方法、计算机设备及存储介质
CN102779058A (zh) 界面数据加载装置和界面数据加载方法
CN106126011A (zh) 一种应用程序的资源占用信息显示方法及移动终端
CN105426253A (zh) 一种自助设备硬件管理方法和装置
CN109002381A (zh) 进程通信监控方法、电子装置及计算机可读存储介质

Legal Events

Date Code Title Description
C06 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: 20170125