CN107885591A - 为应用分配***资源的方法和终端 - Google Patents

为应用分配***资源的方法和终端 Download PDF

Info

Publication number
CN107885591A
CN107885591A CN201610855261.0A CN201610855261A CN107885591A CN 107885591 A CN107885591 A CN 107885591A CN 201610855261 A CN201610855261 A CN 201610855261A CN 107885591 A CN107885591 A CN 107885591A
Authority
CN
China
Prior art keywords
intended application
terminal
system resource
moment
resource
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
CN201610855261.0A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610855261.0A priority Critical patent/CN107885591A/zh
Priority to PCT/CN2017/102330 priority patent/WO2018059280A1/zh
Priority to EP17854730.3A priority patent/EP3508974B1/en
Publication of CN107885591A publication Critical patent/CN107885591A/zh
Priority to US16/365,961 priority patent/US11360817B2/en
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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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
    • 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/5038Allocation 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 the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5014Reservation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种为应用分配***资源的方法和终端,能够更及时地给应用分配***资源,以降低应用启动的时延。包括:终端根据终端的当前状态,预测用户待使用的目标应用;终端根据预测的结果,为目标应用预留运行目标应用所需的***资源;终端根据目标应用的资源分配请求,将预留的***资源提供给目标应用使用。

Description

