越好,最好不低于一個(gè)月, 監(jiān)測(cè)粒度可以根據(jù)實(shí)際需求,這里以沒(méi)30秒做一個(gè)采樣點(diǎn)為例。每種指標(biāo)需做歸一化處 理。
[0030] I. 1樣本獲取。一般一個(gè)操作系統(tǒng)本身都自帶有性能監(jiān)測(cè)工具,如Windows下的性 能監(jiān)視器,Linux下的top,iostat,vmstat等(top和vmstat可以獲取CPU和內(nèi)存的運(yùn)行 數(shù)據(jù),iostat用來(lái)檢測(cè)磁盤(pán))。在一些分布式系統(tǒng)的集群中也有相應(yīng)的工具,如hadoop中 的gangl ia。對(duì)于一個(gè)集群來(lái)說(shuō),所有節(jié)點(diǎn)需要向主節(jié)點(diǎn)定時(shí)上報(bào)數(shù)據(jù)信息,主節(jié)點(diǎn)做收集 處理和預(yù)測(cè)的工作。
[0031] 1. 2樣本預(yù)處理。所有樣本需要做歸一化處理以消除數(shù)值大小差異:
[0032] X' (X1-XninV(Xnax-X nin)
[0033] 這樣獲得的所有樣本數(shù)據(jù)均分布在0到1之間。X' JP X i分別代表了歸一化之 前和之后的數(shù)據(jù),x_和x_分別代表了原始數(shù)據(jù)中的最大值和最小值。預(yù)測(cè)結(jié)束之后由可 由歸一數(shù)據(jù)還原成真實(shí)數(shù)據(jù):
[0034] X1=Xrx X (Xnax-Xnin)+Xnin
[0035] 步驟2,計(jì)算相關(guān)性。計(jì)算CPU歷史數(shù)據(jù)與其余各性能指標(biāo)的相關(guān)性,相關(guān)性大于 閾值Φ的性能指標(biāo)加入集合A。
[0036] 步驟3,時(shí)間窗口提取。大量隨機(jī)抽取時(shí)間窗口,時(shí)間窗口長(zhǎng)度根據(jù)實(shí)際情況來(lái)設(shè) 定,其中時(shí)間窗口前一部分作為預(yù)測(cè)的輸入,后一部分作為訓(xùn)練時(shí)的預(yù)測(cè)輸出。
[0037] 步驟4,特征提取。即使用三層自編碼神經(jīng)網(wǎng)絡(luò)對(duì)于CPU歷史記錄和集合A中各性 能指標(biāo)進(jìn)行壓縮。自編碼神經(jīng)網(wǎng)絡(luò)就是一個(gè)輸入層與輸出層一樣的神經(jīng)網(wǎng)絡(luò),將它的隱含 層單元設(shè)置得比輸入和輸出層少,也就達(dá)到了特征壓縮提取的目的。因此最后特征提取出 的就是這個(gè)三層網(wǎng)絡(luò)的中間層,它是一個(gè)比輸入層低維的向量。特征提取所需要訓(xùn)練的網(wǎng) 絡(luò)并不需要反復(fù)訓(xùn)練,使用一定的數(shù)據(jù)集訓(xùn)練一次之后所得到的參數(shù)可以一直使用。因此 在大部分時(shí)間里網(wǎng)絡(luò)訓(xùn)練的規(guī)模會(huì)很小。
[0038] 步驟5,特征融合。將上一步得到的各指標(biāo)特征進(jìn)行拼接,再一次輸入到自編碼神 經(jīng)網(wǎng)絡(luò)中,做進(jìn)一步壓縮,最終得到一個(gè)共同的壓縮特征。這個(gè)共享特征盡可能地抽取了多 種指標(biāo)的公共特性。特征融合提取示意圖見(jiàn)圖1。在4,5兩步中需要對(duì)稀疏自編碼網(wǎng)絡(luò)的 參數(shù)進(jìn)行確定,需要調(diào)控的參數(shù)為自編碼網(wǎng)絡(luò)中的稀疏值和隱含層單元數(shù)。這里通過(guò)二維 遍歷的方式,以求得自編碼后,重構(gòu)誤差最小的稀疏值和隱含層單元數(shù)。
[0039] 步驟6,人工干預(yù)。在同樣的時(shí)間窗口上,人對(duì)于可能預(yù)知要發(fā)生熱點(diǎn),及熱點(diǎn)的程 度做出自己的判斷。即在時(shí)間序列上加入人為權(quán)值。這種操作通常直接通過(guò)簡(jiǎn)單的點(diǎn)擊操 作即可完成。加入權(quán)重根據(jù)下式獲得:
[0041] 其中X、〇1、〇2是人為設(shè)定的參數(shù),分別代表了峰值和左右兩測(cè)收斂的速度。根 據(jù)服務(wù)器運(yùn)行服務(wù)不同,左右兩側(cè)影響范圍是視具體情況而設(shè)定的。
[0042] 步驟7,監(jiān)督學(xué)習(xí)。CPU本身經(jīng)過(guò)特征提取后的特征向量,共享特征向量和輸出時(shí) 間段的人工干預(yù)數(shù)值向量進(jìn)行拼接,作為輸入?;瑒?dòng)窗口后一部分序列值作為輸出,使用神 經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。在訓(xùn)練過(guò)程中,需要控制人工干預(yù)所產(chǎn)生的影響,加入稀疏因子。將神經(jīng) 網(wǎng)絡(luò)代價(jià)函數(shù)作出修改,如下式:
[0044] 其中,t代表了 CPU特征向量長(zhǎng)度,s代表了共享特征向量長(zhǎng)度^代表了第i層 單元數(shù)。有監(jiān)督學(xué)習(xí)示意圖見(jiàn)圖2。對(duì)于訓(xùn)練樣本較大的數(shù)據(jù)集需要進(jìn)行這里采用類(lèi)似 L-BFGS算法一樣的快速收斂算法。進(jìn)一步地需要采用online模式來(lái)進(jìn)行網(wǎng)絡(luò)參數(shù)動(dòng)態(tài)調(diào) 整。
[0045] 步驟8,預(yù)測(cè)。根據(jù)前面網(wǎng)絡(luò)訓(xùn)練所得到的各種參數(shù),在實(shí)際操作過(guò)程中需要監(jiān)控 一段時(shí)間CPU的運(yùn)行狀態(tài),同樣的進(jìn)行特征提取和融合最后輸入到最終模型進(jìn)行預(yù)測(cè),得 到預(yù)測(cè)結(jié)果。
[0046] 最后所應(yīng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管參 照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)發(fā)明的 技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在 本發(fā)明的權(quán)利要求范圍當(dāng)中。
【主權(quán)項(xiàng)】
1. 一種云數(shù)據(jù)中心的負(fù)載預(yù)測(cè)方法,其特征在于,該方法包括如下步驟: 步驟1,采集預(yù)測(cè)云數(shù)據(jù)中心的歷史數(shù)據(jù),并進(jìn)行歸一化處理; 步驟2,計(jì)算CPU歷史數(shù)據(jù)與其余各性能指標(biāo)的相關(guān)性,相關(guān)性大于閾值Φ的性能指標(biāo) 加入集合A; 步驟3,時(shí)間窗口提?。弘S機(jī)抽取時(shí)間窗口,時(shí)間窗口長(zhǎng)度根據(jù)實(shí)際情況來(lái)設(shè)定,其中 時(shí)間窗口前一部分作為預(yù)測(cè)的輸入,后一部分作為訓(xùn)練時(shí)的預(yù)測(cè)輸出; 步驟4,特征提?。河萌龑幼跃幋a神經(jīng)網(wǎng)絡(luò)對(duì)于CPU歷史數(shù)據(jù)集合A中各性能指標(biāo)進(jìn)行 壓縮得到各性能指標(biāo)特征; 步驟5,特征融合:將步驟4得到的各性能指標(biāo)特征進(jìn)行拼接后,輸入到自編碼神經(jīng)網(wǎng) 絡(luò)中,做進(jìn)一步壓縮,最終得到一個(gè)共同的壓縮特征; 步驟6,人工干預(yù):在同樣的時(shí)間窗口上,人對(duì)于可能預(yù)知要發(fā)生熱點(diǎn),及熱點(diǎn)的程度 做出自己的判斷,即在時(shí)間序列上加入人為權(quán)值,加入權(quán)重根據(jù)下式獲得:其中X、σρ〇 2是人為設(shè)定的參數(shù),分別代表了峰值和左右兩側(cè)收斂的速度; 步驟7,監(jiān)督學(xué)習(xí):CPU本身經(jīng)過(guò)特征提取后的特征向量,共享特征向量和輸出時(shí)間段 的人工干預(yù)數(shù)值向量進(jìn)行拼接,作為輸入;滑動(dòng)窗口后一部分序列值作為輸出,使用神經(jīng)網(wǎng) 絡(luò)訓(xùn)練;在訓(xùn)練過(guò)程中,控制人工干預(yù)所產(chǎn)生的影響,加入稀疏因子,將神經(jīng)網(wǎng)絡(luò)代價(jià)函數(shù) 作出修改,如下式:其中,t代表了CPU特征向量長(zhǎng)度,s代表了共享特征向量長(zhǎng)度,^代表了第i層單元 數(shù); 步驟8,預(yù)測(cè):根據(jù)前面網(wǎng)絡(luò)訓(xùn)練所得到的各種參數(shù),監(jiān)控一段時(shí)間CPU的運(yùn)行狀態(tài),進(jìn) 行特征提取和融合,最后輸入到最終模型進(jìn)行預(yù)測(cè),得到預(yù)測(cè)結(jié)果。2. 根據(jù)權(quán)利要求1所述的云數(shù)據(jù)中心的負(fù)載預(yù)測(cè)方法,其特征在于,利用數(shù)據(jù)的特征 代替數(shù)據(jù)本身的數(shù)值來(lái)進(jìn)行預(yù)測(cè),所述的歷史數(shù)據(jù)包括CPU歷史數(shù)據(jù)、Memory歷史數(shù)、Disk 歷史數(shù)據(jù)和網(wǎng)絡(luò)I/O歷史數(shù)據(jù),同時(shí)預(yù)測(cè)加入人工干預(yù)模型。
【專(zhuān)利摘要】本發(fā)明公開(kāi)一種云數(shù)據(jù)中心的負(fù)載預(yù)測(cè)方法,包括步驟:采集預(yù)測(cè)云數(shù)據(jù)中心的歷史數(shù)據(jù),并進(jìn)行歸一化處理;計(jì)算CPU歷史數(shù)據(jù)與其余各性能指標(biāo)的相關(guān)性;時(shí)間窗口提取;特征提取;特征融合:將得到的各性能指標(biāo)特征進(jìn)行拼接后,輸入到自編碼神經(jīng)網(wǎng)絡(luò)中,做進(jìn)一步壓縮,最終得到一個(gè)共同的壓縮特征;人工干預(yù);有監(jiān)督學(xué)習(xí);預(yù)測(cè)結(jié)果。本發(fā)明可以發(fā)現(xiàn)潛在的變化信號(hào),從而更加準(zhǔn)確地掌握變化的方向,更加貼合實(shí)際需求,在實(shí)際應(yīng)用中可以提高約5-10%的預(yù)測(cè)準(zhǔn)確率。
【IPC分類(lèi)】G06N3/08, G06Q10/04
【公開(kāi)號(hào)】CN105260794
【申請(qǐng)?zhí)枴緾N201510658479
【發(fā)明人】喬梁, 付周望, 戚正偉
【申請(qǐng)人】上海交通大學(xué)
【公開(kāi)日】2016年1月20日
【申請(qǐng)日】2015年10月12日