朱正偉,劉 晨,黃曉竹,刁小敏
(常州大學(xué) 信息科學(xué)與工程學(xué)院,江蘇 常州 213164)
隨著LTE、4G高速寬帶無(wú)線網(wǎng)絡(luò)的快速覆蓋和智能移動(dòng)終端的快速普及,手機(jī)應(yīng)用程序呈現(xiàn)爆發(fā)式增長(zhǎng),每天有數(shù)萬(wàn)應(yīng)用程序涌現(xiàn)在智能手機(jī)上。應(yīng)用程序的多樣性極大地提高了用戶的體驗(yàn),但是開(kāi)發(fā)者沒(méi)有對(duì)應(yīng)用程序進(jìn)行很好的優(yōu)化,長(zhǎng)時(shí)間的高能耗操作會(huì)迅速消耗電池電量。受手機(jī)存儲(chǔ)容量、處理能力以及電池壽命[1]的限制,盡管同一時(shí)期電池能量密度增長(zhǎng)了3倍[2],但大部分智能手機(jī)續(xù)航能力沒(méi)有得到顯著提升。目前解決上述問(wèn)題的途徑主要有2種,即基于數(shù)據(jù)傳輸調(diào)度的優(yōu)化技術(shù)、基于移動(dòng)網(wǎng)絡(luò)資源分配的優(yōu)化技術(shù)。
基于數(shù)據(jù)傳輸調(diào)度是通過(guò)調(diào)度數(shù)據(jù)傳輸來(lái)降低手機(jī)天線的打開(kāi)時(shí)間,以達(dá)到節(jié)能的目的。文獻(xiàn)[3]提出一種快速休眠和批處理的機(jī)制,在每次傳輸完成后立即關(guān)閉手機(jī)天線,將其RRC調(diào)至低能耗狀態(tài)以達(dá)到節(jié)能的目的。文獻(xiàn)[4]采用Wi-Fi和3G 2種接入網(wǎng)絡(luò)策略,研究手機(jī)系統(tǒng)功耗的變化。發(fā)現(xiàn)在信號(hào)強(qiáng)度弱的時(shí)候傳輸數(shù)據(jù)比在信號(hào)強(qiáng)度強(qiáng)時(shí)傳輸?shù)攘繑?shù)據(jù)更耗能。文獻(xiàn)[5]通過(guò)配置適當(dāng)?shù)腄RX參數(shù)使數(shù)據(jù)接收不連續(xù),以此優(yōu)化手機(jī)用戶的吞吐量來(lái)降低設(shè)備能耗。這些方法會(huì)對(duì)其他數(shù)據(jù)傳輸造成延遲容忍,同時(shí)頻繁的能態(tài)轉(zhuǎn)移會(huì)造成能量的浪費(fèi)。
在考慮到上述工作的應(yīng)用局限性后,一些研究者從移動(dòng)網(wǎng)絡(luò)資源分配機(jī)制入手。文獻(xiàn)[6]在Wi-Fi環(huán)境下,基于用戶活動(dòng)級(jí)別來(lái)智能調(diào)度用戶活動(dòng)以達(dá)到節(jié)電目的。文獻(xiàn)[7]從終端設(shè)備被動(dòng)測(cè)量實(shí)驗(yàn)結(jié)果和在蜂窩網(wǎng)絡(luò)中獲得的QoE人群反饋信息兩個(gè)角度解決了智能手機(jī)中的QoE資源調(diào)配問(wèn)題。這類方法需要對(duì)手機(jī)底層硬件和驅(qū)動(dòng)進(jìn)行修改,因而其應(yīng)用性會(huì)受到較大限制。
上述方法未考慮用戶習(xí)慣,會(huì)對(duì)用戶體驗(yàn)產(chǎn)生嚴(yán)重影響。為降低智能手機(jī)網(wǎng)絡(luò)功耗的同時(shí)保證用戶體驗(yàn),本文針對(duì)用戶行為的特點(diǎn),提出一種面向用戶行為的智能手機(jī)能耗優(yōu)化方法。采集用戶在使用應(yīng)用程序時(shí)產(chǎn)生的行為數(shù)據(jù),分析用戶行為特征,建立應(yīng)用程序網(wǎng)絡(luò)請(qǐng)求最優(yōu)控制的數(shù)學(xué)模型,利用多背包算法求解該模型,約束屏幕關(guān)閉狀態(tài)下應(yīng)用程序的網(wǎng)絡(luò)訪問(wèn)量,減少不必要的損耗,從而延長(zhǎng)電池的工作時(shí)間。
智能手機(jī)用戶行為特征分析主要是對(duì)用戶進(jìn)行聚類,可以根據(jù)手機(jī)用戶使用的4G網(wǎng)絡(luò)訪問(wèn)各應(yīng)用程序產(chǎn)生的日志來(lái)分析用戶行為。通過(guò)相關(guān)統(tǒng)計(jì)軟件獲取數(shù)據(jù),然后對(duì)這些數(shù)據(jù)進(jìn)行分析,預(yù)測(cè)應(yīng)用程序?qū)τ谟脩舻闹匾浴?/p>
調(diào)查顯示超過(guò)73%的智能手機(jī)用戶經(jīng)常瀏覽網(wǎng)頁(yè),超過(guò)70%的智能手機(jī)用戶使用聊天工具,其次為影音播放器、游戲軟件、辦公軟件等[8]。而智能手機(jī)用戶對(duì)各類應(yīng)用程序的使用時(shí)間相對(duì)均衡,每天使用時(shí)間最長(zhǎng)的應(yīng)用是即時(shí)通信,占上網(wǎng)時(shí)間的26.1%,12.4%的時(shí)間使用瀏覽器,其次是在線視頻、游戲等[9]。用戶常用的應(yīng)用程序類型如圖1所示。
圖1 用戶常用應(yīng)用程序類型
為了采集具有網(wǎng)絡(luò)活動(dòng)的應(yīng)用程序的相關(guān)數(shù)據(jù),不同于文獻(xiàn)[10]通過(guò)將功率監(jiān)控器連接到智能手機(jī)上來(lái)獲取數(shù)據(jù),本文將應(yīng)用定時(shí)器2、程序流量狀態(tài)這2個(gè)軟件安裝在8名不同年齡和職業(yè)的用戶的智能手機(jī)上,進(jìn)行為期一個(gè)月的追蹤調(diào)查,統(tǒng)計(jì)出各應(yīng)用程序的使用次數(shù)、使用時(shí)長(zhǎng)、耗費(fèi)的網(wǎng)絡(luò)流量占一天中所用程序的比例。
通過(guò)對(duì)這8位智能手機(jī)用戶為期一個(gè)月的追蹤調(diào)查,收集并理解用戶行為數(shù)據(jù),發(fā)現(xiàn)在屏幕關(guān)閉狀態(tài)下,手機(jī)在后臺(tái)仍然參與不同的網(wǎng)絡(luò)活動(dòng)成為用戶使用智能手機(jī)應(yīng)用程序的顯著特征。如圖2所示,屏幕關(guān)閉下的網(wǎng)絡(luò)活動(dòng)占所有網(wǎng)絡(luò)活動(dòng)的40.98%[11]。如文獻(xiàn)[3]所闡述的,屏幕關(guān)閉后的網(wǎng)絡(luò)活動(dòng)是低響應(yīng)的,并且是可以被積極優(yōu)化的。
圖2 網(wǎng)絡(luò)活動(dòng)分析
(1)
(2)
從獲取的數(shù)據(jù)里抽取樣本進(jìn)行計(jì)算分析,其中,2個(gè)樣本的數(shù)據(jù)集如表1所示。
表1 應(yīng)用程序3個(gè)屬性的2個(gè)樣本數(shù)據(jù)集
以用戶8使用的應(yīng)用程序QQ為例,其時(shí)長(zhǎng)比例的候選劃分點(diǎn)集合包含14個(gè)候選值:T時(shí)長(zhǎng)比例={0.066 3,0.080 9,0.082 4,0.085 5,0.088 5,0.104 4,0.109 8,0.112 3,0.121 1,0.122 3,0.122 4,0.123 9,0.125 2,0.129 0}。由式(2)可計(jì)算出屬性“時(shí)長(zhǎng)比例”的信息增益Gain(D1,a)為0.579 9,對(duì)應(yīng)于劃分點(diǎn)0.080 9。類似地,次數(shù)比例的信息增益Gain(D2,a)和網(wǎng)絡(luò)流量比例的信息增益Gain(D3,a)也可依次算出?!皶r(shí)長(zhǎng)比例”被選作根結(jié)點(diǎn)劃分屬性,“次數(shù)比例”為中間結(jié)點(diǎn),之后的劃分過(guò)程以遞歸的形式進(jìn)行,最終生成如圖3所示的決策樹(shù)。
圖3 以用戶8為例生成的決策樹(shù)
應(yīng)用程序的重要性指標(biāo)值計(jì)算公式如下:
(3)
其中,Gain(Di1,a)、Gain(Di2,a)、Gain(Di3,a)分別代表應(yīng)用程序的時(shí)長(zhǎng)比例增益、次數(shù)比例增益和網(wǎng)絡(luò)流量比例增益。應(yīng)用程序重要性的指標(biāo)值與應(yīng)用程序的3個(gè)屬性的信息增益有關(guān)。
節(jié)約電能主要來(lái)源于減少屏幕關(guān)閉狀態(tài)下應(yīng)用的網(wǎng)絡(luò)活動(dòng)而減少蜂窩數(shù)據(jù)的開(kāi)啟時(shí)間,即管理應(yīng)用程序的網(wǎng)絡(luò)請(qǐng)求[10]。首先預(yù)測(cè)屏幕關(guān)閉時(shí)的網(wǎng)絡(luò)活躍時(shí)間段,屏幕關(guān)閉時(shí)網(wǎng)絡(luò)活躍時(shí)間段指的是當(dāng)屏幕關(guān)閉狀態(tài)下,仍然有數(shù)據(jù)通過(guò)移動(dòng)網(wǎng)絡(luò)傳輸?shù)臅r(shí)間段。假設(shè)有k天的記錄,定義時(shí)間段ti作為屏幕關(guān)閉狀態(tài)下的網(wǎng)絡(luò)活躍時(shí)間段,當(dāng)且僅當(dāng)ti滿足:
(4)
其中,P(ti)為時(shí)間段ti內(nèi)使用網(wǎng)絡(luò)的概率,U(ti)j為觀測(cè)數(shù)據(jù)里第j天m個(gè)應(yīng)用程序在時(shí)間段ti的網(wǎng)絡(luò)活動(dòng),時(shí)間段集合Tn表示所有滿足式(4)的網(wǎng)絡(luò)活躍時(shí)間段ti的集合。對(duì)于Tn中每一個(gè)ti,它的容量定義為:
C(ti)=Bandwidth·ti
(5)
其中,Bandwidth是運(yùn)營(yíng)商提供的頻帶寬度,給定n個(gè)應(yīng)用程序,建立應(yīng)用程序網(wǎng)絡(luò)請(qǐng)求最優(yōu)控制的數(shù)學(xué)模型,見(jiàn)式(6)和式(7),其中式(6)滿足式(7)。
(6)
(7)
為求解該模型,本文將其轉(zhuǎn)化成多背包問(wèn)題[15]。其中,Xij=1表示物體i屬于背包j,反之Xij=0表示不屬于。每一個(gè)網(wǎng)絡(luò)活動(dòng)ni表示一個(gè)應(yīng)用程序,Cj為m個(gè)背包的容量,對(duì)于每一個(gè)ti∈Tn,本文創(chuàng)造一個(gè)獨(dú)立的項(xiàng)目集。其數(shù)據(jù)傳輸/接收數(shù)據(jù)模型,如下:
(8)
對(duì)于每一個(gè)ti,它表示一個(gè)背包,C(ti)為背包ti的容量,每個(gè)項(xiàng)目的重要性為ΔIni,該網(wǎng)絡(luò)活動(dòng)的權(quán)重為w(ni),即ti時(shí)間段中數(shù)據(jù)傳輸/接收的總和。多背包問(wèn)題是一種組合優(yōu)化問(wèn)題,具有最優(yōu)子結(jié)構(gòu)性質(zhì)[16],用子問(wèn)題定義狀態(tài),建立網(wǎng)絡(luò)活動(dòng)的狀態(tài)轉(zhuǎn)移方程:設(shè)有n個(gè)應(yīng)用程序,v[i][w]為最優(yōu)解,其遞歸式見(jiàn)式(9)。對(duì)于初始狀態(tài),v[0,w]表示雖然手機(jī)網(wǎng)絡(luò)開(kāi)啟但不允許任何應(yīng)用程序運(yùn)行,同樣的v[i,0]表示數(shù)據(jù)連接關(guān)閉,應(yīng)用程序仍然無(wú)法運(yùn)行。
(9)
根據(jù)上述討論,本文使用與決策樹(shù)匹配的多背包算法來(lái)控制屏幕關(guān)閉狀態(tài)下的應(yīng)用程序網(wǎng)絡(luò)請(qǐng)求。根據(jù)用戶行為分析得到的應(yīng)用程序的重要性指標(biāo)值和應(yīng)用程序的網(wǎng)絡(luò)流量能耗,限制屏幕關(guān)閉時(shí)網(wǎng)絡(luò)活躍時(shí)間段內(nèi)可以運(yùn)行的應(yīng)用程序數(shù)量。偽代碼如下。
算法多背包問(wèn)題算法
輸入w←0表示應(yīng)用程序重要性的集合,w←0為應(yīng)用程序權(quán)重的集合
輸出屏幕關(guān)閉時(shí)網(wǎng)絡(luò)活動(dòng)時(shí)段運(yùn)行的應(yīng)用程序數(shù)量
for w←0 to C(ti) do
v[0,w]←0
end for
for i←1 to n do
v[i,0]←0
for w←1 to C(ti)do
if wni≤w then
if ΔIni+v[i-1,w-wni]>v[i-1,w] then
v[i,w]←ΔIni+v[i-1,w-wni]
else
v[i,w]←v[i-1,w]
end if
else
v[i,w]←v[i-1,w]
end if
end for
end for
return [n,C(ti)]
以上方法的時(shí)間和空間復(fù)雜度均為O(nC(ti)),其中,時(shí)間復(fù)雜度不能再優(yōu)化,但空間復(fù)雜度卻可以優(yōu)化到0??紤]權(quán)重至多為W的網(wǎng)絡(luò)活動(dòng),如果本文從最優(yōu)網(wǎng)絡(luò)活動(dòng)項(xiàng)目中去掉某應(yīng)用程序j的權(quán)重w,則余下的項(xiàng)目必須是可以從n-1個(gè)原有應(yīng)用程序和應(yīng)用程序j的wj-w中可帶走的,權(quán)重至多為W-wj的重要性指標(biāo)值最高的一個(gè)應(yīng)用程序。在背包問(wèn)題中不會(huì)滿足所有應(yīng)用程序的活動(dòng),空余的空間就降低了網(wǎng)絡(luò)活動(dòng)所需要的能耗。按上述算法計(jì)算后,可求得時(shí)間段ti內(nèi)可以運(yùn)行的應(yīng)用程序數(shù)量n(ti),定義時(shí)間段ti內(nèi)所有發(fā)出網(wǎng)絡(luò)請(qǐng)求的應(yīng)用程序數(shù)量表示為N(ti)。式(10)為該優(yōu)化方法的干擾率,式(11)為能耗優(yōu)化百分比。
(10)
(11)
為了更深入地闡述面向用戶行為的智能手機(jī)能耗優(yōu)化方法的意義和作用,通過(guò)實(shí)驗(yàn)驗(yàn)證本文所提方法的準(zhǔn)確性和有效性。
本文實(shí)驗(yàn)在Android5.1及更高版本的平臺(tái)上對(duì)該優(yōu)化方法進(jìn)行測(cè)試。從8名智能手機(jī)用戶中選出5位使用模式存在較大差異的用戶來(lái)進(jìn)行對(duì)比試驗(yàn),測(cè)試手機(jī)平臺(tái)分別是HUAWEI榮耀i7、HUAWEI榮耀5X、Samsung galaxy、Meizu MX6和小米手機(jī)4。
本次實(shí)驗(yàn)中設(shè)置背包容量C為1 024 MB,考慮到應(yīng)用程序的網(wǎng)絡(luò)能耗都比較大,并且參考文獻(xiàn)[17]對(duì)應(yīng)用程序能耗的分析,容量設(shè)置的過(guò)大或過(guò)小對(duì)屏幕關(guān)閉后應(yīng)用程序的網(wǎng)絡(luò)請(qǐng)求的約束產(chǎn)生影響,導(dǎo)致能耗優(yōu)化效果不明顯,甚至影響用戶體驗(yàn)。
采集用戶使用應(yīng)用程序的相關(guān)數(shù)據(jù),根據(jù)上述生成決策樹(shù)的方法預(yù)測(cè)應(yīng)用程序?qū)τ谟脩羰欠裰匾?并利用式(3)計(jì)算出重要性的指標(biāo)值。5位用戶使用的應(yīng)用程序的重要性指標(biāo)值如表2所示。
表2 應(yīng)用程序的重要性指標(biāo)
從圖4可以看出,在為期4周的測(cè)試中,不同用戶的電能節(jié)省量也不相同,該能耗優(yōu)化方法平均可以節(jié)省電能38.4%。其中,用戶4為重度用戶,利用此方法可以節(jié)省至少25%的電能。此外,通過(guò)實(shí)驗(yàn)可以得到能夠在屏幕關(guān)閉狀態(tài)下進(jìn)行網(wǎng)絡(luò)活動(dòng)的應(yīng)用程序的數(shù)量,并利用式(10)對(duì)此數(shù)據(jù)進(jìn)行處理,發(fā)現(xiàn)不同用戶的干擾率都維持在11%以內(nèi)。
圖4 不同用戶的手機(jī)節(jié)能百分比
作為對(duì)比,采用文獻(xiàn)[3]提出的延遲批處理方案即將網(wǎng)絡(luò)活動(dòng)推遲一定的時(shí)間間隔進(jìn)行測(cè)試。在實(shí)驗(yàn)中,選用從1 s~600 s的不同時(shí)間間隔,但隨著延時(shí)間隔的增加,該方案對(duì)用戶的干擾率也在上升。為了盡可能地減少對(duì)用戶體驗(yàn)的影響,本文使用10 s和20 s作為測(cè)試間隔,結(jié)果如圖5所示。
圖5 不同情況下的節(jié)能百分比
圖5展示了延遲批處理方案與本文提出的能耗優(yōu)化方法的節(jié)能效果對(duì)比情況。從實(shí)驗(yàn)對(duì)比結(jié)果可以看到,通過(guò)延遲方案獲得的平均節(jié)能百分比為18.5%,本文提出的能耗優(yōu)化方法的平均節(jié)能百分比維持在38.4%左右,相比于延遲方案提高了19.9%。因此,本文提出的面向用戶行為的智能手機(jī)能耗優(yōu)化方法限制了重要性指標(biāo)值低的應(yīng)用程序在屏幕關(guān)閉后的網(wǎng)絡(luò)活動(dòng),減少了這些應(yīng)用程序運(yùn)行時(shí)需要的能耗,滿足了降低手機(jī)能耗的要求。
本文提出一種面向用戶行為的智能手機(jī)能耗優(yōu)化方法,獲取了大規(guī)模真實(shí)用戶數(shù)據(jù),利用數(shù)據(jù)分類、歸納生成決策樹(shù),計(jì)算出應(yīng)用程序重要性的指標(biāo)值,并建立了基于多背包算法的應(yīng)用程序網(wǎng)絡(luò)請(qǐng)求最優(yōu)控制的數(shù)學(xué)模型。實(shí)驗(yàn)結(jié)果表明,該方法的節(jié)能百分比得到提高,明顯優(yōu)于批處理、延遲容忍等方法,并能兼顧用戶體驗(yàn)。由于用戶使用習(xí)慣多種多樣,獲取用戶真實(shí)數(shù)據(jù)受限較大,因此目前只能對(duì)使用習(xí)慣相似的用戶進(jìn)行跟蹤調(diào)查,下一步將擴(kuò)展用戶群體,進(jìn)一步提高優(yōu)化方法的精確度。
[1] TAWALBEH M,EARDLEY A,TAWALBEH L.Studying the energy consumption in mobile devices[J].Procedia Computer Science,2016,94:183-189.
[2] CASAS R,CASAS O.Battery sensing for energy aware system design[J].Computer,2005,38(11):48-54.
[3] HUANG Junxian,QIAN Feng,MAO Zhangqing,et al.Screen-off traffic characterization and optimization in 3G/4G networks[J].ACM Conference on Internet Measurement Conference,2012:50(1):357-364.
[4] DING Ning,WAGNER D,CHEN Xiaomen,et al.Characterizing and modeling the impact of wireless signal strength on smartphone battery drain[J].ACM Sigmetrics Performance Evaluation Review,2013,41(1):29-40.
[5] KOLDING T,WIGARD J,DALSGAARD L.Balancing power saving and single user experience with discontinuous reception in LTE[C]//Proceedings of IEEE International Symposium on Wireless Communication Systems.Washington D.C.,USA:IEEE Press,2008:713-717.
[6] VISHAL K,BANSAL R,NAMBOODIRI A M,et al.Providing services on demand by user action modeling on smart phones[C]//Proceedings of UbiComp’14.New York,USA:ACM Press,2014:167-170.
[7] CASAS P,GARDLO B,SEUFERT M,et al.Taming QoE in cellular networks:from subjective lab studies to measurements in the field[C]//Proceedings of Inter-national Conference on Network and Service Management.Washington D.C.,USA:IEEE Press,2015:237-245.
[8] 騰訊科技.智能手機(jī)用戶使用習(xí)慣調(diào)查報(bào)告[EB/OL].[2016-12-11].http://www.techweb.com.cn/data/2011-12-01/1125983_3.shtml.
[9] 易觀智庫(kù).2015年中國(guó)移動(dòng)互聯(lián)網(wǎng)用戶行為統(tǒng)計(jì)[EB/OL].[2016-11-21].http://www.askci.com/news/chanye/2015/05/11/171144sd8m.shtml.
[10] 段林濤,郭 兵,沈 艷,等.Android應(yīng)用程序能耗分析與建模[J].電子科技大學(xué)學(xué)報(bào),2014,43(2):272-277.
[11] ZHANG Yi,HE Yuan,WU Xiaopei,et al.Net Master:taming energy devourers on smartphones[C]//Proceedings of the 43rd International Conference on Parallel Processing.Washington D.C.,USA:IEEE Press,2014:301-310.
[12] YANG Yi,CHEN Wenguang.Taiga:performance optimiza-tion of the C4.5 decision tree construction algorithm[J].Tsinghua Science & Technology,2016,21(4):415-425.
[13] GILAD K,ASAF S,LIOR R,et al.ConfDTree:a statistical method for improving decision trees[J].Journal of Computer Science & Technology,2014,29(3):392-407.
[14] 黃宇達(dá),王迤冉.基于樸素貝葉斯與ID3算法的決策樹(shù)分類法[J].計(jì)算機(jī)工程,2012,38(14):41-43.
[15] 王熙照,賀毅朝.求解背包問(wèn)題的演化算法[J].軟件學(xué)報(bào),2017,28(1):1-16.
[16] QIN Lei,ZHOU Kang.An improved artificial fish school algorithm for multi-knapsack problem[J].Bulletin of Science and Technology,2016,32(6):166-171.
[17] PATHAK A,HU Y C,ZHANG M.Where is the energy spent inside my App[C]//Proceedings of the 7th ACM Conference on Computer Systems.New York,USA:ACM Press,2012:29-42.