一種行動裝置多應用程式數據傳輸能耗優化方法與流程
2023-05-08 07:48:57
本發明涉及蜂窩網絡無線資源控制協議(Radio Resource Control,RRC)下行動裝置數據傳輸能耗優化技術領域,特別是指一種行動裝置多應用程式數據傳輸能耗優化方法。
背景技術:
計算機技術與通信技術的飛速發展,促使以智慧型手機為代表的行動裝置的數量迅猛增長。與此同時,行動裝置處理器能力的不斷提升以及蜂窩網絡帶寬的不斷增長,更促進了行動應用程式種類和數量的快速發展。數量繁多、功能豐富的各種應用程式在為人們的生活帶來便利和樂趣的同時,也極大地消耗了行動裝置的能量。然而,行動裝置電池容量的發展速度和受限的電池續航能力卻成為影響增強行動應用程式用戶體驗的瓶頸。因此,降低行動裝置的能耗成為迫切需要解決的問題。蜂窩網絡中行動裝置數據傳輸過程的能耗通常受到RRC(Radio Resource Control)等無線MAC協議的控制,數據在傳輸結束後無線電電平不會立即降低到低電平狀態,而是保持一段時間的高電平,在數據傳輸完成卻仍保持高電平狀態的時間內,若無後續數據傳輸,無線電電平就從高電平狀態轉換到低電平。這段無數據傳輸但又保持高電平狀態的時間稱為尾時間(tail time),這段時間裡造成的能量浪費稱為尾能量(tail energy)。尾時間的引入是為了避免無線接入網絡過高的信號開銷,但如果數據傳輸過程中出現過多的尾時間,能量利用率就會大大下降。因此如何有效地降低尾能量的影響成為解決蜂窩網絡中行動裝置數據傳輸能耗優化問題的關鍵。
以RadioJockey為例,現有基於尾時間調優的能耗優化方案大都建立在單一種類應用程式數據傳輸的基礎上,通過劃分應用程式種類僅針對每一類應用程式的數據傳輸特點簡單預測數據傳輸時刻來決定何時切斷尾時間,雖然一定程度上可達到減少尾能耗目的,但是仍不可避免地會帶來其他問題。首先,針對單一種類應用程式的能耗優化並不符合行動裝置同時運行多種多個應用程式的實際情況,並且應用程式單一數據傳輸特點簡單使得預測模型簡化導致預測準確度降低;其次,頻繁的切斷尾時間會導致多餘的狀態切換產生更多狀態提升能耗,同時狀態提升耗時造成傳輸時延,降低用戶體驗度。
技術實現要素:
有鑑於此,本發明的目的在於提出一種動態調整尾時間長短以減少尾能耗,同時在下一次數據傳輸請求到達時提前切換行動裝置電平狀態的,減少傳輸延時,提高用戶體驗度的數據傳輸能耗優化方法。
基於上述目的本發明提供的一種行動裝置多應用程式數據傳輸能耗優化方法,包括:
利用差分自回歸移動平均模型對由數據傳輸到達的時刻組成的原時間序列進行線性部分預測,得到所述原時間序列的殘差序列;
利用神經網絡模型對所述殘差序列進行預測,確定複合預測模型;
根據所述複合預測模型,預測原時間序列中第一時刻的下一數據傳輸時刻,作為第二時刻,並根據第一時刻和其對應的尾時間的和與第二時刻的大小關係對行動裝置的電平狀態進行對應的調整。
進一步的,所述對行動裝置的電平狀態進行對應的調整具體為:
當所述第一時刻和其對應的尾時間的和小於等於所述第二時刻時,則保留尾時間;
當所述第一時刻和其對應的尾時間的和大於所述第二時刻時,判斷實際節省的尾能耗與狀態提升能耗之間的大小關係,若所述實際節省的尾能耗小於狀態提升能耗,則保留尾時間,若所述實際節省的尾能耗大於狀態提升能耗,則將行動裝置下降為節能狀態,並在第二時刻與所述第一時刻對應的尾時間的差值對應的時刻將行動裝置上升為專用信道狀態。
進一步的,還包括對第二時刻進行誤差修正,具體為:
根據第二時刻在原時間序列中對應的第三時刻的差值與所述第二時刻的差,得到預測誤差;
當所述預測誤差的值為正數時,若所述預測誤差小於第一時刻的尾時間的值時,則將行動裝置上升為專用信道狀態並維持該狀態,若所述預測誤差大於第一時刻的尾時間的值時,對比傳輸能耗和兩側狀態提升能耗的大小,若傳輸能耗較大,則將行動裝置切換為前向接入信道狀態,並在第三時刻與第一時刻對應的尾時間的差值對應的時刻,將行動裝置上升為專用信道狀態;
當所述預測誤差的值為負數時,在數據傳輸請求到達前對所述第二時刻進行修正,使所述預測誤差的值為正數。
進一步的,所述複合預測模型的確定過程具體包括:
檢驗原時間序列是否平穩,若原時間序列不平穩,則對原時間序列進行差分,直到得到原時間序列的平穩序列;
求自相關和偏自相關函數進行模型識別;
窮舉參數p和q的取值空間(p,q),擬合每一組(p,q)對應的參數;
計算對應的信息準則AIC,並選擇AIC值最小的取值空間(p,q)作為模型參數建立模型進行線性部分預測;
計算殘差序列,輸入殘差學習樣本,並計算各個單元的輸出和反向傳播誤差,根據反向傳播誤差按照BP模型權值修正公式調整權值和閾值,選擇符合精度要求的權值和閾值對殘差序列建模預測,最終得到符合預測模型。
從上面所述可以看出,本發明提供的行動裝置多應用程式數據傳輸能耗優化方法,包括:利用差分自回歸移動平均模型對由數據傳輸到達的時刻組成的原時間序列進行線性部分預測,得到所述原時間序列的殘差序列;利用神經網絡模型對所述殘差序列進行預測,確定複合預測模型;根據所述複合預測模型,預測原時間序列中第一時刻的下一數據傳輸時刻,作為第二時刻,並根據第一時刻和其對應的尾時間的和與第二時刻的大小關係對行動裝置的電平狀態進行對應的調整。通過動態調整尾時間長短以減少尾能耗,同時在下一次數據傳輸請求到達時提前切換行動裝置電平狀態的,減少傳輸延時,提高了用戶體驗度。
附圖說明
圖1為本發明行動裝置多應用程式數據傳輸能耗優化方法的一個實施例的流程圖;
圖2為本發明行動裝置多應用程式數據傳輸能耗優化方法的一個實施例的時間序列預測流程圖。
具體實施方式
為使本發明的目的、技術方案和優點更加清楚明白,以下結合具體實施例,並參照附圖,對本發明進一步詳細說明。
本發明提供的一種行動裝置多應用程式數據傳輸能耗優化方法,包括:利用差分自回歸移動平均模型對由數據傳輸到達的時刻組成的原時間序列進行線性部分預測,得到所述原時間序列的殘差序列;利用神經網絡模型對所述殘差序列進行預測,確定複合預測模型;根據所述複合預測模型,預測原時間序列中第一時刻的下一數據傳輸時刻,作為第二時刻,並根據第一時刻和其對應的尾時間的和與第二時刻的大小關係對行動裝置的電平狀態進行對應的調整。
本發明提供的行動裝置多應用程式數據傳輸能耗優化方法,通過動態調整尾時間長短以減少尾能耗,同時在下一次數據傳輸請求到達時提前切換行動裝置電平狀態的,減少傳輸延時,提高了用戶體驗度。
如圖1所示,為本發明行動裝置多應用程式數據傳輸能耗優化方法的一個實施例的流程圖,包括以下步驟:
步驟101:利用差分自回歸移動平均模型對由數據傳輸到達的時刻組成的原時間序列進行線性部分預測,得到所述原時間序列的殘差序列。
步驟102:利用神經網絡模型對所述殘差序列進行預測,確定複合預測模型。
步驟103:根據所述複合預測模型,預測原時間序列中第一時刻的下一數據傳輸時刻,作為第二時刻,並根據第一時刻和其對應的尾時間的和與第二時刻的大小關係對行動裝置的電平狀態進行對應的調整。
本實施例的方法通過動態調整尾時間長短以減少尾能耗,同時在下一次數據傳輸請求到達時提前切換行動裝置電平狀態的,減少傳輸延時,提高了用戶體驗度。
為了使本發明的技術方案更容易被理解,下面結合具體實施例以對本發明的技術方案進行說明。
首先給出SmartTT的蜂窩網絡數據傳輸序列模型,也即複合預測模型。定義數據集D={d1,d2,d3,……,di,……,dn}為各個時刻到達的數據傳輸請求所組成的數據序列,時間集T={t1,t2,t3,……,ti,……,tn}為數據集D中對應數據傳輸請求到達時刻所組成的時間序列,也即原時間序列。數據傳輸時蜂窩網絡接口在各個RRC狀態功率具有固定值,而相鄰兩次數據傳輸之間的時間間隔決定蜂窩網絡接口在不同的RRC狀態之間如何轉換以及尾時間的長短,因此時間集T中的數據項ti將直接影響尾能耗Etail。在上述模型的技術上,本發明技術方案的SmartTT包括時間序列預測、尾時間調整、誤差修正三部分。
時間序列預測:
實際的時間序列通常同時具有線性和非線性複合特徵,ARIMA模型(差分自回歸移動平均模型)和BP模型(神經網絡模型)分別在線性和非線性時序預測方面具有顯著優勢,因此本發明採用ARIMA和BP複合預測模型對時間序列T={t1,t2,t3,……,ti,……,tn}進行預測。有如下假設,時間序列T={t1,t2,t3,……,ti,……,tn}由線性部分Li和非線性部分Ni組成:
ti=Li+Ni (1)
首先利用ARIMA模型對時間序列T預測,假設預測值為L′i,原時間序列與預測結果之間的殘差假設為ei:
ei=ti-L′i (2)
殘差ei反映了ti中的非線性關係,利用BP模型對ei預測,假設預測值為N′i,則時間序列T的最終預測值為:
t′i=L′i+N′i (3)
具體的時間序列預測流程如圖2所示,圖2為本發明行動裝置多應用程式數據傳輸能耗優化方法的一個實施例的時間序列預測流程圖。主要步驟如下:
步驟一:檢驗時間序列T是否平穩,不平穩進行差分直到得到平穩序列;
步驟二:根據公式(4)和(5)求自相關和偏自相關函數進行模型識別;
步驟三:窮舉參數p和q的取值空間(p,q),由公式(6)擬合每一組(p,q)對應的參數
其中,εi服從均值為0,方差為常量σ2(擬合後的殘差方差)的正態分布
步驟四:根據公式(7)計算對應的AIC;
AIC=N logσ2+(p+q+1)log N (7)
步驟五:選擇對應AIC值最小的(p,q)作為模型參數建立模型進行線性部分預測;
步驟六:根據公式(2)計算殘差序列;
步驟七:利用BP模型預測殘差序列,首先初始化權值ωij=Random(·);
步驟八:輸入殘差序列學習樣本;
步驟九:分別由公式(8)、公式(9)(10)計算各個單元的輸出和反向傳播誤差;
步驟十:根據反向傳播誤差按照BP模型權值修正公式調整權值和閾值;
步驟十一:選擇符合精度要求的權值和閾值對殘差序列建模預測;
步驟十二:由公式(3)綜合步驟五和步驟十一兩部分得到最終複合預測模型。
尾時間調整:
RRC協議規定蜂窩網絡無線電電平在數據傳輸時處於高電平狀態DCH,數據傳輸結束後若後續無數據傳輸,則電平維持DCH狀態一段固定時間α後下降到FACH狀態;若後續繼續無數據傳輸,則維持FACH一段固定時間β後最終下降到IDLE狀態,並且在無數據傳輸時始終保持該狀態;再次進行數據傳輸時,無線電電平重新從IDLE狀態提升至DCH狀態進行數據傳輸。受該協議控制,DCH狀態和FACH狀態電平功率固定,設分別為pDCH和pFACH;由IDLE狀態提升至DCH狀態的狀態提升功率和時延固定,設分別為ppro和tdelay。假設數據傳輸時間序列{t1,t2,t3,……,ti,……,tn}對應的預測值序列為{t′1,t′2,t′3,……,t′i,……,t′n},則無誤差修正下SmartTT的尾時間調整過程如下:
(1)行動裝置電平狀態初始化,即最初無數據傳輸時電平狀態為IDLE;
(2)當電平狀態提升至DCH進行一次數據傳輸時,利用複合預測模型預測下一次數據傳輸到達時間t′i。若t′i≤ti-1+tdelay,保留尾時間,否則電平狀態立即下降到IDLE;
(3)當t′i>ti-1+tdelay,又存在以下三種情況:
①ti-1+tdelay<t′i≤ti-1+α
②ti-1+αti-1+α+β
三種情況下需平衡考慮尾時間調整節省的尾能耗Etail和隨之帶來的狀態提升能耗Epro,對應上述三種情況,尾能耗與狀態提升能耗分別為:
Etail=pDCH*(t′i-ti-1)
Epro=ppro*tdelay
Etail=pDCH*α+pFACH*(t′i-ti-1-α)
Epro=ppro*tdelay
Etail=pDCH*α+pFACH*β
Epro=ppro*tdelay
若實際節省的尾能耗Etail小於隨之產生的狀態提升能耗Epro,保留尾時間,否則電平狀態立即下降到IDLE,同時提前在t′i-tdelay時刻開始提升至DCH狀態做好數據傳輸準備,避免因狀態提升導致傳輸時延。
誤差修正:
理想情況下預測值t′i準確,SmartTT可有效減少尾能耗和狀態提升能耗並避免傳輸時延,但實際情況下的t′i並不能保證每次都準確預測,這無疑會對SmartTT的性能產生影響。因此SmartTT引入了相應的誤差修正策略從以下兩方面進行修正:
預測值t′i偏小,無線電電平已提前完成狀態提升,但數據傳輸並未開始,產生多餘的數據傳輸能耗;
預測值t′i偏大,無線電電平尚未完成狀態提升,但數據傳輸請求已經到達,造成傳輸時延影響用戶體驗度。
假設實際預測誤差為δi,則有:
δi=ti-t′i
由上式可知δi也是一時間序列,同樣可用複合預測模型進行預測,假設預測值為δ′i,則兩種情況下的誤差修正如下,具體的優化策略如表1所示:
δ′i>0,預測值偏小,提前提升至DCH狀態導致多餘的傳輸能耗,設為Etrans,具體又可分為以下兩種情形:
δ′itdelay,若狀態提升後維持DCH狀態直到數據傳輸請求到達,可能浪費過多的傳輸能耗;若再次下降到IDLE狀態並在數據傳輸請求到達前重新提升至DCH狀態,會導致兩次多餘的狀態提升能耗。因此需比較Etrans和兩次狀態提升能耗Epro的大小決定是否繼續等待。Etrans=pDCH*δ′i Epro=ppro*tdelay
若Etrans>2*Epro,切換到IDLE狀態,並在t′i+δ′i-tdelay時刻重新狀態提升至DCH;反之維持DCH狀態直到數據傳輸請求到達開始數據傳輸。
δ′i<0,預測值偏大,數據傳輸請求已到達但尚未完成狀態提升,造成一定的傳輸時延。對於該種情況,為避免過多影響用戶體驗SmartTT採用提前預防而非發生後再進行調整的策略,一旦發現δ′i<0則立即將t′i修正為t′i-|δ′i|,之後按2中正常的尾時間調整策略進行操作。
表1 帶誤差修正的能耗優化策略
相對於現有的基於尾時間調優的能耗優化策略,本發明有如下優點:
從行動裝置實際運行情況出發,以多應用程式並行數據傳輸為前提,採用複合預測模型進行數據傳輸時刻預測,避免應用程式單一數據傳輸特點簡單使得預測模型簡化,提高了預測準確度。考慮到尾時間調整帶來的多餘狀態提升能耗,避免一味地降低尾能耗而導致其他的能耗開銷,提高了能耗優化率;考慮到狀態間切換導致的傳輸時延,通過提前狀態提升做好數據傳輸準備,避免影響用戶體驗度;引入誤差修正策略,對預測值過大和過小兩種情況分別進行了調整,更大程度上保證準確度,提高了本發明的能耗優化策略性能。
需要說明的是,本發明實施例中所有使用「第一」和「第二」的表述均是為了區分兩個相同名稱非相同的實體或者非相同的參量,可見「第一」「第二」僅為了表述的方便,不應理解為對本發明實施例的限定,後續實施例對此不再一一說明。
所屬領域的普通技術人員應當理解:以上任何實施例的討論僅為示例性的,並非旨在暗示本公開的範圍(包括權利要求)被限於這些例子;在本發明的思路下,以上實施例或者不同實施例中的技術特徵之間也可以進行組合,步驟可以以任意順序實現,並存在如上所述的本發明的不同方面的許多其它變化,為了簡明它們沒有在細節中提供。
另外,為簡化說明和討論,並且為了不會使本發明難以理解,在所提供的附圖中可以示出或可以不示出與集成電路(IC)晶片和其它部件的公知的電源/接地連接。此外,可以以框圖的形式示出裝置,以便避免使本發明難以理解,並且這也考慮了以下事實,即關於這些框圖裝置的實施方式的細節是高度取決於將要實施本發明的平臺的(即,這些細節應當完全處於本領域技術人員的理解範圍內)。在闡述了具體細節(例如,電路)以描述本發明的示例性實施例的情況下,對本領域技術人員來說顯而易見的是,可以在沒有這些具體細節的情況下或者這些具體細節有變化的情況下實施本發明。因此,這些描述應被認為是說明性的而不是限制性的。
儘管已經結合了本發明的具體實施例對本發明進行了描述,但是根據前面的描述,這些實施例的很多替換、修改和變型對本領域普通技術人員來說將是顯而易見的。例如,其它存儲器架構(例如,動態RAM(DRAM))可以使用所討論的實施例。
本發明的實施例旨在涵蓋落入所附權利要求的寬泛範圍之內的所有這樣的替換、修改和變型。因此,凡在本發明的精神和原則之內,所做的任何省略、修改、等同替換、改進等,均應包含在本發明的保護範圍之內。