本發(fā)明涉及一種應(yīng)用于carrier-sdn(軟件定義承載網(wǎng))的基于資源守恒的虛擬網(wǎng)絡(luò)重配置策略。
背景技術(shù):
互聯(lián)網(wǎng)是由眾多服務(wù)提供商共同構(gòu)建和運(yùn)營(yíng)支撐的。部署全新的網(wǎng)絡(luò)技術(shù)需要更新大量網(wǎng)絡(luò)設(shè)備的軟件和硬件,這不僅會(huì)帶來(lái)十分昂貴的成本,還需要各互聯(lián)網(wǎng)業(yè)務(wù)提供商對(duì)網(wǎng)絡(luò)架構(gòu)變化的一致認(rèn)可。他們之間的利益和策略的沖突,使得對(duì)于互聯(lián)網(wǎng)自身結(jié)構(gòu)僵化問(wèn)題的解決只能局限于增量的更新。因此,網(wǎng)絡(luò)虛擬化技術(shù)便應(yīng)運(yùn)而生。
在網(wǎng)絡(luò)虛擬化環(huán)境中,多個(gè)虛擬網(wǎng)絡(luò)可以被映射到同一個(gè)底層物理網(wǎng)絡(luò)上,以實(shí)現(xiàn)底層物理網(wǎng)絡(luò)資源的透明共享,同時(shí)每個(gè)虛擬網(wǎng)絡(luò)可以獨(dú)立地部署以及管理。網(wǎng)絡(luò)虛擬化概念及其相關(guān)技術(shù)的引入使得網(wǎng)絡(luò)結(jié)構(gòu)的動(dòng)態(tài)化和多元化成為可能,被認(rèn)為是解決現(xiàn)有網(wǎng)絡(luò)體系結(jié)構(gòu)僵化問(wèn)題,構(gòu)建軟件定義網(wǎng)絡(luò)的理想方案之一。在網(wǎng)絡(luò)虛擬化架構(gòu)之下,用戶可以根據(jù)需要定制自己的網(wǎng)絡(luò),擺脫硬件資源束縛以及繁瑣的網(wǎng)絡(luò)配置過(guò)程,達(dá)到真正意義的網(wǎng)絡(luò)作為一種服務(wù)的思想。
網(wǎng)絡(luò)虛擬化中面臨的一項(xiàng)重要挑戰(zhàn)是如何有效地實(shí)現(xiàn)虛擬網(wǎng)絡(luò)到底層網(wǎng)絡(luò)的映射。高效的虛擬網(wǎng)絡(luò)映射策略可以提高底層物理網(wǎng)絡(luò)資源的利用效率,進(jìn)而增加基礎(chǔ)設(shè)施提供商的收益,同時(shí)也可以有效地降低用戶的運(yùn)維成本。因此,在carrier-sdn中應(yīng)用網(wǎng)絡(luò)虛擬化技術(shù)有效地實(shí)現(xiàn)虛擬網(wǎng)絡(luò)資源分配的虛擬網(wǎng)絡(luò)映射算法具有重要的研究?jī)r(jià)值和意義。
虛擬網(wǎng)絡(luò)是由虛擬節(jié)點(diǎn)和虛擬鏈路構(gòu)成。其中,虛擬節(jié)點(diǎn)有計(jì)算資源需求,虛擬鏈路有帶寬資源需求。虛擬網(wǎng)絡(luò)映射算法就是將虛擬節(jié)點(diǎn)和虛擬鏈路映射到物理節(jié)點(diǎn)和物理路徑上,從而為實(shí)例化虛擬網(wǎng)絡(luò)提供計(jì)算資源和帶寬資源。目前關(guān)于虛擬網(wǎng)絡(luò)映射算法國(guó)內(nèi)外已經(jīng)有相當(dāng)多的研究,主要以基礎(chǔ)設(shè)施提供商最小代價(jià)或者虛擬網(wǎng)絡(luò)占用資源最少為優(yōu)化目標(biāo)進(jìn)行虛擬網(wǎng)絡(luò)的映射。當(dāng)網(wǎng)絡(luò)負(fù)載較小時(shí)性能較好,但當(dāng)負(fù)載增加時(shí),物理網(wǎng)絡(luò)中會(huì)出現(xiàn)瓶頸節(jié)點(diǎn)和瓶頸鏈路,目前已有的虛擬網(wǎng)絡(luò)映射研究的關(guān)注點(diǎn)大都集中在對(duì)物理資源(計(jì)算資源和帶寬資源)的初次分配,而忽略了初次分配后資源占用不均衡造成的瓶頸節(jié)點(diǎn)和瓶頸鏈路。由于上述算法并未考慮對(duì)這些瓶頸節(jié)點(diǎn)和瓶頸鏈路進(jìn)行遷移,導(dǎo)致資源利用率低和虛擬網(wǎng)絡(luò)請(qǐng)求接受率低的問(wèn)題,算法性能急劇下降。
為了提高算法性能,現(xiàn)有技術(shù)中提出了一些虛擬網(wǎng)絡(luò)重配置策略,例如,“基于最小代價(jià)的虛擬網(wǎng)絡(luò)重配置方法”(北京郵電大學(xué)學(xué)報(bào),2014,37(5):114-118.)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于資源守恒的虛擬網(wǎng)絡(luò)重配置方法。
為了達(dá)到上述目的,本發(fā)明采用了以下技術(shù)方案:
該虛擬網(wǎng)絡(luò)重配置方法包括以下步驟:
首先確定啟動(dòng)虛擬網(wǎng)絡(luò)重配置動(dòng)作的時(shí)機(jī):當(dāng)carrier-sdn底層出現(xiàn)瓶頸節(jié)點(diǎn)或瓶頸鏈路時(shí)啟動(dòng)映射在該carrier-sdn網(wǎng)絡(luò)的虛擬網(wǎng)絡(luò)的重配置動(dòng)作;然后在滿足資源守恒約束和二值約束條件下,如果瓶頸節(jié)點(diǎn)和瓶頸鏈路不相連,應(yīng)用基于貪婪算法的虛擬節(jié)點(diǎn)遷移策略將虛擬節(jié)點(diǎn)從原承載服務(wù)器遷移到目標(biāo)承載服務(wù)器,消除carrier-sdn網(wǎng)絡(luò)中的瓶頸節(jié)點(diǎn),或者應(yīng)用基于貪婪算法的虛擬鏈路遷移策略,將虛擬鏈路從原承載路徑遷移到目標(biāo)承載路徑上,消除carrier-sdn網(wǎng)絡(luò)中的瓶頸鏈路,如果瓶頸節(jié)點(diǎn)和瓶頸鏈路相連,應(yīng)用聯(lián)合虛擬節(jié)點(diǎn)和虛擬鏈路的遷移策略,首先根據(jù)瓶頸程度在瓶頸節(jié)點(diǎn)及瓶頸鏈路上應(yīng)用貪婪算法搜索虛擬節(jié)點(diǎn)或虛擬鏈路,然后采用聯(lián)合遷移的方式,將對(duì)應(yīng)相連的虛擬節(jié)點(diǎn)和虛擬鏈路從原承載服務(wù)器和路徑遷移至目標(biāo)承載服務(wù)器和路徑上;在虛擬節(jié)點(diǎn)遷移后、虛擬鏈路遷移過(guò)程中以及虛擬節(jié)點(diǎn)和虛擬鏈路聯(lián)合遷移后應(yīng)用映射路徑重路由策略對(duì)映射路徑進(jìn)行規(guī)劃。
所述瓶頸節(jié)點(diǎn)的判定條件為:
瓶頸鏈路的判定條件為:
瓶頸程度的判定條件為:若wnr較小則表示節(jié)點(diǎn)瓶頸程度較高,若wlr較小則表示鏈路瓶頸程度高,若wnr和wlr相等,則節(jié)點(diǎn)和鏈路的瓶頸程度相同;
其中,wn和wl為調(diào)整瓶頸節(jié)點(diǎn)和瓶頸鏈路的判斷權(quán)值,wnr和wlr為瓶頸節(jié)點(diǎn)和瓶頸鏈路的實(shí)際瓶頸值,com(i)為連接至carrier-sdn網(wǎng)絡(luò)的服務(wù)器i上的剩余計(jì)算資源,sn為carrier-sdn網(wǎng)絡(luò)上連接的服務(wù)器的總個(gè)數(shù),nc為連接到carrier-sdn網(wǎng)絡(luò)的服務(wù)器集合,bw(i,j)為carrier-sdn網(wǎng)絡(luò)中傳輸鏈路(i,j)的剩余帶寬資源,n為carriersdn網(wǎng)絡(luò)中傳輸鏈路總個(gè)數(shù),lc為carrier-sdn網(wǎng)絡(luò)中傳輸鏈路集合。
所述wn和wl的取值為1.5~2.5。
所述二值約束條件包括:
1)虛擬節(jié)點(diǎn)只能從一個(gè)連接到carrier-sdn的服務(wù)器上遷移到其它服務(wù)器上;
2)虛擬鏈路只能從一條由carrier-sdn傳輸鏈路組成的路徑上遷移到其它傳輸鏈路組成的路徑上;
3)當(dāng)同一個(gè)虛擬網(wǎng)絡(luò)中任意兩個(gè)虛擬節(jié)點(diǎn)之間有鏈路,則這兩個(gè)虛擬節(jié)點(diǎn)不能映射在同一個(gè)服務(wù)器上;
以及,4)一個(gè)虛擬節(jié)點(diǎn)只能映射到一個(gè)服務(wù)器上。
所述基于貪婪算法的虛擬節(jié)點(diǎn)遷移策略包括以下步驟:
1.1)首先對(duì)某瓶頸節(jié)點(diǎn)上承載的虛擬節(jié)點(diǎn)按照其所占用的計(jì)算資源從大到小進(jìn)行排序,再按照該排序?qū)⑻摂M節(jié)點(diǎn)依次從瓶頸節(jié)點(diǎn)遷移到能夠滿足虛擬節(jié)點(diǎn)的資源需求且能使carrier-sdn網(wǎng)絡(luò)計(jì)算資源不均衡度最小的服務(wù)器上,當(dāng)整個(gè)carrier-sdn網(wǎng)絡(luò)的計(jì)算資源不均衡度不再減小,停止該瓶頸節(jié)點(diǎn)上承載的剩余虛擬節(jié)點(diǎn)的遷移;
1.2)針對(duì)其它瓶頸節(jié)點(diǎn)重復(fù)步驟1.1)的過(guò)程,直至消除carrier-sdn網(wǎng)絡(luò)中出現(xiàn)的瓶頸節(jié)點(diǎn),使得各服務(wù)器上的剩余計(jì)算資源均勻分布;
所述基于貪婪算法的虛擬鏈路遷移策略包括以下步驟:
2.1)首先對(duì)某瓶頸鏈路上承載的虛擬鏈路按照其所占用的帶寬資源從大到小進(jìn)行排序,然后按照該排序?qū)⑻摂M鏈路依次從瓶頸鏈路上遷移到能夠滿足虛擬鏈路資源需求且能使carrier-sdn網(wǎng)絡(luò)帶寬資源不均衡度最小的路徑上,當(dāng)整個(gè)carrier-sdn網(wǎng)絡(luò)的帶寬資源不均衡度不再減小,停止該瓶頸鏈路上承載的剩余虛擬鏈路的遷移;
2.2)針對(duì)其它瓶頸鏈路重復(fù)步驟2.1)的過(guò)程,直至消除carrier-sdn網(wǎng)絡(luò)中出現(xiàn)的瓶頸鏈路,使得各路徑上的剩余帶寬資源均勻分布。
所述計(jì)算資源不均衡度定義為連接至carrier-sdn網(wǎng)絡(luò)的服務(wù)器上的剩余計(jì)算資源的標(biāo)準(zhǔn)方差:
其中,dn為計(jì)算資源不均衡度,com(i)為連接至carrier-sdn網(wǎng)絡(luò)的服務(wù)器i上的剩余計(jì)算資源,sn為carrier-sdn網(wǎng)絡(luò)上連接的服務(wù)器的總個(gè)數(shù),nc為連接到carrier-sdn網(wǎng)絡(luò)的服務(wù)器集合;
所述帶寬資源不均衡度定義為carrier-sdn網(wǎng)絡(luò)中傳輸鏈路的剩余帶寬資源的標(biāo)準(zhǔn)方差:
其中,dl為帶寬資源不均衡度,bw(i,j)為carrier-sdn網(wǎng)絡(luò)中傳輸鏈路(i,j)的剩余帶寬資源,n為carrier-sdn網(wǎng)絡(luò)中傳輸鏈路總個(gè)數(shù),lc為carrier-sdn網(wǎng)絡(luò)中傳輸鏈路集合。
所述聯(lián)合虛擬節(jié)點(diǎn)和虛擬鏈路的遷移策略具體包括以下步驟:
3.1)計(jì)算瓶頸節(jié)點(diǎn)和瓶頸鏈路的實(shí)際瓶頸值wnr和wlr:
3.2)根據(jù)實(shí)際瓶頸值,確定貪婪算法實(shí)施的對(duì)象:若瓶頸節(jié)點(diǎn)的實(shí)際瓶頸值高,則在瓶頸節(jié)點(diǎn)上實(shí)施貪婪算法,對(duì)瓶頸節(jié)點(diǎn)承載的虛擬節(jié)點(diǎn)按照其所占用的計(jì)算資源從大到小進(jìn)行排序,若瓶頸鏈路實(shí)際瓶頸值高,則在瓶頸鏈路上實(shí)施貪婪算法,對(duì)瓶頸鏈路承載的虛擬鏈路按照其所占用的帶寬資源從大到小進(jìn)行排序;
3.3)依次從瓶頸節(jié)點(diǎn)和瓶頸鏈路選擇虛擬節(jié)點(diǎn)和對(duì)應(yīng)相連的虛擬鏈路或虛擬鏈路和對(duì)應(yīng)相連的虛擬節(jié)點(diǎn),遷移至能夠滿足聯(lián)合遷移的虛擬節(jié)點(diǎn)和虛擬鏈路的資源需求且能使carrier-sdn網(wǎng)絡(luò)聯(lián)合資源不均衡度最小的服務(wù)器和對(duì)應(yīng)相連的路徑上;
3.4)當(dāng)整個(gè)carrier-sdn網(wǎng)絡(luò)的聯(lián)合資源不均衡度不再減小,轉(zhuǎn)步驟3.5);
3.5)重復(fù)步驟3.1)至步驟3.4),直至消除carrier-sdn網(wǎng)絡(luò)中所有相連的瓶頸節(jié)點(diǎn)和瓶頸鏈路;
所述聯(lián)合資源不均衡度定義為:
其中,du為聯(lián)合資源不均衡度。
所述映射路徑重路由策略包括以下情形:
1)對(duì)由瓶頸節(jié)點(diǎn)遷移的虛擬節(jié)點(diǎn)與未遷移的虛擬節(jié)點(diǎn)之間的虛擬鏈路,或者是同時(shí)遷移的虛擬節(jié)點(diǎn)之間的虛擬鏈路進(jìn)行重路由;
2)對(duì)由瓶頸鏈路遷移的虛擬鏈路進(jìn)行重路由;
3)對(duì)由瓶頸節(jié)點(diǎn)和瓶頸鏈路聯(lián)合遷移的虛擬節(jié)點(diǎn)和虛擬鏈路進(jìn)行重路由;
所述的情形1)使用改進(jìn)dijkstra算法對(duì)遷移的虛擬節(jié)點(diǎn)所映射的路徑進(jìn)行選擇:該改進(jìn)的dijkstra算法對(duì)dijkstra算法中鏈路的權(quán)值進(jìn)行重定義,即將底層鏈路剩余帶寬的倒數(shù)作為權(quán)值;
所述的情形2)包括以下步驟:
1)使用改進(jìn)k最短路徑算法,以瓶頸鏈路兩端點(diǎn)為源節(jié)點(diǎn)和目的節(jié)點(diǎn)進(jìn)行路徑選擇,選擇出前k條最短路徑,當(dāng)源節(jié)點(diǎn)和目的節(jié)點(diǎn)的路徑數(shù)目小于k時(shí),則根據(jù)路徑數(shù)目盡可能選擇最多;該改進(jìn)k最短路徑算法將k最短路徑算法中鏈路的權(quán)值進(jìn)行重定義,即將底層鏈路剩余帶寬的倒數(shù)作為權(quán)值;
2)在所選擇得到的路徑中,以能夠滿足被遷移虛擬鏈路的帶寬需求和使帶寬資源不均衡度最小為目標(biāo)進(jìn)行路徑確定,并將虛擬鏈路遷移到該路徑上;
所述的情形3)使用改進(jìn)dijkstra算法對(duì)與瓶頸鏈路相連的遷移的虛擬節(jié)點(diǎn)所映射的路徑進(jìn)行選擇:該改進(jìn)的dijkstra算法對(duì)dijkstra算法中鏈路的權(quán)值進(jìn)行重定義,即將底層鏈路剩余帶寬的倒數(shù)作為權(quán)值。
對(duì)于以上任意情形,當(dāng)所選擇得到的路徑的剩余帶寬資源不能滿足需要遷移的虛擬鏈路的帶寬請(qǐng)求時(shí),計(jì)算瓶頸節(jié)點(diǎn)對(duì)應(yīng)的carrier-sdn底層光傳輸網(wǎng)絡(luò)光交換機(jī)之間的直通光路,根據(jù)計(jì)算得到的直通光路在carrier-sdn上層分組交換網(wǎng)中建立新的傳輸鏈路,將虛擬鏈路從瓶頸鏈路遷移到該傳輸鏈路上。
所述虛擬網(wǎng)絡(luò)重配置方法還包括以下步驟:根據(jù)虛擬網(wǎng)絡(luò)重配置代價(jià),確定下一次啟動(dòng)虛擬網(wǎng)絡(luò)重配置動(dòng)作的時(shí)間間隔。
本發(fā)明的有益效果體現(xiàn)在:
首先,由基于反饋的虛擬網(wǎng)絡(luò)觸發(fā)機(jī)制確定啟動(dòng)虛擬網(wǎng)絡(luò)重配置動(dòng)作的時(shí)機(jī);其次,應(yīng)用基于貪婪算法的資源守恒虛擬節(jié)點(diǎn)遷移策略,將虛擬節(jié)點(diǎn)從瓶頸節(jié)點(diǎn)上遷移到其它的服務(wù)器上,消除carrier-sdn中的瓶頸節(jié)點(diǎn);或者應(yīng)用基于貪婪算法的虛擬鏈路遷移策略,將虛擬鏈路從瓶頸鏈路上遷移到其它路徑上,消除carrier-sdn中的瓶頸鏈路;或者是使用聯(lián)合遷移的方式,將瓶頸節(jié)點(diǎn)和瓶頸鏈路的虛擬節(jié)點(diǎn)和虛擬鏈路進(jìn)行聯(lián)合遷移,以同時(shí)消除carrier-sdn中的瓶頸節(jié)點(diǎn)和瓶頸鏈路;然后應(yīng)用重路由策略,對(duì)虛擬鏈路映射路徑重新規(guī)劃。
本發(fā)明由于采取以上技術(shù)方案,所提的基于資源守恒的虛擬網(wǎng)絡(luò)重配置方法與現(xiàn)有虛擬網(wǎng)絡(luò)重配置策略相比,具有重配置響應(yīng)速度快,配置效率高,對(duì)虛擬網(wǎng)絡(luò)的抖動(dòng)較小,服務(wù)質(zhì)量較高的優(yōu)點(diǎn),同時(shí)能夠使carrier-sdn具有更高的虛擬請(qǐng)求接受率、更好的負(fù)載均衡性和更高的平均收益。
進(jìn)一步的,通過(guò)定義聯(lián)合資源不均衡度將相連的瓶頸節(jié)點(diǎn)和瓶頸鏈路遷移,1)能夠增加遷移的效率,使用一次遷移(貪婪算法和映射路徑規(guī)劃算法只使用一次)同時(shí)解決相連的瓶頸節(jié)點(diǎn)和瓶頸鏈路的瓶頸問(wèn)題;2)減少發(fā)生“蹺蹺板”現(xiàn)象的概率,即對(duì)瓶頸節(jié)點(diǎn)承載的虛擬節(jié)點(diǎn)進(jìn)行遷移后,為虛擬鏈路重新規(guī)劃路徑時(shí),會(huì)產(chǎn)生新的瓶頸鏈路。
進(jìn)一步的,使用改進(jìn)的dijkstra和k最短路徑算法,能夠使選擇出的映射路徑跳數(shù)較少,并且組成路徑的鏈路資源充足。跳數(shù)較少,可以節(jié)省carrier-sdn網(wǎng)絡(luò)鏈路的帶寬資源;鏈路資源充足,能夠增加路徑規(guī)劃成功的概率,當(dāng)路徑規(guī)劃成功并且虛擬鏈路映射后,不至于使剩余資源過(guò)少而產(chǎn)生新的瓶頸鏈路。
附圖說(shuō)明
圖1是基于貪婪算法的虛擬節(jié)點(diǎn)遷移策略流程圖。
圖2是基于貪婪算法的虛擬鏈路遷移策略流程圖。
圖3是聯(lián)合節(jié)點(diǎn)和鏈路的重配置策略流程圖。
圖4是重路由映射路徑規(guī)劃策略流程圖。
具體實(shí)施方式
為了使本發(fā)明的內(nèi)容、效果以及優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明提出的基于資源守恒的虛擬網(wǎng)絡(luò)重配置策略進(jìn)行詳細(xì)的描述。
(一)基于資源守恒的虛擬網(wǎng)絡(luò)重配置策略架構(gòu)
如圖1所示,基于資源守恒的虛擬網(wǎng)絡(luò)重配置策略主要包括基于反饋的虛擬網(wǎng)絡(luò)重配置策略觸發(fā)機(jī)制、瓶頸節(jié)點(diǎn)和瓶頸鏈路相互獨(dú)立條件下虛擬節(jié)點(diǎn)或鏈路遷移策略、瓶頸節(jié)點(diǎn)和瓶頸鏈路相連條件下聯(lián)合節(jié)點(diǎn)和鏈路的虛擬網(wǎng)絡(luò)重配置策略以及重路由映射路徑規(guī)劃策略。
首先,由基于反饋的虛擬網(wǎng)絡(luò)重配置策略觸發(fā)機(jī)制確定啟動(dòng)虛擬網(wǎng)絡(luò)重配置動(dòng)作的時(shí)機(jī):當(dāng)g(nc,lc)中底層某節(jié)點(diǎn)出現(xiàn)瓶頸節(jié)點(diǎn)或底層某鏈路出現(xiàn)瓶頸鏈路時(shí)啟動(dòng)g(nv,lv)中虛擬節(jié)點(diǎn)或虛擬鏈路的重配置;
其中:
(1)瓶頸節(jié)點(diǎn)的判定條件:
(2)瓶頸鏈路的判定條件:
然后,在滿足資源約束和二值約束條件下,重配置已經(jīng)成功映射在carrier-sdn中的虛擬網(wǎng)絡(luò),如果承載虛擬節(jié)點(diǎn)的瓶頸節(jié)點(diǎn)相連的鏈路不是瓶頸鏈路,虛擬節(jié)點(diǎn)重配置與虛擬鏈路重配置可以獨(dú)立進(jìn)行,將虛擬節(jié)點(diǎn)從原承載服務(wù)器遷移到目標(biāo)服務(wù)器,或者將虛擬鏈路從原承載路徑遷移到目標(biāo)承載路徑上;否則,執(zhí)行虛擬節(jié)點(diǎn)和虛擬鏈路聯(lián)合遷移的策略;
其中:
(1)虛擬網(wǎng)絡(luò)重配置包括虛擬節(jié)點(diǎn)遷移和虛擬鏈路遷移,如下所示:
vnr=mig(node)+mig(link)(2-1)
mig(node)指虛擬節(jié)點(diǎn)遷移,mig(link)指虛擬鏈路遷移;
虛擬節(jié)點(diǎn)遷移是指將映射在連接到carrier-sdn的服務(wù)器i上的虛擬節(jié)點(diǎn)u遷移到服務(wù)器i'上,如下所示:
虛擬鏈路遷移是指將映射在由carrier-sdn傳輸鏈路(i,j)組成的路徑上的虛擬鏈路(u,v)遷移到包括傳輸鏈路(i',j')的路徑上,如下所示:
(2)二值約束條件
虛擬節(jié)點(diǎn)只能從一個(gè)連接到carrier-sdn的服務(wù)器上遷移到其它服務(wù)器上,即:
虛擬鏈路只能從一條由carrier-sdn傳輸鏈路組成的路徑上遷移到其它傳輸鏈路組成的路徑上,即:
當(dāng)同一個(gè)虛擬網(wǎng)絡(luò)中任意兩個(gè)虛擬節(jié)點(diǎn)之間有鏈路,則這兩個(gè)虛擬節(jié)點(diǎn)不能映射在同一個(gè)服務(wù)器上,即:
一個(gè)虛擬節(jié)點(diǎn)只能映射到carrier-sdn的一個(gè)服務(wù)器上,即:
(3)具體流程
判斷瓶頸節(jié)點(diǎn)和瓶頸鏈路是否相連,如果不相連,應(yīng)用基于貪婪算法的資源守恒虛擬節(jié)點(diǎn)遷移策略,將虛擬節(jié)點(diǎn)從瓶頸節(jié)點(diǎn)上遷移到其它的服務(wù)器上,消除carrier-sdn中的瓶頸節(jié)點(diǎn),或者應(yīng)用基于貪婪算法的虛擬鏈路遷移策略,將虛擬鏈路從瓶頸鏈路上遷移到其它路徑上,消除carrier-sdn中的瓶頸鏈路;如果瓶頸節(jié)點(diǎn)和瓶頸鏈路相連,根據(jù)資源實(shí)際不均衡權(quán)重,即瓶頸節(jié)點(diǎn)和瓶頸鏈路的實(shí)際瓶頸值wnr和wlr,應(yīng)用貪婪算法實(shí)施于瓶頸節(jié)點(diǎn)或瓶頸鏈路,再使用聯(lián)合遷移的方式遷移節(jié)點(diǎn)和鏈路;
瓶頸程度的判定條件為:若wnr較小則表示節(jié)點(diǎn)瓶頸程度高,若wlr較小則表示鏈路瓶頸程度高,若wnr和wlr相等,則節(jié)點(diǎn)和鏈路的瓶頸程度相同;
應(yīng)用重路由策略,對(duì)虛擬鏈路映射路徑重新規(guī)劃后,根據(jù)carrier-sdn服務(wù)提供商所要求的虛擬網(wǎng)絡(luò)重配置代價(jià),調(diào)整瓶頸節(jié)點(diǎn)和瓶頸鏈路的判斷權(quán)值wn和wl(兩個(gè)判斷權(quán)值取值范圍均為1.5~2.5,權(quán)值越小,遷移的頻率越大,底層負(fù)載越均衡,但遷移的代價(jià)越高),從而確定下一次啟動(dòng)基于資源守恒的虛擬網(wǎng)絡(luò)重配置策略的時(shí)間間隔。
(二)基于資源守恒的虛擬網(wǎng)絡(luò)重配置策略算法實(shí)例
(1)基于貪婪算法的虛擬節(jié)點(diǎn)遷移策略
參見(jiàn)圖1,具體流程描述如下:
step1:對(duì)一個(gè)瓶頸節(jié)點(diǎn)上承載的虛擬節(jié)點(diǎn),按照其占用的計(jì)算資源從大到小進(jìn)行排序,構(gòu)建瓶頸節(jié)點(diǎn)
step2:按照瓶頸節(jié)點(diǎn)上虛擬節(jié)點(diǎn)集合中虛擬節(jié)點(diǎn)的順序,搜索剩余計(jì)算資源滿足虛擬節(jié)點(diǎn)
step3:目標(biāo)服務(wù)器搜索成功,則將虛擬節(jié)點(diǎn)
step4:計(jì)算虛擬節(jié)點(diǎn)遷移后,當(dāng)前carrier-sdn的計(jì)算資源不均衡度:
當(dāng)遷移的虛擬節(jié)點(diǎn)超過(guò)1個(gè)時(shí),如果此時(shí)的計(jì)算資源不均衡度大于遷移前一個(gè)虛擬節(jié)點(diǎn)后的計(jì)算資源不均衡度,轉(zhuǎn)step6;否則,轉(zhuǎn)step5;
step5:對(duì)于一個(gè)確定的瓶頸節(jié)點(diǎn),如果被遷移的虛擬節(jié)點(diǎn)個(gè)數(shù)大于承載在該瓶頸節(jié)點(diǎn)上的虛擬節(jié)點(diǎn)的總個(gè)數(shù)m,轉(zhuǎn)step6;否則,轉(zhuǎn)step2;
step6:瓶頸節(jié)點(diǎn)
step7:如果已經(jīng)完成虛擬節(jié)點(diǎn)遷移的瓶頸節(jié)點(diǎn)個(gè)數(shù)大于carrier-sdn中瓶頸節(jié)點(diǎn)的總數(shù)j,轉(zhuǎn)step8;否則,轉(zhuǎn)step1;
step8:完成carrier-sdn中虛擬鏈路遷移,實(shí)現(xiàn)基于貪婪算法的虛擬節(jié)點(diǎn)遷移策略。
(2)基于貪婪算法的虛擬鏈路遷移策略
參見(jiàn)圖2,具體的流程描述如下:
step1:對(duì)一個(gè)瓶頸鏈路上承載的虛擬鏈路,按照其占用的帶寬資源從大到小進(jìn)行排序,構(gòu)建瓶頸鏈路
step2:按照瓶頸鏈路上虛擬鏈路集合中虛擬鏈路的順序,搜索剩余帶寬資源滿足虛擬鏈路
step3:目標(biāo)路徑搜索成功,則將虛擬鏈路
step4:計(jì)算虛擬鏈路遷移后,當(dāng)前carrier-sdn的帶寬資源不均衡度:
當(dāng)遷移的虛擬鏈路超過(guò)1條時(shí),如果此時(shí)的帶寬資源不均衡度大于遷移前一個(gè)虛擬鏈路后的帶寬資源不均衡度,轉(zhuǎn)step6;否則,轉(zhuǎn)step5;
step5:對(duì)于一個(gè)確定的瓶頸鏈路,如果被遷移的虛擬鏈路個(gè)數(shù)大于承載在該瓶頸鏈路上的虛擬鏈路的總個(gè)數(shù)n,轉(zhuǎn)step6;否則,轉(zhuǎn)step2;
step6:瓶頸鏈路
step7:如果已經(jīng)完成虛擬鏈路遷移的瓶頸鏈路個(gè)數(shù)大于carrier-sdn中瓶頸鏈路的總數(shù)k,轉(zhuǎn)step8;否則,轉(zhuǎn)step1;
step8:完成carrier-sdn中虛擬鏈路遷移,實(shí)現(xiàn)基于貪婪算法的虛擬鏈路遷移策略。
(3)聯(lián)合瓶頸節(jié)點(diǎn)和瓶頸鏈路上的虛擬節(jié)點(diǎn)與虛擬鏈路的遷移
參見(jiàn)圖3,具體流程如下所示:
step1:對(duì)一個(gè)聯(lián)合瓶頸節(jié)點(diǎn)和瓶頸鏈路(即承載虛擬節(jié)點(diǎn)的瓶頸節(jié)點(diǎn)相連的鏈路是瓶頸鏈路),分別計(jì)算瓶頸節(jié)點(diǎn)和瓶頸鏈路的實(shí)際瓶頸值;
step2:比較兩個(gè)實(shí)際瓶頸值的大小,若瓶頸節(jié)點(diǎn)的實(shí)際瓶頸值wnr大,則執(zhí)行step3;若瓶頸鏈路的實(shí)際瓶頸值wlr大,則執(zhí)行step4;
step3:對(duì)聯(lián)合瓶頸節(jié)點(diǎn)和瓶頸鏈路上承載的虛擬節(jié)點(diǎn)和虛擬鏈路,按照其虛擬節(jié)點(diǎn)占用的計(jì)算資源從大到小進(jìn)行排序,構(gòu)建瓶頸節(jié)點(diǎn)
step4:對(duì)聯(lián)合瓶頸節(jié)點(diǎn)和瓶頸鏈路上承載的虛擬節(jié)點(diǎn)和虛擬鏈路,按照其虛擬鏈路占用的帶寬資源從大到小進(jìn)行排序,構(gòu)建瓶頸鏈路
step5:按照瓶頸節(jié)點(diǎn)上虛擬節(jié)點(diǎn)集合中虛擬節(jié)點(diǎn)的順序或者瓶頸鏈路上虛擬鏈路集合中虛擬鏈路的順序,搜索剩余計(jì)算資源和帶寬資源滿足虛擬節(jié)點(diǎn)
step6:目標(biāo)服務(wù)器和路徑搜索成功,則將虛擬節(jié)點(diǎn)
step7:計(jì)算聯(lián)合遷移后,當(dāng)前carrier-sdn的聯(lián)合資源不均衡度:
step8:當(dāng)遷移的虛擬節(jié)點(diǎn)和虛擬鏈路超過(guò)1個(gè)時(shí),如果此時(shí)的聯(lián)合資源不均衡度大于遷移前一個(gè)虛擬節(jié)點(diǎn)和虛擬鏈路后的聯(lián)合資源不均衡度,轉(zhuǎn)step10;否則,轉(zhuǎn)step9;
step9:對(duì)于一個(gè)確定的聯(lián)合瓶頸節(jié)點(diǎn)和瓶頸鏈路,如果被聯(lián)合遷移的虛擬節(jié)點(diǎn)和虛擬鏈路個(gè)數(shù)大于承載在該瓶頸鏈路上的虛擬鏈路的總個(gè)數(shù)n,轉(zhuǎn)step10;否則,轉(zhuǎn)step2;
step10:聯(lián)合瓶頸節(jié)點(diǎn)和瓶頸鏈路遷移完成,轉(zhuǎn)step7;
step11:如果已經(jīng)完成虛擬節(jié)點(diǎn)和虛擬鏈路遷移的聯(lián)合瓶頸節(jié)點(diǎn)和瓶頸鏈路個(gè)數(shù)大于carrier-sdn中瓶頸鏈路的總數(shù)k,轉(zhuǎn)step11;否則,轉(zhuǎn)step1;
step12:完成carrier-sdn中虛擬節(jié)點(diǎn)和虛擬鏈路聯(lián)合遷移,實(shí)現(xiàn)基于貪婪算法的聯(lián)合遷移策略。
(4)重路由映射路徑規(guī)劃策略
參見(jiàn)圖4,具體流程如下所示:
重路由映射路徑規(guī)劃策略是對(duì)瓶頸節(jié)點(diǎn)上的虛擬節(jié)點(diǎn)進(jìn)行遷移后,或者對(duì)瓶頸鏈路的虛擬鏈路進(jìn)行遷移中,或者是對(duì)聯(lián)合瓶頸節(jié)點(diǎn)和瓶頸鏈路進(jìn)行遷移后虛擬鏈路的映射路徑進(jìn)行重新規(guī)劃。
step1:判斷映射路徑規(guī)劃的類型,如果是對(duì)瓶頸節(jié)點(diǎn)上虛擬節(jié)點(diǎn)進(jìn)行遷移,則執(zhí)行step2,如果是對(duì)瓶頸鏈路上虛擬鏈路進(jìn)行遷移,則執(zhí)行step3,如果是對(duì)聯(lián)合瓶頸節(jié)點(diǎn)和瓶頸鏈路進(jìn)行遷移,則執(zhí)行step4;
step2:確定遷移的虛擬節(jié)點(diǎn)或未遷移的虛擬節(jié)點(diǎn)之間的路徑,利用改進(jìn)的dijkstra算法進(jìn)行映射路徑的重新選擇;
step3:確定遷移的虛擬鏈路的映射路徑,以瓶頸節(jié)點(diǎn)鏈路的兩個(gè)端點(diǎn)為源節(jié)點(diǎn)和目的節(jié)點(diǎn),使用改進(jìn)k最短路徑算法進(jìn)行映射路徑的重新選擇;
step4:確定聯(lián)合遷移的虛擬節(jié)點(diǎn)和虛擬鏈路,使用改進(jìn)dijkstra算法對(duì)與瓶頸鏈路相連的遷移或未遷移的虛擬節(jié)點(diǎn)所映射的路徑進(jìn)行選擇;
step5:當(dāng)所得的carrier-sdn路徑的剩余帶寬資源不能滿足需要遷移的虛擬鏈路的帶寬請(qǐng)求時(shí),計(jì)算瓶頸節(jié)點(diǎn)對(duì)應(yīng)的carrier-sdn底層光傳輸網(wǎng)絡(luò)光交換機(jī)之間的直通光路,根據(jù)計(jì)算得到的直通光路在carrier-sdn上層分組交換網(wǎng)中建立新的傳輸鏈路,將虛擬鏈路從瓶頸鏈路遷移到該傳輸鏈路上;
step6:將對(duì)應(yīng)的虛擬鏈路映射到規(guī)劃好的路徑上。
(三)符號(hào)說(shuō)明
表1.虛擬網(wǎng)絡(luò)重配置相關(guān)符號(hào)定義
表2.基于貪婪算法的虛擬節(jié)點(diǎn)遷移策略中涉及的符號(hào)
表3.基于貪婪算法的虛擬鏈路遷移策略中涉及的符號(hào)
總之,本發(fā)明公開了一種基于資源守恒的虛擬網(wǎng)絡(luò)重配置方法,利用網(wǎng)絡(luò)虛擬化和軟件定義網(wǎng)絡(luò)的技術(shù),針對(duì)carrier-sdn的結(jié)構(gòu)僵化問(wèn)題以及虛擬網(wǎng)絡(luò)初次配置造成的底層網(wǎng)絡(luò)資源不均衡問(wèn)題,提出了carrier-sdn中基于資源守恒的虛擬網(wǎng)絡(luò)重配置策略。該策略主要包括了基于貪婪算法的虛擬節(jié)點(diǎn)遷移策略、基于貪婪算法的虛擬鏈路遷移策略、實(shí)施重路由的映射路徑規(guī)劃虛擬鏈路遷移策略和基于反饋的虛擬網(wǎng)絡(luò)觸發(fā)機(jī)制。由于虛擬網(wǎng)絡(luò)請(qǐng)求中,虛擬節(jié)點(diǎn)之間通過(guò)虛擬鏈路相互連接,因此需要聯(lián)合考慮虛擬節(jié)點(diǎn)遷移和虛擬鏈路遷移。本發(fā)明提出的虛擬網(wǎng)絡(luò)重配置策略基于資源守恒的思想,與現(xiàn)有虛擬網(wǎng)絡(luò)重配置策略相比,具有重配置響應(yīng)速度快,配置效率高,對(duì)虛擬網(wǎng)絡(luò)的抖動(dòng)較小,服務(wù)質(zhì)量較高的優(yōu)點(diǎn),改善了carrier-sdn虛擬網(wǎng)絡(luò)的負(fù)載均衡性、提高了虛擬網(wǎng)絡(luò)請(qǐng)求接受率和carrier-sdn網(wǎng)絡(luò)平均收益,提高網(wǎng)絡(luò)的穩(wěn)定性,減少了底層網(wǎng)絡(luò)資源的開銷。