本發(fā)明涉及網(wǎng)絡通信技術領域,具體地,涉及一種網(wǎng)絡服務的資源編排方法及裝置。
背景技術:
計算機網(wǎng)絡的功能分為網(wǎng)絡連通和網(wǎng)絡服務兩個主要方面。網(wǎng)絡連通指的是進行路由選路以連接不同終端設備,面對網(wǎng)絡路徑失效問題,需要實現(xiàn)動態(tài)路由協(xié)議保證容錯性,面對網(wǎng)絡鏈路帶寬限制,需要進行流量工程調(diào)節(jié)避免鏈路擁塞。網(wǎng)絡服務為終端設備提供網(wǎng)絡四到七層的功能服務,承載網(wǎng)絡服務的中間設備部署于終端設備之間,處理流經(jīng)的用戶流量。網(wǎng)絡服務可為終端設備提供安全檢測,流量統(tǒng)計,網(wǎng)絡加速等功能。網(wǎng)絡服務通常被配置為功能序列,依據(jù)給定順序提供多種網(wǎng)絡服務的組合。
軟件定義網(wǎng)絡和網(wǎng)絡功能虛擬化是當前網(wǎng)絡發(fā)展中的重要技術。軟件定義網(wǎng)絡是通過轉發(fā)設備開放接口和邏輯上集中控制,在轉發(fā)設備中部署對應規(guī)則,實現(xiàn)對網(wǎng)絡流量的精細化控制。網(wǎng)絡功能虛擬化指的是利用虛擬化技術將專有中間設備的網(wǎng)絡功能運行在通用處理平臺上,實現(xiàn)網(wǎng)絡功能資源的動態(tài)分配與擴展。
現(xiàn)有的網(wǎng)絡服務采用靜態(tài)資源編排方法。受硬件設備封閉的限制,網(wǎng)絡服務部署在網(wǎng)關或網(wǎng)絡流量匯聚處,通過預先評估部署點所需中間設備的處理能力,啟用對應處理性能的中間設備。此外,現(xiàn)有的網(wǎng)絡服務借助軟件定義網(wǎng)絡技術,可以實現(xiàn)中間設備的負載均衡。針對靜態(tài)啟用的中間設備,可以通過流量牽引對網(wǎng)絡流量路徑進行選擇,使不同的中間設備處理不同用戶間的網(wǎng)絡流量,將網(wǎng)絡流量依消耗處理能力的先后均勻分布在對應的中間設備上,可以實現(xiàn)中間設備的負載均衡。
現(xiàn)有的網(wǎng)絡服務的資源編排方法,受技術限制,無法實現(xiàn)多目標優(yōu)化,具體存在如下功能缺陷:
(1)靜態(tài)資源編排方法,部署于網(wǎng)關節(jié)點處,網(wǎng)絡流量大,需要高處理性能的中間設備支持,成本較高。
(2)靜態(tài)資源編排方法,在網(wǎng)絡流量持續(xù)增長而現(xiàn)有中間設備無法提供足夠的處理能力時,需要進行縱向擴展,替換為處理性能更高的中間設備,擴展性差,升級成本高。
(3)靜態(tài)資源編排方法,使用流量牽引增加了鏈路帶寬的消耗,未對鏈路帶寬的資源消耗進行約束,存在產(chǎn)生鏈路擁塞的問題。
技術實現(xiàn)要素:
本發(fā)明的目的是提供一種網(wǎng)絡服務的資源編排方法及裝置。其中,所述方法所要解決的技術問題是:如何降低網(wǎng)絡服務的多點故障概率,并避免產(chǎn)生網(wǎng)絡鏈路的擁塞。
為了實現(xiàn)上述目的,本發(fā)明提供一種網(wǎng)絡服務的資源編排方法。所述方法包括:
對網(wǎng)絡拓撲和網(wǎng)絡服務分別進行形式化描述,得到與所述網(wǎng)絡拓撲對應的第一模型和與所述網(wǎng)絡服務對應的第二模型;
根據(jù)所述第一模型和所述第二模型分別約束網(wǎng)絡流量路徑和網(wǎng)絡服務部署節(jié)點;
根據(jù)所述網(wǎng)絡流量路徑和所述網(wǎng)絡服務部署節(jié)點的約束確定所述網(wǎng)絡服務的資源編排的優(yōu)化目標;
根據(jù)所述優(yōu)化目標采用貪婪算法進行優(yōu)化,得到所述網(wǎng)絡服務的資源編排結果。
可選地,所述第一模型為:
G=(V,E,C)
其中,G表示所述網(wǎng)絡拓撲,V表示網(wǎng)絡節(jié)點的集合,E表示網(wǎng)絡鏈路的集合,C表示終端流量帶寬的集合。
可選地,所述第二模型為:
其中,Dst表示終端s到終端t的流量Tst對應的網(wǎng)絡服務,表示網(wǎng)絡功能mi在功能序列中的部署順序,N表示大于或等于零的整數(shù),s,t∈H,H表示終端主機的集合,n表示大于或等于1的整數(shù)。
可選地,所述網(wǎng)絡流量路徑的約束為:
其中,s,t∈H,H表示終端主機的集合,i,j∈V,V表示網(wǎng)絡節(jié)點的集合,(i,j)∈E,E表示網(wǎng)絡鏈路的集合,為0-1變量,取0值表示終端s到終端t的流量Tst未經(jīng)過網(wǎng)絡鏈路(i,j),取1值表示終端s到終端t的流量Tst經(jīng)過網(wǎng)絡鏈路(i,j),k∈V,(j,k)∈E,為0-1變量,取0值表示終端s到終端t的流量Tst未經(jīng)過網(wǎng)絡鏈路(j,k),取1值表示終端s到終端t的流量Tst經(jīng)過網(wǎng)絡鏈路(j,k),為0-1變量,取0值表示終端s到終端t的流量Tst未經(jīng)過網(wǎng)絡節(jié)點i,取1值表示終端s到終端t的流量Tst經(jīng)過網(wǎng)絡節(jié)點i,max(*,*)表示兩個數(shù)值之中的較大值,(j,i)∈E,為0-1變量,取0值表示終端s到終端t的流量Tst未經(jīng)過網(wǎng)絡鏈路(j,i),取1值表示終端s到終端t的流量Tst經(jīng)過網(wǎng)絡鏈路(j,i),Cst表示終端s到終端t的流量Tst所占用的網(wǎng)絡鏈路帶寬資源,L表示網(wǎng)絡鏈路(i,j)使用網(wǎng)絡鏈路帶寬資源的上界。
可選地,所述網(wǎng)絡服務部署節(jié)點的約束為:
其中,s,t∈H,H表示終端主機的集合,i,j∈V,V表示網(wǎng)絡節(jié)點的集合,mp∈W,W表示網(wǎng)絡功能的集合,為0-1變量,取0值表示終端s到終端t的流量Tst未經(jīng)過網(wǎng)絡節(jié)點i,取1值表示終端s到終端t的流量Tst經(jīng)過網(wǎng)絡節(jié)點i,為0-1變量,取0值表示網(wǎng)絡節(jié)點i處未使用網(wǎng)絡功能mp處理從終端s到終端t的流量Tst,取1值表示網(wǎng)絡節(jié)點i處使用網(wǎng)絡功能mp處理從終端s到終端t的流量Tst,表示網(wǎng)絡功能mp在功能序列中的部署順序,和分別表示輔助變量,為0-1變量,取0值表示終端s到終端t的流量Tst未經(jīng)過網(wǎng)絡鏈路(i,j),取1值表示終端s到終端t的流量Tst經(jīng)過網(wǎng)絡鏈路(i,j),N表示大于或等于零的整數(shù),mq∈W,表示網(wǎng)絡功能mq在功能序列中的部署順序,為0-1變量,取0值表示網(wǎng)絡節(jié)點i處未使用網(wǎng)絡功能mq處理從終端s到終端t的流量Tst,取1值表示網(wǎng)絡節(jié)點i處使用網(wǎng)絡功能mq處理從終端s到終端t的流量Tst,表示網(wǎng)絡功能mp處理從終端s到終端t的流量Tst所需消耗的計算資源,Bi表示網(wǎng)絡節(jié)點i處總的計算資源,M表示計算機中能表示的最大值,K表示部署有網(wǎng)絡服務的節(jié)點的總數(shù),zi為0-1變量,取0值表示網(wǎng)絡節(jié)點i處未部署任何網(wǎng)絡服務,取1值表示網(wǎng)絡節(jié)點i處部署有網(wǎng)絡服務。
可選地,所述優(yōu)化目標為:
min(λ1L+λ2K)
其中,min(*)表示求最小值,L表示網(wǎng)絡鏈路(i,j)使用網(wǎng)絡鏈路帶寬資源的上界,K表示部署有網(wǎng)絡服務的節(jié)點的總數(shù),λ1與λ2為管理員或應用程序設定的參數(shù),且λ1+λ2=1。
可選地,所述方法還包括:
在所述網(wǎng)絡服務的網(wǎng)絡服務規(guī)則變化或所述網(wǎng)絡服務所需的處理能力增加的情況下,調(diào)整所述網(wǎng)絡服務部署節(jié)點,并增量更新所述網(wǎng)絡流量路徑。
相應地,本發(fā)明還提供一種網(wǎng)絡服務的資源編排裝置。所述裝置包括:
描述單元,用于對網(wǎng)絡拓撲和網(wǎng)絡服務分別進行形式化描述,得到與所述網(wǎng)絡拓撲對應的第一模型和與所述網(wǎng)絡服務對應的第二模型;
約束單元,用于根據(jù)所述第一模型和所述第二模型分別約束網(wǎng)絡流量路徑和網(wǎng)絡服務部署節(jié)點;
確定單元,用于根據(jù)所述網(wǎng)絡流量路徑和所述網(wǎng)絡服務部署節(jié)點的約束確定所述網(wǎng)絡服務的資源編排的優(yōu)化目標;
優(yōu)化單元,用于根據(jù)所述優(yōu)化目標采用貪婪算法進行優(yōu)化,得到所述網(wǎng)絡服務的資源編排結果。
可選地,所述第一模型為:
G=(V,E,C)
其中,G表示所述網(wǎng)絡拓撲,V表示網(wǎng)絡節(jié)點的集合,E表示網(wǎng)絡鏈路的集合,C表示終端流量帶寬的集合。
可選地,所述第二模型為:
其中,Dst表示終端s到終端t的流量Tst對應的網(wǎng)絡服務,表示網(wǎng)絡功能mi在功能序列中的部署順序,N表示大于或等于零的整數(shù),s,t∈H,H表示終端主機的集合,n表示大于或等于1的整數(shù)。
由上述技術方案可知,對網(wǎng)絡拓撲和網(wǎng)絡服務分別進行形式化描述,得到與所述網(wǎng)絡拓撲對應的第一模型和與所述網(wǎng)絡服務對應的第二模型;并根據(jù)所述第一模型和所述第二模型分別約束網(wǎng)絡流量路徑和網(wǎng)絡服務部署節(jié)點;再根據(jù)所述網(wǎng)絡流量路徑和所述網(wǎng)絡服務部署節(jié)點的約束確定所述網(wǎng)絡服務的資源編排的優(yōu)化目標;再根據(jù)所述優(yōu)化目標采用貪婪算法進行優(yōu)化,得到所述網(wǎng)絡服務的資源編排結果,既規(guī)劃了網(wǎng)絡流量路徑,又確定了網(wǎng)絡服務部署節(jié)點,能夠實現(xiàn)計算資源的高利用率和鏈路帶寬資源的負載均衡,從而降低網(wǎng)絡服務的多點故障概率,并避免產(chǎn)生網(wǎng)絡鏈路的擁塞。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹。顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些圖獲得其他的附圖。
圖1是本發(fā)明一實施例提供的網(wǎng)絡服務的資源編排方法的流程圖;
圖2是本發(fā)明一實施例提供的網(wǎng)絡拓撲的示意圖;
圖3是本發(fā)明一實施例提供的網(wǎng)絡服務規(guī)則的示意圖;
圖4是本發(fā)明一實施例提供的網(wǎng)絡服務的資源編排裝置的結構示意圖;
圖5是本發(fā)明又一實施例提供的網(wǎng)絡服務的資源編排裝置的結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
圖1是本發(fā)明一實施例提供的網(wǎng)絡服務的資源編排方法的流程圖。如圖1所示,本發(fā)明一實施例提供的網(wǎng)絡服務的資源編排方法包括:
在步驟S101中,對網(wǎng)絡拓撲和網(wǎng)絡服務分別進行形式化描述,得到與所述網(wǎng)絡拓撲對應的第一模型和與所述網(wǎng)絡服務對應的第二模型。
其中,所述第一模型為:
G=(V,E,C)
其中,G表示所述網(wǎng)絡拓撲,V表示網(wǎng)絡節(jié)點的集合,E表示網(wǎng)絡鏈路的集合,C表示終端流量帶寬的集合。
其中,所述第二模型為:
其中,Dst表示終端s到終端t的流量Tst對應的網(wǎng)絡服務,表示網(wǎng)絡功能mi在功能序列中的部署順序,N表示大于或等于零的整數(shù),s,t∈H,H表示終端主機的集合,n表示大于或等于1的整數(shù)。
具體地,網(wǎng)絡拓撲包括主機分布、轉發(fā)設備分布和網(wǎng)絡鏈路帶寬。對網(wǎng)絡拓撲形式化描述為G=(V,E,C),V為網(wǎng)絡節(jié)點的集合,E為網(wǎng)絡鏈路的集合,代表終端主機的集合,C為終端流量帶寬的集合。網(wǎng)絡服務涉及防火墻、入侵檢測、流量統(tǒng)計和應用代理等多種網(wǎng)絡功能,不同網(wǎng)絡功能按特定序列組合為用戶提供網(wǎng)絡服務。對網(wǎng)絡服務進行形式化描述,可得到網(wǎng)絡功能集合W={m1,m2,…,mn},終端s到終端t的流量Tst(s,t∈H)對應網(wǎng)絡服務為代表網(wǎng)絡功能mi在功能序列中的部署順序,取值小時順序在前,取0值表示Tst不被網(wǎng)絡功能mi所處理。
接著,在步驟S102中,根據(jù)所述第一模型和所述第二模型分別約束網(wǎng)絡流量路徑和網(wǎng)絡服務部署節(jié)點。
其中,所述網(wǎng)絡流量路徑的約束為:
其中,s,t∈H,H表示終端主機的集合,i,j∈V,V表示網(wǎng)絡節(jié)點的集合,(i,j)∈E,E表示網(wǎng)絡鏈路的集合,為0-1變量,取0值表示終端s到終端t的流量Tst未經(jīng)過網(wǎng)絡鏈路(i,j),取1值表示終端s到終端t的流量Tst經(jīng)過網(wǎng)絡鏈路(i,j),k∈V,(j,k)∈E,為0-1變量,取0值表示終端s到終端t的流量Tst未經(jīng)過網(wǎng)絡鏈路(j,k),取1值表示終端s到終端t的流量Tst經(jīng)過網(wǎng)絡鏈路(j,k),為0-1變量,取0值表示終端s到終端t的流量Tst未經(jīng)過網(wǎng)絡節(jié)點i,取1值表示終端s到終端t的流量Tst經(jīng)過網(wǎng)絡節(jié)點i,max(*,*)表示兩個數(shù)值之中的較大值,(j,i)∈E,為0-1變量,取0值表示終端s到終端t的流量Tst未經(jīng)過網(wǎng)絡鏈路(j,i),取1值表示終端s到終端t的流量Tst經(jīng)過網(wǎng)絡鏈路(j,i),Cst表示終端s到終端t的流量Tst所占用的網(wǎng)絡鏈路帶寬資源,L表示網(wǎng)絡鏈路(i,j)使用網(wǎng)絡鏈路帶寬資源的上界。
其中,所述網(wǎng)絡服務部署節(jié)點的約束為:
其中,s,t∈H,H表示終端主機的集合,i,j∈V,V表示網(wǎng)絡節(jié)點的集合,mp∈W,W表示網(wǎng)絡功能的集合,為0-1變量,取0值表示終端s到終端t的流量Tst未經(jīng)過網(wǎng)絡節(jié)點i,取1值表示終端s到終端t的流量Tst經(jīng)過網(wǎng)絡節(jié)點i,為0-1變量,取0值表示網(wǎng)絡節(jié)點i處未使用網(wǎng)絡功能mp處理從終端s到終端t的流量Tst,取1值表示網(wǎng)絡節(jié)點i處使用網(wǎng)絡功能mp處理從終端s到終端t的流量Tst,表示網(wǎng)絡功能mp在功能序列中的部署順序,和分別表示輔助變量,為0-1變量,取0值表示終端s到終端t的流量Tst未經(jīng)過網(wǎng)絡鏈路(i,j),取1值表示終端s到終端t的流量Tst經(jīng)過網(wǎng)絡鏈路(i,j),N表示大于或等于零的整數(shù),mq∈W,表示網(wǎng)絡功能mq在功能序列中的部署順序,為0-1變量,取0值表示網(wǎng)絡節(jié)點i處未使用網(wǎng)絡功能mq處理從終端s到終端t的流量Tst,取1值表示網(wǎng)絡節(jié)點i處使用網(wǎng)絡功能mq處理從終端s到終端t的流量Tst,表示網(wǎng)絡功能mp處理從終端s到終端t的流量Tst所需消耗的計算資源,Bi表示網(wǎng)絡節(jié)點i處總的計算資源,M表示計算機中能表示的最大值,K表示部署有網(wǎng)絡服務的節(jié)點的總數(shù),zi為0-1變量,取0值表示網(wǎng)絡節(jié)點i處未部署任何網(wǎng)絡服務,取1值表示網(wǎng)絡節(jié)點i處部署有網(wǎng)絡服務。
具體地,對于網(wǎng)絡流量路徑的約束,設定終端之間的流量為單通路且無環(huán)。針對網(wǎng)絡服務部署節(jié)點的約束,網(wǎng)絡服務滿足保序性和唯一性。此外,通過引入輔助變量,對網(wǎng)絡服務部署節(jié)點約束進行建模,輔助變量隨網(wǎng)絡流量從源節(jié)點到目的節(jié)點遞增保序,服務規(guī)則的功能參數(shù)與輔助變量同序。
緊接著,在步驟S103中,根據(jù)所述網(wǎng)絡流量路徑和所述網(wǎng)絡服務部署節(jié)點的約束確定所述網(wǎng)絡服務的資源編排的優(yōu)化目標。
其中,所述優(yōu)化目標為:
min(λ1L+λ2K)
其中,min(*)表示求最小值,L表示網(wǎng)絡鏈路(i,j)使用網(wǎng)絡鏈路帶寬資源的上界,K表示部署有網(wǎng)絡服務的節(jié)點的總數(shù),λ1與λ2為管理員或應用程序設定的參數(shù),且λ1+λ2=1。
具體地,網(wǎng)絡服務的資源編排需滿足多種優(yōu)化目標,為實現(xiàn)網(wǎng)絡鏈路流量的負載均衡,有Lmin,即最小化網(wǎng)絡鏈路的最大負載,為提高網(wǎng)絡服務節(jié)點的資源利用率,避免分散節(jié)點部署增加故障率,有Kmin,即最小化網(wǎng)絡服務部署節(jié)點的總數(shù)。
將多目標優(yōu)化問題轉化為單目標優(yōu)化問題,優(yōu)化目標為:
min(λ1L+λ2K)
其中,λ1與λ2為管理員或應用程序設定的參數(shù),未手動設定時缺省λ1=Kmin/(Lmin+Kmin),λ2=Lmin/(Lmin+Kmin),Lmin與Kmin為各自在單目標優(yōu)化問題中所取最小值。
最后,在步驟S104中,根據(jù)所述優(yōu)化目標采用貪婪算法進行優(yōu)化,得到所述網(wǎng)絡服務的資源編排結果。
具體地,采用貪婪算法進行優(yōu)化的過程如下:
S1、初始化未編排的網(wǎng)絡服務規(guī)則集合,包含所有輸入規(guī)則,每條規(guī)則指定某兩終端之間的流量所需的邏輯網(wǎng)絡服務序列。初始化已編排的網(wǎng)絡服務規(guī)則集合,為空集。
S2、若未編排的網(wǎng)絡服務規(guī)則集合為空,轉至步驟S12,否則選取未編排的網(wǎng)絡服務規(guī)則集合中所需網(wǎng)絡服務處理能力最少的規(guī)則r。
S3、按先后順序依次選取規(guī)則r中的網(wǎng)絡服務m。
S4、選取已部署有網(wǎng)絡服務的節(jié)點中剩余計算資源最多的節(jié)點,部署網(wǎng)絡服務m,若可行,轉至S7,否則現(xiàn)有部署節(jié)點的剩余資源均不滿足部署條件。
S5、選取未部署網(wǎng)絡服務的節(jié)點中計算資源最多的節(jié)點,部署網(wǎng)絡服務m,若可行,轉至S7,否則規(guī)則r無法部署。
S6、將規(guī)則r標記為無法部署放入已編排集合中,轉至S2。
S7、循環(huán)步驟S3-S6直到規(guī)則r中的網(wǎng)絡服務的部署節(jié)點全部確定。
S8、將規(guī)則r中網(wǎng)絡服務的部署節(jié)點組成序列P,將規(guī)則r中的源終端s和目的終端t,分別加入序列P的首尾。
S9、依次選取序列P中的網(wǎng)絡節(jié)點對(pi,pi+1)i=1,2,…,|P|-1。
S10、選取網(wǎng)絡節(jié)點pi到節(jié)點pi+1的所有路徑中網(wǎng)絡鏈路已使用帶寬資源最低的路徑,部署對應轉發(fā)規(guī)則。
S11、循環(huán)步驟S9-S10直到序列P中所有網(wǎng)絡節(jié)點對間均有路徑可達,轉至步驟S2。
S12、所有輸入規(guī)則的網(wǎng)絡服務部署節(jié)點及相應網(wǎng)絡流量路徑確定,網(wǎng)絡服務的資源編排完成。
優(yōu)選地,所述方法還包括:在所述網(wǎng)絡服務的網(wǎng)絡服務規(guī)則變化或所述網(wǎng)絡服務所需的處理能力增加的情況下,調(diào)整所述網(wǎng)絡服務部署節(jié)點,并增量更新所述網(wǎng)絡流量路徑。藉此,支持網(wǎng)絡服務的動態(tài)擴展
具體地,本實施例提供的網(wǎng)絡服務的資源編排方法能夠自適應資源約束和服務規(guī)則的變化,動態(tài)更新部署結果。在資源約束方面,當所部署規(guī)則消耗的網(wǎng)絡服務處理能力增加,超過當前部署節(jié)點處理能力上限,可以依據(jù)步驟S4-S5選取新的部署節(jié)點,依據(jù)步驟S10選取更新后網(wǎng)絡節(jié)點與序列中相鄰部署節(jié)點間的轉發(fā)路徑。在服務規(guī)則方面,存在修改、增加和刪除服務規(guī)則三種情況,對于刪除服務規(guī)則即刪除對應部署的轉發(fā)規(guī)則以及部署節(jié)點上的網(wǎng)絡服務資源,對于增加服務規(guī)則依照步驟S3-S11進行處理,對于修改規(guī)則采用刪除原服務規(guī)則和增加新修改后的服務規(guī)則兩步完成。
本實施例通過對網(wǎng)絡拓撲和網(wǎng)絡服務分別進行形式化描述,得到與所述網(wǎng)絡拓撲對應的第一模型和與所述網(wǎng)絡服務對應的第二模型;并根據(jù)所述第一模型和所述第二模型分別約束網(wǎng)絡流量路徑和網(wǎng)絡服務部署節(jié)點;再根據(jù)所述網(wǎng)絡流量路徑和所述網(wǎng)絡服務部署節(jié)點的約束確定所述網(wǎng)絡服務的資源編排的優(yōu)化目標;再根據(jù)所述優(yōu)化目標采用貪婪算法進行優(yōu)化,得到所述網(wǎng)絡服務的資源編排結果,既規(guī)劃了網(wǎng)絡流量路徑,又確定了網(wǎng)絡服務部署節(jié)點,能夠實現(xiàn)計算資源的高利用率和鏈路帶寬資源的負載均衡,從而降低網(wǎng)絡服務的多點故障概率,并避免產(chǎn)生網(wǎng)絡鏈路的擁塞。
圖2是本發(fā)明一實施例提供的網(wǎng)絡拓撲的示意圖。圖3是本發(fā)明一實施例提供的網(wǎng)絡服務規(guī)則的示意圖。結合圖2和圖3對本發(fā)明的具體實施方式作進一步的詳細說明。圖2中的網(wǎng)絡拓撲和圖3中的網(wǎng)絡服務規(guī)則可應用于云數(shù)據(jù)中心、運營商網(wǎng)絡以及企業(yè)網(wǎng)中。圖2中包含4個終端H1-H4,6個轉發(fā)設備SW1-SW6,其中SW5與SW6處部署網(wǎng)絡服務的處理能力上限為10,SW1-SW4處部署網(wǎng)絡服務的計算能力上限為8。如圖3所示,為H1至H2的流量提供安全檢測、防火墻FW和入侵檢測IDS等功能,H1至H2的流量大小為1,需要FW和IDS的處理能力分別為2和3;為H1至H3流量提供安全檢測和網(wǎng)絡加速服務,F(xiàn)W和IDS以及代理功能Proxy,H1至H3的流量大小為2,需要FW和IDS的處理能力為4和6,Proxy的處理能力為3;為H1至H4流量提供網(wǎng)絡加速服務,Proxy,H1至H4的流量大小為4,Proxy處理能力為6。
由此得到,網(wǎng)絡拓撲為:
G=(V,E,C)
V={H1,H2,H3,H4,S1,S2,S3,S4,S5,S6}
H={H1,H2,H3,H4}
E={(H1,S1),(S1,S2),(S1,S5),(S5,S6),(S6,S2),(S6,S4),(S3,S4),(S3,S5),(H2,S2),(H3,S3),(H4,S4)},
C={CH1H2=1,CH1H3=2,CH1H4=4}
其中,CH1H2表示終端H1到終端H2的流量所占用的網(wǎng)絡鏈路帶寬資源,CH1H3表示終端H1到終端H3的流量所占用的網(wǎng)絡鏈路帶寬資源,CH1H4表示終端H1到終端H4的流量所占用的網(wǎng)絡鏈路帶寬資源。
由此得到,網(wǎng)絡服務為:
W={m1=FW,m2=IDS,m3=Proxy}
網(wǎng)絡服務規(guī)則
網(wǎng)絡服務規(guī)則
網(wǎng)絡服務規(guī)則
其中,Dst表示終端s到終端t的流量Tst對應的網(wǎng)絡服務,表示網(wǎng)絡功能mi在功能序列中的部署順序。
由此得到,網(wǎng)絡流量路徑的約束為:
由此得到,網(wǎng)絡服務部署節(jié)點的約束為:
由此得到,優(yōu)化目標為:
min0.2L+0.8K
由此得到,采用貪婪算法的優(yōu)化過程具體為:
L1、初始化未編排網(wǎng)絡服務規(guī)則集合Φ={DH1H2,DH1H3,DH1H4},已編排網(wǎng)絡服務規(guī)則集合
L2、若Φ為空,轉至步驟L12,否則選取Φ中所需網(wǎng)絡服務處理能力最少的規(guī)則r,即首先選取DH1H2。
L3、按先后順序依次選取規(guī)則r中的網(wǎng)絡服務m,對DH1H2,依次選取FW和IDS。
L4、選取已部署有網(wǎng)絡服務的節(jié)點中剩余計算資源最多的網(wǎng)絡節(jié)點,部署網(wǎng)絡服務m,若可行,轉至L7,否則現(xiàn)有部署節(jié)點的剩余資源均不滿足部署條件,對DH1H2中的FW無現(xiàn)有部署節(jié)點進行下一步,對DH1H2中的IDS現(xiàn)有部署節(jié)點SW5剩余資源最多為8(已部署有DH1H2的FW),可部署IDS。
L5、選取未部署網(wǎng)絡服務的節(jié)點中資源最多的節(jié)點,部署網(wǎng)絡服務m,若可行,轉至L7,否則規(guī)則r無法部署,對DH1H2中的FW選取節(jié)點SW5。
L6、將規(guī)則r標記為無法部署放入已編排集合中,轉至L2。
L7、循環(huán)步驟L3-L6直到規(guī)則r中的網(wǎng)絡服務的部署節(jié)點全部確定。
L8、將規(guī)則r中網(wǎng)絡服務的部署節(jié)點組成序列P,將規(guī)則r中的源終端s和目的終端t,分別加入序列P的首尾,對DH1H2,
L9、依次選取序列P中的節(jié)點對(pi,pi+1)i=1,2,…,|P|-1,對節(jié)點對為(H1,SW5FW)(SW5FW,W5IDS)(W5IDS,H2)。
L10、選取網(wǎng)絡節(jié)點pi到節(jié)點pi+1的所有路徑中網(wǎng)絡鏈路已使用帶寬資源最低的路徑,部署對應轉發(fā)規(guī)則,(H1,SW5FW)的路徑為H1-SW1-SW5,(SW5FW,SW5IDS)的路徑為SW5。
L11、循環(huán)步驟L9-L10直到序列P中所有節(jié)點對間均有路徑可達,轉至L2。
L12、所有輸入規(guī)則的網(wǎng)絡服務部署節(jié)點及相應網(wǎng)絡流量路徑確定,網(wǎng)絡服務的資源編排完成。
本實施例提供的網(wǎng)絡服務的資源編排方法能夠自適應資源約束和服務規(guī)則的變化,動態(tài)更新部署結果。在資源約束方面,當所部署規(guī)則消耗的網(wǎng)絡服務處理能力增加,超過當前部署節(jié)點處理能力上限,可以依據(jù)步驟L4-L5選取新的部署節(jié)點,依據(jù)步驟L10選取更新后網(wǎng)絡節(jié)點與序列中相鄰部署節(jié)點間的轉發(fā)路徑。在服務規(guī)則方面,存在修改、增加和刪除服務規(guī)則三種情況,對于刪除服務規(guī)則即刪除對應部署的轉發(fā)規(guī)則以及部署節(jié)點上的網(wǎng)絡服務資源,對于增加服務規(guī)則依照步驟L3-L11進行處理,對于修改規(guī)則采用刪除原服務規(guī)則和增加新修改后的服務規(guī)則兩步完成。
本發(fā)明實施例基于軟件定義網(wǎng)絡和網(wǎng)絡功能虛擬化技術,為使計算機網(wǎng)絡對用戶提供多種網(wǎng)絡服務,通過對網(wǎng)絡拓撲和網(wǎng)絡服務序列進行聯(lián)合建模,對網(wǎng)絡鏈路帶寬資源和支持網(wǎng)絡服務部署的計算資源進行編排,規(guī)劃網(wǎng)絡流量路徑,確定網(wǎng)絡服務部署節(jié)點,實現(xiàn)計算資源的高利用率和鏈路帶寬資源的負載均衡。
在具體的實施方式中,本發(fā)明實施例可以應用于運營商網(wǎng)絡、數(shù)據(jù)中心網(wǎng)絡以及企業(yè)網(wǎng)中,為用戶提供穩(wěn)定可擴展的網(wǎng)絡服務,優(yōu)化網(wǎng)絡鏈路負載,節(jié)約網(wǎng)絡運營成本。
對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施例,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。
圖4是本發(fā)明一實施例提供的網(wǎng)絡服務的資源編排裝置的結構示意圖。如圖4所示,本發(fā)明一實施例提供的網(wǎng)絡服務的資源編排裝置包括描述單元201、約束單元202、確定單元203和優(yōu)化單元204,其中:
描述單元201,用于對網(wǎng)絡拓撲和網(wǎng)絡服務分別進行形式化描述,得到與所述網(wǎng)絡拓撲對應的第一模型和與所述網(wǎng)絡服務對應的第二模型;
約束單元202,用于根據(jù)所述第一模型和所述第二模型分別約束網(wǎng)絡流量路徑和網(wǎng)絡服務部署節(jié)點;
確定單元203,用于根據(jù)所述網(wǎng)絡流量路徑和所述網(wǎng)絡服務部署節(jié)點的約束確定所述網(wǎng)絡服務的資源編排的優(yōu)化目標;
優(yōu)化單元204,用于根據(jù)所述優(yōu)化目標采用貪婪算法進行優(yōu)化,得到所述網(wǎng)絡服務的資源編排結果。
本實施例提供的網(wǎng)絡服務的資源編排裝置適用于以上實施例對應的網(wǎng)絡服務的資源編排方法,在此不再贅述。
本實施例提供一種網(wǎng)絡服務的資源編排裝置,描述單元201用于對網(wǎng)絡拓撲和網(wǎng)絡服務分別進行形式化描述,得到與所述網(wǎng)絡拓撲對應的第一模型和與所述網(wǎng)絡服務對應的第二模型;約束單元202用于根據(jù)所述第一模型和所述第二模型分別約束網(wǎng)絡流量路徑和網(wǎng)絡服務部署節(jié)點;確定單元203用于根據(jù)所述網(wǎng)絡流量路徑和所述網(wǎng)絡服務部署節(jié)點的約束確定所述網(wǎng)絡服務的資源編排的優(yōu)化目標;優(yōu)化單元204用于根據(jù)所述優(yōu)化目標采用貪婪算法進行優(yōu)化,得到所述網(wǎng)絡服務的資源編排結果,既規(guī)劃了網(wǎng)絡流量路徑,又確定了網(wǎng)絡服務部署節(jié)點,能夠實現(xiàn)計算資源的高利用率和鏈路帶寬資源的負載均衡,從而降低網(wǎng)絡服務的多點故障概率,并避免產(chǎn)生網(wǎng)絡鏈路的擁塞。
在本發(fā)明一可選實施例中,所述第一模型為:
G=(V,E,C)
其中,G表示所述網(wǎng)絡拓撲,V表示網(wǎng)絡節(jié)點的集合,E表示網(wǎng)絡鏈路的集合,C表示終端流量帶寬的集合。
在本發(fā)明一可選實施例中,所述第二模型為:
其中,Dst表示終端s到終端t的流量Tst對應的網(wǎng)絡服務,表示網(wǎng)絡功能mi在功能序列中的部署順序,N表示大于或等于零的整數(shù),s,t∈H,H表示終端主機的集合,n表示大于或等于1的整數(shù)。
圖5是本發(fā)明又一實施例提供的網(wǎng)絡服務的資源編排裝置的結構示意圖。如圖5所示,所述網(wǎng)絡服務的資源編排裝置包括:處理器(processor)301、存儲器(memory)302和通信總線304;
其中,所述處理器301、存儲器302通過所述通信總線304完成相互間的通信;
所述處理器301用于調(diào)用所述存儲器302中的程序指令,以執(zhí)行上述各方法實施例所提供的方法,例如包括:對網(wǎng)絡拓撲和網(wǎng)絡服務分別進行形式化描述,得到與所述網(wǎng)絡拓撲對應的第一模型和與所述網(wǎng)絡服務對應的第二模型;根據(jù)所述第一模型和所述第二模型分別約束網(wǎng)絡流量路徑和網(wǎng)絡服務部署節(jié)點;根據(jù)所述網(wǎng)絡流量路徑和所述網(wǎng)絡服務部署節(jié)點的約束確定所述網(wǎng)絡服務的資源編排的優(yōu)化目標;根據(jù)所述優(yōu)化目標采用貪婪算法進行優(yōu)化,得到所述網(wǎng)絡服務的資源編排結果。
本實施例公開一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括存儲在非暫態(tài)計算機可讀存儲介質上的計算機程序,所述計算機程序包括程序指令,當所述程序指令被計算機執(zhí)行時,計算機能夠執(zhí)行上述各方法實施例所提供的方法,例如包括:對網(wǎng)絡拓撲和網(wǎng)絡服務分別進行形式化描述,得到與所述網(wǎng)絡拓撲對應的第一模型和與所述網(wǎng)絡服務對應的第二模型;根據(jù)所述第一模型和所述第二模型分別約束網(wǎng)絡流量路徑和網(wǎng)絡服務部署節(jié)點;根據(jù)所述網(wǎng)絡流量路徑和所述網(wǎng)絡服務部署節(jié)點的約束確定所述網(wǎng)絡服務的資源編排的優(yōu)化目標;根據(jù)所述優(yōu)化目標采用貪婪算法進行優(yōu)化,得到所述網(wǎng)絡服務的資源編排結果。
本實施例提供一種非暫態(tài)計算機可讀存儲介質,所述非暫態(tài)計算機可讀存儲介質存儲計算機指令,所述計算機指令使所述計算機執(zhí)行上述各方法實施例所提供的方法,例如包括:對網(wǎng)絡拓撲和網(wǎng)絡服務分別進行形式化描述,得到與所述網(wǎng)絡拓撲對應的第一模型和與所述網(wǎng)絡服務對應的第二模型;根據(jù)所述第一模型和所述第二模型分別約束網(wǎng)絡流量路徑和網(wǎng)絡服務部署節(jié)點;根據(jù)所述網(wǎng)絡流量路徑和所述網(wǎng)絡服務部署節(jié)點的約束確定所述網(wǎng)絡服務的資源編排的優(yōu)化目標;根據(jù)所述優(yōu)化目標采用貪婪算法進行優(yōu)化,得到所述網(wǎng)絡服務的資源編排結果。
本領域普通技術人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所描述的基站等實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件。基于這樣的理解,上述技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
最后應說明的是:以上各實施例僅用以說明本發(fā)明的實施例的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明的實施例進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明的實施例各實施例技術方案的范圍。