掌桥专利:专业的专利平台
掌桥专利
首页

资源调节方法、装置、终端设备以及存储介质

文献发布时间:2023-06-19 09:55:50


资源调节方法、装置、终端设备以及存储介质

技术领域

本申请涉及智能终端技术领域,尤其涉及一种资源调节方法、装置、终端设备以及存储介质。

背景技术

现有的GameZone(游戏空间)技术中,为节省手机功耗,采用一种限制手机资源的方法,其根据实时监控surfaceFlinger(图像合成服务)生产帧速度的单个维度来限制频率,其中,在生产快的时候限定在一个较低的固定频率,生产慢的时候限定在一个相对较高的频率。

现有的这种技术大部分依赖于手机SoC芯片(系统级芯片)的自主调节,往往会造成CPU/GPU(中央处理器/图形处理器)频率提升过高,导致手机发热发烫的情况。而且其监控的维度过少,只有手机生产帧的速度单个维度,输出的控制频率也只能在两个固定频率之间切换,控制不够智能灵活,也不够精确。此外现有的相关技术难以维护,往往一款游戏在一个机型上的调整,都需要耗费大量的时间、人力资源。

发明内容

本申请的主要目的在于提供一种资源调节方法、装置、终端设备以及存储介质,旨在实现智能终端系统资源智能调节,在保证应用运行性能的同时,减少智能终端的功耗。

为实现上述目的,本申请提供一种资源调节方法,所述资源调节方法应用于智能终端,所述资源调节方法包括以下步骤:

监测智能终端运行应用时的系统状态;

基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;

根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。

此外,本申请实施例还提出一种资源调节装置,所述资源调节装置包括:

监测模块,用于监测智能终端运行应用时的系统状态;

决策算法模块,用于基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;

调节控制模块,用于根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。

本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的资源调节程序,所述资源调节程序被所述处理器执行时实现如上所述的资源调节方法的步骤。

本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有资源调节程序,所述资源调节程序被处理器执行时实现如上所述的资源调节方法的步骤。

本申请实施例提出的资源调节方法、装置、终端设备以及存储介质,通过监测智能终端运行应用时的系统状态;基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。该方案可以利用机器学习方法,训练决策算法模型,将手机等智能终端的实时数据作为输入,经过决策算法模型合成为特有的状态,并根据模型的计算,最后得出最适合当前智能终端状态的动作。本申请方案可以利用这些动作去输出智能终端的CPU/GPU/DDR频率点等系统状态参数,并依据输出的系统状态参数调节智能终端系统资源。在保证智能终端应用性能的同时,尽可能的减少因为智能终端的SoC带来的功耗过高问题,减少智能终端的发热情况,延长智能终端的续航,给用户创造更好的应用体验。

附图说明

图1为本申请资源调节装置所属终端设备的功能模块示意图;

图2为本申请资源调节方法一示例性实施例的流程示意图;

图3为本申请实施例中读取的数据结构示意图;

图4为本申请实施例中控制器的结构示意图;

图5为本申请资源调节方法另一示例性实施例的流程示意图;

图6为本申请资源调节方法再一示例性实施例的流程示意图;

图7为本申请资源调节方法又一示例性实施例的流程示意图;

图8为本申请资源调节方法又一示例性实施例的流程示意图;

图9为本申请资源调节方法又一示例性实施例的流程示意图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请实施例的主要解决方案是:通过监测智能终端运行应用时的系统状态;基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。该方案可以利用机器学习方法,训练决策算法模型,将手机等智能终端的实时数据作为输入,经过决策算法模型合成为特有的状态,并根据模型的计算,最后得出最适合当前智能终端状态的动作。本申请方案可以利用这些动作去输出智能终端的CPU/GPU/DDR频率点等系统状态参数,并依据输出的系统状态参数调节智能终端系统资源。在保证智能终端应用性能的同时,尽可能的减少因为智能终端的SoC带来的功耗过高问题,减少智能终端的发热情况,延长智能终端的续航,给用户创造更好的应用体验。

本申请实施例涉及的技术术语:

DDR,Double Data Rate,双倍速率同步动态随机存储器;

FPS,Frames per second,每秒帧数;

GPU,Graphics Processing Unit,图形处理器;

CPU,Central Processing Unit,中央处理器;

surfaceFlinger,图像合成服务。

SOC,System on Chip,手机芯片组,一般常被称为系统级芯片,也有称片上系统,是一个有专用目标的集成电路,其中包含完整系统并嵌入软件的全部内容。从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上。

本申请实施例考虑到,现有相关方案中,为节省手机功耗,采用一种限制手机资源的方法,其根据实时监控surfaceFlinger(图像合成服务)生产帧速度的单个维度来限制频率。这种技术大部分依赖于手机SoC芯片的自主调节,往往会造成CPU/GPU频率提升过高,导致手机发热发烫的情况。而且其监控的维度过少,只有手机生产帧的速度单个维度,输出的控制频率也只能在两个固定频率之间切换,控制不够智能灵活,也不够精确。此外现有的相关技术难以维护,往往一款游戏在一个机型上的调整,都需要耗费大量的时间、人力资源。

