盧思安,侯國(guó)慶
(1. 內(nèi)蒙古農(nóng)業(yè)大學(xué)計(jì)算機(jī)與信息工程學(xué)院,內(nèi)蒙古 呼和浩特 010018;2. 內(nèi)蒙古農(nóng)業(yè)大學(xué)經(jīng)濟(jì)管理學(xué)院,內(nèi)蒙古 呼和浩特 010018)
在網(wǎng)絡(luò)服務(wù)快速穩(wěn)定發(fā)展的大環(huán)境下,云計(jì)算技術(shù)的應(yīng)用隨著計(jì)算資源需求量的提升而逐漸普及[1],該技術(shù)以分布式并行計(jì)算、網(wǎng)絡(luò)負(fù)載均衡、網(wǎng)格計(jì)算、網(wǎng)絡(luò)存儲(chǔ)等技術(shù)為核心[2],通過(guò)云計(jì)算平臺(tái)控制不同硬件設(shè)備協(xié)同運(yùn)行,完成資源調(diào)度、業(yè)務(wù)訪(fǎng)問(wèn)與數(shù)據(jù)存儲(chǔ)等功能,提升硬件設(shè)備工作效率[3]。作為資源調(diào)度的基礎(chǔ),云計(jì)算資源負(fù)載的預(yù)測(cè)領(lǐng)域云計(jì)算資源研究的主要內(nèi)容之一[4]。
針對(duì)當(dāng)前普遍使用的基于鯨魚(yú)算法等云計(jì)算資源負(fù)載預(yù)測(cè)方法不能有效體現(xiàn)負(fù)載動(dòng)態(tài)波動(dòng)情況等問(wèn)題[5],研究基于大數(shù)據(jù)分析技術(shù)的云計(jì)算資源預(yù)測(cè)方法,利用混沌分析算法分析負(fù)載時(shí)間序列,生成學(xué)習(xí)樣本,利用支持向量機(jī)構(gòu)建預(yù)測(cè)模型,實(shí)現(xiàn)云計(jì)算資源的準(zhǔn)確預(yù)測(cè)。
基于大數(shù)據(jù)分析技術(shù)的云計(jì)算資源預(yù)測(cè)過(guò)程集合大數(shù)據(jù)分析技術(shù)中的時(shí)間序列混沌分析方法與支持向量機(jī)模型構(gòu)建云計(jì)算資源預(yù)測(cè)模型,該模型構(gòu)建過(guò)程如圖1所示。
圖1 云計(jì)算資源預(yù)測(cè)模型
云計(jì)算資源預(yù)測(cè)模型構(gòu)建過(guò)程中,在海量云計(jì)算資源負(fù)載的時(shí)間序列數(shù)據(jù)內(nèi)任意選取一個(gè)時(shí)間序列數(shù)據(jù);采用時(shí)間序列混沌分析方法對(duì)所選數(shù)據(jù)進(jìn)行預(yù)處理[6],通過(guò)互相關(guān)方法確定時(shí)間序列相空間重構(gòu)的最佳嵌入維和延遲時(shí)間;依照最佳嵌入維和延遲時(shí)間構(gòu)建一個(gè)多維時(shí)間序列,將該多維時(shí)間序列作為學(xué)習(xí)樣本;采用支持向量機(jī)訓(xùn)練學(xué)習(xí)樣本,構(gòu)建預(yù)測(cè)模型,實(shí)現(xiàn)海量數(shù)據(jù)預(yù)測(cè)。
以x={xi|i=1,2,…,N}表示一個(gè)初始云計(jì)算資源負(fù)載的時(shí)間序列,其中xi和N分別表示第i個(gè)樣本和時(shí)間序列內(nèi)的樣本數(shù)量。依照塔肯斯理論[7],經(jīng)由判斷嵌入維m與延遲時(shí)間t′能夠確定初始云計(jì)算資源負(fù)載的時(shí)間序列的動(dòng)力學(xué)特性[8],公式描述如下:
(1)
式(1)內(nèi),M=N-(m-1)t′表示相空間內(nèi)的點(diǎn)數(shù)。
分析式(1)得到,時(shí)間序列相空間重構(gòu)的核心在于m與t′。確定m與t′的方法較多,但互相關(guān)方法具有較高的通用性[9],利用該方法能夠同時(shí)確定m值與t′值,由此在進(jìn)行云計(jì)算資源負(fù)載時(shí)間序列數(shù)據(jù)相空間重構(gòu)時(shí)的可采用互相關(guān)方法。
將初始云計(jì)算資源負(fù)載的時(shí)間序列分為子序列,利用式(2)描述互相關(guān)方法的關(guān)聯(lián)積分
(2)
(3)
利用式(4)表示序列x={xi}的檢驗(yàn)統(tǒng)計(jì)量
C(m,N,r,t)=C(m,N,r,t)-Cm(m,N,r,t)
(4)
式(4)內(nèi),r為x={xi}的半徑。
劃分x={xi|i=1,2,…,N}能夠獲取t個(gè)子序列,由此得到
(5)
依據(jù)分塊均值方法確定式(5)的統(tǒng)計(jì)量[10],公式描述如下
(6)
式(6)內(nèi),r表示隨機(jī)兩點(diǎn)間的距離。
設(shè)定N→∞,由此得到
(7)
在x={xi|i=1,2,…,N}長(zhǎng)度無(wú)窮大的條件下,所有S(m,r,t)值為0,但現(xiàn)實(shí)環(huán)境里,x={xi|i=1,2,…,N}長(zhǎng)度并不是無(wú)窮大的,所以S(m,r,t)值不為0,通過(guò)局部最大時(shí)間間隔法確定r最小的時(shí)間點(diǎn)[11],得到
ΔS1(m,t)=max{S1(m,rj,t,N)}
min{S1(m,rj,t,N)}
(8)
使(8)內(nèi),rj表示第j個(gè)半徑值。
由式(8)得到,最佳t′為ΔS1(m,t)—t間第一個(gè)局部極小值,由此可得
(9)
(10)
t′w=(m-1)t′
(11)
依照最佳嵌入維和延遲時(shí)間構(gòu)建一個(gè)多維時(shí)間序列,以此為學(xué)習(xí)樣本利用支持向量機(jī)訓(xùn)練學(xué)習(xí)樣本,構(gòu)建預(yù)測(cè)模型,完成預(yù)測(cè)目的。
以?(x)表示非線(xiàn)性映射函數(shù),利用?(x)將學(xué)習(xí)樣本映射至高維特征空間內(nèi)[12],在高維空間內(nèi)實(shí)施線(xiàn)性回歸處理,以式(12)表示支持向量機(jī)回歸函數(shù)
f(x)=w·?(x)+b
(12)
式(12)內(nèi),w和b分別表示權(quán)向量和偏置向量。依照最低風(fēng)險(xiǎn)需求[13],利用式(13)所示的優(yōu)化問(wèn)題描述式(12)
(13)
(14)
(15)
利用核函數(shù)K(xi,x)取代(?(xi),?(x)),得到
(16)
選取徑向基核函數(shù)作為支持向量機(jī)核函數(shù),由此得到:
(17)
式(17)內(nèi),σ表示徑向基核函數(shù)寬度參數(shù)。
由式(16)、(17)得到,通過(guò)確定最優(yōu)支持向量?jī)蓚€(gè)參數(shù)H和σ,確定相應(yīng)的f(x)函數(shù)值,即可實(shí)現(xiàn)云計(jì)算資源負(fù)載預(yù)測(cè)模型構(gòu)建的目的。參數(shù)H和σ直接影響模型的質(zhì)量,因此采用蝙蝠算法[15]優(yōu)化參數(shù)H和σ,具體優(yōu)化過(guò)程如圖2所示。
圖2 蝙蝠算法優(yōu)化支持向量機(jī)模型參數(shù)過(guò)程
實(shí)驗(yàn)為驗(yàn)證本文所研究的基于大數(shù)據(jù)分析技術(shù)的云計(jì)算資源預(yù)測(cè)方法的應(yīng)用性,選取某云計(jì)算系統(tǒng)內(nèi)CPU單分鐘內(nèi)的負(fù)載歷史數(shù)據(jù)為測(cè)試對(duì)象,其具體情況如圖3所示。采用MATLAB軟件為仿真工具,驗(yàn)證本文方法的應(yīng)用性。
圖3 測(cè)試對(duì)象圖
Lyapunov指數(shù)法是一種定性分析時(shí)間序列的混沌性方法,采用該方法分析測(cè)試對(duì)象混沌特性,通過(guò)傅立葉變換處理測(cè)試對(duì)象,確定測(cè)試對(duì)象平均軌道周期。利用本文方法確定測(cè)試對(duì)象的最佳嵌入維與延遲時(shí)間,獲取重構(gòu)后的測(cè)試對(duì)象多維時(shí)間序列。確定序列內(nèi)各點(diǎn)的離散時(shí)間和鄰近點(diǎn)距離,并求解均值。
通過(guò)上述過(guò)程確定Lyapunov指數(shù)為0.0996,該值大于0,因此能夠說(shuō)明圖3所示的測(cè)試對(duì)象存在混沌特性。采用本文方法分析測(cè)試對(duì)象的最佳嵌入維與延遲時(shí)間所得結(jié)果如圖4所示。由此得到,最佳延遲時(shí)間為8,最佳嵌入窗為12,據(jù)此得到最優(yōu)嵌入維數(shù)為3。
以測(cè)試對(duì)象時(shí)間序列分析所得的各項(xiàng)參數(shù)為基礎(chǔ)構(gòu)建測(cè)試對(duì)象負(fù)載學(xué)習(xí)樣本,以圖3內(nèi)數(shù)據(jù)的最后10s為測(cè)試樣本,錢(qián)50s數(shù)據(jù)點(diǎn)為訓(xùn)練樣本進(jìn)行學(xué)習(xí),構(gòu)建預(yù)測(cè)模型,進(jìn)行單步預(yù)測(cè)和多步預(yù)測(cè),所得結(jié)果如圖5所示。
分析圖5(a)內(nèi)的單步預(yù)測(cè)結(jié)果得到,本文模型能夠有效地跟蹤測(cè)試對(duì)象的變化趨勢(shì),獲取高精度的測(cè)試對(duì)象預(yù)測(cè)結(jié)果。
圖5 預(yù)測(cè)結(jié)果
由于云計(jì)算資源負(fù)載預(yù)測(cè)的主要目的是預(yù)測(cè)未來(lái)固定時(shí)間內(nèi)負(fù)載的波動(dòng)情況,而單步預(yù)測(cè)的結(jié)果通常僅體現(xiàn)下一時(shí)刻負(fù)載的情況,無(wú)法體現(xiàn)長(zhǎng)時(shí)間的波動(dòng)情況,因此需要進(jìn)行多步預(yù)測(cè)。
分析圖5(b)所示的多步預(yù)測(cè)結(jié)果得到,采用本文方法進(jìn)行多步預(yù)測(cè)所得結(jié)果與單步預(yù)測(cè)所得結(jié)果相比較差,但依舊能夠較好地呈現(xiàn)測(cè)試對(duì)象的波動(dòng)情況,預(yù)測(cè)結(jié)果能夠?yàn)闇y(cè)試對(duì)象管理提供有效的輔助。
以平均絕對(duì)誤差、均方根誤差、均方誤差和均方根誤差為評(píng)價(jià)指標(biāo),評(píng)價(jià)本文方法對(duì)1小時(shí)和2小時(shí)間隔的預(yù)測(cè)結(jié)果,所得結(jié)果如表1所示。
表1 不同時(shí)間間隔的預(yù)測(cè)結(jié)果
分析表1得到,在不同時(shí)間間隔條件下,本文方法均可精準(zhǔn)地預(yù)測(cè)測(cè)試對(duì)象負(fù)載值,由此說(shuō)明本文方法具有較好的泛化能力。
本文研究基于大數(shù)據(jù)分析技術(shù)的云計(jì)算資源預(yù)測(cè)方法,對(duì)云計(jì)算資源負(fù)載進(jìn)行預(yù)測(cè),所得結(jié)果顯示本文方法能夠準(zhǔn)確預(yù)測(cè)短時(shí)間內(nèi)的負(fù)載情況,而針對(duì)長(zhǎng)時(shí)間的負(fù)載預(yù)測(cè)也能夠得到較好的效果,預(yù)測(cè)結(jié)果能夠?yàn)闇y(cè)試對(duì)象管理提供有效的輔助。