梁捷 蔣雯倩
摘 要:該文針對(duì)低壓抄表系統(tǒng)中微功率無(wú)線通信的傳統(tǒng)洪泛路由算法組網(wǎng)的抗壓性較低的問(wèn)題,提出了一種基于動(dòng)態(tài)路由表的改進(jìn)洪泛路由算法,通過(guò)在組網(wǎng)時(shí)在各節(jié)點(diǎn)建立可偵聽(tīng)頻段范圍內(nèi)其他電表節(jié)點(diǎn)的臨時(shí)路由表,進(jìn)行路徑優(yōu)化選擇。在鏈路失效時(shí),已搜索到的節(jié)點(diǎn)能利用路由表快速選擇最優(yōu)路徑組網(wǎng)重構(gòu)。仿真試驗(yàn)驗(yàn)證了該文提出的算法比傳統(tǒng)洪泛方法在抗壓性方面有優(yōu)勢(shì)。
關(guān)鍵詞:組網(wǎng);微功率無(wú)線;動(dòng)態(tài)路由表
中圖分類(lèi)號(hào):TN915? ? ? 文獻(xiàn)標(biāo)志碼:A
隨著廣西電網(wǎng)對(duì)計(jì)量自動(dòng)化數(shù)據(jù)采集質(zhì)量要求的不斷提高,對(duì)低壓臺(tái)區(qū)用電數(shù)據(jù)采集方案的可靠性需求也在不斷增長(zhǎng)。近年來(lái),微功率無(wú)線通信技術(shù)憑借低功率的無(wú)線射頻網(wǎng)絡(luò)媒介具有的功耗較小、建設(shè)成本較低等特點(diǎn)得到廣泛應(yīng)用。但同時(shí)也存在著無(wú)線信道易受臨頻干擾、缺乏對(duì)配電網(wǎng)中各臺(tái)區(qū)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)變化的靈活調(diào)整方案等問(wèn)題。
為提高微功率無(wú)線技術(shù)的通信可靠性,除了研究物理層面的抗干擾設(shè)計(jì)和調(diào)制解調(diào)方案外,還需優(yōu)化當(dāng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí)的網(wǎng)絡(luò)層中繼路由方案??紤]到電力線信道的時(shí)變特征,網(wǎng)絡(luò)在運(yùn)行時(shí),會(huì)出現(xiàn)部分鏈路失效的情況,此時(shí)需進(jìn)行局部路由快速重構(gòu)以恢復(fù)通信。近年來(lái)常見(jiàn)的微功率組網(wǎng)重構(gòu)算法各有優(yōu)缺點(diǎn),難以兼顧組網(wǎng)的效率和擁堵度。
對(duì)此,該文提出了一種基于路由表的改進(jìn)路由重構(gòu)算法,通過(guò)路由表保證擁堵度的均衡,實(shí)現(xiàn)鏈路失效時(shí)游離節(jié)點(diǎn)的快速搜索。
1 微功率無(wú)線通信組網(wǎng)流程
由于單個(gè)節(jié)點(diǎn)對(duì)周?chē)W(wǎng)絡(luò)范圍內(nèi)的搜索能力有限,為提高網(wǎng)絡(luò)的通信覆蓋率,微功率無(wú)線網(wǎng)絡(luò)的結(jié)構(gòu)通常采用分簇的方式。定義表計(jì)為具備微功率通信模塊的計(jì)量用電能表或采集器,則表計(jì)節(jié)點(diǎn)在微功率無(wú)線通信網(wǎng)絡(luò)中代表電能表或采集器通信設(shè)備。以集中器為數(shù)據(jù)收集中心(主節(jié)點(diǎn)),一定數(shù)量的表計(jì)節(jié)點(diǎn)構(gòu)成一個(gè)簇,其中由能量充足的電表或采集器節(jié)點(diǎn)充當(dāng)簇頭。傳統(tǒng)洪泛算法組網(wǎng)時(shí),首先由集中器上的微功率主節(jié)點(diǎn)通信模塊決定本地子網(wǎng)的工作頻段,而電表節(jié)點(diǎn)(從節(jié)點(diǎn))模塊的初始頻率為該頻段中的隨機(jī)態(tài)。由集中器控制簇頭節(jié)點(diǎn)逐級(jí)向其他電表節(jié)點(diǎn)分組發(fā)送廣播組網(wǎng)命令,經(jīng)過(guò)分簇后的網(wǎng)絡(luò),由原先的大的整體變成了多個(gè)小的局部,能夠減少無(wú)用數(shù)據(jù)的傳輸。
由于表計(jì)節(jié)點(diǎn)離簇頭的距離遠(yuǎn)近不一,傳統(tǒng)洪泛算法在組網(wǎng)時(shí)可以使節(jié)點(diǎn)都直接與簇頭通信,但是離簇頭遠(yuǎn)的節(jié)點(diǎn)能量消耗大于離簇頭近的節(jié)點(diǎn),這樣會(huì)使各節(jié)點(diǎn)的通信能耗不均勻,導(dǎo)致網(wǎng)絡(luò)的擁塞情況,從而使數(shù)據(jù)傳輸速度延遲。為了均衡每個(gè)簇內(nèi)節(jié)點(diǎn)的通信能耗,該文采用多跳模式把數(shù)據(jù)傳輸給簇頭。釆用多跳通信時(shí),簇內(nèi)節(jié)點(diǎn)需要構(gòu)建一個(gè)分層式路由簇樹(shù),為了降低路由簇樹(shù)構(gòu)建能耗,可每間隔一定的輪次進(jìn)行路由樹(shù)的重建,從而最大限度地延長(zhǎng)網(wǎng)絡(luò)的生命周期。
首先定義路由表存在于無(wú)線網(wǎng)絡(luò)節(jié)點(diǎn)的自身信息,其內(nèi)容包括電表/采集器的節(jié)點(diǎn)編號(hào)和MAC地址、節(jié)點(diǎn)i的擁塞度Ci和信號(hào)強(qiáng)度Qi、簇頭節(jié)點(diǎn)鏈表、各節(jié)點(diǎn)的數(shù)據(jù)隊(duì)列和相對(duì)于集中器節(jié)點(diǎn)的跳數(shù)值。路由表可隨網(wǎng)絡(luò)拓?fù)渥兓瘎?dòng)態(tài)更新。Ci定義為:
(1)
其中,i為節(jié)點(diǎn)編號(hào),n和L分別為節(jié)點(diǎn)的緩存隊(duì)列中數(shù)據(jù)分組的個(gè)數(shù)和長(zhǎng)度,Buf代表節(jié)點(diǎn)緩存隊(duì)列的大小。Ci值越小表明節(jié)點(diǎn)數(shù)據(jù)隊(duì)列緩存越小,擁堵度越低。當(dāng)節(jié)點(diǎn)主動(dòng)或者被動(dòng)的向上傳輸數(shù)據(jù)時(shí),當(dāng)前節(jié)點(diǎn)會(huì)去查詢它上一跳范圍內(nèi)的父節(jié)點(diǎn)的擁塞和緩存隊(duì)列情況,在保證下一跳節(jié)點(diǎn)的緩存隊(duì)列未滿的前提下,選出盡可能小的Ci值節(jié)點(diǎn)作為轉(zhuǎn)發(fā)節(jié)點(diǎn),使節(jié)點(diǎn)組網(wǎng)時(shí)的中繼方向可以沿著最優(yōu)的路徑向集中器傳送。
設(shè)游離節(jié)點(diǎn)從節(jié)點(diǎn)i通過(guò)路段eq到達(dá)節(jié)點(diǎn)j的通信路徑有效距離為dij,則
(2)
式中:xij為路徑?jīng)Q策變量,若游離節(jié)點(diǎn)由通信節(jié)點(diǎn)i跳至j時(shí),則xij=1,否則為0;Sa為當(dāng)前跳數(shù)的無(wú)線搜索范圍內(nèi)的節(jié)點(diǎn)i和j之間的網(wǎng)絡(luò)路段集合。
2 路由重構(gòu)算法組網(wǎng)過(guò)程
網(wǎng)絡(luò)內(nèi)某一節(jié)點(diǎn)向上多跳組網(wǎng)的過(guò)程如下。
(1)在首次組網(wǎng)過(guò)程中,從節(jié)點(diǎn)在接收到主節(jié)點(diǎn)的廣播重構(gòu)組網(wǎng)命令后,初始化路由表并申請(qǐng)組網(wǎng),該電表周?chē)渌蓚陕?tīng)頻段范圍內(nèi)的節(jié)點(diǎn)將該電表的MAC地址記錄到各自的路由表中。
(2)鏈路失效需要進(jìn)行重構(gòu)時(shí),從節(jié)點(diǎn)在上電或復(fù)位且偵聽(tīng)到無(wú)線鏈路載波報(bào)文后,部分一跳范圍內(nèi)能掃描到的從節(jié)點(diǎn)處于未掃描到同頻無(wú)線載波信號(hào),且未分配到網(wǎng)絡(luò)地址的游離狀態(tài)時(shí),此時(shí)它們將主動(dòng)發(fā)送加入網(wǎng)絡(luò)的命令并由主節(jié)點(diǎn)確認(rèn),并從中設(shè)置簇頭節(jié)點(diǎn),該電表節(jié)點(diǎn)周?chē)蓚陕?tīng)頻段范圍內(nèi)的電表節(jié)點(diǎn)更新路由表,并等待其他電表加入網(wǎng)絡(luò)。
(3)在某簇頭節(jié)點(diǎn)能掃描到的從節(jié)點(diǎn)范圍即路由的二跳范圍內(nèi),首先在電表節(jié)點(diǎn)接入方式上采用了時(shí)分多址(TDMA)方式接入。網(wǎng)絡(luò)中所有電表節(jié)點(diǎn)均工作于無(wú)線載波偵聽(tīng)模式下且保持時(shí)隙的同步,采用分級(jí)的準(zhǔn)同步方式,即每個(gè)電表節(jié)點(diǎn)只與能夠直連的簇頭節(jié)點(diǎn)(已分配網(wǎng)絡(luò)地址的一級(jí)子網(wǎng)節(jié)點(diǎn)) 保持嚴(yán)格的時(shí)隙同步。然后在任意二跳網(wǎng)絡(luò)中的游離從節(jié)點(diǎn)入網(wǎng)后,從節(jié)點(diǎn)將其添加到臨時(shí)路由表中,待累積到一定的數(shù)量或等待時(shí)間超時(shí)后,批量?jī)?yōu)化處理,可減少共享信道的占用次數(shù),有利于解決傳統(tǒng)洪泛算法通信擁堵的問(wèn)題。確定路由方案時(shí),首先根據(jù)路由表將電表節(jié)點(diǎn)以擁塞指數(shù)遞增的順序?qū)Υ仡^節(jié)點(diǎn)進(jìn)行排序,然后根據(jù)評(píng)價(jià)因子Si選擇擁有最小擁塞指數(shù)、最短通信路徑和信號(hào)最強(qiáng)的簇頭節(jié)點(diǎn)作為下一跳路由,向其發(fā)起廣播組網(wǎng)呼叫,并等待該簇頭節(jié)點(diǎn)的確認(rèn)應(yīng)答。Si如下式:
Si=w1+Ci+w2dij-w3Qi? ? ? ? ? ? ? ? ? ? ?(3)
其中,w1、w2、w3分別為平衡擁塞度、通信路徑距離和當(dāng)前信號(hào)強(qiáng)度的權(quán)重,dij表示取i,j之間距離最小的路徑。以Si較小的路徑為優(yōu),可確保在游離節(jié)點(diǎn)選擇轉(zhuǎn)發(fā)數(shù)據(jù)的下一跳簇頭節(jié)點(diǎn)時(shí),既要保證下一跳節(jié)點(diǎn)的信號(hào)強(qiáng)度盡可能強(qiáng),又要有盡可能小的擁堵度和較短的通信路徑。
(4)收到該簇頭節(jié)點(diǎn)的確認(rèn)應(yīng)答后,該游離節(jié)點(diǎn)加入網(wǎng)絡(luò)并更新路由表。如果在等待時(shí)限內(nèi),沒(méi)有收到來(lái)自對(duì)方的確認(rèn)消息,那么認(rèn)為這次傳輸是不成功的。此時(shí)則按照通信路徑最短、信號(hào)最強(qiáng)、擁塞指數(shù)最低的原則選擇其他的簇頭節(jié)點(diǎn)進(jìn)行傳輸,直到接收回復(fù)的確認(rèn)消息,才能宣告此次數(shù)據(jù)傳輸成功。
(5)二跳至多跳范圍的組網(wǎng)過(guò)程類(lèi)似一跳節(jié)點(diǎn)的組網(wǎng)過(guò)程。重復(fù)上述過(guò)程直到傳輸?shù)竭h(yuǎn)端的主節(jié)點(diǎn)完成網(wǎng)絡(luò)重構(gòu)。
3 仿真與結(jié)果分析
為了驗(yàn)證該路由算法的可行性,該文利用MATLAB軟件將該文算法與傳統(tǒng)洪泛路由算法的數(shù)據(jù)吞吐量進(jìn)行比較。
測(cè)試網(wǎng)絡(luò)的信道鏈路容量為1 900 bps,每個(gè)數(shù)據(jù)包的大小為1.8 bit。假設(shè)在1 500 s時(shí)刻,節(jié)點(diǎn)8與節(jié)點(diǎn)13之間的鏈路13-8通信失效,分析節(jié)點(diǎn)8的通信鏈路數(shù)據(jù)吞吐量關(guān)系。壓力測(cè)試是通過(guò)壓力發(fā)生器對(duì)測(cè)試系統(tǒng)發(fā)起大量的并發(fā)網(wǎng)絡(luò)請(qǐng)求。
測(cè)試結(jié)果如圖1所示,圖1(b)中顯示的傳統(tǒng)洪泛算法得到的網(wǎng)絡(luò)結(jié)構(gòu)在試驗(yàn)開(kāi)始后約20 min時(shí)施加的壓力數(shù)據(jù)流,可見(jiàn),在通信網(wǎng)絡(luò)接收到壓力數(shù)據(jù)后吞吐量的幅度明顯下降,可見(jiàn)該方法重構(gòu)所組成的網(wǎng)絡(luò)結(jié)構(gòu)穩(wěn)定性較差。如圖1(a)所示,該文算法得到的網(wǎng)絡(luò)在重構(gòu)后能在網(wǎng)絡(luò)受壓、數(shù)據(jù)吞吐量短時(shí)下降后,迅速回升至接近原水平,抗壓能力較好。這是由于該組網(wǎng)方法有2個(gè)特點(diǎn):1)保留了分簇算法的分層特征,跳數(shù)分明,便于上層節(jié)點(diǎn)的管理與快速搜索。2)簇頭節(jié)點(diǎn)隊(duì)列負(fù)載均衡,擁塞較小,可避免某些簇頭節(jié)點(diǎn)頻繁使用,造成這些節(jié)點(diǎn)更易擁堵的問(wèn)題。
4 結(jié)語(yǔ)
針對(duì)低壓集抄系統(tǒng)微功率無(wú)線通信的傳統(tǒng)洪泛路由算法在進(jìn)行網(wǎng)絡(luò)重構(gòu)時(shí)網(wǎng)絡(luò)擁堵度較高,穩(wěn)定性的問(wèn)題。提出了一種基于路由表的改進(jìn)路由重構(gòu)算法,通過(guò)臨時(shí)路由表保存簇頭節(jié)點(diǎn)的擁堵度等組網(wǎng)信息,在網(wǎng)絡(luò)重構(gòu)過(guò)程中對(duì)組網(wǎng)路徑進(jìn)行優(yōu)化排序。仿真試驗(yàn)表明,該文算法由于在選擇通信路徑時(shí)考慮了簇頭節(jié)點(diǎn)的擁堵和信號(hào)強(qiáng)度等情況,比傳統(tǒng)方法的網(wǎng)絡(luò)穩(wěn)定性好,其有效性也得到了驗(yàn)證。
參考文獻(xiàn)
[1]梁捷.基于MQTT協(xié)議族的AMI通信支撐平臺(tái)設(shè)計(jì)[J].計(jì)算機(jī)時(shí)代,2018(4):29-32.
[2]肖勇,馮超,郭嘉,等.微功率無(wú)線抄表系統(tǒng)中數(shù)據(jù)采集容錯(cuò)路由算法[J].電力科學(xué)與技術(shù)學(xué)報(bào),2017(3):9-14.
[3]鞠晨,薛吉,湯曉棟.用于低壓電力線通信的同步關(guān)聯(lián)分簇路由算法[J].電器與能效管理技術(shù),2016(13):23-27.