因此,本申请实施例提出解决方案,可以实现智能终端系统资源智能调节,在保证应用运行性能的同时,减少智能终端的功耗。

具体地,参照图1,图1为本申请资源调节装置所属终端设备的功能模块示意图。该资源调节装置可以为独立于终端设备的、能够实现终端设备系统资源调节的装置,其可以通过硬件或软件的形式承载于终端设备上。该终端设备可以为手机、平板电脑等能够运行各种应用程序的智能移动终端,还可以为安装各种应用程序的固定终端设备或服务器等。

在本实施例中,该资源调节装置所属终端设备至少包括输出模块110、处理器120、存储器130以及通信模块140。

存储器130中存储有操作系统以及资源调节试程序,资源调节装置可以将监测到的智能终端运行应用时的系统状态、获取的系统状态对应的决策结果,以及根据决策结果对所述智能终端的系统状态参数进行调节控制后的系统状态参数等信息存储于该存储器130中;输出模块110可为显示屏、扬声器等。通信模块140可以包括WIFI模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务器进行通信。

其中,存储器130中的资源调节程序被处理器执行时实现以下步骤:

监测智能终端运行应用时的系统状态;

基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;

根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。

进一步地,存储器130中的资源调节程序被处理器执行时还实现以下步骤:

根据所述系统状态查找所述状态决策映射表,获得决策值最高的调节控制指令;

根据获得的所述决策值最高的调节控制指令,输出对应的决策动作,作为决策结果。

进一步地,存储器130中的资源调节程序被处理器执行时还实现以下步骤:

读取所述智能终端运行应用时的系统状态参数,所述系统状态参数包括以下参数中的一种或多种:系统CPU、GPU和DDR的状态参数;

根据所述系统状态参数获得所述智能终端运行应用时的系统状态。

进一步地,存储器130中的资源调节程序被处理器执行时还实现以下步骤:

对所述系统状态参数进行预处理。

进一步地,存储器130中的资源调节程序被处理器执行时还实现以下步骤:

根据获得的所述决策值最高的调节控制指令,输出对应的CPU/GPU/DDR频率点的调节控制动作,作为决策结果;

所述根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源的步骤包括:

根据输出的对应的CPU/GPU/DDR频率点的调节控制动作,调节所述智能终端的CPU/GPU/DDR频率点,以调节系统资源。

进一步地,存储器130中的资源调节程序被处理器执行时还实现以下步骤:

根据输出的对应的CPU/GPU/DDR频率点的调节控制动作,分别通过最大频率控制器调节所述智能终端的CPU/GPU/DDR的最大频率点,通过最小频率控制器调节所述智能终端的CPU/GPU/DDR的最小频率点。

进一步地,存储器130中的资源调节程序被处理器执行时还实现以下步骤:

响应于所述应用的程序退出指令,释放对所述智能终端的系统状态参数的调节控制。

进一步地,存储器130中的资源调节程序被处理器执行时还实现以下步骤:

训练所述决策算法模型。

所述训练所述决策算法模型的步骤包括:

收集所述智能终端的决策算法模型相关数据;

基于所述决策算法模型相关数据获得所述智能终端的系统实时运行状态;

基于所述系统实时运行状态配置系统状态参数执行动作;

根据所述系统状态参数执行动作输出对应的系统系统参数调节控制指令;

基于所述系统状态参数调节控制指令调节所述智能终端的系统实时状态参数;

获得调节系统实时状态参数后所述智能终端的系统状态;

评估所述调节系统实时状态参数后所述智能终端的系统状态,获得对应的决策值;

将所述调节系统实时状态参数后所述智能终端的系统状态、所述系统状态参数调节控制指令以及对应的决策值关联存储至所述状态决策映射表;

重复执行上述步骤并进行迭代,训练所述决策算法模型,得到训练后的所述决策算法模型。

进一步地,存储器130中的资源调节程序被处理器执行时还实现以下步骤:

对所述决策算法模型相关数据进行预处理。

进一步地,存储器130中的资源调节程序被处理器执行时还实现以下步骤:

周期性读取所述智能终端的系统实时状态参数;

收集所述智能终端上运行应用的应用类型、应用场景信息;

获取所述智能终端的机型和/或当前用户信息;

接收云端推送的网络相关配置信息;

进一步地,存储器130中的资源调节程序被处理器执行时还实现以下步骤:

根据当前调节控制结果更新所述决策算法模型。

进一步地,存储器130中的资源调节程序被处理器执行时还实现以下步骤:

根据当前调节控制结果并结合大数据回报函数修正所述决策算法模型。

