一種終端內設備功耗數據獲取方法及裝置與流程
2023-05-29 06:28:56 1
本發明涉及通訊領域,特別是涉及一種終端內設備功耗數據獲取方法及裝置。
背景技術:
:目前,典型的手機功耗數據是基於測試標定和模型的方法,該類方法通過人工選取和測量參數,以這些參數為變量建立一個模型,依靠該模型,實時獲取比較精確的評估功耗值,一般流程如下:1)獲取智慧型手機的參數,選取CPU(CentralProcessingUnit,中央處理器(CPU)、RAM(Random-AccessMemory,隨機存取存儲器)、屏幕、WiFi模塊、電話、3G(3rd-Generation,第三代移動通信技術)卡、SD(SecureDigitalMemoryCard/SD,安全數碼)卡和Audio音頻模塊的參數作為模型的輸入變量;2)對存在尾功耗的硬體WiFi、3G和電話,進行尾功耗處理,即可得出硬體WiFi、3G和Phone在三個時間段內對應的尾功耗值;3)將步驟1獲取的智慧型手機參數輸入到模型擬合工具中,根據擬合結果的各項參數得出擬合方程,即基於硬體使用率的智慧型手機功耗模型,在基於硬體使用率的智慧型手機功耗模型的基礎上,加入硬體WiFi、3G和Phone在三個時間段內對應的尾功耗值,即可得到智慧型手機功耗模型。然而,該方案在獲取智慧型手機參數和模型擬合過程需要投入專用的設備和時間,而且最終得到的模型效果與參數選取方法和擬合算法、每個參數的測量準確度和處理(例如對尾功耗的處理)等有關。所以用這種方式獲取手機功耗模型,具有耗時費力,準確性不易保證,另外,不同手機由於硬體參數差異、獲取參數和參數處理的方法也不同,造成產生這個功耗模型的步驟與方法差異也很大。技術實現要素:本發明提供一種終端內設備功耗數據獲取方法及裝置,用以解決現有技術中計算終端內設備的耗電數據不夠準確的問題。根據本發明的一個方面,提供了一種終端內設備功耗數據獲取方法,包括:在設備使用時長統計數據中的各統計周期中,篩選出指定設備各周期內的使用時長差異達到預設值,其他設備各周期的使用時長差異未達到預設值的兩個統計周期;分別計算指定設備在兩個統計周期內的功耗;根據指定設備在兩個統計周期內功耗的差值以及統計周期的時長計算出指定設備的功耗數據。進一步的,方法還包括:在設備使用時長統計數據中的各統計周期中,篩選出指定設備各周期內的使用時長差異達到預設值,其他設備各周期的使用時長差異未達到預設值的兩個統計周期之前,將設備使用時長統計數據按指定第一統計周期進行劃分;如果在劃分後的多個統計周期中未查找指定設備在各統計周期的使用時長差異達到預設值,其他設備在各統計周期的使用時長差異未達到預設值的兩個統計周期,則增大第一統計周期後,得到第二統計周期,對設備使用時長統計數據按照縮小後的指定周期進行劃分;在劃分後的多個統計周期內篩選出指定設備的在各統計周期的使用時長的差異達到預設值,其他設備在各統計周期的使用時長未達到預設值的兩個統計周期,直至篩選成功。其中,上述指定設備包括:處於不同功耗等級下的同一設備。其中,指定設備為多個不同的設備,方法還包括:在計算出指定設備的功耗數據之後,在其他時間段的設備使用時長統計數據中重新篩選出指定設備的在各統計周期內的使用時長差異達到預設值,其他設備在各統計周期內的使用時長差異未達到預設值的其它多對統計周期;分別計算其它各對統計周期內指定設備功耗的差值;根據其他多對統計周期內指定設備功耗的差值、指定設備的功耗數據以及統計周期的時長計算指定設備中各個設備的功耗數據。進一步的,上述方法還包括:在計算出指定設備的功耗數據之後,在其他時間段的設備使用時長統計數據中重新篩選出指定設備在各統計周期的使用時長差異達到預設值,其他設備在各統計周期的使用時長差異未達到預設值的 其它多對統計周期,分別計算該其它多對統計周期內指定設備的多個功耗數據;對功耗數據以及多個功耗數據求平均值,將得到的平均值作為指定設備的功耗數據。根據本發明的另一個方面,提供了一種終端內設備功耗數據獲取裝置,包括:第一篩選模塊,在設備使用時長統計數據中的各統計周期中,篩選出指定設備各周期內的的使用時長差異達到預設值,其他設備各周期的使用時長差異未達到預設值的兩個統計周期;第一計算模塊,用於分別計算指定設備的在兩個統計周期內的功耗;第二計算模塊,用於根據指定設備在兩個統計周期內功耗的差值以及統計周期的時長計算出指定設備的功耗數據。進一步的,上述裝置還包括:劃分模塊,用於在設備使用時長統計數據中的各統計周期中,篩選出指定設備各周期內的使用時長差異達到預設值,其他設備各周期的使用時長差異未達到預設值的兩個統計周期之前,將設備使用時長統計數據按指定第一統計周期進行劃分;調整模塊,用於如果在劃分後的多個統計周期中未查找指定設備在各統計周期的使用時長差異達到預設值,其他設備在各統計周期的使用時長差異未達到預設值的兩個統計周期,則增大第一統計周期後,得到第二統計周期,對設備使用時長統計數據按照縮小後的指定周期進行劃分;第二篩選模塊,用於在劃分後的多個統計周期內篩選出指定設備的在各統計周期的使用時長的差異達到預設值,其他設備在各統計周期的使用時長未達到預設值的兩個統計周期,直至篩選成功。其中,上述指定設備包括:處於不同功耗等級下的同一設備。其中,指定設備為多個不同的設備,裝置還包括:第三篩選模塊,用於在計算出指定設備的功耗數據之後,在其他時間段的設備使用時長統計數據中重新篩選出指定設備的在各統計周期內的使用時長差異達到預設值,其他設備在各統計周期內的使用時長差異未達到預設值的其它多對統計周期;第三計算模塊,用於分別計算其它各對統計周期內指定設備功耗的差值;第四計算模塊,用於根據其他多對統計周期內指定設備功耗的差值、指定設備的功耗數據以及 統計周期的時長計算指定設備中各個設備的功耗數據。進一步的,上述裝置還包括:第五計算模塊,用於在計算出指定設備的功耗數據之後,在其他時間段的設備使用時長統計數據中重新篩選出指定設備在各統計周期的使用時長差異達到預設值,其他設備在各統計周期的使用時長差異未達到預設值的其它多對統計周期,分別計算該其它多對統計周期內指定設備的多個功耗數據;第六計算模塊,用於對功耗數據以及多個功耗數據求平均值,將得到的平均值作為指定設備的功耗數據。本發明有益效果如下:本發明實施例提供的方案,不需要預先建立各種數學模型(例如尾功耗模型),是從實際統計的各設備的功耗數據進行計算,使得計算得到的功耗數據更為準確。附圖說明圖1是本發明實施例1提供的終端內設備功耗數據獲取方法的流程圖;圖2是本發明實施例2提供的功耗數據的算法流程圖;圖3是本發明實施例3提供的第一種改進的功耗數據算法的流程圖;圖4是本發明實施例3提供的第二種改進的功耗數據算法的流程圖;圖5是本發明實施例4提供的終端內設備功耗數據獲取裝置的結構框圖。具體實施方式為了解決現有技術的問題,本發明提供了一種終端內硬體設備功耗數據獲取方法及裝置,以下結合附圖以及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不限定本發明。實施例1本實施例提供了一種終端內設備功耗數據獲取方法,圖1是該方法的流程圖,如圖1所示,該方法用於統計並計算出終端內設備的功耗數據,如圖1所 示,包括如下步驟:步驟101:在設備使用時長統計數據中的各統計周期中,篩選出指定設備各周期內的使用時長差異達到預設值,其他設備各周期的使用時長差異未達到預設值的兩個統計周期;其中,本實施例中所涉及到的硬體設備包括設置於終端內部的各硬體設備,例如,CPU、RAM、屏幕、WiFi模塊、電話、3G卡、SD卡和Audio音頻模塊、此外,指定設備還可以是處於不同功耗等級下的同一設備,例如,當某一設備可以在三種不同功耗等級下運作時,該設備被認為是三種設備。步驟102:分別計算指定設備在兩個統計周期內的功耗;步驟103:根據指定設備在兩個統計周期內功耗的差值以及統計周期的時長計算出指定設備的功耗數據。在該實施例中,篩選出指定設備各周期內的使用時長差異達到預設值,其他設備各周期的使用時長差異未達到預設值的兩個統計周期,終端在這兩個周期內耗電的差值就近似於指定設備在一個周期內的耗電量,故,在步驟103中,根據終端在篩選出的兩個統計周期內的功耗差值,結合統計周期的時長,即可以算出指定設備的功耗數據。進一步的,如果上述統計周期過小,導致無法在劃分後的周期內篩選出指定設備各周期內的使用時長差異達到預設值,其他設備各周期的使用時長差異未達到預設值的兩個統計周期,則可以適當增大統計周期,基於此,上述方法還包括:在設備使用時長統計數據中的各統計周期中,篩選出指定設備各周期內的使用時長差異達到預設值,其他設備各周期的使用時長差異未達到預設值的兩個統計周期之前,將設備使用時長統計數據按指定第一統計周期進行劃分;如果在劃分後的多個統計周期中未查找指定設備在各統計周期的使用時長差異達到預設值,其他設備在各統計周期的使用時長差異未達到預設值的兩個統計周期,則增大第一統計周期後,得到第二統計周期,對設備使用時長統計數據按照縮小後的指定周期進行劃分;在劃分後的多個統計周期內篩選出指定 設備的在各統計周期的使用時長的差異達到預設值,其他設備在各統計周期的使用時長未達到預設值的兩個統計周期,直至篩選成功。具體地,在計算設備功耗數據時,如果當前同時篩選出多個設備在兩個統計周期的使用時長均滿足上述條件,則將該多個設備視為一個設備,即上述所提到的指定設備,得到該多個設備的功耗關係,結合過在不同時間段得到的多個設備的功耗關係來計算各個設備的功耗數據,基於此,在指定設備為多個不同的設備的情況下,上述方法還包括:在計算出指定設備的功耗數據之後,在其他時間段的設備使用時長統計數據中重新篩選出指定設備的在各統計周期內的使用時長差異達到預設值,其他設備在各統計周期內的使用時長差異未達到預設值的其它多對統計周期;分別計算其它各對統計周期內指定設備功耗的差值;根據其他多對統計周期內指定設備功耗的差值、指定設備的功耗數據以及統計周期的時長計算指定設備中各個設備的功耗數據。為了進一步保證各設備功耗數據的精度,可以將基於不同時間段的設備功耗統計數據計算得到的設備的功耗數據進行加權求平均值,基於此,上述方法還包括:在計算出指定設備的功耗數據之後,在其他時間段的設備使用時長統計數據中重新篩選出指定設備在各統計周期的使用時長差異達到預設值,其他設備在各統計周期的使用時長差異未達到預設值的其它多對統計周期,分別計算該其它多對統計周期內指定設備的多個功耗數據;對功耗數據以及多個功耗數據求平均值,將得到的平均值作為指定設備的功耗數據。實施例2本實施例通過公開更多的技術內容來對本發明提供的終端內硬體設備功耗數據獲取方法進行進一步說明。本發明所提供的方法利用了終端的作業系統收集的與電源操作有關的統計數據,通過挖掘這些統計數據間的關聯得到終端內各設備的耗電參數。基於此,本發明對統計數據的要求包括以下幾點:1)要有能記錄終端中硬體設備使用時間的信息(硬體設備使用時間、對於可以運行在多個功耗級別上的硬體 設備,例如,CPU可以運行在不同頻率上,可以視為不同的設備,還可以包含該硬體設備在不同功耗級別上的使用時間)和終端電池電量變化數據。其中,硬體設備使用時間的信息即可以是直接的統計數據,也可以是從統計數據中推斷出(例如,統計數據只記錄每個設備的開始使用時間和結束使用時間,則可以通過結束使用時間減去開始使用時間得到設備的使用時間)。在統計數據滿足以上要求的情況下,通過以下方法得到每個硬體設備的功耗數據參數:找出除了某個硬體設備使用時間有較大差異外,其它設備使用時間差異較小的時間段,則這兩個時間段內手機總的耗電量差異就可以認為是某個硬體設備功耗所引起的差異,再根據這個硬體設備在這個時間段內的使用時間差異,就可以算出這個硬體設備的功耗參數了。基於上述構思,本實施例提供的終端內設備功耗數據獲取方法具體可以包括以下處理:把終端內各設備的功耗統計數據按照固定時間長度分成段(即對統計數據按照統計周期進行劃分);計算每個時間段內的各個設備的使用時間;尋找兩個時間段,除了某個硬體設備使用時間有較大差異外,其它設備使用時間差異較小。假設這個使用時間有較大差異為硬體設備為D,使用時間差異為T秒;分別計算這兩個時間段內終端總的耗電量,假設這兩個時間段的耗電量差異為P,則設備D的功耗數據參數為P/T;對於那些可以處於不同功耗級別上運行的硬體設備,在不同級別上運行時把它視為不同的設備。例如,假設一個CPU設備可以運行在100MHZ、200MHZ、300MHZ,則本算法中就有三種CPU設備,分別對應運行在100MHZ、200MHZ、300MHZ的CPU設備。以下以一個具體的實例來對本發明提供的方案進行進一步闡述:此處以Android系統為例介紹本發明算法的一個實施例子,Android中電 源操作統計數據是以事件為基本元素的,即統計數據格式如下:。例如:,表示在10000毫秒時,發生了GPS打開的事件。假設有如下表1所示的Android統計數據。其中,前面的數字代表時間,單位為秒,以手機開機時間為0,後面就是發生的事件信息描述,POWER:95%表示手機電量現在變動為95%,其它以此類推,GPS:ON和GPS:OFF分別表示打開/關閉GPS,WiFi:ON和WiFi:OFF分別表示打開/關閉WiFi。表10,POWER:95%130,GPS:ON1300,WiFi:ON1600,GPS:OFF1700,POWER:94%1900,GPS:ON2000,WiFi:OFF2100,POWER:91%2200,WiFi:ON2300,GPS:OFF2900,GPS:ON2950,WiFi:OFF3000,POWER:90%3300,:GPSOFF3600,GPS:ON3800,GPS:OFF4200,POWER:89%根據上表的統計數據,計算功耗數據的算法如圖2所示。1)把以上數據分成兩個相等時間段;2)計算每個時間段內各設備的功耗,計算結果為:在時間段1中,GPS使用1670秒,WiFi使用700秒,在時間段2中,GPS使用700秒,WiFi使用750秒,3)比較兩個時間段設備使用差異,WiFi使用差異50秒,GPS使用差異為930秒,可以認為兩個時間段WiFi使用時間相同(750秒相對於700秒來說,可以認為基本相同),GPS使用時間有巨大差異,兩個時間段手機總耗電差異就是GPS使用時間差異造成的;4)根據手機電量事件和電池容量計算兩個時間段手機總耗電量差異,再除以GPS使用時間差就可以得到GPS耗電數據為154mA。實施例3本實施例在基於上述設備耗電數據的算法基礎上,還可以採用以下方式增加本算法的準確性。如果在上述步驟2)中找不出除了某個硬體設備使用時間有較大差異外,其它設備使用時間差異較小的時間段,可以嘗試把時間分段進一步減小再做嘗試,如圖3所示。可以找出使用時間差異大的多個設備的組合,把這些設備集合看成一個虛擬設備,那麼就可以得到虛擬設備的耗電數據,進一步通過其他時間段的耗電統計數據可以得到這個虛擬設備的多個耗電數據,基於此,可以通過解方程的方式得到這個虛擬設備包含的每個實際設備的功耗數據了,如圖4所示。例如,假設能從時間段分析中得到設備A和設備B的組合兩個耗電數據,其中第一個耗電數據中,設備組合耗電為P1,設備A使用T1時間、設備B使用T2時間;第二個耗電數據中,設備組合耗電為P2,設備A使用T3時間、設備B使用T4時間;則解以下二元一次方程組可以分別得到設備A和設備B的功耗數據。A*T1+B*T2=P1;A*T3+B*T4=P2;對於設備組合中包含的三個設備的情況依次類推,這樣的設備組合需要得到三個耗電數據才能得到其中每個設備的實際功耗數據。如果對同一設備(無論是實際設備或者是虛擬設備)得到了多個功耗數據,可以把這些功耗數據進行平均來作為這個設備的最終功耗數據,減小偶然性誤差。實施例4本實施例提供了一種終端內硬體設備功耗數據獲取裝置,該裝置用於實現上述終端內硬體設備功耗數據獲取方法,圖5是該裝置50的結構框圖,如圖5 所示,該裝置50包括如下組成部分:第一篩選模塊51,在設備使用時長統計數據中的各統計周期中,篩選出指定設備各周期內的的使用時長差異達到預設值,其他設備各周期的使用時長差異未達到預設值的兩個統計周期;其中,指定設備包括:處於不同功耗等級下的同一設備。第一計算模塊52,用於分別計算指定設備的在兩個統計周期內的功耗;第二計算模塊53,用於根據指定設備在兩個統計周期內功耗的差值以及統計周期的時長計算出指定設備的功耗數據。進一步的,上述裝置50還包括:劃分模塊,用於在設備使用時長統計數據中的各統計周期中,篩選出指定設備各周期內的使用時長差異達到預設值,其他設備各周期的使用時長差異未達到預設值的兩個統計周期之前,將設備使用時長統計數據按指定第一統計周期進行劃分;調整模塊,用於如果在劃分後的多個統計周期中未查找指定設備在各統計周期的使用時長差異達到預設值,其他設備在各統計周期的使用時長差異未達到預設值的兩個統計周期,則增大第一統計周期後,得到第二統計周期,對設備使用時長統計數據按照縮小後的指定周期進行劃分;第二篩選模塊,用於在劃分後的多個統計周期內篩選出指定設備的在各統計周期的使用時長的差異達到預設值,其他設備在各統計周期的使用時長未達到預設值的兩個統計周期,直至篩選成功。其中,上述指定設備為多個不同的設備,上述裝置50還包括:第三篩選模塊,用於在計算出指定設備的功耗數據之後,在其他時間段的設備使用時長統計數據中重新篩選出指定設備的在各統計周期內的使用時長差異達到預設值,其他設備在各統計周期內的使用時長差異未達到預設值的其它多對統計周期;第三計算模塊,用於分別計算其它各對統計周期內指定設備功耗的差值;第四計算模塊,用於根據其他多對統計周期內指定設備功耗的差值、指定設備的功耗數據以及統計周期的時長計算指定設備中各個設備的功耗數據。進一步的,上述裝置50還包括:第五計算模塊,用於在計算出指定設備的功耗數據之後,在其他時間段的設備使用時長統計數據中重新篩選出指定設 備在各統計周期的使用時長差異達到預設值,其他設備在各統計周期的使用時長差異未達到預設值的其它多對統計周期,分別計算該其它多對統計周期內指定設備的多個功耗數據;第六計算模塊,用於對功耗數據以及多個功耗數據求平均值,將得到的平均值作為指定設備的功耗數據。本發明通過對設備功耗數據到統計數據進行分析推導出每個設備的功耗參數,不需要額外的硬體設備和測試方法,減少了投入成本;另外,本發明不需要預先建立各種數學模型(例如尾功耗模型),是從實際統計數據中得出的,具有更好的適應性;最後,很多硬體設備隨著使用模式和使用時間不同,其耗電參數會發生變化,基於預設模型計算的耗電數據就會有較大誤差的波動,而本發明基於統計數據的分析會自動適應這種變化。儘管為示例目的,已經公開了本發明的優選實施例,本領域的技術人員將意識到各種改進、增加和取代也是可能的,因此,本發明的範圍應當不限於上述實施例。當前第1頁1 2 3