本發(fā)明涉及電網(wǎng)通信技術領域,特別是涉及一種無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)系統(tǒng)及方法。
背景技術:
蓄能水電站是智能電網(wǎng)中重要的基礎設施,能夠通過電網(wǎng)負荷峰谷時段的水電能轉(zhuǎn)化,實現(xiàn)電能的高效利用和收益。由于蓄能水電站的選址和建設的特殊要求,電網(wǎng)中蓄能水電站大多占地面積廣,且位于通信不便的深山和大谷之中。水電站廠房為地下洞穴式廠房,少人值守,主要通過無線傳感器網(wǎng)絡實現(xiàn)對整個蓄能水電站廠房的環(huán)境參數(shù)的采集與監(jiān)控,這些生產(chǎn)運行的實時信息和畫面,是電網(wǎng)生產(chǎn)現(xiàn)場的第一手資料,對于系統(tǒng)運行的穩(wěn)定以及故障預警和定位,具有重要的意義。
保障蓄能水電站生產(chǎn)運行監(jiān)控的無線傳感網(wǎng)絡(Wireless Sensor Network,WSN)是建立在功能集成、高速雙向通信網(wǎng)絡的基礎之上,它高度融合了前沿傳感測量技術、通信技術、計算機技術與控制技術。無線傳感網(wǎng)絡中節(jié)點設備既作為采集終端完成數(shù)據(jù)的監(jiān)測、采集;同時作為路由設備,完成信息的多跳傳遞與轉(zhuǎn)發(fā),網(wǎng)絡不依賴現(xiàn)有的通信設備;節(jié)點間以自組織、多跳中繼的方式完成信息的傳輸。系統(tǒng)路由層通常使用較為成熟的無線自組網(wǎng)按需距離矢量(Ad hoc On-Demand Distance Vector,AODV)協(xié)議進行路由選擇。
傳統(tǒng)的AODV路由方法是按需建立路由,當節(jié)點有通信需求才啟動路由發(fā)現(xiàn)過程,由源節(jié)點開始向周圍節(jié)點廣播路由請求RREQ(Route Request)消息,中繼節(jié)點接收和轉(zhuǎn)發(fā)RREQ消息,當有中繼節(jié)點為目的節(jié)點或存在到目的節(jié)點的路徑時,立即發(fā)送路由回復(Route Replay,RREP)消息給源節(jié)點,AODV協(xié)議按照最短跳數(shù)原則進行路由選擇。由于僅僅考慮了節(jié)點跳數(shù),沒有考慮節(jié)點的實際情況,會導致數(shù)據(jù)傳輸時延增大、丟包率增加,導致無線傳感網(wǎng)絡的數(shù)據(jù)傳輸性能下降。
技術實現(xiàn)要素:
基于此,有必要針對上述問題,提供一種可提高無線傳感網(wǎng)絡的數(shù)據(jù)傳輸性能的無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)系統(tǒng)及方法。
一種無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)系統(tǒng),包括:
發(fā)送源節(jié)點,用于在未檢測到到達目的節(jié)點的路由信息時,向周圍節(jié)點廣播攜帶有路由轉(zhuǎn)發(fā)代價因子權值的路由請求;所述路由轉(zhuǎn)發(fā)代價因子權值由節(jié)點電量等級因子、節(jié)點負荷狀態(tài)因子以及跳數(shù)權值表征;
中間節(jié)點,用于接收路由請求;根據(jù)本節(jié)點的剩余電量和節(jié)點隊列緩存長度,計算本節(jié)點的電量等級因子及負荷狀態(tài)因子;以及根據(jù)本節(jié)點的電量等級因子、負荷狀態(tài)因子判斷本節(jié)點是否適合傳輸路由請求;若是,則根據(jù)本節(jié)點的電量等級因子、負荷狀態(tài)因子以及跳數(shù)權值對所述路由請求攜帶的路由轉(zhuǎn)發(fā)代價因子權值進行更新,并轉(zhuǎn)發(fā)更新后的路由請求。
一種無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)方法,包括以下步驟:
發(fā)送源節(jié)點在未檢測到到達目的節(jié)點的路由信息時,向周圍節(jié)點廣播攜帶有路由轉(zhuǎn)發(fā)代價因子權值的路由請求;所述路由轉(zhuǎn)發(fā)代價因子權值由節(jié)點電量等級因子、節(jié)點負荷狀態(tài)因子以及跳數(shù)權值表征;
中間節(jié)點接收路由請求,根據(jù)本節(jié)點的剩余電量和節(jié)點隊列緩存長度,計算本節(jié)點的電量等級因子及負荷狀態(tài)因子;
所述中間節(jié)點根據(jù)本節(jié)點的電量等級因子、負荷狀態(tài)因子判斷本節(jié)點是否適合傳輸路由請求;
若是,則所述中間節(jié)點在本節(jié)點適合傳輸路由請求時,根據(jù)本節(jié)點的電量等級因子、負荷狀態(tài)因子以及跳數(shù)權值對所述路由請求攜帶的路由轉(zhuǎn)發(fā)代價因子權值進行更新,并轉(zhuǎn)發(fā)更新后的路由請求。
上述無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)系統(tǒng)及方法,發(fā)送源節(jié)點在未檢測到到達目的節(jié)點的路由信息時,向周圍節(jié)點廣播攜帶有由節(jié)點電量等級因子、節(jié)點負荷狀態(tài)因子以及跳數(shù)權值表征的路由轉(zhuǎn)發(fā)代價因子權值的路由請求。中間節(jié)點接收路由請求,根據(jù)本節(jié)點的剩余電量和節(jié)點隊列緩存長度,計算本節(jié)點的電量等級因子及負荷狀態(tài)因子。中間節(jié)點根據(jù)本節(jié)點的電量等級因子、負荷狀態(tài)因子判斷本節(jié)點是否適合傳輸路由請求;若是,則中間節(jié)點根據(jù)本節(jié)點的電量等級因子、負荷狀態(tài)因子以及跳數(shù)權值對路由請求攜帶的路由轉(zhuǎn)發(fā)代價因子權值進行更新,并轉(zhuǎn)發(fā)更新后的路由請求。在路由發(fā)現(xiàn)的過程中,將節(jié)點電量等級因子和節(jié)點負荷狀態(tài)因子兩個參數(shù)作為節(jié)點是否參與轉(zhuǎn)發(fā)的判斷依據(jù)?;诠?jié)點電量等級因子、節(jié)點負荷狀態(tài)因子以及跳數(shù)權值3方面因素,在路由選擇的過程中充分考慮節(jié)點能量和負荷狀況,避免在處于擁塞狀態(tài)和剩余能量不足的節(jié)點上建立路由,更符合無線傳感網(wǎng)絡的應用需求,提高了數(shù)據(jù)傳輸?shù)目煽啃?、均衡網(wǎng)絡的能量消耗,提高了無線傳感網(wǎng)絡的數(shù)據(jù)傳輸性能。
附圖說明
圖1為一個實施例中無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)系統(tǒng)的結(jié)構(gòu)圖;
圖2為一個實施例中無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)方法的流程圖;
圖3為一個實施例中無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)的算法流程示意圖;
圖4為一個實施例中目的節(jié)點的路徑選擇示意圖。
具體實施方式
在一個實施例中,一種無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)系統(tǒng),適用于蓄能水電站。如圖1所示,該系統(tǒng)包括發(fā)送源節(jié)點110和中間節(jié)點120。
發(fā)送源節(jié)點110用于在未檢測到到達目的節(jié)點的路由信息時,向周圍節(jié)點廣播攜帶有路由轉(zhuǎn)發(fā)代價因子權值的路由請求。
路由轉(zhuǎn)發(fā)代價因子權值由節(jié)點電量等級因子、節(jié)點負荷狀態(tài)因子以及跳數(shù)權值表征。AODV路由協(xié)議的特點是按需建立路由,當節(jié)點有通信需求才啟動路由發(fā)現(xiàn)過程,當該節(jié)點路由表中不存在(或已失效)到達目的節(jié)點的路由表項時,源節(jié)點開始向周圍節(jié)點廣播路由請求消息RREQ。本實施例中,對發(fā)送節(jié)點廣播的路由請求消息RREQ進行的擴展,得到攜帶有路由轉(zhuǎn)發(fā)代價因子權值的路由請求RREQ_CM。
具體地,通過改進AODV路由協(xié)議中的RREQ消息的幀格式,為RREQ消息分組添加了累計代價函數(shù)值字段COST_MESTRICS。擴展后的路由請求RREQ_CM消息幀格式如表1所示,其中,消息幀格式包括分組類型、保留字段、轉(zhuǎn)發(fā)跳數(shù)計數(shù)器、路由請求識別碼、目的節(jié)點的IP地址、目的節(jié)點序列號、源節(jié)點IP地址和源節(jié)點序列號。增加累計代價函數(shù)值字段COST_MESTRICS,用于表示由節(jié)點剩余能量、節(jié)點符合狀況以及跳數(shù)三方面信息綜合表征的節(jié)點路由轉(zhuǎn)發(fā)代價。
表1
在路由請求階段,改進了協(xié)議的RREQ消息,增加了用于表示路由轉(zhuǎn)發(fā)代價因子權值的COST_MESTRICS字段,以便于后續(xù)進行路由轉(zhuǎn)發(fā)代價因子權值統(tǒng)計。
中間節(jié)點120用于接收路由請求;根據(jù)本節(jié)點的剩余電量和節(jié)點隊列緩存長度,計算本節(jié)點的電量等級因子及負荷狀態(tài)因子;以及根據(jù)本節(jié)點的電量等級因子、負荷狀態(tài)因子判斷本節(jié)點是否適合傳輸路由請求;若是,則根據(jù)本節(jié)點的電量等級因子、負荷狀態(tài)因子以及跳數(shù)權值對路由請求攜帶的路由轉(zhuǎn)發(fā)代價因子權值進行更新,并轉(zhuǎn)發(fā)更新后的路由請求。
在路由發(fā)現(xiàn)的過程中,提出了節(jié)點電量等級因子和節(jié)點負荷狀態(tài)因子兩個參數(shù),作為節(jié)點是否參與轉(zhuǎn)發(fā)的判斷依據(jù)。中間節(jié)點120可預先存儲可通行的下一級節(jié)點的信息,在確認可參與轉(zhuǎn)發(fā)時以便進行路由請求轉(zhuǎn)發(fā)。若不參與轉(zhuǎn)發(fā),則中間節(jié)點120可直接將報文丟棄。
基于節(jié)點電量等級因子、節(jié)點負荷狀態(tài)因子以及跳數(shù)權值3方面因素,在路由選擇的過程中可充分考慮節(jié)點能量和負荷狀況,避免在處于擁塞狀態(tài)和剩余能量不足的節(jié)點上建立路由。
此外,在檢測到達目的節(jié)點的路由信息時,發(fā)送源節(jié)點110則可直接根據(jù)路由信息發(fā)送數(shù)據(jù)。中間節(jié)點120在接收到發(fā)送源節(jié)點110發(fā)送的數(shù)據(jù)后,判斷本節(jié)點是否是目的節(jié)點,若否,則根據(jù)路由信息再次轉(zhuǎn)發(fā)數(shù)據(jù),直至目的節(jié)點接收到數(shù)據(jù)。
在一個實施例中,中間節(jié)點根據(jù)本節(jié)點的剩余電量和節(jié)點隊列緩存長度,計算本節(jié)點的電量等級因子及負荷狀態(tài)因子,包括:
根據(jù)本節(jié)點的剩余電量和預設的電池最大充電量,計算得到本節(jié)點的剩余電量百分比;根據(jù)本節(jié)點的剩余電量百分比,以及預設的剩余電量區(qū)間與電量等級因子的對應關系,得到本節(jié)點的電量等級因子。根據(jù)本節(jié)點的節(jié)點隊列緩存長度和預設的節(jié)點分組緩存最大長度,計算得到本節(jié)點的隊列長度百分比;根據(jù)本節(jié)點的隊列長度百分比,以及預設的隊列長度百分比區(qū)間與負荷狀態(tài)因子的對應關系,得到本節(jié)點的負荷狀態(tài)因子。
具體地,無線傳感網(wǎng)節(jié)點采用電池供電,節(jié)點電量對于網(wǎng)絡性能有重要影響,采用EPCT表示節(jié)點剩余電量百分比,如下所示。
EPCT=Eresidual/Einitial
其中,Eresidual為節(jié)點當前剩余電量,Einitial為該節(jié)點電池最大充電量。將節(jié)點剩余電量百分比劃分為若干區(qū)間,不同區(qū)間對應不同的節(jié)點電量等級因子。各節(jié)點可根據(jù)本節(jié)點EPCT值確定所屬的剩余電量區(qū)間,進而計算更新本節(jié)點的電量等級因子。本實施例中,剩余電量區(qū)間與電量等級因子的對應關系如下。
E1至E5分別為各剩余電量區(qū)間對應的電量等級因子。本實施例會中,電量等級因子的值隨剩余電量區(qū)間的遞增而增大,即E1>E2>E3>E4>E5。具體可通過節(jié)點的電量檢測模塊檢測節(jié)點剩余,并計算更新節(jié)點電量的百分比,當EPCT≥0.8時,表明節(jié)點能量非常充足,能夠承擔長時間的數(shù)據(jù)交換和傳輸,為該節(jié)點賦予最高的能量等級因子,作為轉(zhuǎn)發(fā)節(jié)點參與路由;當0.8>EPCT≥0.2時,說明網(wǎng)絡中該節(jié)點的能量較為充足,可以被作為中間轉(zhuǎn)發(fā)節(jié)點,為該節(jié)點賦予適中的能量等級因子;當0.2>EPCT≥0.05時,說明網(wǎng)絡中該節(jié)點能量已經(jīng)不充足,應該避免過多地使用該節(jié)點參與路由,如果再長時間的承擔路由和轉(zhuǎn)發(fā)工作,可能導致節(jié)點能量迅速降低,當使用該節(jié)點轉(zhuǎn)發(fā),會引起較大端到端時延,為該節(jié)點賦予較低的能量等級因子;當節(jié)點能量百分比0.05>EPCT≥0,說明節(jié)點電量即將耗盡,應避免使用該節(jié)點參與路由轉(zhuǎn)發(fā)。
節(jié)點負荷狀態(tài)因子用于說明節(jié)點的符合狀況,使用LPCT表示節(jié)點的隊列長隊列長度百分比,具體如下所示。
LPCT=Lqs/Lini
其中,Lqs為節(jié)點當前隊列長度,Lini為預設的節(jié)點分組緩存最大長度。將節(jié)點負荷百分比劃分為若干區(qū)間,不同區(qū)間對應不同的節(jié)點負荷狀態(tài)因子。各節(jié)點可根據(jù)本節(jié)點LPCT值確定所屬的負荷百分比區(qū)間,進而計算更新本節(jié)點的負荷狀態(tài)因子。在無線傳感網(wǎng)絡中,節(jié)點分組緩存的最大長度Lini為64。本實施例中,隊列長度百分比區(qū)間與負荷狀態(tài)因子的對應關系如下。
L1至L5分別為各隊列長度百分比區(qū)間對應的負荷狀態(tài)因子。本實施例會中,負荷狀態(tài)因子的值隨隊列長度百分比區(qū)間的遞增而增大。具體可通過節(jié)點的符合狀態(tài)檢測模塊檢測當前緩存隊列長度,并計算更新節(jié)點狀態(tài)負荷因子。當LPCT≥0.9時,表明節(jié)點當前負荷超重,使用該節(jié)點轉(zhuǎn)發(fā),會導致緩存隊列溢出,引起較大端到端時延,應該避免使用該節(jié)點參與路由,為該節(jié)點賦予最高的負荷狀態(tài)因子;當0.9>LPCT≥0.7時,說明網(wǎng)絡中該節(jié)點負荷較重,盡量避免使用該節(jié)點作為中間轉(zhuǎn)發(fā)節(jié)點,因為使用該節(jié)點轉(zhuǎn)發(fā),會引起較大端到端時延,為該節(jié)點賦予較高的節(jié)電負荷狀態(tài)因子;當0.7>EPCT≥0.4時,說明網(wǎng)絡中該節(jié)點處于輕度負荷狀態(tài),可以使用該節(jié)點承擔路由和轉(zhuǎn)發(fā)工作,為該節(jié)點賦予適中的能量等級因子;當節(jié)點能量等級因子0.4>LPCT≥0,說明節(jié)點處于正常工作狀態(tài),推薦使用此節(jié)點進行路由轉(zhuǎn)發(fā),為該節(jié)點賦予最低的節(jié)點負荷狀態(tài)因子。
可以理解,剩余電量區(qū)間與電量等級因子的對應關系,以及隊列長度百分比區(qū)間與負荷狀態(tài)因子的對應關系的具體形式并不唯一,可根據(jù)實際情況調(diào)整。電量等級因子的值也可以是隨剩余電量區(qū)間的遞增而減小,負荷狀態(tài)因子的值也可以是隨隊列長度百分比區(qū)間的遞增而減小。
在一個實施例中,電量等級因子的值隨剩余電量區(qū)間的遞增而增大,負荷狀態(tài)因子的值隨隊列長度百分比區(qū)間的遞增而增大。中間節(jié)點120根據(jù)本節(jié)點的電量等級因子、負荷狀態(tài)因子判斷本節(jié)點是否適合傳輸路由請求,包括:若本節(jié)點的電量等級因子為最低值,且本節(jié)點的電量等級因子為最高值,則本節(jié)點不適合傳輸路由請求。
通過節(jié)點能量等級因子和節(jié)點負荷狀態(tài)因子的計算,如果節(jié)點的能量等級因子處于最低值同時節(jié)點的負荷狀態(tài)因子為最高值時(上文中節(jié)點能量等級因子和負荷狀態(tài)因子分別為E5和L1時),說明該節(jié)點電量即將耗盡,同時節(jié)點負荷較重或緩存隊列已經(jīng)溢出,此時節(jié)點若收到路由信息RREQ_CM,則進行丟棄處理。
在一個實施例中,中間節(jié)點120根據(jù)本節(jié)點的電量等級因子、負荷狀態(tài)因子以及跳數(shù)權值對路由請求攜帶的累計代價函數(shù)值字段進行更新,并轉(zhuǎn)發(fā)更新后的路由請求,包括:
根據(jù)本節(jié)點的電量等級因子、負荷狀態(tài)因子以及跳數(shù)權值計算得到本節(jié)點的代價因子權值;將本節(jié)點的代價因子權值對路由請求中的路由轉(zhuǎn)發(fā)代價因子權值更新,得到路由請求對應路徑的轉(zhuǎn)發(fā)代價權值;轉(zhuǎn)發(fā)攜帶有路徑的轉(zhuǎn)發(fā)代價權值的路由請求。
考慮到應用于蓄能水電站的傳感網(wǎng)絡帶寬受限,傳感器網(wǎng)絡節(jié)點能量受限等具體條件的約束,節(jié)點的代價因子函數(shù)應該考慮節(jié)點負荷狀態(tài)因子,節(jié)點電量因子,和節(jié)點跳數(shù)權值等三個方面的因素。
中間節(jié)點120繼續(xù)消息轉(zhuǎn)發(fā)時,基于本節(jié)點的電量等級因子、負荷狀態(tài)因子以及跳數(shù)權值,計算并更新本節(jié)點的代價因子權值,并將本節(jié)點的代價因子權值累計到RREQ_CM消息的代價因子值,得到此路徑的轉(zhuǎn)發(fā)代價權值,用于確定本節(jié)點與源節(jié)點之間的最優(yōu)路徑。
節(jié)點跳數(shù)權值可以根據(jù)接收到的轉(zhuǎn)發(fā)請求報文消息計算得出。節(jié)點轉(zhuǎn)發(fā)的代價因子函數(shù)表示為:
Cost_Metrics(i)=φ(Hstatsi,EPCTi,LPCTi)
中間節(jié)點120在收到路由請求RREQ_CM后,根據(jù)報文信息得出節(jié)點的跳數(shù)權值Hstats,計算并更新節(jié)點負荷狀態(tài)因子LPCTi、節(jié)點電量因子EPCTi。通過上述3個參數(shù),根據(jù)代價因子函數(shù)計算得到節(jié)點自身的轉(zhuǎn)發(fā)代價權值。
中間節(jié)點120對路由請求中的路由轉(zhuǎn)發(fā)代價因子權值更新,若中間節(jié)點120是直接接收發(fā)送源節(jié)點110發(fā)送的路由請求,則直接將本節(jié)點的代價因子權值存入路由請求RREQ_CM中;若中間節(jié)點120不是直接接收發(fā)送源節(jié)點110發(fā)送的路由請求,則根據(jù)路由請求RREQ_CM獲得上一跳節(jié)點的累計代價因子權值,將本節(jié)點的代價因子權值與路由請求RREQ_CM中的累計代價因子權值累加,得到該路徑的代價權值,并填寫入路由請求RREQ_CM。
將攜帶有路徑的代價權值的路由請求RREQ_CM進行轉(zhuǎn)發(fā),以供下一節(jié)點接收。
進一步地,在一個實施例中,中間節(jié)點120將本節(jié)點的代價因子權值對路由請求中的路由轉(zhuǎn)發(fā)代價因子權值更新,得到路由請求對應路徑的轉(zhuǎn)發(fā)代價權值之后,轉(zhuǎn)發(fā)攜帶有對應路徑的轉(zhuǎn)發(fā)代價權值的路由請求之前,還用于根據(jù)路由請求判斷本節(jié)點是否為目的節(jié)點;若否,則轉(zhuǎn)發(fā)攜帶有對應路徑的轉(zhuǎn)發(fā)代價權值的路由請求;若是,則根據(jù)路由請求對應的路徑返回應答消息至發(fā)送源節(jié)點。
具體地,中間節(jié)點120可根據(jù)路由請求RREQ_CM中攜帶的目的節(jié)點的信息進行判斷,若本節(jié)點不是目的節(jié)點,則繼續(xù)轉(zhuǎn)發(fā)路由請求RREQ_CM,并在再次接收到路由請求后,再次計算本節(jié)點的電量等級因子、負荷狀態(tài)因子判斷本節(jié)點是否適合傳輸路由請求。
若本節(jié)點是目的節(jié)點,則通過路由請求RREQ_CM對應的路徑返回應答消息至發(fā)送源節(jié)點110。此外,應答消息中可攜帶有該路徑的轉(zhuǎn)發(fā)代價權值,以便于發(fā)送源節(jié)點110確定目的節(jié)點與源節(jié)點之間的最優(yōu)路徑。
本實施例中,發(fā)送源節(jié)點110選擇轉(zhuǎn)發(fā)代價權值最小的路徑作為最優(yōu)路徑,選擇剩余能量多、負載小及跳數(shù)短的鏈路作為路由,提高了數(shù)據(jù)傳輸?shù)目煽啃?、均衡網(wǎng)絡的能量消耗。
蓄能水電站在通信時可用的頻段受限,同時蓄能水電站場景面積廣闊,導致監(jiān)測節(jié)點數(shù)量的增加,即節(jié)點間通信量的增加引起網(wǎng)絡擁塞,降低系統(tǒng)性能。所以應用于蓄能水電站中的無線傳感器網(wǎng)絡,需要結(jié)合蓄能水電站的具體應用場景,以及傳感器網(wǎng)絡特點,對現(xiàn)有AODV路由協(xié)議進行優(yōu)化,主要問題有以下幾個方面:1)傳輸路徑選擇僅依據(jù)最短路徑原則,在有線網(wǎng)絡中正確而有效。但在無線網(wǎng)絡中,收發(fā)端節(jié)點間路徑最短,即跳數(shù)最少,意味著中繼節(jié)點間的傳輸距離增加,信號經(jīng)歷的衰落也相應增加,鏈路更易由于干擾丟包,通信質(zhì)量不能得到保障,最短路徑并不一定是最優(yōu)路經(jīng)。2)無線傳感網(wǎng)中,節(jié)點采用電池供電能量有限,節(jié)點能耗是傳感網(wǎng)系統(tǒng)研究的關鍵問題。
上述無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)系統(tǒng),在路由發(fā)現(xiàn)的過程中,將節(jié)點電量等級因子和節(jié)點負荷狀態(tài)因子兩個參數(shù)作為節(jié)點是否參與轉(zhuǎn)發(fā)的判斷依據(jù)。基于節(jié)點電量等級因子、節(jié)點負荷狀態(tài)因子以及跳數(shù)權值3方面因素,在路由選擇的過程中充分考慮節(jié)點能量和負荷狀況,避免在處于擁塞狀態(tài)和剩余能量不足的節(jié)點上建立路由,更符合無線傳感網(wǎng)絡的應用需求,提高了數(shù)據(jù)傳輸?shù)目煽啃?、均衡網(wǎng)絡的能量消耗,提高了無線傳感網(wǎng)絡的數(shù)據(jù)傳輸性能。
在一個實施例中,一種無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)方法,基于上述無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)系統(tǒng)實現(xiàn),適用于蓄能水電站。如圖2所示,該方法包括以下步驟:
步驟S110:發(fā)送源節(jié)點在未檢測到到達目的節(jié)點的路由信息時,向周圍節(jié)點廣播攜帶有路由轉(zhuǎn)發(fā)代價因子權值的路由請求。
路由轉(zhuǎn)發(fā)代價因子權值由節(jié)點電量等級因子、節(jié)點負荷狀態(tài)因子以及跳數(shù)權值表征。本實施例中,對發(fā)送節(jié)點廣播的路由請求消息RREQ進行的擴展,得到攜帶有路由轉(zhuǎn)發(fā)代價因子權值的路由請求RREQ_CM。具體地,通過改進AODV路由協(xié)議中的RREQ消息的幀格式,為RREQ消息分組添加了累計代價函數(shù)值字段COST_MESTRICS。擴展后的路由請求RREQ_CM消息幀格式如表1所示。
在路由請求階段,改進了協(xié)議的RREQ消息,增加了用于表示路由轉(zhuǎn)發(fā)代價因子權值的COST_MESTRICS字段,以便于后續(xù)進行路由轉(zhuǎn)發(fā)代價因子權值統(tǒng)計。
步驟S120:中間節(jié)點接收路由請求,根據(jù)本節(jié)點的剩余電量和節(jié)點隊列緩存長度,計算本節(jié)點的電量等級因子及負荷狀態(tài)因子。
在路由發(fā)現(xiàn)的過程中,提出了節(jié)點電量等級因子和節(jié)點負荷狀態(tài)因子兩個參數(shù),作為節(jié)點是否參與轉(zhuǎn)發(fā)的判斷依據(jù)。
步驟S130:中間節(jié)點根據(jù)本節(jié)點的電量等級因子、負荷狀態(tài)因子判斷本節(jié)點是否適合傳輸路由請求。
根據(jù)電量等級因子、負荷狀態(tài)因子判斷本節(jié)點是否適合傳輸路由請求的具體方式并不唯一,若本節(jié)點適合傳輸,則進行步驟S140,若本節(jié)點不適合傳輸,則中間節(jié)點可直接將報文丟棄。
步驟S140:中間節(jié)點在本節(jié)點適合傳輸路由請求時,根據(jù)本節(jié)點的電量等級因子、負荷狀態(tài)因子以及跳數(shù)權值對路由請求攜帶的路由轉(zhuǎn)發(fā)代價因子權值進行更新,并轉(zhuǎn)發(fā)更新后的路由請求。
中間節(jié)點可預先存儲可通行的下一級節(jié)點的信息,在確認可參與轉(zhuǎn)發(fā)時以便進行路由請求轉(zhuǎn)發(fā)?;诠?jié)點電量等級因子、節(jié)點負荷狀態(tài)因子以及跳數(shù)權值3方面因素,在路由選擇的過程中可充分考慮節(jié)點能量和負荷狀況,避免在處于擁塞狀態(tài)和剩余能量不足的節(jié)點上建立路由。
此外,在檢測到達目的節(jié)點的路由信息時,無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)方法還可包括:
發(fā)送源節(jié)點根據(jù)路由信息發(fā)送數(shù)據(jù);中間節(jié)點在接收到發(fā)送源節(jié)點發(fā)送的數(shù)據(jù)后,判斷本節(jié)點是否是目的節(jié)點,若否,則根據(jù)路由信息再次轉(zhuǎn)發(fā)數(shù)據(jù),直至目的節(jié)點接收到數(shù)據(jù)。
在一個實施例中,步驟S120包括步驟122至步驟128。
步驟122:根據(jù)本節(jié)點的剩余電量和預設的電池最大充電量,計算得到本節(jié)點的剩余電量百分比。
步驟124:根據(jù)本節(jié)點的剩余電量百分比,以及預設的剩余電量區(qū)間與電量等級因子的對應關系,得到本節(jié)點的電量等級因子。
步驟126:根據(jù)本節(jié)點的節(jié)點隊列緩存長度和預設的節(jié)點分組緩存最大長度,計算得到本節(jié)點的隊列長度百分比。
步驟128:根據(jù)本節(jié)點的隊列長度百分比,以及預設的隊列長度百分比區(qū)間與負荷狀態(tài)因子的對應關系,得到本節(jié)點的負荷狀態(tài)因子。
可以理解,剩余電量區(qū)間與電量等級因子的對應關系,以及隊列長度百分比區(qū)間與負荷狀態(tài)因子的對應關系的具體形式并不唯一。
在一個實施例中,電量等級因子的值隨剩余電量區(qū)間的遞增而增大,負荷狀態(tài)因子的值隨隊列長度百分比區(qū)間的遞增而增大。步驟S130包括:若本節(jié)點的電量等級因子為最低值,且本節(jié)點的電量等級因子為最高值,則本節(jié)點不適合傳輸路由請求。
通過節(jié)點能量等級因子和節(jié)點負荷狀態(tài)因子的計算,如果節(jié)點的能量等級因子處于最低值同時節(jié)點的負荷狀態(tài)因子為最高值時,說明該節(jié)點電量即將耗盡,同時節(jié)點負荷較重或緩存隊列已經(jīng)溢出,此時節(jié)點若收到路由信息,則進行丟棄處理。
在一個實施例中,步驟S140包括步驟142至步驟146。
步驟142:根據(jù)本節(jié)點的電量等級因子、負荷狀態(tài)因子以及跳數(shù)權值計算得到本節(jié)點的代價因子權值。
步驟144:將本節(jié)點的代價因子權值對路由請求中的路由轉(zhuǎn)發(fā)代價因子權值更新,得到路由請求對應路徑的轉(zhuǎn)發(fā)代價權值。
步驟146:轉(zhuǎn)發(fā)攜帶有路徑的轉(zhuǎn)發(fā)代價權值的路由請求。將攜帶有路徑的代價權值的路由請求進行轉(zhuǎn)發(fā),以供下一節(jié)點接收。
進一步地,在一個實施例中,步驟144之后,步驟146之前,步驟S140還包括步驟145和步驟147。
步驟145:根據(jù)路由請求判斷本節(jié)點是否為目的節(jié)點;若否,則進行步驟146;若是,則進行步驟147。
步驟147:根據(jù)路由請求對應的路徑返回應答消息至發(fā)送源節(jié)點。
若本節(jié)點是目的節(jié)點,則通過路由請求對應的路徑返回應答消息至發(fā)送源節(jié)點。此外,應答消息中可攜帶有該路徑的轉(zhuǎn)發(fā)代價權值,以便于發(fā)送源節(jié)點確定目的節(jié)點與源節(jié)點之間的最優(yōu)路徑。
本實施例中,無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)方法還包括發(fā)送源節(jié)點選擇轉(zhuǎn)發(fā)代價權值最小的路徑作為最優(yōu)路徑的步驟,選擇剩余能量多、負載小及跳數(shù)短的鏈路作為路由,提高了數(shù)據(jù)傳輸?shù)目煽啃?、均衡網(wǎng)絡的能量消耗。
為便于更好地理解上述無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)方法,下面結(jié)合具體實施例進行詳細解釋說明。
圖3所示為一實施例中無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)的算法流程示意圖。發(fā)送源節(jié)點在準備發(fā)送數(shù)據(jù)時,檢測是否存在到達目的節(jié)點的路由信息,若存在路由信息則發(fā)送數(shù)據(jù)。中間節(jié)點接收到數(shù)據(jù)后檢測是否是目的節(jié)點,若是,則完成數(shù)據(jù)發(fā)送;若否,則進行數(shù)據(jù)轉(zhuǎn)發(fā),并再次接收發(fā)送源節(jié)點發(fā)送的數(shù)據(jù)進行目的節(jié)點判斷。
若不存在到達目的節(jié)點的路由信息,則發(fā)送源節(jié)點廣播路由請求RREQ_CM,中間節(jié)點接收到路由請求RREQ_CM消息后,獲得上一跳節(jié)點更新的代價函數(shù)值,并計算更新本節(jié)點電量等級因子、負荷狀態(tài)因子。判斷本節(jié)點是否適合傳輸,若本節(jié)點不適合傳輸,則丟棄該路由請求RREQ_CM。若本節(jié)點適合傳輸,則計算代價函數(shù),確定源節(jié)點到本節(jié)點的最優(yōu)路徑。最后中間節(jié)點判斷本節(jié)點是否是目的節(jié)點,若否,則轉(zhuǎn)發(fā)路由請求RREQ_CM,并等待再次接收到發(fā)送源節(jié)點發(fā)送的路由請求RREQ_CM;若是,則發(fā)送應答消息至發(fā)送源節(jié)點。
如圖4所示為一個實施例中目的節(jié)點的路徑選擇示意圖。當新源節(jié)點和目的節(jié)點需要進行消息傳遞時,新源節(jié)點主動發(fā)起路由請求消息,通過中間節(jié)點廣播建立路由,傳統(tǒng)的AODV協(xié)議按照最短跳數(shù)原則對路徑進行選擇,所以當RREQ消息到達接收端時,目的節(jié)點會選擇路徑2或者路徑3作為路由。但是如果綜合考慮路徑的節(jié)點剩余能量,節(jié)點的負荷狀況以及節(jié)點跳數(shù)等因素,求出路徑的代價因子權值,這兩條路徑的跳數(shù)最短,但是這兩條鏈路代價因子權值比較大,如果這兩條作為傳輸鏈路,極有可能發(fā)生中斷或出現(xiàn)很大延遲。根據(jù)上述AODV路由協(xié)議實現(xiàn)方法,綜合考量節(jié)點剩余能量、節(jié)點的負荷狀況以及節(jié)點跳數(shù)等因素,選擇路徑代價因子權值COST_MESTRICS值最小的路徑4作為傳輸數(shù)據(jù)的鏈路,保障傳輸效果的同時,均衡網(wǎng)絡的能量消耗和負載的,提高了網(wǎng)絡的數(shù)據(jù)傳輸性能。
上述無線傳感網(wǎng)絡AODV路由協(xié)議實現(xiàn)方法,在路由發(fā)現(xiàn)的過程中,將節(jié)點電量等級因子和節(jié)點負荷狀態(tài)因子兩個參數(shù)作為節(jié)點是否參與轉(zhuǎn)發(fā)的判斷依據(jù)?;诠?jié)點電量等級因子、節(jié)點負荷狀態(tài)因子以及跳數(shù)權值3方面因素,在路由選擇的過程中充分考慮節(jié)點能量和負荷狀況,避免在處于擁塞狀態(tài)和剩余能量不足的節(jié)點上建立路由,更符合無線傳感網(wǎng)絡的應用需求,提高了數(shù)據(jù)傳輸?shù)目煽啃?、均衡網(wǎng)絡的能量消耗,提高了無線傳感網(wǎng)絡的數(shù)據(jù)傳輸性能。
以上所述實施例的各技術特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特征所有可能的組合都進行描述,然而,只要這些技術特征的組合不存在矛盾,都應當認為是本說明書記載的范圍。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。