进一步地,存储器130中的资源调节程序被处理器执行时还实现以下步骤:

在当前调节控制结果出现异常时,根据预设策略对当前调节控制结果进行补偿。

本实施例通过上述方案,通过监测智能终端运行应用时的系统状态;基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。该方案可以利用机器学习方法,训练决策算法模型,将手机等智能终端的实时数据作为输入,经过决策算法模型合成为特有的状态,并根据模型的计算,最后得出最适合当前智能终端状态的动作。本申请方案可以利用这些动作去输出智能终端的CPU/GPU/DDR频率点等系统状态参数,并依据输出的系统状态参数调节智能终端系统资源。在保证智能终端应用性能的同时,尽可能的减少因为智能终端的SoC带来的功耗过高问题,减少智能终端的发热情况,延长智能终端的续航,给用户创造更好的应用体验。

基于上述终端设备架构但不限于上述架构,提出本申请方法实施例。

本实施例方法的执行主体可以是一种资源调节装置,还可以为安装各种应用程序的固定终端设备或服务器等。本实施例以资源调节装置进行举例,该资源调节装置可以通过硬件或软件的形式承载于智能终端设备上。该智能终端设备可以为手机、平板电脑等能够运行各种应用程序的智能移动终端。

该所述资源调节装置可以包括:

监测模块,用于监测智能终端运行应用时的系统状态;

决策算法模块,用于基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;

调节控制模块,用于根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。

具体地,参照图2,图2为本申请资源调节方法一示例性实施例的流程示意图。所述资源调节方法应用于智能终端,所述资源调节方法包括以下步骤:

步骤S101,监测智能终端运行应用时的系统状态;

其中,监测智能终端运行应用时的系统状态,是为了便于根据当前系统状态对系统的CPU/GPU/DDR的频率等状态参数进行调节,以合理利用智能终端的系统资源,在保证智能终端应用性能的同时,尽可能的减少因为智能终端的SoC带来的功耗过高问题,减少智能终端的发热情况,延长智能终端的续航,给用户创造更好的应用体验。

其中,作为一种实施方式,系统状态可以根据智能终端运行应用时的系统状态参数确定。

所述系统状态参数可以包括以下参数中的一种或多种:系统CPU、GPU和DDR、FPS的状态参数;具体而言,以手机为例,可以包括如下参数:游戏实时FPS、CPU频率、GPU频率、CPU负载、GPU负载、帧间隔、CPU温度、GPU温度、手机壳温等。

例如FPS共有24个状态(从0-120,每5FPS一个状态),CPU/GPU频率根据手机芯片不同而异。最终系统状态的构成由上述每一项的一个状态联合构成。例如系统的A状态可以定义为{FPS:60,CPU频率:2.4G,GPU频率:300M,CPU负载:0.5,GPU负载:0.2,温度:40度}。

具体地,作为一种实施方式,所述监测智能终端运行应用时的系统状态可以包括:

读取所述智能终端运行应用时的系统状态参数,其中,读取的数据结构可以参照图3所示。

具体实现时,可以在资源调节装置的监测模块中设置一数据读取模块,比如数据读取器,数据读取器可以包含许多个容器,每一个容器负责一类数据的读取。除了读取,容器还需要将读取的数据保存下来。

数据读取完成后,需要对其进行预处理,以保证这些数据是以正确的格式提供至算法模块。

进一步地,在读取智能终端运行应用时的系统状态参数之后还可以对所述系统状态参数进行预处理,其中,预处理主要是对数据进行对齐处理,以得到合适正确的数据格式,用于后续的算法处理。

在读取数据时,数据读取模块主要通过手机系统的Oiface服务进行,其读取的时间间隔可以根据不同手机的平台做相适应的修改。其选取的原则是既要保证算法自身带来的负载所产生的额外功耗在一个合理的范围内,同时也要保证数据的时效性。考虑到大多数手机屏幕60Hz的刷新率,16.6毫秒帧间隔,因此50毫秒是一个合理的时间间隔。即本申请方案中,采用50毫秒去获取一次系统数据,可以保证尽可能降低算法自身带来的负载的同时使得数据更有效。

然后,根据所述系统状态参数获得所述智能终端运行应用时的系统状态。

步骤S102,基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;

作为一种实施方式,所述决策算法模型可以包括状态决策映射表,所述状态决策映射表包括系统状态、调节控制指令及对应决策值之间的映射关系,所述基于预先训练的决策算法模型,获取所述系统状态对应的决策结果的步骤可以包括:

根据所述系统状态查找所述状态决策映射表,获得决策值最高的调节控制指令;

根据获得的所述决策值最高的调节控制指令,输出对应的决策动作,作为决策结果。