为应用分配***资源的方法和终端
技术领域
本发明涉及终端领域,尤其涉及为应用分配***资源的方法和终端。
背景技术
在包括智能手机在内的终端领域,终端的操作***的首要任务是维护***资源分配。其中***资源包括多种类型,例如:以时间片为表示形式的中央处理单元(CentralProcessing Unit,CPU)资源、以内存页为表示形式的内存资源,以带宽为表示的(InputOutput,IO)资源、广播资源等。现有技术中,终端分配***资源的方式包括:根据应用向终端的操作***发送的资源分配请求,操作***从当前剩余的***资源中抽取***资源分配给应用。但是,在需要启动一个对***资源需求较大的应用(例如,对内存资源需求较大的照相机应用)的情况下,若***当前的可用资源不能满足应用需求,操作***会进入***资源分配慢速路径,即操作***首先需要释放被占用的***资源,在释放足够的***资源之后,再为应用分配资源。这种分配***资源的方法的效率较低,并导致应用的启动时间增加,影响用户体验。
发明内容
本发明提供了一种为应用分配***资源的方法和终端,能够更及时地给应用分配***资源,以降低应用启动的时延。
第一方面,提供了一种为应用分配***资源的方法,包括:终端根据所述终端的当前状态,预测用户待使用的目标应用;所述终端根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源;所述终端根据所述目标应用的资源分配请求,将预留的所述***资源提供给所述目标应用使用。可选地,所述预留***资源包括为所述目标应用预留大于或等于目标应用的***资源需求的空闲***资源。
在本发明实施例中,通过预测终端的待使用的目标应用,进而在接收到目标应用的资源分配请求之前,为目标应用预留足够的***资源,以保证能够及时为目标应用分配资源,以降低应用启动的时延,提高了用户体验。
在一种可能的实现方式中,还包括:所述终端预测所述目标应用的使用时刻;所述终端根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源,包括:所述终端在所述使用时刻之前,为所述目标应用预留***资源。
在本发明实施例中,通过预测所述目标应用的使用时刻,进而在所述目标应用的使用时刻之前,为目标应用预留***资源,以保证能够在接收到目标应用的分配请求之前,及时为目标应用分配资源,以降低应用启动的时延,提高了用户体验。
在一种可能的实现方式中,所述终端预测所述目标应用的使用时刻,包括:所述终端根据机器学习模型,预测所述目标应用的使用时刻,其中,所述机器学习模型的模型参数是根据所述用户使用所述目标应用的历史数据确定的。
在一种可能的实现方式中,所述机器学习模型包括指数分布模型,所述终端预测所述目标应用的使用时刻,包括:所述终端采用指数分布模型,预测所述目标应用的使用时刻,其中,所述指数分布模型用于指示所述目标应用在目标时间区间内被使用的概率。
在一种可能的实现方式中,所述目标时间区间为目标应用上次被使用的时刻到目标时刻之间的时间区间,所述目标时刻为当前时刻之后的时刻。
在一种可能的实现方式中,所述目标时间区间为第一时刻到第二时刻之间的时间区间,所述第一时刻为当前时刻或当前时刻之后的时刻,所述第二时刻为所述第一时刻之后的时刻。
在一种可能的实现方式中,所述终端采用指数分布模型,预测所述目标应用的使用时刻,包括:所述终端统计所述目标应用在单位时间内的平均使用次数;所述终端根据所述平均使用次数,确定所述指数分布模型的模型参数;所述终端根据所述指数分布模型和所述指数分布模型的模型参数,预测所述目标应用的使用时刻。
在一种可能的实现方式中,所述机器学习模型包括隐马尔可夫模型,所述终端预测所述目标应用的使用时刻,包括:采用隐马尔科夫模型,预测所述目标应用的使用时刻,所述隐马尔科夫模型用于指示所述目标应用在目标离散时间区间内被使用的概率。
在一种可能的实现方式中,所述终端根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源,包括:所述终端在当前的空闲***资源不满足所述目标应用的资源需求的情况下,释放部分被占用的***资源以获得刷新后的空闲***资源,以便于为所述目标应用分配***资源。
在一种可能的实现方式中,所述根据所述终端的当前状态,预测用户待使用的目标应用,包括:所述终端根据所述终端的当前状态,预测用户待使用的多个候选应用,所述多个候选应用中包含所述目标应用;所述终端根据预测的结果,为所述目标应用预留***资源,包括:统计所述多个候选应用中的每个候选应用所需的***资源;确定所述多个候选应用所需的***资源中每种***资源的数值的最大值。按照所述***资源的种类以及所述每种***资源的数值的最大值,为所述目标应用预留所述每种***资源。
在一种可能的实现方式中,所述***资源的种类包括以下资源中的至少一种:内存资源、中央处理单元CPU资源、输入输出IO资源。
在一种可能的实现方式中,所述预测用户待使用的目标应用,包括:所述终端在接收进行前后台切换的指令之后,开始预测所述目标应用。
第二方面,提供了一种终端,所述终端包括用于执行第一方面的方法的模块。基于同一发明构思,由于该终端解决问题的原理与第一方面的方法设计中的方案对应,因此该终端的实施可以参见方法的实施,重复之处不再赘述。
第三方面,提供了一种终端,包括存储器,用于存储程序;处理器,用于执行存储器中的程序,当所述程序被执行时,所述处理器用于执行第一方面的方法。
第四方面,提供了一种计算机存储介质,用于储存计算机程序,该计算机程序包括用于执行第一方面或第一方面的任一可能的实现方式中的方法的指令。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例的为应用分配***资源的方法的示意框图。
图2是本发明实施例的应用的使用时间间隔的分布示意图。
图3是本发明实施例的终端的示意性结构图。
图4是本发明另一实施例的终端的示意性结构图。
图5是本发明另一实施例的终端的示意性结构图。
图6是本发明另一实施例的终端的示意性结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都应属于本发明保护的范围。
应理解,在本发明实施例中,终端也可以称之为用户设备(User Equipment,简称为“UE”)、移动台(Mobile Station,简称为“MS”)或移动终端(Mobile Terminal)等。例如,终端可以是移动电话(或称为“蜂窝”电话)或计算机等,例如,终端还可以是便携式、袖珍式、手持式或者车载的装置。终端也可以是任何涉及到与用户直接交互且需要进行***资源分配的智能设备上。
本申请提出了一种为应用分配***资源的方法和终端,其主要思想是:基于对用户行为的学习,预测终端的待使用的目标应用,并在用户操作引发目标应用对***资源的需求之前,根据预测的待使用的目标应用,提前为目标应用预留足够的***资源,避免因***资源不足而进入***资源慢速分配路径,能够及时分配***资源,降低应用启动的时延以及提高用户体验。
图1是本发明实施例的为应用分配***资源的方法100的示意图。如图1所示,该方法100可以由终端执行。该方法100包括:
S101,终端根据所述终端的当前状态,预测用户待使用的目标应用。
可选地,预测终端的待使用的目标应用包括多种方式。例如,可以获取终端的当前状态;根据终端的当前状态,预测终端的待使用的目标应用。更具体地,可以根据用户行为的历史记录数据,预先学习用户行为的行为模型,根据终端的当前状态和用户行为的行为模型,预测终端的待使用的目标应用。
可选地,终端的当前状态可以包括多种类型的状态信息。状态信息可以包括场景信息、时间信息、位置信息或者其他信息。例如,场景信息可以包括用户当前处于静止状态、跑步状态和走路状态。状态信息还可以包括终端当前的剩余电量信息、无线网络连接状态信息、蓝牙连接状态信息、耳机连接状态信息等。
可选地,可以根据机器学习模型预先学习用户行为的行为模型。该机器学习模型可以是逻辑回归模型、协同过滤模型、随机行走模型,也可以是其他机器学习模型。本发明实施例对此不做限定。其中,作为一个示例,逻辑回归模型可以包括Softmax模型。Softmax模型是一种增量式的学习算法。在增量式学习算法中,训练过程可在保证原先学习的模型参数基础上,融合新训练样本的特征数据。即在增量式学习过程中,无需保留已经学习过的样本数据,并且原始的行为模型可以通过周期性的训练,不断更新行为模型,使得行为模型越来越接近用户行为的实际使用习惯。
可选地,预测结果中可以包括多个待使用的目标应用。例如,可以根据终端的当前状态和用户行为的行为模型,确定多个待使用的目标应用。终端可以对该预测结果中的至少一个目标应用进行本发明实施例中记载的***资源预分配。
可选地,可以在终端接收到进行前后台切换的指令后,触发对终端待使用的目标应用的预测;或者,可以在特定的触发条件(如用户进行特定操作的情况下)下,触发对终端待使用的目标应用的预测;或者,也可以定时触发对终端待使用的目标应用的预测,本发明实施例对此不作限定。
作为一个示例,可以在检测到用户触发终端的主页(英文:Home)键的情况下,触发对终端待使用的目标应用的预测。
S102,所述终端根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源。
可选地,上述***资源可以包括多种类型的资源。例如,***资源可以包括以下资源中的至少一种:内存资源、CPU资源、IO资源、广播资源。
可选地,上述预留运行所述目标应用所需的***资源可以是指满足所述目标应用运行所需要的***资源。换句话说,为所述目标应用预留大于或等于目标应用的***资源需求的空闲***资源。
可选地,在终端接收到的用户操作指示启动目标应用的情况下,终端的操作***将接收目标应用的资源分配请求,以请求为目标应用分配***资源。例如,以目标应用请求的***资源为内存资源、操作***为安卓(英文:Android)***为例,可以由虚拟机通过***接口向操作***发送资源分配请求(例如,资源分配请求可以包括内存动态申请)申请目标应用需要的***资源。可以在接收目标应用的资源分配请求之前,为目标应用预留***资源,从而保证为目标应用分配资源的速度,进而降低应用启动的时延。
可选地,在接收目标应用的资源分配请求之前,为目标应用预留运行所述目标应用所需的***资源的方式有多种。例如,在一种方式中,可以在预测待使用的目标应用之后,即时为目标应用预留***资源。在另一种方式中,可以在预测待使用的目标应用之后,经过一段预设时间之后为目标应用预留***资源。该预设时间可以是根据经验确定的。例如,该预设时间可以是根据对用户行为的历史记录数据学习确定的。在又一种方式中,可以在预测待使用的目标应用之后,进一步预测待使用的目标应用的使用时刻,并在目标应用的使用时刻之前,为目标应用预留***资源。
S103,所述终端根据所述目标应用的资源分配请求,将预留的所述***资源提供给所述目标应用使用。
可选地,在终端接收到目标应用的资源分配请求之后,由于终端已经预先为目标应用资源保留了足够目标应用运行的***资源,所以终端能够及时的将预留的资源提供给目标应用使用。
在本发明实施例中,通过预测终端的待使用的目标应用,进而在接收到目标应用的资源分配请求之前,为目标应用预留足够的***资源,以保证能够及时为目标应用分配资源,以降低应用启动的时延,提高了用户体验。
可选地,方法100中还包括:所述终端预测所述目标应用的使用时刻;所述终端根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源,包括:所述终端在所述使用时刻之前,为所述目标应用预留***资源。
其中,上述目标应用的使用时刻,可以是用户开始使用该目标应用的时刻。或者说,用户开始启动该目标应用的启动时刻。在启动时刻之后,终端将接收到目标应用的资源分配请求,以请求***资源来完成目标应用的启动过程。即目标应用的使用时刻在目标应用发送资源分配请求的时刻之前。若在目标应用的使用时刻之前为目标应用预留***资源,就可以保证在接收到目标应用的资源分配请求之前,为目标应用预留资源。
在本发明实施例中,通过预测所述目标应用的使用时刻,进而在所述目标应用的使用时刻之前,为目标应用预留***资源,以保证能够在接收到目标应用的分配请求之前,及时为目标应用分配资源,以降低应用启动的时延,提高了用户体验。
可选地,在方法100中,终端在预测目标应用的使用时刻之后,可以根据目标应用的使用时刻,确定为目标应用预留***资源的时刻。例如,可以在预测目标应用的使用时刻之后,提前一段预设时间,为目标应用预留***资源。该预设时间可以是经验值。
通过预测目标应用的使用时刻,再进一步确定为目标应用预留***资源的时刻。可以避免了由于预留***资源过早而导致的功耗浪费和资源浪费,也可以避免由于预留***资源过晚导致分配***资源的速度降低。
可选地,在方法100中,所述终端可以根据机器学习模型,预测所述目标应用的使用时刻,其中,所述机器学习模型的模型参数是根据所述用户使用所述目标应用的历史数据确定的。
机器学***均模型(Auto-Regressive and Moving Average Model,ARMA)。本发明实施例对机器学习模型的种类不作限定。
可选地,上述历史数据可以包括用户使用目标应用的历史记录数据。例如,可以是用户使用目标应用的时间信息、位置信息、电量信息等。
其中,根据机器学习模型预测目标应用的使用时刻可以有多种方式。例如,在一种方式中,可以根据逻辑回归模型,预测目标应用的使用时刻。该逻辑回归模型可以用于指示目标应用被使用的时刻落入目标时间区间的概率。具体地,可以根据用户行为的历史记录数据,确定逻辑回归模型的模型参数。然后根据逻辑回归模型,确定目标应用在目标时间区间之内被使用的概率。在目标应用在目标时间区间之内被使用的概率大于或等于预设阈值的情况下,可以根据该目标时间区间,确定目标应用的使用时刻。例如,可以将该目标时间区间的起始时刻或结束时刻确定为目标应用的使用时刻。其中,在本发明实施例中,预设阈值的取值可以根据经验确定。例如,可以通过对用户行为的历史记录数据确定预设阈值的取值。
在一个示例中,可以将预设阈值设置为30%,该目标时间区间的开始时刻可以为当前时刻,在目标应用在目标时间区间被使用的概率大于或等于预设阈值的情况下,可以将目标时间区间的结束时刻作为目标应用的使用时刻。
在另一个示例中,预设阈值可以设置为80%,目标时间区间可以是第一时刻到第二时刻之间的时间区间。第一时刻可以是当前时刻或当前时刻之后的时刻,第二时刻可以在第一时刻之后,在目标应用在目标时间区间被使用的概率大于或等于预设阈值的情况下,可以将目标时间区间的开始时刻作为目标应用的使用时刻。在该种方式中,逻辑回归模型可以包括指数分布模型或者其他类型的逻辑回归模型。
在另一种方式中,可以根据用户行为的历史记录数据,学习逻辑回归模型。并根据学习得到的逻辑回归模型,确定目标应用在目标离散时间区间内被使用的概率,若目标应用在某个离散时间区间内被使用的概率大于或等于预设阈值,则可以根据该离散时间区间,确定目标应用的使用时刻。例如,可以将该离散时间区间的开始时刻或者结束时刻作为该目标应用的使用时刻。在该种方式中,上述逻辑回归模型可以包括条件随机场模型、隐马尔科夫模型或者其他类型的逻辑回归模型。
在又一种方式中,可以根据用户行为的历史记录数据,学***均模型(Auto-Regressive and Moving Average Model,ARMA)或其他类型的线性回归模型。
下面将结合具体例子,详细介绍预测目标应用的使用时刻的方式。应注意,下述例子仅仅是为了帮助本领域技术人员理解本发明实施例,而非要将本发明实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。
作为一个示例,首先介绍根据指数分布模型,预测目标应用的使用时刻的方式。本领域技术人员能够理解,如果单位时间内事件发生的次数服从模型参数为r的泊松分布,则事件连续发生的两次时间间隔的时间序列服从模型参数为r的指数分布。在本发明实施例中,目标应用在单位时间内被使用的次数服从泊松分布。换句话说,目标应用的使用时间间隔服从指数分布。所以,可以根据指数分布模型预测目标应用的使用时刻。例如,图2是在典型的用户使用应用程序的场景下,临近两次将应用程序切换至前台的时间间隔分布图。其中,横坐标表示应用临近两次切换的时间间隔。例如,1-15分钟、15-30分钟等。纵坐标表示统计的应用临近两次切换的次数。从图2可以看出,根据统计结果,应用程序被使用的使用时间间隔符合指数分布。
由上可知,指数分布模型可以用于指示所述目标应用在目标时间区间内被使用的概率。或者,换句话说,指数分布模型可以用于指示目标应用的使用时间间隔落入目标时间区间的概率。其中,目标应用的使用时间间隔,可以是目标应用临近两次被用户使用的时间间隔。例如,目标应用的使用间隔可以包括目标应用临近两次被切换到前台的时间间隔;或者包括目标应用在后台停留的时间。可以根据指数分布模型预测目标应用在某一时间区间之内被使用的概率,若目标应用在某一时间区间内被使用的概率大于或等于预设阈值,则可以根据该时间区间确定目标应用的使用时刻。
作为一个示例,可以在预测待使用的目标应用之后,确定目标应用最近一次被使用的第三时刻。然后,可以根据指数分布模型和预设阈值,确定目标应用的目标时间区间。其中,该目标应用最近一次被使用的第三时刻与下一次被使用的时刻之间的使用时间间隔落入目标时间区间的概率(或者说,目标应用在目标时间区间内被使用的概率)大于或等于预设阈值。可以将第三时刻与目标时间区间的时间长度相加,得到目标应用下一次被使用的使用时刻。
可选地,在方法100中,在采用指数分布模型,预测目标应用的使用时刻之前,可以统计目标应用在单位时间内的平均使用次数;根据该平均使用次数,确定该指数分布模型的模型参数。例如,可以将该平均使用次数的倒数,确定为该指数分布模型的模型参数。
作为一个示例,指数分布模型可以用指数分布概率密度函数表示。指数分布概率密度函数的公式如下所示:
其中,x表示时刻,λ表示模型参数。f(x;λ)可以表示目标应用在任一时刻被使用的概率;f(x;λ)的任两个时刻对应的曲线到x坐标轴之间的面积指示了目标应用在上述两个时刻之间的时间区间内被使用的概率。可以将预先统计的目标应用在单位时间内的平均使用次数的倒数,确定为λ。根据指数分布模型,确定目标应用的使用时刻,可以包括两种方式。在第一种方式中,可以确定目标应用在目标时间区间之内被使用的概率。该目标时间区间的开始时刻可以是目标应用上一次被使用的时刻,该目标时间区间的结束时刻可以是当前时刻之后的某一时刻。当目标应用在目标时间区间被使用的概率大于或等于预设阈值时,则可以根据目标时间区间确定目标应用的使用时刻。例如,可以直接将目标时间区间的结束时刻确定为目标应用的使用时刻。在第二种方式中,可以根据预设阈值以及指数分布模型,确定预设阈值对应的时刻。其中,目标应用在目标应用上一次被使用的第一时刻到预设阈值对应的时刻之间的时间区间内被使用的概率等于预设阈值。并根据预设阈值对应的时刻确定所述目标应用的使用时刻。例如,可以直接将预设阈值对应的时刻确定为所述目标应用的使用时刻。
可选地,在不同的时间区间,用户使用目标应用的行为习惯存在不同。可以将目标应用被使用的时间划分为多个时间区间。例如,可以将一天24小时划分为12个时间区间,每个时间区间包括2个小时。并确定多个时间区间中的每个时间区间对应的指数分布模型。例如,可以统计每个时间区间内目标应用在单位时间内被使用的次数,以确定每个时间区间对应的指数分布模型的模型参数。可以根据当前时间,选择当前时间所在的时间区间对应的指数分布模型,然后根据选择的指数分布模型对目标应用的使用时刻进行预测。
作为一个示例,下面介绍根据条件随机场模型或隐马尔科夫模型预测目标应用的使用时刻的方法。其中,条件随机场模型和隐马尔科夫模型都是用于指示目标应用在离散时间区间内被使用的概率。例如,可以对时间取离散时间区间。根据条件随机场模型或隐马尔科夫模型,预测目标应用在各个离散时间区间内被使用的概率。若目标应用在目标离散时间区间内被使用的概率大于或等于预设阈值时,则可以根据目标离散时间区间确定目标应用的使用时刻。例如,可以将目标离散时间区间的结束时刻确定为目标应用的使用时刻。为了便于理解本发明实施例,以隐马尔科夫模型为例进行说明,隐马尔科夫模型包含可见状态和隐含状态。隐马尔科夫的模型参数可以指示隐含状态之间的转移关系,以及指示隐含状态对应可见状态的影响权重。可以将目标应用被使用和目标应用不被使用这两种状态可以作为可见状态。而终端的状态信息可以作为隐含状态。例如,隐含状态可以包括终端的地理位置信息、终端的剩余电量信息、当前的时间信息等。假设隐含状态包括N个隐含状态,可以根据用户行为的历史记录数据,学习隐马尔可夫模型的N个隐含状态之间的转移概率,以及学习N个隐含状态对可见状态的影响权重。进而根据学习得到的隐马尔可夫模型计算可见状态发生的概率,以预测目标应用的使用时刻。
利用条件随机场模型,预测目标应用的使用时刻与隐马尔科夫模型的方法类似,此处不再赘述。
作为一个示例,下面介绍根据ARMA(m,n),直接预测目标应用的使用时刻的方式。ARMA(m,n)的输出可以表示目标应用的连续两次使用时间间隔。其中,(m,n)表示ARMA自身的变动规律可以表示为一个m阶自身线性影响附加n阶随机噪声影响。即目标应用的下一次使用时间间隔受到目标应用的之前m次使用时间间隔的影响。可以将目标应用的下一次使用时间间隔作为ARMA(m,n)的预测输出,并将该预测输出记作Yt。Yt可以是一个随机序列。Yt表示第t次时间间隔。Yt可以指示时间间隔在用户使用历史上的延续性。Yt受外部影响,同时又有自身变动规律。可以用公式表示为:
其中,Yt-i表示第t-i次时间间隔。αt表示Yt与第t次实际时间间隔之间的误差项。αt-j表示Yt-j与第t-j次实际时间间隔之间的误差项。表示Yt-i的权重系数,θj表示表示αt-j的权重系数。m、n、t为大于等于1的整数,1≤i≤m,1≤j≤n,如果忽略αt项,则Yt的求解过程就退化为Yt的自身m阶线性回归,按照线性回归求解参数的方式可以进行计算。
如果不忽略αt项,因为αt的期望为0,则在ARMA(m,n)模型中Yt的期望可表示为如下模式,
m和n的取值可以采用经验值。例如,m和n的取值可以是通过历史记录数据中学习得到的经验值。以m=3,n=1为例,根据ARMA(m,n),对目标应用的用户历史使用数据的学习,可以归结为对3个参数、1个θj参数的估计过程。可以通过协方差函数先求解再根据求解θj和αt的值。或通过其他参数估计的方法求解θi和αt的值
作为一个示例,某个目标应用下一次使用的时间间隔可以表示为:
Yt=-0.98Yt-1+0.5Yt-2+0.72Yt-3+0.018αt-1
可选地,在方法100中,所述为所述目标应用预留***资源,包括:确定当前空闲的***资源是否满足所述目标应用的资源需求;在当前空闲的***资源不满足所述目标应用的资源需求的情况下,释放被占用的***资源,以便于为所述目标应用预留***资源。在确定当前空闲的***资源满足所述目标应用的资源需求的情况下,说明当前空闲***资源足够目标应用使用,可以不进行释放被占用资源的操作。
在本发明实施例中,通过预测终端的待使用的目标应用,提前释放被占用的***资源,为目标应用预留***资源,以便于保证及时为目标应用分配***资源,从而保证目标应用较快的启动,提高了用户体验。
可选地,在方法100中,所述根据所述终端的当前状态,预测用户待使用的目标应用,包括:所述终端根据所述终端的当前状态,预测用户待使用的多个候选应用,所述多个候选应用中包含所述目标应用;所述终端根据预测的结果,为所述目标应用预留***资源,包括:统计所述多个候选应用中的每个候选应用所需的***资源;确定所述多个候选应用所需的***资源中每种***资源的数值的最大值。按照所述***资源的种类以及所述每种***资源的数值的最大值,为所述目标应用预留所述每种***资源。
作为一个具体示例,假设终端预测到下一时间区间有3个候选应用被使用。可以统计该3个候选应用中每个候选应用所需的***资源。为所述目标应用预留所统计的3个候选应用所需的***资源中的最大***资源。其中,当***资源包括多种***资源时,可以为目标应用预留3个候选应用所需的多种***资源中每种***资源中的最大***资源。
可选地,在方法100中,所述根据所述终端的当前状态,预测用户待使用的目标应用,包括:所述终端根据所述终端的当前状态,预测用户待使用的多个候选应用,所述多个候选应用中包含所述目标应用;所述终端根据预测的结果,为所述目标应用预留***资源,包括:统计所述多个候选应用中的每个候选应用所需的***资源;根据所述多个候选应用被使用的概率的大小,对多个候选应用所需的***资源中每种***资源的进行加权计算,并根据加权计算的结果,为目标应用预留所述每种***资源。
作为一个示例,在一定的触发机制下(如前后台切换、定时检测等),在预测待使用的多个目标应用之后,可以预测该多个目标应用在目标时间区间内被使用的概率。如果某个目标应用在目标时间区间内被使用的概率大于或等于预设阈值,则将根据该目标时间区间,确定该目标应用的使用时刻,并判断当前剩余的***资源是否满足该目标应用所需的***资源,如果不满足则在该目标时间区间的起始时刻开始之前进行***资源回收,以为该目标应用预留足够的***资源;如果预测到所述多个目标应用中的至少两个目标应用在目标时间区间被使用的概率大于或等于预设阈值,则可以根据该目标时间区间,确定为该至少两个目标应用的使用时刻。并在该至少两个目标应用的使用时刻之前为该至少两个目标应用预留资源。具体地,可以取该至少两个目标应用各自所需的***资源中的最大需求作为预留***资源。或者,也可以根据该至少两个目标应用被使用的概率大小,对该至少两个目标应用进行排序,根据排序的权重差异进行加权计算需要预留的***资源。
在本发明实施例中,在本发明实施例中,通过预测多个目标应用的使用时刻,进而在多个目标应用的使用时刻之前,为多个目标应用预留***资源,以保证能够在接收到目标应用的分配请求之前,及时为目标应用分配资源,以降低应用启动的时延,提高了用户体验。
上文结合图1和图2介绍了本发明实施例的用户认证的方法,下文将结合图3至图6详细描述本发明实施例的终端。为了便于描述,图3至图6的终端中与图1和图2的方法中相同或相似的内容,请参考图1和图2的具体描述,此处不再赘述。
图3示出了本发明实施例的终端300的示意性框图。终端300可以执行上文所述的方法中由终端执行的各步骤。终端300包括:
预测模块310,用于根据所述终端的当前状态,预测用户待使用的目标应用;
处理模块320,用于根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源;
所述处理模块320还用于根据所述目标应用的资源分配请求,将预留的所述***资源提供给所述目标应用使用。
在本发明实施例中,通过预测终端的待使用的目标应用,进而在接收到目标应用的资源分配请求之前,为目标应用预留足够的***资源,以保证能够及时为目标应用分配资源,以降低应用启动的时延,提高了用户体验。
其中,图3中的预测模块310和处理模块320可以由处理器或控制器实现,例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(DigitalSignal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。
下面以图4为例介绍本发明实施例提供的终端,该终端具体可以为一智能手机。如图4所示,该终端的硬件层包括中央处理器(Center Processing Unit,CPU)、图形处理器(Graphic Processing Unit,GPU)等,当然还可以包括存储器、输入/输出设备、内存、内存控制器、网络接口等,输入设备可包括键盘、鼠标、触摸屏等,输出设备可包括显示设备如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT、)全息成像(Holographic)、投影(Projector)等。在硬件层之上可运行有操作***(如Android、Firefox OS等)以及一些应用程序。
图4是以Android***为例,介绍终端的软件***架构,其中,核心库是操作***的核心部分,包括外观管理器、媒体框架、关系数据库、2G图形引擎库、Web浏览器引擎,内核库和虚拟机(例如Dalvik Virtual Machine)等,其中,本发明实施例所描述的为应用分配***资源的执行可以是在虚拟机处(例如Dalvik Virtual Machine)进行实施的,即虚拟机根据所述终端的当前状态,通过编译预测用户待使用的目标应用;根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源;根据所述目标应用的资源分配请求,将预留的所述***资源提供给所述目标应用使用。
除此之外,该终端还包括驱动层、框架层和应用层。驱动层可包括CPU驱动、GPU驱动、显示控制器驱动等。框架层可包括浏览器引擎、排版引擎、文件解析器等;应用层可包括主界面(home)、媒体播放器(Media Player)、浏览器(Browser)等多种应用程序。
可选地,以Firefox OS***为例的终端的软件***架构与图4的终端的软件***架构类似。其中,本发明实施例的框架层可包括浏览器引擎、排版引擎、文件解析器、JavaScript引擎等。本发明实施例所描述的为应用分配***资源的方法的执行可以是由框架层的JavaScript引擎处进行实施的。
图4从终端的软件***架构的角度描述了本发明实施例的为应用分配***资源的终端。图5将从终端的硬件架构的角度,描述本发明实施例的终端。其中,图4中硬件层的中央处理器可以是图5中的处理器580。图4中的输入设备可以是图5中的输入单元530,图4中的硬件层的显示设备可以是图5中的显示单元540。
图5示出的是与本发明实施例提供的终端500的部分结构的框图。图5的终端500例如可以为手机。参考图5,终端500包括RF(Radio Frequency,射频)电路510、存储器520、输入单元530、显示单元540、传感器550、音频电路560、WiFi(wireless fidelity,无线保真)模块570、处理器580、以及电源590等部件。本领域技术人员可以理解,图5中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
具体的,在图5的实现方式下,该存储器520用于存储程序,该处理器580用于执行存储器520存储的程序,在所述程序被执行时,用于根据所述终端的当前状态,通过编译预测用户待使用的目标应用;根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源;根据所述目标应用的资源分配请求,将预留的所述***资源提供给所述目标应用使用。
可以理解的,存储器520可以为该终端500的内存或者该终端500的内存和外存。存储器520包括NVRAM非易失存储器、DRAM动态随机存储器、SRAM静态随机存储器、Flash闪存以及硬盘、光盘、USB盘、软盘或磁带机。
该输入单元530可用于接收输入的数字或字符信息,如用户输入的汉字串或者字母串,以及产生与终端500的用户设置以及功能控制有关的信号输入。具体地,本发明实施例中,该输入单元530可以包括触控面板531。触控面板536,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板531上或在触控面板531的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给该处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板531。除了触控面板531,输入单元530还可以包括其他输入设备532,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
该终端500还可以包括显示单元540,该显示单元540可用于显示由用户输入的信息或提供给用户的信息以及终端500的各种菜单界面。具体的,该显示单元540该显示单元540可包括显示面板541,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)或OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板541。
本发明实施例中,该触控面板531覆盖该显示面板541,形成触摸显示屏,当该触摸显示屏检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在触摸显示屏上提供相应的视觉输出。
在本发明实施例中,通过预测终端的待使用的目标应用,进而在接收到目标应用的资源分配请求之前,为目标应用预留足够的***资源,以保证能够及时为目标应用分配资源,以降低应用启动的时延,提高了用户体验。
本发明实施例中,该触摸显示屏包括应用程序界面显示区及常用控件显示区。该应用程序界面显示区及该常用控件显示区的排列方式并不限定,可以为上下排列、左右排列等可以区分两个显示区的排列方式。该应用程序界面显示区可以用于显示应用程序的界面。每一个界面可以包含至少一个应用程序的图标和/或widget桌面控件等界面元素。该应用程序界面显示区也可以为不包含任何内容的空界面。该常用控件显示区用于显示使用率较高的控件,例如,设置按钮、界面编号、滚动条、电话本图标等应用程序图标等。
该处理器580是终端500的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在该存储器520内的软件程序和/或模块以及数据,执行终端500的各种功能和处理数据,从而对终端500进行整体监控。可选的,该处理器580可包括一个或多个处理单元。
图6描述了本发明实施例提供的一种终端600的结构,该终端600包括:至少一个处理器601,至少一个网络接口604或者其他用户接口603,存储器605,至少一个通信总线602。通信总线602用于实现这些组件之间的连接通信。该终端设备600可选的包含用户接口603,包括显示器(例如,触摸屏、LCD、CRT、全息成像(Holographic)或者投影(Projector)等),键盘或者点击设备(例如,鼠标,轨迹球(trackball),触感板或者触摸屏等)。
存储器605可以包括只读存储器和随机存取存储器,并向处理器601提供指令和数据。存储器605的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器605存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作***6051,包含各种***程序,例如图4所示的框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
应用程序模块6052,包含各种应用程序,例如图4所示的桌面(launcher)、媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。
在本发明实施例中,通过调用存储器605存储的程序或指令,处理器601用于:根据所述终端的当前状态,通过编译预测用户待使用的目标应用;根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源;根据所述目标应用的资源分配请求,将预留的所述***资源提供给所述目标应用使用。
另外,终端设备600还可执行图1和图2的方法及实施例,本发明实施例在此不再赘述。
可见,采用上述方案后,通过预测终端的待使用的目标应用,进而在接收到目标应用的资源分配请求之前,为目标应用预留足够的***资源,以保证能够及时为目标应用分配资源,以降低应用启动的时延,提高了用户体验。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (30)

