圖4為本發(fā)明一種實施方式的染色體編碼示意圖;
[0073] 圖5 (a)和圖5化)為本發(fā)明一種實施方式的種群經(jīng)過初始化可能存在的兩條染色 體示意圖;
[0074] 圖6為本發(fā)明一種實施方式兩條染色體Pi和P2交叉后得到新染色體P' 1和P' 2 示意圖;
[00巧]圖7為本發(fā)明一種實施方式染色體Ps經(jīng)過變異操作得到新染色體P3'示意圖;
[0076] 圖8為本發(fā)明一種實施方式修復(fù)染色體P3'中的路徑環(huán)得到無環(huán)的染色體P3"示 意圖;
[0077] 圖9(a)為本發(fā)明一種實施方式C0ST239網(wǎng)絡(luò)拓?fù)鋱D;化)本發(fā)明一種實施方式 NSFNET網(wǎng)絡(luò)拓?fù)鋱D;(C)本發(fā)明一種實施方式Italy肥T網(wǎng)絡(luò)拓?fù)鋱D;
[0078] 圖10為本發(fā)明一種實施方式面向云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法在不同 約束下網(wǎng)絡(luò)總能耗與平均業(yè)務(wù)量的關(guān)系圖;
[0079] 圖11為本發(fā)明一種實施方式面向云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法在不同 約束下網(wǎng)絡(luò)比特能耗與平均業(yè)務(wù)量的關(guān)系圖;
[0080] 圖12為本發(fā)明一種實施方式面向云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法在不同 約束下請求阻塞數(shù)與平均業(yè)務(wù)量的關(guān)系圖;
[0081] 圖13為本發(fā)明一種實施方式面向云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法在不同 約束下休眠鏈路數(shù)與平均業(yè)務(wù)量的關(guān)系圖;
[0082] 圖14為本發(fā)明一種實施方式面向云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法在不同 約束下平均鏈路利用率與平均業(yè)務(wù)量的關(guān)系圖;
[0083] 圖15(a)為本發(fā)明一種實施方式面向云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法應(yīng) 用于=種不同網(wǎng)絡(luò)拓?fù)涞谋忍啬芎呐c平均業(yè)務(wù)量的關(guān)系圖;化)本發(fā)明一種實施方式面向 云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法應(yīng)用于=種不同網(wǎng)絡(luò)拓?fù)涞目偰芎呐c平均業(yè)務(wù)量 的關(guān)系圖;
[0084] 圖16(a)為本發(fā)明一種實施方式面向云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法應(yīng) 用于=種不同網(wǎng)絡(luò)拓?fù)涞募せ铈溌窋?shù)與平均業(yè)務(wù)量關(guān)系對比圖;化)本發(fā)明一種實施方式 面向云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法應(yīng)用于=種不同網(wǎng)絡(luò)拓?fù)涞拈_啟鏈路數(shù)與平 均業(yè)務(wù)量關(guān)系對比圖;
[0085] 圖17為本發(fā)明一種實施方式面向云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法應(yīng)用于 =種不同網(wǎng)絡(luò)拓?fù)涞募せ铈溌窋?shù)與平均業(yè)務(wù)量關(guān)系對比圖;
[0086] 圖18(a)為本發(fā)明一種實施方式S種不同路由算法應(yīng)用于C0ST239拓?fù)渲械玫降?網(wǎng)絡(luò)比特能耗與平均業(yè)務(wù)量關(guān)系對比圖;化)為本發(fā)明一種實施方式=種不同路由算法應(yīng) 用于C0ST239拓?fù)渲械玫降木W(wǎng)絡(luò)總能耗與平均業(yè)務(wù)量關(guān)系對比圖;
[0087] 圖19為本發(fā)明一種實施方式S種不同路由算法應(yīng)用于C0ST239拓?fù)渲械玫降钠?均鏈路利用率與平均業(yè)務(wù)量關(guān)系對比圖;
[0088] 圖20(a)為本發(fā)明一種實施方式將面向云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法 與GreenOSPF算法應(yīng)用于C0ST239拓?fù)涞玫降木W(wǎng)絡(luò)比特能耗與平均業(yè)務(wù)量關(guān)系對比圖;化) 為本發(fā)明一種實施方式將面向云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法與GreenOSPF算法 應(yīng)用于C0ST239拓?fù)涞玫降木W(wǎng)絡(luò)總能耗與平均業(yè)務(wù)量關(guān)系對比圖;
[0089] 圖21(a)為本發(fā)明一種實施方式將面向云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法 與GreenOSPF算法應(yīng)用于C0ST239拓?fù)涞玫降男菝哝溌窋?shù)與平均業(yè)務(wù)量關(guān)系對比圖;化) 為本發(fā)明一種實施方式將面向云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法與GreenOSPF算法 應(yīng)用于C0ST239拓?fù)涞玫降拈_啟鏈路數(shù)與平均業(yè)務(wù)量關(guān)系對比圖;
[0090] 圖22為本發(fā)明一種實施方式將面向云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法與 GreenOSPF算法應(yīng)用于C0ST239拓?fù)涞玫降钠骄溌防寐逝c平均業(yè)務(wù)量關(guān)系對比圖。
【具體實施方式】
[0091] 下面結(jié)合附圖對本發(fā)明的一種實施方式作詳細(xì)說明。
[0092] 本實施方式中的面向云計算的基于網(wǎng)絡(luò)能效優(yōu)先的路由方法,如圖1所示,包括 如下步驟:
[009引步驟1 :確定網(wǎng)絡(luò)能效優(yōu)化目標(biāo),建立網(wǎng)絡(luò)能效優(yōu)化目標(biāo)函數(shù)及其應(yīng)服從的約束 條件;
[0094] 步驟1. 1 :網(wǎng)絡(luò)能效優(yōu)化目標(biāo)為:最小化網(wǎng)絡(luò)比特能耗BE和網(wǎng)絡(luò)開啟鏈路數(shù)即最 大化網(wǎng)絡(luò)休眠鏈路數(shù),根據(jù)網(wǎng)絡(luò)能效優(yōu)化目標(biāo)建立由式(1)所示的網(wǎng)絡(luò)能效優(yōu)化目標(biāo)函 數(shù)。
[0095] 由于在拓?fù)涔潭ㄇ闆r下,網(wǎng)絡(luò)總鏈路數(shù)也固定,因此最小化網(wǎng)絡(luò)開啟鏈路數(shù)等價 于最大化網(wǎng)絡(luò)休眠鏈路數(shù)。
[0096] 使用圖論來表示的網(wǎng)絡(luò)拓?fù)淠P虶= {V,E},其中V為網(wǎng)絡(luò)拓?fù)渲兴泄?jié)點集合, 節(jié)點個數(shù)為N,E為拓?fù)渲兴墟溌返募?,L表示鏈路集合中鏈路的個數(shù),鏈路(i,j)的容 量為Cu;
[0097] 為了分析網(wǎng)絡(luò)的能耗,設(shè)置鏈路的能耗函數(shù)F(Xu),通過該能耗函數(shù)可W由某條鏈 路上的流量負(fù)載計算該鏈路的功耗。其中能耗函數(shù)不僅要考慮和流量負(fù)載的關(guān)系,還要考 慮跟鏈路的使用狀態(tài)的關(guān)系。因此能耗函數(shù)可W設(shè)置為當(dāng)鏈路負(fù)載為零時,鏈路能耗為零, 當(dāng)鏈路負(fù)載不為零時鏈路能耗等于基本能耗與流量能耗之和。其中基本能耗是鏈路開啟就 存在的固定能耗,該能耗值是個常數(shù);能耗函數(shù)的流量能耗定義為鏈路流量負(fù)載的二次函 數(shù)。
[0098] 所述網(wǎng)絡(luò)能效優(yōu)化目標(biāo)函數(shù)為:
[0099] Minimizef(X) =[fi(X),fz(X) ] (I)
[0100] 其中
(2) :(3)
[0103] 其中E為拓?fù)渲兴墟溌返募?;L為鏈路集合中鏈路的個數(shù);Xii表示鏈路(i,j) 的流量負(fù)載,為所有源節(jié)點S到目的節(jié)點d經(jīng)過該鏈路的業(yè)務(wù)量請求之和;X/""hy:)表示 \tsfwE: 網(wǎng)絡(luò)總能耗;S"V表示網(wǎng)絡(luò)總流量; ('-J)站'
[0104] 如式(2)所示,根據(jù)網(wǎng)絡(luò)的功耗和網(wǎng)絡(luò)中流量衡量網(wǎng)絡(luò)的能效,定義網(wǎng)絡(luò)比特能 耗BE為網(wǎng)絡(luò)總能耗與網(wǎng)絡(luò)總流量的比值,表示成功傳輸?shù)拿縂bit信息量所消耗的焦耳能 量,單位為J/Gbit。BE越小表示網(wǎng)絡(luò)能效越高。
[0105]F(Xu)為鏈路(i,j)的能耗函數(shù),由式(4)表示;n為二進(jìn)制變量,由式巧)表示:
(4) (S)
[010引其中,0為能耗與流量的線性比值;S為基本能耗的比例系數(shù);0 . 5 .Cl,為鏈 路(i,j)的基本能耗;
[0109] 從公式(4)中的鏈路流量負(fù)載能耗函數(shù)的模型可W看出,單位流量能耗不僅與鏈 路容量有關(guān)還與5的取值有關(guān)。在容量一定的情況下,當(dāng)5 =1時,鏈路能耗函數(shù)是一個 開關(guān)函數(shù),即為能效網(wǎng)絡(luò)的休眠機制;當(dāng)5 =0時,鏈路能耗函數(shù)是一個理想的速率自適應(yīng) 的模型,鏈路不存在固定能耗,只與流量負(fù)載值有關(guān)。
[0110] 步驟1. 2 :建立網(wǎng)絡(luò)能效優(yōu)化目標(biāo)函數(shù)應(yīng)服從的約束條件;
[0111] 1)路由約束,由式(6)表示,保證路由中的流量守恒:
[0112] 即源節(jié)點S通過一條出鏈路發(fā)送流量,并且不接受任何流量;目的節(jié)點d只從其他 節(jié)點接收流量,而不能往鄰近節(jié)點發(fā)送流量;而中間節(jié)點的流量進(jìn)出守恒;
紛
[0114] 2)鏈路的最高利用率不得超過口限值a:
[011引X。《曰Cij,0 <曰< 1,(ij) G E (7)
[0116] 其中a為鏈路利用率的最高口限值;
[0117] 3)路由的最大延遲約束,即路由占用的鏈路數(shù)目不得超過口限值maxhop,即單次 路由最大跳數(shù);假設(shè)流量經(jīng)過一條鏈路的延遲為一固定值,那么,對于路由的最大延遲限制 可W轉(zhuǎn)換為一個源節(jié)點S到目的節(jié)點d的請求路徑所占用的鏈路個數(shù)的口限值,因此有約 束條件:
㈱
[0119]其中為二進(jìn)制0-1變量,當(dāng)源節(jié)點S到目的節(jié)點d的路徑包含鏈路(i,j)時, 取1,否則取0,如式(9)所示,
㈱
[0121]其中Psd表示源節(jié)點S到目的節(jié)點d的路徑上的鏈路集合;
[0122] 前述XiJ計算方法由式(10)表示:
(10)
[0124] 其中SD表示源節(jié)點S到目的節(jié)點d的請求業(yè)務(wù)量;
[0125] 步驟2:根據(jù)網(wǎng)絡(luò)能效優(yōu)化目標(biāo),首先為路由請求安排初始路徑;然后在初始路徑 的基礎(chǔ)上,先將鏈路利用率為零的鏈路進(jìn)行休眠;接下來再逐個對剩余鏈路嘗試進(jìn)行休眠, 最終得到符合網(wǎng)絡(luò)能效優(yōu)化目標(biāo)的路由.
[0126] 本實施方式中首先利用經(jīng)典非支配排序遺傳算法NSGA-n進(jìn)行多目標(biāo)能效優(yōu)先 路由,為所有OD對間的業(yè)務(wù)量請求產(chǎn)生路徑安排;然后在完成所有路由的基礎(chǔ)上,先將鏈 路利用率為零的鏈路進(jìn)行休眠,然后根據(jù)鏈路利用率從小到大依次對剩余鏈路嘗試進(jìn)行休 眠。鏈路能進(jìn)入休眠狀態(tài)必須滿足的條件包括:①鏈路休眠后仍能維持網(wǎng)絡(luò)拓?fù)涞膹娺B通 性,②鏈路上的所有OD流請求均可W通過重定向進(jìn)而匯聚到其他開啟鏈路上。
[0127] 步驟2. 1:根據(jù)網(wǎng)絡(luò)能效優(yōu)化目標(biāo),采用NSGA-n算法進(jìn)行初始路由,為所有OD對 間的請求業(yè)務(wù)量產(chǎn)生初始路徑安排,具體過程如圖2所示。
[0128] 將NSGA-II算法應(yīng)用到源目的尋路過程,需要先明確種群中的染色體定義。染色 體也就是源節(jié)點S到目的節(jié)點d路由的解決方案。因此染色體就是包含單一路徑上所有節(jié) 點的向量。染色體編碼如圖4所示:其中IiiGV且n;聲s,rii聲d。舉例說明,參考圖9(a) 所示的C0ST239網(wǎng)絡(luò)拓?fù)鋱D,假設(shè)源節(jié)點S為1,目的節(jié)點d為9,那么源目的節(jié)點間存在一 些可行的路徑。圖5(a)和圖5(b)中展示了種群中經(jīng)過初始化可能存在的兩條染色體。
[0129] 步驟2. 1. 1:初始化網(wǎng)絡(luò)狀態(tài)、路由參數(shù);
[0130] 包括導(dǎo)入網(wǎng)絡(luò)節(jié)點數(shù)n,網(wǎng)絡(luò)拓?fù)渚仃嚰存溌肪仃嘗ink、流量矩陣TM、鏈路容量C、 鏈路最高利用率口限a和單次路由最大跳數(shù)maxhop;鏈路負(fù)載矩陣X中元素初始化為0 ;
[0131] 步驟2. 1. 2:分析路由請求,將請求按業(yè)務(wù)量從大到小排序并生成請求隊列R;
[0132] 步驟2. 1. 3:如果R非空,按照步驟2. 1. 2中所述的順序從隊列R中依次逐個取 出請求,并確定所取出的請求的源節(jié)點S、目的節(jié)點d和業(yè)務(wù)量;如果R為空,則轉(zhuǎn)至步驟 2. 1. 2 ;
[0133] 步驟2. 1. 4:初始化種群大小pop,最大迭代次數(shù)maxgen;
[0134] 步驟2. 1. 5:利用隨機深度優(yōu)先捜索DFS算法,產(chǎn)生初始種群D;
[0135] 通常根據(jù)問題的范圍、約束來隨機初始化在初始種群中的染色體??蒞利用圖捜 索算法包括廣度優(yōu)先捜索度F巧或深度優(yōu)先捜索值F巧進(jìn)行種群初始化。本實施方式采用 隨機深度優(yōu)先捜索算法進(jìn)行種群初始化。
[0136] 步驟2. 1. 6:根據(jù)優(yōu)化目標(biāo)函數(shù)計算種群D中每一個個體的能效優(yōu)化目標(biāo)函數(shù)值, 其中對于不滿足約束2)或約束3)的個體,將其能效優(yōu)化目標(biāo)函數(shù)值均置為Inf ;
[0137] 步驟2. 1. 7:利用非支配排序為種群D中的個體進(jìn)行非劣性分層與排序;
[0138] 本實施方式對初始種群基于非支配進(jìn)行排序,也就是基于非支配將種群中個體放 入每一層。第一層完全是當(dāng)前種群中非支配個體的集合,第二