其中,本申请决策算法模型的原理是,利用机器学习中的强化学习的方法,将手机等智能终端的实时数据作为输入,经过决策算法模型合成为特有的系统状态,并根据决策算法模型的计算,最后得出最适合当前手机等智能终端状态的动作。然后利用这些动作去输出CPU/GPU/DDR频率点等系统状态参数,并依据输出的频率点去调节手机等智能终端的系统资源。

本申请决策算法模型是基于强化学习所构建的一系列计算、构造方法集合而成的模型,其中包括了对输入数据的处理,状态的构造与更新,回报值的计算,Q值的更新,历史数据的权重计算等部分。每个部分都负责一块单独的任务。这些任务按照流程执行,最后输出动作。

强化学习是机器学习的一个分支,它主要用来描述和解决智能体(Agent)在与环境交互的过程中,通过学习策略以达成回报最大化或实现特定目标的问题。强化学习的常见模型是由一系列马尔科夫状态组成,利用马尔科夫决策过程(MDP)做出决策。本申请在一般的强化学习算法上做出了一些改进,不再强依赖于频繁的交互环境,在计算Reward(回报值)和Q值时采用了历史加权的方式,对原始值应用了指数衰减,使得不同时间的历史数据占据不同的比重。同时设置了FPS阈值、CPU使用率等一些指标来标记历史值的重要程度,对齐比重做二次修正。

决策算法模型主体是由Q表组成。Q表由一系列状态、动作和他们之间相互映射所得到的Q值构成。Q值反映了在某个状态下采取某个动作的好坏程度。在本申请中,状态由系统各项参数构成,分为:

FPS、CPU频率、GPU频率、CPU负载、GPU负载、帧间隔、温度,其中,温度可以包括CPU温度、GPU温度、手机壳温等。

例如FPS共有24个状态(从0-120,每5FPS一个状态),CPU/GPU频率根据手机芯片不同而异。最终系统状态的构成由上述每一项的一个状态联合构成。例如系统的A状态可以定义为{FPS:60,CPU频率:2.4G,GPU频率:300M,CPU负载:0.5,GPU负载:0.2,温度:40度}。

以手机为例,每一个状态都对应一些动作,做出相应的动作之后,根据手机所达到的新的状态,去计算本次动作的好坏程度,即Q值。

动作的定义如下:

CPU_MAX Level Up;

CPU_MAX Level Down;

GPU_MAX Level Up;

GPU_MAX Level Down;

DDR_MAX Level Up;

DDR_MAX Level Down;

CPU_MIN Level Up;

CPU_MIN Level Down;

GPU_MIN Level Up;

GPU_MIN Level Down;

DDR_MIN Level Up;

DDR_MIN Level Down;

Same。

决策算法模型经过一段时间的训练,可以得出在当前状态下的最好决策,进而实施相应的动作。整个训练过程都发生在手机侧,完好的训练后的决策算法模型可以根据手机现有的状态,实时动态的调节系统各项资源,使得手机上的应用,比如游戏获得刚刚好的游戏资源,从而在保证游戏性能的情况下做最优处理,实现节省资源的目的。

步骤S103,根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。

具体地,如前所述,在获取到系统状态后,根据所述系统状态查找决策算法模型中的状态决策映射表,获得决策值最高的调节控制指令;

然后,根据获得的所述决策值最高的调节控制指令,输出对应的决策动作,作为决策结果。例如,根据获得的所述决策值最高的调节控制指令,输出对应的包括CPU/GPU/DDR频率点等系统状态参数的调节控制动作,作为决策结果;

然后,根据输出的对应的CPU/GPU/DDR频率点等系统状态参数的调节控制动作,调节所述智能终端的CPU/GPU/DDR频率点等系统状态参数,以调节系统资源。

其中,以调节CPU/GPU/DDR频率点为例,所述根据输出的对应的CPU/GPU/DDR频率点的调节控制动作,调节所述智能终端的CPU/GPU/DDR频率点的步骤可以包括:

根据输出的对应的CPU/GPU/DDR频率点的调节控制动作,分别通过最大频率控制器调节所述智能终端的CPU/GPU/DDR的最大频率点,通过最小频率控制器调节所述智能终端的CPU/GPU/DDR的最小频率点。

其中,所述最大频率控制器和最小频率控制器之间两两配对捆绑。

具体实现如下:

以进行频率控制为例,频率控制主要通过单个控制器实现。每一个控制器负载控制一个输出,具体为:

CPU_MAX:负责控制调节CPU的最大频;

CPU_MIN:负责控制调节CPU的最小频;

GPU_MAX:负责控制调节GPU的最大频;

GPU_MIN:负责控制调节GPU的最小频;

DDR_MAX:负责控制调节DDR的最大频;

DDR_MIN:负责控制调节DDR的最小频。

其中,控制器的结构可以如图4所示,图4中,mlevel意为“我的level”表示系统当前参数的level值。