1.一种为应用分配***资源的方法,其特征在于,包括:
终端根据所述终端的当前状态,预测用户待使用的目标应用;
所述终端根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源;
所述终端根据所述目标应用的资源分配请求,将预留的所述***资源提供给所述目标应用使用。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述终端预测所述目标应用的使用时刻;
所述终端根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源,包括:
所述终端在所述使用时刻之前,为所述目标应用预留***资源。
3.如权利要求2所述的方法,其特征在于,所述终端预测所述目标应用的使用时刻,包括:所述终端根据机器学习模型,预测所述目标应用的使用时刻,其中,所述机器学习模型的模型参数是根据所述用户使用所述目标应用的历史数据确定的。
4.如权利要求3所述的方法,其特征在于,所述机器学习模型包括指数分布模型,所述终端预测所述目标应用的使用时刻,包括:
所述终端采用指数分布模型,预测所述目标应用的使用时刻,其中,所述指数分布模型用于指示所述目标应用在目标时间区间内被使用的概率。
5.如权利要求4所述的方法,其特征在于,所述终端采用指数分布模型,预测所述目标应用的使用时刻,包括:
所述终端统计所述目标应用在单位时间内的平均使用次数;
所述终端根据所述平均使用次数,确定所述指数分布模型的模型参数;
所述终端根据所述指数分布模型和所述指数分布模型的模型参数,预测所述目标应用的使用时刻。
6.如权利要求3所述的方法,其特征在于,所述机器学习模型包括隐马尔可夫模型,所述终端预测所述目标应用的使用时刻,包括:
采用隐马尔科夫模型,预测所述目标应用的使用时刻,所述隐马尔科夫模型用于指示所述目标应用在目标离散时间区间内被使用的概率。
7.如权利要求1-6中任一项所述的方法,其特征在于,所述终端根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源,包括:
所述终端在当前的空闲***资源不满足所述目标应用的资源需求的情况下,释放部分被占用的***资源以获得刷新后的空闲***资源,以便于为所述目标应用分配***资源。
8.如权利要求1-7中任一项所述的方法,其特征在于,所述根据所述终端的当前状态,预测用户待使用的目标应用,包括:所述终端根据所述终端的当前状态,预测用户待使用的多个候选应用,所述多个候选应用中包含所述目标应用;
所述终端根据预测的结果,为所述目标应用预留***资源,包括:
统计所述多个候选应用中的每个候选应用所需的***资源;
确定所述多个候选应用所需的***资源中每种***资源的数值的最大值;
按照所述***资源的种类以及所述每种***资源的数值的最大值,为所述目标应用预留所述每种***资源。
9.如权利要求1-8中任一项所述的方法,其特征在于,所述***资源的种类包括以下资源中的至少一种:内存资源、中央处理单元CPU资源、输入输出IO资源。
10.如权利要求1-9中任一项所述的方法,其特征在于,所述预测用户待使用的目标应用,包括:
所述终端在接收进行前后台切换的指令之后,开始预测所述目标应用。
11.一种终端,其特征在于,包括:
预测模块,用于根据所述终端的当前状态,预测用户待使用的目标应用;
处理模块,用于根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源;
所述处理模块还用于根据所述目标应用的资源分配请求,将预留的所述***资源提供给所述目标应用使用。
12.如权利要求11所述的终端,其特征在于,所述预测模块还用于预测所述目标应用的使用时刻;在根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源的方面,所述处理模块具体用于在所述使用时刻之前,为所述目标应用预留***资源。
13.如权利要求12所述的终端,其特征在于,在预测所述目标应用的使用时刻的方面,所述预测模块具体用于根据机器学习模型,预测所述目标应用的使用时刻,其中,所述机器学习模型的模型参数是根据所述用户使用所述目标应用的历史数据确定的。
14.如权利要求13所述的终端,其特征在于,所述机器学习模型包括指数分布模型,在预测所述目标应用的使用时刻的方面,所述预测模块具体用于采用指数分布模型,预测所述目标应用的使用时刻,其中,所述指数分布模型用于指示所述目标应用在目标时间区间内被使用的概率。
15.如权利要求14所述的终端,其特征在于,在采用指数分布模型,预测所述目标应用的使用时刻的方面,所述预测模块具体用于统计所述目标应用在单位时间内的平均使用次数;以及根据所述平均使用次数,确定所述指数分布模型的模型参数;以及根据所述指数分布模型和所述指数分布模型的模型参数,预测所述目标应用的使用时刻。
16.如权利要求13所述的终端,其特征在于,所述机器学习模型包括隐马尔可夫模型,在预测所述目标应用的使用时刻的方面,所述预测模块具体用于采用隐马尔科夫模型,预测所述目标应用的使用时刻,所述隐马尔科夫模型用于指示所述目标应用在目标离散时间区间内被使用的概率。
17.如权利要求11-16中任一项所述的终端,其特征在于,在根据所述目标应用的资源分配请求,将预留的所述***资源提供给所述目标应用使用的方面,所述处理模块具体用于在当前的空闲***资源不满足所述目标应用的资源需求的情况下,释放部分被占用的***资源以获得刷新后的空闲***资源,以便于为所述目标应用分配***资源。
18.如权利要求11-17中任一项所述的终端,其特征在于,在根据所述终端的当前状态,预测用户待使用的目标应用的方面,所述预测模块具体用于根据所述终端的当前状态,预测用户待使用的多个候选应用,所述多个候选应用中包含所述目标应用;所述处理模块具体用于统计所述多个候选应用中的每个候选应用所需的***资源;确定所述多个候选应用所需的***资源中每种***资源的数值的最大值;按照所述***资源的种类以及所述每种***资源的数值的最大值,为所述目标应用预留所述每种***资源。
19.如权利要求11-18中任一项所述的终端,其特征在于,所述***资源的种类包括以下资源中的至少一种:内存资源、中央处理单元CPU资源、输入输出IO资源。
20.如权利要求11-19中任一项所述的终端,其特征在于,在预测用户待使用的目标应用,所述预测模块具体用于在接收进行前后台切换的指令之后,开始预测所述目标应用。
21.一种终端,其特征在于,包括:存储器和处理器,
所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,当所述程序被执行时,所述处理器用于根据所述终端的当前状态,预测用户待使用的目标应用;以及根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源;以及根据所述目标应用的资源分配请求,将预留的所述***资源提供给所述目标应用使用。
22.如权利要求21所述的终端,其特征在于,所述处理器还用于预测所述目标应用的使用时刻;以及在根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源的方面,具体用于在所述使用时刻之前,为所述目标应用预留***资源。
23.如权利要求22所述的终端,其特征在于,在预测所述目标应用的使用时刻的方面,所述处理器具体用于根据机器学习模型,预测所述目标应用的使用时刻,其中,所述机器学习模型的模型参数是根据所述用户使用所述目标应用的历史数据确定的。
24.如权利要求23所述的终端,其特征在于,所述机器学习模型包括指数分布模型,在预测所述目标应用的使用时刻的方面,所述处理器具体用于采用指数分布模型,预测所述目标应用的使用时刻,其中,所述指数分布模型用于指示所述目标应用在目标时间区间内被使用的概率。
25.如权利要求24所述的终端,其特征在于,在采用指数分布模型,预测所述目标应用的使用时刻的方面,所述处理器具体用于统计所述目标应用在单位时间内的平均使用次数;以及用于根据所述平均使用次数,确定所述指数分布模型的模型参数;以及用于根据所述指数分布模型和所述指数分布模型的模型参数,预测所述目标应用的使用时刻。
26.如权利要求23所述的终端,其特征在于,所述机器学习模型包括隐马尔可夫模型,在预测所述目标应用的使用时刻的方面,所述处理器具体用于采用隐马尔科夫模型,预测所述目标应用的使用时刻,所述隐马尔科夫模型用于指示所述目标应用在目标离散时间区间内被使用的概率。
27.如权利要求21-26中任一项所述的终端,其特征在于,在根据预测的结果,为所述目标应用预留运行所述目标应用所需的***资源的方面,所述处理器具体用于在当前的空闲***资源不满足所述目标应用的资源需求的情况下,释放部分被占用的***资源以获得刷新后的空闲***资源,以便于为所述目标应用分配***资源。
28.如权利要求21-27中任一项所述的终端,其特征在于,在根据所述终端的当前状态,预测用户待使用的目标应用的方面,所述处理器具体用于根据所述终端的当前状态,预测用户待使用的多个候选应用,所述多个候选应用中包含所述目标应用;在根据预测的结果,为所述目标应用预留***资源的方面,所述处理器具体用于统计所述多个候选应用中的每个候选应用所需的***资源;以及确定所述多个候选应用所需的***资源中每种***资源的数值的最大值;以及按照所述***资源的种类以及所述每种***资源的数值的最大值,为所述目标应用预留所述每种***资源。
29.如权利要求21-28中任一项所述的终端,其特征在于,所述***资源的种类包括以下资源中的至少一种:内存资源、中央处理单元CPU资源、输入输出IO资源。
30.如权利要求21-29中任一项所述的终端,其特征在于,在预测用户待使用的目标应用的方面,所述处理器具体用于在接收进行前后台切换的指令之后,开始预测所述目标应用。
CN201610855261.0A 2016-09-27 2016-09-27 为应用分配***资源的方法和终端 Pending CN107885591A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610855261.0A CN107885591A (zh) 2016-09-27 2016-09-27 为应用分配***资源的方法和终端
PCT/CN2017/102330 WO2018059280A1 (zh) 2016-09-27 2017-09-19 为应用分配***资源的方法和终端
EP17854730.3A EP3508974B1 (en) 2016-09-27 2017-09-19 Method and terminal for allocating system resource to application
US16/365,961 US11360817B2 (en) 2016-09-27 2019-03-27 Method and terminal for allocating system resource to application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610855261.0A CN107885591A (zh) 2016-09-27 2016-09-27 为应用分配***资源的方法和终端

