專利名稱:一種網絡流量估計方法
技術領域:
本發明屬于計算機網絡通信技術領域,特別涉及其中的網絡流量估計方法。
背景技術:
隨著互聯網技術高速發展,網絡類型多祥化、規模大型化、結構復雜化已成為ー種趨勢,網絡中各種性能參數的變化也越來越復雜。通信網絡中各種性能參數的測量是網絡行為學的基本的研究內容,也是網絡的優化設計和管理、網絡監測和評估、流量異常監測和分析等工作的基礎。為了更好地對網絡進行設計、監控、管理,需要了解和感知這些網絡狀態參數的動態變化,包括鏈路延吋、網絡拓撲結構、網絡OD對流量等參數。網絡操作人員或管理人員通過了解網絡流量在全網絡中的分布情況,可充分利用網絡寬帶資源提高網絡資源的利用率。流量矩陣是網絡流量在全網絡中的分布的具體表示,通過實時獲取準確的流量矩陣,網絡操作人員或網絡管理人員能更好的制定出路由策略,使網絡總流量負載均衡, 而且能實時檢測網絡中流量的異常,防止外來攻擊進而保證網絡的安全。實際網絡情況很復雜,直接測試流量矩陣很困難,最終可能覆蓋不到需要測量的網絡節點。但是網絡中鏈路帶寬的利用率、網絡拓撲和路由配置狀況等信息是可以獲取的,通過建立估計模型或算法來獲得流量矩陣是ー種通用的做法。流量矩陣(Traffic Matrix, TM)是網絡流量的具體描述,由源節點到目的節點的流量(Origin-Destination, 0D)組成,是網絡中指定節點對間流量大小的具體值,給出了網絡流量在全網中各個OD對間流量的分布情況。網絡流量工程需要基于流量矩陣進行分析,流量矩陣也是容量規劃、可靠性分析,異常檢測等網絡管理方面的重要輸入項。因此,在實際網絡中具有重要的意義。求解流量矩陣的方法有很多,主要如下兩種主成分分析(Principal Component Analysis, PCA)算法需要一段時間的所有OD對流量值作為先驗信息,基于主成分分析方法和矩陣理論分析,通過使用OD對流量的主要成分(特征流向量)來表示OD對流量集合,將流量矩陣估計問題轉化為氣逆特征流向量的問題。由于線性的PCA算法計算量大,并且需要的存儲空間要求比較大,它忽略了數據在高維上的關系。空時壓縮感知算法是利用直接測量的流量矩陣中由于鏈路或者是路由器損壞的原因丟失的ー些OD對流量值進行插值運算,充分利用稀疏正則化矩陣分解及空間與時間域的約束進行流量矩陣估算,而后利用KNN算法進行插值對估算結果進行修正的ー種算法,得到最終的估算結果。在實際的流量矩陣的估計中,由于要估計的網絡節點很多,時間點比較長,所以TM非常大,不進行降維計算會出現計算量很大,計算很復雜,需要用于計算的環境配置要求很高。
發明內容
本發明的目的是為了解決現有的網絡流量估計方法存在的上述問題,本發明提出了一種網絡流量估計方法。
本發明的技術方案為一種網絡流量估計方法,包括如下步驟步驟I :獲取路由矩陣及鏈路負載;步驟2 :剔除步驟I獲取的鏈路負載中部分已知OD對流量所占負載,并通過網絡總節點及已知流量的OD對標記未知流量的OD對;步驟3 :利用LP算法估算步驟2獲得的未知的OD對流量;步驟4 :用已知流量的OD對與步驟3估算出來的OD對流量對總的OD對進行重構;步驟5 :基于KPCA分簇對步驟2獲得的未知流量的OD 對進行插值;步驟6 :用步驟5插值出來的OD對流量對步驟3通過LP估算出來的OD對流量進行校正,得到最優解。進ー步的步驟5具體包括如下分步驟步驟51 由流量矩陣TM確定丟失模型LM ;步驟52 :根據丟失模型LM,從流量矩陣TM中取出固定個數OD對的小矩陣,其中,無缺失OD對小矩陣與有缺失OD對小矩陣的大小一致;步驟53 :對取出來的小矩陣用KPCA算法映射到特征空間;步驟54 :對當前的無缺失OD對的小矩陣進行分簇;步驟55 :對當前的缺失OD對小矩陣選擇最優的簇作為參照進行插值,得到最優的
插值結果。本發明的有益效果本發明的網絡流量估計方法,實現了在已知部分OD對流量的情況下,對IP網絡流量矩陣進行精確的估計,采用了 KPCA分簇對缺失OD對進行插值,與傳統的PCA算法相比可以降低計算復雜度,用于處理大規模的TM ;而LP算法能滿足鏈路流量的約束,特別是在鏈路條數比較多,網絡節點數比較少情況下,能夠精確估計,降低均方根相對誤差。本發明的方法通過LP算法估算出來的值經過基于KPCA插值估算出來的結果校正以后,使估算的OD對流量更加接近真實的OD對流量。
圖I為本發明的網絡流量估計方法的流程示意圖。圖2為本發明中用基于KPCA分簇方法對OD對流量進行插值方法的流程示意圖。
具體實施例方式下面結合附圖和具體實施例對本發明做進ー步的說明。本發明的網絡流量估計方法的流程示意圖如圖I所示,具體步驟如下步驟I :獲取路由矩陣A及鏈路負載Yttrtal ;路由矩陣的獲取主要涉及基于metric域內路由查找算法(用最短路徑算法一Dijkstra算法),獲得流量矩陣估計方程Ytotal=AXtotal(I)其中,Xttrtal為總的OD對流量。步驟2 :剔除步驟I獲取的鏈路負載Ytotal中部分已知OD對流量Xpart所占的負載,獲得未知的OD對在鏈路中的負載Yl6ft,并通過網絡總節點及已知流量的OD對標記未知流量的OD對;
由于已經知道部分OD對的流量,在用線性規劃算法(Linear Programming, LP)計算的時候為了減少計算量及提高計算精確度,對已經知道的部分OD對流量不再進行估計,如下所示X=Xtotal 0 Xpart⑵其中,Xpart表示部分已知OD對流量,X為未知OD對流量, 表示從總Xtotal中排除Xpart 項。于是可以根據總鏈路負載中已知OD對流量所占負載,得到未知OD對流量在鏈路中的負載,表達式如下Yleft=Ytotal_A*Xpart(3)其中,Yttrtal為總的鏈路負載,Yleft為剔除部分已知OD對流量后的鏈路負載。 步驟3 :利用LP估算步驟2剔除部分已知OD對流量后的未知的OD對流量。首先由路由矩陣A及剩余鏈路負載Yleft獲得OD對流量的上確界和下確界。由于鏈路流量為Yl6ft,未知OD對流量為X,于是OD對流量估計的系統方程可以定義為Yleft = AX(4)估計上確界Xup,目標函數為
ma\ Xiip Lbject to(5)
、JI Xup<nb其中,ub為X的上限約束,為向量,在沒有其它約束信息的時候,采用ub=max(Ylrft),也就是當前的最大鏈路值。在實際應用中可以加更精細的約束,比如部分OD對流量可以獲得更小范圍的上限值等其它約束條件。估計下確界為X1ot的目標函數
max A', w LbJect to 丨レ=ル(6)
、I 也 く Xlow其中,Ib為X的下限約束,在沒有其它約束信息條件下,常采用lb=0。當然也可以像上限約束Ub —祥,采用其它的約束信息,以提高求解精度,那么線性規劃的解X =————(7)
2' '該算法的核心為線性規劃算法的選擇,線性規劃算法選擇主要能夠滿足大尺度大規模的方程求解,此處釆用文獻“ Yin Zhang. Solving Large-Scale LinearPrograms by Interior—Point Methods Under the MATLAB Environment. Department ofMathematics and Statistics University oi Maryland Baltimore County, TechnicalReport TR96-01,February,1996”中提到用于處理大規模病態線性方程的primal-dualInfeasible-Interior-Point algorithm(原-對偶不可行內點算法)進行估算。步驟4 :用已知OD對流量與步驟3估算出來的未知OD對流量對總的TM進行重構;在LP估算出未知OD對流量之后,就與原來的已知OD對合并重構為最初總的流量矩陣TM,如表I所示
表I
已知ODOD己知OD缺失OD己知...OD己知OD缺失OD己知
估算ODOD缺失 OD估算OD缺失…OD缺失OD估算OD缺失
總ODOD己知OD估算OD己知 OD己知OD估算OD己知步驟5 :基于KPCA分簇對缺失OD對進行插值,具體過程如圖2所示,展開如下步驟51 :由流量矩陣TM確定丟失模型LM。由于原來的TM部分OD對是知道流量的,可以把它看作一個丟失模型LM(LostModel), LM是ー個N2Xm大小的矩陣,其中N表示網絡節點的個數,N2表示OD對的個數,m
表示路由中總的鏈路條數。表示形式如下
_ = Sf=(8)其中,X(i,j)表示經過第j條鏈路的第i個OD對,這可以用來確定小矩陣內需要對哪些缺失OD對進行插值。步驟52 :根據LM,從TM中取固定個數OD對的小矩陣,其中,無缺失OD對小矩陣與有缺失OD對小矩陣的大小一致;根據LM從TM中隨意取出I個小矩陣f,大小為(wXh,其中w與h可以隨意定義大小,但不能太大,分別表示取出矩陣的行數與列數,即OD對的個數與鏈路的條數),這些小矩陣不包含有缺失的OD對(由LM中得知),再取一個有缺失OD對的小矩陣(wXh),在OD對流量不知道的地方記作fi,在OD對流量知道的地方記作Q。步驟53 :對取出來的小矩陣用KPCA算法映射到特征空間。對于上面的取出來的小矩陣も(其中,i=l,2,3...,l),可以獲取兩個向量
Xi(e RNa),只(eRwh為),其中,Xi與yi表示OD對的流量,不知道流量的OD對初始化為0,表示不知道OD對流量的集合,表示知道OD對流量的集合,Nfi表示知道OD對流量的個數,Xj I e Rも)為知道的OD對流量,兄.(e為不知道的OD對流量,初始化為O。
通過KPCA把它映射到特征空間(K(Xi)與小 ,具體如下TM數據X(N2Xm)通過點積的形式把它從數據空間(實際OD對流量,低維空間)映射到特征空間(數學上,高維空間)小(X1),小(X2),......,小(X1),映射定義為小,如下
面式子所示
=沴(X)(I)其中,M表示映射到特征空間的過程,I表示映射到的特征空間。由于非線性映射函數小非常復雜,實現起來很困難,在運算中用核函數代替會簡單很多。核函數如下,可以表示為特征空間的點積的形式K(XpXj) = (J)(Xi) 小(Xj)(10)
核函數使用高斯函數,則(10)可以寫成下面的式子
I X. — X.IΚ(χ 7χΛ = exp(- -~:——Γ-!-*—)(11)
σ其中,σ 2為高斯核函數的參數,通過這個公式計算出的核函數將在后面用到。步驟54 :對當前的無缺失OD對的小矩陣進行分簇。由于非線性特征空間有許多結構,要選擇最優結構的特征空間作為參照目標用于后面的插值,所以必須進行簇分類。先定義一個向量為戎=m,向量為步驟53中OD對流量映射到特征空間的向 量,后面將用核函數代替。使用下面的分簇準則公式來進行簇分類,分簇準則公式為
K Uk 「 _k I21E = ΣΣ xJ-xJ + y) - Ji- \(12)
fr-1 μ IJ其中,I I · I I表示求二范數文與4分別是屬于簇k的Xi和yi;即為當前簇的OD對流量,Mk是簇k的元素個數,K為總的簇個數,$與g分別表示當前分類小矩陣的OD對流
,[4 (xJ)I M
量。給定(人和A= ζ{,滿足
\yJ /_ β _φ} = UkUk ’(< — /') + φ"(13)其中,uk'為Uk 的轉置,0和0滿足我.(2) ^ c)my (K) - ξ) ’4 ( :)與#,, (K)分別
是當前分類小矩陣的已知OD對流量與未知OD對流量映射到特征空間后的值。在式(13)中
Uk =[ulul...,ukDk~](Dk <M1', ...,略是特征向量,Dk是簇k的特征空間的維數)是SkHkHhk'的特征向量矩陣,其中心]心為簇k中每個元素
的特征空間映射),紀=產—il¥_'’ Ik是一個MkxMk的單位矩陣,ik=[i-1,…,I]’是一個
MkXl的向量的特征向量矩陣,SkHk滿足下面的奇異值分解SkHt=UkAiVk'(14)其中,Ak與Vk分別表示特征值及向量矩陣,Vk'為Vk的轉置,UkUk還可以寫成Uk =EkH1TkA-1(I、)~φ是簇k的一個中心向量,可以把式(13)寫成
M
左 φ. Ξ EkTkElc 'Φ) -J^Ek (TkEk 'Ek-Ik)lk(16)其中,Tk ='Hk,最終式(12)中的xI ~X>J可以由如下推斷得到
其中,σ〗是高斯核函數的參數。V; -7,可以下式得到y (18)其中σ是高斯核函數的參數。使用上面的方法,可以對提取的OD對小矩陣進行分簇,如果當前小矩陣使式(12)的值最小,它就屬于當前簇。分簇的步驟可以歸納為步驟541 :定義分簇準則公式(12),通過它劃分OD對小矩陣屬于哪個簇。步驟542 由KPCA映射的特征空間向量滿足式(13)。步驟543 :由簇K的中心向量,及式(14)、(15),可以把式(13)重新寫為式(16)。步驟544 :由式(17)和式(18),可以求出式(12)中的與}’卜/,。由此就可以計算出式(12)中的Ε。步驟545 :當使式(12)最小時,就屬于當前簇。步驟55 :對當前的缺失OD對小矩陣選擇最優的簇作為參照進行插值。在步驟54中已經把提取的OD對小矩陣進行了分簇,下一步要選取最優的特征空間作為缺失OD塊的參考簇,下面就是具體選擇最優參考簇及插值的操作根據步驟53把目標矩陣f映射到特征空間Φ,,七二 Φ1Χ\,其中,Φχ(χ)與
' LO)」
Φγ(γ)分別為目標矩陣f中知道的OD對流量與不知道的OD對流量在特征空間的映射,由前面的分簇公式計算出一個新的向量#= f滿足下面的兩個約束來獲取估計未知的OD
對流量。①cj5y(y)是知道的OD對流量的特征空間,它固定為空間向量#。②在特征空間,目標向量$在非線性特征空間通過簇k的特征向量 . ,u'dM
成。因此,滿足
由式(16)可以把式(19)寫成 (20)
如果定義Ik=(My),那么由式(20)可以得到
權利要求
1.一種網絡流量估計方法,包括如下步驟 步驟I:獲取路由矩陣及鏈路負載; 步驟2 :剔除步驟I獲取的鏈路負載中部分已知OD對流量所占負載,并通過網絡總節點及已知流量的OD對標記未知流量的OD對; 步驟3 :利用LP算法估算步驟2獲得的未知的OD對流量; 步驟4 :用已知流量的OD對與步驟3估算出來的OD對流量對總的OD對進行重構; 步驟5 :基于KPCA分簇對步驟2獲得的未知流量的OD對進行插值; 步驟6 :用步驟5插值出來的OD對流量對步驟3通過LP估算出來的OD對流量進行校正,得到最優解。
2.根據權利要求I所述的網絡流量估計方法,其特征在于,步驟5具體包括如下分步驟 步驟51 :由流量矩陣TM確定丟失模型LM ; 步驟52 :根據丟失模型LM,從流量矩陣TM中取出固定個數OD對的小矩陣,其中,無缺失OD對小矩陣與有缺失OD對小矩陣的大小一致; 步驟53 :對取出來的小矩陣用KPCA算法映射到特征空間; 步驟54 :對當前的無缺失OD對的小矩陣進行分簇; 步驟55 :對當前的缺失OD對小矩陣選擇最優的簇作為參照進行插值,得到最優的插值結果。
3.根據權利要求2所述的網絡流量估計方法,其特征在于,步驟54所述的分簇具體過程如下 步驟541:定義分簇準則公式
4.根據權利要求2或3所述的網絡流量估計方法,其特征在于,步驟55具體包括如下分步驟 步驟551 :在特征空間,建立目標向量,即
全文摘要
本發明公開了一種網絡流量估計方法,包括步驟獲取路由矩陣及鏈路負載;剔除獲取的鏈路負載中部分已知OD對流量所占負載,并通過網絡總節點及已知流量的OD對標記未知流量的OD對;利用LP算法估算獲得的未知的OD對流量;用已知流量的OD對與估算出來的OD對流量對總的OD對進行重構;基于KPCA分簇對獲得的未知流量的OD對進行插值;用插值出來的OD對流量對通過LP估算出來的OD對流量進行校正,得到最優解。本發明的方法實現了在已知部分OD對流量的情況下,對IP網絡流量矩陣進行精確的估計,采用了KPCA分簇對缺失OD對進行插值,降低計算復雜度,可以用于處理大規模的TM。
文檔編號H04L12/24GK102801631SQ20121030410
公開日2012年11月28日 申請日期2012年8月24日 優先權日2012年8月24日
發明者錢峰, 連濤, 姚興苗, 胡光岷 申請人:電子科技大學