本实施例系统中共有6个控制器,分别控制如图4所示的模块频率。每个控制器会有一个level值,决策算法模块在输出动作之后,控制器会首先应用动作,修改自身的level值,以适配频率控制。紧接着控制器会接到控制命令,此时其会将自身的level值传递至调频接口,实现调频。

控制器会两两配对,即每一类的MAX控制和MIN控制为一对。为了确保控制的合理和精确性,需要对控制器进行捆绑。每对控制器中有相互联系,彼此分为强连接关系和弱连接关系两种。弱连接的控制器需要服从强连接的控制器的逻辑。配对之后,两个控制器的level值需要满足连接公式,即强控制器变化,弱控制器需要跟随做出变化,反之则不需要。

在通过调频接口实现调频时,作为一种实施方式,主要通过高通的perfLock接口去实现频率的控制。每个控制器都包含set和release接口。Set接口负责去设置频率,应用决策算法模块的输出。Release接口负责释放频率控制,一般在退出应用的时候使用。为了确保控制的准确性,考虑到系统的时间片选择以及控制耗时,单次控制间隔一般不会低于50ms。

本实施例通过上述方案,通过监测智能终端运行应用时的系统状态;基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。该方案可以利用机器学习方法,训练决策算法模型,将手机等智能终端的实时数据作为输入,经过决策算法模型合成为特有的状态,并根据模型的计算,最后得出最适合当前智能终端状态的动作。本申请方案可以利用这些动作去输出智能终端的CPU/GPU/DDR频率点等系统状态参数,并依据输出的系统状态参数调节智能终端系统资源。在保证智能终端应用性能的同时,尽可能的减少因为智能终端的SoC带来的功耗过高问题,减少智能终端的发热情况,延长智能终端的续航,给用户创造更好的应用体验。

参照图5,图5为本申请资源调节方法另一示例性实施例的流程示意图。基于上述图2所示的实施例,所述方法还包括:

步骤S104,响应于所述应用的程序退出指令,释放对所述智能终端的系统状态参数的调节控制。

相比上述图2所示的实施例,本实施例还包括释放对所述智能终端的系统状态参数的调节控制。

具体地,以游戏应用为例,在游戏使用过程中,可以采用本申请图2所示的实施例的实现方案,监测智能终端运行游戏时的系统状态;基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。在系统退出游戏程序后,通过调用控制器调频接口的release接口释放频率控制,以节省系统资源,避免不必要的功耗。

本实施例通过上述方案,通过监测智能终端运行应用时的系统状态;基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。进一步地,在应用程序退出后,释放对所述智能终端的系统状态参数的调节控制,该方案可以利用机器学习方法,训练决策算法模型,将手机等智能终端的实时数据作为输入,经过决策算法模型合成为特有的状态,并根据模型的计算,最后得出最适合当前智能终端状态的动作。本申请方案可以利用这些动作去输出智能终端的CPU/GPU/DDR频率点等系统状态参数,并依据输出的系统状态参数调节智能终端系统资源。在保证智能终端应用性能的同时,尽可能的减少因为智能终端的SoC带来的功耗过高问题,减少智能终端的发热情况,延长智能终端的续航,给用户创造更好的应用体验。

参照图6,图6为本申请资源调节方法再一示例性实施例的流程示意图。基于上述图5所示的实施例,在上述步骤S101,基于预先训练的决策算法模型,获取所述系统状态参数对应的决策结果之前还包括:

步骤S100,训练所述决策算法模型。

相比上述图5所示的实施例,本实施例还包括训练决策算法模型的方案。

具体地,所述训练所述决策算法模型的步骤可以包括:

首先,收集所述智能终端的决策算法模型相关数据;

其中,可以对所述决策算法模型相关数据进行预处理。

然后,基于所述决策算法模型相关数据获得所述智能终端的系统实时运行状态;

基于所述系统实时运行状态配置系统状态参数执行动作;

根据所述系统状态参数执行动作输出对应的系统系统参数调节控制指令;

基于所述系统状态参数调节控制指令调节所述智能终端的系统实时状态参数;

获得调节系统实时状态参数后所述智能终端的系统状态;

然后,评估所述调节系统实时状态参数后所述智能终端的系统状态,获得对应的决策值;

将所述调节系统实时状态参数后所述智能终端的系统状态、所述系统状态参数调节控制指令以及对应的决策值关联存储至所述状态决策映射表;

重复执行上述步骤并进行迭代,训练所述决策算法模型,得到训练后的所述决策算法模型。

具体地,上述方案中,在收集智能终端的决策算法模型相关数据时,可以采用以下方式中的一种或多种:

周期性读取所述智能终端的系统实时状态参数;

收集所述智能终端上运行应用的应用类型、应用场景信息;

获取所述智能终端的机型和/或当前用户信息;

接收云端推送的网络相关配置信息。

其中,周期性读取所述智能终端的系统实时状态参数可以采用如下方案:

其中,作为一种实施方式,系统状态可以根据智能终端运行应用时的系统状态参数确定。