Publications (1)

Publication Number Publication Date
CN107885591A true CN107885591A (zh) 2018-04-06

Family

ID=61762509

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610855261.0A Pending CN107885591A (zh) 2016-09-27 2016-09-27 为应用分配***资源的方法和终端

Country Status (4)

Country Link
US (1) US11360817B2 (zh)
EP (1) EP3508974B1 (zh)
CN (1) CN107885591A (zh)
WO (1) WO2018059280A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108681474A (zh) * 2018-05-21 2018-10-19 Oppo广东移动通信有限公司 应用预加载方法、装置、存储介质及终端
CN109739639A (zh) * 2018-12-07 2019-05-10 珠海格力电器股份有限公司 一种示教器内存使用管理方法、装置、终端及存储介质
CN109903023A (zh) * 2018-11-22 2019-06-18 阿里巴巴集团控股有限公司 一种资源分配方法及***
WO2019214522A1 (en) * 2018-05-10 2019-11-14 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for establishing application prediction model, storage medium, and terminal
CN110532092A (zh) * 2019-08-21 2019-12-03 云湾科技(嘉兴)有限公司 资源匹配方法、装置及设备
CN110633134A (zh) * 2018-06-22 2019-12-31 中兴通讯股份有限公司 应用程序管理方法、装置及移动终端、存储介质
CN110750357A (zh) * 2019-09-23 2020-02-04 深圳传音控股股份有限公司 智能分配方法及终端
CN113495789A (zh) * 2020-04-08 2021-10-12 大唐移动通信设备有限公司 内存分配方法及装置
US11397590B2 (en) 2018-05-10 2022-07-26 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for preloading application, storage medium, and terminal
US11467855B2 (en) 2018-06-05 2022-10-11 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Application preloading method and device, storage medium and terminal
US11604660B2 (en) 2018-05-15 2023-03-14 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for launching application, storage medium, and terminal

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113014792A (zh) * 2019-12-20 2021-06-22 青岛海信移动通信技术股份有限公司 一种终端设备和相机资源共享方法
CN111338768A (zh) * 2020-02-03 2020-06-26 重庆特斯联智慧科技股份有限公司 一种利用城市大脑的公安资源调度***
CN111651263B (zh) 2020-02-12 2023-10-13 北京小米移动软件有限公司 移动终端的资源处理方法、装置、计算机设备及存储介质
WO2022207175A1 (en) * 2021-03-31 2022-10-06 Sony Group Corporation Devices and related methods for predictive meeting issue resolution

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120324481A1 (en) * 2011-06-16 2012-12-20 Samsung Electronics Co. Ltd. Adaptive termination and pre-launching policy for improving application startup time
CN103425564A (zh) * 2013-08-22 2013-12-04 安徽融数信息科技有限责任公司 一种智能手机软件使用预测方法
CN103593479A (zh) * 2013-11-29 2014-02-19 谢天添 应用程序菜单推荐方法及装置
CN104699606A (zh) * 2015-03-06 2015-06-10 国网四川省电力公司电力科学研究院 一种基于隐马尔科夫模型的软件***状态预测方法
CN105939416A (zh) * 2016-05-30 2016-09-14 努比亚技术有限公司 移动终端及其应用预启动方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8112755B2 (en) * 2006-06-30 2012-02-07 Microsoft Corporation Reducing latencies in computing systems using probabilistic and/or decision-theoretic reasoning under scarce memory resources
US8909950B1 (en) * 2010-04-18 2014-12-09 Aptima, Inc. Systems and methods of power management
US8468110B1 (en) 2010-07-22 2013-06-18 Intuit Inc. Real-time user behavior prediction
US8176437B1 (en) * 2011-07-18 2012-05-08 Google Inc. Responsiveness for application launch
CN102891916B (zh) 2011-07-18 2016-01-20 中兴通讯股份有限公司 一种预测用户操作的方法及移动终端
US9219668B2 (en) 2012-10-19 2015-12-22 Facebook, Inc. Predicting the future state of a mobile device user
CN103034516B (zh) 2012-12-13 2016-08-17 东莞宇龙通信科技有限公司 终端和应用程序打开方法
US9508040B2 (en) 2013-06-12 2016-11-29 Microsoft Technology Licensing, Llc Predictive pre-launch for applications
US10133659B2 (en) 2013-11-22 2018-11-20 Sap Se Proactive memory allocation
US10587471B1 (en) * 2013-12-17 2020-03-10 Amazon Technologies, Inc. Criterion-based computing instance activation
US9871741B2 (en) * 2014-03-10 2018-01-16 Microsoft Technology Licensing, Llc Resource management based on device-specific or user-specific resource usage profiles
CN104281472B (zh) * 2014-09-18 2017-12-26 青岛海信移动通信技术股份有限公司 一种资源预加载方法和装置
CN104572264B (zh) 2014-12-31 2017-10-17 广东欧珀移动通信有限公司 控制应用运行的方法和移动终端设备
CN104572265B (zh) 2014-12-31 2018-09-04 广东欧珀移动通信有限公司 控制应用运行的方法和移动终端设备
CN104572300B (zh) 2014-12-31 2017-11-24 广东欧珀移动通信有限公司 控制应用运行的方法和移动终端设备
CN104915224B (zh) * 2015-04-24 2019-01-04 青岛海信电器股份有限公司 一种关联应用程序的处理方法及装置
US20160379105A1 (en) * 2015-06-24 2016-12-29 Microsoft Technology Licensing, Llc Behavior recognition and automation using a mobile device
CN105224369A (zh) * 2015-10-14 2016-01-06 深圳Tcl数字技术有限公司 应用启动方法和***
CN105491056A (zh) 2015-12-25 2016-04-13 深圳市金立通信设备有限公司 一种信息推送方法及终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120324481A1 (en) * 2011-06-16 2012-12-20 Samsung Electronics Co. Ltd. Adaptive termination and pre-launching policy for improving application startup time
CN103425564A (zh) * 2013-08-22 2013-12-04 安徽融数信息科技有限责任公司 一种智能手机软件使用预测方法
CN103593479A (zh) * 2013-11-29 2014-02-19 谢天添 应用程序菜单推荐方法及装置
CN104699606A (zh) * 2015-03-06 2015-06-10 国网四川省电力公司电力科学研究院 一种基于隐马尔科夫模型的软件***状态预测方法
CN105939416A (zh) * 2016-05-30 2016-09-14 努比亚技术有限公司 移动终端及其应用预启动方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442747B2 (en) 2018-05-10 2022-09-13 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for establishing applications-to-be preloaded prediction model based on preorder usage sequence of foreground application, storage medium, and terminal
US11397590B2 (en) 2018-05-10 2022-07-26 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for preloading application, storage medium, and terminal
WO2019214522A1 (en) * 2018-05-10 2019-11-14 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for establishing application prediction model, storage medium, and terminal
US11604660B2 (en) 2018-05-15 2023-03-14 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for launching application, storage medium, and terminal
CN108681474A (zh) * 2018-05-21 2018-10-19 Oppo广东移动通信有限公司 应用预加载方法、装置、存储介质及终端
US11467855B2 (en) 2018-06-05 2022-10-11 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Application preloading method and device, storage medium and terminal
CN110633134A (zh) * 2018-06-22 2019-12-31 中兴通讯股份有限公司 应用程序管理方法、装置及移动终端、存储介质
CN109903023A (zh) * 2018-11-22 2019-06-18 阿里巴巴集团控股有限公司 一种资源分配方法及***
CN109903023B (zh) * 2018-11-22 2023-07-11 创新先进技术有限公司 一种资源分配方法及***
CN109739639A (zh) * 2018-12-07 2019-05-10 珠海格力电器股份有限公司 一种示教器内存使用管理方法、装置、终端及存储介质
CN110532092A (zh) * 2019-08-21 2019-12-03 云湾科技(嘉兴)有限公司 资源匹配方法、装置及设备
CN110750357A (zh) * 2019-09-23 2020-02-04 深圳传音控股股份有限公司 智能分配方法及终端
CN113495789A (zh) * 2020-04-08 2021-10-12 大唐移动通信设备有限公司 内存分配方法及装置
CN113495789B (zh) * 2020-04-08 2024-02-13 大唐移动通信设备有限公司 内存分配方法及装置

