本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別是涉及基于移動(dòng)平均和神經(jīng)網(wǎng)絡(luò)的虛擬機(jī)負(fù)載預(yù)測(cè)方法和系統(tǒng)。
背景技術(shù):
名詞解釋:
基礎(chǔ)設(shè)施即服務(wù):英文縮寫(xiě)iaas,將虛擬機(jī)、存儲(chǔ)空間、數(shù)據(jù)庫(kù)等基礎(chǔ)設(shè)施作為服務(wù),以虛擬機(jī)的形式,提供給用戶使用;
虛擬機(jī):指通過(guò)軟件模擬的具有完整硬件系統(tǒng)功能的、運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng);
負(fù)載:某一時(shí)刻虛擬機(jī)的內(nèi)存使用量、或cpu使用量、或網(wǎng)絡(luò)帶寬使用量等;
二次移動(dòng)平均法:將觀察期的數(shù)據(jù)由遠(yuǎn)而近按一定跨越期進(jìn)行一次移動(dòng)平均,然后在一次平均值的基礎(chǔ)上進(jìn)行第二次移動(dòng)平均計(jì)算,得到最終的預(yù)測(cè)值;
rbf神經(jīng)網(wǎng)絡(luò):使用徑向基函數(shù)作為隱層節(jié)點(diǎn)激活函數(shù)的一種神經(jīng)網(wǎng)絡(luò),具有訓(xùn)練時(shí)間短、數(shù)學(xué)解釋性好、能夠逼近任意函數(shù)的特點(diǎn)。
基礎(chǔ)設(shè)施即服務(wù)(iaas)云中,為了使iaas云在節(jié)省能源消耗的情況下始終保持理想的運(yùn)行狀態(tài),iaas云平臺(tái)需要根據(jù)實(shí)際運(yùn)行情況,自動(dòng)自發(fā)地調(diào)整虛擬機(jī)部署,自發(fā)進(jìn)行虛擬機(jī)調(diào)度。對(duì)于云平臺(tái)未來(lái)運(yùn)行負(fù)載情況的預(yù)測(cè),能夠?yàn)樘摂M機(jī)調(diào)度提供有力的量化依據(jù),為虛擬機(jī)調(diào)度提供更高的能動(dòng)性和靈活性。因此對(duì)未來(lái)一段時(shí)間內(nèi)的云環(huán)境虛擬機(jī)負(fù)載情況進(jìn)行預(yù)測(cè),具有其必要性。
現(xiàn)有技術(shù)采用的虛擬機(jī)負(fù)載預(yù)測(cè)方法,多為根據(jù)待預(yù)測(cè)時(shí)刻前若干個(gè)時(shí)刻的連續(xù)負(fù)載情況,構(gòu)造時(shí)間序列,并采用一定的數(shù)學(xué)計(jì)算方法(如指數(shù)平滑法、模板匹配等方法),計(jì)算待預(yù)測(cè)時(shí)刻的負(fù)載預(yù)測(cè)情況。然而,云環(huán)境下的負(fù)載存在突然變化的情況,即它的變化不是緩步平滑上升或下降的;但是在私有iaas環(huán)境下,虛擬機(jī)的負(fù)載又具有一定的周期規(guī)律性,在某一具體時(shí)刻具有偏高或偏低的負(fù)載水平慣性?,F(xiàn)有技術(shù)忽略了每個(gè)具體時(shí)刻的負(fù)載水平慣性,使得預(yù)測(cè)模塊不能及時(shí)的預(yù)知待預(yù)測(cè)時(shí)刻的突變可能,導(dǎo)致預(yù)測(cè)具有一定的滯后性。另外,如果只采用分時(shí)段的預(yù)測(cè)方式,對(duì)于某一異常日,預(yù)測(cè)方法不能獲知當(dāng)天的異常狀況,依舊根據(jù)原本的規(guī)律進(jìn)行預(yù)測(cè)計(jì)算,得到的預(yù)測(cè)結(jié)果會(huì)因?yàn)槊撾x了當(dāng)日實(shí)際的虛擬機(jī)運(yùn)行情況,導(dǎo)致較嚴(yán)重的過(guò)高或過(guò)低預(yù)測(cè),導(dǎo)致資源嚴(yán)重浪費(fèi),或者由于預(yù)測(cè)不足導(dǎo)致云平臺(tái)動(dòng)蕩。
總的來(lái)說(shuō),目前的虛擬機(jī)負(fù)載預(yù)測(cè)方法存在一定的滯后性,及時(shí)性差,而且預(yù)測(cè)準(zhǔn)確度、靈活度較低。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述的技術(shù)問(wèn)題,本發(fā)明的目的是提供基于移動(dòng)平均和神經(jīng)網(wǎng)絡(luò)的虛擬機(jī)負(fù)載預(yù)測(cè)方法,本發(fā)明的另一目的是提供基于移動(dòng)平均和神經(jīng)網(wǎng)絡(luò)的虛擬機(jī)負(fù)載預(yù)測(cè)系統(tǒng)。
本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:
基于移動(dòng)平均和神經(jīng)網(wǎng)絡(luò)的虛擬機(jī)負(fù)載預(yù)測(cè)方法,包括步驟:
s1、采集待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù)以及待預(yù)測(cè)時(shí)段之前的連續(xù)負(fù)載數(shù)據(jù);
s2、獲取待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù),并使用二次移動(dòng)平均法對(duì)虛擬機(jī)的負(fù)載慣性進(jìn)行預(yù)測(cè)計(jì)算后,預(yù)測(cè)獲得下一時(shí)段的第一負(fù)載慣性預(yù)測(cè)值;
s3、獲取待預(yù)測(cè)時(shí)段之前的連續(xù)負(fù)載數(shù)據(jù),結(jié)合第一負(fù)載慣性預(yù)測(cè)值,采用rbf神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)獲得第二負(fù)載慣性預(yù)測(cè)值;
s4、將第二負(fù)載慣性預(yù)測(cè)值作為最終的虛擬機(jī)負(fù)載慣性預(yù)測(cè)值并輸出。
進(jìn)一步,所述步驟s1,具體包括:
s11、獲得待預(yù)測(cè)時(shí)段的時(shí)間信息后,從虛擬機(jī)的歷史負(fù)載數(shù)據(jù)中,采集過(guò)去若干天在該時(shí)段的負(fù)載峰值數(shù)據(jù)作為分時(shí)段歷史負(fù)載數(shù)據(jù);
s12、采集待預(yù)測(cè)時(shí)段之前的若干個(gè)連續(xù)時(shí)段的負(fù)載峰值數(shù)據(jù)作為連續(xù)負(fù)載數(shù)據(jù)。
進(jìn)一步,所述步驟s2,具體包括:
s21、獲取待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù);
s22、根據(jù)該分時(shí)段歷史負(fù)載數(shù)據(jù),使用二次移動(dòng)平均法對(duì)虛擬機(jī)的負(fù)載慣性進(jìn)行預(yù)測(cè)計(jì)算;
s23、將預(yù)測(cè)計(jì)算結(jié)果作為下一時(shí)段的第一負(fù)載慣性預(yù)測(cè)值。
進(jìn)一步,所述步驟s22,其具體為:
根據(jù)該分時(shí)段歷史負(fù)載數(shù)據(jù),根據(jù)下式,使用二次移動(dòng)平均法對(duì)虛擬機(jī)的負(fù)載慣性進(jìn)行預(yù)測(cè)計(jì)算:
上式中,xt、xt-1、…xt-(n-1)依次表示過(guò)去若干天在待預(yù)測(cè)時(shí)段的負(fù)載峰值數(shù)據(jù),t表示周期,n表示步長(zhǎng),
其中,
進(jìn)一步,所述步驟s3,具體包括:
s31、獲取待預(yù)測(cè)時(shí)段之前的若干個(gè)連續(xù)時(shí)段的負(fù)載峰值序列,并獲取第一負(fù)載慣性預(yù)測(cè)值;
s32、構(gòu)造rbf神經(jīng)網(wǎng)絡(luò),并將負(fù)載峰值序列和第一負(fù)載慣性預(yù)測(cè)值作為rbf神經(jīng)網(wǎng)絡(luò)的輸入序列;
s33、采用rbf神經(jīng)網(wǎng)絡(luò)進(jìn)行計(jì)算后,獲得第二負(fù)載慣性預(yù)測(cè)值。
本發(fā)明解決其技術(shù)問(wèn)題所采用的另一技術(shù)方案是:
基于移動(dòng)平均和神經(jīng)網(wǎng)絡(luò)的虛擬機(jī)負(fù)載預(yù)測(cè)系統(tǒng),包括:
采集模塊,用于采集待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù)以及待預(yù)測(cè)時(shí)段之前的連續(xù)負(fù)載數(shù)據(jù);
負(fù)載水平慣性預(yù)測(cè)模塊,用于獲取待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù),并使用二次移動(dòng)平均法對(duì)虛擬機(jī)的負(fù)載慣性進(jìn)行預(yù)測(cè)計(jì)算后,預(yù)測(cè)獲得下一時(shí)段的第一負(fù)載慣性預(yù)測(cè)值;
連續(xù)負(fù)載預(yù)測(cè)模塊,用于獲取待預(yù)測(cè)時(shí)段之前的連續(xù)負(fù)載數(shù)據(jù),結(jié)合第一負(fù)載慣性預(yù)測(cè)值,采用rbf神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)獲得第二負(fù)載慣性預(yù)測(cè)值;
結(jié)果輸出模塊,用于將第二負(fù)載慣性預(yù)測(cè)值作為最終的虛擬機(jī)負(fù)載慣性預(yù)測(cè)值并輸出。
進(jìn)一步,所述采集模塊,具體包括:
第一采集子模塊,用于獲得待預(yù)測(cè)時(shí)段的時(shí)間信息后,從虛擬機(jī)的歷史負(fù)載數(shù)據(jù)中,采集過(guò)去若干天在該時(shí)段的負(fù)載峰值數(shù)據(jù)作為分時(shí)段歷史負(fù)載數(shù)據(jù);
第二采集子模塊,用于采集待預(yù)測(cè)時(shí)段之前的若干個(gè)連續(xù)時(shí)段的負(fù)載峰值數(shù)據(jù)作為連續(xù)負(fù)載數(shù)據(jù)。
進(jìn)一步,所述負(fù)載水平慣性預(yù)測(cè)模塊,具體包括:
歷史數(shù)據(jù)獲取子模塊,用于獲取待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù);
移動(dòng)平均計(jì)算子模塊,用于根據(jù)該分時(shí)段歷史負(fù)載數(shù)據(jù),使用二次移動(dòng)平均法對(duì)虛擬機(jī)的負(fù)載慣性進(jìn)行預(yù)測(cè)計(jì)算;
結(jié)果獲取子模塊,用于將預(yù)測(cè)計(jì)算結(jié)果作為下一時(shí)段的第一負(fù)載慣性預(yù)測(cè)值。
進(jìn)一步,所述移動(dòng)平均計(jì)算子模塊,其具體用于:
根據(jù)該分時(shí)段歷史負(fù)載數(shù)據(jù),根據(jù)下式,使用二次移動(dòng)平均法對(duì)虛擬機(jī)的負(fù)載慣性進(jìn)行預(yù)測(cè)計(jì)算:
上式中,xt、xt-1、…xt-(n-1)依次表示過(guò)去若干天在待預(yù)測(cè)時(shí)段的負(fù)載峰值數(shù)據(jù),t表示周期,n表示步長(zhǎng),
其中,
進(jìn)一步,所述結(jié)果輸出模塊,具體包括:
連續(xù)數(shù)據(jù)獲取子模塊,用于獲取待預(yù)測(cè)時(shí)段之前的若干個(gè)連續(xù)時(shí)段的負(fù)載峰值序列,并獲取第一負(fù)載慣性預(yù)測(cè)值;
神經(jīng)網(wǎng)絡(luò)構(gòu)造子模塊,用于構(gòu)造rbf神經(jīng)網(wǎng)絡(luò),并將負(fù)載峰值序列和第一負(fù)載慣性預(yù)測(cè)值作為rbf神經(jīng)網(wǎng)絡(luò)的輸入序列;
神經(jīng)網(wǎng)絡(luò)計(jì)算子模塊,用于采用rbf神經(jīng)網(wǎng)絡(luò)進(jìn)行計(jì)算后,獲得第二負(fù)載慣性預(yù)測(cè)值。
本發(fā)明的有益效果是:基于移動(dòng)平均和神經(jīng)網(wǎng)絡(luò)的虛擬機(jī)負(fù)載預(yù)測(cè)方法,包括步驟:s1、采集待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù)以及待預(yù)測(cè)時(shí)段之前的連續(xù)負(fù)載數(shù)據(jù);s2、獲取待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù),并使用二次移動(dòng)平均法對(duì)虛擬機(jī)的負(fù)載慣性進(jìn)行預(yù)測(cè)計(jì)算后,預(yù)測(cè)獲得下一時(shí)段的第一負(fù)載慣性預(yù)測(cè)值;s3、獲取待預(yù)測(cè)時(shí)段之前的連續(xù)負(fù)載數(shù)據(jù),結(jié)合第一負(fù)載慣性預(yù)測(cè)值,采用rbf神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)獲得第二負(fù)載慣性預(yù)測(cè)值;s4、將第二負(fù)載慣性預(yù)測(cè)值作為最終的虛擬機(jī)負(fù)載慣性預(yù)測(cè)值并輸出。本方法可以降低連續(xù)負(fù)載預(yù)測(cè)的滯后性,改善負(fù)載預(yù)測(cè)的及時(shí)性以及提高預(yù)測(cè)準(zhǔn)確度,而且對(duì)異常情況的適應(yīng)靈活度強(qiáng)。
本發(fā)明的另一有益效果是:本發(fā)明的基于移動(dòng)平均和神經(jīng)網(wǎng)絡(luò)的虛擬機(jī)負(fù)載預(yù)測(cè)系統(tǒng),包括:采集模塊,用于采集待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù)以及待預(yù)測(cè)時(shí)段之前的連續(xù)負(fù)載數(shù)據(jù);負(fù)載水平慣性預(yù)測(cè)模塊,用于獲取待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù),并使用二次移動(dòng)平均法對(duì)虛擬機(jī)的負(fù)載慣性進(jìn)行預(yù)測(cè)計(jì)算后,預(yù)測(cè)獲得下一時(shí)段的第一負(fù)載慣性預(yù)測(cè)值;連續(xù)負(fù)載預(yù)測(cè)模塊,用于獲取待預(yù)測(cè)時(shí)段之前的連續(xù)負(fù)載數(shù)據(jù),結(jié)合第一負(fù)載慣性預(yù)測(cè)值,采用rbf神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)獲得第二負(fù)載慣性預(yù)測(cè)值;結(jié)果輸出模塊,用于將第二負(fù)載慣性預(yù)測(cè)值作為最終的虛擬機(jī)負(fù)載慣性預(yù)測(cè)值并輸出。本系統(tǒng)可以降低連續(xù)負(fù)載預(yù)測(cè)的滯后性,改善負(fù)載預(yù)測(cè)的及時(shí)性以及提高預(yù)測(cè)準(zhǔn)確度,而且對(duì)異常情況的適應(yīng)靈活度強(qiáng)。
附圖說(shuō)明
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
圖1是本發(fā)明的基于移動(dòng)平均和神經(jīng)網(wǎng)絡(luò)的虛擬機(jī)負(fù)載預(yù)測(cè)方法的流程圖;
圖2是本發(fā)明的基于移動(dòng)平均和神經(jīng)網(wǎng)絡(luò)的虛擬機(jī)負(fù)載預(yù)測(cè)系統(tǒng)的系統(tǒng)框圖;
圖3是本發(fā)明的基于移動(dòng)平均和神經(jīng)網(wǎng)絡(luò)的虛擬機(jī)負(fù)載預(yù)測(cè)方法中采用的神經(jīng)網(wǎng)絡(luò)的典型結(jié)構(gòu)圖;
圖4是圖3的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的神經(jīng)元模型的示意圖。
具體實(shí)施方式
實(shí)施例一
參照?qǐng)D1,一種基于移動(dòng)平均和神經(jīng)網(wǎng)絡(luò)的虛擬機(jī)負(fù)載預(yù)測(cè)方法,包括步驟:
s1、采集待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù)以及待預(yù)測(cè)時(shí)段之前的連續(xù)負(fù)載數(shù)據(jù);
s2、獲取待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù),并使用二次移動(dòng)平均法對(duì)虛擬機(jī)的負(fù)載慣性進(jìn)行預(yù)測(cè)計(jì)算后,預(yù)測(cè)獲得下一時(shí)段的第一負(fù)載慣性預(yù)測(cè)值p1;
s3、獲取待預(yù)測(cè)時(shí)段之前的連續(xù)負(fù)載數(shù)據(jù),結(jié)合第一負(fù)載慣性預(yù)測(cè)值p1,采用rbf神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)獲得第二負(fù)載慣性預(yù)測(cè)值p2;
s4、將第二負(fù)載慣性預(yù)測(cè)值p2作為最終的虛擬機(jī)負(fù)載慣性預(yù)測(cè)值p并輸出。
進(jìn)一步,所述步驟s1,具體包括:
s11、獲得待預(yù)測(cè)時(shí)段的時(shí)間信息后,從虛擬機(jī)的歷史負(fù)載數(shù)據(jù)中,采集過(guò)去若干天在該時(shí)段的負(fù)載峰值數(shù)據(jù)作為分時(shí)段歷史負(fù)載數(shù)據(jù);例如,當(dāng)我們需要對(duì)5:00~5:59這一時(shí)段的負(fù)載慣性進(jìn)行預(yù)測(cè),則讀取過(guò)去若干天5:00~5:59的負(fù)載峰值數(shù)據(jù)作為分時(shí)段歷史負(fù)載數(shù)據(jù)。
s12、采集待預(yù)測(cè)時(shí)段之前的若干個(gè)連續(xù)時(shí)刻或連續(xù)時(shí)段的負(fù)載峰值數(shù)據(jù)作為連續(xù)負(fù)載數(shù)據(jù),例如當(dāng)我們需要對(duì)5:00~5:59這一時(shí)段的負(fù)載進(jìn)行預(yù)測(cè),則讀取4:00~4:59、3:00~3:59……等若干個(gè)連續(xù)時(shí)段的負(fù)載峰值作為連續(xù)負(fù)載數(shù)據(jù)。
進(jìn)一步,所述步驟s2,具體包括:
s21、獲取待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù);
s22、根據(jù)該分時(shí)段歷史負(fù)載數(shù)據(jù),使用二次移動(dòng)平均法對(duì)虛擬機(jī)的負(fù)載慣性進(jìn)行預(yù)測(cè)計(jì)算;
s23、將預(yù)測(cè)計(jì)算結(jié)果作為下一時(shí)段的第一負(fù)載慣性預(yù)測(cè)值p1。
進(jìn)一步,所述步驟s22,其具體為:
根據(jù)該分時(shí)段歷史負(fù)載數(shù)據(jù),根據(jù)下式,使用二次移動(dòng)平均法對(duì)虛擬機(jī)的負(fù)載慣性進(jìn)行預(yù)測(cè)計(jì)算:
上式中,xt、xt-1、…xt-(n-1)依次表示過(guò)去若干天在待預(yù)測(cè)時(shí)段的負(fù)載峰值數(shù)據(jù),t表示周期,n表示步長(zhǎng),
其中,
進(jìn)一步,所述步驟s3,具體包括:
s31、獲取待預(yù)測(cè)時(shí)段之前的若干個(gè)連續(xù)時(shí)段的負(fù)載峰值序列{w1,w2,……,wn},并獲取第一負(fù)載慣性預(yù)測(cè)值p1;
s32、構(gòu)造rbf神經(jīng)網(wǎng)絡(luò),并將負(fù)載峰值序列和第一負(fù)載慣性預(yù)測(cè)值p1作為rbf神經(jīng)網(wǎng)絡(luò)的輸入序列{w1,w2,……,wn,p1};
s33、采用rbf神經(jīng)網(wǎng)絡(luò)進(jìn)行計(jì)算后,獲得第二負(fù)載慣性預(yù)測(cè)值p2。
神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖如圖3所示,包括輸入層、隱含層和輸出層,總的來(lái)說(shuō),神經(jīng)網(wǎng)絡(luò)是由簡(jiǎn)單處理單元構(gòu)成的大規(guī)模并行分布式處理器。神經(jīng)元是神經(jīng)網(wǎng)絡(luò)的基本信息處理單位。神經(jīng)網(wǎng)絡(luò)通過(guò)神經(jīng)元,發(fā)掘并存儲(chǔ)負(fù)載序列的規(guī)律。每個(gè)神經(jīng)元與其他神經(jīng)元相連,當(dāng)某個(gè)神經(jīng)元達(dá)到興奮閾值時(shí),該神經(jīng)元將被激活,產(chǎn)生信號(hào)并傳遞給與之相連的下一層神經(jīng)元。神經(jīng)元的基本結(jié)構(gòu)模型如圖4所示。圖中所示模型接收來(lái)自其他n個(gè)神經(jīng)元的輸入信號(hào),并將輸入信號(hào)進(jìn)行加權(quán)連接進(jìn)行傳遞,然后通過(guò)神經(jīng)元內(nèi)激活函數(shù)φ的處理產(chǎn)生神經(jīng)元輸出。
神經(jīng)網(wǎng)絡(luò)由多層神經(jīng)元組成。單隱層神經(jīng)網(wǎng)絡(luò)指的是只有一層隱含層的神經(jīng)網(wǎng)絡(luò)。在單隱層的神經(jīng)網(wǎng)絡(luò)中,網(wǎng)絡(luò)輸出yt和網(wǎng)絡(luò)輸入之間的關(guān)系的數(shù)學(xué)表達(dá)式為:
其中,aj表示隱含層到輸出層的網(wǎng)絡(luò)連接權(quán)值,bij是輸入層到隱含層的連接權(quán)值,p是輸入層的神經(jīng)元個(gè)數(shù),q是隱含層的神經(jīng)元個(gè)數(shù),φ為神經(jīng)網(wǎng)絡(luò)節(jié)點(diǎn)的激活函數(shù)。
本實(shí)施例中,采用的rbf神經(jīng)網(wǎng)絡(luò),是隱層激活函數(shù)φ為徑向基函數(shù)的一種特殊神經(jīng)網(wǎng)絡(luò)。本發(fā)明中采用的徑向基函數(shù)為高斯函數(shù),其公式如下:
r表示到某一固定點(diǎn)的距離,σ為徑向基函數(shù)的擴(kuò)展常數(shù)。
本方法可以放大待預(yù)測(cè)時(shí)刻負(fù)載存在突然上升或下降的信號(hào),降低連續(xù)負(fù)載預(yù)測(cè)的滯后性,改善負(fù)載預(yù)測(cè)的及時(shí)性以及提高預(yù)測(cè)準(zhǔn)確度。而且結(jié)合步驟s2的負(fù)載水平慣性預(yù)測(cè)和步驟s3的連續(xù)負(fù)載預(yù)測(cè)進(jìn)行預(yù)測(cè),連續(xù)負(fù)載預(yù)測(cè)能夠根據(jù)當(dāng)天的實(shí)際負(fù)載情況,對(duì)負(fù)載水平慣性預(yù)測(cè)模塊的結(jié)果進(jìn)行調(diào)整,在負(fù)載異常日能夠降低預(yù)測(cè)模塊對(duì)負(fù)載的預(yù)測(cè)/實(shí)際負(fù)載相對(duì)差(即實(shí)際負(fù)載值-預(yù)測(cè)負(fù)載值)的影響,提高預(yù)測(cè)方法對(duì)異常日的適應(yīng)靈活度。
實(shí)施例二
參照?qǐng)D2,本發(fā)明還提供了一種基于移動(dòng)平均和神經(jīng)網(wǎng)絡(luò)的虛擬機(jī)負(fù)載預(yù)測(cè)系統(tǒng),包括:
采集模塊,用于采集待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù)以及待預(yù)測(cè)時(shí)段之前的連續(xù)負(fù)載數(shù)據(jù);
負(fù)載水平慣性預(yù)測(cè)模塊,用于獲取待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù),并使用二次移動(dòng)平均法對(duì)虛擬機(jī)的負(fù)載慣性進(jìn)行預(yù)測(cè)計(jì)算后,預(yù)測(cè)獲得下一時(shí)段的第一負(fù)載慣性預(yù)測(cè)值p1;
連續(xù)負(fù)載預(yù)測(cè)模塊,用于獲取待預(yù)測(cè)時(shí)段之前的連續(xù)負(fù)載數(shù)據(jù),結(jié)合第一負(fù)載慣性預(yù)測(cè)值p1,采用rbf神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)獲得第二負(fù)載慣性預(yù)測(cè)值p2;
結(jié)果輸出模塊,用于將第二負(fù)載慣性預(yù)測(cè)值p2作為最終的虛擬機(jī)負(fù)載慣性預(yù)測(cè)值并輸出。
進(jìn)一步,所述采集模塊,具體包括:
第一采集子模塊,用于獲得待預(yù)測(cè)時(shí)段的時(shí)間信息后,從虛擬機(jī)的歷史負(fù)載數(shù)據(jù)中,采集過(guò)去若干天在該時(shí)段的負(fù)載峰值數(shù)據(jù)作為分時(shí)段歷史負(fù)載數(shù)據(jù);例如,當(dāng)我們需要對(duì)5:00~5:59這一時(shí)段的負(fù)載慣性進(jìn)行預(yù)測(cè),則讀取過(guò)去若干天5:00~5:59的負(fù)載峰值數(shù)據(jù)作為分時(shí)段歷史負(fù)載數(shù)據(jù)。
第二采集子模塊,用于采集待預(yù)測(cè)時(shí)段之前的若干個(gè)連續(xù)時(shí)段的負(fù)載峰值數(shù)據(jù)作為連續(xù)負(fù)載數(shù)據(jù),例如當(dāng)我們需要對(duì)5:00~5:59這一時(shí)段的負(fù)載進(jìn)行預(yù)測(cè),則讀取4:00~4:59、3:00~3:59……等若干個(gè)連續(xù)時(shí)段的負(fù)載峰值作為連續(xù)負(fù)載數(shù)據(jù)。
進(jìn)一步,所述負(fù)載水平慣性預(yù)測(cè)模塊,具體包括:
歷史數(shù)據(jù)獲取子模塊,用于獲取待預(yù)測(cè)時(shí)段的分時(shí)段歷史負(fù)載數(shù)據(jù);
移動(dòng)平均計(jì)算子模塊,用于根據(jù)該分時(shí)段歷史負(fù)載數(shù)據(jù),使用二次移動(dòng)平均法對(duì)虛擬機(jī)的負(fù)載慣性進(jìn)行預(yù)測(cè)計(jì)算;
結(jié)果獲取子模塊,用于將預(yù)測(cè)計(jì)算結(jié)果作為下一時(shí)段的第一負(fù)載慣性預(yù)測(cè)值p1。
進(jìn)一步,所述移動(dòng)平均計(jì)算子模塊,其具體用于:
根據(jù)該分時(shí)段歷史負(fù)載數(shù)據(jù),根據(jù)下式,使用二次移動(dòng)平均法對(duì)虛擬機(jī)的負(fù)載慣性進(jìn)行預(yù)測(cè)計(jì)算:
上式中,xt、xt-1、…xt-(n-1)依次表示過(guò)去若干天在待預(yù)測(cè)時(shí)段的負(fù)載峰值數(shù)據(jù),t表示周期,n表示步長(zhǎng),
其中,
進(jìn)一步,所述結(jié)果輸出模塊,具體包括:
連續(xù)數(shù)據(jù)獲取子模塊,用于獲取待預(yù)測(cè)時(shí)段之前的若干個(gè)連續(xù)時(shí)段的負(fù)載峰值序列{w1,w2,……,wn},并獲取第一負(fù)載慣性預(yù)測(cè)值p1;
神經(jīng)網(wǎng)絡(luò)構(gòu)造子模塊,用于構(gòu)造rbf神經(jīng)網(wǎng)絡(luò),并將負(fù)載峰值序列和第一負(fù)載慣性預(yù)測(cè)值作為rbf神經(jīng)網(wǎng)絡(luò)的輸入序列{w1,w2,……,wn,p1};
神經(jīng)網(wǎng)絡(luò)計(jì)算子模塊,用于采用rbf神經(jīng)網(wǎng)絡(luò)進(jìn)行計(jì)算后,獲得第二負(fù)載慣性預(yù)測(cè)值p2。
以上是對(duì)本發(fā)明的較佳實(shí)施進(jìn)行了具體說(shuō)明,但本發(fā)明創(chuàng)造并不限于所述實(shí)施例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做出種種的等同變形或替換,這些等同的變型或替換均包含在本申請(qǐng)權(quán)利要求所限定的范圍內(nèi)。