终端功耗控制方法及装置的制造方法

文档序号:10612396阅读:362来源:国知局
终端功耗控制方法及装置的制造方法
【专利摘要】本发明公开了一种终端功耗控制方法及装置,属于计算机技术领域。所述方法包括:在目标应用启动时,获取目标应用的目标标识,目标应用为第三方应用中的任一种应用;查询预设的第一对应关系中是否存在目标标识,第一对应关系用于记录标识和CPU的频率的对应关系;当第一对应关系中不存在目标标识时,根据目标应用的目标标识设置CPU的目标频率;生成指示消息,指示消息包括CPU的目标频率;向CPU发送指示消息,指示消息用于指示CPU在目标应用运行过程中,根据指示消息控制CPU的频率符合目标频率。本发明解决了终端功耗控制的步骤较复杂,且实用性较差的问题,简化了功耗控制的步骤,且提高了实用性,用于控制终端功耗。
【专利说明】
终端功耗控制方法及装置
技术领域
[0001] 本发明涉及计算机技术领域,特别涉及一种终端功耗控制方法及装置。
【背景技术】
[0002] 随着计算机、手持终端的普及,越来越多的用户会选择智能手机、智能平板电脑、 个人计算机等终端中的应用来上网、娱乐或工作。随着终端设备技术的飞速发展,如多核处 理器的应用,终端的硬件性能越来越好,但是终端的功耗也随之增大,导致终端的电池续航 时间变短。
[0003] 现有技术中有一种终端功耗控制方法,该方法通过手动测试对终端的系统应用和 部分常用的第三方应用进行优化,在保证终端的硬件性能的前提下降低终端的功耗。
[0004] 由于上述过程是手动测试,所以优化过程较复杂,同时,针对的是部分常用的第三 方应用,因此,功耗控制的步骤较复杂,且实用性较差。

【发明内容】

