一種用于軟件定義網(wǎng)絡(luò)的路由確定方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,更具體的涉及一種用于軟件定義網(wǎng)絡(luò)的路由確定方 法和裝置。
【背景技術(shù)】
[0002] 軟件定義網(wǎng)絡(luò)(SoftwareDefinedNetwork,SDN)是一種新型的網(wǎng)絡(luò)架構(gòu),它的設(shè) 計(jì)理念是將網(wǎng)絡(luò)的控制平面與數(shù)據(jù)轉(zhuǎn)發(fā)平面進(jìn)行分離,集中的控制器(controller)中的 軟件平臺(tái)可以通過開放的接口去實(shí)現(xiàn)可編程化控制基礎(chǔ)設(shè)施層的硬件,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)資源靈 活的按需調(diào)配,比如,基礎(chǔ)設(shè)施即服務(wù)(Infrastructure-as-a-Service,IaaS)就可以看做 一個(gè)SDN網(wǎng)絡(luò)。
[0003]在SDN網(wǎng)絡(luò)中,工作在基礎(chǔ)設(shè)施層的網(wǎng)絡(luò)設(shè)備(如SDN交換機(jī))可以采用通用的硬 件,只負(fù)責(zé)單純的數(shù)據(jù)轉(zhuǎn)發(fā),不再需要對(duì)邏輯控制進(jìn)行過多考慮,設(shè)備中的各個(gè)表項(xiàng)并非是 由設(shè)備自身根據(jù)周邊的網(wǎng)絡(luò)環(huán)境在本地自行生成的,而是由控制器統(tǒng)一下發(fā)的,因此各種 復(fù)雜的控制邏輯(例如鏈路發(fā)現(xiàn)、地址學(xué)習(xí)、路由計(jì)算等等)都無需在SDN交換機(jī)中實(shí)現(xiàn); 另一方面,SDN控制器集中管控SDN網(wǎng)絡(luò)的全網(wǎng)帶寬資源,可以快速地從全局角度調(diào)配網(wǎng)絡(luò) 資源來滿足業(yè)務(wù)的需求,實(shí)現(xiàn)網(wǎng)絡(luò)資源利用的最優(yōu)化。
[0004] 因此,SDN控制平面最基本的一個(gè)功能就是路由計(jì)算,又稱算路,路由計(jì)算應(yīng)用于 業(yè)務(wù)流量規(guī)劃、帶寬利用優(yōu)化等涉及線性規(guī)劃的網(wǎng)絡(luò)規(guī)劃問題。一方面,與傳統(tǒng)網(wǎng)絡(luò)不同, 路由計(jì)算涉及全網(wǎng)的鏈路,而不是如分布式網(wǎng)絡(luò)中路由算法僅僅基于局部信息算最短路決 策路由,因此算路問題的規(guī)模和網(wǎng)絡(luò)的動(dòng)態(tài)變化大大增加,為了獲得實(shí)時(shí)的計(jì)算結(jié)果,對(duì)網(wǎng) 絡(luò)規(guī)劃(其核心是算路問題)涉及線性規(guī)劃的計(jì)算效率提出了更高的要求;另一方面,在實(shí) 際的組網(wǎng)環(huán)境中,由于地震等自然因素會(huì)導(dǎo)致網(wǎng)絡(luò)中某些鏈路中斷,則需要在盡量短的時(shí) 間內(nèi)通過重路由(reroute)將這些中斷的業(yè)務(wù)部署到其他的鏈路上,對(duì)網(wǎng)絡(luò)規(guī)劃(其核心 是算路問題)中的計(jì)算效率同樣有很高要求。
[0005] 網(wǎng)絡(luò)規(guī)劃中使用的分析方法是利用線性規(guī)劃的思想將SDN網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)結(jié)合 業(yè)務(wù)需求抽象成數(shù)學(xué)模型后,利用單純形法進(jìn)行求解,而目前路由計(jì)算使用的計(jì)算方法求 解效率低,無法滿足在SDN網(wǎng)絡(luò)環(huán)境下的涉及算路的網(wǎng)絡(luò)規(guī)劃問題對(duì)求解效率的要求,影 響了SDN網(wǎng)絡(luò)的網(wǎng)絡(luò)規(guī)劃和調(diào)度的實(shí)時(shí)性,限制了SDN控制平面對(duì)SDN網(wǎng)絡(luò)的網(wǎng)絡(luò)規(guī)劃能 力。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本發(fā)明實(shí)施例提供了一種用于軟件定義網(wǎng)絡(luò)的路由計(jì)算方法和裝置, 以提高路由計(jì)算效率,更加適合求解在SDN網(wǎng)絡(luò)環(huán)境下的涉及算路的網(wǎng)絡(luò)規(guī)劃問題。
[0007]第一方面,本發(fā)明實(shí)施例提供了一種用于軟件定義SDN網(wǎng)絡(luò)的路由確定方法,所 述SDN網(wǎng)絡(luò)包括多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),所述多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)包括第一網(wǎng)絡(luò)節(jié)點(diǎn)和第二網(wǎng)絡(luò)節(jié)點(diǎn),所 述第一網(wǎng)絡(luò)節(jié)點(diǎn)與所述第二網(wǎng)絡(luò)節(jié)點(diǎn)之間存在多條路徑,所述方法用于從所述多條路徑中 確定出符合指定業(yè)務(wù)需求的目標(biāo)路徑,所述方法包括:
[0008] 確定至少兩個(gè)起點(diǎn),所述至少兩個(gè)起點(diǎn)是至少兩個(gè)迭代計(jì)算過程的計(jì)算初始點(diǎn), 所述至少兩個(gè)迭代計(jì)算過程用于通過求解一線性規(guī)劃數(shù)學(xué)模型來得到所述目標(biāo)路徑,所述 線性規(guī)劃數(shù)學(xué)模型與所述指定業(yè)務(wù)需求對(duì)應(yīng),每個(gè)所述起點(diǎn)唯一地對(duì)應(yīng)所述線性規(guī)劃數(shù)學(xué) 模型的一組基,所述至少兩個(gè)起點(diǎn)對(duì)應(yīng)的至少兩組基中,任意兩組基之間線性相關(guān)的基的 數(shù)量小于或者等于選取閾值,所述線性規(guī)劃數(shù)學(xué)模型存在其他至少一組基與所述至少兩組 基中的一組基之間線性相關(guān)的基的數(shù)量大于或者等于所述選取閾值;
[0009] 根據(jù)所述至少兩個(gè)迭代計(jì)算過程中至少一個(gè)迭代計(jì)算過程的計(jì)算結(jié)果,確定所述 目標(biāo)路徑,其中每個(gè)所述迭代計(jì)算過程的計(jì)算初始點(diǎn)是一所述起點(diǎn),所述至少兩個(gè)起點(diǎn)中 的任意一個(gè)起點(diǎn)表示一條用于求解所述目標(biāo)路徑的初始路徑或者經(jīng)過所述任意一個(gè)起點(diǎn) 對(duì)應(yīng)的迭代計(jì)算過程中的若干次迭代計(jì)算后表示一條用于求解所述目標(biāo)路徑的初始路徑。
[0010] 在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述至少兩個(gè)迭代計(jì)算過程是并行執(zhí)行 的。
[0011] 結(jié)合第一方面第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述根據(jù)所 述至少兩個(gè)迭代計(jì)算過程中至少一個(gè)迭代計(jì)算過程的計(jì)算結(jié)果,確定所述目標(biāo)路徑,包 括:
[0012] 在所述至少兩個(gè)迭代計(jì)算過程中的任何一個(gè)計(jì)算出所述線性規(guī)劃數(shù)學(xué)模型的最 優(yōu)解的情況下,終止所述數(shù)量個(gè)計(jì)算線程;
[0013] 根據(jù)所述最優(yōu)解得到所述目標(biāo)路徑。
[0014] 結(jié)合第一方面,或者第一方面第一至第二種任意一種可能的實(shí)現(xiàn)方式,在第三種 可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0015] 將所述至少兩個(gè)迭代計(jì)算過程中的每個(gè)迭代計(jì)算過程正在計(jì)算的計(jì)算點(diǎn)與記錄 集合中的點(diǎn)進(jìn)行匹配,所述記錄集合是述至少兩個(gè)迭代計(jì)算過程已計(jì)算的點(diǎn)的集合;
[0016] 在所述記錄集合中不包括所述正在的計(jì)算點(diǎn)的情況下,將所述當(dāng)前的計(jì)算點(diǎn)加入 所述記錄集合;
[0017] 在所述記錄集合中包括所述正在計(jì)算的計(jì)算點(diǎn)的情況下,終止所述正在計(jì)算的計(jì) 算點(diǎn)對(duì)應(yīng)的迭代計(jì)算過程。
[0018] 結(jié)合第一方面第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,在所述記錄 集合中包括所述正在計(jì)算的計(jì)算點(diǎn)的情況下,所述方法還包括:
[0019] 利用所述終止的迭代計(jì)算過程的計(jì)算資源進(jìn)行新的迭代計(jì)算過程,所述新的迭代 計(jì)算過程的計(jì)算起始點(diǎn)與所述至少兩個(gè)迭代計(jì)算過程中的一個(gè)有相同的計(jì)算起始點(diǎn),并且 所述新的計(jì)算線程的第二個(gè)計(jì)算點(diǎn)與具有相同計(jì)算起始點(diǎn)的所述迭代計(jì)算過程的第二個(gè) 計(jì)算點(diǎn)不同。
[0020] 第二方面,本發(fā)明實(shí)施例提供了一種用于軟件定義網(wǎng)絡(luò)的路由確定方法,所述SDN 網(wǎng)絡(luò)包括多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),所述多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)包括第一網(wǎng)絡(luò)節(jié)點(diǎn)和第二網(wǎng)絡(luò)節(jié)點(diǎn),所述第一 網(wǎng)絡(luò)節(jié)點(diǎn)與所述第二網(wǎng)絡(luò)節(jié)點(diǎn)之間存在多條路徑,所述方法用于從所述多條路徑中確定出 符合指定業(yè)務(wù)需求的目標(biāo)路徑,所述方法包括:
[0021] 確定至少兩個(gè)起點(diǎn),所述至少兩個(gè)起點(diǎn)是至少兩個(gè)迭代計(jì)算過程的計(jì)算初始點(diǎn), 所述至少兩個(gè)迭代計(jì)算過程用于通過解一線性規(guī)劃數(shù)學(xué)模型來得到所述目標(biāo)路徑,所述 線性規(guī)劃數(shù)學(xué)模型與所述指定業(yè)務(wù)需求對(duì)應(yīng),每個(gè)所述起點(diǎn)是一起點(diǎn)選擇方程組的唯一的 解,每個(gè)所述起點(diǎn)選擇方程組中的每個(gè)起點(diǎn)選擇方程對(duì)應(yīng)所述線性規(guī)劃數(shù)學(xué)模型的一個(gè)約 束條件不等式,每個(gè)所述約束條件不等式的選擇向量與所述線性規(guī)劃數(shù)學(xué)模型的目標(biāo)函數(shù) 的目標(biāo)向量間的夾角大于或者等于90°,所述選擇向量是所述約束條件不等式的一個(gè)法向 量,所述目標(biāo)向量是所述目標(biāo)函數(shù)的一個(gè)法向量;
[0022] 根據(jù)所述至少兩個(gè)迭代計(jì)算過程中至少一個(gè)迭代計(jì)算過程的計(jì)算結(jié)果,確定所述 目標(biāo)路徑,其中每個(gè)所述迭代計(jì)算過程的計(jì)算初始點(diǎn)是一所述起點(diǎn),所述至少兩個(gè)起點(diǎn)中 的任意一個(gè)起點(diǎn)表示一條用于求解所述目標(biāo)路徑的初始路徑或者經(jīng)過所述任意一個(gè)起點(diǎn) 對(duì)應(yīng)的迭代計(jì)算過程中的若干次迭代計(jì)算后表示一條用于求解所述目標(biāo)路徑的初始路徑。
[0023] 在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述至少兩個(gè)迭代計(jì)算過程是并行執(zhí)行 的。
[0024] 結(jié)合第二方面第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述根據(jù)所 述至少兩個(gè)迭代計(jì)算過程中至少一個(gè)迭代計(jì)算過程的計(jì)算結(jié)果,確定所述目標(biāo)路徑,包 括:
[0025] 在所述至少兩個(gè)迭代計(jì)算過程中的任何一個(gè)計(jì)算出所述線性規(guī)劃數(shù)學(xué)模型的最 優(yōu)解的情況下,終止所述數(shù)量個(gè)計(jì)算線程;
[0026] 根據(jù)所述最優(yōu)解得到所述目標(biāo)路徑。
[0027] 結(jié)合第二方面,或者第二方面第一至第二種任意一種可能的實(shí)現(xiàn)方式,在第三種 可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0028] 將所述至少兩個(gè)迭代計(jì)算過程中的每個(gè)迭代計(jì)算過程正在計(jì)算的計(jì)算點(diǎn)與記錄 集合中的點(diǎn)進(jìn)行匹配,所述記錄集合是述至少兩個(gè)迭代計(jì)算過程已計(jì)算的點(diǎn)的集合;
[0029] 在所述記錄集合中不包括所述正在的計(jì)算點(diǎn)的情況下,將所述當(dāng)前的計(jì)算點(diǎn)加入 所述記錄集合;
[0030] 在所述記錄集合中包括所述正在計(jì)算的計(jì)算點(diǎn)的情況下,終止所述正在計(jì)算的計(jì) 算點(diǎn)對(duì)應(yīng)的迭代計(jì)算過程。
[0031] 結(jié)合第二方面第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,在所述記錄 集合中包括所述正在計(jì)算的計(jì)算點(diǎn)的情況下,所述方法還包括:
[0032] 利用所述終止的迭代計(jì)算過程的計(jì)算資源進(jìn)行新的迭代計(jì)算過程,所述新的迭代 計(jì)算過程的計(jì)算起始點(diǎn)與所述至少兩個(gè)迭代計(jì)算過程中的一個(gè)有相同的計(jì)算起始點(diǎn),并且 所述新的計(jì)算線程的第二個(gè)計(jì)算點(diǎn)與具有相同計(jì)算起始點(diǎn)的所述迭代計(jì)算過程的第二個(gè) 計(jì)算點(diǎn)不同。
[0033] 第三方面,本發(fā)明實(shí)施例提供了一種用于軟件定義SDN網(wǎng)絡(luò)的路由確定裝置,所 述SDN網(wǎng)絡(luò)多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),所述多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)包括第一網(wǎng)絡(luò)節(jié)點(diǎn)和第二網(wǎng)絡(luò)節(jié)點(diǎn),所述第 一網(wǎng)絡(luò)節(jié)點(diǎn)與所述第二網(wǎng)絡(luò)節(jié)點(diǎn)之間存在多條路徑,所述方法用于從所述多條路徑中確定 出符合指定業(yè)務(wù)需求的目標(biāo)路徑,所述裝置包括:
[0034] 起點(diǎn)確定單元,用于確定至少兩個(gè)起點(diǎn),所述至少兩個(gè)起點(diǎn)是至少兩個(gè)并行的迭 代計(jì)算過程的計(jì)算初始點(diǎn),所述至少兩個(gè)迭代計(jì)算過程用于通過求解一線性規(guī)劃數(shù)學(xué)模型 來得到所述目標(biāo)路徑,所述線性規(guī)劃數(shù)學(xué)模型與所述指定業(yè)務(wù)需求對(duì)應(yīng),每個(gè)所述起點(diǎn)唯 一地對(duì)應(yīng)所述線性規(guī)劃數(shù)學(xué)模型的一組基,所述至少兩個(gè)起點(diǎn)對(duì)應(yīng)的至少兩組基中,任意 兩組基之間線性相關(guān)的基的數(shù)量小于或者等于選取閾值,所述線性規(guī)劃數(shù)學(xué)模型存在其他 至少一組基與所述至少兩組基中的一組基之間線性相關(guān)的基的數(shù)量大于或者等于所述選 取閾值;
[0035]目標(biāo)路徑確定單元,用于根據(jù)所述至少兩個(gè)并行的迭代計(jì)算過程中至少一個(gè)迭代 計(jì)算過程的計(jì)算結(jié)果,確定所述目標(biāo)路徑,其中每個(gè)所述迭代計(jì)算過程的計(jì)算初始點(diǎn)是一 所述起點(diǎn),所述至少兩個(gè)起點(diǎn)中的任意一個(gè)起點(diǎn)表示一條用于求解所述目標(biāo)路徑的初始 路徑或者經(jīng)過所述任意一個(gè)起點(diǎn)對(duì)應(yīng)的迭代計(jì)算過程中的若干次迭代計(jì)算后表示一條用 于求解所述目標(biāo)路徑的初始路徑。
[0036] 在第三方面的第一種可能的實(shí)現(xiàn)方