專利名稱:一種基于歷史數(shù)據(jù)實現(xiàn)拓撲感知的虛擬網(wǎng)絡映射方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種實現(xiàn)虛擬網(wǎng)絡映射的方法,屬于計算機網(wǎng)絡技術(shù)領(lǐng)域,特別是屬于網(wǎng)絡虛擬化技術(shù)領(lǐng)域。
背景技術(shù):
網(wǎng)絡虛擬化是指將一個共用的物理網(wǎng)絡基礎設施從邏輯上劃分為多個相互隔離的、具有不同網(wǎng)絡拓撲的虛擬網(wǎng)絡。虛擬網(wǎng)絡一般包括多個虛擬節(jié)點和多條虛擬鏈路,每個虛擬節(jié)點和每條虛擬鏈路都具有不同的資源需求,如虛擬節(jié)點對中央處理單元CPU的資源需求,虛擬鏈路對物理鏈路帶寬的需求。服務提供商SP通過租用底層物理網(wǎng)絡的基礎設施切片,充分利用底層物理網(wǎng)絡基礎設施上提供的訪問控制權(quán),能夠在不需進行相關(guān)物理網(wǎng)絡硬件的投入前提下,能夠快速部署自定制的網(wǎng)絡協(xié)議或架構(gòu)即虛擬網(wǎng)絡,給終端用戶提供多樣化的服務。 在虛擬網(wǎng)絡向底層物理網(wǎng)絡的映射過程中,由于需要同時滿足節(jié)點和鏈路的資源需求,網(wǎng)絡虛擬化的映射問題是一個NP-hard問題。目前與其相關(guān)的解決方案普遍基于啟發(fā)式方法而設計,但目前的啟發(fā)式虛擬網(wǎng)絡映射方案存在如下問題(1)目前的資源評分標準是將物理節(jié)點的CPU能力值乘以該節(jié)點相鄰鏈路帶寬之和作為度量值,然而這種資源評分標準并不準確,導致方案有可能選擇CPU能力強而鏈路弱的物理節(jié)點進行映射,以致虛擬網(wǎng)路映射在鏈路映射階段失敗;(2)總是使用貪婪算法選擇評分最高的物理節(jié)點進行映射,而忽略了已經(jīng)映射好的虛擬節(jié)點的位置即未考慮虛擬網(wǎng)絡的拓撲。因此,在進行虛擬網(wǎng)絡映射的過程中,如何更好的對底層物理網(wǎng)絡資源能力進行評價,如何根據(jù)已經(jīng)映射完畢的虛擬節(jié)點及其拓撲結(jié)構(gòu),實現(xiàn)下一步節(jié)點映射的優(yōu)化選擇是目前計算機網(wǎng)絡工程領(lǐng)域一個急需要解決的技術(shù)難題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的是發(fā)明一種實現(xiàn)虛擬網(wǎng)絡映射的方法,能夠利用底層網(wǎng)絡積累的大量的虛擬網(wǎng)絡成功映射的歷史數(shù)據(jù)集合,實現(xiàn)對底層物理網(wǎng)絡資源能力的科學評價,并能夠結(jié)合已經(jīng)映射完畢的虛擬節(jié)點及其拓撲結(jié)構(gòu),實現(xiàn)下一步節(jié)點映射的優(yōu)化選擇。為了達到上述目的,本發(fā)明提出了一種基于歷史數(shù)據(jù)實現(xiàn)拓撲感知的虛擬網(wǎng)絡映射方法,所述方法包括下列操作步驟(I)根據(jù)底層物理網(wǎng)絡積累的虛擬網(wǎng)絡成功映射的歷史數(shù)據(jù)集合,計算底層物理網(wǎng)絡節(jié)點之間的依賴關(guān)系矩陣M ;(2)對于一個需要進行映射的虛擬網(wǎng)絡,根據(jù)該虛擬網(wǎng)絡中虛擬節(jié)點對CPU資源的需求大小,從大到小對該虛擬網(wǎng)絡的所有虛擬節(jié)點進行排序;(3)根據(jù)所述的依賴關(guān)系矩陣M,按照設定的節(jié)點映射方法,對所述的虛擬網(wǎng)絡中的虛擬節(jié)點按照已經(jīng)排好的順序依次進行虛擬節(jié)點到底層物理節(jié)點的節(jié)點映射;
(4)節(jié)點映射完畢之后,按照設定的鏈路映射方法實現(xiàn)虛擬網(wǎng)絡的虛擬鏈路到底層物理網(wǎng)絡的物理路徑之間的映射。所述步驟I的具體內(nèi)容是包括如下操作步驟(11)對底層物理網(wǎng)絡的所有物理節(jié)點從I進行編號,直到編號n,n是一個自然數(shù),等于底層物理網(wǎng)絡的物理節(jié)點數(shù)目;(12)從底層物理網(wǎng)絡積累的虛擬網(wǎng)絡成功映射的歷史數(shù)據(jù)集合中,取出每一個映射記錄;對每一個映射記錄,都構(gòu)造一個η行η列的空矩陣P,初始時該矩陣P的每個元素值為O值;在該映射記錄中,如果第i個底層物理節(jié)點至少被該映射記錄中一個虛擬節(jié)點成功映射過,則讓矩陣P的第i行第i列的元素an取值為I ;在該映射記錄中,如果第i個底層物理節(jié)點和第j個底層物理節(jié)點之間的一條物理路徑至少被該映射記錄中的一條虛擬鏈路成功映射過,則讓矩陣P的第i行第j列的元素au和第j行第i列的元素都取值為該條物理路徑的跳數(shù)的倒數(shù),其中i和j都是大于等于I、小于等于η的自然數(shù),i和j必 須不相等;(13)把步驟12中所構(gòu)造的所有矩陣P進行矩陣相加求和,得到一個新的η行η列矩陣S ;(14)對矩陣S進行歸一化處理,得到底層物理網(wǎng)絡節(jié)點之間的依賴關(guān)系矩陣M ;歸
一化處理的具體方式是對于矩陣M第i行第i列的元素Mii取值為該元素表示底
1=1
層物理網(wǎng)絡第i個物理節(jié)點的平均重要度因子;對于矩陣M第i行第j列的元素Mij取值為M=-L
,J’該元素表示底層物理網(wǎng)絡第i個物理節(jié)點和第j個物理節(jié)點之間的平均關(guān)聯(lián)度
1=1 J^i
因子;上述式中Sii表示矩陣S第i行第i列的元素,Sij表示矩陣S第i行第j列的元素,i和j都是大于等于I、小于等于η的自然數(shù),i和j必須不相等。所述步驟3的具體內(nèi)容是包括如下操作步驟(31)拿出當前排在最前面的還未進行節(jié)點映射的虛擬節(jié)點;(32)如果該虛擬節(jié)點沒有父節(jié)點,則從所述的依賴關(guān)系矩陣M中找到當前能夠滿足該虛擬節(jié)點的CPU資源要求并且平均重要度因子最高的底層物理節(jié)點,把該虛擬節(jié)點映射到該物理節(jié)點上;如果該虛擬節(jié)點有e個父節(jié)點,則首先找出與該虛擬節(jié)點所有父節(jié)點有對應映射關(guān)系的e個底層物理節(jié)點;然后從所述的依賴關(guān)系矩陣M中找到一個當前能夠滿足該虛擬節(jié)點的CPU資源要求的底層物理節(jié)點,并且要求該物理節(jié)點分別到所述的e個底層物理節(jié)點的平均關(guān)聯(lián)度因子的聯(lián)乘積最大,于是把該虛擬節(jié)點映射到該物理節(jié)點上;e是一個大于等于I的自然數(shù);所述的虛擬節(jié)點的父節(jié)點是指與該虛擬節(jié)點鄰接并且排序排在該虛擬節(jié)點之前的虛擬節(jié)點,當該虛擬節(jié)點進行節(jié)點映射時,該虛擬節(jié)點的父節(jié)點已經(jīng)完成節(jié)點映射了;(33)回到步驟31,直到所有虛擬節(jié)點完成映射。所述步驟4中所述的設定的鏈路映射方法是指k最短路徑k-shortest path方法。本發(fā)明的有益效果在于本發(fā)明的虛擬網(wǎng)絡映射方法,利用虛擬網(wǎng)絡成功映射的歷史數(shù)據(jù)實現(xiàn)了對底層物理網(wǎng)絡資源能力的科學評價,并能夠感知虛擬網(wǎng)絡的拓撲結(jié)構(gòu),實現(xiàn)節(jié)點映射的優(yōu)化選擇;本發(fā)明的虛擬網(wǎng)絡映射方法有效地提高了虛擬網(wǎng)絡映射的長期平均成功率,給底層物理網(wǎng)絡基礎設施提供商帶來了更多的長期平均收益。
圖I是本發(fā)明方法的流程圖。圖2是一個虛擬網(wǎng)絡的示意圖。圖3是一個底層物理網(wǎng)絡的示意圖。 圖4是圖2所示虛擬網(wǎng)絡映射到圖3所示底層物理網(wǎng)絡的示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖對本發(fā)明作進一步的詳細描述。參見圖1,介紹本發(fā)明的一種基于歷史數(shù)據(jù)實現(xiàn)拓撲感知的虛擬網(wǎng)絡映射方法,所述方法包括下列操作步驟(I)根據(jù)底層物理網(wǎng)絡積累的虛擬網(wǎng)絡成功映射的歷史數(shù)據(jù)集合,計算底層物理網(wǎng)絡節(jié)點之間的依賴關(guān)系矩陣M ;(2)對于一個需要進行映射的虛擬網(wǎng)絡,根據(jù)該虛擬網(wǎng)絡中虛擬節(jié)點對CPU資源的需求大小,從大到小對該虛擬網(wǎng)絡的所有虛擬節(jié)點進行排序;參見圖2,圖2所示虛擬網(wǎng)絡包括3個虛擬節(jié)點,即a、b、c三個虛擬節(jié)點,節(jié)點旁邊的方框內(nèi)的數(shù)字表示該虛擬節(jié)點的CPU資源需求大小,節(jié)點之間虛擬鏈路上的數(shù)字表示該條虛擬鏈路的帶寬資源需求大小,比如a虛擬節(jié)點的CPU資源需求是10個單位,a虛擬節(jié)點與b虛擬節(jié)點之間虛擬鏈路的帶寬資源需求是8個單位。按照虛擬節(jié)點對CPU資源的需求大小,從大到小對a、b、c三個虛擬節(jié)點進行排序,排序結(jié)果是a、C、b。(3)根據(jù)所述的依賴關(guān)系矩陣M,按照設定的節(jié)點映射方法,對所述的虛擬網(wǎng)絡中的虛擬節(jié)點按照已經(jīng)排好的順序依次進行虛擬節(jié)點到底層物理節(jié)點的節(jié)點映射;(4)節(jié)點映射完畢之后,按照設定的鏈路映射方法實現(xiàn)虛擬網(wǎng)絡的虛擬鏈路到底層物理網(wǎng)絡的物理路徑之間的映射。所述步驟I的具體內(nèi)容是包括如下操作步驟(11)對底層物理網(wǎng)絡的所有物理節(jié)點從I進行編號,直到編號n,n是一個自然數(shù),等于底層物理網(wǎng)絡的物理節(jié)點數(shù)目;參見圖3,圖3所示的一個底層物理網(wǎng)絡,共包括6個物理節(jié)點,依次進行了編號。圖中節(jié)點用圓圈表示,圓圈內(nèi)的數(shù)字就是該物理節(jié)點的編號,節(jié)點旁邊的方框內(nèi)的數(shù)字表示該物理節(jié)點的CPU資源能力,節(jié)點之間鏈路上的數(shù)字表示該條鏈路的帶寬資源能力,比如I號物理節(jié)點的CPU資源能力是40個單位,I號物理節(jié)點與2號物理節(jié)點之間物理鏈路的帶寬資源能力是20個單位。(12)從底層物理網(wǎng)絡積累的虛擬網(wǎng)絡成功映射的歷史數(shù)據(jù)集合中,取出每一個映射記錄;對每一個映射記錄,都構(gòu)造一個η行η列的空矩陣P,初始時該矩陣P的每個元素值為O值;在該映射記錄中,如果第i個底層物理節(jié)點至少被該映射記錄中一個虛擬節(jié)點成功映射過,則讓矩陣P的第i行第i列的元素an取值為I ;在該映射記錄中,如果第i個底層物理節(jié)點和第j個底層物理節(jié)點之間的一條物理路徑至少被該映射記錄中的一條虛擬鏈路成功映射過,則讓矩陣P的第i行第j列的元素au和第j行第i列的元素都取值為該條物理路徑跳數(shù)的倒數(shù),其中i和j都是大于等于I、小于等于η的自然數(shù),i和j必須不相等;比如,根據(jù)第一條映射記錄,我們得到與圖3所示底層物理網(wǎng)絡對應的矩陣P1如下
權(quán)利要求
1.一種基于歷史數(shù)據(jù)實現(xiàn)拓撲感知的虛擬網(wǎng)絡映射方法,其特征在于所述方法包括下列操作步驟(1)根據(jù)底層物理網(wǎng)絡積累的虛擬網(wǎng)絡成功映射的歷史數(shù)據(jù)集合,計算底層物理網(wǎng)絡節(jié)點之間的依賴關(guān)系矩陣M ;(2)對于一個需要進行映射的虛擬網(wǎng)絡,根據(jù)該虛擬網(wǎng)絡中虛擬節(jié)點對中央處理單元CPU資源的需求大小,從大到小對該虛擬網(wǎng)絡的所有虛擬節(jié)點進行排序;(3)根據(jù)所述的依賴關(guān)系矩陣M,按照設定的節(jié)點映射方法,對所述的虛擬網(wǎng)絡中的虛擬節(jié)點按照已經(jīng)排好的順序依次進行虛擬節(jié)點到底層物理節(jié)點的節(jié)點映射;(4)節(jié)點映射完畢之后,按照設定的鏈路映射方法實現(xiàn)虛擬網(wǎng)絡的虛擬鏈路到底層物理網(wǎng)絡的物理路徑之間的映射。
2.根據(jù)權(quán)利要求I所述的一種基于歷史數(shù)據(jù)實現(xiàn)拓撲感知的虛擬網(wǎng)絡映射方法,其特征在于所述步驟I的具體內(nèi)容是包括如下操作步驟(11)對底層物理網(wǎng)絡的所有物理節(jié)點從I進行編號,直到編號η,η是一個自然數(shù),等于底層物理網(wǎng)絡的物理節(jié)點數(shù)目;(12)從底層物理網(wǎng)絡積累的虛擬網(wǎng)絡成功映射的歷史數(shù)據(jù)集合中,取出每一個映射記錄;對每一個映射記錄,都構(gòu)造一個η行η列的空矩陣P,初始時該矩陣P的每個元素值為O值;在該映射記錄中,如果第i個底層物理節(jié)點至少被該映射記錄中一個虛擬節(jié)點成功映射過,則讓矩陣P的第i行第i列的元素an取值為I ;在該映射記錄中,如果第i個底層物理節(jié)點和第j個底層物理節(jié)點之間的一條物理路徑至少被該映射記錄中的一條虛擬鏈路成功映射過,則讓矩陣P的第i行第j列的元素au和第j行第i列的元素都取值為該條物理路徑的跳數(shù)的倒數(shù),其中i和j都是大于等于I、小于等于η的自然數(shù),i和j必須不相等;(13)把步驟12中所構(gòu)造的所有矩陣P進行矩陣相加求和,得到一個新的η行η列矩陣S ;(14)對矩陣S進行歸一化處理,得到底層物理網(wǎng)絡節(jié)點之間的依賴關(guān)系矩陣M
3.根據(jù)權(quán)利要求I所述的一種基于歷史數(shù)據(jù)實現(xiàn)拓撲感知的虛擬網(wǎng)絡映射方法,其特征在于所述步驟3的具體內(nèi)容是包括如下操作步驟(31)拿出當前排在最前面的還未進行節(jié)點映射的虛擬節(jié)點;(32)如果該虛擬節(jié)點沒有父節(jié)點,則從所述的依賴關(guān)系矩陣M中找到當前能夠滿足該虛擬節(jié)點的CPU資源要求并且平均重要度因子最高的底層物理節(jié)點,把該虛擬節(jié)點映射到該物理節(jié)點上;如果該虛擬節(jié)點有e個父節(jié)點,則首先找出與該虛擬節(jié)點所有父節(jié)點有對應映射關(guān)系的e個底層物理節(jié)點;然后從所述的依賴關(guān)系矩陣M中找到一個當前能夠滿足該虛擬節(jié)點的CPU資源要求的底層物理節(jié)點,并且要求該物理節(jié)點分別到所述的e個底層物理節(jié)點的平均關(guān)聯(lián)度因子的聯(lián)乘積最大,于是把該虛擬節(jié)點映射到該物理節(jié)點上;e是一個大于等于I的自然數(shù);所述的虛擬節(jié)點的父節(jié)點是指與該虛擬節(jié)點鄰接并且排序排在該虛擬節(jié)點之前的虛擬節(jié)點,當該虛擬節(jié)點進行節(jié)點映射時,該虛擬節(jié)點的父節(jié)點已經(jīng)完成節(jié)點映射了;(33)回到步驟31,直到所有虛擬節(jié)點完成映射。
4.根據(jù)權(quán)利要求I所述的一種基于歷史數(shù)據(jù)實現(xiàn)拓撲感知的虛擬網(wǎng)絡映射方法,其特征在于所述步驟4中所述的設定的鏈路映射方法是指k最短路徑k-shortest path方法。
全文摘要
一種基于歷史數(shù)據(jù)實現(xiàn)拓撲感知的虛擬網(wǎng)絡映射方法,包括下列操作步驟(1)根據(jù)底層物理網(wǎng)絡積累的虛擬網(wǎng)絡成功映射的歷史數(shù)據(jù)集合,計算底層物理網(wǎng)絡節(jié)點之間的依賴關(guān)系矩陣M;(2)根據(jù)虛擬網(wǎng)絡中虛擬節(jié)點對中央處理單元CPU資源的需求大小,從大到小對虛擬網(wǎng)絡的所有虛擬節(jié)點進行排序;(3)根據(jù)依賴關(guān)系矩陣M,按照順序依次進行虛擬節(jié)點到底層物理節(jié)點的節(jié)點映射;(4)節(jié)點映射完畢之后,按照設定的鏈路映射方法實現(xiàn)虛擬網(wǎng)絡的虛擬鏈路到底層物理網(wǎng)絡的物理路徑之間的映射。本發(fā)明方法實現(xiàn)了對底層物理網(wǎng)絡資源能力的科學評價,通過感知虛擬網(wǎng)絡的拓撲結(jié)構(gòu),實現(xiàn)節(jié)點映射的優(yōu)化選擇,提高了虛擬網(wǎng)絡映射的長期平均成功率。
文檔編號H04L29/08GK102932479SQ20121046101
公開日2013年2月13日 申請日期2012年11月16日 優(yōu)先權(quán)日2012年11月16日
發(fā)明者廖建新, 張磊, 卿蘇德, 徐童, 沈奇威, 張樂劍, 戚琦 申請人:北京郵電大學