新四季網

用於SDN的路徑確定方法、裝置、計算機設備及存儲介質與流程

2023-05-05 04:42:11 1


本發明涉及網絡通信
技術領域:
,特別是涉及一種用於軟體定義網絡sdn的路徑確定方法及裝置。
背景技術:
:軟體定義網絡sdn(softwaredefinednetwork,sdn)是一種新型的網絡,是網絡虛擬化的一種實現方式,sdn網絡可以實現網絡控制平面與數據轉發平面的互相分離。在sdn網絡中,控制器接收到用戶端發送的請求時,首先要為接收到的請求確定路徑。並且,在現有技術中,控制器為接收到的請求確定的路徑只需要滿足時延最短的要求。但是,有些情況下,控制器確定的路徑可能不能滿足該請求需要佔用的帶寬,這種情況下,該路徑所經過的鏈路將不能被利用,從而導致網絡鏈路利用率較低。技術實現要素:本發明實施例的目的在於提供一種用於軟體定義網絡sdn的路徑確定方法、裝置、計算機設備及存儲介質,以提高網絡鏈路利用率。具體技術方案如下:第一方面,本發明實施例提供了一種用於軟體定義網絡sdn的路徑確定方法,應用於sdn網絡的控制器,所述方法包括:接收目標請求,其中,所述目標請求中至少包括:源節點標識信息、目的節點標識信息、帶寬信息;將源節點加入空的節點集中,其中,所述源節點為所述源節點標識信息對應的節點;根據當前節點集外的節點與當前節點集內的節點的位置關係,計算所述sdn網絡中所述當前節點集外的節點到所述源節點的時延值;從所述當前節點集外的節點中,選出目標節點,並將所述目標節點加入所述當前節點集中,其中,所述源節點到所述目標節點的路徑經過的鏈路的帶寬大於等於所述帶寬信息中的帶寬值,且與所述當前節點集外除目標節點之外的其他節點到所述源節點的路徑的時延值相比,所述源節點到所述目標節點的路徑的時延值最小;判斷所述目標節點的標識信息是否與所述目的節點的標識信息匹配;若為是,將所述源節點到所述目標節點的路徑確定為所述目標請求的目標路徑;若為否,繼續計算所述sdn網絡中當前節點集外的節點到所述源節點的時延值。可選地,所述根據當前節點集外的節點與當前節點集內的節點的位置關係,計算所述sdn網絡中所述當前節點集外的節點到所述源節點的時延值的步驟,包括:當前節點集外的節點為所述源節點的相鄰節點,將所述源節點到該節點的鏈路的時延值確定為該節點到所述源節點的時延值;或者當前節點集外的節點為所述源節點的非相鄰節點且是當前節點集內除源節點之外的任一目標節點的相鄰節點,將所述源節點到該目標節點的鏈路的時延值與該目標節點到該節點的鏈路的時延值之和確定為該節點到所述源節點的時延值;或者當前節點集外的節點為所述源節點的非相鄰節點且是當前節點集內的任一目標節點的非相鄰節點,將該節點到所述源節點的時延值確定為無窮大。可選的,所述方法還包括:在接收到多個請求時,將所述多個請求對應的路徑保存在矩陣a中,其中,所述矩陣a的行數為n2,n為所述sdn網絡中節點的數量,第n行表示第n條鏈路,節點序號為i的節點到節點序號為j的節點的鏈路為第(i-1)×n+j條鏈路,所述矩陣a的列數與所述多個請求的數量相等,第k列表示第k個請求,所述多個請求的順序是按照網絡側接收到所述多個請求的時間順序對所述多個請求進行排序得到的,所述矩陣a的元素值為1或0,若第k個請求的路徑經過第n條鏈路,則所述矩陣的第n行第k列對應的元素值為1,若第k條請求的路徑未經過第n條鏈路,則所述矩陣的第n行第k列對應的元素值為0;在∑1≤k≤ka[n][k]×maxk×x[1][k]≤b[n][1]時,計算目標函數取得最大值時對應的x,其中,k為第k個請求,n為第n條鏈路,a[n][k]為所述矩陣a中第n行第k列對應的元素值,maxk為第k個請求需要佔用的帶寬,b[n][1]為第n條鏈路的帶寬,x為一個行矩陣,所述行矩陣的列數與所述多個請求的數量相等,第k列表示第k個請求,若所述sdn網絡為第k個請求提供網絡服務,則x[1][k]為1,若所述sdn網絡沒有為第k個請求提供網絡服務,則x[1][k]為0;控制所述sdn網絡為x[1][k]為1對應的請求提供網絡服務。可選的,所述目標函數為或者sum(x[1][k]),或者∑1≤k≤kpriorityk×x[1][k],其中,priorityk為第k個請求的優先級。第二方面,本發明實施例還提供了一種用於軟體定義網絡sdn的路徑確定裝置,應用於sdn網絡的控制器,所述裝置包括:目標請求接收模塊、源節點加入節點集模塊、時延值計算模塊、目標節點確定模塊、判斷模塊、確定模塊;其中,所述目標請求接收模塊,用於接收目標請求,其中,所述目標請求中至少包括:源節點標識信息、目的節點標識信息、帶寬信息;所述源節點加入節點集模塊,用於將源節點加入空的節點集中,其中,所述源節點為所述源節點標識信息對應的節點;所述時延值計算模塊,用於根據當前節點集外的節點與當前節點集內的節點的位置關係,計算所述sdn網絡中所述當前節點集外的節點到所述源節點的時延值;所述目標節點確定模塊,用於從所述當前節點集外的節點中,選出目標節點,並將所述目標節點加入所述當前節點集中,其中,所述源節點到所述目標節點的路徑經過的鏈路的帶寬大於等於所述帶寬信息中的帶寬值,且與所述當前節點集外除目標節點之外的其他節點到所述源節點的路徑的時延值相比,所述源節點到所述目標節點的路徑的時延值最小;所述判斷模塊,用於判斷所述目標節點的標識信息是否與所述目的節點的標識信息匹配;若為是,觸發所述確定模塊,若為否,觸發所述源節點加入節點集模塊;所述確定模塊,用於將所述源節點到所述目標節點的路徑確定為所述目標請求的目標路徑。可選的,所述時延值計算模塊,具體用於:當前節點集外的節點為所述源節點的相鄰節點,將所述源節點到該節點的鏈路的時延值確定為該節點到所述源節點的時延值;或者當前節點集外的節點為所述源節點的非相鄰節點且是當前節點集內除源節點之外的任一目標節點的相鄰節點,將所述源節點到該目標節點的鏈路的時延值與該目標節點到該節點的鏈路的時延值之和確定為該節點到所述源節點的時延值;或者當前節點集外的節點為所述源節點的非相鄰節點且是當前節點集內的任一目標節點的非相鄰節點,將該節點到所述源節點的時延值確定為無窮大。可選的,所述裝置還包括:路徑存儲模塊,用於在所述控制器接收到多個請求時,將所述多個請求對應的路徑保存在矩陣a中,其中,所述矩陣a的行數為n2,n為所述sdn網絡中節點的數量,第n行表示第n條鏈路,節點序號為i的節點到節點序號為j的節點的鏈路為第(i-1)×n+j條鏈路,所述矩陣a的列數與所述多個請求的數量相等,第k列表示第k個請求,所述多個請求的順序是按照網絡側接收到所述多個請求的時間順序對所述多個請求進行排序得到的,所述矩陣a的元素值為1或0,若第k個請求的路徑經過第n條鏈路,則所述矩陣的第n行第k列對應的元素值為1,若第k條請求的路徑未經過第n條鏈路,則所述矩陣的第n行第k列對應的元素值為0;行矩陣計算模塊,用於在∑1≤k≤ka[n][k]×maxk×x[1][k]≤b[n][1]時,計算目標函數取得最大值時對應的x,其中,k為第k個請求,n為第n條鏈路,a[n][k]為所述矩陣a中第n行第k列對應的元素值,maxk為第k個請求需要佔用的帶寬,b[n][1]為第n條鏈路的帶寬,x為一個行矩陣,所述行矩陣的列數與所述多個請求的數量相等,第k列表示第k個請求,若所述sdn網絡為第k個請求提供網絡服務,則x[1][k]為1,若所述sdn網絡沒有為第k個請求提供網絡服務,則x[1][k]為0;網絡服務控制模塊,用於控制所述sdn網絡為x[1][k]為1對應的請求提供網絡服務。可選的,所述目標函數為或者sum(x[1][k]),或者∑1≤k≤kpriorityk×x[1][k],其中,priorityk為第k個請求的優先級。第三方面,本發明實施例還提供了一種計算機設備,包括處理器、通信接口、存儲器和通信總線,其中,處理器,通信接口,存儲器通過總線完成相互間的通信,存儲器,用於存放電腦程式;處理器,用於執行存儲器上所存放的程序時,使得計算機設備執行上述任一所述的用於軟體定義網絡sdn的路徑確定方法。第四方面,本發明實施例還提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質內存儲有電腦程式,所述電腦程式被處理器執行時使得計算機設備執行上述任一所述的用於軟體定義網絡sdn的路徑確定方法。與現有技術相比,本發明實施例提供的技術方案,sdn控制器在接收到用戶端發送的目標請求時,根據目標請求的源節點標識信息、目的節點標識信息及帶寬信息,為目標請求選擇的目標路徑不僅滿足時延值最短,而且目標路徑的帶寬能夠滿足目標請求需要佔用的帶寬,可以使網絡中的鏈路資源得到充分利用,提高了網絡鏈路利用率。附圖說明為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明實施例所提供的一種用於軟體定義網絡sdn的路徑確定方法的第一種流程示意圖;圖2為本發明實施例所提供的一種用於軟體定義網絡sdn的路徑確定方法的第二種流程示意圖;圖3為本發明實施例所提供的一種用於軟體定義網絡sdn的路徑確定方法的一種應用實例示意圖;圖4為本發明實施例所提供的一種用於軟體定義網絡sdn的路徑確定裝置的第一種結構示意圖;圖5為本發明實施例所提供的一種用於軟體定義網絡sdn的路徑確定裝置的第二種結構示意圖;圖6為本發明實施例所提供的一種計算機設備的結構示意圖。具體實施方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。為了提高網絡鏈路利用率,本發明實施例提供了一種用於軟體定義網絡sdn的路徑確定方法及裝置。需要說明的是,本發明實施例提供了一種用於軟體定義網絡sdn的路徑確定方法及裝置,優先適用於軟體定義網絡sdn的控制器。在該方法中,將網絡設備抽象成節點,每個節點具有唯一的標識信息,鏈路用來連接sdn網絡中任一節點與其相鄰的節點,所述鏈路中的任一鏈路具有帶寬及時延值。網絡中的節點可以是個人計算機、伺服器、路由器以及其他與網絡連接的網絡設備,這些都是合理的。下面首先對本發明實施例所提供的一種用於軟體定義網絡sdn的路徑確定方法進行介紹。如圖1所示,本發明實施例所提供的一種用於軟體定義網絡sdn的路徑確定方法,可以包括如下步驟:s110,接收目標請求,其中,所述目標請求中至少包括:源節點標識信息、目的節點標識信息、帶寬信息;由於sdn網絡既可以接收同一用戶端發送的多條請求,也可以接收不同用戶端發送的請求,因此,目標請求既可以是同一用戶端發送的多條請求中的任意一條請求,也可以是不同用戶端發送的請求中的任意一條請求,這都是合理的。並且,目標請求至少包括三個重要的參數,分別為源節點標識信息、目的節點標識信息、帶寬信息。其中,源節點標識信息可以為源節點序號,目的節點標識信息可以為目的節點序號,帶寬信息中包括帶寬值,該帶寬值為目標請求需要佔用的帶寬。舉例而言,目標請求的數據流需要從源節點序號對應的節點傳輸到目的節點序號對應的節點,且在數據流傳輸過程中需要佔用一定的帶寬。因此,sdn控制器在接收到目標請求時,可以根據目標請求的源節點序號、目的節點序號、需要佔用的帶寬來為目標請求尋找路徑。s120,將源節點加入空的節點集中,其中,所述源節點為所述源節點標識信息對應的節點;在為目標請求尋找路由路徑之前,sdn網絡中存在一個空的節點集,該空的節點集可以是預先建立的,也可以是在接收到目標請求時建立的空節點集,這都是合理的。在接收到目標請求時,控制器可以將目標請求的源節點標識信息對應的源節點加入到該空的節點集中,以在後續步驟中計算sdn網絡中當前節點集外的節點到源節點的時延值。s130,根據當前節點集外的節點與當前節點集內的節點的位置關係,計算所述sdn網絡中所述當前節點集外的節點到所述源節點的時延值;在將目標請求的源節點加入到空的節點集中之後,控制器可以計算當前節點集外各個節點到源節點的時延值。由於當前節點集內的節點除了源節點之外沒有其他節點,因此,此時需要計算網絡中除源節點之外的其他各個節點到源節點的時延值。需要說明的是,在當前節點集內只有源節點時,sdn網絡中當前節點集外的節點可以分為兩類節點,第一類節點是源節點的相鄰節點,第二類節點是源節點的非相鄰節點。若當前節點集外的節點為第一類節點時,也就是說,當前節點集的節點為所述源節點的相鄰節點,將源節點到該節點的鏈路的時延值確定為該節點到源節點的時延值;若當前節點集外的節點為第二類節點時,也就是說,當前節點集的節點為所述源節點的非相鄰節點,該節點到源節點的時延值為無窮大。s140,從所述當前節點集外的節點中,選出目標節點,並將所述目標節點加入所述當前節點集中,其中,所述源節點到所述目標節點的路徑經過的鏈路的帶寬大於等於所述帶寬信息中的帶寬值,且與所述當前節點集外除目標節點之外的其他節點到所述源節點的路徑的時延值相比,所述源節點到所述目標節點的路徑的時延值最小;在s130計算出當前節點集外各個節點到源節點的時延值之後,為了保證為目標請求確定的路徑的時延值最小,且為目標請求確定的路徑的帶寬大於等於目標請求需要佔用的帶寬,因此,選出的目標節點應該滿足兩個條件,第一個條件為目標節點到源節點的時延值最小;第二個條件為連接源節點與目標節點的鏈路的帶寬大於等於目標請求需要佔用的帶寬。需要說明的是,由於若當前節點集外的節點是源節點的非相鄰節點,則當前節點集外的節點到源節點的時延值為無窮大,因此,此時選出的目標節點不可能是源節點的非相鄰節點。也就是說,選出的目標節點為節點集外與源節點相鄰的節點,在選出目標節點之後,將目標節點加入當前節點中。s150,判斷所述目標節點的標識信息是否與所述目的節點的標識信息匹配;若為是,則執行s160,若為否,繼續執行s130;s160,將所述源節點到所述目標節點的路徑確定為所述目標請求的目標路徑。選出目標節點之後,判斷選出的目標節點對應的標識信息是否與目標請求的目的節點的標識信息匹配,如果選出的目標節點對應的標識信息與目標請求的目的節點的標識信息相匹配,則目標請求尋路目標路徑成功,則可以將源節點到目標節點的路徑確定為目標請求的目標路徑;如果選出的目標節點對應的標識信息不是目標請求的目的節點的標識信息,則繼續計算當前節點集外的各個節點到源節點的時延值。需要說明的是,在繼續計算當前節點集外的各個節點到源節點的時延值時,由於當前節點集中有除了有源節點,還有目標節點,因此此時當前節點集外的節點可以分為三類節點,第一類節點為源節點的相鄰節點;第二類為源節點的相鄰節點且是目標節點的相鄰節點;第三類為源節點的非相鄰節點且是目標節點的非相鄰節點。若當前節點集外的節點為第一類節點時,該節點到源節點的時延值為連接源節點與該節點的鏈路的時延值;若當前節點集外的節點為第二類節點時,該節點到源節點的時延值為連接源節點與目標節點的鏈路的時延值與連接目標節點與該節點的鏈路的時延值之和;若當前節點集外的節點為第三類節點時,該節點到源節點的時延值為無窮大。當計算完時延值之後,繼續執行s140和s150,直到選出的目標節點的標識信息與目標請求的目的節點的標識信息匹配時,目標請求尋找目標路徑成功,並將源節點到目標節點的信息確定為目標路徑,否則目標請求尋找目標路徑失敗。與現有技術相比,本發明實施例提供的一種用於軟體定義網絡sdn的路徑確定方法,sdn網絡在接收到用戶端發送的目標請求時,根據目標請求的源節點標識信息、目的節點標識信息及需要佔用的帶寬,為目標請求選擇的目標路徑不僅滿足時延值最短,而且目標路徑的帶寬能夠滿足目標請求需要佔用的帶寬,可以使網絡中的鏈路資源得到充分利用,提高了網絡鏈路利用率。與現有技術相比,本發明實施例提供的技術方案,sdn控制器在接收到用戶端發送的目標請求時,根據目標請求的源節點標識信息、目的節點標識信息及帶寬信息,為目標請求選擇的目標路徑不僅滿足時延值最短,而且目標路徑的帶寬能夠滿足目標請求需要佔用的帶寬,可以使網絡中的鏈路資源得到充分利用,提高了網絡鏈路利用率。可選地,在一種實現方式中,如圖2所示,所述方法還可以包括:s170,在接收到多個請求時,將所述多個請求對應的路徑保存在矩陣a中;為了後續通過計算確定為哪些請求提供網絡服務,因此可以將網絡側接收到的多個請求對應的路徑保存在矩陣a中。需要說明的是,當控制器接收到用戶端發送的多個請求時,可以按照多個請求的接收時間順序對多個請求進行排序,依次記為第1個請求、第2個請求、……、第k個請求,並按照此順序依次為多個請求尋找路徑。另外,假如網絡中有n個節點,則矩陣a的行數為n2,每一行表示一條鏈路,第1行表示第1條鏈路,第n行表示第n條鏈路。其中,源節點序號為i的節點與目的節點序號為j的節點的鏈路在矩陣中對應第(i-1)×n+j條鏈路。當鏈路的源節點序號與目的節點序號相等時,該條鏈路沒有實際意義,也就是說,當i=j時,鏈路沒有實際意義。舉例而言,假如網絡中有4個節點,節點序號分別為1、2、3、4,則網絡中鏈路的條數為16條,第1條鏈路中,i=1,j=1,由於i=j,所以該條鏈路沒有實際意義;第2條鏈路中,i=1,j=2,也就是說,第2條鏈路是源節點序號為1的節點及目的節點序號為2的節點對應的鏈路;以此類推,第3條鏈路中,i=1,j=3;第4條鏈路中,i=1,j=4;第5條鏈路中,i=2,j=1;第6條鏈路中,i=2,j=2;第7條鏈路中,i=2,j=3;第8條鏈路中,i=2,j=4;第9條鏈路中,i=3,j=1;第10條鏈路中,i=3,j=2;第11條鏈路中,i=3,j=3;第12條鏈路中,i=3,j=4;第13條鏈路中,i=4,j=1;第14條鏈路中,i=4,j=2;第15條鏈路中,i=4,j=3;第16條鏈路中,i=4,j=4。s180,在∑1≤k≤ka[n][k]×maxk×x[1][k]≤b[n][1]時,計算目標函數取得最大值時對應的x;由於網絡中每條鏈路為請求提供的實際帶寬總和不能大於該條鏈路的最大帶寬,即∑1≤k≤ka[n][k]×maxk×x[1][k]≤b[n][1]。在此約束條件下,可以計算目標函數取得最大值時對應的x,由於行矩陣的第k列對應的元素值表示第k個請求是否被網絡服務,所以可以通過計算目標函數取得最大值時對應的行矩陣,確定在目標函數取得最大值時,哪些請求能得到網絡服務,哪些請求不能得到網絡服務。需要強調的是,對於一個請求而言,該請求可能被網絡服務,也可以被網絡拒絕服務,不存在請求被部分服務的情況。也就是說,網絡可能為該請求提供該請求需要佔用的帶寬,也可能為該請求提供帶寬的為0,不會存在網絡為一個請求提供的帶寬大於0,但小於該請求需要佔用的帶寬的情況。可選的,所述目標函數可以為由於表示多個請求在sdn網絡中實際佔用的帶寬總和,通過求得該目標函數的最大值,可以使網絡中帶寬資源得到充分的利用。需要說明的是,在一種實現方式中,可以利用線性規劃來求得多個請求在sdn網絡中實際佔用的帶寬總和,並求得網絡中帶寬總和取得最大值時對應的最優解,即求得x,從而得到在網絡中帶寬總和取得最大值時,哪些請求能得到服務,而哪些請求不能得到服務;其中,線性規劃的目標函數為且由於網絡中每條鏈路為佔用該條鏈路的請求提供的帶寬總和不能大於該條鏈路的最大帶寬,所以線性規劃的約束條件是∑1≤k≤ka[n][k]×maxk×x[1][k]≤b[n][1],其中,b[n][1]為第n條鏈路的最大帶寬。可以理解的是,本領域技術人員應該理解線性規劃的具體求解過程,在此不再贅述線性規劃的具體求解過程。可選的,所述目標函數可以為sum(x[1][k])。需要說明的是,sum(x[1][k]表示被sdn網絡服務的請求的數量總和,求得被網絡服務的請求的數量總和的最大值,可以使可能多的請求被網絡服務,避免因個別請求佔用過多的帶寬而導致其他大多數請求不能被網絡服務的情況,並計算該數量總和取得最大值時對應的行矩陣,由於行矩陣的第k列對應的元素值表示第k個請求是否被網絡服務,所以可以通過計算該數量總和取得最大值時對應的行矩陣,確定在被網絡服務的請求的數量總和取得最大值時,哪些請求能得到網絡服務,哪些請求不能得到網絡服務。需要說明的是,在一種實現方式中,可以利用線性規劃來求得被網絡服務的請求的數量總和的最大值,並求得該數量總和取得最大值時對應的最優解,即求得x,從而得到該數量總和取得最大值時,哪些請求能得到服務,而哪些請求不能得到服務;其中,線性規劃的目標函數為sum(x[1][k]),且由於網絡中每條鏈路為佔用該條鏈路的請求提供的帶寬總和不能大於該條鏈路的最大帶寬,所以線性規劃的約束條件是∑1≤k≤ka[n][k]×maxk×x[1][k]≤b[n][1],其中,b[n][1]為第n條鏈路的最大帶寬。可以理解的是,本領域技術人員應該理解線性規劃的具體求解過程,在此不再贅述線性規劃的具體求解過程。可選的,所述目標函數可以為∑1≤k≤kpriorityk×x[1][k],其中,priorityk為第k個請求的優先級。由於不同的請求的優先級不同,有些請求的優先級較高,而有些請求的優先級較低,在該實施例中,請求的優先級值越大,請求的優先級越高。為了使在網絡帶寬資源不能滿足所有請求的帶寬總和時,網絡優先為優先級較高的請求提供服務,因此,以被網絡服務的請求的優先級總和為最優化目標。也就是說,求得被網絡服務的請求的優先級總和的最大值,並計算該優先級總和取得最大值時對應的行矩陣,由於行矩陣的第k列對應的元素值表示第k個請求是否被網絡服務,所以可以通過計算該優先級總和取得最大值時對應的行矩陣,確定在被網絡服務的請求的優先級總和取得最大值時,哪些請求能得到網絡服務,哪些請求不能得到網絡服務。需要說明的是,在一種實現方式中,可以利用線性規劃來求得被網絡服務的請求的優先級總和的最大值,並求得該優先級總和取得最大值時對應的最優解,即求得x[1][k],從而得到該優先級總和取得最大值時,哪些請求能得到服務,而哪些請求不能得到服務;其中,線性規劃的目標函數為∑1≤k≤kpriorityk×x[1][k],且由於網絡中每條鏈路為佔用該條鏈路的請求提供的帶寬總和不能大於該條鏈路的最大帶寬,所以線性規劃的約束條件是∑1≤k≤ka[n][k]×maxk×x[1][k]≤b[n][1],其中,b[n][1]為第n條鏈路的最大帶寬。可以理解的是,本領域技術人員應該理解線性規劃的具體求解過程,在此不再贅述線性規劃的具體求解過程。s190,控制所述sdn網絡為x[1][k]為1對應的請求提供網絡服務。在求得目標函數取得最大值對應的行矩陣x之後,若行矩陣的第k列對應的元素值為1時,說明在目標函數取得最大值時,sdn網絡為第k個請求提供網絡服務,因此,控制器可以控制sdn網絡為x[1][k]為1對應的請求提供網絡服務。與現有技術相比,本發明實施例提供的技術方案,sdn控制器在接收到用戶端發送的目標請求時,根據目標請求的源節點標識信息、目的節點標識信息及需要佔用的帶寬,為目標請求選擇的目標路徑不僅滿足時延值最短,而且目標路徑的帶寬能夠滿足目標請求需要佔用的帶寬,可以使網絡中的鏈路資源得到充分利用,提高了網絡鏈路利用率。而且通過將各個請求尋找路徑的結果存儲在矩陣a中,通過計算目標函數取得最大值時對應的行矩陣x,有利於控制器對網絡資源進行集中調控,從而可以使得請求被sdn網絡服務的情況與請求達到sdn網絡的先後順序無關,進而能夠提高sdn網絡的服務率;並且為多個請求提高差異化服務,從而多個請求能夠得到更加公平的服務。下面結合具體的實施例,對本發明實施例所提供的一種用於軟體定義網絡sdn的路徑確定方法進行介紹。如圖3所示,該應用實例中,將網絡抽象成一個無向圖,無向圖的4個頂點表示網絡中的4個節點,每個節點旁邊標有一個數字,其代表節點的節點序號,因此,4個節點序號分別為1、2、3、4,連接相鄰節點的邊表示鏈路,連接相鄰節點的邊外側的數字為鏈路的帶寬,連接相鄰節點的邊內側的數字為鏈路的時延值。其中,連接節點序號為1的節點和節點序號為4的節點的鏈路的帶寬為8,時延值為2;連接節點序號為4的節點和節點序號為2的節點的鏈路的帶寬為6,時延值為3;連接節點序號為2的節點和節點序號為3的節點的鏈路的帶寬為5,時延值為1;連接節點序號為1的節點和節點序號為3的節點的鏈路的帶寬為1,時延值為2。假設當前網絡側依次接收到3個請求,第1個請求的源節點序號為1,目的節點序號為2,需要佔用的帶寬為2,優先級為5;第2個請求的源節點序號為4,目的節點序號為2,需要佔用的帶寬為6,優先級為10;第3個請求的源節點序號為4,目的節點序號為2,需要佔用的帶寬為3,優先級為15。首先,軟體定義網絡sdn的控制器依次為第1個請求、第2個請求、第3個請求尋找路徑,具體過程為:1、將第1個請求的源節點序號對應的源節點加入到空的節點集中,也就是說,將節點序號為1的節點加入到空的節點集中。2、計算當前節點集外節點序號分別為2、3、4對應的節點與源節點的時延值,由於節點序號為2的節點與源節點是非相鄰節點,所以節點序號為2的節點與源節點的時延值為無窮大;節點序號為3的節點與源節點是相鄰節點,因此,節點序號為3的節點與源節點的時延值為連接這兩個節點的鏈路的時延值,該時延值為2;節點序號為4的節點與源節點是相鄰節點,因此,節點序號為4的節點與源節點的時延值為連接這兩個節點的鏈路的時延值,該時延值也為2。綜上所述,節點序號為2、3、4的節點與源節點的時延值分別為無窮大、2、2。3、從節點序號為2、3、4的節點中選出目標節點,由於節點序號為3的節點和節點序號為4的節點到源節點的時延值最小,且都為2,但連接節點序號為1的節點和節點序號為3的節點的鏈路的帶寬為1,該帶寬小於第1個請求需要佔用的帶寬,而連接節點序號為1的節點和節點序號為4的節點的鏈路的帶寬值為8,該帶寬大於第1個請求需要佔用的帶寬,因此,目標節點為節點序號為4的節點,並將該目標節點加入到當前節點集中。需要說明的是,若連接節點序號為1的節點和節點序號為3的節點的鏈路的帶寬,以及連接節點序號為1的節點和節點序號為4的節點的鏈路的帶寬均大於等於第1條請求需要佔用的帶寬,則選擇節點序號為3的節點作為目標節點,也就是說,選擇節點序號較小的節點作為目標節點。4、由於目標節點的節點序號為4,而第1個請求的目的節點序號為2,因此判斷出目標節點的節點序號不是第1個請求的目的節點序號。因此,接下來需要繼續計算當前節點集外的各個節點與源節點的時延值。5、計算節點集外節點序號為2的節點和節點序號為3的節點到源節點的時延值。對於節點序號為2的節點來說,由於節點序號為2的節點為目標節點的相鄰節點,所以節點序號為2的節點到源節點的時延值為源節點到目標節點的鏈路的時延值,以及目標節點到節點序號為2的節點的鏈路的時延值之和,經計算節點序號為2的節點到源節點的時延值為5。對於節點序號為3的節點來說,節點序號為3的節點與源節點的時延值已經在第3步中計算,該時延值為2。6、從節點序號為2的節點和節點序號為3的節點中再次選出目標節點。對於節點序號為2的節點來說,連接源節點與目標節點的鏈路,以及連接目標節點與節點序號為2的節點的鏈路的帶寬分別為8、6,均大於第1個請求需要佔用的帶寬;而對於節點序號為3的節點來說,連接節點序號為1的節點和節點序號為3的節點的鏈路的帶寬為1,小於第1個請求需要佔用的帶寬;所以,再次選出的目標節點為節點序號為2的節點,並將該節點作為目標節點,再次加入當前節點集中。7、由於再次選出的目標節點的節點序號為2,而第1個請求的目的節點序號也為2,所以第1個請求尋找路徑成功,其中,第1個請求的路徑經過兩條鏈路,首先經過i=1,j=4的鏈路,然後經過i=4,j=2的鏈路,也就是說,第1個請求的路徑先後經過第4條鏈路、第14條鏈路。8、按照為第1個請求尋找路徑的方法,為第2個請求及第3個請求尋路,第2個請求及第3個請求都尋找路徑成功,其中,第2個請求的路徑和第3個請求的路徑都只經過一條鏈路,且經過的鏈路都為第14條鏈路。在為第1個請求、第2個請求、第3個請求尋找路徑之後,將第1個請求、第2個請求、第3個請求尋找路徑的結果都存儲在矩陣a中,存儲結果如下:矩陣a000000000100000000000000000000000000000111000000由於這三個請求的路徑中,經過的鏈路為第4條鏈路和第14條鏈路,因此,需要保證第4條鏈路和第14條鏈路為請求提供的帶寬小於等於其對應的最大帶寬,並將此條件作為線性規劃的約束條件,可以用如下表達式表示;接下來,既可以以3個請求在sdn網絡中佔用的實際帶寬總和為目標函數,經線性規劃計算得到sdn網絡中佔用的帶寬總和的最大值為6,在帶寬總和取得最大值時,行矩陣x為{0,1,0},也就是說,此時sdn網絡為第2個請求提供網絡服務。也可以以被sdn網絡服務的請求的數量總和為目標函數,經線性規劃計算得到被sdn網絡服務的請求的數量總和的最大值為2,行矩陣x為{1,0,1},也就是說,此時sdn網絡為第1個請求和第3個請求提供網絡服務。還可以以被網絡服務的請求的優先級總和為目標函數,經線性規劃計算得到被網絡服務的請求的優先級總和的最大值為20,行矩陣x為{1,0,1},也就是說,此時sdn網絡為第1個請求和第3個請求提供網絡服務。與現有技術相比,本發明實施例提供的技術方案,sdn控制器在接收到用戶端發送的目標請求時,根據目標請求的源節點標識信息、目的節點標識信息及需要佔用的帶寬,為目標請求選擇的目標路徑不僅滿足時延值最短,而且目標路徑的帶寬能夠滿足目標請求需要佔用的帶寬,可以使網絡中的鏈路資源得到充分利用,提高了網絡鏈路利用率。而且通過將各個請求尋找路徑的結果存儲在矩陣a中,通過計算目標函數取得最大值時對應的行矩陣x,有利於控制器對網絡資源進行集中調控,從而可以使得請求被sdn網絡服務的情況與請求達到sdn網絡的先後順序無關,進而能夠提高sdn網絡的服務率;並且為多個請求提高差異化服務,從而多個請求能夠得到更加公平的服務。相應於上述方法實施例,本發明實施例提供了一種用於軟體定義網絡sdn的路徑確定裝置,應用於sdn網絡的控制器,如圖4所示,所述裝置包括:目標請求接收模塊410、源節點加入節點集模塊420、時延值計算模塊430、目標節點確定模塊440、判斷模塊450、確定模塊460;其中,所述目標請求接收模塊410,用於接收目標請求,其中,所述目標請求中至少包括:源節點標識信息、目的節點標識信息、帶寬信息;所述源節點加入節點集模塊420,用於將源節點加入空的節點集中,其中,所述源節點為所述源節點標識信息對應的節點;所述時延值計算模塊430,用於根據當前節點集外的節點與當前節點集內的節點的位置關係,計算所述sdn網絡中所述當前節點集外的節點到所述源節點的時延值;所述目標節點確定模塊440,用於從所述當前節點集外的節點中,選出目標節點,並將所述目標節點加入所述當前節點集中,其中,所述源節點到所述目標節點的路徑經過的鏈路的帶寬大於等於所述帶寬信息中的帶寬值,且與所述當前節點集外除目標節點之外的其他節點到所述源節點的路徑的時延值相比,所述源節點到所述目標節點的路徑的時延值最小;所述判斷模塊450,用於判斷所述目標節點的標識信息是否與所述目的節點的標識信息匹配;若為是,觸發所述確定模塊460,若為否,觸發所述時延值計算模塊430;所述確定模塊460,用於將所述源節點到所述目標節點的路徑確定為所述目標請求的目標路徑。與現有技術相比,本發明實施例提供的技術方案,sdn控制器在接收到用戶端發送的目標請求時,根據目標請求的源節點標識信息、目的節點標識信息及需要佔用的帶寬,為目標請求選擇的目標路徑不僅滿足時延值最短,而且目標路徑的帶寬能夠滿足目標請求需要佔用的帶寬,可以使網絡中的鏈路資源得到充分利用,提高了網絡鏈路利用率。可選的,所述時延值計算模塊430,具體用於:當前節點集外的節點為所述源節點的相鄰節點,將所述源節點到該節點的鏈路的時延值確定為該節點到所述源節點的時延值;或者當前節點集外的節點為所述源節點的非相鄰節點且是當前節點集內除源節點之外的任一目標節點的相鄰節點,將所述源節點到該目標節點的鏈路的時延值與該目標節點到該節點的鏈路的時延值之和確定為該節點到所述源節點的時延值;或者當前節點集外的節點為所述源節點的非相鄰節點且是當前節點集內的任一目標節點的非相鄰節點,將該節點到所述源節點的時延值確定為無窮大。可選地,在一種實施方式中,如圖5所示,所述裝置還包括:路徑存儲模塊470,用於在所述控制器接收到多個請求時,將所述多個請求對應的路徑保存在矩陣a中,其中,所述矩陣a的行數為n2,n為所述sdn網絡中節點的數量,第n行表示第n條鏈路,節點序號為i的節點到節點序號為j的節點的鏈路為第(i-1)×n+j條鏈路,所述矩陣a的列數與所述多個請求的數量相等,第k列表示第k個請求,所述多個請求的順序是按照網絡側接收到所述多個請求的時間順序對所述多個請求進行排序得到的,所述矩陣a的元素值為1或0,若第k個請求的路徑經過第n條鏈路,則所述矩陣的第n行第k列對應的元素值為1,若第k條請求的路徑未經過第n條鏈路,則所述矩陣的第n行第k列對應的元素值為0;行矩陣計算模塊480,用於在∑1≤k≤ka[n][k]×maxk×x[1][k]≤b[n][1]時,計算目標函數取得最大值時對應的x,其中,k為第k個請求,n為第n條鏈路,a[n][k]為所述矩陣a中第n行第k列對應的元素值,maxk為第k個請求需要佔用的帶寬,b[n][1]為第n條鏈路的帶寬,x為一個行矩陣,所述行矩陣的列數與所述多個請求的數量相等,第k列表示第k個請求,若所述sdn網絡為第k個請求提供網絡服務,則x[1][k]為1,若所述sdn網絡沒有為第k個請求提供網絡服務,則x[1][k]為0;網絡服務控制模塊490,用於控制所述sdn網絡為x[1][k]為1對應的請求提供網絡服務。可選的,所述目標函數為可選的,所述目標函數為sum(x[1][k])。可選的,所述目標函數為∑1≤k≤kpriorityk×x[1][k],其中,priorityk為第k個請求的優先級。與現有技術相比,本發明實施例提供的技術方案,sdn控制器在接收到用戶端發送的目標請求時,根據目標請求的源節點標識信息、目的節點標識信息及需要佔用的帶寬,為目標請求選擇的目標路徑不僅滿足時延值最短,而且目標路徑的帶寬能夠滿足目標請求需要佔用的帶寬,可以使網絡中的鏈路資源得到充分利用,提高了網絡鏈路利用率。而且通過將各個請求尋找路徑的結果存儲在矩陣a中,通過計算目標函數取得最大值時對應的行矩陣x,有利於控制器對網絡資源進行集中調控,從而可以使得請求被sdn網絡服務的情況與請求達到sdn網絡的先後順序無關,進而能夠提高sdn網絡的服務率;並且為多個請求提高差異化服務,從而多個請求能夠得到更加公平的服務。在本發明提供的又一實施例中,還提供了一種計算機設備600,如圖6所示,該計算機設備包括處理器610、通信接口620、存儲器630和通信總線640,其中,處理器,通信接口,存儲器通過總線完成相互間的通信;存儲器,用於存放電腦程式;處理器,用於執行存儲器上所存放的程序時,執行上述圖1-圖3任一實施例所述的用於軟體定義網絡sdn的路徑確定方法。在本發明提供的又一實施例中,還提供了一種計算機可讀存儲介質,該計算機可讀存儲介質內存儲有電腦程式,電腦程式被處理器執行時實現上述圖1-圖3任一實施例所述的用於軟體定義網絡sdn的路徑確定方法。需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。本說明書中的各個實施例均採用相關的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。以上所述僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。凡在本發明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發明的保護範圍內。當前第1頁12

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