[0005] 为了解决现有技术中功耗控制的效果较差的问题,本发明提供了一种终端功耗控 制方法及装置。所述技术方案如下:
[0006] 第一方面,提供了一种终端功耗控制方法,所述方法包括:
[0007] 在目标应用启动时,获取所述目标应用的目标标识,所述目标应用为第三方应用 中的任一种应用;
[0008] 查询预设的第一对应关系中是否存在所述目标标识,所述第一对应关系用于记录 标识和中央处理器(英文:Central Processing Unit;简称:CPU)的频率的对应关系;
[0009] 当所述第一对应关系中不存在所述目标标识时,根据所述目标应用的目标标识设 置所述CHJ的目标频率;
[0010] 生成指示消息,所述指示消息包括所述CPU的目标频率;
[0011] 向所述CPU发送所述指示消息,所述指示消息用于指示所述CPU在所述目标应用运 行过程中,根据所述指示消息控制所述CPU的频率符合所述目标频率。
[0012] 可选的,所述根据所述目标应用的目标标识设置所述CPU的目标频率,包括:
[0013] 获取所述目标标识指示的所述目标应用启动时的第一时刻;
[0014] 获取所述目标标识指示的所述目标应用停止运行时的第二时刻;
[0015] 判断所述第二时刻与所述第一时刻的差值是否大于预设时段;
[0016] 当所述第二时刻与所述第一时刻的差值大于所述预设时段时,根据所述目标应用 启动时所述CPU在η个频点中每个频点指示的频率下的起始运行次数,及所述目标应用停止 运行时所述CPU在所述每个频点指示的频率下的结束运行次数,确定所述CPU的目标频率, 所述η大于或等于1。
[0017] 可选的,所述根据所述目标应用启动时所述CPU在η个频点中每个频点指示的频率 下的起始运行次数,及所述目标应用停止运行时所述CPU在所述每个频点指示的频率下的 结束运行次数,确定所述CPU的目标频率,包括:
[0018] 获取所述η个频点对应的η个运行次数差值,所述每个频点对应的运行次数差值为 所述CPU在所述每个频点指示的频率下的结束运行次数与所述CPU在对应频点指示的频率 下的起始运行次数的差值;
[0019] 获取所述η个运行次数差值中的最大值;
[0020] 判断所述最大值占所述η个运行次数差值的比重是否大于预设值;
[0021] 当所述最大值占所述η个运行次数差值的比重大于所述预设值时,将所述最大值 对应的频率作为所述目标频率;
[0022] 当所述最大值占所述η个运行次数差值的比重不大于所述预设值时,获取所述η个 运行次数差值中的次大值;
[0023] 将所述最大值对应的频率和所述次大值对应的频率中的较大频率作为所述CPU的 最大频率,并将所述最大值对应的频率和所述次大值对应的频率中的较小频率作为所述 CHJ的最小频率;
[0024] 将所述最大频率和所述最小频率构成的频率范围中的频率作为所述目标频率。
[0025] 可选的,在所述确定所述CPU的目标频率之前,所述方法还包括:
[0026] 获取所述CPU在所述η个频点中所述每个频点指示的频率下的起始运行次数;
[0027] 在所述目标应用停止运行时,获取所述CPU在所述每个频点指示的频率下的结束 运行次数。
[0028] 可选的,在所述根据所述目标应用的目标标识设置所述CPU的目标频率之后,所述 方法还包括:
[0029] 将所述目标标识和设置的所述目标频率添加至所述第一对应关系中。
[0030] 第二方面,提供了一种终端功耗控制装置,所述装置包括:
[0031] 第一获取模块,用于在目标应用启动时,获取所述目标应用的目标标识,所述目标 应用为第三方应用中的任一种应用;
[0032] 查询模块,用于查询预设的第一对应关系中是否存在所述目标标识,所述第一对 应关系用于记录标识和中央处理器CPU的频率的对应关系;
[0033]设置模块,用于在所述第一对应关系中不存在所述目标标识时,根据所述目标应 用的目标标识设置所述CHJ的目标频率;
[0034] 生成模块,用于生成指示消息,所述指示消息包括所述CPU的目标频率;
[0035] 发送模块,用于向所述CPU发送所述指示消息,所述指示消息用于指示所述CPU在 所述目标应用运行过程中,根据所述指示消息控制所述CHJ的频率符合所述目标频率。 [0036]可选的,所述设置模块,包括:
[0037] 第一获取子模块,用于获取所述目标标识指示的所述目标应用启动时的第一时 刻;
[0038] 第二获取子模块,用于获取所述目标标识指示的所述目标应用停止运行时的第二 时刻;
[0039] 判断子模块,用于判断所述第二时刻与所述第一时刻的差值是否大于预设时段;
[0040] 确定子模块,用于在所述第二时刻与所述第一时刻的差值大于所述预设时段时, 根据所述目标应用启动时所述CPU在η个频点中每个频点指示的频率下的起始运行次数,及 所述目标应用停止运行时所述CPU在所述每个频点指示的频率下的结束运行次数,确定所 述CPU的目标频率,所述η大于或等于1。
[0041 ]可选的,所述确定子模块,还用于:
[0042] 获取所述η个频点对应的η个运行次数差值,所述每个频点对应的运行次数差值为 所述CPU在所述每个频点指示的频率下的结束运行次数与所述CPU在对应频点指示的频率 下的起始运行次数的差值;
[0043] 获取所述η个运行次数差值中的最大值;
[0044] 判断所述最大值占所述η个运行次数差值的比重是否大于预设值;
[0045] 当所述最大值占所述η个运行次数差值的比重大于所述预设值时,将所述最大值 对应的频率作为所述目标频率;
[0046] 当所述最大值占所述η个运行次数差值的比重不大于所述预设值时,获取所述η个 运行次数差值中的次大值;
[0047] 将所述最大值对应的频率和所述次大值对应的频率中的较大频率作为所述CPU的 最大频率,并将所述最大值对应的频率和所述次大值对应的频率中的较小频率作为所述 CHJ的最小频率;
[0048] 将所述最大频率和所述最小频率构成的频率范围中的频率作为所述目标频率。
[0049] 可选的,所述设置模块,还包括:
[0050] 第三获取子模块,用于获取所述CPU在所述η个频点中所述每个频点指示的频率下 的起始运行次数;
[0051 ]第四获取子模块,用于在所述目标应用停止运行时,获取所述CPU在所述每个频点 指示的频率下的结束运行次数。
[0052] 可选的,所述装置还包括:
[0053]添加模块,用于将所述目标标识和设置的所述目标频率添加至所述第一对应关系 中。
[0054]本发明提供了一种终端功耗控制方法及装置,该方法先查询预设的第一对应关系 中是否存在目标标识,当第一对应关系中不存在目标标识时,根据目标应用的目标标识设 置CPU的目标频率,并向CPU发送包括CPU的目标频率的指示消息,从而实现了CPU在目标应 用运行过程中,根据指示消息控制CPU的频率符合目标频率,该目标应用为第三方应用中的 任一种应用,相较于现有技术,无需手动测试,且未针对部分常用的第三方应用,而是针对 所有第三方应用,因此,简化了功耗控制的步骤,提高了实用性。
[0055] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不 能限制本发明。
【附图说明】
[0056] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。
[0057]图1是本发明实施例提供的一种终端功耗控制方法的流程图;
[0058]图2-1是本发明实施例提供的另一种终端功耗控制方法的流程图;
[0059]图2-2是本发明实施例提供的一种设置CPU的目标频率的流程图;
[0060]图2-3是本发明实施例提供的一种确定CPU的目标频率的流程图;
[0061] 图3-1是本发明实施例提供的一种终端功耗控制装置的结构示意图;
[0062] 图3-2是本发明实施例提供的一种设置模块的结构示意图;
[0063] 图3-3是本发明实施例提供的另一种设置模块的结构示意图;
[0064]图3-4是本发明实施例提供的另一种终端功耗控制装置的结构示意图。
[0065] 通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图 和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为 本领域技术人员说明本发明的概念。
【具体实施方式】
[0066] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。
[0067] 本发明实施例提供了一种终端功耗控制方法,如图1所示,该方法包括:
[0068] 步骤101、在目标应用启动时,获取目标应用的目标标识,该目标应用为第三方应 用中的任一种应用。
[0069] 步骤102、查询预设的第一对应关系中是否存在目标标识,该第一对应关系用于记 录标识和CPU的频率的对应关系。
[0070] 步骤103、当第一对应关系中不存在目标标识时,根据目标应用的目标标识设置 CPU的目标频率。
[0071 ]步骤104、生成指示消息,该指示消息包括CPU的目标频率。
[0072] 步骤105、向CPU发送指示消息,该指示消息用于指示CPU在目标应用运行过程中, 根据指示消息控制CHJ的频率符合目标频率。
[0073]综上所述,本发明实施例提供的终端功耗控制方法,该方法先查询预设的第一对 应关系中是否存在目标标识,当第一对应关系中不存在目标标识时,根据目标应用的目标 标识设置CPU的目标频率,并向CPU发送包括CPU的目标频率的指示消息,从而实现了CPU在 目标应用运行过程中,根据指示消息控制CPU的频率符合目标频率,该目标应用为第三方应 用中的任一种应用,相较于现有技术,无需手动测试,且未针对部分常用的第三方应用,而 是针对所有第三方应用,因此,简化了功耗控制的步骤,提高了实用性。
[0074]本发明实施例提供了另一种终端功耗控制方法,如图2-1所示,该方法包括:
[0075] 步骤201、在目标应用启动时,获取目标应用的目标标识。执行步骤202。
[0076]该方法可应用于预先创建于终端操作系统中的监听进程。该监听进程为自动处理 目标应用的智能进程,该操作系统可以为安卓操作系统,也可以为其他操作系统,本发明实 施例对此不做限定。
[0077]该目标应用为第三方应用中的任一种应用。可选的,目标标识可以为目标应用的 名称。此外,目标标识还可以为目标应用的身份标识号码(英文:IDentity;简称:ID),本发 明实施例对目标标识的具体形式不作限定。
[0078]步骤202、查询预设的第一对应关系中是否存在目标标识。当第一对应关系中存在 目标标识时,执行步骤203;当第一对应关系中不存在目标标识时,执行步骤204。
[0079] 第一对应关系用于记录标识和CPU的频率的对应关系。该第一对应关系可以由结 构体数组来实现,如表1所示。表1中,应用的标识为应用的名称,应用A对应的CPU的频率为 960MHz(兆赫兹),应用B对应的CPU的频率为500MHz~960MHz。此外,该结构体数组还预留有 多个空位,用于存放后续设置的目标频率。
[0080] 表 1
[0081]
[0082] 该第一对应关系中记录的CPU的频率可以包括CPU的最大频率和CPU的最小频率, 相应的,该第一对应关系也可以如表2所示,表2中,应用的标识为应用的名称,应用A对应的 CPU的最大频率为960MHz,应用A对应的CPU的最小频率也为960MHz,应用A对应的CPU的最大 频率与其对应的CPU的最小频率相等,均为960M。应用B对应的CPU的最大频率为960M,应用B 对应的CPU的最小频率为500M。
[0083] 表 2
[0084]
[0085]以表2为例,假设步骤201中获取的目标应用的目标标识为应用B,通过查询表2,可 以确定第一对应关系中存在该目标标识;如果步骤201中获取的目标应用的目标标识为应 用C,通过查询表2,可以确定第一对应关系中不存在该目标标识。示例的,查询表2时可以采 用顺序查找方式。
[0086]步骤203、在第一对应关系中获取目标标识对应的CPU的目标频率。执行步骤206。 [0087]以表2为例,假设步骤201中获取的目标应用的目标标识为应用B,通过查询表2,可 以确定第一对应关系中存在该目标标识,那么可以在第一对应关系中获取该目标标识(BP 应用B)对应的CPU的目标频率,该目标频率包括CHJ的最大频率960MHz和CHJ的最小频率 500MHz。获取到目标标识对应的CPU的目标频率后,执行步骤206和步骤207,完成CPU的目标 频率的下发过程。
[0088]步骤204、根据目标应用的目标标识设置CPU的目标频率。执行步骤205。
[0089] 可选的,如图2-2所示,步骤204可以包括:
[0090]步骤2041、获取目标标识指示的目标应用启动时的第一时刻。
[0091]为了获得更加准确的η个频点对应的η个运行次数差值,进而得到准确的CPU的目 标频率,可以判断目标应用停止运行时的第二时刻与目标应用启动时的第一时刻的差值是 否大于预设时段,进而确定是否需要继续执行后续步骤。所以,可以先获取目标标识指示的 目标应用启动时的第一时刻Ta。
[0092] 步骤2042、获取CPU在η个频点中每个频点指示的频率下的起始运行次数。
[0093] 该η大于或等于1。频点指的是频率的编号。表3示出了 5个频点中每个频点指示的 频率,如表3所示,频点C0指示的频率为500MHz,频点C2指示的频率为960MHz,频点C5指示的 频率为1400MHz。
[0094] 表 3
[0095]
LUUV&」 该力云仕目称奴用汩功叮犾耿(JPU仕η个频?甲母个频?指不的频準卜的起妬迈 行次数。具体的,可以在终端idle界面下读取节点/sys/devices/system/cpu/cpuO/ cpufreq/stats/time_in_state的值,得到CPU在η个频点中每个频点指示的频率下的起始 运行次数。其中,idle界面是一个能够编辑、运行、浏览和调试程序的图形用户界面(英文: Graphical User Interface;简称:GUI)。以表3为例,假设获取的CPU在频点C0指示的频率 (即500MHz)下的起始运行次数COs为20,CPU在频点C1指示的频率(即800MHz)下的起始运行 次数Cls为30,CPU在频点C2指示的频率(即960MHz)下的起始运行次数C2s为24,CPU在频点 C3指示的频率(即1120MHz )下的起始运行次数C3s为35,CPU在频点C4指示的频率(即 1300MHz)下的起始运行次数C4s为15,CPU在频点C5指示的频率(即1400MHz)下的起始运行 次数C5s为40。需要说明的是,步骤2042和步骤2041可同时执行,无先后顺序。
[0097]步骤2043、获取目标标识指示的目标应用停止运行时的第二时刻。
[0098]获取目标标识指示的目标应用停止运行时的第二时刻Tb。
[0099] 步骤2044、在目标应用停止运行时,获取CPU在每个频点指示的频率下的结束运行 次数。
[0100] 获取CPU在η个频点中每个频点指示的频率下的起始运行次数后,在目标应用停止 运行时,统计CPU在每个频点指示的频率下的结束运行次数。
[0101] 以表3为例,假设获取的CHJ在频点C0指示的频率(即500MHz)下的结束运行次数 COe为25,CPU在频点C1指示的频率(即800MHz)下的结束运行次数Cle为40,CPU在频点C2指 示的频率(g卩960MHz)下的结束运行次数C2e为30,CPU在频点C3指示的频率(即1120MHz)下 的结束运行次数C3e为48,CHJ在频点C4指示的频率(即1300MHz)下的结束运行次数C4e为 23, CPU在频点C5指示的频率(即1400MHz)下的结束运行次数C5e为55。需要说明的是,步骤 2044和步骤2043可同时执行,无先后顺序。
[0102] 步骤2045、判断第二时刻与第一时刻的差值是否大于预设时段。
[0103] 可选的,该预设时段可以为10分钟。通过判断Tb与Ta的差值是否大于预设时段来 确定是否需要继续执行后续步骤。其中,Tb为步骤2043获取的目标应用停止运行时的第二 时刻,Ta为步骤2041获取的目标应用启动时的第一时刻。如果Tb与Ta的差值不大于预设时 段,则不再执行后续步骤;如果Tb与Ta的差值大于预设时段,则继续执行后续步骤。
[0104] 步骤2046、当第二时刻与第一时刻的差值大于预设时段时,根据目标应用启动时 CPU在η个频点中每个频点指示的频率下的起始运行次数,及目标应用停止运行时CPU在每 个频点指示的频率下的结束运行次数,确定CPU的目标频率。
[0105] 当第二时刻与第一时刻的差值大于预设时段时,根据步骤2042获取的起始运行次 数,及步骤2044获取的结束运行次数,确定CPU的目标频率。
[0106] 可选的,如图2-3所示,步骤2046可以包括:
[0107]步骤2046a、获取η个频点对应的η个运行次数差值。执行步骤2046b。
[0108] 每个频点对应的运行次数差值为CPU在每个频点指示的频率下的结束运行次数与 CPU在对应频点指示的频率下的起始运行次数的差值。
[0109] 以表3为例,获取的频点C0对应的运行次数差值COx为CPU在频点C0指示的频率(即 500MHz)下的结束运行次数COe与CPU在频点C0指示的频率下的起始运行次数COs的差值,由 于COe为25,C0s为20,所以COx为5。同样的,频点C1对应的运行次数差值Clx为10,频点C2对 应的运行次数差值C2x为6,频点C3对应的运行次数差值C3x为13,频点C4对应的运行次数差 值C4x为8,频点C5对应的运行次数差值C5x为15。
[0110]步骤2046b、获取η个运行次数差值中的最大值。步骤2046c。
[0111]以表3为例,获取的5个运行次数差值中的最大值即为频点C5对应的运行次数差值 C5x(C5x为15)〇
[0112]步骤2046c、判断最大值占 η个运行次数差值的比重是否大于预设值。当最大值占 η 个运行次数差值的比重大于预设值时,执行步骤2046d;当最大值占 η个运行次数差值的比 重不大于预设值时,执行步骤2046e。
[0113] 示例的,预设值可以为0.7。以表3为例,判断频点C5对应的运行次数差值C5x占5个 运行次数差值的比重是否大于0.7。具体的,根据频点C5对应的运行次数差值C5x以及5个运 行次数差值,可以得到C5x占5个运行次数差值的比重为
>0.26小 于〇. 7,所以执行步骤2046e。假设计算得到C5x占5个运行次数差值的比重为0.8,则执行步 骤2046d。
[0114] 步骤2046d、将最大值对应的频率作为目标频率。
[0115] 如果η个运行次数差值中的最大值占 η个运行次数差值的比重大于预设值,则将最 大值对应的频率作为目标频率。该目标频率用于CPU在目标应用运行过程中对CPU的频率进 行控制。当最大值占 η个运行次数差值的比重大于预设值时,可以认为相应的频点为目标应 用最适合的运行频点,最大值对应的频率为目标应用运行过程中,CPU最适合的运行频率。
[0116] 步骤2046e、获取η个运行次数差值中的次大值。执行步骤2046f。
[0117] 如果η个运行次数差值中的最大值占 η个运行次数差值的比重不大于预设值,则获 取η个运行次数差值中的次大值。
[0118]以步骤2046c中频点C5对应的运行次数差值C5x占5个运行次数差值的比重等于 0.26为例,由于0.26小于预设值(如0.7 ),所以可获取5个运行次数差值中的次大值,即频点 C3对应的运行次数差值C3x(C3x为13)。
[0119]示例的,可以采用分治法获取η个运行次数差值中的最大值和η个运行次数差值中 的次大值。其中,分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较 小的相同问题来解决。分治法包括排序算法,如快速排序算法及归并排序算法等。采用分治 法获取最大值和次大值的过程可以参考现有技术,在此不再赘述。
[0120]步骤2046f、将最大值对应的频率和次大值对应的频率中的较大频率作为CPU的最 大频率,并将最大值对应的频率和次大值对应的频率中的较小频率作为CPU的最小频率。执 行步骤2046g。
[0121] 在获取了 η个运行次数差值中的最大值和η个运行次数差值中的次大值后,可以将 最大值对应的频率和次大值对应的频率中的较大频率作为CPU的最大频率,并将最大值对 应的频率和次大值对应的频率中的较小频率作为CPU的最小频率,以便于得到CPU的目标频 率。以步骤2046b获取的最大值C5x,步骤2046e中获取的次大值C3x为例,由于次大值C3x对 应的频率为1120MHz,最大值C5x对应的频率为1400MHz,那么可将1400MHz作为CPU的最大频 率,1120MHz作为CPU的最小频率。当最大值占 η个运行次数差值的比重不大于预设值时,在 目标应用运行过程中,CPU的最大频率和最小频率不相等。
[0122] 需要说明的是,判断最大值占 η个运行次数差值的比重是否大于预设值,当最大值 占 η个运行次数差值的比重大于预设值时,将最大值对应的频率作为目标频率。此时,在目 标应用运行过程中,CPU也有最大频率和最小频率,且CPU的最大频率和最小频率相等,均为 目标频率。
[0123] 步骤2046g、将最大频率和最小频率构成的频率范围中的频率作为目标频率。
[0124] 假设步骤2046f确定的CPU的最大频率为1400MHz,最小频率为1120MHz,那么可以 将1120MHz~1400MHz中的频率作为CPU的目标频率。假设步骤2046f确定的CPU的最大频率 为960MHz,最小频率为500MHz,那么可以将500MHz~960MHz中的频率作为CPU的目标频率。
[0125] 步骤205、将目标标识和设置的目标频率添加至第一对应关系中。执行步骤206。
[0126] 具体的,可以按照从前往后的顺序将目标标识和设置的目标频率添加至结构体数 组的NULL项(即结构体数组预留的空位)。为方便下次目标应用运行时,直接获取目标标识 对应的CPU的目标频率,可以将目标标识和设置的目标频率添加至第一对应关系中,这样一 来,当目标应用再次运行时,可以直接根据第一对应关系获取目标应用对应的CPU的目标频 率。
[0127] 需要补充说明的是,步骤205为可选步骤。如果本次未将目标标识和设置的目标频 率添加至第一对应关系中,下次目标应用运行时,若从第一对应关系中无法获取目标标识 对应的CPU的目标频率,再次根据目标应用的目标标识确定CPU的目标频率也是可以的。
[0128] 本发明实施例中的第一对应关系,能够用于记录任一第三方应用的标识和CPU的 频率的对应关系,实现了自动化完成CPU频率的适配的效果。
[0129] 步骤206、生成指示消息。执行步骤207。
[0130]该指示消息包括CPU的目标频率。该方法在确定了 CPU的目标频率后,可以生成指 示消息,该指示消息包括CPU的目标频率,如960MHz。
[0131] 步骤207、向CPU发送指示消息。
[0132] 该指示消息用于指示CPU在目标应用运行过程中,根据指示消息控制CPU的频率符 合目标频率。在目标应用运行时,该方法下发CPU的目标频率,使得CPU进入特定的性能与功 耗的均衡模式,进而有效降低了终端功耗,提高了功耗控制的效果。
[0133] 需要补充说明的是,现有技术中,终端续航能力的提升是一个十分关键的问题,如 何降低终端功耗变得越来越重要。尽管终端的系统应用与部分常用的第三方应用被做了一 定的优化处理,但优化过程较复杂,优化难度较高,且无法全面覆盖所有的第三方应用,因 而无法从根本上解决终端功耗控制的问题,大大降低了用户体验。
[0134] 本发明实施例针对终端运行第三方应用,导致终端功耗消耗较严重的问题,提供 了一种终端功耗控制方法,该方法可通过添加在终端的操作系统上的监听进程,侦查任一 第三方应用的启动。当第三方应用被启动时,该监听进程便开始进行计算,具体的,该监听 进程将计算的第三方应用运行时CHJ的负载,换算为CPU的运行频率,然后将换算的运行频 率保存在第一对应关系中,该第一对应关系可以由结构体数组来实现。该方法无需人工处 理即可自动得到任一第三方应用运行时,所需的CPU的最大频率和CPU的最小频率,解决了 现有技术中因手动测试而使优化过程较复杂,难度较高的问题,达到了自动化计算任一第 三方应用运行时的CPU的负载的目的。该方法适用于所有第三方应用,能够自动完成第三方 应用对应的CP U的频率的适配,控制终端功耗。
[0135] 本发明实施例提供的终端功耗控制方法,保证了应用在终端上的流畅运行,延长 了终端被使用的时间,且能让终端最大程度的省电。该终端功耗控制方法可以应用于智能 设备领域,该智能设备包括但不限于智能手机。
[0136] 还需要说明的是,本发明实施例提供的终端功耗控制方法的步骤的先后顺序可以 进行适当调整,步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本 发明揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本发明的保护范围之内,因此 不再赘述。
[0137] 综上所述,本发明实施例提供的终端功耗控制方法,该方法先查询预设的第一对 应关系中是否存在目标标识,当第一对应关系中不存在目标标识时,根据目标应用的目标 标识设置CPU的目标频率,并向CPU发送包括CPU的目标频率指示消息,从而实现了CPU在目 标应用运行过程中,根据指示消息控制CPU的频率符合目标频率,该目标应用为第三方应用 中的任一种应用,相较于现有技术,无需手动测试,且未针对部分常用的第三方应用,而是 针对所有第三方应用,因此,简化了功耗控制的步骤,提高了实用性,提高了用户体验。
[0138] 本发明实施例提供了一种终端功耗控制装置300,如图3-1所示,该装置300包括:
[0139] 第一获取模块301,用于在目标应用启动时,获取目标应用的目标标识,该目标应 用为第三方应用中的任一种应用。
[0140]查询模块302,用于查询预设的第一对应关系中是否存在目标标识,该第一对应关 系用于记录标识和CPU的频率的对应关系。
[0141 ]设置模块303,用于在第一对应关系中不存在目标标识时,根据目标应用的目标标 识设置CHJ的目标频率。
[0142] 生成模块304,用于生成指示消息,该指示消息包括CPU的目标频率。
[0143] 发送模块305,用于向CPU发送指示消息,该指示消息用于指示CPU在目标应用运行 过程中,根据指示消息控制CPU的频率符合目标频率。
[0144] 综上所述,本发明实施例提供的终端功耗控制装置,该装置先查询预设的第一对 应关系中是否存在目标标识,当第一对应关系中不存在目标标识时,根据目标应用的目标 标识设置CPU的目标频率,并向CPU发送包括CPU的目标频率指示消息,从而实现了CPU在目 标应用运行过程中,根据指示消息控制CPU的频率符合目标频率,该目标应用为第三方应用 中的任一种应用,相较于现有技术,无需手动测试,且未针对部分常用的第三方应用,而是 针对所有第三方应用,因此,简化了功耗控制的步骤,提高了实用性。
[0145] 可选的,如图3-2所示,设置模块303,包括:
[0146] 第一获取子模块3031,用于获取目标标识指示的目标应用启动时的第一时刻。
[0147] 第二获取子模块3032,用于获取目标标识指示的目标应用停止运行时的第二时 刻。
[0148] 判断子模块3033,用于判断第二时刻与第一时刻的差值是否大于预设时段。
[0149] 确定子模块3034,用于在第二时刻与第一时刻的差值大于预设时段时,根据目标 应用启动时CPU在η个频点中每个频点指示的频率下的起始运行次数,及目标应用停止运行 时CPU在每个频点指示的频率下的结束运行次数,确定CPU的目标频率,η大于或等于1。
[0150] 可选的,确定子模块3034,还用于:
[0151] 获取η个频点对应的η个运行次数差值,每个频点对应的运行次数差值为CPU在每 个频点指示的频率下的结束运行次数与CPU在对应频点指示的频率下的起始运行次数的差 值;
[0152] 获取η个运行次数差值中的最大值;
[0153] 判断最大值占 η个运行次数差值的比重是否大于预设值;
[0154]当最大值占 η个运行次数差值的比重大于预设值时,将最大值对应的频率作为目 标频率;
[0155] 当最大值占 η个运行次数差值的比重不大于预设值时,获取η个运行次数差值中的 次大值;
[0156] 将最大值对应的频率和次大值对应的频率中的较大频率作为CPU的最大频率,并 将最大值对应的频率和次大值对应的频率中的较小频率作为CHJ的最小频率;
[0157] 将最大频率和最小频率构成的频率范围中的频率作为目标频率。
[0158] 可选的,如图3-3所示,设置模块303,还包括:
[0159] 第三获取子模块3035,用于获取CPU在η个频点中每个频点指示的频率下的起始运 行次数。
[0160]第四获取子模块3036,用于在目标应用停止运行时,获取CPU在每个频点指示的频 率下的结束运行次数。
[0161] 此外,图3-3中其他标号的含义可以参考图3-2进行说明,在此不再赘述。
[0162] 可选的,如图3-4所示,该装置300还可以包括:
[0163] 添加模块306,用于将目标标识和设置的目标频率添加至第一对应关系中。
[0164] 可选的,如图3-4所示,装置300还可以包括:
[0165] 第二获取模块307,用于在第一对应关系中存在目标标识时,在第一对应关系中获 取目标标识对应的CPU的目标频率。
[0166] 此外,图3-4中其他标号的含义可以参考图3-1进行说明,在此不再赘述。
[0167] 综上所述,本发明实施例提供的终端功耗控制装置,该装置先查询预设的第一对 应关系中是否存在目标标识,当第一对应关系中不存在目标标识时,根据目标应用的目标 标识设置CPU的目标频率,并向CPU发送包括CPU的目标频率指示消息,从而实现了CPU在目 标应用运行过程中,根据指示消息控制CPU的频率符合目标频率,该目标应用为第三方应用 中的任一种应用,相较于现有技术,无需手动测试,且未针对部分常用的第三方应用,而是 针对所有第三方应用,因此,简化了功耗控制的步骤,提高了实用性,提高了用户体验。
[0168] 本发明实施例还提供了一种终端,包括图3-1或图3-4所示的终端功耗控制装置。
[0169]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置 和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0170]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种终端功耗控制方法,其特征在于,所述方法包括: 在目标应用启动时,获取所述目标应用的目标标识,所述目标应用为第三方应用中的 任一种应用; 查询预设的第一对应关系中是否存在所述目标标识,所述第一对应关系用于记录标识 和中央处理器CPU的频率的对应关系; 当所述第一对应关系中不存在所述目标标识时,根据所述目标应用的目标标识设置所 述CPU的目标频率; 生成指示消息,所述指示消息包括所述CHJ的目标频率; 向所述CPU发送所述指示消息,所述指示消息用于指示所述CPU在所述目标应用运行过 程中,根据所述指示消息控制所述CPU的频率符合所述目标频率。2. 根据权利要求1所述的方法,其特征在于,所述根据所述目标应用的目标标识设置所 述CPU的目标频率,包括: 获取所述目标标识指示的所述目标应用启动时的第一时刻; 获取所述目标标识指示的所述目标应用停止运行时的第二时刻; 判断所述第二时刻与所述第一时刻的差值是否大于预设时段; 当所述第二时刻与所述第一时刻的差值大于所述预设时段时,根据所述目标应用启动 时所述CPU在η个频点中每个频点指示的频率下的起始运行次数,及所述目标应用停止运行 时所述CPU在所述每个频点指示的频率下的结束运行次数,确定所述CPU的目标频率,所述η 大于或等于1。3. 根据权利要求2所述的方法,其特征在于,所述根据所述目标应用启动时所述CPU在η 个频点中每个频点指示的频率下的起始运行次数,及所述目标应用停止运行时所述CPU在 所述每个频点指示的频率下的结束运行次数,确定所述CPU的目标频率,包括: 获取所述η个频点对应的η个运行次数差值,所述每个频点对应的运行次数差值为所述 CPU在所述每个频点指示的频率下的结束运行次数与所述CPU在对应频点指示的频率下的 起始运行次数的差值; 获取所述η个运行次数差值中的最大值; 判断所述最大值占所述η个运行次数差值的比重是否大于预设值; 当所述最大值占所述η个运行次数差值的比重大于所述预设值时,将所述最大值对应 的频率作为所述目标频率; 当所述最大值占所述η个运行次数差值的比重不大于所述预设值时,获取所述η个运行 次数差值中的次大值; 将所述最大值对应的频率和所述次大值对应的频率中的较大频率作为所述CPU的最大 频率,并将所述最大值对应的频率和所述次大值对应的频率中的较小频率作为所述CPU的 最小频率; 将所述最大频率和所述最小频率构成的频率范围中的频率作为所述目标频率。4. 根据权利要求2所述的方法,其特征在于,在所述确定所述CPU的目标频率之前,所述 方法还包括: 获取所述CHJ在所述η个频点中所述每个频点指示的频率下的起始运行次数; 在所述目标应用停止运行时,获取所述CPU在所述每个频点指示的频率下的结束运行 次数。5. 根据权利要求1所述的方法,其特征在于,在所述根据所述目标应用的目标标识设置 所述CPU的目标频率之后,所述方法还包括: 将所述目标标识和设置的所述目标频率添加至所述第一对应关系中。6. -种终端功耗控制装置,其特征在于,所述装置包括: 第一获取模块,用于在目标应用启动时,获取所述目标应用的目标标识,所述目标应用 为第三方应用中的任一种应用; 查询模块,用于查询预设的第一对应关系中是否存在所述目标标识,所述第一对应关 系用于记录标识和中央处理器CPU的频率的对应关系; 设置模块,用于在所述第一对应关系中不存在所述目标标识时,根据所述目标应用的 目标标识设置所述CHJ的目标频率; 生成模块,用于生成指示消息,所述指示消息包括所述CHJ的目标频率; 发送模块,用于向所述CPU发送所述指示消息,所述指示消息用于指示所述CPU在所述 目标应用运行过程中,根据所述指示消息控制所述CPU的频率符合所述目标频率。7. 根据权利要求6所述的装置,其特征在于,所述设置模块,包括: 第一获取子模块,用于获取所述目标标识指示的所述目标应用启动时的第一时刻; 第二获取子模块,用于获取所述目标标识指示的所述目标应用停止运行时的第二时 刻; 判断子模块,用于判断所述第二时刻与所述第一时刻的差值是否大于预设时段; 确定子模块,用于在所述第二时刻与所述第一时刻的差值大于所述预设时段时,根据 所述目标应用启动时所述CPU在η个频点中每个频点指示的频率下的起始运行次数,及所述 目标应用停止运行时所述CPU在所述每个频点指示的频率下的结束运行次数,确定所述CPU 的目标频率,所述η大于或等于1。8. 根据权利要求7所述的装置,其特征在于,所述确定子模块,还用于; 获取所述η个频点对应的η个运行次数差值,所述每个频点对应的运行次数差值为所述 CPU在所述每个频点指示的频率下的结束运行次数与所述CPU在对应频点指示的频率下的 起始运行次数的差值; 获取所述η个运行次数差值中的最大值; 判断所述最大值占所述η个运行次数差值的比重是否大于预设值; 当所述最大值占所述η个运行次数差值的比重大于所述预设值时,将所述最大值对应 的频率作为所述目标频率; 当所述最大值占所述η个运行次数差值的比重不大于所述预设值时,获取所述η个运行 次数差值中的次大值; 将所述最大值对应的频率和所述次大值对应的频率中的较大频率作为所述CPU的最大 频率,并将所述最大值对应的频率和所述次大值对应的频率中的较小频率作为所述CPU的 最小频率; 将所述最大频率和所述最小频率构成的频率范围中的频率作为所述目标频率。9. 根据权利要求7所述的装置,其特征在于,所述设置模块,还包括: 第三获取子模块,用于获取所述CPU在所述η个频点中所述每个频点指示的频率下的起 始运行次数; 第四获取子模块,用于在所述目标应用停止运行时,获取所述CHJ在所述每个频点指示 的频率下的结束运行次数。10.根据权利要求6所述的装置,其特征在于,所述装置还包括: 添加模块,用于将所述目标标识和设置的所述目标频率添加至所述第一对应关系中。
【文档编号】G06F1/32GK105975050SQ201610349797
【公开日】2016年9月28日
【申请日】2016年5月24日
【发明人】秦勇
【申请人】青岛海信移动通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1