Also Published As

Publication number Publication date
EP3508974B1 (en) 2021-06-23
US11360817B2 (en) 2022-06-14
WO2018059280A1 (zh) 2018-04-05
EP3508974A4 (en) 2019-08-07
EP3508974A1 (en) 2019-07-10
US20190220320A1 (en) 2019-07-18

Similar Documents

Publication Publication Date Title
CN107885591A (zh) 为应用分配***资源的方法和终端
CN105701025B (zh) 一种内存回收方法及装置
US11392843B2 (en) Utilizing a machine learning model to predict a quantity of cloud resources to allocate to a customer
CN107908472A (zh) 数据同步装置、方法及计算机可读存储介质
CN103729248B (zh) 一种基于缓存感知的确定待迁移任务的方法和装置
CN106484472A (zh) 一种内存回收方法及终端
CA3090095C (en) Methods and systems to determine and optimize reservoir simulator performance in a cloud computing environment
CN107783833B (zh) 一种终端后台应用程序的管理方法及装置
CN106415498A (zh) 虚拟机功率管理
CN106681933A (zh) 一种内存管理方法及终端
CN107220077B (zh) 应用启动的管控方法和管控设备
CN107526546A (zh) 一种Spark分布式计算数据处理方法及***
CN107807847A (zh) 应用进程的管理方法和终端设备
CN111274036A (zh) 一种基于速度预测的深度学习任务的调度方法
CN106155699B (zh) 一种后台进程的管理方法及移动终端
CN105378668B (zh) 多处理器***中的操作***管理的中断引导
CN109313478A (zh) 出于能效在移动装置上进行的唤醒锁感知***宽作业调度
CN110058882A (zh) 一种用于cnn加速的opu指令集定义方法
CN103543901B (zh) 生成菜单的方法和装置
CN113515382A (zh) 云资源的分配方法、装置、电子设备及程序产品
CN107748697B (zh) 应用关闭方法、装置、存储介质及电子设备
CN104572296B (zh) 一种预测云平台存储资源增长量的方法
CN106293327A (zh) 终端应用程序快速操作方法及***
US20220035665A1 (en) Sharing of compute resources between the virtualized radio access network (vran) and other workloads
CN108270833A (zh) 渲染云资源的自动调度方法、装置及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180406