所述系统状态参数可以包括以下参数中的一种或多种:系统CPU、GPU和DDR、FPS的状态参数;具体而言,以手机为例,可以包括如下参数:游戏实时FPS、CPU频率、GPU频率、CPU负载、GPU负载、帧间隔、CPU温度、GPU温度、手机壳温等。

例如FPS共有24个状态(从0-120,每5FPS一个状态),CPU/GPU频率根据手机芯片不同而异。最终系统状态的构成由上述每一项的一个状态联合构成。例如系统的A状态可以定义为{FPS:60,CPU频率:2.4G,GPU频率:300M,CPU负载:0.5,GPU负载:0.2,温度:40度}。

具体地,作为一种实施方式,所述监测智能终端运行应用时的系统状态可以包括:

读取所述智能终端运行应用时的系统状态参数,其中,读取的数据结构可以参照图3所示。

具体实现时,可以设置一数据读取模块,比如数据读取器,数据读取器可以包含许多个容器,每一个容器负责一类数据的读取。除了读取,容器还需要将读取的数据保存下来。

数据读取完成后,需要对其进行预处理,以保证这些数据是以正确的格式提供至算法模块。

进一步地,在读取智能终端运行应用时的系统状态参数之后还可以对所述系统状态参数进行预处理,其中,预处理主要是对数据进行对齐处理,以得到合适正确的数据格式,用于后续的算法处理。

在读取数据时,数据读取模块主要通过手机系统的Oiface服务进行,其读取的时间间隔可以根据不同手机的平台做相适应的修改。其选取的原则是既要保证算法自身带来的负载所产生的额外功耗在一个合理的范围内,同时也要保证数据的时效性。考虑到大多数手机屏幕60Hz的刷新率,16.6毫秒帧间隔,因此50毫秒是一个合理的时间间隔。即本申请方案中,采用50毫秒去获取一次系统数据,可以保证尽可能降低算法自身带来的负载的同时使得数据更有效。

然后,可以根据所述系统状态参数获得所述智能终端运行应用时的系统状态,再基于系统状态并结合决策算法模型对系统状态参数进行调节控制。

上述方案中,作为方案扩展,可以收集所述智能终端上运行应用的应用类型、应用场景信息;获取所述智能终端的机型和/或当前用户信息;以及云端推送的网络相关配置信息等。

具体地,以手机游戏应用为例,在收集手机数据过程中,除了手机自身的状态、资源等数据,还可以加入游戏的状态。游戏可以提供其状态信息来完善输入到决策算法模块的信息。例如,游戏可以发送通知至手机,告诉手机游戏正在进行加载、登录、团战、重负载、轻负载等等场景,帮助系统更好的了解当前状态下手机所需要的资源,并输出更加精细、准确的频率调节。

此外,除了可以提供游戏场景信息外,还可以提供温度、网络情况等其他信息,这些信息将会被手机系统资源利用起来,填充进决策算法模块,对这些信息进行充分的学习,训练决策算法模型,从而提升决策算法模型控制的正确性。

本实施例决策算法模型的实现流程可以如下:

1)决策算法模型接收数据读取模块提供的数据,并对齐进行预处理。

2)预处理完成后,将数据保存以形成历史数据并更新至系统中。

3)准备进行决策。其中,可以有Random、Normal、TryIns(达到有效值)三种决策方式:Random方式对应随机决策,目的是为了在固有的循环中跳出,丰富Q表的内容;Normal方式对应正常决策,即选择Q值最合适的决策;TryIns方式对应学习决策,即算法在学习过程中会尽量选择没有经过学习过的决策,以实现每个状态的每个决策的有效性。

4)采取决策,并将决策结果输出至调节控制模块。

5)调节控制模块实现频率控制。

6)决策算法模块根据频率控制结果更新上一次状态。

循环至1)。

通过上述过程不断更新迭代,训练决策算法模型,从而得到训练后的决策算法模型。

上述过程中,决策算法模型获得的初始数据不仅仅可以是系统内部数据,还可以是通过云端下发参数,实时的改变算法的策略,可以做到针对不同游戏、不同设备甚至不同用户的特殊参数推送。不同的参数推送可以控制决策算法模块的行为,实现差异化的控制。

相比现有技术,本申请技术方案中,可以根据手机等智能终端系统提供的数据信息,拟合出所需状态,并且根据系统所处状态,利用强化学习的方法,动态的实时的调节系统资源,在保证游戏等应用性能的情况下,可以提供给游戏等应用合理的系统资源,从而实现手机功耗的降低。

此外,可以通过云端下发模型参数配置,可以实时动态的进行调节,针对不同用户群体推送不同的配置,差异化的进行部署。同时对于模型的更新迭代,提供了一种更加快捷的方式。

进一步地,云端下发参数还进一步的提升研发效能,缩短了单款游戏单机型的调优时间,从而大大的节约了各项资源成本。

