用于sdn數據平面資源調度的方法
【技術領域】
[0001]本發明涉及通信技術領域,具體地說,涉及一種用于SDN數據平面資源調度的方法。
【背景技術】
[0002]軟件定義網絡(Software Defined Networking,SDN)是2010年由美國斯坦福大學Nick McKeown教授和加州大學伯克利分校Scott Shenker教授等共同提出,其出發點是通過對網絡控制的抽象重新構建一個轉發平面和控制平面分離的網絡體系,支持網絡功能的不斷演進。
[0003]中間件(Middlebox)是一種獨立的系統軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源,中間件位于客戶機服務器的操作系統之上,管理計算資源和網絡通信。
[0004]現實網絡環境中,Middlebox存在設備封閉、可編程性低、開發成本高周期長、管理難度大等問題。現有的技術方案中提出利用SDN思想,應對上述Middlebox問題。但沒有考慮到現實網絡中對多業務的需求,以及在多業務的情況下,如何通過合理調度數據平面資源,實現對新業務功能及性能需求支持的綜合優化,以及數據平面資源利用的最大化的問題。
【發明內容】
[0005]為解決以上問題,本發明提供了一種用于SDN數據平面資源調度的方法,用于滿足多業務功能和性能需求,綜合優化業務整體性能和硬件資源利用率。
[0006]根據本發明的一個實施例,提供了一種用于SDN數據平面資源調度的方法,包括:
[0007]SI 10,針對新業務需求,SDN控制平面為每個已部署的硬件業務鏈建立業務鏈支持表;
[0008]S120,根據所述業務鏈支持表,SDN控制平面判斷已部署的硬件業務鏈是否支持所述新業務需求,如支持則進入S140,否則,進入S130 ;
[0009]S130,SDN控制平面定制新業務鏈,以創建新業務需求中不能滿足的業務,直至能滿足所有業務功能需求后,進入S140;
[0010]S140,SDN控制平面判斷支持所述新業務需求的業務鏈是否滿足所述新業務需求的服務質量需求,如不滿足,返回S130。
[0011]根據本發明的一個實施例,建立業務鏈支持表進一步包括:
[0012]統計所述新業務需求需要的業務數量;
[0013]根據所述業務數量為每個已部署的硬件業務鏈建立大小為L*L的表,其中,L為所述新業務需求需要的業務數量;
[0014]按照預定順序,計算與L*L的表中各表格對應的業務支持參數。
[0015]根據本發明的一個實施例,計算與L*L的表中各表格對應的業務支持參數進一步包括:
[0016]采用動態規劃算法,從L*L的表對角線至右上角逐步運算出業務支持參數,所述業務支持參數的計算邏輯式為:
[0017]Ti(p,q)=Ti(p,q_l)&Ti(q,q)
[0018]其中,業務支持參數Ti(p,q)表示新業務需求的R(p)至R(q)部分是否能夠在已部署的硬件業務鏈i中完全支持,T1(P^-1)表示新業務需求的R(p)至R(q-l)部分是否能夠在已部署的硬件業務鏈i中完全支持,T1(C^q)表示新業務需求的R(q)部分是否能夠在已部署的硬件業務鏈i中完全支持,P和q為整數,P < q。。
[0019]根據本發明的一個實施例,SDN控制平面判斷已部署的硬件業務鏈是否支持所述新業務需求進一步包括:
[0020]在所有已部署的硬件業務鏈對應的業務鏈支持表中尋找業務子序列,以使得尋找到的業務子序列能實現R(I)至R(L)之間連續子串的業務需求,其中,新業務需求R(L)表示需求R中包含的L個業務需求的最后第L個。
[0021]根據本發明的一個實施例,在所有已部署的硬件業務鏈對應的業務鏈支持表中尋找業務子序列,以使得尋找到的業務子序列能實現R(I)至R(L)之間連續子串的業務需求進一步包括:
[0022 ]在所有已部署的硬件業務鏈對應的業務鏈支持表中尋找以R (I)開始的連續最長子序列;
[0023]如尋找到以R(I)開始的連續最長子序列包括新業務需求R(L),則已部署的硬件業務鏈支持新業務需求R;
[0024]如尋找到以R(I)開始的連續最長子序列不包括新業務需求R(L),則在剩余的已部署的硬件業務鏈對應的業務鏈支持表中尋找業務子序列,以使得所有已部署的硬件業務鏈對應的業務鏈支持表能拼接從R(I)開始、包括新業務需求R(L)的連續子串以支持新業務需求R(I)至R(L)。
[0025]根據本發明的一個實施例,如尋找到以R(I)開始的連續最長子序列不包括新業務需求R(L),則在剩余的已部署的硬件業務鏈對應的業務鏈支持表中尋找業務子序列的步驟進一步包括:
[0026]在所有已部署的硬件業務鏈對應的業務鏈支持表中,尋找以R(I)開始的連續最長子序列,設所述連續最長子序列為R(l)R(2)-_R(el),el〈L;
[0027]在剩余的已部署的硬件業務鏈對應的業務鏈支持表中尋找以R(el+1)起始的最長子序列,直到能拼接成從R (I)開始、包括新業務需求R (L)的連續子串R(1)R(2)…R(L)。
[0028]根據本發明的一個實施例,SDN控制平面判斷支持所述新業務需求的業務鏈是否滿足所述新業務需求的服務質量需求進一步包括:
[0029]根據SDN數據平面硬件設備資源,SDN控制平面計算當前支持所述新業務需求的業務鏈是否滿足網絡帶寬、延時和吞吐率要求;
[0030]如不能滿足網絡帶寬、延時和吞吐率要求,則返回S130。
[0031]根據本發明的一個實施例,SDN控制平面定制新業務鏈,以創建新業務需求中不能滿足的業務進一步包括:
[0032]如當前支持所述新業務需求的業務鏈不能滿足延時需求,SDN控制平面建立延時需求業務;
[0033]基于所述延時需求業務,SDN控制平面計算比當前業務鏈更短的轉發路徑,并將原本不在更短路徑上的業務部署至此路徑中,降低轉發延時。
[0034]根據本發明的一個實施例,SDN控制平面定制新業務鏈,以創建新業務需求中不能滿足的業務進一步包括:
[0035]如當前支持所述新業務需求的業務鏈不能滿足網絡帶寬和吞吐率需求,SDN控制平面建立帶寬和吞吐率需求業務;
[0036]基于所述帶寬和吞吐率需求業務,SDN控制平面尋找硬件設備剩余資源充足的網絡設備并將新業務部署于其中。
[0037]根據本發明的一個實施例,支持所述新業務需求的業務鏈滿足所述新業務需求對服務質量的要求時,進一步包括對業務整體性能和硬件資源利用率進行綜合優化的步驟:
[0038]SDN控制平面統計所有硬件業務鏈中資源的使用情況以及實際負荷,制定優化業務性能與節省硬件資源之間的權重,并根據所述權重綜合優化全局業務性能和全局硬件資源利用率。
[0039]本發明的有益效果:
[0040]本發明提供了一種支持多業務編排的SDN數據平面資源調度的方法,可以滿足多業務功能和性能需求,綜合優化業務整體性能和硬件資源利用率。
[0041]本發明的其它特征和優點將在隨