終端功耗控制方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種終端功耗控制方法及裝置,屬于計算機技術領域。所述方法包括:在目標應用啟動時,獲取目標應用的目標標識,目標應用為第三方應用中的任一種應用;查詢預設的第一對應關系中是否存在目標標識,第一對應關系用于記錄標識和CPU的頻率的對應關系;當?shù)谝粚P系中不存在目標標識時,根據(jù)目標應用的目標標識設置CPU的目標頻率;生成指示消息,指示消息包括CPU的目標頻率;向CPU發(fā)送指示消息,指示消息用于指示CPU在目標應用運行過程中,根據(jù)指示消息控制CPU的頻率符合目標頻率。本發(fā)明解決了終端功耗控制的步驟較復雜,且實用性較差的問題,簡化了功耗控制的步驟,且提高了實用性,用于控制終端功耗。
【專利說明】
終端功耗控制方法及裝置
技術領域
[0001] 本發(fā)明涉及計算機技術領域,特別涉及一種終端功耗控制方法及裝置。
【背景技術】
[0002] 隨著計算機、手持終端的普及,越來越多的用戶會選擇智能手機、智能平板電腦、 個人計算機等終端中的應用來上網(wǎng)、娛樂或工作。隨著終端設備技術的飛速發(fā)展,如多核處 理器的應用,終端的硬件性能越來越好,但是終端的功耗也隨之增大,導致終端的電池續(xù)航 時間變短。
[0003] 現(xiàn)有技術中有一種終端功耗控制方法,該方法通過手動測試對終端的系統(tǒng)應用和 部分常用的第三方應用進行優(yōu)化,在保證終端的硬件性能的前提下降低終端的功耗。
[0004] 由于上述過程是手動測試,所以優(yōu)化過程較復雜,同時,針對的是部分常用的第三 方應用,因此,功耗控制的步驟較復雜,且實用性較差。
【發(fā)明內(nèi)容】
[0005] 為了解決現(xiàn)有技術中功耗控制的效果較差的問題,本發(fā)明提供了一種終端功耗控 制方法及裝置。所述技術方案如下:
[0006] 第一方面,提供了一種終端功耗控制方法,所述方法包括:
[0007] 在目標應用啟動時,獲取所述目標應用的目標標識,所述目標應用為第三方應用 中的任一種應用;
[0008] 查詢預設的第一對應關系中是否存在所述目標標識,所述第一對應關系用于記錄 標識和中央處理器(英文:Central Processing Unit;簡稱:CPU)的頻率的對應關系;
[0009] 當所述第一對應關系中不存在所述目標標識時,根據(jù)所述目標應用的目標標識設 置所述CHJ的目標頻率;
[0010] 生成指示消息,所述指示消息包括所述CPU的目標頻率;
[0011] 向所述CPU發(fā)送所述指示消息,所述指示消息用于指示所述CPU在所述目標應用運 行過程中,根據(jù)所述指示消息控制所述CPU的頻率符合所述目標頻率。
[0012] 可選的,所述根據(jù)所述目標應用的目標標識設置所述CPU的目標頻率,包括:
[0013] 獲取所述目標標識指示的所述目標應用啟動時的第一時刻;
[0014] 獲取所述目標標識指示的所述目標應用停止運行時的第二時刻;
[0015] 判斷所述第二時刻與所述第一時刻的差值是否大于預設時段;
[0016] 當所述第二時刻與所述第一時刻的差值大于所述預設時段時,根據(jù)所述目標應用 啟動時所述CPU在η個頻點中每個頻點指示的頻率下的起始運行次數(shù),及所述目標應用停止 運行時所述CPU在所述每個頻點指示的頻率下的結束運行次數(shù),確定所述CPU的目標頻率, 所述η大于或等于1。
[0017] 可選的,所述根據(jù)所述目標應用啟動時所述CPU在η個頻點中每個頻點指示的頻率 下的起始運行次數(shù),及所述目標應用停止運行時所述CPU在所述每個頻點指示的頻率下的 結束運行次數(shù),確定所述CPU的目標頻率,包括:
[0018] 獲取所述η個頻點對應的η個運行次數(shù)差值,所述每個頻點對應的運行次數(shù)差值為 所述CPU在所述每個頻點指示的頻率下的結束運行次數(shù)與所述CPU在對應頻點指示的頻率 下的起始運行次數(shù)的差值;
[0019] 獲取所述η個運行次數(shù)差值中的最大值;
[0020] 判斷所述最大值占所述η個運行次數(shù)差值的比重是否大于預設值;
[0021] 當所述最大值占所述η個運行次數(shù)差值的比重大于所述預設值時,將所述最大值 對應的頻率作為所述目標頻率;
[0022] 當所述最大值占所述η個運行次數(shù)差值的比重不大于所述預設值時,獲取所述η個 運行次數(shù)差值中的次大值;
[0023] 將所述最大值對應的頻率和所述次大值對應的頻率中的較大頻率作為所述CPU的 最大頻率,并將所述最大值對應的頻率和所述次大值對應的頻率中的較小頻率作為所述 CHJ的最小頻率;
[0024] 將所述最大頻率和所述最小頻率構成的頻率范圍中的頻率作為所述目標頻率。
[0025] 可選的,在所述確定所述CPU的目標頻率之前,所述方法還包括:
[0026] 獲取所述CPU在所述η個頻點中所述每個頻點指示的頻率下的起始運行次數(shù);
[0027] 在所述目標應用停止運行時,獲取所述CPU在所述每個頻點指示的頻率下的結束 運行次數(shù)。
[0028] 可選的,在所述根據(jù)所述目標應用的目標標識設置所述CPU的目標頻率之后,所述 方法還包括:
[0029] 將所述目標標識和設置的所述目標頻率添加至所述第一對應關系中。
[0030] 第二方面,提供了一種終端功耗控制裝置,所述裝置包括:
[0031] 第一獲取模塊,用于在目標應用啟動時,獲取所述目標應用的目標標識,所述目標 應用為第三方應用中的任一種應用;
[0032] 查詢模塊,用于查詢預設的第一對應關系中是否存在所述目標標識,所述第一對 應關系用于記錄標識和中央處理器CPU的頻率的對應關系;
[0033]設置模塊,用于在所述第一對應關系中不存在所述目標標識時,根據(jù)所述目標應 用的目標標識設置所述CHJ的目標頻率;
[0034] 生成模塊,用于生成指示消息,所述指示消息包括所述CPU的目標頻率;
[0035] 發(fā)送模塊,用于向所述CPU發(fā)送所述指示消息,所述指示消息用于指示所述CPU在 所述目標應用運行過程中,根據(jù)所述指示消息控制所述CHJ的頻率符合所述目標頻率。 [0036]可選的,所述設置模塊,包括:
[0037] 第一獲取子模塊,用于獲取所述目標標識指示的所述目標應用啟動時的第一時 刻;
[0038] 第二獲取子模塊,用于獲取所述目標標識指示的所述目標應用停止運行時的第二 時刻;
[0039] 判斷子模塊,用于判斷所述第二時刻與所述第一時刻的差值是否大于預設時段;
[0040] 確定子模塊,用于在所述第二時刻與所述第一時刻的差值大于所述預設時段時, 根據(jù)所述目標應用啟動時所述CPU在η個頻點中每個頻點指示的頻率下的起始運行次數(shù),及 所述目標應用停止運行時所述CPU在所述每個頻點指示的頻率下的結束運行次數(shù),確定所 述CPU的目標頻率,所述η大于或等于1。
[0041 ]可選的,所述確定子模塊,還用于:
[0042] 獲取所述η個頻點對應的η個運行次數(shù)差值,所述每個頻點對應的運行次數(shù)差值為 所述CPU在所述每個頻點指示的頻率下的結束運行次數(shù)與所述CPU在對應頻點指示的頻率 下的起始運行次數(shù)的差值;
[0043] 獲取所述η個運行次數(shù)差值中的最大值;
[0044] 判斷所述最大值占所述η個運行次數(shù)差值的比重是否大于預設值;
[0045] 當所述最大值占所述η個運行次數(shù)差值的比重大于所述預設值時,將所述最大值 對應的頻率作為所述目標頻率;
[0046] 當所述最大值占所述η個運行次數(shù)差值的比重不大于所述預設值時,獲取所述η個 運行次數(shù)差值中的次大值;
[0047] 將所述最大值對應的頻率和所述次大值對應的頻率中的較大頻率作為所述CPU的 最大頻率,并將所述最大值對應的頻率和所述次大值對應的頻率中的較小頻率作為所述 CHJ的最小頻率;
[0048] 將所述最大頻率和所述最小頻率構成的頻率范圍中的頻率作為所述目標頻率。
[0049] 可選的,所述設置模塊,還包括:
[0050] 第三獲取子模塊,用于獲取所述CPU在所述η個頻點中所述每個頻點指示的頻率下 的起始運行次數(shù);
[0051 ]第四獲取子模塊,用于在所述目標應用停止運行時,獲取所述CPU在所述每個頻點 指示的頻率下的結束運行次數(shù)。
[0052] 可選的,所述裝置還包括:
[0053]添加模塊,用于將所述目標標識和設置的所述目標頻率添加至所述第一對應關系 中。
[0054]本發(fā)明提供了一種終端功耗控制方法及裝置,該方法先查詢預設的第一對應關系 中是否存在目標標識,當?shù)谝粚P系中不存在目標標識時,根據(jù)目標應用的目標標識設 置CPU的目標頻率,并向CPU發(fā)送包括CPU的目標頻率的指示消息,從而實現(xiàn)了CPU在目標應 用運行過程中,根據(jù)指示消息控制CPU的頻率符合目標頻率,該目標應用為第三方應用中的 任一種應用,相較于現(xiàn)有技術,無需手動測試,且未針對部分常用的第三方應用,而是針對 所有第三方應用,因此,簡化了功耗控制的步驟,提高了實用性。
[0055] 應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不 能限制本發(fā)明。
【附圖說明】
[0056] 為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于 本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他 的附圖。
[0057]圖1是本發(fā)明實施例提供的一種終端功耗控制方法的流程圖;
[0058]圖2-1是本發(fā)明實施例提供的另一種終端功耗控制方法的流程圖;
[0059]圖2-2是本發(fā)明實施例提供的一種設置CPU的目標頻率的流程圖;
[0060]圖2-3是本發(fā)明實施例提供的一種確定CPU的目標頻率的流程圖;
[0061] 圖3-1是本發(fā)明實施例提供的一種終端功耗控制裝置的結構示意圖;
[0062] 圖3-2是本發(fā)明實施例提供的一種設置模塊的結構示意圖;
[0063] 圖3-3是本發(fā)明實施例提供的另一種設置模塊的結構示意圖;
[0064]圖3-4是本發(fā)明實施例提供的另一種終端功耗控制裝置的結構示意圖。
[0065] 通過上述附圖,已示出本發(fā)明明確的實施例,后文中將有更詳細的描述。這些附圖 和文字描述并不是為了通過任何方式限制本發(fā)明構思的范圍,而是通過參考特定實施例為 本領域技術人員說明本發(fā)明的概念。
【具體實施方式】
[0066] 為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方 式作進一步地詳細描述。
[0067] 本發(fā)明實施例提供了一種終端功耗控制方法,如圖1所示,該方法包括:
[0068] 步驟101、在目標應用啟動時,獲取目標應用的目標標識,該目標應用為第三方應 用中的任一種應用。
[0069] 步驟102、查詢預設的第一對應關系中是否存在目標標識,該第一對應關系用于記 錄標識和CPU的頻率的對應關系。
[0070] 步驟103、當?shù)谝粚P系中不存在目標標識時,根據(jù)目標應用的目標標識設置 CPU的目標頻率。
[0071 ]步驟104、生成指示消息,該指示消息包括CPU的目標頻率。
[0072] 步驟105、向CPU發(fā)送指示消息,該指示消息用于指示CPU在目標應用運行過程中, 根據(jù)指示消息控制CHJ的頻率符合目標頻率。
[0073]綜上所述,本發(fā)明實施例提供的終端功耗控制方法,該方法先查詢預設的第一對 應關系中是否存在目標標識,當?shù)谝粚P系中不存在目標標識時,根據(jù)目標應用的目標 標識設置CPU的目標頻率,并向CPU發(fā)送包括CPU的目標頻率的指示消息,從而實現(xiàn)了CPU在 目標應用運行過程中,根據(jù)指示消息控制CPU的頻率符合目標頻率,該目標應用為第三方應 用中的任一種應用,相較于現(xiàn)有技術,無需手動測試,且未針對部分常用的第三方應用,而 是針對所有第三方應用,因此,簡化了功耗控制的步驟,提高了實用性。
[0074]本發(fā)明實施例提供了另一種終端功耗控制方法,如圖2-1所示,該方法包括:
[0075] 步驟201、在目標應用啟動時,獲取目標應用的目標標識。執(zhí)行步驟202。
[0076]該方法可應用于預先創(chuàng)建于終端操作系統(tǒng)中的監(jiān)聽進程。該監(jiān)聽進程為自動處理 目標應用的智能進程,該操作系統(tǒng)可以為安卓操作系統(tǒng),也可以為其他操作系統(tǒng),本發(fā)明實 施例對此不做限定。
[0077]該目標應用為第三方應用中的任一種應用。可選的,目標標識可以為目標應用的 名稱。此外,目標標識還可以為目標應用的身份標識號碼(英文:IDentity;簡稱:ID),本發(fā) 明實施例對目標標識的具體形式不作限定。
[0078]步驟202、查詢預設的第一對應關系中是否存在目標標識。當?shù)谝粚P系中存在 目標標識時,執(zhí)行步驟203;當?shù)谝粚P系中不存在目標標識時,執(zhí)行步驟204。
[0079] 第一對應關系用于記錄標識和CPU的頻率的對應關系。該第一對應關系可以由結 構體數(shù)組來實現(xiàn),如表1所示。表1中,應用的標識為應用的名稱,應用A對應的CPU的頻率為 960MHz(兆赫茲),應用B對應的CPU的頻率為500MHz~960MHz。此外,該結構體數(shù)組還預留有 多個空位,用于存放后續(xù)設置的目標頻率。
[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的目標頻率。執(zhí)行步驟206。 [0087]以表2為例,假設步驟201中獲取的目標應用的目標標識為應用B,通過查詢表2,可 以確定第一對應關系中存在該目標標識,那么可以在第一對應關系中獲取該目標標識(BP 應用B)對應的CPU的目標頻率,該目標頻率包括CHJ的最大頻率960MHz和CHJ的最小頻率 500MHz。獲取到目標標識對應的CPU的目標頻率后,執(zhí)行步驟206和步驟207,完成CPU的目標 頻率的下發(fā)過程。
[0088]步驟204、根據(jù)目標應用的目標標識設置CPU的目標頻率。執(zhí)行步驟205。
[0089] 可選的,如圖2-2所示,步驟204可以包括:
[0090]步驟2041、獲取目標標識指示的目標應用啟動時的第一時刻。
[0091]為了獲得更加準確的η個頻點對應的η個運行次數(shù)差值,進而得到準確的CPU的目 標頻率,可以判斷目標應用停止運行時的第二時刻與目標應用啟動時的第一時刻的差值是 否大于預設時段,進而確定是否需要繼續(xù)執(zhí)行后續(xù)步驟。所以,可以先獲取目標標識指示的 目標應用啟動時的第一時刻Ta。
[0092] 步驟2042、獲取CPU在η個頻點中每個頻點指示的頻率下的起始運行次數(shù)。
[0093] 該η大于或等于1。頻點指的是頻率的編號。表3示出了 5個頻點中每個頻點指示的 頻率,如表3所示,頻點C0指示的頻率為500MHz,頻點C2指示的頻率為960MHz,頻點C5指示的 頻率為1400MHz。
[0094] 表 3
[0095]
LUUV&」 該力云仕目稱奴用汩功叮犾耿(JPU仕η個頻?甲母個頻?指不的頻準卜的起妬邁 行次數(shù)。具體的,可以在終端idle界面下讀取節(jié)點/sys/devices/system/cpu/cpuO/ cpufreq/stats/time_in_state的值,得到CPU在η個頻點中每個頻點指示的頻率下的起始 運行次數(shù)。其中,idle界面是一個能夠編輯、運行、瀏覽和調試程序的圖形用戶界面(英文: Graphical User Interface;簡稱:GUI)。以表3為例,假設獲取的CPU在頻點C0指示的頻率 (即500MHz)下的起始運行次數(shù)COs為20,CPU在頻點C1指示的頻率(即800MHz)下的起始運行 次數(shù)Cls為30,CPU在頻點C2指示的頻率(即960MHz)下的起始運行次數(shù)C2s為24,CPU在頻點 C3指示的頻率(即1120MHz )下的起始運行次數(shù)C3s為35,CPU在頻點C4指示的頻率(即 1300MHz)下的起始運行次數(shù)C4s為15,CPU在頻點C5指示的頻率(即1400MHz)下的起始運行 次數(shù)C5s為40。需要說明的是,步驟2042和步驟2041可同時執(zhí)行,無先后順序。
[0097]步驟2043、獲取目標標識指示的目標應用停止運行時的第二時刻。
[0098]獲取目標標識指示的目標應用停止運行時的第二時刻Tb。
[0099] 步驟2044、在目標應用停止運行時,獲取CPU在每個頻點指示的頻率下的結束運行 次數(shù)。
[0100] 獲取CPU在η個頻點中每個頻點指示的頻率下的起始運行次數(shù)后,在目標應用停止 運行時,統(tǒng)計CPU在每個頻點指示的頻率下的結束運行次數(shù)。
[0101] 以表3為例,假設獲取的CHJ在頻點C0指示的頻率(即500MHz)下的結束運行次數(shù) COe為25,CPU在頻點C1指示的頻率(即800MHz)下的結束運行次數(shù)Cle為40,CPU在頻點C2指 示的頻率(g卩960MHz)下的結束運行次數(shù)C2e為30,CPU在頻點C3指示的頻率(即1120MHz)下 的結束運行次數(shù)C3e為48,CHJ在頻點C4指示的頻率(即1300MHz)下的結束運行次數(shù)C4e為 23, CPU在頻點C5指示的頻率(即1400MHz)下的結束運行次數(shù)C5e為55。需要說明的是,步驟 2044和步驟2043可同時執(zhí)行,無先后順序。
[0102] 步驟2045、判斷第二時刻與第一時刻的差值是否大于預設時段。
[0103] 可選的,該預設時段可以為10分鐘。通過判斷Tb與Ta的差值是否大于預設時段來 確定是否需要繼續(xù)執(zhí)行后續(xù)步驟。其中,Tb為步驟2043獲取的目標應用停止運行時的第二 時刻,Ta為步驟2041獲取的目標應用啟動時的第一時刻。如果Tb與Ta的差值不大于預設時 段,則不再執(zhí)行后續(xù)步驟;如果Tb與Ta的差值大于預設時段,則繼續(xù)執(zhí)行后續(xù)步驟。
[0104] 步驟2046、當?shù)诙r刻與第一時刻的差值大于預設時段時,根據(jù)目標應用啟動時 CPU在η個頻點中每個頻點指示的頻率下的起始運行次數(shù),及目標應用停止運行時CPU在每 個頻點指示的頻率下的結束運行次數(shù),確定CPU的目標頻率。
[0105] 當?shù)诙r刻與第一時刻的差值大于預設時段時,根據(jù)步驟2042獲取的起始運行次 數(shù),及步驟2044獲取的結束運行次數(shù),確定CPU的目標頻率。
[0106] 可選的,如圖2-3所示,步驟2046可以包括:
[0107]步驟2046a、獲取η個頻點對應的η個運行次數(shù)差值。執(zhí)行步驟2046b。
[0108] 每個頻點對應的運行次數(shù)差值為CPU在每個頻點指示的頻率下的結束運行次數(shù)與 CPU在對應頻點指示的頻率下的起始運行次數(shù)的差值。
[0109] 以表3為例,獲取的頻點C0對應的運行次數(shù)差值COx為CPU在頻點C0指示的頻率(即 500MHz)下的結束運行次數(shù)COe與CPU在頻點C0指示的頻率下的起始運行次數(shù)COs的差值,由 于COe為25,C0s為20,所以COx為5。同樣的,頻點C1對應的運行次數(shù)差值Clx為10,頻點C2對 應的運行次數(shù)差值C2x為6,頻點C3對應的運行次數(shù)差值C3x為13,頻點C4對應的運行次數(shù)差 值C4x為8,頻點C5對應的運行次數(shù)差值C5x為15。
[0110]步驟2046b、獲取η個運行次數(shù)差值中的最大值。步驟2046c。
[0111]以表3為例,獲取的5個運行次數(shù)差值中的最大值即為頻點C5對應的運行次數(shù)差值 C5x(C5x為15)〇
[0112]步驟2046c、判斷最大值占 η個運行次數(shù)差值的比重是否大于預設值。當最大值占 η 個運行次數(shù)差值的比重大于預設值時,執(zhí)行步驟2046d;當最大值占 η個運行次數(shù)差值的比 重不大于預設值時,執(zhí)行步驟2046e。
[0113] 示例的,預設值可以為0.7。以表3為例,判斷頻點C5對應的運行次數(shù)差值C5x占5個 運行次數(shù)差值的比重是否大于0.7。具體的,根據(jù)頻點C5對應的運行次數(shù)差值C5x以及5個運 行次數(shù)差值,可以得到C5x占5個運行次數(shù)差值的比重為
>0.26小 于〇. 7,所以執(zhí)行步驟2046e。假設計算得到C5x占5個運行次數(shù)差值的比重為0.8,則執(zhí)行步 驟2046d。
[0114] 步驟2046d、將最大值對應的頻率作為目標頻率。
[0115] 如果η個運行次數(shù)差值中的最大值占 η個運行次數(shù)差值的比重大于預設值,則將最 大值對應的頻率作為目標頻率。該目標頻率用于CPU在目標應用運行過程中對CPU的頻率進 行控制。當最大值占 η個運行次數(shù)差值的比重大于預設值時,可以認為相應的頻點為目標應 用最適合的運行頻點,最大值對應的頻率為目標應用運行過程中,CPU最適合的運行頻率。
[0116] 步驟2046e、獲取η個運行次數(shù)差值中的次大值。執(zhí)行步驟2046f。
[0117] 如果η個運行次數(shù)差值中的最大值占 η個運行次數(shù)差值的比重不大于預設值,則獲 取η個運行次數(shù)差值中的次大值。
[0118]以步驟2046c中頻點C5對應的運行次數(shù)差值C5x占5個運行次數(shù)差值的比重等于 0.26為例,由于0.26小于預設值(如0.7 ),所以可獲取5個運行次數(shù)差值中的次大值,即頻點 C3對應的運行次數(shù)差值C3x(C3x為13)。
[0119]示例的,可以采用分治法獲取η個運行次數(shù)差值中的最大值和η個運行次數(shù)差值中 的次大值。其中,分治法的設計思想是,將一個難以直接解決的大問題,分割成一些規(guī)模較 小的相同問題來解決。分治法包括排序算法,如快速排序算法及歸并排序算法等。采用分治 法獲取最大值和次大值的過程可以參考現(xiàn)有技術,在此不再贅述。
[0120]步驟2046f、將最大值對應的頻率和次大值對應的頻率中的較大頻率作為CPU的最 大頻率,并將最大值對應的頻率和次大值對應的頻率中的較小頻率作為CPU的最小頻率。執(zhí) 行步驟2046g。
[0121] 在獲取了 η個運行次數(shù)差值中的最大值和η個運行次數(shù)差值中的次大值后,可以將 最大值對應的頻率和次大值對應的頻率中的較大頻率作為CPU的最大頻率,并將最大值對 應的頻率和次大值對應的頻率中的較小頻率作為CPU的最小頻率,以便于得到CPU的目標頻 率。以步驟2046b獲取的最大值C5x,步驟2046e中獲取的次大值C3x為例,由于次大值C3x對 應的頻率為1120MHz,最大值C5x對應的頻率為1400MHz,那么可將1400MHz作為CPU的最大頻 率,1120MHz作為CPU的最小頻率。當最大值占 η個運行次數(shù)差值的比重不大于預設值時,在 目標應用運行過程中,CPU的最大頻率和最小頻率不相等。
[0122] 需要說明的是,判斷最大值占 η個運行次數(shù)差值的比重是否大于預設值,當最大值 占 η個運行次數(shù)差值的比重大于預設值時,將最大值對應的頻率作為目標頻率。此時,在目 標應用運行過程中,CPU也有最大頻率和最小頻率,且CPU的最大頻率和最小頻率相等,均為 目標頻率。
[0123] 步驟2046g、將最大頻率和最小頻率構成的頻率范圍中的頻率作為目標頻率。
[0124] 假設步驟2046f確定的CPU的最大頻率為1400MHz,最小頻率為1120MHz,那么可以 將1120MHz~1400MHz中的頻率作為CPU的目標頻率。假設步驟2046f確定的CPU的最大頻率 為960MHz,最小頻率為500MHz,那么可以將500MHz~960MHz中的頻率作為CPU的目標頻率。
[0125] 步驟205、將目標標識和設置的目標頻率添加至第一對應關系中。執(zhí)行步驟206。
[0126] 具體的,可以按照從前往后的順序將目標標識和設置的目標頻率添加至結構體數(shù) 組的NULL項(即結構體數(shù)組預留的空位)。為方便下次目標應用運行時,直接獲取目標標識 對應的CPU的目標頻率,可以將目標標識和設置的目標頻率添加至第一對應關系中,這樣一 來,當目標應用再次運行時,可以直接根據(jù)第一對應關系獲取目標應用對應的CPU的目標頻 率。
[0127] 需要補充說明的是,步驟205為可選步驟。如果本次未將目標標識和設置的目標頻 率添加至第一對應關系中,下次目標應用運行時,若從第一對應關系中無法獲取目標標識 對應的CPU的目標頻率,再次根據(jù)目標應用的目標標識確定CPU的目標頻率也是可以的。
[0128] 本發(fā)明實施例中的第一對應關系,能夠用于記錄任一第三方應用的標識和CPU的 頻率的對應關系,實現(xiàn)了自動化完成CPU頻率的適配的效果。
[0129] 步驟206、生成指示消息。執(zhí)行步驟207。
[0130]該指示消息包括CPU的目標頻率。該方法在確定了 CPU的目標頻率后,可以生成指 示消息,該指示消息包括CPU的目標頻率,如960MHz。
[0131] 步驟207、向CPU發(fā)送指示消息。
[0132] 該指示消息用于指示CPU在目標應用運行過程中,根據(jù)指示消息控制CPU的頻率符 合目標頻率。在目標應用運行時,該方法下發(fā)CPU的目標頻率,使得CPU進入特定的性能與功 耗的均衡模式,進而有效降低了終端功耗,提高了功耗控制的效果。
[0133] 需要補充說明的是,現(xiàn)有技術中,終端續(xù)航能力的提升是一個十分關鍵的問題,如 何降低終端功耗變得越來越重要。盡管終端的系統(tǒng)應用與部分常用的第三方應用被做了一 定的優(yōu)化處理,但優(yōu)化過程較復雜,優(yōu)化難度較高,且無法全面覆蓋所有的第三方應用,因 而無法從根本上解決終端功耗控制的問題,大大降低了用戶體驗。
[0134] 本發(fā)明實施例針對終端運行第三方應用,導致終端功耗消耗較嚴重的問題,提供 了一種終端功耗控制方法,該方法可通過添加在終端的操作系統(tǒng)上的監(jiān)聽進程,偵查任一 第三方應用的啟動。當?shù)谌綉帽粏訒r,該監(jiān)聽進程便開始進行計算,具體的,該監(jiān)聽 進程將計算的第三方應用運行時CHJ的負載,換算為CPU的運行頻率,然后將換算的運行頻 率保存在第一對應關系中,該第一對應關系可以由結構體數(shù)組來實現(xiàn)。該方法無需人工處 理即可自動得到任一第三方應用運行時,所需的CPU的最大頻率和CPU的最小頻率,解決了 現(xiàn)有技術中因手動測試而使優(yōu)化過程較復雜,難度較高的問題,達到了自動化計算任一第 三方應用運行時的CPU的負載的目的。該方法適用于所有第三方應用,能夠自動完成第三方 應用對應的CP U的頻率的適配,控制終端功耗。
[0135] 本發(fā)明實施例提供的終端功耗控制方法,保證了應用在終端上的流暢運行,延長 了終端被使用的時間,且能讓終端最大程度的省電。該終端功耗控制方法可以應用于智能 設備領域,該智能設備包括但不限于智能手機。
[0136] 還需要說明的是,本發(fā)明實施例提供的終端功耗控制方法的步驟的先后順序可以 進行適當調整,步驟也可以根據(jù)情況進行相應增減。任何熟悉本技術領域的技術人員在本 發(fā)明揭露的技術范圍內(nèi),可輕易想到變化的方法,都應涵蓋在本發(fā)明的保護范圍之內(nèi),因此 不再贅述。
[0137] 綜上所述,本發(fā)明實施例提供的終端功耗控制方法,該方法先查詢預設的第一對 應關系中是否存在目標標識,當?shù)谝粚P系中不存在目標標識時,根據(jù)目標應用的目標 標識設置CPU的目標頻率,并向CPU發(fā)送包括CPU的目標頻率指示消息,從而實現(xiàn)了CPU在目 標應用運行過程中,根據(jù)指示消息控制CPU的頻率符合目標頻率,該目標應用為第三方應用 中的任一種應用,相較于現(xiàn)有技術,無需手動測試,且未針對部分常用的第三方應用,而是 針對所有第三方應用,因此,簡化了功耗控制的步驟,提高了實用性,提高了用戶體驗。
[0138] 本發(fā)明實施例提供了一種終端功耗控制裝置300,如圖3-1所示,該裝置300包括:
[0139] 第一獲取模塊301,用于在目標應用啟動時,獲取目標應用的目標標識,該目標應 用為第三方應用中的任一種應用。
[0140]查詢模塊302,用于查詢預設的第一對應關系中是否存在目標標識,該第一對應關 系用于記錄標識和CPU的頻率的對應關系。
[0141 ]設置模塊303,用于在第一對應關系中不存在目標標識時,根據(jù)目標應用的目標標 識設置CHJ的目標頻率。
[0142] 生成模塊304,用于生成指示消息,該指示消息包括CPU的目標頻率。
[0143] 發(fā)送模塊305,用于向CPU發(fā)送指示消息,該指示消息用于指示CPU在目標應用運行 過程中,根據(jù)指示消息控制CPU的頻率符合目標頻率。
[0144] 綜上所述,本發(fā)明實施例提供的終端功耗控制裝置,該裝置先查詢預設的第一對 應關系中是否存在目標標識,當?shù)谝粚P系中不存在目標標識時,根據(jù)目標應用的目標 標識設置CPU的目標頻率,并向CPU發(fā)送包括CPU的目標頻率指示消息,從而實現(xiàn)了CPU在目 標應用運行過程中,根據(jù)指示消息控制CPU的頻率符合目標頻率,該目標應用為第三方應用 中的任一種應用,相較于現(xiàn)有技術,無需手動測試,且未針對部分常用的第三方應用,而是 針對所有第三方應用,因此,簡化了功耗控制的步驟,提高了實用性。
[0145] 可選的,如圖3-2所示,設置模塊303,包括:
[0146] 第一獲取子模塊3031,用于獲取目標標識指示的目標應用啟動時的第一時刻。
[0147] 第二獲取子模塊3032,用于獲取目標標識指示的目標應用停止運行時的第二時 刻。
[0148] 判斷子模塊3033,用于判斷第二時刻與第一時刻的差值是否大于預設時段。
[0149] 確定子模塊3034,用于在第二時刻與第一時刻的差值大于預設時段時,根據(jù)目標 應用啟動時CPU在η個頻點中每個頻點指示的頻率下的起始運行次數(shù),及目標應用停止運行 時CPU在每個頻點指示的頻率下的結束運行次數(shù),確定CPU的目標頻率,η大于或等于1。
[0150] 可選的,確定子模塊3034,還用于:
[0151] 獲取η個頻點對應的η個運行次數(shù)差值,每個頻點對應的運行次數(shù)差值為CPU在每 個頻點指示的頻率下的結束運行次數(shù)與CPU在對應頻點指示的頻率下的起始運行次數(shù)的差 值;
[0152] 獲取η個運行次數(shù)差值中的最大值;
[0153] 判斷最大值占 η個運行次數(shù)差值的比重是否大于預設值;
[0154]當最大值占 η個運行次數(shù)差值的比重大于預設值時,將最大值對應的頻率作為目 標頻率;
[0155] 當最大值占 η個運行次數(shù)差值的比重不大于預設值時,獲取η個運行次數(shù)差值中的 次大值;
[0156] 將最大值對應的頻率和次大值對應的頻率中的較大頻率作為CPU的最大頻率,并 將最大值對應的頻率和次大值對應的頻率中的較小頻率作為CHJ的最小頻率;
[0157] 將最大頻率和最小頻率構成的頻率范圍中的頻率作為目標頻率。
[0158] 可選的,如圖3-3所示,設置模塊303,還包括:
[0159] 第三獲取子模塊3035,用于獲取CPU在η個頻點中每個頻點指示的頻率下的起始運 行次數(shù)。
[0160]第四獲取子模塊3036,用于在目標應用停止運行時,獲取CPU在每個頻點指示的頻 率下的結束運行次數(shù)。
[0161] 此外,圖3-3中其他標號的含義可以參考圖3-2進行說明,在此不再贅述。
[0162] 可選的,如圖3-4所示,該裝置300還可以包括:
[0163] 添加模塊306,用于將目標標識和設置的目標頻率添加至第一對應關系中。
[0164] 可選的,如圖3-4所示,裝置300還可以包括:
[0165] 第二獲取模塊307,用于在第一對應關系中存在目標標識時,在第一對應關系中獲 取目標標識對應的CPU的目標頻率。
[0166] 此外,圖3-4中其他標號的含義可以參考圖3-1進行說明,在此不再贅述。
[0167] 綜上所述,本發(fā)明實施例提供的終端功耗控制裝置,該裝置先查詢預設的第一對 應關系中是否存在目標標識,當?shù)谝粚P系中不存在目標標識時,根據(jù)目標應用的目標 標識設置CPU的目標頻率,并向CPU發(fā)送包括CPU的目標頻率指示消息,從而實現(xiàn)了CPU在目 標應用運行過程中,根據(jù)指示消息控制CPU的頻率符合目標頻率,該目標應用為第三方應用 中的任一種應用,相較于現(xiàn)有技術,無需手動測試,且未針對部分常用的第三方應用,而是 針對所有第三方應用,因此,簡化了功耗控制的步驟,提高了實用性,提高了用戶體驗。
[0168] 本發(fā)明實施例還提供了一種終端,包括圖3-1或圖3-4所示的終端功耗控制裝置。
[0169]所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的裝置 和模塊的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0170]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【主權項】
1. 一種終端功耗控制方法,其特征在于,所述方法包括: 在目標應用啟動時,獲取所述目標應用的目標標識,所述目標應用為第三方應用中的 任一種應用; 查詢預設的第一對應關系中是否存在所述目標標識,所述第一對應關系用于記錄標識 和中央處理器CPU的頻率的對應關系; 當所述第一對應關系中不存在所述目標標識時,根據(jù)所述目標應用的目標標識設置所 述CPU的目標頻率; 生成指示消息,所述指示消息包括所述CHJ的目標頻率; 向所述CPU發(fā)送所述指示消息,所述指示消息用于指示所述CPU在所述目標應用運行過 程中,根據(jù)所述指示消息控制所述CPU的頻率符合所述目標頻率。2. 根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)所述目標應用的目標標識設置所 述CPU的目標頻率,包括: 獲取所述目標標識指示的所述目標應用啟動時的第一時刻; 獲取所述目標標識指示的所述目標應用停止運行時的第二時刻; 判斷所述第二時刻與所述第一時刻的差值是否大于預設時段; 當所述第二時刻與所述第一時刻的差值大于所述預設時段時,根據(jù)所述目標應用啟動 時所述CPU在η個頻點中每個頻點指示的頻率下的起始運行次數(shù),及所述目標應用停止運行 時所述CPU在所述每個頻點指示的頻率下的結束運行次數(shù),確定所述CPU的目標頻率,所述η 大于或等于1。3. 根據(jù)權利要求2所述的方法,其特征在于,所述根據(jù)所述目標應用啟動時所述CPU在η 個頻點中每個頻點指示的頻率下的起始運行次數(shù),及所述目標應用停止運行時所述CPU在 所述每個頻點指示的頻率下的結束運行次數(shù),確定所述CPU的目標頻率,包括: 獲取所述η個頻點對應的η個運行次數(shù)差值,所述每個頻點對應的運行次數(shù)差值為所述 CPU在所述每個頻點指示的頻率下的結束運行次數(shù)與所述CPU在對應頻點指示的頻率下的 起始運行次數(shù)的差值; 獲取所述η個運行次數(shù)差值中的最大值; 判斷所述最大值占所述η個運行次數(shù)差值的比重是否大于預設值; 當所述最大值占所述η個運行次數(shù)差值的比重大于所述預設值時,將所述最大值對應 的頻率作為所述目標頻率; 當所述最大值占所述η個運行次數(shù)差值的比重不大于所述預設值時,獲取所述η個運行 次數(shù)差值中的次大值; 將所述最大值對應的頻率和所述次大值對應的頻率中的較大頻率作為所述CPU的最大 頻率,并將所述最大值對應的頻率和所述次大值對應的頻率中的較小頻率作為所述CPU的 最小頻率; 將所述最大頻率和所述最小頻率構成的頻率范圍中的頻率作為所述目標頻率。4. 根據(jù)權利要求2所述的方法,其特征在于,在所述確定所述CPU的目標頻率之前,所述 方法還包括: 獲取所述CHJ在所述η個頻點中所述每個頻點指示的頻率下的起始運行次數(shù); 在所述目標應用停止運行時,獲取所述CPU在所述每個頻點指示的頻率下的結束運行 次數(shù)。5. 根據(jù)權利要求1所述的方法,其特征在于,在所述根據(jù)所述目標應用的目標標識設置 所述CPU的目標頻率之后,所述方法還包括: 將所述目標標識和設置的所述目標頻率添加至所述第一對應關系中。6. -種終端功耗控制裝置,其特征在于,所述裝置包括: 第一獲取模塊,用于在目標應用啟動時,獲取所述目標應用的目標標識,所述目標應用 為第三方應用中的任一種應用; 查詢模塊,用于查詢預設的第一對應關系中是否存在所述目標標識,所述第一對應關 系用于記錄標識和中央處理器CPU的頻率的對應關系; 設置模塊,用于在所述第一對應關系中不存在所述目標標識時,根據(jù)所述目標應用的 目標標識設置所述CHJ的目標頻率; 生成模塊,用于生成指示消息,所述指示消息包括所述CHJ的目標頻率; 發(fā)送模塊,用于向所述CPU發(fā)送所述指示消息,所述指示消息用于指示所述CPU在所述 目標應用運行過程中,根據(jù)所述指示消息控制所述CPU的頻率符合所述目標頻率。7. 根據(jù)權利要求6所述的裝置,其特征在于,所述設置模塊,包括: 第一獲取子模塊,用于獲取所述目標標識指示的所述目標應用啟動時的第一時刻; 第二獲取子模塊,用于獲取所述目標標識指示的所述目標應用停止運行時的第二時 刻; 判斷子模塊,用于判斷所述第二時刻與所述第一時刻的差值是否大于預設時段; 確定子模塊,用于在所述第二時刻與所述第一時刻的差值大于所述預設時段時,根據(jù) 所述目標應用啟動時所述CPU在η個頻點中每個頻點指示的頻率下的起始運行次數(shù),及所述 目標應用停止運行時所述CPU在所述每個頻點指示的頻率下的結束運行次數(shù),確定所述CPU 的目標頻率,所述η大于或等于1。8. 根據(jù)權利要求7所述的裝置,其特征在于,所述確定子模塊,還用于; 獲取所述η個頻點對應的η個運行次數(shù)差值,所述每個頻點對應的運行次數(shù)差值為所述 CPU在所述每個頻點指示的頻率下的結束運行次數(shù)與所述CPU在對應頻點指示的頻率下的 起始運行次數(shù)的差值; 獲取所述η個運行次數(shù)差值中的最大值; 判斷所述最大值占所述η個運行次數(shù)差值的比重是否大于預設值; 當所述最大值占所述η個運行次數(shù)差值的比重大于所述預設值時,將所述最大值對應 的頻率作為所述目標頻率; 當所述最大值占所述η個運行次數(shù)差值的比重不大于所述預設值時,獲取所述η個運行 次數(shù)差值中的次大值; 將所述最大值對應的頻率和所述次大值對應的頻率中的較大頻率作為所述CPU的最大 頻率,并將所述最大值對應的頻率和所述次大值對應的頻率中的較小頻率作為所述CPU的 最小頻率; 將所述最大頻率和所述最小頻率構成的頻率范圍中的頻率作為所述目標頻率。9. 根據(jù)權利要求7所述的裝置,其特征在于,所述設置模塊,還包括: 第三獲取子模塊,用于獲取所述CPU在所述η個頻點中所述每個頻點指示的頻率下的起 始運行次數(shù); 第四獲取子模塊,用于在所述目標應用停止運行時,獲取所述CHJ在所述每個頻點指示 的頻率下的結束運行次數(shù)。10.根據(jù)權利要求6所述的裝置,其特征在于,所述裝置還包括: 添加模塊,用于將所述目標標識和設置的所述目標頻率添加至所述第一對應關系中。
【文檔編號】G06F1/32GK105975050SQ201610349797
【公開日】2016年9月28日
【申請日】2016年5月24日
【發(fā)明人】秦勇
【申請人】青島海信移動通信技術股份有限公司