張校磊,陳俊麗
(山西華澳商貿(mào)職業(yè)學(xué)院計(jì)算機(jī)科學(xué)系,山西 太原 030000)
?
一種適用于煤礦安監(jiān)網(wǎng)絡(luò)的路由協(xié)議研究
張校磊,陳俊麗
(山西華澳商貿(mào)職業(yè)學(xué)院計(jì)算機(jī)科學(xué)系,山西 太原 030000)
根據(jù)煤礦井下環(huán)境特點(diǎn)和對(duì)井下安全監(jiān)測(cè)網(wǎng)絡(luò)的需求,在CACRA協(xié)議的基礎(chǔ)上進(jìn)行了改進(jìn)并提出了CACRA-G協(xié)議.該協(xié)議基于動(dòng)態(tài)信息素?fù)]發(fā)速度,將上下文預(yù)測(cè)信息結(jié)合到蟻群算法中.經(jīng)仿真測(cè)試,其在降低網(wǎng)絡(luò)節(jié)點(diǎn)能耗、負(fù)載均衡以及增加信息接收量等方面具有優(yōu)勢(shì).適用于煤礦的井下安全監(jiān)測(cè)網(wǎng)絡(luò).
礦井安全監(jiān)測(cè);無線傳感網(wǎng)絡(luò);蟻群算法
煤礦開采環(huán)境特殊,礦井中地質(zhì)結(jié)構(gòu)錯(cuò)綜復(fù)雜,時(shí)常面臨著各種危險(xiǎn).因此,要實(shí)現(xiàn)安全生產(chǎn),首先就要做好礦井中的安全監(jiān)測(cè).無線傳感網(wǎng)絡(luò)(Wireless Sensor Network, WSN)部署靈活且具有較強(qiáng)的移動(dòng)性,還具有自組織、擴(kuò)展簡(jiǎn)便等優(yōu)點(diǎn)[1].其被廣泛應(yīng)用在井下的安全監(jiān)測(cè)系統(tǒng)中.但礦井下環(huán)境復(fù)雜且惡劣,無線傳感節(jié)點(diǎn)的能量等也都受到限制,這些都會(huì)影響網(wǎng)絡(luò)的可用性和可靠性[2],網(wǎng)絡(luò)的路由協(xié)議應(yīng)在節(jié)點(diǎn)能耗、負(fù)載均衡及運(yùn)算復(fù)雜度等方面具有更好的表現(xiàn).
本文針對(duì)礦井環(huán)境對(duì)路由協(xié)議的需求選擇了文獻(xiàn)[3]所提出的CARAR協(xié)議進(jìn)行了研究.并對(duì)其存在的問題做出了改進(jìn),提出了CARAR-G算法.經(jīng)過仿真測(cè)試,CARAR-G算法在節(jié)點(diǎn)平均能耗及信息量方面均優(yōu)于CARAR算法和經(jīng)典的LEACH算法.
礦井安全監(jiān)測(cè)傳感網(wǎng)絡(luò)主要功能是環(huán)境數(shù)據(jù)監(jiān)測(cè)、設(shè)備狀態(tài)監(jiān)測(cè)及工作人員定位等.網(wǎng)絡(luò)節(jié)點(diǎn)將這些感知數(shù)據(jù)進(jìn)行處理并傳輸[4].而在采礦工作面、主巷道等區(qū)域人員活動(dòng)密集,除了固定的環(huán)境數(shù)據(jù)監(jiān)測(cè)節(jié)點(diǎn)外,還有人員定位節(jié)點(diǎn)及設(shè)備檢測(cè)節(jié)點(diǎn)等移動(dòng)節(jié)點(diǎn),而且移動(dòng)頻率較高,網(wǎng)絡(luò)拓?fù)鋸?fù)雜且時(shí)常發(fā)生改變. 這會(huì)使部分網(wǎng)絡(luò)節(jié)點(diǎn)的能耗增加,將對(duì)網(wǎng)絡(luò)的可用性及可靠性帶來重大影響[5].因此,需要路由協(xié)議對(duì)數(shù)據(jù)傳輸進(jìn)行優(yōu)化,避免節(jié)點(diǎn)頻繁無效的使用,從而有效地降低節(jié)點(diǎn)的能耗并保證負(fù)載的均衡.
井下傳感網(wǎng)絡(luò)也呈帶狀分布,且L>>W(L為長(zhǎng)度,W為寬度).網(wǎng)絡(luò)中有N個(gè)固定節(jié)點(diǎn)和M個(gè)無規(guī)則移動(dòng)的移動(dòng)節(jié).如圖1所示,固定節(jié)點(diǎn)呈等距鏈?zhǔn)椒植?,有固定線纜為其供電,無需考慮能量供應(yīng)問題,其主要與各類型傳感器連接進(jìn)行環(huán)境信息的采集和數(shù)據(jù)的傳輸.固定節(jié)點(diǎn)在網(wǎng)絡(luò)中處于相同的地位,擁有相同結(jié)構(gòu),因此具有相同的計(jì)算能力及通信能力.M個(gè)移動(dòng)節(jié)點(diǎn)主要由井下人員、運(yùn)輸工具和井下設(shè)備攜帶,由電池供電,需考慮能量問題.其主要用于環(huán)境檢測(cè)、身份標(biāo)識(shí)和定位,運(yùn)動(dòng)線路無規(guī)律,在網(wǎng)絡(luò)地位、計(jì)算能力、通信能力及初始化能量設(shè)定等方面相同,并且對(duì)自己的位置信息可作定期更新.
圖1 節(jié)點(diǎn)分布示意圖
3.1CACRA協(xié)議描述
基于以上分析,我們選擇了文獻(xiàn)[3]提出的CACRA協(xié)議進(jìn)行了研究.CACRA協(xié)議是在蟻群算法的基礎(chǔ)上融入了上下文感知技術(shù),主要應(yīng)用于分層結(jié)構(gòu)的網(wǎng)絡(luò)中[6].所謂蟻群算法,就是數(shù)據(jù)在傳輸?shù)阶罱K節(jié)點(diǎn)的路徑節(jié)點(diǎn)上留下信息素信息.信息素信息會(huì)隨著數(shù)據(jù)經(jīng)過量的增加而增強(qiáng).最后,信息素信息最強(qiáng)的路徑便為最優(yōu)路徑[7].
CACRA協(xié)議主要關(guān)注鏈路的傳輸距離、跳數(shù)以及節(jié)點(diǎn)的訪問頻率等變化信息,將這些信息作為上下文信息,并結(jié)合信息素信息來選擇最優(yōu)路徑.另外,在路由后向反饋的過程中,源節(jié)點(diǎn)內(nèi)還必須記錄前向鏈路節(jié)點(diǎn)所剩余的最小能量,并以此為依據(jù)來更新鏈路中的信息素信息.這樣保證路徑最優(yōu),同時(shí)使得鏈路中節(jié)點(diǎn)的負(fù)載達(dá)到均衡.
3.2CACRA算法描述
為了降低節(jié)點(diǎn)的能量消耗,CACRA協(xié)議將傳輸距離、節(jié)點(diǎn)訪問頻率、節(jié)點(diǎn)剩余能量和信息素等信息的計(jì)算都放在了節(jié)點(diǎn)上,從而降低了通信量,達(dá)到減少節(jié)點(diǎn)能量消耗的目的.
(1)節(jié)點(diǎn)距離的計(jì)算機(jī)
m、n是兩個(gè)相鄰節(jié)點(diǎn),在路由表中存放著他們的物理坐標(biāo)(xm,ym)和(xn,yn),可以方便地利用歐拉公式來計(jì)算其距離[2,3],計(jì)算如下:
(1)
(2)節(jié)點(diǎn)訪問頻率
fn表示節(jié)點(diǎn)n的訪問頻率,Cn表示n節(jié)點(diǎn)的累計(jì)訪問次數(shù),M表示n節(jié)點(diǎn)的相鄰節(jié)點(diǎn)總量,計(jì)算公式如下:
(2)
(3)節(jié)點(diǎn)的能量剩余率及節(jié)點(diǎn)通信能力判斷
節(jié)點(diǎn)n的能量剩余率用en表示,En為節(jié)點(diǎn)n的初始能量,為其當(dāng)前的剩余能量.en計(jì)算如下:
(3)
en動(dòng)態(tài)儲(chǔ)存在節(jié)點(diǎn)n的數(shù)據(jù)表中,節(jié)點(diǎn)n會(huì)定時(shí)以廣播的形式將自身的能量剩余率en發(fā)送至相鄰節(jié)點(diǎn).相鄰節(jié)點(diǎn)m與其通信前會(huì)首先將其能量剩余率en與預(yù)先設(shè)定的門限值eth進(jìn)行比較判斷:en大于eth時(shí)則與其通信,反之則將自身數(shù)據(jù)表中的啟發(fā)值設(shè)置為0,不再與之通信.公式表示如下:
(4)
(4)信息素信息
信息素信息的綜合表示如下:
(5)
在CACRA算法中,信息素的濃度是節(jié)點(diǎn)選擇下一跳的重要依據(jù).式(5)表示節(jié)點(diǎn)m、n之間進(jìn)行第s+1次通信時(shí)的信息素濃度.通過式(5)不難看出,CACRA算法中的信息素的揮發(fā)速度是固定不變的.而在很多情況下,采用這種固定不變的信息素?fù)]發(fā)速度并不合適.n節(jié)點(diǎn)一般會(huì)有多個(gè)相鄰節(jié)點(diǎn),也就是說節(jié)點(diǎn)m發(fā)送給節(jié)點(diǎn)n的數(shù)據(jù)可以經(jīng)由多條路徑到達(dá)目的節(jié)點(diǎn).這些路徑的能耗情況也是不同的.這時(shí)如果采用相同的揮發(fā)速度,并不能夠選擇到最優(yōu)下一跳.
通過上述分析可知,不同的節(jié)點(diǎn)所需求的信息素?fù)]發(fā)速度也是不同的.為達(dá)到更好的負(fù)載均衡、選擇到最優(yōu)的下一跳節(jié)點(diǎn),采用動(dòng)態(tài)的信息素?fù)]發(fā)速度是更好的選擇.因此,我們?cè)贑ACRA協(xié)議的基礎(chǔ)上提出了基于動(dòng)態(tài)信息素?fù)]發(fā)速度的CACRA-G協(xié)議.
4.1算法的改進(jìn)
為了達(dá)到更好的負(fù)載均衡效果,我們考慮將剩余能量大小作為信息素?fù)]發(fā)速度的依據(jù)[8].當(dāng)源節(jié)點(diǎn)m0向目標(biāo)節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),采用多跳的方式,共經(jīng)過h跳到達(dá).我們用i表示跳數(shù)編號(hào),則其每跳所選擇的節(jié)點(diǎn)為mi,i∈(1,h),因此,能量剩余率表示如下:
(6)
信息素的濃度和揮發(fā)速度密切相關(guān).因此,信息素的揮發(fā)速度同能量剩余率應(yīng)成一定的比例關(guān)系.當(dāng)信節(jié)點(diǎn)當(dāng)前剩余能量越高,其信息素的揮發(fā)速度也應(yīng)更慢,反之揮發(fā)更快[9].在CACRA-G協(xié)議中,信息素的揮發(fā)速度用表示,定義如下:
(7)
節(jié)點(diǎn)上信息素的揮發(fā)速度與之前路徑上的全部節(jié)點(diǎn)的上下文信息相關(guān).這樣可以用信息素的揮發(fā)速度對(duì)信息的傳輸路徑作出調(diào)整,可以實(shí)現(xiàn)更為良好的負(fù)載均衡效果.
綜上可知,在CACRA-G協(xié)議中,當(dāng)節(jié)點(diǎn)m需要轉(zhuǎn)發(fā)數(shù)據(jù)時(shí),首先通過查詢路由表來找出所有可以下一跳的相鄰節(jié)點(diǎn),形成鄰節(jié)點(diǎn)集合.再通過計(jì)算得出集合中所有節(jié)點(diǎn)的信息素和能量剩余率的加權(quán)概率.經(jīng)過篩選,找到概率最大的節(jié)點(diǎn)并將其作為下一跳節(jié)點(diǎn)轉(zhuǎn)發(fā)信息.然后進(jìn)行后向反饋,更新信息素的揮發(fā)速度,此過程通過式(7)完成.CACRA-G協(xié)議可以實(shí)現(xiàn)更好的負(fù)載均衡效果,有利于網(wǎng)絡(luò)穩(wěn)定性的提升和網(wǎng)絡(luò)壽命的延長(zhǎng).
4.2CACRA-G協(xié)議的路由過程設(shè)計(jì)
CACRA-G協(xié)議的路由過程主要有兩個(gè)階段:第一階段為網(wǎng)絡(luò)路由的構(gòu)建階段,這個(gè)階段中主要建立起網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),網(wǎng)絡(luò)節(jié)點(diǎn)中構(gòu)建起路由表、鏈路信息表和上下文信息表;第二階段為網(wǎng)絡(luò)路由的維護(hù)階段,這個(gè)階段主要是在網(wǎng)絡(luò)運(yùn)行的過程中對(duì)網(wǎng)絡(luò)路由信息的維護(hù).
4.2.1網(wǎng)絡(luò)路由構(gòu)建階段
這個(gè)階段的主要目的是要建立起網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),首先由skin節(jié)點(diǎn)通過廣播的形式發(fā)出組網(wǎng)指令,然后由網(wǎng)絡(luò)中的節(jié)點(diǎn)反饋信息.根據(jù)反饋的信息,便可構(gòu)建出下面的三張表.網(wǎng)絡(luò)中的路由節(jié)點(diǎn)負(fù)責(zé)維護(hù)路由信息表,當(dāng)有需要轉(zhuǎn)發(fā)的信息的時(shí)候,來匹配其目的地址和源在址以及尋找下一跳的路徑.
表1 路由信息表
當(dāng)路由表建立好以后會(huì)接著建立鏈路信息表,并將相鄰節(jié)點(diǎn)的狀態(tài)信息存儲(chǔ)于其中.這些狀態(tài)經(jīng)過計(jì)算機(jī)得到這些節(jié)點(diǎn)被選為下一跳節(jié)點(diǎn)的概率,這是選擇鏈路的重要依據(jù).將選擇概率最高的節(jié)點(diǎn)作為一下跳節(jié)點(diǎn).
表2 鏈路信息表
另外,網(wǎng)絡(luò)節(jié)點(diǎn)的地址信息、物理坐標(biāo)信息及剩余能量等上下文信息被儲(chǔ)存在上下文信息表中.如表3所示:
表3 上下文信息表
綜上,網(wǎng)絡(luò)路由的建立過程為先由skin節(jié)點(diǎn)通過廣播的方式發(fā)出發(fā)出組網(wǎng)指令,其中包含QME(Quest Message)報(bào)文進(jìn)行組網(wǎng).相鄰節(jié)點(diǎn)接收到相應(yīng)報(bào)文后先發(fā)送反饋信息,再將自身信息進(jìn)行更新后進(jìn)行組播.Skin節(jié)點(diǎn)接收到鄰節(jié)點(diǎn)的反饋信息后更新自身信息再重復(fù)上述工作.直到所有節(jié)點(diǎn)的數(shù)據(jù)都不再發(fā)生改變時(shí)網(wǎng)絡(luò)路由的建立過程結(jié)束.
4.2.2網(wǎng)絡(luò)路由的維護(hù)階段
在網(wǎng)絡(luò)路由建立完成之后,網(wǎng)絡(luò)達(dá)到穩(wěn)定狀態(tài).傳感器采集的傳感信息便可以通過改進(jìn)后的CACRA-G算法選擇到最優(yōu)路徑并傳輸?shù)絽R聚節(jié)點(diǎn).在此過程中,同樣通過CACRA-G算法對(duì)上述三張表進(jìn)行更新和維護(hù).
因?yàn)榫W(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)會(huì)發(fā)生運(yùn)動(dòng),因此,匯聚節(jié)點(diǎn)需要定期發(fā)送QME報(bào)文進(jìn)行重新組網(wǎng)以適應(yīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化.在此過程中,還需要計(jì)算出網(wǎng)絡(luò)的負(fù)載的情況并據(jù)此來調(diào)整調(diào)節(jié)因子的大小,以降低網(wǎng)絡(luò)能耗,達(dá)到負(fù)載均衡的目的.
CACRA-G是在原有CACRA的基礎(chǔ)上改進(jìn)而來,主要適用于煤礦井下的安全監(jiān)測(cè)網(wǎng)絡(luò).由于礦井下的環(huán)境復(fù)雜,我們?cè)诜抡姝h(huán)境下對(duì)算法的可用性進(jìn)行了測(cè)試,利用MATLAB搭建了仿真平臺(tái),并模擬礦井巷道的細(xì)長(zhǎng)帶狀環(huán)境,選擇了30m×3m×3m的帶狀測(cè)試區(qū)域.另外,我們對(duì)照經(jīng)典的LEACH協(xié)議算法,在能耗及數(shù)據(jù)量等方面進(jìn)行了對(duì)比.仿真測(cè)試環(huán)境參數(shù)如表4所示:
我們進(jìn)行了300仿真測(cè)試,并采集了數(shù)據(jù).每次耗時(shí)0.5s.節(jié)點(diǎn)的平均能耗方面,在測(cè)試開始的一段時(shí)間內(nèi)CACRA-G協(xié)議略優(yōu)于經(jīng)典的LEACH協(xié)議,但相差不大.而在仿真測(cè)試的中后段,CACRA-G協(xié)議的優(yōu)勢(shì)明顯,大幅領(lǐng)先了LEACH協(xié)議.如圖2所示,橫坐標(biāo)為仿真測(cè)試次數(shù),縱坐標(biāo)為節(jié)點(diǎn)所剩余的能量.
表4 仿真環(huán)境參數(shù)表
圖2平均節(jié)點(diǎn)能耗變化示意圖
造成這種現(xiàn)象的主要原因是CACRA-G協(xié)議在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的建立階段是通過迭代的方式進(jìn)行表的更新,節(jié)點(diǎn)間通信頻繁.在網(wǎng)絡(luò)穩(wěn)定后,CACRA-G協(xié)議低能耗的優(yōu)勢(shì)便顯現(xiàn)出來.
負(fù)載均衡方面,我們?cè)诜抡鏈y(cè)試的中段(第150次時(shí)),隨機(jī)抽選了20個(gè)節(jié)點(diǎn)并記錄了他們的剩余能量.如圖3所示.
通過上圖能看到,采用CACRA-G協(xié)議的節(jié)點(diǎn)的剩余能量相差不大,而采用LEACH協(xié)議的節(jié)點(diǎn)的剩余能量的差異更為明顯.由此可以看出CACRA-G協(xié)議在負(fù)載均衡方面要明顯好于經(jīng)典的LEACH協(xié)議.
圖3 隨機(jī)節(jié)點(diǎn)能量剩余示意圖
Skin節(jié)點(diǎn)采集的數(shù)據(jù)量,我們也作了詳細(xì)記錄.通過圖4可以看出,在仿真測(cè)試的全過程中skin節(jié)點(diǎn)接收的數(shù)據(jù)總量呈線性增長(zhǎng),在275次后基本不再增加.如下圖所示:
圖4 skin節(jié)點(diǎn)所接收的數(shù)據(jù)總量變化圖
造成這種現(xiàn)象的原因是網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)能量耗盡階段,停止工作,網(wǎng)絡(luò)接近死亡.但通過協(xié)議對(duì)比,可以看出CACRA-G協(xié)議的數(shù)據(jù)采集量要明顯高于經(jīng)典的LEACH協(xié)議.
本文對(duì)文獻(xiàn)[3]所提出的CACRA協(xié)議進(jìn)行了研究,并對(duì)原有協(xié)議算法進(jìn)行了改進(jìn),提出了基于動(dòng)態(tài)信息素?fù)]發(fā)速度的CACRA-G協(xié)議.改進(jìn)后的協(xié)議建立在蟻群算法的基礎(chǔ)上,并融入了上下文預(yù)測(cè)信息.較之原協(xié)議,在有效性和感知性上有了進(jìn)一步提升.通過仿真測(cè)試,本協(xié)議在節(jié)點(diǎn)能耗控制和負(fù)載均衡方面表現(xiàn)突出,有效延長(zhǎng)了網(wǎng)絡(luò)的運(yùn)行時(shí)間,適用于煤礦井下的安全檢測(cè)網(wǎng)絡(luò).
[1]Tang Y, Zhou M, Zhang X, et al. Overview of routing protocols in wireless sensor networks [J]. Journal of Software, 2006, (3): 410-421.
[2]唐海燕,余成波,張一萌. 基于WSN的礦井環(huán)境監(jiān)測(cè)系統(tǒng)[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2011, (5):105-109.
[3]Lu Y, Sere K. A formalism for context- aware mobile computing[A]. International Symposium on International Workshop on Parallel & Distributed Computing[C]. 2004.
[4]孫繼平.煤礦物聯(lián)網(wǎng)特點(diǎn)與關(guān)鍵技術(shù)研究[J].煤炭學(xué)報(bào),2011,(1):167-171.
[5]胡繼紅.煤礦安全監(jiān)控系統(tǒng)存在的問題與發(fā)展方向[J].中國(guó)煤炭,2010,(12);61-63.
[6]李良.一種基于上下文預(yù)測(cè)蟻群模型的物聯(lián)網(wǎng)感知層路由算法[J].小型微型計(jì)算機(jī)系統(tǒng),2013,(2):281-286.
[7]童孟軍,俞立,鄭立靜.基于蟻群算法的無線傳感器網(wǎng)絡(luò)能量有效路由算法研究[J].傳感技術(shù)學(xué)報(bào), 2011, ( 11) : 1632-1638.
[8]Wang J, Osagie E, Thulasiraman P. HOPNET: A hybrid ant colony optimization routing algorithm for mobile Ad Hoc network [J]. Ad Hoc Networks,2009,(4):690-705.
[9]Ducatelle F, Di Caro G A, Gambardella L M. An analysis of the different components of the AntHocNet routing algorithm[A]. ANTS’06 Proceedings of the 5th International Conference on Ant Colony Optimization and Swarm Intelligence[C]. 2006.
(責(zé)任編校:晴川)
A Study on Routing Protocol for Safety Monitoring Network in Coal Mine
ZHANG Xiaolei, CHEN Junli
(Department of Computer Science, China Australia Business College of Shanxi, Taiyuan Shanxi 030000, China)
According to the characteristics of coal mine environment and the requirement of safety monitoring network, the CACRA protocol is improved and the CACRA-G protocol is proposed. The agreement is based on the dynamic pheromone evaporation rate. Simulation experiments show that CACRA-G could reduce energy consumption of nodes and increase the number of received messages. It could be applied as a safety monitoring network for coal mine.
wireless safety monitoring; wirelss sensor networks; ant colony algorithm.
2016-09-07
張校磊(1983— ),男,山西太原人,山西華澳商貿(mào)職業(yè)學(xué)院計(jì)算機(jī)科學(xué)系講師,碩士.研究方向:傳感器網(wǎng)絡(luò)、物聯(lián)網(wǎng).
TP393
A
1008-4681(2016)05-0066-04