综上,以手机为例,本申请实施例提出资源调节方法,利用机器学习的算法,通过获取手机各项数据,实时动态的调整手机资源,配合云端下发配置,针对单个机型单个游戏单个用户推送,在不影响性能情况下,实现了节能省功耗的目的,提升了用户的游戏体验。

本实施例通过上述方案,通过训练所述决策算法模型,监测智能终端运行应用时的系统状态;基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。进一步地,在应用程序退出后,释放对所述智能终端的系统状态参数的调节控制,该方案可以利用机器学习方法,训练决策算法模型,将手机等智能终端的实时数据作为输入,经过决策算法模型合成为特有的状态,并根据模型的计算,最后得出最适合当前智能终端状态的动作。本申请方案可以利用这些动作去输出智能终端的CPU/GPU/DDR频率点等系统状态参数,并依据输出的系统状态参数调节智能终端系统资源。在保证智能终端应用性能的同时,尽可能的减少因为智能终端的SoC带来的功耗过高问题,减少智能终端的发热情况,延长智能终端的续航,给用户创造更好的应用体验。

参照图7,图7为本申请资源调节方法又一示例性实施例的流程示意图。基于上述图6所示的实施例,所述资源调节方法还包括:

步骤S105,根据当前调节控制结果更新所述决策算法模型。

相比上述图6所示的实施例,本实施例还包括更新所述决策算法模型的方案。

具体地,在通过决策算法模型对当前系统状态参数进行调节控制后,还可以根据当前调节控制结果更新所述决策算法模型,例如,可以将当前调节后的系统状态参数对应的系统状态作为决策算法模型的输入,进一步训练该决策算法模型,实现模型的更新迭代,从而提升决策算法模型控制的正确性。

参照图8,图8为本申请资源调节方法又一示例性实施例的流程示意图。基于上述图6所示的实施例,所述资源调节方法还包括:

步骤S106,根据当前调节控制结果并结合大数据回报函数修正所述决策算法模型。

相比上述图6所示的实施例,本实施例还包括修正所述决策算法模型的方案。

具体地,本实施例考虑到,系统状态涉及的各种场景的不同,决策算法模型的控制结果可能存在误差,因此,可以采取一定的策略对决策算法模型进行修正。

具体地,作为一种实施方式,可以结合大数据功能,获得很多用户的实际数据,根据这些数据去设计决策算法模型的回报函数,从而可以获得最大的效果。此外大数据也可以用来监控决策控制的准确性,对决策算法模型进行适当的修正。

其中,回报函数可以由多个部分组成,主要包括:

1.FPS

FPS分为多个阶段,对应不同游戏当前的最高FPS,每个阶段都有自己单独的回报。

具体的FPS回报函数公式为:

reward-=(fps–targetfps)*slop+(penaltyFactor*targetFps–fps)*penaltySlop;

FPS的实际值越接近目标值,回报值就越大。如果差距大于某个范围,还会有额外惩罚。

其中,targetfps为目标值,penalty为惩罚值,slop为不同情况下的系数;

factor是对齐其他reward的因数。

2.FPS趋势

FPS的趋势可以分为多种情况:快速增长,缓慢增长,平稳,缓慢降低,快速降低。

具体公式为:

reward2-=(different–offset)^2*slop+base*previous;

其中,different为两次采样FPS的差值,offset为补偿值,slop为不同情况下的系数,base是基础值,根据不同情况变化,previous是历史修正值。

3.稳定性

稳定性是最重要的一环,如果因此发生频率调节,那么表明稳定性在降低,reward需要减少,具体公式为:

Reward3-=0.5*Adjusted,发生变化即Adjusted为1,反之为0,reward不变。

4.温度

在算法中设定一个目标温度,低于目标温度为正回报,反之为负回报,具体公式为:

Reward4-=(different–offset)*slop+base;

其中,different为实际温度和目标温度的差值,offset为补偿,slop是增长系数,base是基础回报值。

5.帧生产间隔

公式与温度类似。

6.CPU/GPU频率

CPU和GPU的频率占比越低越好,因此公式可以为:

Reward6=usage*slop*factor;

其中,usage是频率比例,slop是增长系数,factor是对齐其他reward的因数;

7.CPU/GPU负载

其中,CPU/GPU的负载和CPU的频率占比是息息相关的,具体公式为:

Reward7=reward6*factor+load*slop+penalty*offset;

简而言之就是根据频率的回报来计算负载的回报。

最后总体的reward是各部分线性组成的,但是每部分的占比有所不同,上述回报线性组合即为最终的回报值。

在上述方案中,大数据就是可以统计很多用户的FPS、温度等数据,作为回报函数的基准值、补偿值等值的设定参考。也就是说,公式里的所有系数都可以根据用户实际使用的大数据去定制,更加精确有效。

