史朝衛(wèi), 孟相如, 康巧燕, 蘇玉澤
(1. 空軍工程大學(xué)信息與導(dǎo)航學(xué)院, 陜西 西安 710077; 2. 中國人民解放軍94303部隊, 山東 濰坊 261000)
隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,網(wǎng)絡(luò)用戶數(shù)量急劇增加,傳統(tǒng)互聯(lián)網(wǎng)架構(gòu)日益僵化,已難以應(yīng)對用戶多樣化的業(yè)務(wù)需求[1-2]。網(wǎng)絡(luò)虛擬化技術(shù)通過屏蔽不同物理網(wǎng)絡(luò)之間的架構(gòu)差異,將物理網(wǎng)絡(luò)資源池化[3-4],為用戶提供無差別的網(wǎng)絡(luò)服務(wù),逐漸成為研究熱點[5],池化資源的分配也隨即成為一個更具挑戰(zhàn)性的任務(wù)。虛擬網(wǎng)絡(luò)映射技術(shù)通過動態(tài)調(diào)用物理網(wǎng)絡(luò)資源,為用戶提供定制服務(wù),提高了網(wǎng)絡(luò)資源的利用率[6]。
傳統(tǒng)靜態(tài)虛擬網(wǎng)絡(luò)映射技術(shù)通常將虛擬鏈路的帶寬設(shè)置為流量最大值,以滿足用戶動態(tài)變化的帶寬需求,但是這種策略將會導(dǎo)致資源的過配置,一定程度上造成了資源浪費。因此,虛擬網(wǎng)絡(luò)拓撲動態(tài)重構(gòu)技術(shù)逐漸引起學(xué)術(shù)界關(guān)注[7-8]。文獻[7]基于流量感知,提出虛擬網(wǎng)絡(luò)拓撲動態(tài)重構(gòu)方法,通過動態(tài)調(diào)整虛擬鏈路帶寬資源提高物理網(wǎng)絡(luò)資源利用率。但是該方法沒有對下一周期內(nèi)鏈路的流量進行預(yù)測,刪除了大量虛擬鏈路來釋放帶寬資源,會導(dǎo)致下一周期內(nèi)因不能滿足用戶需求而需要頻繁重構(gòu)虛擬網(wǎng)絡(luò),這種現(xiàn)象稱為乒乓效應(yīng)。文獻[8]為避免乒乓效應(yīng),規(guī)定新構(gòu)建的虛擬鏈路在一段時間內(nèi)不能刪除,一些利用率比較低的虛擬鏈路可能長時間占用大量帶寬資源,導(dǎo)致資源浪費。
為了適應(yīng)虛擬網(wǎng)絡(luò)拓撲中流量在未來時刻的動態(tài)變化,準確刪除利用率過低的虛擬鏈路并將流經(jīng)該鏈路的流量遷移至其他鏈路,本文引入流量預(yù)測算法,將流量預(yù)測結(jié)果作為虛擬網(wǎng)絡(luò)拓撲重構(gòu)的輸入。傳統(tǒng)的自回歸滑動平均(auto-regressive moving average,ARMA)模型[9]和差分ARMA(auto-regressive integrated moving average,ARIMA)模型[10]適用于對具有長相關(guān)性的大尺度網(wǎng)絡(luò)流量進行預(yù)測,對于具有混沌性特征的強非線性小尺度網(wǎng)絡(luò)流量預(yù)測效果不佳[11]。文獻[12-13]等將神經(jīng)網(wǎng)絡(luò)應(yīng)用于小尺度網(wǎng)絡(luò)流量預(yù)測,但這種單一預(yù)測模型性能有限,容易收斂于局部最優(yōu)。文獻[14-15]采用組合模型進行網(wǎng)絡(luò)流量數(shù)據(jù)的訓(xùn)練預(yù)測,其中文獻[14]提出基于支持向量機(support vector machine,SVM)回歸算法和ARIMA模型的組合模型預(yù)測網(wǎng)絡(luò)流量,文獻[15]利用局部投影技術(shù)對流量數(shù)據(jù)進行高位去噪,采用基于徑向基函數(shù)(radial basis function,RBF)神經(jīng)網(wǎng)絡(luò)對去噪后的流量序列進行訓(xùn)練預(yù)測。上述基于SVM和RBF神經(jīng)網(wǎng)絡(luò)的組合流量預(yù)測算法雖然可以提高預(yù)測精度,但是計算復(fù)雜度較高,訓(xùn)練預(yù)測時間較長。
對此,本文提出一種基于混合流量預(yù)測的虛擬網(wǎng)絡(luò)拓撲重構(gòu)方法(virtual network topology reconfiguration approach based on hybrid traffic prediction, VNTR-HTP),對具有強非線性特征的小尺度網(wǎng)絡(luò)流量進行預(yù)測,并根據(jù)預(yù)測結(jié)果進行虛擬網(wǎng)絡(luò)拓撲重構(gòu)。由于小尺度網(wǎng)絡(luò)流量具有混沌性等強非線性特征,為提高預(yù)測精度,本文首先采用小波分解方法將流量數(shù)據(jù)分解為高頻的細節(jié)時間序列和低頻的近似時間序列[16],然后利用相空間重構(gòu)和基于粒子群優(yōu)化的組合參數(shù)選擇算法,對分解后的流量序列進行特征提取構(gòu)建訓(xùn)練樣本[17]。之后分別采用混沌模型對具有混沌特征的細節(jié)時間序列進行處理,采用極限學(xué)習(xí)機(extreme learning machine, ELM)[18]神經(jīng)網(wǎng)絡(luò)對近似時間序列進行處理,再將兩者輸出的數(shù)據(jù)序列進行線性疊加即可得到流量預(yù)測序列。ELM神經(jīng)網(wǎng)絡(luò)具有預(yù)測精度高、訓(xùn)練速度快等優(yōu)點,可以在保證預(yù)測準確度的同時減少算法運行時間,提高流量預(yù)測效率。虛擬網(wǎng)絡(luò)拓撲重構(gòu)方法根據(jù)下一周期內(nèi)鏈路的流量預(yù)測結(jié)果實時進行拓撲重構(gòu),在避免出現(xiàn)乒乓效應(yīng)的同時節(jié)省更多帶寬資源。
在網(wǎng)絡(luò)虛擬化過程中,虛擬網(wǎng)絡(luò)控制平臺可以根據(jù)用戶需求構(gòu)建邏輯隔離的虛擬網(wǎng)絡(luò)并根據(jù)用戶需求變化對已分配的資源進行動態(tài)調(diào)整。本節(jié)對虛擬網(wǎng)絡(luò)拓撲重構(gòu)進行建模分析,并引入混合流量預(yù)測算法,根據(jù)下一周期流量預(yù)測結(jié)果對虛擬網(wǎng)絡(luò)拓撲進行動態(tài)重構(gòu)。
為避免虛擬鏈路流量擁塞,本文設(shè)置鏈路利用率上限閾值WH,避免單條鏈路聚集過多流量而影響服務(wù)質(zhì)量。基于混合流量預(yù)測的虛擬網(wǎng)絡(luò)拓撲重構(gòu)流程如圖1所示。
圖1 VNTR-HTP模型
首先,虛擬網(wǎng)絡(luò)控制平臺時刻感知虛擬鏈路當(dāng)前流量,利用歷史數(shù)據(jù)預(yù)測下一周期鏈路流量值,并計算節(jié)點i和節(jié)點j之間的鏈路帶寬利用率uij。然后將鏈路利用率uij分別與上限閾值WH和下限閾值WL進行比較。若存在uij≥WH,則計算鏈路過載流量并增加鏈路帶寬值Bij。如果存在鏈路在一個預(yù)測周期內(nèi)的帶寬利用率都滿足uij≤WL并且滿足其它約束條件,則刪除該條虛擬鏈路,并在保證鏈路利用率uij≤WH的基礎(chǔ)上將當(dāng)前鏈路上的流量遷移至目標(biāo)虛擬鏈路。
虛擬網(wǎng)絡(luò)拓撲重構(gòu)如圖2所示,當(dāng)預(yù)測到下一周期鏈路lad的帶寬利用率滿足uad≥WH,則計算鏈路過載流量并增加鏈路帶寬值Bad。當(dāng)預(yù)測到下一周期鏈路lab的帶寬利用率滿足uab≤WL,并且由節(jié)點a到節(jié)點b的另一條鏈路lacb上有充足的帶寬資源,能夠保證鏈路lab上的流量遷移過去之后其帶寬利用率仍滿足uacb≤WH。此時,將流經(jīng)鏈路lab的流量遷移至鏈路lacb,并刪除鏈路lab,回收帶寬資源。
圖2 拓撲重構(gòu)示例
VNTR-HTP方法根據(jù)下一周期虛擬鏈路流量預(yù)測結(jié)果決定是否進行虛擬網(wǎng)絡(luò)拓撲重構(gòu)。詳細拓撲重構(gòu)方法流程如下所示。
算法 1拓撲重構(gòu)方法
步驟 1感知虛擬鏈路當(dāng)前流量,利用基于參數(shù)優(yōu)化的流量預(yù)測算法預(yù)測下一周期鏈路流量值,并計算每條鏈路的帶寬利用率uij,將帶寬利用率高的虛擬鏈路存入集合Lh,將帶寬利用率低的虛擬鏈路存入集合Lv
步驟 2for 集合Lh中的每一條虛擬鏈路lij
步驟 3計算鏈路過載流量并增加鏈路帶寬值
步驟 4end for
步驟 5for 集合Lv中的每一條虛擬鏈路lij
步驟 6選擇節(jié)點i和j之間的其他路徑并將其存入集合Lr
步驟 7ifLr=?
步驟 8保留虛擬鏈路lij
步驟 9else
步驟 10fork=1:length(Lr)
步驟 11計算第k條鏈路剩余可用帶寬資源Bk
步驟 12ifBk>uijBij
步驟 13刪除虛擬鏈路lij,并將流經(jīng)該虛擬鏈路的流量遷移至集合Lr中的第k條虛擬鏈路上
步驟 14break
步驟 15else
步驟 16continue
步驟 17end if
步驟 18end for
步驟 19end if
步驟 20end for
其中,步驟1通過流量預(yù)測算法預(yù)測下一周期內(nèi)的流量值并計算每條鏈路的帶寬利用率,步驟2~步驟4通過增加過載虛擬鏈路的帶寬值以避免鏈路擁塞,步驟5~步驟12確保目標(biāo)虛擬鏈路有足夠的帶寬資源可以承載遷移的流量,步驟13執(zhí)行流量遷移并將帶寬利用率低的虛擬鏈路刪除以回收帶寬資源。
流量預(yù)測算法是執(zhí)行虛擬網(wǎng)絡(luò)拓撲重構(gòu)的核心子算法,流量預(yù)測的精度和預(yù)測所需的時間對拓撲重構(gòu)的結(jié)果和效率有重要影響。為提高流量預(yù)測精度與預(yù)測效率,本文引入了基于參數(shù)優(yōu)化選擇的混合流量預(yù)測算法(hybrid traffic prediction based on parameter optimization selection, HTP-POS)。HTP-POS算法流程如圖3所示,其主要包含小波分解、相空間重構(gòu)、參數(shù)優(yōu)化選擇和混合流量預(yù)測等4個步驟。
圖3 HTP-POS算法流程
HTP-POS算法利用小波分解方法將流量序列分解為近似時間序列和細節(jié)時間序列,采用相空間重構(gòu)法構(gòu)建訓(xùn)練樣本并利用不同的流量預(yù)測模型對不同時間序列進行獨立分析,以提高流量預(yù)測精度與預(yù)測效率。
由于小尺度網(wǎng)絡(luò)流量序列具有混沌特性,直接進行流量預(yù)測容易產(chǎn)生較大的預(yù)測誤差,因此本文采用小波分解方法,將網(wǎng)絡(luò)流量分解為近似和細節(jié)時間序列后分別采用不同的模型進行處理,提高預(yù)測精度。近似時間序列是流量序列中變化緩慢的部分,是時間序列的框架,占全部信息的大部分;細節(jié)時間序列是流量序列中變化迅速的部分,反映的是時間序列的細節(jié)信息,占全部信息的小部分。進行小波分解時,分解層數(shù)越大,所能觀察到的網(wǎng)絡(luò)流量細節(jié)特征就越多,但當(dāng)分解層數(shù)過大時,計算量也會迅速增加,預(yù)測效率降低。根據(jù)文獻[16]可知,當(dāng)分解層數(shù)為3時,預(yù)測誤差基本可以達到預(yù)期效果,同時具有較低的計算復(fù)雜度。因此本文將網(wǎng)絡(luò)流量序列分解為一個近似時間序列AT3和3個細節(jié)時間序列DT1、DT2和DT3。
在時間序列的預(yù)測問題中,對數(shù)據(jù)進行訓(xùn)練預(yù)測時需要提取訓(xùn)練樣本的特征信息,而這些特征信息在一維空間是不可分的[17]。相空間重構(gòu)方法可以把一維的時間序列運用某種映射法則映射到高維相空間,提取出序列中深層次信息,然后計算和分析奇異吸引子在高維相空間中的運動情況和分布情況,根據(jù)其特點找出隱藏在原始系統(tǒng)中的變化發(fā)展規(guī)律,是一種十分有效的、主要對非線性時間序列所反映的更深層次的信息進行挖掘提取的方法。
基于小尺度網(wǎng)絡(luò)流量混沌性和突變性特點,為提取能夠反映流量序列變化規(guī)律的特征信息,本文采用基于坐標(biāo)延遲的相空間重構(gòu)方法,將小尺度網(wǎng)絡(luò)流量預(yù)測轉(zhuǎn)化為非線性時間序列預(yù)測問題,把所處理的流量序列的相關(guān)信息映射到高維空間,提取序列中深層次信息,構(gòu)建訓(xùn)練樣本。
坐標(biāo)延遲法在進行相空間重構(gòu)時所采用的方法是通過一維時間序列[x1,x2, …,xn]的不同時間延遲對多維相空間矢量進行構(gòu)造,即選取合適的嵌入維數(shù)m和延遲時間τ,將原始混沌時間序列重構(gòu)為如下m維相空間:
(1)
式中,N為相空間中相點的個數(shù)且N=n-(m-1)τ;n為原一維時間序列長度。
在進行相空間重構(gòu)過程中,參數(shù)m和τ的選擇對流量預(yù)測結(jié)果有重要影響。為了提高預(yù)測精度與預(yù)測效率,本文提出基于粒子群優(yōu)化的組合參數(shù)選擇算法,選擇合適的參數(shù)m和τ,在保證算法運行效率的同時提高預(yù)測精度。算法流程如圖4所示。
圖4 基于粒子群優(yōu)化的組合參數(shù)選擇算法流程
基于粒子群優(yōu)化的組合參數(shù)選擇算法具體步驟如下所示。
算法2基于粒子群優(yōu)化的組合參數(shù)選擇算法
步驟 1初始化網(wǎng)絡(luò)流量信息,設(shè)定參數(shù)m和τ的取值范圍分別為M和T,粒子隨機生成初始位置參數(shù)與速度參數(shù);
步驟 2計算每個粒子的適應(yīng)度值;
步驟 3對每個粒子,用它的適應(yīng)度值和個體極值比較,如果較好,則替換個體極值;
步驟 4對每個粒子,用它的適應(yīng)度值和種群極值比較,如果較好,則替換種群極值;
步驟 5更新粒子的速度和位置;
步驟 6如果滿足結(jié)束條件,執(zhí)行步驟7,否則執(zhí)行步驟2;
步驟 7輸出優(yōu)化參數(shù)選擇方案。
對于進行相空間重構(gòu)后的近似時間序列和細節(jié)時間序列,本文分別采用不同的訓(xùn)練預(yù)測模型對其進行分析處理。針對具有混沌特征的細節(jié)時間序列,采用混沌模型對其進行訓(xùn)練預(yù)測,得到預(yù)測序列。對于近似時間序列,采用ELM神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練預(yù)測。ELM神經(jīng)網(wǎng)絡(luò)是一類單隱層前饋神經(jīng)網(wǎng)絡(luò),以函數(shù)逼近理論為基礎(chǔ),訓(xùn)練時隨機地選擇輸入權(quán)值,通過解析的方法確定輸出權(quán)值,可以極大地提高人工神經(jīng)網(wǎng)絡(luò)的收斂速度,具有訓(xùn)練簡潔、結(jié)構(gòu)簡單、學(xué)習(xí)收斂速度快等優(yōu)點。
將經(jīng)過混沌模型處理后的細節(jié)時間序列和經(jīng)過ELM神經(jīng)網(wǎng)絡(luò)處理后的近似時間序列進行線性疊加即可得到預(yù)測序列。
為了驗證本文提出的VNTR-HTP方法性能,本節(jié)設(shè)計了兩組仿真實驗。第1組仿真實驗驗證了流量預(yù)測算法HTP-POS的性能,第2組仿真實驗驗證了虛擬網(wǎng)絡(luò)拓撲重構(gòu)方法VNTR-HTP的性能。
本文的仿真實驗在Windows7操作系統(tǒng)中進行,CPU是Intel(r)Core(TM)i7-4510 @ 2.60GHz,RAM是8.00G,分析軟件為Matlab2017a。
設(shè)置虛擬網(wǎng)絡(luò)包含20個節(jié)點和80條鏈路,虛擬鏈路帶寬設(shè)置為[0.3, 0.5]Gbps。以1s為間隔對實際網(wǎng)絡(luò)流量lbl-tcp-3.tcp[15]進行采樣,得到初始網(wǎng)絡(luò)流量序列,虛擬網(wǎng)絡(luò)每組節(jié)點對之間的流量從該初始序列中隨機連續(xù)選擇。
設(shè)置嵌入維數(shù)m的范圍為[5, 25],延遲時間τ的范圍設(shè)為[1, 10]。鏈路利用率上限閾值WH設(shè)為0.8,下限閾值WL設(shè)為0.2。設(shè)置流量預(yù)測誤差閾值為0.04。為消除隨機因素對實驗結(jié)果的干擾,運行10次仿真實驗,并取平均值作為最終輸出結(jié)果。
3.2.1HTP-POS算法性能驗證
首先,利用本文提出的HTP-POS算法對200~800s內(nèi)的流量進行預(yù)測,分析HTP-POS算法的性能,結(jié)果如圖5和圖6所示。
圖5 真實流量與預(yù)測流量對比
圖6 網(wǎng)絡(luò)流量序列的預(yù)測誤差
從圖5可以看出,流量預(yù)測序列與真實序列可以精準擬合。HTP-POS算法通過小波分解將混沌序列分解為近似時間序列和細節(jié)時間序列,用不同的訓(xùn)練模型對兩個序列進行分別處理,實現(xiàn)了網(wǎng)絡(luò)流量的精準預(yù)測,得到了良好的預(yù)測結(jié)果。從圖6可以看出,雖然訓(xùn)練樣本經(jīng)過相空間重構(gòu)與參數(shù)優(yōu)化選擇,但是在受到噪聲影響或者出現(xiàn)突發(fā)性流量序列時,仍然會存在一定的預(yù)測誤差。并且,HTP-POS算法預(yù)測的網(wǎng)絡(luò)流量誤差值最大為0.035左右,在可接受范圍內(nèi)。
3.2.2 不同流量預(yù)測算法性能對比
本文選取均方誤差(meansquareerror,MSE)、誤差平方和(sumofsquarederror,SSE)和平均絕對相對誤差(meanabsoluterelativeerror,MARE) 3個指標(biāo)衡量算法預(yù)測精度,具體定義如下:
(2)
(3)
(4)
為全方位評價HTP-POS算法性能,本文針對同一網(wǎng)絡(luò)流量序列,選取文獻[9]提出的ARMA算法、文獻[14]提出的基于SVM和ARIMA的組合算法和文獻[15]提出的基于RBF的流量預(yù)測算法作為對比算法對比分析HTP-POS算法的性能,結(jié)果如表1所示。
表1 不同流量預(yù)測算法性能比較
由表1可以看出,本文提出的HTP-POS算法具有較小的預(yù)測誤差且運行時間最短。HTP-POS算法通過小波分解方法分解流量序列,利用基于粒子群優(yōu)化的相空間重構(gòu)方法構(gòu)建具有足夠特征的訓(xùn)練樣本,提高了算法預(yù)測精度?;诨煦缒P秃虴LM神經(jīng)網(wǎng)絡(luò)的流量預(yù)測模型具有訓(xùn)練速度快、預(yù)測精度高等優(yōu)點,在保證預(yù)測精度的同時減少算法運行時間,提高了流量預(yù)測效率。文獻[9]提出的ARMA算法僅利用單一的ARMA模型進行流量預(yù)測,運行時間較短,但預(yù)測誤差較大。文獻[14]提出的組合算法融合了Morlet-SVR和ARIMA算法的優(yōu)點,預(yù)測精度高于ARMA算法,但是其復(fù)雜度較高。文獻[15]提出的基于RBF的流量預(yù)測算法利用前饋型的RBF神經(jīng)網(wǎng)絡(luò)對降噪后的流量序列進行分析預(yù)測,算法性能優(yōu)于ARMA算法,但其運行時間長,預(yù)測效率較低。綜合比較4種算法的預(yù)測誤差和運行時間可知,HTP-POS算法在保證預(yù)測精度的同時降低了算法運行時間,提高了虛擬網(wǎng)絡(luò)拓撲重構(gòu)效率。
3.3.1 不同虛擬網(wǎng)絡(luò)拓撲重構(gòu)方法性能比較
本節(jié)在相同環(huán)境下對比分析本文提出的VNTR-HTP方法與文獻[8]提出的IW方法的性能,結(jié)果如圖7所示。
圖7 不同拓撲重構(gòu)方法節(jié)省的帶寬資源對比
從圖7可以看出,IW方法在進行拓撲重構(gòu)時為了避免乒乓效應(yīng),在一段時間內(nèi)不刪除新構(gòu)建的虛擬鏈路,一些帶寬利用率較低的虛擬鏈路將長期占用帶寬資源,導(dǎo)致資源浪費,節(jié)省的帶寬資源較少。VNTR-HTP方法引入流量預(yù)測功能,利用混合流量預(yù)測算法對下一周期的流量進行預(yù)測,根據(jù)預(yù)測結(jié)果進行拓撲重構(gòu),節(jié)省了更多的帶寬資源。
3.3.2 鏈路利用率閾值設(shè)置對VNTR-HTP方法性能影響
本小節(jié)仿真模擬在設(shè)置不同鏈路利用率閾值時,VNTR-HTP方法節(jié)省的帶寬資源變化情況。鏈路利用率閾值上限WH分別為0.7、0.8和0.9,利用率閾值下限WL為0.2時,VNTR-HTP方法節(jié)省的帶寬資源變化情況如圖8所示。
圖8 不同WH時VNTR-HTP方法節(jié)省的帶寬
從圖8可以看出,隨著WH的增大,節(jié)省的帶寬資源逐漸增大。當(dāng)WH增大時,擁塞的虛擬鏈路數(shù)量減少,每條虛擬鏈路有更多的資源可以用來承載從帶寬利用率低的虛擬鏈路上遷移過來的流量,從而節(jié)省更多的帶寬資源。鏈路利用率閾值上限WH為0.8,利用率閾值下限WL分別為0.1、0.2和0.3時,VNTR-HTP方法節(jié)省的帶寬資源變化情況如圖9所示。
圖9 不同WL時VNTR-HTP方法節(jié)省的帶寬
從圖9可以看出,隨著WL的增大,節(jié)省的帶寬資源也隨之增加。隨著WL逐漸增大,有更多的虛擬鏈路滿足鏈路刪除的條件,刪除的虛擬鏈路數(shù)量隨之增加,釋放的帶寬資源也隨之增多。
針對目前虛擬網(wǎng)絡(luò)控制平臺在構(gòu)建虛擬網(wǎng)絡(luò)時為了滿足用戶動態(tài)變化的帶寬需求,通常直接把虛擬鏈路帶寬設(shè)置為流量最大值的問題,本文提出了一種基于混合流量預(yù)測的虛擬網(wǎng)絡(luò)拓撲重構(gòu)方法,利用基于參數(shù)優(yōu)化選擇的混合流量預(yù)測算法對下一周期的網(wǎng)絡(luò)流量進行預(yù)測,根據(jù)流量預(yù)測結(jié)果進行虛擬網(wǎng)絡(luò)拓撲重構(gòu)。仿真結(jié)果表明,HTP-POS算法在保證預(yù)測精度的同時,運行時間更短,預(yù)測效率更高,VNTR-HTP方法可以節(jié)省更多的帶寬資源。下一步將在虛擬網(wǎng)絡(luò)拓撲重構(gòu)的基礎(chǔ)上研究流量動態(tài)遷移策略,進一步提高網(wǎng)絡(luò)資源利用率。