楊明 劉倩
摘要:無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks簡(jiǎn)稱WSN)是一種分布式傳感網(wǎng)絡(luò),它由大量傳感器節(jié)點(diǎn)、匯聚節(jié)點(diǎn)和用戶管理節(jié)點(diǎn)組成,因?yàn)槲㈦姍C(jī)系統(tǒng)、片上系統(tǒng)、無線通信和低功耗嵌入式技術(shù)等相關(guān)技術(shù)的飛速發(fā)展,導(dǎo)致了WSN的不斷發(fā)展,并被廣泛應(yīng)用于各個(gè)領(lǐng)域。其中環(huán)境監(jiān)控離我們的日常生活最為接近。數(shù)據(jù)收集是無線傳感器網(wǎng)絡(luò)應(yīng)用的基本功能,它是將傳感器節(jié)點(diǎn)放置在監(jiān)測(cè)區(qū)域內(nèi),通過這些節(jié)點(diǎn)之間相互協(xié)助,對(duì)環(huán)境參數(shù)或監(jiān)測(cè)對(duì)象進(jìn)行感知進(jìn)行記錄,并將記錄傳送給用戶。在實(shí)際的應(yīng)用中,數(shù)據(jù)收集的過程就是傳感器節(jié)點(diǎn)收集數(shù)據(jù),并傳送到sink節(jié)點(diǎn)。常見的數(shù)據(jù)收集分為相關(guān)數(shù)據(jù)收集和精確數(shù)據(jù)收集。本文主要對(duì)精確數(shù)據(jù)收集進(jìn)行分析。
關(guān)鍵詞:無線傳感器網(wǎng)絡(luò);數(shù)據(jù)收集算法;能量全局化
在多條無線傳感器在網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)收集的時(shí)候,靠近匯聚點(diǎn)的傳感器節(jié)點(diǎn)因?yàn)槠湫枰D(zhuǎn)發(fā)來自其他節(jié)點(diǎn)的數(shù)據(jù),導(dǎo)致了該傳感器節(jié)點(diǎn)能力消耗過快,由于過度使用,加大了該傳感器節(jié)點(diǎn)的損耗,縮短了使用期限,影響數(shù)據(jù)的傳遞。在這一情況下,本文基于精確數(shù)據(jù)收集的基礎(chǔ)上提出了更為全面的全局優(yōu)化算法EGODGA暨能量(energy)全局(global)優(yōu)化(optimization)數(shù)據(jù)(data)收集(gathering)算法(algorithm)。
1 EGODGA算法簡(jiǎn)介
EGODGA算法是一種能夠?qū)?shù)據(jù)高效收集的模式,能有效地收集傳感器節(jié)點(diǎn)的數(shù)據(jù),它與最短路徑算法Djikstra不同,EGODGA算法同時(shí)考慮鏈路代價(jià)和節(jié)點(diǎn)代價(jià),找出從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的最快速且消耗低的路徑,實(shí)現(xiàn)網(wǎng)絡(luò)能力全局優(yōu)化。根據(jù)有關(guān)計(jì)算結(jié)果表明在相同條件下,Djikstra最短路徑算法與精確數(shù)據(jù)收集算法相比,EGODGA算法可以對(duì)通過優(yōu)化網(wǎng)絡(luò)拓?fù)渥訕涞墓?jié)點(diǎn)數(shù)目進(jìn)行有效計(jì)算,實(shí)現(xiàn)網(wǎng)絡(luò)的能力平衡。該算法適用于多跳靜態(tài)無線傳感器網(wǎng)絡(luò)的全局優(yōu)化。EGODGA算法綜合了其他算法的優(yōu)勢(shì),通過尋找源節(jié)點(diǎn)與sink節(jié)點(diǎn)間總代價(jià)最小的路徑,來建設(shè)sink附近節(jié)點(diǎn)的能量消耗,達(dá)到延長(zhǎng)網(wǎng)絡(luò)的使用期限[1] 。
2 與其他算法的對(duì)比
EGODGA算法與其他算法相比有什么優(yōu)勢(shì)呢,我們選取了常用的幾種無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集的算法,例如LET、CCM、LORA_SPT等。LET算法是主要優(yōu)點(diǎn)是保證網(wǎng)絡(luò)拓?fù)渲械拿總€(gè)節(jié)點(diǎn)到sink節(jié)點(diǎn)的耗能最小,但是這個(gè)優(yōu)點(diǎn)有時(shí)也是他的缺點(diǎn),因?yàn)槿绻撍惴款w子樹上的節(jié)點(diǎn)數(shù)目不一致,就會(huì)出現(xiàn)節(jié)點(diǎn)數(shù)目分布不均勻的情況,這種情況就會(huì)導(dǎo)致節(jié)點(diǎn)能量使用不均勻,如果局部節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)過多,就會(huì)造成局部節(jié)點(diǎn)的過早死亡;CCM算法是把整個(gè)網(wǎng)絡(luò)作為一個(gè)通信代價(jià)圖來處理,CCM算法自身的動(dòng)態(tài)規(guī)劃算法與Dijkstra算法相結(jié)合,用最小通信代價(jià)作為Dijkstra算法的權(quán)值,在此基礎(chǔ)上產(chǎn)生一個(gè)新網(wǎng)絡(luò)拓?fù)鋄2] 。該算法的優(yōu)點(diǎn)是優(yōu)化了局部耗能,缺點(diǎn)是無法對(duì)網(wǎng)絡(luò)進(jìn)行全局優(yōu)化;LORA_SPT算法是基于LET算法的一種算法,它有效的考慮了臨近節(jié)點(diǎn)的剩余能量,此外還考慮了其他因子[3] 。但是該算法在構(gòu)建權(quán)值函數(shù)的時(shí)候,對(duì)于求出各個(gè)因子的準(zhǔn)確值,還較為困難。而精確數(shù)據(jù)收集算法可以有效均衡網(wǎng)絡(luò)耗能,有效延長(zhǎng)網(wǎng)絡(luò)的使用期限,還可以在較短時(shí)間內(nèi)建立網(wǎng)絡(luò)拓?fù)?。該算法在?zhí)行過程中,傳感器節(jié)點(diǎn)不僅需要考慮鏈路代價(jià),還需要考慮節(jié)點(diǎn)代價(jià),算法以鏈路代價(jià)與節(jié)點(diǎn)代價(jià)之和作為最小代價(jià)路徑。在算法運(yùn)行的過程中,每隔傳感器都都會(huì)計(jì)算到達(dá)sink的最小代價(jià)路徑,當(dāng)所有結(jié)果算出之后,將數(shù)據(jù)進(jìn)行綜合、根據(jù)轉(zhuǎn)移節(jié)點(diǎn)的方式得到最終的網(wǎng)絡(luò)拓?fù)?。這種結(jié)構(gòu)能全面有效的對(duì)各項(xiàng)數(shù)據(jù)進(jìn)行平衡,提高工作的效率。
3 EGODGA算法的設(shè)計(jì)
網(wǎng)絡(luò)的使用期限與sink的臨近節(jié)點(diǎn)有關(guān)。EGODGA算法的設(shè)計(jì)思路是從葉子節(jié)點(diǎn)出發(fā),順著鏈路找到樹枝,根據(jù)從下往上倒推,逐級(jí)推到sink節(jié)點(diǎn),從而形成一顆能量全局優(yōu)化的類樹[4] 。在局部?jī)?yōu)化的時(shí)候,還需要考慮通行鏈路代價(jià)和上級(jí)節(jié)點(diǎn)的負(fù)載情況。
4EGODGA算法的實(shí)現(xiàn)
EGODGA算法的實(shí)現(xiàn)需要通過sink節(jié)點(diǎn)與傳感器節(jié)點(diǎn)不斷進(jìn)行數(shù)據(jù)發(fā)送,保證sink節(jié)點(diǎn)接收數(shù)據(jù)并不斷更新信息。在實(shí)現(xiàn)過程中Sink節(jié)點(diǎn)需要給所有節(jié)點(diǎn)發(fā)送數(shù)據(jù),并要求所有數(shù)據(jù)將自身節(jié)點(diǎn)位子、自身能量、節(jié)點(diǎn)ID等信息發(fā)送回sink節(jié)點(diǎn),sink節(jié)點(diǎn)收到各節(jié)點(diǎn)的信息后,對(duì)其進(jìn)行計(jì)算,將計(jì)算出來的初始節(jié)點(diǎn)代價(jià)及鏈路代價(jià)發(fā)給所有節(jié)點(diǎn),各節(jié)點(diǎn)收到數(shù)據(jù)后,及時(shí)開展計(jì)算工作,尋找最小代價(jià)路徑[5] 。在尋找最小路徑工作中,sink節(jié)點(diǎn)根據(jù)節(jié)點(diǎn)通報(bào)的信息不斷更新網(wǎng)絡(luò)中的節(jié)點(diǎn)代價(jià),直至最后建立完整的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),sink節(jié)點(diǎn)統(tǒng)治所有節(jié)點(diǎn)停止運(yùn)算,進(jìn)入數(shù)據(jù)收集階段,在該算法的過程中,節(jié)點(diǎn)發(fā)送的各項(xiàng)數(shù)據(jù)里,不僅需要有檢測(cè)到的任務(wù)數(shù)據(jù),還需要有傳感器節(jié)點(diǎn)自身的ID號(hào)、路由器、剩余能量信息等。這樣有利于sink的運(yùn)行。
5結(jié)束語
EGODGA算法可以構(gòu)造子樹節(jié)點(diǎn)數(shù)量相對(duì)平衡的網(wǎng)絡(luò)拓?fù)?,使?jié)點(diǎn)能量得到全局的優(yōu)化,從而延長(zhǎng)網(wǎng)絡(luò)使用期限。他與最短路徑算法Dijikstra和MAXLAT算法相比,EGODGA算法可以使網(wǎng)絡(luò)瓶頸節(jié)點(diǎn)的降到最低,達(dá)到延長(zhǎng)網(wǎng)絡(luò)的使用期限。但是在算法上來說,EGODGA算法較為復(fù)雜。
參考文獻(xiàn):
[1] 莫文杰,鄭霖.優(yōu)化網(wǎng)絡(luò)生命周期和最短化路徑的WSN移動(dòng)sink路徑規(guī)劃算法[J].計(jì)算機(jī)應(yīng)用,2017.37(8):2150-2156.
[2] 謝小軍,于浩,陶磊,等.基于動(dòng)態(tài)數(shù)據(jù)壓縮的能量采集無線傳感網(wǎng)絡(luò)數(shù)據(jù)收集優(yōu)化[J].計(jì)算機(jī)應(yīng)用,2018,v.38;No.336(08):219-224.
[3] 米志超,周建江,邵海林.一種啟發(fā)式能量?jī)?yōu)化的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集算法[J].武漢大學(xué)學(xué)報(bào)(理學(xué)版),2008,54(3):338-342.
[4] 陳零,王建新,張士庚,等.無線傳感器網(wǎng)絡(luò)中基于樹的能量高效分布式精確數(shù)據(jù)收集算法[J].電子學(xué)報(bào),2013,41(9):1738-1743.
[5] 劉麗萍,安新升,張強(qiáng),等.太陽能無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)傳輸功率優(yōu)化策略[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2015,47(9):36-41.