本实施例通过上述方案,通过训练所述决策算法模型,监测智能终端运行应用时的系统状态;基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。进一步地,在应用程序退出后,释放对所述智能终端的系统状态参数的调节控制,该方案可以利用机器学习方法,训练决策算法模型,将手机等智能终端的实时数据作为输入,经过决策算法模型合成为特有的状态,并根据模型的计算,最后得出最适合当前智能终端状态的动作。本申请方案可以利用这些动作去输出智能终端的CPU/GPU/DDR频率点等系统状态参数,并依据输出的系统状态参数调节智能终端系统资源。在保证智能终端应用性能的同时,尽可能的减少因为智能终端的SoC带来的功耗过高问题,减少智能终端的发热情况,延长智能终端的续航,给用户创造更好的应用体验。此外,还可以根据当前调节控制结果并结合大数据回报函数修正所述决策算法模型,从而提升决策算法模型控制的准确性。

参照图9,图9为本申请资源调节方法又一示例性实施例的流程示意图。基于上述图6所示的实施例,所述资源调节方法还包括:

步骤S107,在当前调节控制结果出现异常时,根据预设策略对当前调节控制结果进行补偿。

相比上述图6所示的实施例,本实施例还包括对决策算法模型的控制结果进行补偿的方案。

具体地,本实施例考虑到,在算法实际学习的过程中,由于算法本身的性能限制以及Q表大小的限制,会出现错误控制的情况。并且智能终端有可能达到一个算法从未学习过的状态,从而出现控制不佳的情况。因此还可以设计一种补偿算法,对应用因算法错误控制的情况而造成的掉帧情况进行补救。

以游戏应用为例,该算法可以统计游戏的平均帧率以及功耗情况,如果决策算法模型控制出现异常,可以通过补偿算法进行额外的补偿操作。

此外,作为另一种补偿实施方式,为了防止突然大幅度的掉帧给用户的游戏体验带来非常糟糕的影响,可以利用满频技术做额外补偿提频操作。该方法可以实时监控Android手机绘制图像的surfaceflinger进程,从而获取帧情况。如果出现掉帧,此方法可以瞬间把所有的频率拉升到最大,让手机满性能的运行,从而一定程度上阻止丢帧的发生,对上述决策算法产生的错误进行补救。

本实施例通过上述方案,通过训练所述决策算法模型,监测智能终端运行应用时的系统状态;基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。进一步地,在应用程序退出后,释放对所述智能终端的系统状态参数的调节控制,该方案可以利用机器学习方法,训练决策算法模型,将手机等智能终端的实时数据作为输入,经过决策算法模型合成为特有的状态,并根据模型的计算,最后得出最适合当前智能终端状态的动作。本申请方案可以利用这些动作去输出智能终端的CPU/GPU/DDR频率点等系统状态参数,并依据输出的系统状态参数调节智能终端系统资源。在保证智能终端应用性能的同时,尽可能的减少因为智能终端的SoC带来的功耗过高问题,减少智能终端的发热情况,延长智能终端的续航,给用户创造更好的应用体验。此外,还可以在当前调节控制结果出现异常时,根据预设策略对当前调节控制结果进行补偿,从而提升决策算法模型控制的准确性。

此外,本申请实施例还提出一种资源调节装置,所述资源调节装置包括:

监测模块,用于监测智能终端运行应用时的系统状态;

决策算法模块,用于基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;

调节控制模块,用于根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。

本实施例实现资源调节的原理及实施过程,请参照上述各实施例,在此不再赘述。

此外,本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的资源调节程序,所述资源调节程序被所述处理器执行时实现如上述实施例所述的资源调节方法的步骤。

由于本资源调节程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。

此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有资源调节程序,所述资源调节程序被处理器执行时实现如上述实施例所述所述的资源调节方法的步骤。

由于本资源调节程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。

相比现有技术,本申请实施例提出的资源调节方法、装置、终端设备以及存储介质,通过监测智能终端运行应用时的系统状态;基于预先训练的决策算法模型,获取所述系统状态对应的决策结果;根据所述决策结果对所述智能终端的系统状态参数进行调节控制,以调节系统资源。该方案可以利用机器学习方法,训练决策算法模型,将手机等智能终端的实时数据作为输入,经过决策算法模型合成为特有的状态,并根据模型的计算,最后得出最适合当前智能终端状态的动作。本申请方案可以利用这些动作去输出智能终端的CPU/GPU/DDR频率点等系统状态参数,并依据输出的系统状态参数调节智能终端系统资源。在保证智能终端应用性能的同时,尽可能的减少因为智能终端的SoC带来的功耗过高问题,减少智能终端的发热情况,延长智能终端的续航,给用户创造更好的应用体验。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。

以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

相关技术
  • 资源调节方法、装置、终端设备以及存储介质
  • 终端设备工作模式调节方法、装置、终端设备和存储介质
技术分类

06120112358395