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