本發(fā)明涉及一種數(shù)據(jù)鏈網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及兩跳網(wǎng)絡(luò)中基于鏈路質(zhì)量和排隊時延的路由方法。
背景技術(shù):
數(shù)據(jù)鏈網(wǎng)絡(luò)是一個無中心、分布式網(wǎng)絡(luò)架構(gòu),它要求保證業(yè)務(wù)既可靠又快速地送達目的節(jié)點。在全向通信的數(shù)據(jù)鏈網(wǎng)絡(luò)體制中,為擴展網(wǎng)絡(luò)通信覆蓋范圍,其通過設(shè)定的中繼節(jié)點轉(zhuǎn)發(fā)業(yè)務(wù)。
在上述網(wǎng)絡(luò)中,首先需要預(yù)先人工指定業(yè)務(wù)的轉(zhuǎn)發(fā)節(jié)點,網(wǎng)絡(luò)在運行過程中節(jié)點不能依據(jù)拓撲變化自動選取業(yè)務(wù)最優(yōu)路徑,缺少靈活性。其次,當指定的中繼節(jié)點不能正常工作時會影響到整個網(wǎng)絡(luò)的通信覆蓋范圍,網(wǎng)絡(luò)運行的健壯性不高。最后,由于受無線網(wǎng)絡(luò)復(fù)雜多變的拓撲結(jié)構(gòu)影響,指定的轉(zhuǎn)發(fā)節(jié)點無法保證轉(zhuǎn)發(fā)業(yè)務(wù)可靠送達。針對以上問題,一些學(xué)者提出采用按表驅(qū)動的路由方法動態(tài)選取路徑,期望解決人工指定轉(zhuǎn)發(fā)節(jié)點的不足之處。但是,其僅把節(jié)點間連通率作為業(yè)務(wù)可達的唯一依據(jù),沒有將節(jié)點間鏈路質(zhì)量和隊列處理調(diào)度時延兩個重要因素納入到路由選取方法中,更沒有考慮網(wǎng)絡(luò)動態(tài)性和業(yè)務(wù)特征對路由的適應(yīng)性影響,且只停留在實驗室環(huán)境下演示,在數(shù)據(jù)鏈網(wǎng)絡(luò)中上并未得到應(yīng)用。
技術(shù)實現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供一種基于鏈路質(zhì)量和排隊時延的路由方法,針對兩跳可達網(wǎng)絡(luò),綜合業(yè)務(wù)特征和鏈路狀態(tài)選取最優(yōu)可達鏈路,解決業(yè)務(wù)送達的路徑問題,有效地滿足了數(shù)據(jù)鏈網(wǎng)絡(luò)動態(tài)性的需求,在實際工程上得到應(yīng)用。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案包括以下步驟:
(1)網(wǎng)內(nèi)節(jié)點以節(jié)點自身狀態(tài)信息和鄰居節(jié)點信息兩類組網(wǎng)業(yè)務(wù)為統(tǒng)計樣本,節(jié)點自身狀態(tài)信息包括節(jié)點ID、網(wǎng)絡(luò)責(zé)任和節(jié)點位置,網(wǎng)絡(luò)責(zé)任分為主網(wǎng)管、替補網(wǎng)管、中繼和替補中繼四種類型;鄰居節(jié)點信息包括節(jié)點自身ID、鄰居節(jié)點ID、鄰居節(jié)點到本節(jié)點鏈路質(zhì)量和本節(jié)點到鄰居節(jié)點鏈路質(zhì)量;網(wǎng)內(nèi)節(jié)點周期廣播發(fā)送兩類組網(wǎng)業(yè)務(wù),并統(tǒng)計在單個周期內(nèi)收到鄰居節(jié)點發(fā)送的組網(wǎng)業(yè)務(wù)數(shù)目,隨后在本周期末計算當前周期與上兩個周期統(tǒng)計收到的消息,將消息相加后的結(jié)果作為鄰居節(jié)點到本節(jié)點的鏈路質(zhì)量,并從上一個周期鄰居節(jié)點消息中獲取本節(jié)點到鄰居節(jié)點鏈路質(zhì)量;在節(jié)點運行的初始時刻鏈路質(zhì)量默認為0;
(2)節(jié)點內(nèi)部依據(jù)消息的優(yōu)先級建立不同的隊列,在估算排隊時延時首先統(tǒng)計在固定周期內(nèi)各優(yōu)先級隊列發(fā)送的業(yè)務(wù)數(shù)量,然后在每個周期末計算發(fā)送流量,即在考慮隊列調(diào)度時每毫秒各優(yōu)先級隊列能調(diào)度發(fā)送多少個字節(jié),同時對上個周期與當前周期的發(fā)送流量進行加權(quán)處理;本周期的權(quán)值為0.7,上一周期的權(quán)值為0.3;
(3)每個節(jié)點根據(jù)節(jié)點自身狀態(tài)信息和鄰居節(jié)點消息建立并更新維護節(jié)點信息表,節(jié)點信息表包括節(jié)點內(nèi)部各優(yōu)先級業(yè)務(wù)的排隊估計時延、周圍一跳節(jié)點數(shù)目及節(jié)點ID、自身節(jié)點與一跳可達節(jié)點雙向鏈路質(zhì)量、以及該節(jié)點承擔(dān)的網(wǎng)絡(luò)責(zé)任;
(4)通過查找節(jié)點信息表提取到達目的節(jié)點存在的可能路徑;如果目的節(jié)點在業(yè)務(wù)產(chǎn)生節(jié)點的鄰居中,則標記為一跳可達并提取到達該節(jié)點的鏈路質(zhì)量;如果目的節(jié)點為業(yè)務(wù)產(chǎn)生節(jié)點的一跳節(jié)點的鄰居節(jié)點,則標記為兩跳可達并計算到達目的節(jié)點的鏈路質(zhì)量和轉(zhuǎn)發(fā)節(jié)點排隊時延;該路徑的鏈路質(zhì)量為業(yè)務(wù)產(chǎn)生節(jié)點到轉(zhuǎn)發(fā)節(jié)點鏈路質(zhì)量與轉(zhuǎn)發(fā)節(jié)點到目的節(jié)點質(zhì)量相乘,并將其與固定數(shù)值相比折算成該路徑送達率;
(5)將應(yīng)用業(yè)務(wù)分為時敏業(yè)務(wù)和可靠業(yè)務(wù)兩大類,時敏業(yè)務(wù)是指業(yè)務(wù)對時延有要求,若超過生命周期則該業(yè)務(wù)將失效;可靠業(yè)務(wù)是指業(yè)務(wù)要求能夠準確送達目的節(jié)點;對于時敏業(yè)務(wù),優(yōu)先選擇在其容忍排隊時延閾值下鏈路質(zhì)量最優(yōu)的路徑;對于可靠業(yè)務(wù),在高于鏈路質(zhì)量門限上選取排隊時延最小的路徑;如果當前網(wǎng)絡(luò)狀況不能滿足應(yīng)用業(yè)務(wù)的鏈路質(zhì)量要求或時延要求,則選取鏈路質(zhì)量最好的路徑;如果在同等條件下有多條路徑可達目的節(jié)點,則選擇不經(jīng)主網(wǎng)管或中繼轉(zhuǎn)發(fā)的路徑。
本發(fā)明的有益效果是:首先,本發(fā)明無需人工預(yù)先指定轉(zhuǎn)發(fā)路徑,能夠依據(jù)節(jié)點間鏈路質(zhì)量和排隊時延動態(tài)地選取出路由,從而可以適應(yīng)數(shù)據(jù)鏈網(wǎng)絡(luò)拓撲的動態(tài)變化。其次,本發(fā)明綜合考慮了應(yīng)用業(yè)務(wù)特征,將其分為時敏業(yè)務(wù)和可靠業(yè)務(wù),保證所選路由為最優(yōu)。此外,本發(fā)明已在實際工程上得到應(yīng)用,演示驗證效果表明,在復(fù)雜網(wǎng)絡(luò)環(huán)境下,它能夠為各類業(yè)務(wù)找到最佳路由。
附圖說明
圖1是本發(fā)明的方法流程圖。
圖2是本發(fā)明實施例的網(wǎng)絡(luò)拓撲圖。
圖3是本發(fā)明實施例的時隙示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明進一步說明,本發(fā)明包括但不僅限于下述實施例。
本發(fā)明包括以下步驟:
(1)統(tǒng)計鏈路質(zhì)量
鏈路質(zhì)量統(tǒng)計是以節(jié)點自身狀態(tài)和鄰居節(jié)點信息兩類組網(wǎng)業(yè)務(wù)為統(tǒng)計樣本,不占用額外帶寬。節(jié)點狀態(tài)信息數(shù)據(jù)元素包括節(jié)點ID、網(wǎng)絡(luò)責(zé)任、節(jié)點位置數(shù)據(jù)項。網(wǎng)絡(luò)責(zé)任為主網(wǎng)管、替補網(wǎng)管、中繼、替補中繼四種類型。鄰居節(jié)點信息的數(shù)據(jù)元素包括節(jié)點自身ID、鄰居節(jié)點ID、鄰居節(jié)點到本節(jié)點鏈路質(zhì)量、本節(jié)點到鄰居節(jié)點鏈路質(zhì)量。網(wǎng)內(nèi)節(jié)點周期廣播發(fā)送兩類組網(wǎng)業(yè)務(wù),并統(tǒng)計在單個周期內(nèi)收到周圍鄰居節(jié)點發(fā)送的組網(wǎng)業(yè)務(wù)數(shù)目,隨后在本周期末時刻計算當前周期與上兩個周期統(tǒng)計收到的消息,將消息相加后的結(jié)果作為鄰居節(jié)點到本節(jié)點的鏈路質(zhì)量,本節(jié)點到鄰居節(jié)點鏈路質(zhì)量可以從上一個周期鄰居節(jié)點消息中獲取。在節(jié)點運行的初始時刻鏈路質(zhì)量默認為0。為了便于鏈路質(zhì)量統(tǒng)計,約定節(jié)點在每個周期發(fā)送的組網(wǎng)業(yè)務(wù)數(shù)目為固定值。
(2)估算排隊時延
節(jié)點內(nèi)部依據(jù)消息的優(yōu)先級建立不同的隊列,在估算排隊時延時首先統(tǒng)計在固定周期內(nèi)各優(yōu)先級隊列發(fā)送的業(yè)務(wù)數(shù)量,然后在每個周期末時刻依據(jù)這些信息計算出發(fā)送流量,即在考慮隊列調(diào)度時每毫秒各隊列能調(diào)度發(fā)送多少個字節(jié),同時對上個周期與當前周期的發(fā)送流量進行加權(quán)處理。本周期的權(quán)值為0.7,上一周期的權(quán)值為0.3。
(3)建立維護節(jié)點信息表
每個節(jié)點根據(jù)收到的狀態(tài)消息和鄰居節(jié)點消息建立并更新維護網(wǎng)內(nèi)節(jié)點的信息表,其具體消息元素包括節(jié)點內(nèi)部各優(yōu)先級業(yè)務(wù)排隊估計時延,周圍一跳節(jié)點數(shù)目及節(jié)點ID,自身節(jié)點與一跳可達節(jié)點雙向鏈路質(zhì)量,以及該節(jié)點承擔(dān)的網(wǎng)絡(luò)責(zé)任。
(4)提取可達路徑
通過查找節(jié)點信息表來提取到達目的節(jié)點存在的可能路徑。如果目的節(jié)點在業(yè)務(wù)產(chǎn)生節(jié)點的鄰居中,則標記為一跳可達并提取到達該節(jié)點鏈路質(zhì)量。如果目的節(jié)點為業(yè)務(wù)源一跳節(jié)點信息表中的鄰居節(jié)點,則標記為兩跳可達并計算到達目的節(jié)點的鏈路質(zhì)量和轉(zhuǎn)發(fā)節(jié)點排隊時延。此時該路徑的鏈路質(zhì)量為業(yè)務(wù)產(chǎn)生節(jié)點到轉(zhuǎn)發(fā)節(jié)點鏈路質(zhì)量與轉(zhuǎn)發(fā)節(jié)點到目的節(jié)點質(zhì)量相乘,并將其與固定數(shù)值相比折算成該路徑送達率。
(5)確定最優(yōu)路由
將應(yīng)用業(yè)務(wù)分為時敏業(yè)務(wù)和可靠業(yè)務(wù)兩大類。時敏業(yè)務(wù)是指業(yè)務(wù)對時延有要求,若超過生命周期則該業(yè)務(wù)將失效。可靠業(yè)務(wù)是指業(yè)務(wù)要求能夠準確送達目的節(jié)點。對于時敏業(yè)務(wù),優(yōu)先選擇在其容忍排隊時延閾值下鏈路質(zhì)量最優(yōu)的路徑。對于可靠業(yè)務(wù),在高于鏈路質(zhì)量門限上選取排隊時延最小的即為最佳路由。如果當前網(wǎng)絡(luò)狀況確實不能滿足應(yīng)用業(yè)務(wù)對鏈路質(zhì)量或時延要求,但該業(yè)務(wù)還要求緊急發(fā)出去,則在門限值外選取鏈路質(zhì)量最好的路徑。如果在同等條件下,業(yè)務(wù)有多條路徑可送達目的節(jié)點,優(yōu)先選擇不經(jīng)主網(wǎng)管或中繼轉(zhuǎn)發(fā)的路徑。
如圖1所示,本發(fā)明能夠依據(jù)當前網(wǎng)絡(luò)狀態(tài)為尋址業(yè)務(wù)動態(tài)地選取路由。下面結(jié)合圖2對本發(fā)明的具體實施方法進行詳細介紹:
(1)假設(shè)網(wǎng)絡(luò)中有4個節(jié)點,其ID號分別為1、2、3、4。在統(tǒng)一的時間軸上,每個節(jié)點依據(jù)ID號從小到大以5秒一個周期順次發(fā)送5包組網(wǎng)業(yè)務(wù)。在節(jié)點4組網(wǎng)業(yè)務(wù)發(fā)送時隙的第二個時隙統(tǒng)計本周期與上兩個周期收到的組網(wǎng)業(yè)務(wù)數(shù)目,將其作為其它節(jié)點到本節(jié)點的鏈路質(zhì)量,取值范圍為0~15,具體過程如圖3所示。而本節(jié)點到其它節(jié)點的鏈路質(zhì)量可以從收到的鄰居節(jié)點消息中提取。
(2)設(shè)在以tsi為起始時刻與tei為結(jié)束時刻的時間段內(nèi)發(fā)送優(yōu)先級i(i=1,2...8)的業(yè)務(wù)數(shù)為Si,以5s為一個周期,在節(jié)點4業(yè)務(wù)發(fā)送時隙的第二個時隙計算本周期各優(yōu)先級業(yè)務(wù)發(fā)送速率為Rcur_i=Si/(tei-tsi)。當前業(yè)務(wù)發(fā)送速率Ri=0.7*Rcur_i+0.3*Rpre_i即將本周期與上一個周期業(yè)務(wù)發(fā)送速率加權(quán)處理,其中Rpre_i表示上一個周期發(fā)送業(yè)務(wù)速率。設(shè)當前優(yōu)先級隊列長度為Li,估算業(yè)務(wù)排隊延遲為Ti=Li/Ri,Ti取值為0~20000ms。為了節(jié)約空口傳輸帶寬,將Ti的值線性映射到0~126。
(3)節(jié)點1維護著自身和節(jié)點2、3、4的信息表,網(wǎng)內(nèi)節(jié)點以5s一個周期廣播成員狀態(tài)和鄰居節(jié)點信息,節(jié)點依據(jù)收到其它成員發(fā)送的這兩類消息更新維護節(jié)點信息表。節(jié)點1維護著信息表內(nèi)容如下:
(4)假設(shè)節(jié)點1產(chǎn)生的尋址業(yè)務(wù)需送達到節(jié)點4,由拓撲結(jié)構(gòu)示意圖可知共計有3條路可達。一種類型為業(yè)務(wù)一跳可達即節(jié)點1可以直接與節(jié)點4通信,此時鏈路質(zhì)量值為節(jié)點1到節(jié)點4鏈路質(zhì)量數(shù)值乘以15,排隊時延記為0。另外一種類型為業(yè)務(wù)需要轉(zhuǎn)發(fā)節(jié)點才能可達目的地址,當節(jié)點1產(chǎn)生的業(yè)務(wù)到節(jié)點4需經(jīng)過節(jié)點2轉(zhuǎn)發(fā)時,此時鏈路質(zhì)量為節(jié)點1到節(jié)點2與節(jié)點2到節(jié)點4鏈路質(zhì)量相乘結(jié)果,鄰居節(jié)點鏈路質(zhì)量從節(jié)點信息表中獲取。由于該業(yè)務(wù)到達目的節(jié)點需經(jīng)過節(jié)點2轉(zhuǎn)發(fā),此時會產(chǎn)生排隊時延,其值可以依據(jù)業(yè)務(wù)優(yōu)先級從節(jié)點2信息表中獲取。節(jié)點1的業(yè)務(wù)需經(jīng)過節(jié)點3轉(zhuǎn)發(fā)時,其鏈路質(zhì)量和排隊時延取值方式同節(jié)點2轉(zhuǎn)發(fā)。將所計算的鏈路質(zhì)量數(shù)值與固定數(shù)225相比得到該鏈路的丟包率。
(5)如果節(jié)點1發(fā)送給節(jié)點4的是可靠業(yè)務(wù),則在鏈路質(zhì)量數(shù)值大于10的路徑中選擇排隊時延最小的作為最優(yōu)路由。時敏業(yè)務(wù)的路由是在其對應(yīng)的門限值下選擇鏈路質(zhì)量最好的路徑。若為時敏業(yè)務(wù),則依據(jù)應(yīng)用業(yè)務(wù)對時間敏感程度將時間閾值劃分為4個檔次,其分別為10、30、60、90。如果選出的路徑為1->2->4和1->3->4,假設(shè)節(jié)點2擔(dān)任中繼職責(zé),則在同等鏈路質(zhì)量和排隊時延條件下,最終確定的路徑為1->3->4。
以上步驟給出了基于鏈路質(zhì)量和排隊時延的路由方法實現(xiàn)流程,該方法能夠依據(jù)網(wǎng)絡(luò)狀況并結(jié)合業(yè)務(wù)特征動態(tài)選取最佳路由,保證了業(yè)務(wù)快速可靠地到達目的節(jié)點。