资源配置方法及相关产品
技术领域
本申请涉及移动终端技术领域,具体涉及资源配置方法及相关产品。
背景技术
随着智能手机相关技术的快速发展,越来越多的应用被安装在用户手机中,如阅读类应用、支付类应用、游戏类应用、音乐类应用等,人们的衣食住行已经与手机密不可分。
发明内容
本申请实施例提供了资源配置方法及相关产品,可以提高移动终端控制目标应用程序进行性能优化的实时性和精确度。
第一方面,本申请实施例提供一种资源配置方法,应用于移动终端,上述移动终端上运行有操作系统以及一个或多个应用程序,上述方法包括:
上述操作系统接收正在运行的上述目标应用程序发送的场景数据包,上述场景数据包包括目标应用程序的场景标识和关键性能参数;
上述操作系统根据上述场景标识和上述关键性能参数确定上述目标应用程序的性能提升策略;
上述操作系统按照上述性能提升策略调整上述目标应用程序的系统资源的分配。
第二方面,本申请实施例提供一种资源配置装置,应用于移动终端,上述移动终端上运行有操作系统以及一个或多个应用程序,上述资源配置装置包括处理单元和通信单元,
上述处理单元,用于通过上述通信单元接收正在运行的上述目标应用程序发送的场景数据包,上述场景数据包包括目标应用程序的场景标识和关键性能参数;以及用于根据上述场景标识和上述关键性能参数确定上述目标应用程序的性能提升策略;以及用于按照上述性能提升策略调整上述目标应用程序的系统资源的分配。
第三方面,本申请实施例提供一种移动终端,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤,上述计算机包括移动终端。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括移动终端。
可以看出,本申请实施例中,移动终端的操作系统空间的操作系统首先接收正在运行的目标应用程序发送的场景数据包,场景数据包包括正在运行的目标应用程序的场景标识和关键性能参数,其次,操作系统根据场景标识和关键性能参数确定正在运行的目标应用程序的性能提升策略,最后,操作系统按照性能提升策略调整正在运行的目标应用程序的系统资源的分配。有利于提高移动终端控制目标应用程序进行性能优化的实时性和精确度。
附图说明
下面将对本申请实施例所涉及到的附图作简单地介绍。
图1A是一种智能手机的程序运行空间的示意图;
图1B是一种安卓系统的系统架构图;
图2是本申请实施例提供的一种资源配置方法的流程示意图;
图3是本申请实施例公开的一种资源配置方法的流程示意图;
图4是本申请实施例公开的一种资源配置方法的流程示意图;
图5是本申请实施例公开的一种移动终端的结构示意图;
图6是本申请实施例公开的一种移动终端的功能单元组成框图;
图7是本申请实施例公开的一种智能手机的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例所涉及到的移动终端可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(User Equipment,UE),移动台(Mobile Station,MS),终端设备(terminaldevice)等等。为方便描述,上面提到的设备统称为移动终端。本发明实施例所涉及到的操作系统是对硬件资源进行统一管理,并向用户提供业务接口的软件系统。
如图1A所示,目前智能手机等移动终端一般设置有程序运行空间,该程序运行空间包括用户空间和操作系统空间,其中,用户空间运行有一个或多个应用程序,该一个或多个应用程序为移动终端安装的第三方应用程序,操作系统空间运行有移动终端的操作系统。该移动终端具体可以运行安卓Android系统、苹果公司开发的移动操作系统iOS等,此处不做唯一限定。如图1B所示,以上述移动终端运行有Android系统为例,对应的用户空间包括该Android系统中的应用层(Applications),操作系统空间可以包括该Android系统中的应用程序框架层(Application Framework)、系统运行库层(包括系统运行库层Libraries和Android运行时Android Runtime)、Linux内核层(Linux Kernel)。其中,应用层上包括各类与用户直接交互的应用程序,或由Java语言编写的运行于后台的服务程序。例如,智能手机上实现的常见基本功能的程序,诸如短消息业务(Short Messaging Service,SMS)短信,电话拨号,图片浏览器,日历,游戏,地图,万维网(World Wide Web,Web)浏览器等程序,以及开发人员开发的其他应用程序。应用程序框架层提供开发Android应用程序所需的一系列类库,能够用于重用组件,也可以通过继承实现个性化的扩展。系统运行库层是应用程序框架的支撑,为Android系统中的各个组件提供服务。系统运行库层由系统类库和Android运行时构成。Android运行时包含核心库和Dalvik虚拟机两部分。Linux内核层用于实现硬件设备驱动,进程和内存管理,网络协议栈,电源管理,无线通信等核心功能。
上述第三方应用程序所创建的进程一开始是运行在用户空间的,当它要执行网络发送数据、读取磁盘资源等动作时,必须通过调用write、send等由操作系统提供的标准接口函数来完成,即由CPU调用操作系统空间的代码来完成用户的请求操作。可见,第三方应用程序想要调用操作系统提供的功能,只能调用其提供的标准接口函数。同时,操作系统不知道第三方应用程序具体在执行哪些功能,目标应用程序也不能命令操作系统执行特殊的操作,这两者是相互独立的,这使得操作系统无法区分目标应用程序的内部运行场景,只能使用一套标准的参数去适配,无法针对目标应用程序的内部运行场景进行针对性的性能优化。
针对上述情况,本申请实施例提出一种针对移动终端的目标应用程序的资源配置方法,该方法中,移动终端的操作系统空间的操作系统接收正在运行的目标应用程序发送的场景数据包,场景数据包包括正在运行的目标应用程序的场景标识和关键性能参数;操作系统根据场景标识和关键性能参数确定正在运行的目标应用程序的性能提升策略;操作系统按照性能提升策略调整正在运行的目标应用程序的系统资源的分配。实现由操作系统针对目标应用程序在运行过程中的内部运行场景的性能进行优化,有利于提高移动终端控制目标应用程序进行性能优化的实时性和精确度。
下面结合附图对本申请实施例进行介绍。
请参阅图2,图2是本申请实施例提供了一种资源配置方法的流程示意图,上述移动终端上运行有操作系统以及一个或多个应用程序,如图所示,本资源配置方法包括:
S201,上述操作系统接收正在运行的上述目标应用程序发送的场景数据包,上述场景数据包包括目标应用程序的场景标识和关键性能参数。
其中,目标应用程序是指安装在移动终端的用户空间的第三方应用程序,该第三方应用程序例如可以是即时通讯类应用、游戏类应用等,该第三方应用程序可以由用户安装,也可以由开发人员在移动终端出厂前预装,此处不做唯一限定。
其中,场景数据包可以包括正在运行的目标应用程序的场景标识和关键性能参数,还可以包括以下至少一种:应用类型标识、数据格式标识、启动信息、资源更新信息、账号登陆信息、界面类型信息、目标应用程序的行为信息(如数据发送行为信息、数据接收行为信息等)等,此处不做唯一限定。此外,场景数据包的格式例如可以是Java脚本对象标记(JavaScript Object Notation,JSON)、协议缓冲区(ProtocolBuffer,Protobuf)、自定义格式等数据传输格式,此处不做唯一限定。
在一个可能的示例中,上述目标应用程序和上述操作系统之间包括预设数据通道;上述操作系统接收正在运行的上述目标应用程序发送的场景数据包,包括:上述操作系统接收通过上述预设数据通道接收上述正在运行的上述目标应用程序发送的场景数据包。
其中,上述预设数据通道为目标应用程序正在运行时,目标应用程序与操作系统之间建立的有效的数据传输链路,目标应用程序不在运行后,该数据传输链路会被清除。
在本可能的示例中,上述目标应用程序包括数据连接模块,上述操作系统包括数据连接管理模块;上述方法还包括:上述数据连接管理模块与上述数据连接模块建立上述预设数据通道。
在本可能的示例中,目标应用程序还可以包括数据收集模块、数据整理模块、优先级管理模块、数据接收模块,其中,数据接收模块用于收集目标应用程序在运行时的关键信息;数据整理模块用于整理收集到的关键信息,如合并重复的信息,删除冗余的信息等;优先级管理模块用于根据关键信息的重要程度对收集到的关键信息进行分类,优先处理优先级高的关键信息,过滤优先级较低的关键信息,或者在数据包生成过程中减少优先级较低的关键信息的使用;数据接收模块用于接收并解析操作系统的操作系统发送的数据,并将其传递给目标应用程序内部。
S202,上述操作系统根据上述场景标识和上述关键性能参数确定上述目标应用程序的性能提升策略。
其中,性能提升策略是指用于提高上述正在运行的目标应用程序的运行性能的资源配置策略,如CPU资源调整策略、GPU资源调整策略、内存带宽资源调整策略、磁盘资源调整策略、网络资源调整策略等,此处不做唯一限定。
其中,关键性能参数可以包括当前的内部运行场景的帧率、丢帧、卡顿等信息等。
S203,上述操作系统按照上述性能提升策略调整上述目标应用程序的系统资源的分配。
在一个可能的示例中,上述资源包括上述移动终端的以下资源中的至少一种:CPU资源、GPU资源、内存带宽资源、磁盘资源、网络资源。其中,网络资源包括移动终端的数据网络的网络资源、无线保真Wi-Fi网络的网络资源、蓝牙模块的控制参数等。
其中,在上述系统资源为CPU资源、GPU资源内存带宽资源、磁盘资源中的至少一种时,操作系统可以通过直连通信方式与操作系统空间的内核层通信,调整该系统资源的配置,直连通信方式是指通过抽象的应用程序编程接口(Application ProgrammingInterface,API)直接通信。
其中,在上述系统资源为网络资源时,操作系统可以通过间接通信方式与操作系统空间的内核层通信,调整该系统资源的配置,间接通信方式是指通过调用代理服务来间接通信,如网络资源中的Wi-Fi子系统或者数据网络子系统与操作系统不运行在同一个系统内,需要通过一些代理的方式,间接访问这些系统资源,操作系统中提供了Wi-Fi的代理服务,通过调用该代理服务的接口来间接和Wi-Fi子系统通信。
可以看出,本申请实施例中,移动终端的操作系统空间的操作系统接收正在运行的目标应用程序发送的场景数据包,场景数据包包括正在运行的目标应用程序的场景标识和关键性能参数,其次操作系统根据场景标识和关键性能参数确定正在运行的目标应用程序的性能提升策略,最后,操作系统按照性能提升策略调整正在运行的目标应用程序的系统资源的分配。由于场景数据包由正在运行的目标应用程序发送,且包含场景标识和关键性能参数,该场景标识和关键性能参数能够精准确定该目标应用程序正在运行时的性能提升策略,并由操作系统按照该性能提升策略实时调整目标应用程序的资源的配置,实现了由操作系统对目标应用程序在运行过程中进行实时的性能优化,有利于提高移动终端控制目标应用程序进行性能优化的实时性和精确度。
在一个可能的示例中,上述操作系统包括管理模块和多个策略模块;上述操作系统根据上述场景标识和上述关键性能参数确定上述目标应用程序的性能提升策略,包括:上述管理模块确定上述场景数据包中的上述场景标识和上述关键性能参数;上述管理模块确定上述多个策略模块中适用于上述场景标识的策略模块;上述策略模块根据上述关键性能参数确定上述目标应用程序的性能提升策略。
其中,多个策略模块中的每个策略模块可适用于同一种类型的应用,如第一策略模块适用于游戏类应用,第二策略模块适用于即时通讯类应用等。
其中,上述管理模块确定上述多个策略模块中适用于上述场景标识的策略模块,包括:上述管理模块以上述场景标识为查询标识,查询预设的上述多个策略模块中每个策略模块所适用的场景标识集合,获取包含上述场景标识的场景标识集合对应的策略模块为适用于上述场景标识的策略模块。通过查询场景标识集合能够快速准确的确定适配的策略模块。
可见,本示例中,通过划分多个策略模块能够实现对不同类型应用的精细化控制,且移动终端无需同时加载全部策略模块,仅需要加载移动终端前台运行的目标应用程序对应的策略模块,有利于降低资源占用,提高资源利用率和控制效率。
在一个可能的示例中,上述场景数据包包括数据格式标识;上述管理模块确定上述场景数据包中的上述场景标识和上述关键性能参数,包括:上述管理模块按照上述数据格式标识所指示的数据格式解析上述场景数据包以确定上述场景标识和上述关键性能参数。
其中,数据格式标识例如可以是上述JSON、Protobuf等,此处不做限定。
可见,本示例中,由于数据格式标识能够使得操作系统在接收到场景数据包后,快速识别出该场景数据包所使用的数据传输格式,从而实时解析该场景数据包中的场景标识和关键性能参数,降低处理时延,有利于提高数据处理效率,提高针对运行中的目标应用程序进行资源调整的实时性。
在一个可能的示例中,上述策略模块根据上述关键性能参数确定上述目标应用程序的性能提升策略,包括:上述策略模块确定上述关键性能参数关联的资源为待调整的系统资源;根据上述关键性能参数确定上述待调整的系统资源的调整量,根据上述调整量生成上述目标应用程序的性能提升策略;确定上述生成的上述性能提升策略为上述目标应用程序的性能提升策略。
其中,关键性能参数可以包括参数类型和参数数值,关键性能参数关联的资源可以查询预设的关键性能参数的参数类型与资源之间的对应关系来确定,该对应关系例如可以包括帧率与GPU资源之间的对应关系,界面渲染速度与资源组合(例如:CPU资源和GPU资源)之间的对应关系等,此处不做唯一限定。参数数值用于确定待调整的系统资源的调整量,具体可以与预设参照数值比对以准确确定调整量。
可见,本示例中,关键性能参数关联的资源为待调整的系统资源,关键性能参数的参数数值进一步用于准确确定该待调整的系统资源的调整量,有利于提高移动终端控制目标应用程序进行运行优化的准确度。
在另一个可能的示例中,上述策略模块根据上述关键性能参数确定上述目标应用程序的性能提升策略,包括:上述策略模块确定上述关键性能参数的参数类型和参数数值区间,确定上述参数类型对应的性能提升策略包,以上述参数数值区间为查询标识,确定上述性能提升策略包中适用于该参数数值区间的性能提升策略。
其中,一个参数类型对应一个性能提升策略包,该性能提升策略包包括多个性能提升策略,每个性能提升策略对应一个参数数值区间。
可见,本示例中,由于关键性能参数的参数类型能够确定性能提升策略包,关键性能参数的参数数值能够快速确定性能提升策略包中的性能提升策略,即通过查询方式即可快速确定适配当前运行时场景的性能提升策略,有利于提高移动终端控制目标应用程序进行运行优化的速度和效率。
在一个可能的示例中,上述操作系统包括管理模块和策略模块;上述操作系统根据上述场景标识和上述关键性能参数确定上述目标应用程序的性能提升策略,包括:上述策略模块获取上述场景数据包中的上述场景标识和上述关键性能参数;上述策略模块确定上述场景标识对应的待调整的系统资源;上述策略模块根据上述待调整的系统资源和上述关键性能参数确定上述目标应用程序的性能提升策略。
可见,本示例中,场景标识用于快速确定目标应用程序的待调整的系统资源,关键性能参数用于准确确定待调整的系统资源的调整量,有利于提高移动终端控制目标应用程序进行运行优化的准确度和速度。此外由于目标应用程序包括管理模块和策略模块,该管理模块和策略模块配合起来能够确认目标应用程序的性能提升策略,即采用模块化方式来完成性能提升策略的确定过程,每个模块都执行相应划分的功能,单个模块出错时不会影响另外一个模块的状态,有利于提高移动终端控制目标应用程序进行运行优化的稳定性。
在一个可能的示例中,上述策略模块根据上述待调整的系统资源和上述关键性能参数确定上述目标应用程序的性能提升策略,包括:上述策略模块根据上述关键性能参数中与上述待调整的系统资源关联的参数确定上述待调整的系统资源的调整量;上述策略模块根据上述调整量生成上述目标应用程序的性能提升策略。
其中,关键性能参数可以包括参数类型和参数数值,参数数值用于进一步确定待调整的系统资源的调整量,该调整量具体可以由预设公式进行计算得到,其中,不同类型的参数在计算公式中的权重可以按照该参数关联的资源对目标应用程序的运行性能的影响因子进行对应设置,具体可以是影响因子越大的参数的权重越大,有利于提高调整量计算的准确度
可见,本示例中,关键性能参数中与待调整的系统资源关联的参数用于确定待调整的系统资源的调整量,避免非关联的参数对调整量造成影响,有利于提高移动终端控制目标应用程序进行运行优化的准确度。
在一个可能的示例中,上述场景数据包包括数据格式标识;上述策略模块确定上述场景数据包中的上述场景标识和上述关键性能参数,包括:
上述管理模块根据上述场景数据包中的数据格式标识确定上述场景数据包的数据格式,按照上述数据格式标识所指示的数据格式解析上述场景数据包,确定上述目标应用程序的上述场景标识和上述关键性能参数,并向上述策略模块发送上述场景标识和上述关键性能参数;可见,由管理模块对场景数据包进行统一处理,策略模块仅需要直接接收策略模块的处理结果,如此设置有利于轻量化和精细化策略模块的功能,便于对策略模块进行维护、添加等操作,提高系统稳定性。
或者,
上述管理模块向上述策略模块发送上述场景数据包;上述策略模块根据上述场景数据包中的数据格式标识确定上述场景数据包的数据格式,按照上述数据格式标识所指示的数据格式解析上述场景数据包,确定上述目标应用程序的上述场景标识和上述关键性能参数;可见,管理模块不对场景数据包进行处理,而是直接将其传递给策略模块进行处理,从而策略模块在传递场景数据包后无需持续启用,可以快速休眠,有利于降低操作系统的整体功耗,提高效率。
或者,
上述管理模块确定上述策略模块关联的第一数据格式,在检测到上述第一数据格式和上述场景数据包的第二数据格式不一致时,转换上述场景数据包的第二数据格式为上述第一数据格式,并向上述策略模块发送上述转换后的上述场景数据包;上述策略模块按照上述第一数据格式解析上述转换后的上述场景数据包,确定上述目标应用程序的上述场景标识和上述关键性能参数。可见,管理模块能够将策略模块无法识别的场景数据包转换成策略模块可以识别的场景数据包,并传递给策略模块进行处理,避免因格式差异无法正确确定出场景标识和关键性能参数,有利于提高移动终端为运行中目标应用程序进行准确资源配置的成功率。
在一个可能的示例中,上述策略模块确定上述场景标识对应的待调整的系统资源,包括:上述策略模块以上述场景标识为查询标识,查询预设的待调整的系统资源与场景标识之间的映射关系,确定上述场景标识对应的待调整的系统资源。可见,通过查询映射关系方式能够快速确定待调整的系统资源,有利于提高移动终端控制目标应用程序进行运行优化的速度。
与上述图2所示的实施例一致的,请参阅图3,图3是本申请实施例提供的一种资源配置方法的流程示意图,应用于移动终端,,上述移动终端上运行有操作系统以及一个或多个应用程序,上述操作系统包括管理模块和多个策略模块,每个策略模块用于确定相同应用类型的至少一个应用程序中的应用程序的性能提升策略。如图所示,本资源配置方法包括:
S301,上述操作系统接收正在运行的上述目标应用程序发送的场景数据包,上述场景数据包包括目标应用程序的场景标识和关键性能参数。
S302,上述管理模块按照上述数据格式标识所指示的数据格式解析上述场景数据包以确定上述场景标识和上述关键性能参数。
S303,上述管理模块确定上述多个策略模块中适用于上述场景标识的策略模块。
S304,上述策略模块根据上述关键性能参数确定上述目标应用程序的性能提升策略。
S305,上述操作系统按照上述性能提升策略调整上述目标应用程序的系统资源的分配。
可以看出,本申请实施例中,移动终端的操作系统空间的操作系统接收正在运行的目标应用程序发送的场景数据包,场景数据包包括正在运行的目标应用程序的场景标识和关键性能参数,其次,操作系统根据场景标识和关键性能参数确定正在运行的目标应用程序的性能提升策略,最后,操作系统按照性能提升策略调整正在运行的目标应用程序的系统资源的分配。由于场景数据包由正在运行的目标应用程序发送,且包含场景标识和关键性能参数,该场景标识和关键性能参数能够精准确定该目标应用程序正在运行时的性能提升策略,并由操作系统按照该性能提升策略实时调整目标应用程序的资源的配置,实现了由操作系统对目标应用程序在运行过程中进行实时的性能优化,有利于提高移动终端控制目标应用程序进行性能优化的实时性和精确度。
此外,通过划分多个策略模块能够实现对不同类型应用的精细化控制,且移动终端无需同时加载全部策略模块,仅需要加载移动终端前台运行的目标应用程序对应的策略模块,有利于降低移动终端的资源占用,提高资源利用率和控制效率。
此外,由于数据格式标识能够使得操作系统在接收到场景数据包后,快速识别出该场景数据包所使用的数据传输格式,从而实时解析该场景数据包中的场景标识和关键性能参数,降低处理时延,有利于提高数据处理效率,提高针对运行中的目标应用程序进行资源调整的实时性。
与上述图2所示的实施例一致的,请参阅图4,图4是本申请实施例提供的一种资源配置方法的流程示意图,应用于移动终端,上述移动终端上运行有操作系统和一个或多个目标应用程序,上述操作系统包括管理模块、多个策略模块和数据连接管理模块,每个策略模块用于确定相同应用类型的至少一个应用程序中的应用程序的性能提升策略,上述目标应用程序包括数据连接模块,上述场景数据包包括目标应用程序的场景标识和关键性能参数,上述场景数据包包括数据格式标识。如图所示,本资源配置方法包括:
S401,上述数据连接管理模块与上述数据连接模块建立预设数据通道。
S402,上述数据连接管理模块通过上述预设数据通道接收上述目标应用程序发送的场景数据包。
S403,上述管理模块按照上述数据格式标识所指示的数据格式解析上述场景数据包,确定上述目标应用程序的上述场景标识和上述关键性能参数,
S404,上述管理模块确定上述多个策略模块中与上述场景标识对应的策略模块,并向上述策略模块发送上述场景标识和上述关键性能参数。
S405,上述策略模块确定上述关键性能参数关联的资源为待调整的系统资源,根据上述关键性能参数确定上述待调整的系统资源的调整量。
S406,上述策略模块根据上述待调整的系统资源和上述关键性能参数确定上述目标应用程序的性能提升策略。
S407,上述操作系统按照上述性能提升策略调整上述目标应用程序的系统资源的分配。
可以看出,本申请实施例中,移动终端的操作系统空间的操作系统接收正在运行的目标应用程序发送的场景数据包,场景数据包包括正在运行的目标应用程序的场景标识和关键性能参数,其次,操作系统根据场景标识和关键性能参数确定正在运行的目标应用程序的性能提升策略,最后,操作系统按照性能提升策略调整正在运行的目标应用程序的系统资源的分配。由于场景数据包由正在运行的目标应用程序发送,且包含场景标识和关键性能参数,该场景标识和关键性能参数能够精准确定该目标应用程序正在运行时的性能提升策略,并由操作系统按照该性能提升策略实时调整目标应用程序的资源的配置,实现了由操作系统对目标应用程序在运行过程中进行实时的性能优化,有利于提高移动终端控制目标应用程序进行性能优化的实时性和精确度。
此外,场景标识用于快速确定目标应用程序的待调整的系统资源,关键性能参数用于准确确定待调整的系统资源的调整量,有利于提高移动终端控制目标应用程序进行运行优化的准确度和速度。
此外由于目标应用程序包括管理模块和策略模块,该管理模块和策略模块配合起来能够确认目标应用程序的性能提升策略,即采用模块化方式来完成性能提升策略的确定过程,每个模块都执行相应划分的功能,单个模块出错时不会影响另外一个模块的状态,有利于提高移动终端控制目标应用程序进行运行优化的稳定性。
此外,关键性能参数中与待调整的系统资源关联的参数用于确定待调整的系统资源的调整量,避免非关联的参数对调整量造成影响,有利于提高移动终端控制目标应用程序进行运行优化的准确度。
此外,由管理模块对场景数据包进行统一处理,策略模块仅需要直接接收策略模块的处理结果,如此设置有利于轻量化和精细化策略模块的功能,便于对策略模块进行维护、添加等操作,提高系统稳定性。
与上述图2、图3、图4所示的实施例一致的,请参阅图5,图5是本申请实施例提供的一种移动终端的结构示意图,该移动终端运行有一个或多个应用程序和操作系统,如图所示,该移动终端包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序不同于上述一个或多个应用程序,且上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令;
接收正在运行的上述目标应用程序发送的场景数据包,上述场景数据包包括目标应用程序的场景标识和关键性能参数;
根据上述场景标识和上述关键性能参数确定上述目标应用程序的性能提升策略;
按照上述性能提升策略调整上述目标应用程序的系统资源的分配。
可以看出,本申请实施例中,移动终端的操作系统空间的操作系统接收正在运行的目标应用程序发送的场景数据包,场景数据包包括正在运行的目标应用程序的场景标识和关键性能参数,其次,操作系统根据场景标识和关键性能参数确定正在运行的目标应用程序的性能提升策略,最后,操作系统按照性能提升策略调整正在运行的目标应用程序的系统资源的分配。由于场景数据包由正在运行的目标应用程序发送,且包含场景标识和关键性能参数,该场景标识和关键性能参数能够精准确定该目标应用程序正在运行时的性能提升策略,并由操作系统按照该性能提升策略实时调整目标应用程序的资源的配置,实现了由操作系统对目标应用程序在运行过程中进行实时的性能优化,有利于提高移动终端控制目标应用程序进行性能优化的实时性和精确度。
在一个可能的示例中,上述操作系统包括管理模块和多个策略模块;在上述根据上述场景标识和上述关键性能参数确定上述目标应用程序的性能提升策略方面,上述程序中的指令具体用于执行以下操作:控制上述管理模块确定上述场景数据包中的上述场景标识和上述关键性能参数;以及控制上述管理模块确定上述多个策略模块中适用于上述场景标识的策略模块;以及控制上述策略模块根据上述关键性能参数确定上述目标应用程序的性能提升策略。
在一个可能的示例中,上述场景数据包包括数据格式标识;在上述控制上述管理模块确定上述场景数据包中的上述场景标识和上述关键性能参数方面,上述程序中的指令具体用于执行以下操作:控制以及控制上述管理模块按照上述数据格式标识所指示的数据格式解析上述场景数据包以确定上述场景标识和上述关键性能参数。
在一个可能的示例中,在上述控制上述策略模块根据上述关键性能参数确定上述目标应用程序的性能提升策略方面,上述程序中的指令具体用于执行以下操作:控制上述策略模块确定上述关键性能参数关联的资源为待调整的系统资源;根据上述关键性能参数确定上述待调整的系统资源的调整量,根据上述调整量生成上述目标应用程序的性能提升策略;确定上述生成的上述性能提升策略为上述目标应用程序的性能提升策略;或者,
控制上述策略模块确定上述关键性能参数的参数类型和参数数值区间,确定上述参数类型对应的性能提升策略包,以上述参数数值区间为查询标识,确定上述性能提升策略包中适用于该参数数值区间的性能提升策略。
在一个可能的示例中,上述操作系统包括管理模块和策略模块;在上述根据上述场景标识和上述关键性能参数确定上述目标应用程序的性能提升策略方面,上述程序中的指令具体用于执行以下操作:控制上述策略模块获取上述场景数据包中的上述场景标识和上述关键性能参数;以及控制上述策略模块确定上述场景标识对应的待调整的系统资源;以及控制上述策略模块根据上述待调整的系统资源和上述关键性能参数确定上述目标应用程序的性能提升策略。
在一个可能的示例中,在上述控制上述策略模块根据上述待调整的系统资源和上述关键性能参数确定上述目标应用程序的性能提升策略方面,上述程序中的指令具体用于执行以下操作:控制上述策略模块根据上述关键性能参数中与上述待调整的系统资源关联的参数确定上述待调整的系统资源的调整量;以及控制上述策略模块根据上述调整量生成上述目标应用程序的性能提升策略。
在一个可能的示例中,上述目标应用程序和上述操作系统之间包括预设数据通道;在上述通过上述通信单元接收正在运行的上述目标应用程序发送的场景数据包方面,上述程序中的指令具体用于执行以下操作:通过上述通信单元接收通过上述预设数据通道接收上述正在运行的上述目标应用程序发送的场景数据包。
在本可能的示例中,上述目标应用程序包括数据连接模块,上述操作系统包括数据连接管理模块;上述程序还包括用于执行以下操作的指令:控制上述数据连接管理模块与上述数据连接模块建立上述预设数据通道。
在一个可能的示例中,上述资源包括上述移动终端的以下资源中的至少一种:CPU资源、GPU资源、内存带宽资源、磁盘资源、网络资源。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,移动终端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对移动终端进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,图6示出了上述实施例中所涉及的资源配置装置的一种可能的功能单元组成框图。资源配置装置600包括:处理单元602和通信单元603。处理单元602用于对资源配置装置的动作进行控制管理,例如,处理单元602用于支持资源配置装置执行图2中的步骤S201-S203、图3中的步骤S301-S305、图4中的步骤S401-S407和/或用于本文所描述的技术的其它过程。资源配置装置还可以包括存储单元601,用于存储程序代码和数据。
其中,上述处理单元602,用于通过上述通信单元603接收正在运行的上述目标应用程序发送的场景数据包,上述场景数据包包括目标应用程序的场景标识和关键性能参数;以及用于根据上述场景标识和上述关键性能参数确定上述目标应用程序的性能提升策略;以及用于按照上述性能提升策略调整上述目标应用程序的系统资源的分配。
在一个可能的示例中,上述操作系统包括管理模块和多个策略模块;在上述根据上述场景标识和上述关键性能参数确定上述目标应用程序的性能提升策略方面,上述处理单元602具体用于:控制上述管理模块确定上述场景数据包中的上述场景标识和上述关键性能参数;以及控制上述管理模块确定上述多个策略模块中适用于上述场景标识的策略模块;以及控制上述策略模块根据上述关键性能参数确定上述目标应用程序的性能提升策略。
在一个可能的示例中,上述场景数据包包括数据格式标识;在上述控制上述管理模块确定上述场景数据包中的上述场景标识和上述关键性能参数方面,上述处理单元602具体用于:控制以及控制上述管理模块按照上述数据格式标识所指示的数据格式解析上述场景数据包以确定上述场景标识和上述关键性能参数。
在一个可能的示例中,在上述控制上述策略模块根据上述关键性能参数确定上述目标应用程序的性能提升策略方面,上述处理单元602具体用于:控制上述策略模块确定上述关键性能参数关联的资源为待调整的系统资源;根据上述关键性能参数确定上述待调整的系统资源的调整量,根据上述调整量生成上述目标应用程序的性能提升策略;确定上述生成的上述性能提升策略为上述目标应用程序的性能提升策略;或者,
控制上述策略模块确定上述关键性能参数的参数类型和参数数值区间,确定上述参数类型对应的性能提升策略包,以上述参数数值区间为查询标识,确定上述性能提升策略包中适用于该参数数值区间的性能提升策略。
在一个可能的示例中,上述操作系统包括管理模块和策略模块;在上述根据上述场景标识和上述关键性能参数确定上述目标应用程序的性能提升策略方面,上述处理单元602具体用于:控制上述策略模块获取上述场景数据包中的上述场景标识和上述关键性能参数;以及控制上述策略模块确定上述场景标识对应的待调整的系统资源;以及控制上述策略模块根据上述待调整的系统资源和上述关键性能参数确定上述目标应用程序的性能提升策略。
在一个可能的示例中,在上述控制上述策略模块根据上述待调整的系统资源和上述关键性能参数确定上述目标应用程序的性能提升策略,上述处理单元602具体用于:控制上述策略模块根据上述关键性能参数中与上述待调整的系统资源关联的参数确定上述待调整的系统资源的调整量;以及控制上述策略模块根据上述调整量生成上述目标应用程序的性能提升策略。
在一个可能的示例中,上述目标应用程序和上述操作系统之间包括预设数据通道;在上述通过上述通信单元603接收正在运行的上述目标应用程序发送的场景数据包方面,上述处理单元602具体用于:通过上述通信单元603通过上述预设数据通道接收上述正在运行的上述目标应用程序发送的场景数据包。
其中,上述目标应用程序包括数据连接模块,上述操作系统包括数据连接管理模块;上述资源配置装置还包括通道建立单元,上述通道建立单元,用于控制数据连接管理模块与上述数据连接模块建立上述预设数据通道。
在一个可能的示例中,上述资源包括上述移动终端的以下资源中的至少一种:CPU资源、GPU资源、内存带宽资源、磁盘资源、网络资源。
其中,处理单元602可以是处理器或控制器,通信单元603可以是处理器和程序运行空间之间的内部通信接口,如处理器与操作系统空间的通信接口,或者处理器与用户空间的通信接口等,存储单元601可以是存储器。
请参阅图7,图7是本申请实施例提供了一种智能手机700的结构示意图,上述智能手机700包括:壳体710、触控显示屏720、主板730、电池740和副板750,主板730上设置有前置摄像头731、处理器732、存储器733、电源管理芯片734等,副板上设置有振子751、一体音腔752、VOOC闪充接口753和指纹识别模组754。
其中,该智能手机运行有目标应用程序和操作系统。操作系统接收正在运行的目标应用程序发送的场景数据包,场景数据包包括目标应用程序的场景标识和关键性能参数;操作系统根据场景标识和关键性能参数确定目标应用程序的性能提升策略;操作系统按照性能提升策略调整目标应用程序的系统资源的分配。
上述处理器732是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器733内的软件程序和/或模块,以及调用存储在存储器733内的数据,执行智能手机的各种功能和处理数据,从而对智能手机进行整体监控。可选的,处理器732可包括一个或多个处理单元;优选的,处理器732可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器732中。该处理器732例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable GateArray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。上述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。
上述存储器733可用于存储软件程序以及模块,处理器732通过运行存储在存储器733的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器733可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据智能手机的使用所创建的数据等。此外,存储器733可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。该存储器733例如可以是随机存取存储器(RandomAccess Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(ElectricallyEPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括移动终端。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括移动终端。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。