丁 尹,桑 楠,李曉瑜*,吳飛舟
(1.電子科技大學(xué)信息與軟件工程學(xué)院,成都 610054;2.北京思特奇信息技術(shù)股份有限公司,北京 100046)
物聯(lián)網(wǎng)和虛擬化等技術(shù)的不斷發(fā)展促進(jìn)電信業(yè)務(wù)量和業(yè)務(wù)種類不斷增加。業(yè)務(wù)服務(wù)器數(shù)量的快速增長,使得電信運維也面臨不可避免的優(yōu)化升級。容量可以理解為預(yù)先分配給特定應(yīng)用系統(tǒng)的資源上限,比如CPU(Central Processing Unit)、內(nèi)存、磁盤、網(wǎng)絡(luò)帶寬等,應(yīng)用系統(tǒng)運行是否順暢受容量配置的影響[1]。當(dāng)前大多數(shù)情況下,企業(yè)依靠經(jīng)驗或者專家建議手動從基礎(chǔ)架構(gòu)中管理、更新、添加或者刪除物理/虛擬服務(wù)器。面對如今快速增長的服務(wù)器數(shù)量,容量管理變得日益重要,傳統(tǒng)運維已經(jīng)出現(xiàn)瓶頸。大量的服務(wù)器會產(chǎn)生海量的性能監(jiān)測數(shù)據(jù),為了更有效地管理和利用這些數(shù)據(jù),電信運維行業(yè)提出智能運維(Artificial Intelligence for IT Operations,AIOps)系統(tǒng)。通過分析歷史性能數(shù)據(jù),預(yù)測未來的性能趨勢,為運維人員提供參考,從而避免系統(tǒng)容量風(fēng)險,實現(xiàn)系統(tǒng)經(jīng)濟(jì)、平穩(wěn)運行。容量管理的一個重要內(nèi)容就是通過對未來容量資源進(jìn)行預(yù)測以幫助合理分配資源,減少資源冗余。
近年來,越來越多的研究人員開始從事對云計算數(shù)據(jù)中心歷史容量數(shù)據(jù)進(jìn)行分析,通過建立模型來預(yù)測未來系統(tǒng)容量的相關(guān)工作[2]。常見的傳統(tǒng)預(yù)測模型包括代數(shù)估計[3]、線性回歸模型[4-5]、差分自回歸移動平均(AutoRegressive Integrated Moving Average,ARIMA)模 型[6-8]和 反 向 傳 播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)模型[9]。傳統(tǒng)預(yù)測模型具有易建模的優(yōu)點,但是難以實現(xiàn)高精度的預(yù)測。隨著技術(shù)的不斷發(fā)展,深度學(xué)習(xí)也逐漸被應(yīng)用到容量預(yù)測中去。Mason等[10]使用基本循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)方法精確預(yù)測短期CPU利用率。Rao等[11]和Tran等[12]使用長短時記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)來預(yù)測未來正在運行的應(yīng)用程序的資源使用情況。相比于傳統(tǒng)預(yù)測模型,RNN和LSTM具有更高的預(yù)測精度。除此之外,雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(Bi-directional Recurrent Neural Network,BiRNN)模型[13]和雙向長短時記憶(Bi-directional Long Short-Term Memory,BiLSTM)網(wǎng)絡(luò)[13-14]模型也逐漸被運用到容量數(shù)據(jù)預(yù)測中。單向神經(jīng)網(wǎng)絡(luò)僅從過去的輸入中學(xué)習(xí)依賴關(guān)系來預(yù)測輸出,雙向循環(huán)神經(jīng)網(wǎng)絡(luò)不僅能學(xué)習(xí)過去的趨勢還能集合未來的趨勢信息,具有更佳的預(yù)測效果。
目前,多數(shù)研究忽視了容量數(shù)據(jù)種類繁多的問題,對于同一個業(yè)務(wù),CPU和內(nèi)存往往表現(xiàn)出不同數(shù)據(jù)特征和趨勢,對于不同業(yè)務(wù),監(jiān)測到的不同設(shè)備的CPU數(shù)據(jù)特征也不盡相同,使用同種方法對所有容量指標(biāo)數(shù)據(jù)進(jìn)行預(yù)測,得到的預(yù)測效果參差不齊。楊海民等[15]在對時間序列進(jìn)行研究時,提出了時間序列具有趨勢性、周期性和不規(guī)則性,但是未提出具體的分類方法?;诖耍Y(jié)合電信行業(yè)相關(guān)業(yè)務(wù)特點,本文提出一種指標(biāo)數(shù)據(jù)類型分類方法,利用該方法將數(shù)據(jù)類型分為趨勢型、周期型和不規(guī)則型。針對其中周期型數(shù)據(jù)預(yù)測,提出基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的周期型容量指標(biāo)預(yù)測模型,記作BiRNNBiLSTM-BI。首先,提出一種忙閑分布分析算法;其次,搭建循環(huán)神經(jīng)網(wǎng)絡(luò)模型;最后,將忙閑信息融入預(yù)測結(jié)果中。
LSTM是RNN的一種變體,主要的改進(jìn)之處就是增加了三個控制門單元:遺忘門、輸入門和輸出門[16]。LSTM單元結(jié)構(gòu)如圖1所示。
圖1 LSTM單元結(jié)構(gòu)Fig.1 LSTM cell structure
為便于了解,描述LSTM和BiLSTM模型所用到的相關(guān)變量在表1中聲明。
表1 LSTM模型相關(guān)變量說明Tab.1 Description of LSTMmodel related variables
遺忘門計算公式如式(1)所示:
輸入門計算公式如式(2)所示:
新細(xì)胞狀態(tài)信息由遺忘門和輸入門共同決定,如式(3)所示:
LSTM的輸出由輸出門和細(xì)胞狀態(tài)信息Ct共同決定,如式(4)所示:
單向神經(jīng)網(wǎng)絡(luò)僅從過去的輸入中學(xué)習(xí)依賴關(guān)系來預(yù)測輸出,雙向神經(jīng)網(wǎng)絡(luò)不僅能學(xué)習(xí)過去的趨勢還能集合未來的趨勢信息。圖2展示了BiLSTM的結(jié)構(gòu)模型。模型通過兩個獨立的隱藏層來分析正向和方向序列,將這些隱藏層作為輸入傳遞給同一輸出層[11]。輸出yt的計算公式如式(5)所示:
圖2 BiLSTM結(jié)構(gòu)Fig.2 BiLSTM structure
本章詳細(xì)闡述基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的周期型容量指標(biāo)數(shù)據(jù)預(yù)測模型。首先,介紹本文提出的指標(biāo)數(shù)據(jù)類型分類方法;其次,介紹提出的忙閑分布分析方法;最后,結(jié)合系統(tǒng)忙閑分布,通過有監(jiān)督學(xué)習(xí),實現(xiàn)對雙向循環(huán)神經(jīng)網(wǎng)絡(luò)輸出結(jié)果的優(yōu)化調(diào)整。
2.1.1 動態(tài)時間規(guī)整
動態(tài)時間規(guī)整(Dynamic Time Warping,DTW)通過最小化 原 始 序 列x(i),i∈[1,M]和 待 對 齊 的 時 間 序 列y(j),j∈[1,N]之間的累積距離來提供兩個時間序列之間的非線性對齊最佳路徑[17],故可以通過兩個時間序列之間的累積距離來衡量兩個時間序列的相似性。用d來表示序列兩點之間的距離集合,其中di,j定義如式(6)所示:
用D來表示累積距離合集,其中Di,j表示從原點(1,1)到點(i,j)的最小累積距離。具體計算方式如式(7)所示,其中i=2,3,…,M,j=2,3,…,N。
初始條件如式(8)所示:
經(jīng)過初期調(diào)研得知不少業(yè)務(wù)的關(guān)鍵指標(biāo)數(shù)據(jù)呈現(xiàn)日周期性。本文選取了一段時長為k天的時間序列value,比較相鄰兩天時間序列之間的相似度,即求相鄰兩天的DTW距離,得到長為k-1的距離序列dist_list,將dist_list與預(yù)先設(shè)置的DTW閾值比較判定該時間序列是否具有一定的日周期性。
2.1.2 數(shù)據(jù)類型劃分方法
利用動態(tài)時間規(guī)整、平均值、標(biāo)準(zhǔn)差等數(shù)據(jù)特征將指標(biāo)數(shù)據(jù)類型劃分為趨勢型、周期型和不規(guī)則型,數(shù)據(jù)類型劃分流程如圖3所示。
圖3 數(shù)據(jù)類型劃分流程Fig.3 Data type division process
具體方法如下:
1)數(shù)據(jù)預(yù)處理。對監(jiān)測到的目標(biāo)設(shè)備的指標(biāo)數(shù)據(jù)進(jìn)行清洗,得到指定格式的指標(biāo)序列C。
2)數(shù)據(jù)類型判定。計算序列C的DTW值value_dtw和變異系數(shù)value_cv,其中變異系數(shù)是原始數(shù)據(jù)標(biāo)準(zhǔn)差與原始數(shù)據(jù)平均數(shù)的比值,用來比較衡量數(shù)據(jù)離散程度大小。將value_dtw和value_cv與設(shè)定DTW閾值threshold_dtw、趨勢型變異系數(shù)閾值threshold_cv_trend和周期型變異系數(shù)閾值threshold_cv_periodic進(jìn)行比較,判定數(shù)據(jù)類型,具體過程如下:
步驟1 若value_dtw 步驟2 若value_dtw 步驟3 該類型為不規(guī)則型。 3)數(shù)據(jù)類型輸出。輸出2)中數(shù)據(jù)類型判定結(jié)果。 國有企業(yè)在我國國民經(jīng)濟(jì)中的獨特地位和作用,其會計信息披露工作就尤為重要。我國國有企業(yè)傳統(tǒng)的發(fā)展模式存在的弊端使得國有企業(yè)的經(jīng)營和發(fā)展存在著很多漏洞,長此以往,不只會影響到國有企業(yè)的正常經(jīng)營和發(fā)展,對于我國經(jīng)濟(jì)社會發(fā)展也會起到不利的影響。所以在當(dāng)今的經(jīng)濟(jì)社會背景下,國有企業(yè)只有通過會計信息披露,加強(qiáng)公眾對其的監(jiān)督,才能夠保證國有企業(yè)的健康穩(wěn)定發(fā)展。 業(yè)務(wù)系統(tǒng)的運行狀態(tài)往往與人類日常行為密切相關(guān),比如電信行業(yè)的“前臺頁面”這一業(yè)務(wù)系統(tǒng),主要集中在日間工作時間,由營業(yè)廳工作人員進(jìn)行使用,夜間的使用率則會降低。如此,業(yè)務(wù)系統(tǒng)的性能數(shù)據(jù)就會表現(xiàn)出一些規(guī)律,并且根據(jù)業(yè)務(wù)性質(zhì)的不同,表現(xiàn)出的規(guī)律也會不同。為了實現(xiàn)高效的容量預(yù)測,首先要對性能數(shù)據(jù)和業(yè)務(wù)系統(tǒng)進(jìn)行分析,此處主要通過對系統(tǒng)歷史性能數(shù)據(jù)進(jìn)行分析以了解該業(yè)務(wù)系統(tǒng)的忙閑分布情況,應(yīng)用方可結(jié)合系統(tǒng)忙閑時段分布和相關(guān)性能指標(biāo)閾值合理配置系統(tǒng)資源。本文設(shè)計了一種忙閑分布分析算法對業(yè)務(wù)系統(tǒng)的關(guān)鍵指標(biāo)進(jìn)行分析以得到系統(tǒng)的忙閑分布規(guī)律。具體方法如下: 1)以CPU指標(biāo)為例,對采集到的歷史指標(biāo)數(shù)據(jù)序列C=[c1,c2,…,ct]進(jìn)行預(yù)處理,得到等時間間隔分布的指標(biāo)數(shù)據(jù),其中ci∈[0,100]。 2)設(shè)定想要獲取的忙閑粒度interval,以及周期長度period,其中interval和period均代表時長。 3)將一天中采集到的歷史數(shù)據(jù)按從大到小進(jìn)行排序得到序列A,設(shè)定一個閾值百分比μ,則當(dāng)天的忙閑閾值λ=A[INT(len(A)?μ)]。 4)對歷史數(shù)據(jù)進(jìn)行忙閑標(biāo)記,若第i天的第n個采集指標(biāo)值cn小于當(dāng)天忙閑閾值λi即cn<λi時,將該采集點標(biāo)記為閑;否則標(biāo)記為忙。 5)將標(biāo)記后的序列C按每interval時長為一段劃分為interval_nums段,舍棄掉最后不足的部分,對每段數(shù)據(jù)進(jìn)行如下處理直至該段只剩一個標(biāo)記點: 步驟1 每N個連續(xù)標(biāo)記點為一組,對歷史數(shù)據(jù)進(jìn)行劃分,舍棄掉最后不足N的部分; 步驟3 對重新標(biāo)記的忙閑標(biāo)記序列重復(fù)步驟1、2。 6)將忙閑序列按照周期時長period進(jìn)行劃分,得到二維數(shù) 組A=[a1;a2;…;am],其 中ai=[bi1,bi2,…,bin],bij∈{0,1},ai表示第i個周期,bij表示第i個周期中第j段的忙閑值,其中0表示閑,1表示忙。對A的每列進(jìn)行頻數(shù)統(tǒng)計,用第n列出現(xiàn)頻數(shù)多的值sn表示該段狀態(tài),得到指定周期的忙閑分布規(guī)律S=[s1,s2,…,sn]。 忙閑時段分布算法將一天劃分為忙、閑和過渡三個時段,為充分利用忙閑信息,模型通過在循環(huán)神經(jīng)網(wǎng)絡(luò)后增加一層線性回歸對預(yù)測結(jié)果進(jìn)行進(jìn)一步的優(yōu)化,具體設(shè)計如下: 1)數(shù)據(jù)預(yù)處理。首先對監(jiān)測到的目標(biāo)設(shè)備的指標(biāo)數(shù)據(jù)進(jìn)行清洗,填充空值,得到指定格式的指標(biāo)序列C。 2)使用忙閑時段分布算法對序列C進(jìn)行分析。將序列C按天進(jìn)行劃分得到每天的數(shù)據(jù)序列An,即C=[A1,A2,…,An],設(shè)定兩個忙閑閾值百分比μ1、μ2,則第i天對應(yīng)的兩個閾值λi1和λi2分別為Ai[INT(len(Ai)*μ1)]和Ai[INT(len(Ai)*μ2)]。利用忙閑算法得到代表指定時間粒度忙閑分布規(guī)律的0,1序列Sa、Sb,利用式(9)得到最終忙閑分布規(guī)律序列S=[s1,s2,…,sn],sn∈{0,1,2},0代表閑,1代表忙,2代表過渡段。 3)構(gòu)建基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的周期型容量數(shù)據(jù)預(yù)測模型。較單層網(wǎng)絡(luò)而言,兩層循環(huán)神經(jīng)網(wǎng)絡(luò)能學(xué)習(xí)到更多隱藏信息,且進(jìn)過初步實驗比較,兩層模型效果更佳,故本模型設(shè)計為兩層網(wǎng)絡(luò)。首先將性能指標(biāo)序列輸入到第一層雙向RNN,其中RNN用來挖掘性能指標(biāo)隨時間變化的規(guī)律,而雙向神經(jīng)網(wǎng)絡(luò)不僅能學(xué)習(xí)過去的趨勢還能集合未來的趨勢信息。為防止過擬合,模型在雙向RNN層后面設(shè)計了Dropout層,然后再與雙向LSTM層連接。本文設(shè)計的模型在雙向LSTM層后面添加了一層全連接層,通過全連接層匯總各個時間步的歷史數(shù)據(jù)對未來時間點數(shù)據(jù)的影響然后輸出一個實數(shù)值作為兩層循環(huán)神經(jīng)網(wǎng)絡(luò)的預(yù)估。最后將全連接層的輸出按照日忙閑分布分為忙、閑和過渡段三類,將三類數(shù)據(jù)分別輸入到三個線性回歸模型。模型結(jié)構(gòu)如圖4所示。 圖4 BiRNN-BiLSTM-BI模型結(jié)構(gòu)Fig.4 BiRNN-BiLSTM-BImodel structure 4)訓(xùn)練模型。把歷史數(shù)據(jù)劃分成訓(xùn)練集和測試集,將訓(xùn)練集原始數(shù)據(jù)輸入忙閑分布算法模型得到忙閑分布序列,然后將數(shù)據(jù)輸入基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的周期型容量數(shù)據(jù)預(yù)測模型進(jìn)行訓(xùn)練,并對訓(xùn)練好的模型進(jìn)行評估。 本章首先介紹了實驗數(shù)據(jù)的概況;然后,給出實驗運行環(huán)境、使用到的工具、實驗參數(shù)的設(shè)置以及評價指標(biāo)等;接著,實現(xiàn)本文提出的基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的周期型容量數(shù)據(jù)預(yù)測模型,并且實現(xiàn)相關(guān)研究中提到的一些算法以作對比;最后,對實驗結(jié)果進(jìn)行比較分析。 作為衡量主機(jī)性能最重要的指標(biāo)之一的CPU,是需求最高的資源故而也是主機(jī)資源短缺的主要原因[18],故本文選擇CPU資源作為實驗對象。本實驗使用的是北京思特奇信息技術(shù)有限公司(http://www.si-tech.com.cn)提供的某省電信運營商客戶關(guān)系管理(Customer Relationship Management,CRM)系統(tǒng)的性能監(jiān)測數(shù)據(jù)。從呈現(xiàn)日周期型數(shù)據(jù)特性的分支業(yè)務(wù)中選取了規(guī)模較大的統(tǒng)一日志和分布式緩存兩個業(yè)務(wù),再各隨機(jī)選擇了約4個月CPU數(shù)據(jù)作為實驗數(shù)據(jù)。服務(wù)器每6 min采集一次指標(biāo)數(shù)據(jù),每臺服務(wù)器約31 200條CPU數(shù)據(jù),監(jiān)控中心采集數(shù)據(jù)樣例如表2所示。由于頻繁預(yù)測會占用大量資源,公司實際生產(chǎn)中要求以小時為粒度進(jìn)行預(yù)測,故在預(yù)測前需要對數(shù)據(jù)進(jìn)行處理。 表2 監(jiān)控中心采集數(shù)據(jù)樣例Tab.2 Sample data collected by monitoring center 實驗是在具有3.20GHz時鐘頻率的Inter Core i7-8700處理器上運行的,內(nèi)存大小為16 GB。實驗設(shè)計為通過前t小時CPU使用率預(yù)測t+1小時CPU使用率。結(jié)合運維人員工作經(jīng)驗,并考慮到電信行業(yè)運營部門的工作時長約占一天的0.33,故設(shè)定兩個忙閑閾值百分比μ1=0.25,μ2=0.35,求得忙閑閾值λ1,λ2。將原始數(shù)據(jù)按照0.8∶0.2劃分成訓(xùn)練集和測試集,通過對不同個數(shù)神經(jīng)元和不同損失函數(shù)進(jìn)行嘗試,選擇最優(yōu)組合進(jìn)行實驗,具體如表3所示。 表3 參數(shù)設(shè)置Tab.3 Parameter setting 預(yù)測的準(zhǔn)確率通過均方誤差(Mean Squared Error,MSE)和平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)衡量。MSE和MAPE計算公式如下: 其中:truet為第t個時間點的真實值,predictedt為第t個時間點的預(yù)測值,m為樣本總數(shù)。 3.3.1 忙閑結(jié)果分析 以某服務(wù)器CPU指標(biāo)數(shù)據(jù)為原始數(shù)據(jù)進(jìn)行忙閑分析,設(shè)定兩個波動值μ1=0.25,μ2=0.35。將μ1和μ2分別作為忙閑閾值百分比代入忙閑分布算法,求得以小時為粒度的每天忙閑分布序列S1和S2。 S1=[0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0] S2=[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0] 如圖5所示,實線為標(biāo)準(zhǔn)化后的CPU使用率。分析灰實線可以看出,該業(yè)務(wù)服務(wù)器CPU使用率在日間較大而夜間較小,且日間中午時會稍微回落。黑虛線為當(dāng)μ1=0.25時所得的忙閑分布序列S1,由于此時忙閑閾值λi1較大,所以處于忙狀態(tài)的時段并不多,大部分時段處于閑狀態(tài)。灰虛線為當(dāng)μ2=0.35時所得的忙閑分布狀態(tài)序列S2,此時忙閑閾值λi2相對較小,所以處于忙狀態(tài)的時段較S1相比更多。通過式(9)求得最終忙閑分布序列S。 圖5 忙閑分布Fig.5 Busy and idle distribution S=[0,0,0,0,0,0,0,0,0,1,1,1,2,2,1,1,1,1,2,2,0,0,0,0] 3.3.2 預(yù)測結(jié)果分析 為驗證基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的周期型容量指標(biāo)數(shù)據(jù)預(yù)測模型是否具有良好效果,以LSTM、BiLSTM、RNN和BiRNN等模型作為對照組進(jìn)行實驗。 圖6為使用一層BiRNN和一層BiLSTM構(gòu)成的BiRNNBiLSTM網(wǎng)絡(luò)模型進(jìn)行測試得到的結(jié)果,圖7為使用基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的周期型容量指標(biāo)數(shù)據(jù)預(yù)測模型進(jìn)行測試的結(jié)果。圖6、7中橫軸為時間軸,總共有624個時間切片,每個時間切片表示1 h;縱軸表示范圍在[0,100%]的CPU使用率。分析圖6、7可知,BiRNN-BiLSTM網(wǎng)絡(luò)雖然能夠反映CPU使用率的變化趨勢,但是在波峰和波谷處與真實曲線擬合效果不理想,而基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的周期型容量指標(biāo)數(shù)據(jù)預(yù)測模型能夠更好地跟蹤C(jī)PU使用率的變化趨勢,實現(xiàn)了更精確的預(yù)測。 圖6 BiRNN-BiLSTM預(yù)測結(jié)果Fig.6 BiRNN-BiLSTM prediction results 圖7 BiRNN-BiLSTM-BI預(yù)測結(jié)果Fig.7 BiRNN-BiLSTM-BIprediction results 表4分別列出了在統(tǒng)一日志業(yè)務(wù)和分布式緩存池業(yè)務(wù)這兩個數(shù)據(jù)集上,使用5種模型進(jìn)行預(yù)測得到的MSE值。由表4可知,對于統(tǒng)一日志業(yè)務(wù),兩層BiLSTM模型的MSE為5.568 0,小于除本文模型的其余幾個網(wǎng)絡(luò)模型,而BiRNNBiLSTM-BI模型的MSE為4.176 6,MSE值比兩層BiLSTM模型少24.99%。對于分布式緩存池業(yè)務(wù),BiRNN-BiLSTM-BI模型比其余模型中最優(yōu)的兩層BiRNN模型減小了5.33%。 表4 五種兩層網(wǎng)絡(luò)模型預(yù)測結(jié)果Tab.4 Prediction resultsof five two-layer network models 將其與傳統(tǒng)的預(yù)測方法即ARIMA、Holt-Winters算法及BP神經(jīng)網(wǎng)絡(luò)做對比,幾種算法MSE平均值如表5所示。由表5可知,對于統(tǒng)一日志業(yè)務(wù),Holt-Winters三次指數(shù)平滑算法結(jié)果為4.923 0,小于ARIMA和BP神經(jīng)網(wǎng)絡(luò),而BiRNNBiLSTM-BI模型的MSE為4.176 6,誤差值比Holt-Winters指數(shù)平滑算法降低15.16%。對于分布式緩存池業(yè)務(wù),BiRNNBiLSTM-BI比其余模型中最優(yōu)的Holt-Winters降低了45.67%。 表5 本文模型與傳統(tǒng)模型預(yù)測結(jié)果比較Tab.5 Prediction results comparison of proposed model and traditional models 為了驗證該容量預(yù)測模型的能力,在Kaggle上選取了一個Microsoft Azure發(fā)布的虛擬機(jī)CPU使用量數(shù)據(jù)集做進(jìn)一步實驗。由于數(shù)據(jù)集記錄的是CPU的具體大小而不是使用率,故加入MAPE作為評價指標(biāo)。 由表6可知,充分利用忙閑分布信息的BiRNN-BiLSTMBI模型表現(xiàn)最優(yōu),其MAPE分別比文獻(xiàn)[13]中提出的BiRNN模型和BiLSTM模型降低了0.32和0.41。 表6 Azure數(shù)據(jù)集上的預(yù)測結(jié)果Tab.6 Prediction results on Azure dataset 從上述實驗結(jié)果中可知,BiRNN-BiLSTM-BI網(wǎng)絡(luò)模型預(yù)測精度更高、誤差更小,說明該模型能更好地對周期型容量指標(biāo)數(shù)據(jù)進(jìn)行預(yù)測。 針對容量指標(biāo)數(shù)據(jù)類型繁多、預(yù)測算法在不同數(shù)據(jù)類型的指標(biāo)數(shù)據(jù)上表現(xiàn)參差不齊的問題,本文提出具體指標(biāo)數(shù)據(jù)類型分類方法,對數(shù)據(jù)類型進(jìn)行劃分,再進(jìn)行預(yù)測。針對其中周期型容量數(shù)據(jù)預(yù)測,提出了一種基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的周期型容量指標(biāo)預(yù)測模型。首先,提出了一種分析忙閑狀態(tài)分布情況的算法,利用該算法對業(yè)務(wù)系統(tǒng)的忙閑分布進(jìn)行分析;其次,搭建循環(huán)神經(jīng)網(wǎng)絡(luò)模型;最后,結(jié)合忙閑分布特征對結(jié)果進(jìn)行優(yōu)化。通過在真實數(shù)據(jù)集上進(jìn)行對比實驗,驗證了本文提出模型的有效性。后續(xù)工作將繼續(xù)研究如何優(yōu)化趨勢型和不規(guī)則型的預(yù)測準(zhǔn)確度,并將模型應(yīng)用于實際電信容量管理中。 感謝電子科技大學(xué)-思特奇未來信息科技聯(lián)合研究院對實驗工作的支持;感謝電子科技大學(xué)詹會蘭、王問驍?shù)韧瑢W(xué)對本文實驗工作的幫助。2.2 忙閑時段分布算法
2.3 基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的預(yù)測模型
3 實驗與結(jié)果分析
3.1 實驗數(shù)據(jù)
3.2 實驗環(huán)境
3.3 基于雙向循環(huán)神經(jīng)網(wǎng)絡(luò)的預(yù)測模型
4 結(jié)語