
本發明涉及通信技術領域,尤其涉及一種確定路由路徑的方法及裝置。
背景技術:
隨著通信技術的發展,尤其是數據傳輸的普及,目前,在數據傳輸的過程中,可以通過確定ETX(英文:Expected Transmissions,中文:期望傳輸值)或是ETT(英文:Expected Transmission Tune,中文:期望傳輸時間),來完成路由路徑的選擇。
其中,ETX是通過測量兩個鄰居節點在數據傳輸過程中的丟包率p,根據公式ETX=1/(1-p)來確定期望傳輸數據的次數,之后將鏈路上每兩個鄰居節點經計算得到的ETX求和,得到整條鏈路的ETX,并根據ETX的大小來確定路由路徑;而ETT則是在ETX的基礎上進行了改進,增加了對數據傳輸速率的考慮,最終將所有鏈路中吞吐率最大的鏈路作為路由路徑。
采用上述兩種方式來完成路由路徑的選擇,通常只能適用于某一類型的應用。比如:按照語音業務的特性,來選擇路由路徑,由于對于語音服務而言,低丟包率遠比高吞吐率更加重要,因此,在選擇路由路徑的過程中,可以著重考慮丟包率對數據傳輸所帶來的影響,即可以采用ETX方式來選擇路由路徑;而對于FTP(英文:File Transfer Protocol,中文:文件傳輸協議)下載而言,高吞吐率的重要性則高于低丟包率,即可以采用ETT方式來選擇路由路徑。因此,依據語音業務的特性所選擇的路由路徑,往往無法為FTP下載業務提供較好的數據傳輸服務。也就意味著,采用上述方法來完成路由路徑的選擇,具有一定局限性,僅能為某一類型的應用提供較好的數據傳輸服務。
技術實現要素:
本發明實施例提供一種確定路由路徑的方法及裝置,能夠為各個類型的應用提供較好的數據傳輸服務。
為達到上述目的,本發明實施例采用如下技術方案:
第一方面,本發明實施例提供一種確定路由路徑的方法,所述方法包括:
獲取目標應用的相關參數,所述相關參數包括第一參數和第二參數,所述第一參數用于表示所述目標應用對丟包的敏感程度,所述第二參數用于表示所述目標應用對吞吐量的敏感程度;
根據所述相關參數和鏈路參數,確定每條鏈路的度量值,所述鏈路參數包括第三參數和第四參數,所述第三參數用于表示鏈路的丟包情況,所述第四參數用于表示鏈路在傳輸數據時的傳輸速率;
根據所述每條鏈路的度量值,確定每條路徑的總度量值;
將所述總度量值中最小的總度量值對應的路徑確定為路由路徑。
第二方面,本發明實施例提供一種確定路由路徑的裝置,所述裝置包括:
獲取模塊,用于獲取目標應用的相關參數,所述相關參數包括第一參數和第二參數,所述第一參數用于表示所述目標應用對丟包的敏感程度,所述第二參數用于表示所述目標應用對吞吐量的敏感程度;
確定模塊,用于根據所述獲取模塊獲取的所述相關參數和鏈路參數,確定每條鏈路的度量值,所述鏈路參數包括第三參數和第四參數,所述第三參數用于表示鏈路的丟包情況,所述第四參數用于表示鏈路在傳輸數據時的傳輸速率;
所述確定模塊,還用于根據所述每條鏈路的度量值,確定每條路徑的總度量值;
所述確定模塊,還用于將所述總度量值中最小的總度量值對應的路徑確定為路由路徑。
本發明實施例提供的一種確定路由路徑的方法及裝置,根據所獲取的目標應用的相關參數,以及鏈路參數,確定每條鏈路的度量值,并根據每條鏈路的度量值來確定每條路徑的總度量值,之后將總度量值中最小的總度量值對應的路徑確定為路由路徑。其中,相關參數包括用于表示目標應用對丟包的敏感程度的第一參數,以及用于表示目標應用對吞吐量的敏感程度的第二參數;鏈路參數包括用于表示鏈路的丟包情況的第三參數,以及用于表示鏈路在傳輸數據時的傳輸速率的第四參數。相比較于現有技術中通過確定ETX或是ETT來確定只適用于某一類型的應用的路由路徑,本發明可以針對不同類型的應用,確定適應于不同類型應用的路由路徑。并且,在確定路由路徑的過程中,具體可以參考該應用的丟包敏感程度與吞吐量敏感程度,以及鏈路丟包情況與數據的傳輸速率。因此,采用本發明所提供的技術方案,能夠為各個類型的應用提供較好的數據傳輸服務。
附圖說明
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。
圖1為本發明實施例提供的一種通信網絡系統的結構示意圖;
圖2為本發明實施例提供的一種確定路由路徑的方法流程圖;
圖3為本發明實施例提供的另一種確定路由路徑的方法流程圖;
圖4為本發明實施例提供的另一種確定路由路徑的方法流程圖;
圖5為本發明實施例提供的另一種確定路由路徑的方法流程圖;
圖6為本發明實施例提供的一種確定路由路徑的裝置結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。
本發明實施例可以用于一種通信網絡系統,該通信網絡系統中至少包括兩個路由路徑的端點設備,以及至少一個處于路由路徑中的路由設備。例如:如圖1所示,通信網絡系統中包括設備A、設備B、設備C和設備D。其中,設備A與設備D作為路由路徑的端點設備,可以通過路由路徑ABD或路由路徑ACD來完成設備A與設備D之間的數據傳輸。
本發明實施例提供一種確定路由路徑的方法,如圖2所示,該方法可以由如圖1所示的設備A或設備D作為執行主體來執行,該方法流程具體包括:
101、獲取目標應用的相關參數。
其中,相關參數包括第一參數和第二參數,第一參數用于表示目標應用對丟包的敏感程度,第二參數用于表示目標應用對吞吐量的敏感程度。
需要說明的是,每種類型的應用對應一組相關參數。
為了確保能夠為不同應用確定不同的路由路徑,以確保能夠為每個應用提供優質的服務,因此,在本發明實施例中,可以先鎖定待分配路由路徑的應用,即目標應用,之后獲取該應用的相關參數,并依據相關參數來執行后續路由路徑的確定過程。
102、根據相關參數和鏈路參數,確定每條鏈路的度量值。
其中,鏈路參數包括第三參數和第四參數,第三參數用于表示鏈路的丟包情況,第四參數用于表示鏈路在傳輸數據時的傳輸速率。
需要說明的是,在本發明實施例中,相關參數和鏈路參數均可以被記載在路由表中。
103、根據每條鏈路的度量值,確定每條路徑的總度量值。
104、將總度量值中最小的總度量值對應的路徑確定為路由路徑。
考慮到總度量值可以用于衡量整條路徑的數據傳輸情況,因此,為了保證所選擇的路由路徑為所有路徑中的最優路徑,在本發明實施例中,可以將總度量值最小的路徑確定為路由路徑。
本發明實施例提供的一種確定路由路徑的方法,根據所獲取的目標應用的相關參數,以及鏈路參數,確定每條鏈路的度量值,并根據每條鏈路的度量值來確定每條路徑的總度量值,之后將總度量值中最小的總度量值對應的路徑確定為路由路徑。其中,相關參數包括用于表示目標應用對丟包的敏感程度的第一參數,以及用于表示目標應用對吞吐量的敏感程度的第二參數;鏈路參數包括用于表示鏈路的丟包情況的第三參數,以及用于表示鏈路在傳輸數據時的傳輸速率的第四參數。相比較于現有技術中通過確定ETX或是ETT來確定只適用于某一類型的應用的路由路徑,本發明可以針對不同類型的應用,確定適應于不同類型應用的路由路徑。并且,在確定路由路徑的過程中,具體可以參考該應用的丟包敏感程度與吞吐量敏感程度,以及鏈路丟包情況與數據的傳輸速率。因此,采用本發明所提供的技術方案,能夠為各個類型的應用提供較好的數據傳輸服務。
為了準確確定每條鏈路的度量值,在本發明實施例的一個實現方式中,可以根據統一的公式進行計算,得到每條鏈路的度量值。因此,在如圖2所示的實現方式的基礎上,還可以實現為如圖3所示的實現方式。其中,步驟102根據相關參數和鏈路參數,確定每條鏈路的度量值,可以具體實現為步驟1021:
1021、根據公式Min{Pr/(a+b×Rate)}進行計算,得到每條鏈路的度量值。
其中,a為第一參數,b為第二參數,Pr為第三參數,Rate為第四參數。
例如:在網絡中數據的傳輸速率可以為6、36或54,也就是說,每條鏈路的傳輸速率都可以為6、36或54。對于如圖1所示的應用場景而言,每條鏈路的鏈路參數可以用{x,y}來表示,其中,x用于表示第三參數,y用于表示第四參數。在本發明實施例中,鏈路AB的鏈路參數可以為{50,54}、{40,36}或{10,6},鏈路BD的鏈路參數可以為{50,54}、{40,36}或{10,6},鏈路AC的鏈路參數可以為{60,54}、{50,36}或{7,6},鏈路CD的鏈路參數可以為{60,54}、{50,36}或{7,6}。并且,考慮到待傳輸的數據包所對應的應用會存在一定的優先級,在此,可以將優先級設置為0至7這8個等級,其中,優先級小于或等于3的應用的第一參數設置為1,第二參數設置為10;優先級大于3的第一參數設置為10,第二參數設置為1。
對于優先級小于或等于3的應用而言,采用上述鏈路參數進行計算,可以得到路徑ABD的總度量值為:
MA->B->D=MA->B+MB->D=Min{50/(1+10×54),40/(1+10×36),10/(1+10×6)}+=Min{50/(1+10×54),40/(1+10×36),10/(1+10×6)}=0.185
對于優先級小于或等于3的應用而言,采用上述鏈路參數進行計算,可以得到路徑ACD的總度量值為:
MA->C->D=MA->C+MC->D=Min{60/(1+10×54),50/(1+10×36),7/(1+10×6)}+=Min{60/(1+10×54),50/(1+10×36),7/(1+10×6)}=0.222
由此可見,對于優先級小于或等于3的應用而言,路徑ABD的總度量值小于路徑ACD的總度量值,因此,路徑ABD可以作為路由路徑。并且,應用選中54Mbps作為傳輸速率。
對于優先級大于3的應用而言,采用上述鏈路參數進行計算,可以得到路徑ABD的總度量值為:
MA->B->D=MA->B+MB->D=Min{50/(10+1×54),40/(10+1×36),10/(10+1×6)}+=Min{50/(10+1×54),40/(10+1×36),10/(10+1×6)}=1.25
對于優先級大于3的應用而言,采用上述鏈路參數進行計算,可以得到路徑ACD的總度量值為:
MA->C->D=MA->C+MC->D=Min{60/(10+1×54),50/(10+1×36),7/(10+1×6)}+=Min{60/(10+1×54),50/(10+1×36),7/(10+1×6)}=0.875
由此可見,對于優先級大于3的應用而言,路徑ABD的總度量值大于路徑ACD的總度量值,因此,路徑ACD可以作為路由路徑。并且,應用選中6Mbps作為傳輸速率。
本發明實施例提供的一種確定路由路徑的方法,在確定每條鏈路的度量值的過程中,具體可以根據公式以及第一至第四參數來進行計算。相比較于現有技術中通過確定ETX或是ETT來確定只適用于某一類型的應用的路由路徑,本發明可以針對不同類型的應用,確定適應于不同類型應用的路由路徑。并且,通過結合公式及第一至第四參數進行計算的方式,能夠得到每條鏈路的度量值。另外,由于在計算度量值的過程中,公式是統一的,且第一、第二參數可以反映目標應用對傳輸鏈路的需求,第三、第四參數可以有效反映傳輸鏈路的特性,因此,采用本發明所提供的技術方案,能夠進一步為各個類型的應用提供較好的數據傳輸服務。
為了準確確定每條路徑的總度量值,在本發明實施例的一個實現方式中,一條路徑包括至少兩條鏈路,可以通過將一條路徑上每條鏈路的度量值進行求和,得到這一條路徑的總度量值,同理,將每條路徑的總度量值經過求和運算來確定。因此,在如圖2所示的實現方式的基礎上,還可以實現為如圖4所示的實現方式。其中,在步驟103根據每條鏈路的度量值,確定每條路徑的總度量值,可以具體實現為步驟1031:
1031、將至少兩條鏈路中所有鏈路的度量值之和,確定為一條路徑的總度量值。
本發明實施例提供的一種確定路由路徑的方法,在確定每條鏈路的度量值之后,可以通過對同一路徑上的各條鏈路的度量值進行求和運算,來得到每條路徑的總度量值。相比較于現有技術中通過確定ETX或是ETT來確定只適用于某一類型的應用的路由路徑,本發明可以針對不同類型的應用,確定適應于不同類型應用的路由路徑。并且,通過對整條路徑中每條鏈路分別確定度量值,之后通過求和運算來確定整條路徑的總度量值,能夠準確確定每條路徑的總度量值,從而為各個類型的應用確定適應于該應用的路由路徑,以為該應用提供較好的數據傳輸服務。
為了準確確定目標應用的相關參數,在本發明實施例的一個實現方式中,可以根據目標應用所對應的優先級來確定目標應用的類型,之后根據目標應用的類型來確定該類型對應的相關參數。因此,在如圖2所示的實現方式的基礎上,還可以實現為如圖5所示的實現方式。其中,在執行步驟101獲取目標應用的相關參數之前,還可以執行步驟105和步驟106;步驟101可以具體實現為步驟1011:
105、確定目標應用對應的優先級。
在本發明實施例中,每個應用與對應的優先級之間的關系也可以預先存儲在路由表中,之后可以直接從路由表中確定目標應用對應的優先級。也就意味著,在路由表中可以增加一個元素priority(中文:優先級),應用destination(中文:目標節點)和priority來選擇nETX-hop(中文:下一跳節點)。當路由表中不存在destination與priority之間的對應關系時,則可以將priority這個信息攜帶在RREQ(英文:Route REQuest,中文:路由請求)中,并通過發送RREQ請求來將priority發送。此外,RREP(英文:Route REPly,中文:路由應答)、RERR(英文:Route ERRor,中文:路由錯誤)等應答消息里面也需要攜帶priority這一信息,這樣就可以利用AODV(英文:Ad hoc On-demand Distance Vector Routing,中文:無線自組網按需平面距離向量路由協議)來實現完整的基于應用優先區分的路由路徑選擇的方案。需要說明的是,本發明所提供的方法不僅適用于AODV,同樣也適用于其他路由協議,在此不做限定。
106、根據優先級,確定目標應用的類型。
1011、根據目標應用的類型,確定目標應用的相關參數。
本發明實施例提供的一種確定路由路徑的方法,可以根據目標應用對應的優先級來確定目標應用的類型,從而根據目標應用的類型來確定目標應用的相關參數。相比較于現有技術中通過確定ETX或是ETT來確定只適用于某一類型的應用的路由路徑,本發明可以針對不同類型的應用,確定適應于不同類型應用的路由路徑。并且,通過確定應用優先級的方式來準確確定應用所屬的類型,并針對不同類型來確定當前這個應用的相關參數,以確保能夠根據所確定的相關參數為該應用確定能夠為其提供較好數據傳輸服務的路由路徑。
本發明實施例提供一種確定路由路徑的裝置20,如圖6所示,該裝置20用于執行如圖2至圖5所示的任意一項方法流程,該裝置20包括:
獲取模塊21,用于獲取目標應用的相關參數,相關參數包括第一參數和第二參數,第一參數用于表示目標應用對丟包的敏感程度,第二參數用于表示目標應用對吞吐量的敏感程度。
確定模塊22,用于根據獲取模塊21獲取的相關參數和鏈路參數,確定每條鏈路的度量值,鏈路參數包括第三參數和第四參數,第三參數用于表示鏈路的丟包情況,第四參數用于表示鏈路在傳輸數據時的傳輸速率。
確定模塊22,還用于根據每條鏈路的度量值,確定每條路徑的總度量值。
確定模塊22,還用于將總度量值中最小的總度量值對應的路徑確定為路由路徑。
在本發明實施例的一個實現方式中,每條鏈路對應至少一個鏈路參數,確定模塊22,具體用于:
根據公式Min{Pr/(a+b×Rate)}進行計算,得到每條鏈路的度量值,其中,a為第一參數,b為第二參數,Pr為第三參數,Rate為第四參數。
在本發明實施例的一個實現方式中,一條路徑包括至少兩條鏈路,確定模塊22,具體用于:
將至少兩條鏈路中所有鏈路的度量值之和,確定為一條路徑的總度量值。
在本發明實施例的一個實現方式中,確定模塊22,還用于確定目標應用對應的優先級。
確定模塊22,還用于根據優先級,確定目標應用的類型。
獲取模塊21,具體用于:
根據目標應用的類型,確定目標應用的相關參數。
需要說明的是,每種類型的應用對應一組相關參數。
本發明實施例提供的一種確定路由路徑的裝置,根據所獲取的目標應用的相關參數,以及鏈路參數,確定每條鏈路的度量值,并根據每條鏈路的度量值來確定每條路徑的總度量值,之后將總度量值中最小的總度量值對應的路徑確定為路由路徑。其中,相關參數包括用于表示目標應用對丟包的敏感程度的第一參數,以及用于表示目標應用對吞吐量的敏感程度的第二參數;鏈路參數包括用于表示鏈路的丟包情況的第三參數,以及用于表示鏈路在傳輸數據時的傳輸速率的第四參數。相比較于現有技術中通過確定ETX或是ETT來確定只適用于某一類型的應用的路由路徑,本發明可以針對不同類型的應用,確定適應于不同類型應用的路由路徑。并且,在確定路由路徑的過程中,具體可以參考該應用的丟包敏感程度與吞吐量敏感程度,以及鏈路丟包情況與數據的傳輸速率。因此,采用本發明所提供的技術方案,能夠為各個類型的應用提供較好的數據傳輸服務。
本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。
本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(英文:Read-Only Memory,簡稱:ROM)或隨機存儲記憶體(英文:Random Access Memory,簡稱:RAM)等。
以上所述,僅為本發明的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求的保護范圍為準。