一種適用于工業(yè)無線傳感器網(wǎng)絡(luò)的資源均衡多徑路由方法
【專利摘要】本發(fā)明是一種適用于工業(yè)無線傳感器網(wǎng)絡(luò)中基于資源均衡策略的多徑路由方法,涉及工業(yè)無線傳感器網(wǎng)絡(luò);該路由方法采用跨層設(shè)計(jì)的思想,對物理層的數(shù)據(jù)收發(fā)能量消耗以及網(wǎng)絡(luò)層的轉(zhuǎn)發(fā)隊(duì)列內(nèi)存消耗進(jìn)行綜合評估,提出基于資源均衡因子的路徑優(yōu)先級判定策略。同時(shí)結(jié)合廣度優(yōu)先搜索算法,計(jì)算出從數(shù)據(jù)源節(jié)點(diǎn)到目的節(jié)點(diǎn)間的多條冗余路徑,既滿足了工業(yè)無線傳感器網(wǎng)絡(luò)均衡節(jié)點(diǎn)資源的要求,也提高了源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間通信的可靠性。發(fā)明以ISA100.11a網(wǎng)絡(luò)為例,當(dāng)ISA100.11a網(wǎng)絡(luò)中系統(tǒng)管理器進(jìn)行路由路徑計(jì)算時(shí),會基于當(dāng)前網(wǎng)絡(luò)的拓?fù)湟约案鱾€(gè)傳感器節(jié)點(diǎn)的資源消耗情況,計(jì)算出一條優(yōu)選路徑以及多條備選路徑,并把路由信息分發(fā)存儲到路徑上的各個(gè)節(jié)點(diǎn)中,完成路由的配置。經(jīng)驗(yàn)證,算法可行及達(dá)到預(yù)期效果。
【專利說明】一種適用于工業(yè)無線傳感器網(wǎng)絡(luò)的資源均衡多徑路由方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及工業(yè)無線傳感器網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,具體涉及一種基于工業(yè)無線傳感器網(wǎng)絡(luò)的路由方法。
【背景技術(shù)】
[0002]無線傳感器網(wǎng)絡(luò)正在給人類生活和生產(chǎn)的各個(gè)領(lǐng)域帶來深遠(yuǎn)影響,在國防軍事、工業(yè)控制、醫(yī)療衛(wèi)生、環(huán)境監(jiān)測、城市交通以及空間探索等領(lǐng)域具有較廣闊的應(yīng)用前景。近幾年來,無線傳感器與智能工業(yè)的聯(lián)系越來越緊密。工業(yè)無線傳感器網(wǎng)絡(luò)充分融合傳感器、計(jì)算機(jī)網(wǎng)絡(luò)等現(xiàn)代化技術(shù),以低成本、低投資及高度適用性等優(yōu)勢,實(shí)現(xiàn)對工業(yè)生產(chǎn)流程的“泛在感知”,以更便捷、更高效的方式獲取傳統(tǒng)生產(chǎn)線上難以獲取的重要過程參數(shù),提高控制效率及產(chǎn)能。
[0003]工業(yè)無線傳感器網(wǎng)絡(luò)有別于一般的無線傳感器網(wǎng)絡(luò),其在數(shù)據(jù)可靠性、安全性以及傳輸實(shí)時(shí)性等方面均有較高要求。無線數(shù)據(jù)的路由技術(shù)是工業(yè)無線傳感器網(wǎng)絡(luò)的核心技術(shù),對于保障網(wǎng)絡(luò)的高效運(yùn)行起著重要作用。
[0004]目前對于工業(yè)無線傳感器網(wǎng)絡(luò)路由算法的研究大多只考慮最優(yōu)的信道質(zhì)量,這種方法不能適用于采用跳信道方式進(jìn)行通信的網(wǎng)絡(luò)(如ISA100.11a、WirelessHART以及WIA-PA等),因?yàn)樵谶@些網(wǎng)絡(luò)中,傳感器節(jié)點(diǎn)之間的每一次通信都會采用不同的信道,因此無法通過評估信道質(zhì)量的方法來計(jì)算節(jié)點(diǎn)間的通信質(zhì)量,從而也不能利用該方法生成路由信息。而另外一些研究則關(guān)注工業(yè)無線傳感器網(wǎng)絡(luò)的能量均衡問題,在路由算法選擇路由路徑時(shí),盡可能地均衡每一個(gè)傳感器節(jié)點(diǎn)的路由能量消耗,最大化網(wǎng)絡(luò)的生存時(shí)間。然而,這些方法普遍忽視了傳感器節(jié)點(diǎn)的內(nèi)存開銷,若有過多的路由路徑經(jīng)過同一個(gè)傳感器節(jié)點(diǎn),則該節(jié)點(diǎn)的大部分內(nèi)存空間將會被轉(zhuǎn)發(fā)隊(duì)列所占用,嚴(yán)重時(shí)會導(dǎo)致節(jié)點(diǎn)無法進(jìn)行正常的數(shù)據(jù)收發(fā)操作。因此,內(nèi)存資源與能量資源對于傳感器節(jié)點(diǎn)而言同等重要。除此以外,也有一些學(xué)者提出基于最短延時(shí)的路由算法,然而該方法需要基于已知的調(diào)度信息進(jìn)行延時(shí)計(jì)算,當(dāng)傳感器網(wǎng)絡(luò)中出現(xiàn)節(jié)點(diǎn)增刪、移動時(shí),調(diào)度信息往往會由于路由的改變而改變,這時(shí)就無法利用已知的調(diào)度信息進(jìn)行路由計(jì)算。
[0005]綜上所述,現(xiàn)有的工業(yè)無線傳感器網(wǎng)絡(luò)路由方法不能很好的適用于實(shí)際的工業(yè)無線網(wǎng)絡(luò),且在保持內(nèi)存與能量消耗均衡性方面有待提高。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是:為了解決上述問題,本發(fā)明提供了一種基于資源均衡的多徑路由方法,資源均衡包括內(nèi)存資源均衡以及能量資源均衡兩個(gè)方面:在生成路由路徑的時(shí)候,基于本方法實(shí)現(xiàn)的路由算法能根據(jù)網(wǎng)絡(luò)內(nèi)傳感器節(jié)點(diǎn)當(dāng)前的內(nèi)存、能量負(fù)載情況,計(jì)算出每一條路徑的負(fù)載優(yōu)先級。同時(shí)為了保證數(shù)據(jù)傳輸?shù)目煽啃?,本發(fā)明還提供了一種冗余路由路徑的生成方法,數(shù)據(jù)源節(jié)點(diǎn)發(fā)出的無線數(shù)據(jù)可通過多條路徑到達(dá)目的節(jié)點(diǎn),結(jié)合上述資源均衡策略,傳感器節(jié)點(diǎn)在可選的多條路徑中優(yōu)先選擇負(fù)載優(yōu)先級較高的路由路徑進(jìn)行發(fā)送。當(dāng)一條路由路徑失效時(shí),傳感器節(jié)點(diǎn)可以選擇另一條負(fù)載優(yōu)先級次高的路由路徑。該方法能進(jìn)一步減小或消除工業(yè)無線傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸過程中出現(xiàn)的丟包、節(jié)點(diǎn)失效等問題,保障數(shù)據(jù)的可靠傳輸。
[0007]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案,即一種適用于工業(yè)無線傳感器網(wǎng)絡(luò)的資源均衡多徑路由方法,主要包括以下步驟:
[0008]步驟一:當(dāng)前網(wǎng)絡(luò)拓?fù)錇镚(V,E),V表示網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)的集合,E表示傳感器節(jié)點(diǎn)之間相連的邊的集合,從數(shù)據(jù)傳輸?shù)哪康墓?jié)點(diǎn)出發(fā),遍歷網(wǎng)絡(luò)中的每一個(gè)傳感器節(jié)點(diǎn),計(jì)算廣度優(yōu)先搜索生成樹Tbfs ;
[0009]步驟二:根據(jù)步驟一中計(jì)算得到的生成樹Tbfs,其葉子節(jié)點(diǎn)組成葉子節(jié)點(diǎn)集合Vleaf。創(chuàng)建集合M和一個(gè)先進(jìn)先出的隊(duì)列Q ;
[0010]步驟三:任意取出步驟二 Vleaf中的一個(gè)葉子節(jié)點(diǎn)Vj (j = 1,2,...,k),k為葉子節(jié)點(diǎn)總數(shù),把 ' 加入集合M。若Vleaf為空,則轉(zhuǎn)至步驟七;
[0011]步驟四:從集合M中取出一個(gè)元素Vd,設(shè)元素Vd在步驟一所述的生成樹Tbfs中的深度為山取所有深度為d-Ι且在G(V,E)中與Vd有相連邊的傳感器節(jié)點(diǎn),加入集合Μ;
[0012]步驟五:取出當(dāng)前集合M中的所有節(jié)點(diǎn)Vi (i = 1,2,...,η),η為集合M中傳感器節(jié)點(diǎn)的數(shù)量,計(jì)算其資源均衡因子h。根據(jù)h從小到大的順序,步驟四中的節(jié)點(diǎn)Vd依次選取Vi作為其下一跳節(jié)點(diǎn),并在Vd與Vi間生成多跳冗余路徑,其中選擇傳感器節(jié)點(diǎn)Vt (kt=Π--η{^, k2,..., kn})為下一跳優(yōu)選節(jié)點(diǎn),并生成優(yōu)選路徑edt, edt表示一條從節(jié)點(diǎn)Vd指向節(jié)點(diǎn)Vt的邊,加入ROm^中,R outej用來存儲當(dāng)前已生成的從葉子節(jié)點(diǎn) ' 到目的節(jié)點(diǎn)的路由路徑,j用來標(biāo)識步驟三中當(dāng)前正在處理的葉子節(jié)點(diǎn)V」。選擇其余節(jié)點(diǎn)Vq(q =1,2,...,n,q關(guān)t)為下一跳備選節(jié)點(diǎn),并生成多條備選路徑ed(1加入ROUTEj中,備選路徑ed(1根據(jù)對應(yīng)傳感器節(jié)點(diǎn)Vq的kq(q = I, 2,..., n, q ^ t)值按從小到大的順序排列為第一備選路徑、第二備選路徑等,路徑優(yōu)先級逐漸遞減。最后,若Vi在前面的步驟中沒有被加入過隊(duì)列Q,則把\按照其h從小到大的順序依次放入隊(duì)列Q中;
[0013]步驟六:取出步驟五Q隊(duì)列中的第一個(gè)傳感器節(jié)點(diǎn),若該節(jié)點(diǎn)不是數(shù)據(jù)傳輸?shù)哪康墓?jié)點(diǎn),則把該節(jié)點(diǎn)加入集合M,執(zhí)行步驟四,否則表明從步驟三中葉子節(jié)點(diǎn) ' 到目的節(jié)點(diǎn)的路徑已求出,且已保存于ROUTEjU = 1,2,...,k)中,k為葉子節(jié)點(diǎn)總數(shù)。此時(shí)清空集合M和隊(duì)列Q,執(zhí)行步驟三;
[0014]步驟七:對于計(jì)算得到的ROUTE^j = 1,2,...,k)進(jìn)行如下優(yōu)化。若對于某一個(gè)ROUTEi中包含的所有路徑,存在一個(gè)ROm^同樣包含這些路徑,稱ROUTEi包含于ROUTE]中,則刪除ROUTEi,只保留ROUTEj。
[0015]步驟八:為優(yōu)化過后的每一個(gè)ROUTEjU = 1,2,...,k)分配唯一的路由ID標(biāo)識ID1, ID2,IDk,對于ROUTEj中的每一條路徑eab,表明傳感器節(jié)點(diǎn)Va存在下一跳節(jié)點(diǎn)Vb,把IDj以及Vb分發(fā)到Va的路由表中。下一跳節(jié)點(diǎn)包括下一跳優(yōu)選節(jié)點(diǎn)和下一跳備選節(jié)點(diǎn),每個(gè)傳感器節(jié)點(diǎn)的路由表記錄分發(fā)得到的路由ID以及路由ID對應(yīng)的下一跳優(yōu)選節(jié)點(diǎn)、備選節(jié)點(diǎn);
[0016]本發(fā)明所述工業(yè)無線傳感器網(wǎng)絡(luò)中,由系統(tǒng)管理器對無線網(wǎng)絡(luò)進(jìn)行集中式管理。進(jìn)一步,所述步驟一中,每一個(gè)傳感器節(jié)點(diǎn)定時(shí)掃描各自的鄰居節(jié)點(diǎn),形成鄰居表Tbli,并發(fā)送給系統(tǒng)管理器,系統(tǒng)管理器根據(jù)各個(gè)傳感器節(jié)點(diǎn)的鄰居信息生成網(wǎng)絡(luò)拓?fù)銰 (V,E)。[0017]進(jìn)一步,所述步驟一中系統(tǒng)管理器根據(jù)各個(gè)傳感器節(jié)點(diǎn)的鄰居信息生成網(wǎng)絡(luò)拓?fù)浞椒?若節(jié)點(diǎn)Vd的鄰居表Tbld中包含節(jié)點(diǎn)Ve,且節(jié)點(diǎn)Ve的鄰居表Tble中包含節(jié)點(diǎn)vd,則在G(V,E)中生成一條Vd與V6相連的邊。
[0018]進(jìn)一步,步驟五所述計(jì)算資源均衡因子Ici的方法包括如下步驟:
[0019]a)計(jì)算傳感器節(jié)點(diǎn)Vi的隊(duì)列長度平均因子:免
【權(quán)利要求】
1.一種適用于工業(yè)無線傳感器網(wǎng)絡(luò)的資源均衡多徑路由方法,其特征在于:主要包括以下步驟: 步驟一:當(dāng)前網(wǎng)絡(luò)拓?fù)錇镚(v,E),V表示網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)的集合,E表示傳感器節(jié)點(diǎn)之間相連的邊的集合,從數(shù)據(jù)傳輸?shù)哪康墓?jié)點(diǎn)出發(fā),遍歷網(wǎng)絡(luò)中的每一個(gè)傳感器節(jié)點(diǎn),計(jì)算廣度優(yōu)先搜索生成樹Tbfs ; 步驟二:根據(jù)步驟一中計(jì)算得到的生成樹Tbfs,其葉子節(jié)點(diǎn)組成葉子節(jié)點(diǎn)集合VlMf。創(chuàng)建集合M和一個(gè)先進(jìn)先出的隊(duì)列Q ; 步驟三:任意取出步驟二 Vleaf中的一個(gè)葉子節(jié)點(diǎn)' (j = 1,2,...,k),k為葉子節(jié)點(diǎn)總數(shù),把 ' 加入集合M。若Vleaf為空,則轉(zhuǎn)至步驟七; 步驟四:從集合M中取出一個(gè)元素Vd,設(shè)元素Vd在步驟一所述的生成樹Tbfs中的深度為山取所有深度為d-Ι且在G(V,E)中與Vd有相連邊的傳感器節(jié)點(diǎn),加入集合Μ; 步驟五:取出當(dāng)前集合M中的所有節(jié)點(diǎn)Vi (i = 1,2,...,η),η為集合M中傳感器節(jié)點(diǎn)的數(shù)量,計(jì)算其資源均衡因子k”根據(jù)h從小到大的順序,步驟四中的節(jié)點(diǎn)Vd依次選取Vi作為其下 一跳節(jié)點(diǎn),并在Vd與Vi間生成多跳冗余路徑,其中選擇傳感器節(jié)點(diǎn)Vt (kt=minikp k2,..., kn})為下一跳優(yōu)選節(jié)點(diǎn),并生成優(yōu)選路徑edt, edt表示一條從節(jié)點(diǎn)Vd指向節(jié)點(diǎn)Vt的邊,加入ROm^中,Routej用來存儲當(dāng)前已生成的從葉子節(jié)點(diǎn) ' 到目的節(jié)點(diǎn)的路由路徑,j用來標(biāo)識步驟三中當(dāng)前正在處理的葉子節(jié)點(diǎn)V」。選擇其余節(jié)點(diǎn)Vq(q =1,2,...,n,q關(guān)t)為下一跳備選節(jié)點(diǎn),并生成多條備選路徑ed(1加入ROUTEj中,備選路徑ed(1根據(jù)對應(yīng)傳感器節(jié)點(diǎn)Vq的kq(q = I, 2,..., n, q ^ t)值按從小到大的順序排列為第一備選路徑、第二備選路徑等,路徑優(yōu)先級逐漸遞減。最后,若Vi在前面的步驟中沒有被加入過隊(duì)列Q,則把\按照其h從小到大的順序依次放入隊(duì)列Q中; 步驟六:取出步驟五Q隊(duì)列中的第一個(gè)傳感器節(jié)點(diǎn),若該節(jié)點(diǎn)不是數(shù)據(jù)傳輸?shù)哪康墓?jié)點(diǎn),則把該節(jié)點(diǎn)加入集合M,執(zhí)行步驟四,否則表明從步驟三中葉子節(jié)點(diǎn) ' 到目的節(jié)點(diǎn)的路徑已求出,且已保存于ROUTEjU = l,2,...,k)中,k為葉子節(jié)點(diǎn)總數(shù)。此時(shí)清空集合M和隊(duì)列Q,執(zhí)行步驟三; 步驟七:對于計(jì)算得到的ROUTE] (j = 1,2,...,k)進(jìn)行如下優(yōu)化。若對于某一個(gè)ROUTEi中包含的所有路徑,存在一個(gè)ROUTE]同樣包含這些路徑,稱ROUTEi包含于ROUTE]中,則刪除 ROUTEi,只保留 ROUTEj。 步驟八:為優(yōu)化過后的每一個(gè)ROUTEjU = l,2,...,k)分配唯一的路由ID標(biāo)識ID1, ID2,IDk,對于ROUTEj中的每一條路徑eab,表明傳感器節(jié)點(diǎn)Va存在下一跳節(jié)點(diǎn)Vb,把IDj以及Vb分發(fā)到Va的路由表中。下一跳節(jié)點(diǎn)包括下一跳優(yōu)選節(jié)點(diǎn)和下一跳備選節(jié)點(diǎn),每個(gè)傳感器節(jié)點(diǎn)的路由表記錄分發(fā)得到的路由ID以及路由ID對應(yīng)的下一跳優(yōu)選節(jié)點(diǎn)、備選節(jié)點(diǎn)。
2.一種適用于工業(yè)無線傳感器網(wǎng)絡(luò)的資源均衡多徑路由方法,其特征在于:所述步驟一中,每一個(gè)傳感器節(jié)點(diǎn)定時(shí)掃描各自的鄰居節(jié)點(diǎn),形成鄰居表Tbli,并發(fā)送給系統(tǒng)管理器,系統(tǒng)管理器根據(jù)各個(gè)傳感器節(jié)點(diǎn)的鄰居信息生成網(wǎng)絡(luò)拓?fù)銰 (V,E)。
3.一種適用于工業(yè)無線傳感器網(wǎng)絡(luò)的資源均衡多徑路由方法,其特征在于:所述步驟一中系統(tǒng)管理器根據(jù)各個(gè)傳感器節(jié)點(diǎn)的鄰居信息生成網(wǎng)絡(luò)拓?fù)浞椒?若節(jié)點(diǎn)Vd的鄰居表Tbld中包含節(jié)點(diǎn)Ve,且節(jié)點(diǎn)Ve的鄰居表Tble中包含節(jié)點(diǎn)Vd,則在G (V,E)中生成一條Vd與Ve相連的邊。
4.一種適用于工業(yè)無線傳感器網(wǎng)絡(luò)的資源均衡多徑路由方法,其特征在于:步驟五所述計(jì)算資源均衡因子&的方法包括如下步驟:a)計(jì)算傳感器節(jié)點(diǎn)Vi的隊(duì)列長度平均因子:
5.一種適用于工業(yè)無線傳感器網(wǎng)絡(luò)的資源均衡多徑路由方法,其特征在于:所述步驟五計(jì)算資源均衡因子&的方法中,Qp Si以及Pi的獲取方法如下:工業(yè)無線傳感器網(wǎng)絡(luò)中的每一個(gè)傳感器節(jié)點(diǎn)在入網(wǎng)時(shí),向系統(tǒng)管理器報(bào)告各自用于轉(zhuǎn)發(fā)數(shù)據(jù)的隊(duì)列長度Qi以及自身傳感器數(shù)據(jù)的發(fā)送頻率Sitj傳感器節(jié)點(diǎn)正常入網(wǎng)后,定時(shí)檢測各自的剩余電量Pi,并發(fā)送給系統(tǒng)管理器。系統(tǒng)管理器記錄每一個(gè)節(jié)點(diǎn)Vi的Qp Si以及Pp
6.一種適用于工業(yè)無線傳感器網(wǎng)絡(luò)的資源均衡多徑路由方法,其特征在于:所述步驟五計(jì)算資源均衡因子h的方法中,Ri的計(jì)算方法如下:工業(yè)無線傳感器網(wǎng)絡(luò)中的系統(tǒng)管理器為每一個(gè)傳感器節(jié)點(diǎn)Vi維護(hù)一個(gè)中轉(zhuǎn)接收頻率
7.一種適用于工業(yè)無線傳感器網(wǎng)絡(luò)的資源均衡多徑路由方法,其特征在于:步驟五所述當(dāng)傳感器節(jié)點(diǎn)Vi被Vd選為下一跳優(yōu)選節(jié)點(diǎn)時(shí),更新Ri = Ri+(1-a )Sd ;當(dāng)傳感器節(jié)點(diǎn)Vi被Vd選為下一跳備選節(jié)點(diǎn)時(shí),更新Ri = Ri+ a Sd。
8.一種適用于工業(yè)無線傳感器網(wǎng)絡(luò)的資源均衡多徑路由方法,其特征在于:所述步驟五中,網(wǎng)絡(luò)當(dāng)前平均丟包率α的計(jì)算方法如下:傳感器節(jié)點(diǎn)定時(shí)把各自的數(shù)據(jù)丟包率Ei報(bào)告給系統(tǒng)管理器,系統(tǒng)管理器可根據(jù)網(wǎng)絡(luò)中各節(jié)點(diǎn)的丟包率計(jì)算網(wǎng)絡(luò)當(dāng)前的平均丟包率
【文檔編號】H04W28/08GK103929782SQ201410175107
【公開日】2014年7月16日 申請日期:2014年4月28日 優(yōu)先權(quán)日:2014年4月28日
【發(fā)明者】李士寧, 羅國佳, 潘巖, 李志剛 申請人:西北工業(yè)大學(xué)