本發(fā)明涉及無線傳感網(wǎng)絡(luò)網(wǎng)絡(luò)層優(yōu)化技術(shù),具體涉及一種分布式無線傳感網(wǎng)絡(luò)分簇路由方法。
背景技術(shù):
:無線傳感網(wǎng)絡(luò)(WirelessSensorNetworks,WSNs)是一種多跳自組織網(wǎng)絡(luò)系統(tǒng),由大量傳感器節(jié)點組成,節(jié)點之間通過無線通信的方式進行互聯(lián)互通。一般來說,無線傳感網(wǎng)絡(luò)由傳感器節(jié)點和匯聚節(jié)點組成,并且每個傳感器節(jié)點都具有數(shù)據(jù)接收和數(shù)據(jù)轉(zhuǎn)發(fā)的功能,也就是說每個節(jié)點既可以是普通節(jié)點,也可以實現(xiàn)路由轉(zhuǎn)發(fā)的作用。匯聚節(jié)點則相當于網(wǎng)關(guān)的角色,既負責對指定區(qū)域所管轄的傳感器節(jié)點收集到的信息進行數(shù)據(jù)融合,還需要負責與外部網(wǎng)絡(luò)(互聯(lián)網(wǎng),移動通信網(wǎng)絡(luò),衛(wèi)星通信等)進行通信。隨著無線通信技術(shù)的發(fā)展以及低功耗無線射頻模塊在傳感器節(jié)點上的應(yīng)用,無線傳感網(wǎng)絡(luò)現(xiàn)在已經(jīng)廣泛應(yīng)用于智能家居、環(huán)境監(jiān)測、交通運輸、災(zāi)害救援和國土安全之中,成為了物聯(lián)網(wǎng)發(fā)展的重要技術(shù)手段。由于傳感器節(jié)點具有數(shù)目眾多、規(guī)模龐大、部署隨機、能量有限以及拓撲難以控制等特點,無線傳感網(wǎng)絡(luò)的網(wǎng)絡(luò)層通常采用分簇路由算法,將網(wǎng)絡(luò)系統(tǒng)由平面結(jié)構(gòu)轉(zhuǎn)換成分層結(jié)構(gòu),以此來提升網(wǎng)絡(luò)的擴展性,降低系統(tǒng)的能耗,提升整體的性能。分簇路由算法提出了“輪”的概念,通過定期的簇首選舉,將整個網(wǎng)絡(luò)的能量負載平均分配到每個傳感器節(jié)點上,以提高動態(tài)網(wǎng)絡(luò)的高效性和魯棒性。每一輪開始時,通過一定的選舉機制來產(chǎn)生新的簇頭節(jié)點和成員節(jié)點。簇內(nèi)成員節(jié)點通過多跳通信的方式將信息傳輸?shù)酱仡^節(jié)點進行數(shù)據(jù)融合,而簇頭節(jié)點與基站之間則采用單跳通信的方式實現(xiàn)數(shù)據(jù)上傳。分簇路由算法大體上可以分為集中式和分布式兩類。集中式路由算法往往需要傳感器節(jié)點獲取全局拓撲信息,并結(jié)合智能算法(PSO、蟻群算法,k-means等等)對自身性能進行分析從而選舉出合適的簇頭節(jié)點,這種方式固然可以得到合理的簇分布拓撲,但對節(jié)點自身來說也會帶來巨大的能量消耗,且對于大規(guī)模無線傳感網(wǎng)絡(luò),其靈活性不如分布式算法。因此,在無線傳感網(wǎng)絡(luò)實際應(yīng)用中其實更傾向于使用分布式分簇算法。在分簇路由算法中,簇頭節(jié)點由于需要承擔簇內(nèi)數(shù)據(jù)融合以及和匯聚節(jié)點進行通信的任務(wù),其能量消耗固然遠大于簇內(nèi)的成員節(jié)點,但多跳通信中往往存在熱區(qū)問題,即離簇頭越近的節(jié)點,需要承擔的數(shù)據(jù)接收和數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)也就越多,所帶來的額外能量消耗也就越大,節(jié)點也就越容易過早死亡,破壞了通信鏈路的穩(wěn)定性,對整個網(wǎng)絡(luò)的負載均衡和整體性能將會產(chǎn)生嚴重的影響。由此可以看出,簇頭節(jié)點的鄰居節(jié)點在數(shù)據(jù)傳輸?shù)恼麄€過程中其實也需要承擔較大的能量消耗。因此,分簇網(wǎng)絡(luò)中簇頭選舉算法在考慮節(jié)點剩余能量和節(jié)點度的同時,節(jié)點的鄰居節(jié)點剩余能量也是一個不容忽視的因素。技術(shù)實現(xiàn)要素:為克服以上缺點,本發(fā)明提出一種分布式無線傳感網(wǎng)絡(luò)分簇路由方法。所述方法將分簇路由算法和模糊邏輯相結(jié)合,以節(jié)點剩余能量、節(jié)點度、鄰居節(jié)點剩余能量作為判定指標,實現(xiàn)合理的簇頭節(jié)點選舉,有效地避免了多跳通信所帶來的熱區(qū)問題對網(wǎng)絡(luò)系統(tǒng)性能的影響,實現(xiàn)了系統(tǒng)整體的負載均衡,延長了網(wǎng)絡(luò)的生命周期,提升了系統(tǒng)的整體性能。本發(fā)明分布式無線傳感網(wǎng)絡(luò)分簇路由方法通過如下技術(shù)方案實現(xiàn):1、一種分布式無線傳感網(wǎng)絡(luò)分簇路由方法,包括以下步驟:(1.1)通信范圍內(nèi)的傳感器節(jié)點之間互相發(fā)送Node_MSG數(shù)據(jù)包進行消息互通,節(jié)點由此可以完成自身信息表Info_table的更新,從而獲取所有鄰居節(jié)點的節(jié)點ID以及對應(yīng)的當前節(jié)點能量Neighbor_Nodeid.Eresidual。利用更新后的Info_table,節(jié)點由此可以獲取到節(jié)點能量Er、節(jié)點度d和鄰居節(jié)點剩余能量Ea=∑Neighbor_Nodeid.Eresidual/d這三個參數(shù),以及簇頭選舉算法持續(xù)時間t=k×T×(Ea/Er),其中k為(0.9,1)之間的隨機數(shù),T為定義的初始簇頭選舉持續(xù)時間;(1.2)每個傳感器節(jié)點利用自帶的模糊推理引擎系統(tǒng),定義了節(jié)點能量的模糊集合{low,medium,high},其隸屬函數(shù)為low(0<x≤0.5),medium(0<x≤1.0),high(x>0.5);節(jié)點度的模糊集合{less,average,enormous},其隸屬函數(shù)為less(0<x≤15),average(0<x≤30),enormous(x>15),鄰居節(jié)點剩余能量的模糊集合{weak,normal,strong},隸屬函數(shù)為weak(0<x≤0.35),normal(0<x≤1.0),strong(x≥0.83);輸出參數(shù)概率的模糊集合{very_low,low,rather_low,medium,less_high,high,very_high},隸屬函數(shù)為very_low(0<y≤10),low(0<y≤40),rather_low(30<y≤50),medium(40<y≤70),less_high(60<y≤80),high(70<y≤90),very_high(y>90)。以步驟1.1獲取的精確的節(jié)點能量、節(jié)點度和鄰居節(jié)點剩余能量作為輸入?yún)?shù),結(jié)合上述隸屬函數(shù),轉(zhuǎn)化為相對應(yīng)的模糊集合中的模糊語言變量。模糊語言變量再結(jié)合模糊規(guī)則,利用Mamdani算法,得到模糊輸出集。最后通過中心面積算法將模糊輸出集轉(zhuǎn)換為直觀的精確輸出值以供節(jié)點對自身性能進行評估,作為節(jié)點自身成為簇頭節(jié)點的權(quán)值V;(1.3)節(jié)點獲得自身性能評估權(quán)值V后,進入簇頭競選狀態(tài),向附近通信半徑r內(nèi)的所有鄰居節(jié)點發(fā)送包含自身節(jié)點ID和權(quán)值V的數(shù)據(jù)包Head_compete。節(jié)點與接收到的鄰居節(jié)點性能權(quán)值進行比較,權(quán)值低的節(jié)點變?yōu)槠胀ü?jié)點狀態(tài),等待簇頭選舉結(jié)束后通過就近原則選擇合適的簇進行加入,而權(quán)值高的節(jié)點則變?yōu)楫斶x簇頭狀態(tài);(1.4)當選為簇頭的節(jié)點向周圍節(jié)點大量廣播包含節(jié)點ID數(shù)據(jù)包CH_Message。狀態(tài)為普通節(jié)點的節(jié)點則根據(jù)接收到的CH_Message數(shù)據(jù)包的信號的強弱來判斷發(fā)送該數(shù)據(jù)包的節(jié)點距離自己的遠近,從而以就近原則選擇合適的簇頭節(jié)點并發(fā)送包含自身節(jié)點信息的Node_JOIN數(shù)據(jù)包。簇頭節(jié)點收到成員節(jié)點的申請入簇請求后,會向該節(jié)點返回一個Node_ACCEPT數(shù)據(jù)包,確認該節(jié)點的入簇請求,從而完成整個的簇的形成過程。相對于現(xiàn)有技術(shù),本發(fā)明具有如下優(yōu)點和有益效果:1、在簇頭選舉階段,現(xiàn)有的技術(shù)大都采用了固定的節(jié)點性能評估機制,如傳統(tǒng)的采用隨機數(shù)的方式,或者是根據(jù)相應(yīng)的評價因素從而給出節(jié)點性能權(quán)值計算公式V=x1E1+x2E2+x3E3+...+xnEn。但是在實際的無線傳感網(wǎng)絡(luò)中,隨著時間的推移,網(wǎng)絡(luò)整體拓撲結(jié)構(gòu)也在不斷地發(fā)生變化,這類將權(quán)值計算參數(shù)固定的方法計算出來的權(quán)值并不能實時地反映節(jié)點的性能狀態(tài)。本方法采用模糊邏輯推理引擎來對節(jié)點性能進行評估。模糊邏輯通過模糊語言變量,模擬人腦的思維和決策方式,是一種高效的多因素評價機制。其所采用的隸屬函數(shù),依據(jù)不同的情況對應(yīng)不同的參數(shù)曲線,保證了節(jié)點性能分析的實時有效性;2、在對節(jié)點性能進行分析評估時,本方法以節(jié)點剩余能量、節(jié)點度和鄰居節(jié)點剩余能量作為評價因素使得選舉出的簇頭節(jié)點更加合理。簇頭節(jié)點作為簇內(nèi)成員節(jié)點和系統(tǒng)匯聚節(jié)點之間溝通的紐帶,往往需要承擔數(shù)據(jù)融合和數(shù)據(jù)轉(zhuǎn)發(fā)的任務(wù),其能量消耗也遠大于簇內(nèi)成員節(jié)點,因而對當選節(jié)點的剩余能量必然會有很高的要求。如若當選的簇頭節(jié)點因自身能量不足而過早死亡,簇內(nèi)節(jié)點就失去了與匯聚節(jié)點數(shù)據(jù)交互的橋梁,則該片傳感器區(qū)域也就失去了與整體網(wǎng)絡(luò)的聯(lián)系,從而嚴重影響了系統(tǒng)的性能。因此,節(jié)點剩余能量往往是評價節(jié)點是否適合成為簇頭的最為重要的指標之一。而節(jié)點度可以提高簇內(nèi)數(shù)據(jù)傳輸?shù)母咝?。因為當選簇頭節(jié)點的節(jié)點度越大的話,其周圍的鄰居節(jié)點也就越多,每個節(jié)點需要分擔的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)也就越小,網(wǎng)絡(luò)的整體能量負載也就更為均衡,網(wǎng)絡(luò)整體的性能也就越好。而且較高的節(jié)點度也會分擔通信鏈路的壓力,減少數(shù)據(jù)傳輸時節(jié)點間的等待時間。最后,鄰居節(jié)點剩余能量這一指標,旨在減弱多跳通信帶來的熱區(qū)問題,實現(xiàn)節(jié)點能量的負載均衡。例如用于環(huán)境監(jiān)測的水下無線傳感網(wǎng)絡(luò),在簇內(nèi)數(shù)據(jù)多跳傳輸過程中,中繼節(jié)點如果因為能量過低過早死亡,與其相關(guān)聯(lián)的遠處的節(jié)點就需要重新進行路由發(fā)現(xiàn),與簇頭節(jié)點重新建立通信鏈路,從而帶來了額外的能量開銷,甚至嚴重影響了網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)男阅?。因而盡量選擇具有較高鄰居節(jié)點能量的節(jié)點作為簇頭節(jié)點可以有效地避免這類熱區(qū)問題;3、本方法是一種基于分布式思想的方法,不需要維護對網(wǎng)絡(luò)全局拓撲的感知,僅僅依靠節(jié)點自身信息,以及消息互通時獲得的鄰居節(jié)點的信息,結(jié)合模糊邏輯,對節(jié)點性能進行分析,得到選舉出合理的簇頭節(jié)點,有效地緩解了多跳通信中常見的熱區(qū)問題,均衡了網(wǎng)絡(luò)中各個位置的能量消耗,提升了節(jié)點的平均生存時間,進而延長了整個網(wǎng)絡(luò)系統(tǒng)的生命周期,顯著地提高了系統(tǒng)的數(shù)據(jù)傳輸量,使得整個無線傳感網(wǎng)絡(luò)具有更好的能量有效性。具體實施方案為使本發(fā)明的目的和技術(shù)方案更加清晰,下面對本發(fā)明的原理和具體步驟進行描述:1、本方法利用模糊邏輯提升無線傳感網(wǎng)絡(luò)數(shù)據(jù)傳輸效率的原理說明如下:對于無線傳感網(wǎng)絡(luò)通常所采用的分簇路由結(jié)構(gòu),每一輪選舉出的簇頭節(jié)點是否合理直接影響到網(wǎng)絡(luò)整體的性能。本方法所采用的模糊邏輯推理引擎是一種具有實時決策性的多因素多指標評價機制,利用參數(shù)模糊集,根據(jù)不同時間段網(wǎng)絡(luò)的拓撲狀況定義了不同的隸屬函數(shù),對節(jié)點性能的評價標準因?qū)嶋H的網(wǎng)絡(luò)拓撲結(jié)構(gòu)的變化而有所不同,更加具有實時有效性,選舉出來的簇頭節(jié)點也更為合理。本方法中簇頭選舉階段對節(jié)點性能的判定指標有三個:節(jié)點剩余能量、節(jié)點度、鄰居節(jié)點剩余能量。高節(jié)點剩余能量可以保證節(jié)點在下一輪簇頭選舉之前,有足夠的能量完成簇內(nèi)節(jié)點信息融合和與匯聚節(jié)點進行通信實現(xiàn)數(shù)據(jù)上傳的任務(wù),提高網(wǎng)絡(luò)整體的穩(wěn)定性;高節(jié)點度可以提高簇內(nèi)節(jié)點數(shù)據(jù)傳輸?shù)母咝?,減少數(shù)據(jù)傳輸時節(jié)點間的等待時間;高鄰居節(jié)點剩余能量可以有效地減弱熱區(qū)問題對多跳通信的影響,實現(xiàn)簇內(nèi)節(jié)點負載均衡,提高簇內(nèi)通信鏈路的穩(wěn)定性,從而延長網(wǎng)絡(luò)的生命周期,提升系統(tǒng)的整體性能。2、對無線傳感網(wǎng)絡(luò)每一輪簇頭選舉的過程,具體步驟說明如下:(1)通信范圍內(nèi)的傳感器節(jié)點之間互相發(fā)送Node_MSG數(shù)據(jù)包進行消息互通。完成Node_MSG消息互通階段之后,節(jié)點可以實現(xiàn)自身信息表Info_table的更新,從而獲取到所有鄰居節(jié)點的節(jié)點ID以及該節(jié)點ID所對應(yīng)的當前節(jié)點能量ΣNeighbor_Nodeid.Eresidual。利用更新后的Info_table,節(jié)點由此可以獲取到節(jié)點能量Er、節(jié)點度d和鄰居節(jié)點剩余能量Ea=∑Neighbor_Nodeid.Eresidual/d這三個參數(shù),并進一步獲得簇頭選舉算法持續(xù)時間t=k×T×(Ea/Er),其中k為(0.9,1)之間的隨機數(shù),T為定義的初始簇頭選舉持續(xù)時間;(2)每個傳感器節(jié)點都自帶又模糊推理引擎系統(tǒng),不僅定義了節(jié)點能量的模糊集合節(jié)點度的模糊集合鄰居節(jié)點剩余能量的模糊集以及輸出參數(shù)概率的模糊集合y={very_low,low,rather_low,medium,less_high,high,very_high},還定義了各自相對應(yīng)的隸屬函數(shù)。節(jié)點能量隸屬函數(shù):low(0<x≤0.5),medium(0<x≤1.0),high(x≥0.5)。節(jié)點度隸屬函數(shù):less(0<x≤15),average(0<x≤30),enormous(x>15)。鄰居節(jié)點剩余能量隸屬函數(shù):weak(0<x≤0.35),normal(0<x≤1.0),strong(x≥0.83)。概率隸屬函數(shù):very_low(0<y≤10),low(0<y≤40),rather_low(30<y≤50),medium(40<y≤70),less_high(60<y≤80),high(70<y≤90),very_high(y>90)。利用這些隸屬函數(shù),我們將步驟(1)中獲取的精確的節(jié)點能量(NE)、節(jié)點度(ND)和鄰居節(jié)點剩余能量(NNE)轉(zhuǎn)換為模糊集合中的對應(yīng)的模糊語言變量。緊接著我們可以將得到的模糊語言變量再依據(jù)模糊規(guī)則結(jié)合Mamdani算法,利用公式得出每條模糊規(guī)則對應(yīng)的模糊輸出集通過中心面積算法將模糊輸出集轉(zhuǎn)換為直觀的精確輸出值以供節(jié)點對自身性能進行評估,作為節(jié)點自身成為簇頭節(jié)點的權(quán)值V;(3)節(jié)點獲得自身性能評估權(quán)值V后,進入簇頭競選狀態(tài),向附近通信半徑r內(nèi)的所有鄰居節(jié)點發(fā)送包含自身節(jié)點ID和權(quán)值V的數(shù)據(jù)包Head_compete。節(jié)點與接收到的鄰居節(jié)點性能權(quán)值進行比較,權(quán)值低的節(jié)點變?yōu)槠胀ü?jié)點狀態(tài),等待簇頭選舉結(jié)束后通過就近原則選擇合適的簇進行加入,而權(quán)值高的節(jié)點則變?yōu)楫斶x簇頭狀態(tài);(4)當選為簇頭的節(jié)點向周圍節(jié)點大量廣播包含節(jié)點ID數(shù)據(jù)包CH_Message。狀態(tài)為普通節(jié)點的節(jié)點則根據(jù)接收到的CH_Message數(shù)據(jù)包的信號的強弱來判斷發(fā)送該數(shù)據(jù)包的節(jié)點距離自己的遠近,從而以就近原則選擇合適的簇頭節(jié)點并發(fā)送包含自身節(jié)點信息的Node_JOIN數(shù)據(jù)包。簇頭節(jié)點收到成員節(jié)點的申請入簇請求后,會向該節(jié)點返回一個Node_ACCEPT數(shù)據(jù)包,確認該節(jié)點的入簇請求,從而完成整個的簇的形成過程。當前第1頁1 2 3