區(qū)域分級(jí)的糧庫(kù)無線傳感器網(wǎng)絡(luò)路由算法
摘 要 糧庫(kù)WSN路由算法是WSN檢測(cè)糧庫(kù)糧食數(shù)量技術(shù)的難點(diǎn)之一。由于糧庫(kù)中傳感器節(jié)點(diǎn)分布的復(fù)雜性,所以其路由算法比較特殊。根據(jù)糧庫(kù)WSN的分布,提出一種RCCMA路由算法,先將大量分布不均的傳感器節(jié)點(diǎn)進(jìn)行簇區(qū)域劃分和級(jí)別設(shè)定,然后利用最小夾角原則實(shí)現(xiàn)二級(jí)簇區(qū)域內(nèi)節(jié)點(diǎn)間路由和一級(jí)簇區(qū)域與二級(jí)區(qū)域內(nèi)目標(biāo)節(jié)點(diǎn)間的路由。由于一級(jí)簇區(qū)域傳感器節(jié)點(diǎn)能耗較大,因此采用輪轉(zhuǎn)調(diào)度機(jī)制,將能耗平衡化,降低了單個(gè)傳感器節(jié)點(diǎn)的能耗。對(duì)比幾種典型的路由算法,實(shí)驗(yàn)顯示,該算法具有明顯的優(yōu)勢(shì)。
關(guān)鍵詞 路由算法 簇區(qū)域 無線傳感器網(wǎng)絡(luò)
引 言
利用無線傳感器網(wǎng)絡(luò)檢測(cè)糧庫(kù)的糧食數(shù)量是一項(xiàng)新技術(shù)。由于糧堆的復(fù)雜性,可在糧庫(kù)底部散布大量分布不均的壓力傳感器節(jié)點(diǎn)。將糧庫(kù)內(nèi)大量分布不均的傳感器節(jié)點(diǎn)進(jìn)行組網(wǎng),構(gòu)建一種路由算法,這是糧庫(kù)WSN(Wire-less Sensor Network)的關(guān)鍵技術(shù)之一。
高效的路由算法需滿足以下幾點(diǎn):能量高效(協(xié)議簡(jiǎn)單和節(jié)省能量和均衡消耗)、可擴(kuò)展性(網(wǎng)絡(luò)范圍和節(jié)點(diǎn)密度)、魯棒性(節(jié)點(diǎn)變化和拓?fù)渥兓?、快速收斂性。本文通過研究目前主要的幾種典型WSN路由算法,提出一種針對(duì)糧庫(kù)WSN的路由算法。實(shí)驗(yàn)證明,該算法滿足能量高效性、可擴(kuò)展性、魯棒性和快速收斂性要求。單個(gè)對(duì)比文中提到的幾種典型路由算法,該算法整體性能比它們都優(yōu)越。
1 典型的WSN路由算法
傳統(tǒng)無線通信網(wǎng)絡(luò)研究的重點(diǎn)放在無線通信的服務(wù)質(zhì)量(QoS)上,而無線傳感器節(jié)點(diǎn)是隨機(jī)分布、電池供電的,因此無線傳感器網(wǎng)絡(luò)路由算法的研究重點(diǎn)放在如何提高能量效率上。目前典型的無線傳感器網(wǎng)絡(luò)路由算法主要有以下幾種。
1.1 泛洪算法
泛洪(Flooding)算法是一種傳統(tǒng)的無線通信路由算法。該算法規(guī)定,每個(gè)節(jié)點(diǎn)接收來自其他節(jié)點(diǎn)的信息,并以廣播的形式發(fā)送給其他鄰居節(jié)點(diǎn)。如此繼續(xù)下去,最后將信息數(shù)據(jù)發(fā)送給目的節(jié)點(diǎn)。但這個(gè)算法容易引起信息的“內(nèi)爆”(implosion)和“重疊”(overlap),造成資源的浪費(fèi)。因此在泛洪算法的基礎(chǔ)上,提出了閑聊(Gossiping)算法。
1.2 Gossiping算法
Gossiping算法是在泛洪算法的基礎(chǔ)上進(jìn)行改進(jìn)而提出的。它傳播信息的途徑是,隨機(jī)地選擇一個(gè)鄰居節(jié)點(diǎn),獲得信息的鄰居節(jié)點(diǎn)再以同樣的方式隨機(jī)地選擇下一個(gè)節(jié)點(diǎn),進(jìn)行信息的傳遞。這種方式避免了以廣播形式進(jìn)行信息傳播的能量消耗,但其代價(jià)是延長(zhǎng)了信息的傳遞時(shí)間。雖然Gossiping算法在一定程度上解決了信息的內(nèi)爆問題,但是仍然存在信息的重疊現(xiàn)象。
1.3 SPIN算法
SPIN(Sensor Protocol for Information via Negotia-tion)算法是一種以數(shù)據(jù)為中心的自適應(yīng)路由算法。其目的是通過節(jié)點(diǎn)之間的協(xié)商,解決Flooding算法和Gossi-ping算法的內(nèi)爆和重疊問題。SPIN算法有3種類型的消息,即ADC、REQ和DATA。ADC用于數(shù)據(jù)的廣播,當(dāng)某一個(gè)節(jié)點(diǎn)有數(shù)據(jù)可以共享時(shí),可以用其進(jìn)行數(shù)據(jù)信息廣播。REQ用于請(qǐng)求發(fā)送數(shù)據(jù),當(dāng)某一個(gè)節(jié)點(diǎn)希望接收DATA數(shù)據(jù)包時(shí),發(fā)送REQ數(shù)據(jù)包。DATA為傳感器采集的數(shù)據(jù)包。在發(fā)送一個(gè)DATA數(shù)據(jù)包之前,一個(gè)傳感器節(jié)點(diǎn)首先對(duì)外廣播ADV數(shù)據(jù)包。如果某一個(gè)節(jié)點(diǎn)希望接收要傳來的數(shù)據(jù)信息,則向發(fā)送ADV數(shù)據(jù)包的節(jié)點(diǎn)回復(fù)REQ數(shù)據(jù)包,因此,便建立起發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)的聯(lián)系,發(fā)送節(jié)點(diǎn)便向接收節(jié)點(diǎn)發(fā)送DATA數(shù)據(jù)包。SPIN協(xié)議的工作流程如圖1所示。
1.4 定向擴(kuò)散算法
定向擴(kuò)散(Direeted Diffusion)算法是一種基于查詢的路由機(jī)制。整個(gè)過程可以分為興趣擴(kuò)散、梯度建立以及路徑加強(qiáng)3個(gè)階段。在興趣擴(kuò)散階段,匯聚節(jié)點(diǎn)向傳感器節(jié)點(diǎn)發(fā)送其想要獲取的信息種類或內(nèi)容。興趣消息中含有任務(wù)類型、目標(biāo)區(qū)域、數(shù)據(jù)發(fā)送速率、時(shí)間戳等參數(shù)。每個(gè)傳感器節(jié)點(diǎn)在收到該信息后,將其保存在Cache 中。當(dāng)整個(gè)信息要求傳遍整個(gè)傳感器網(wǎng)絡(luò)后,便在傳感器節(jié)點(diǎn)和匯聚節(jié)點(diǎn)之間建立起一個(gè)梯度場(chǎng),梯度場(chǎng)的建立是根據(jù)成本最小化和能量自適應(yīng)原則。一旦傳感器節(jié)點(diǎn)收集到匯聚節(jié)點(diǎn)感興趣的數(shù)據(jù),就會(huì)根據(jù)建立的梯度場(chǎng)尋求最快路徑進(jìn)行數(shù)據(jù)傳遞。梯度場(chǎng)建立的過程如圖2所示。
評(píng)論