本發(fā)明屬于電子技術(shù)領(lǐng)域,涉及一種用于三表(電表、水表、燃?xì)獗恚o(wú)線集抄的分簇式自組網(wǎng)路由建立方法。
背景技術(shù):
無(wú)線自組網(wǎng)絡(luò)是由一組具有路由功能的節(jié)點(diǎn)所組成的分布式無(wú)線多跳網(wǎng)絡(luò)。由于它節(jié)點(diǎn)傳輸范圍有限,所以在源節(jié)點(diǎn)向目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),通常需要其它節(jié)點(diǎn)提供尋徑和中繼的功能。網(wǎng)絡(luò)中所有節(jié)點(diǎn)和節(jié)點(diǎn)間的無(wú)線信道就構(gòu)成了網(wǎng)絡(luò)的通信拓?fù)浣Y(jié)構(gòu)。節(jié)點(diǎn)的增加、刪除所帶來(lái)的拓?fù)浣Y(jié)構(gòu)變化,會(huì)造成通信轉(zhuǎn)發(fā)的路徑發(fā)生變化。所以無(wú)線自組網(wǎng)需要用動(dòng)態(tài)路由算法來(lái)適應(yīng)拓?fù)浣Y(jié)構(gòu)的變化,調(diào)整路由。
自組網(wǎng)路由設(shè)計(jì)需要考慮用戶需求、網(wǎng)絡(luò)能力、自組網(wǎng)特點(diǎn)和運(yùn)行環(huán)境等多種因素,針對(duì)不同的實(shí)際應(yīng)用需設(shè)計(jì)采用相適應(yīng)的協(xié)議。
在三表(水表、電表、燃?xì)獗恚┑臒o(wú)線集中抄表應(yīng)用中,網(wǎng)絡(luò)的主要功能是做單向的數(shù)據(jù)匯集,所以通信周期的間隔比較長(zhǎng)。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)變化頻率較低,一般只在節(jié)點(diǎn)增加、刪除時(shí),才會(huì)發(fā)生網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化。于此同時(shí),除電表外,節(jié)點(diǎn)一般由電池供電,其能量有限;其更換周期同表具的更換周期一般為5-8年。傳統(tǒng)的路由協(xié)議因過(guò)多的協(xié)議開銷和頻繁的路由維護(hù),會(huì)造成過(guò)多的無(wú)用能量損耗,縮短網(wǎng)絡(luò)的使用壽命。隨著數(shù)據(jù)量和用戶的增加,此前的最優(yōu)鏈路承擔(dān)起了越來(lái)越大的負(fù)擔(dān),從而導(dǎo)致傳輸質(zhì)量下降,包括延遲增加,丟包率增大或超額負(fù)載導(dǎo)致鏈路崩潰等,最終使鏈路失去了此前的優(yōu)越性,造成個(gè)別節(jié)點(diǎn)的能耗加速。
根據(jù)路由建立的不同方式,自組網(wǎng)路由可以分為主動(dòng)式路由、按需路由和混合路由。但是根據(jù)需求,傳統(tǒng)的三種路由方式都不適用于三表無(wú)線集抄的場(chǎng)合。由于種種限制,現(xiàn)有的一種較好的解決辦法就是利用現(xiàn)有的成熟資源。在目前的各項(xiàng)抄表行業(yè)中,電力抄表無(wú)疑是最成熟的一個(gè)集中抄表系統(tǒng)。針對(duì)某些小區(qū)的復(fù)雜樓型無(wú)法滿足單采集器對(duì)表信息的采集而加裝電池供電的輔助中繼器的問(wèn)題,需在拓?fù)浣Y(jié)構(gòu)變化頻率低、以單項(xiàng)數(shù)據(jù)匯聚為主的網(wǎng)絡(luò)環(huán)境下,設(shè)計(jì)出滿足整體能耗均衡的設(shè)計(jì)需求的路由建立方法,實(shí)現(xiàn)采集器和中繼器對(duì)樓內(nèi)表具的橫縱向的數(shù)據(jù)采集。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于針對(duì)已有技術(shù)存在的缺陷,提供一種用于三表無(wú)線集抄的分簇式自組網(wǎng)路由建立方法,本方法是一種基于類簇模型的自組網(wǎng)方式,在采用電池供電的中繼器輔助采集數(shù)據(jù)時(shí),可以更好的保證網(wǎng)絡(luò)的能耗均衡性,數(shù)據(jù)傳輸?shù)目煽啃裕瑥亩鴮?shí)現(xiàn)對(duì)樓內(nèi)橫縱向數(shù)據(jù)的穩(wěn)定采集。
為達(dá)到上述目的,本發(fā)明的構(gòu)思是:針對(duì)采集器距離限制需加裝電池供電的中繼器輔助采集的實(shí)際情況,并為了保證有效的利用資源,根據(jù)小區(qū)的分布和考慮到采集器與中繼器的可靠采集距離,在“桶型”樓內(nèi)設(shè)計(jì)并實(shí)現(xiàn)一種類簇的模型,通過(guò)考慮節(jié)點(diǎn)能量以及鏈路能量來(lái)實(shí)現(xiàn)能量均衡分類。
根據(jù)上述發(fā)明的構(gòu)思,本發(fā)明采用如下技術(shù)方案:
一種用于三表無(wú)線集抄的分簇式自組網(wǎng)路由建立方法,包含路由建立和路由維護(hù)兩個(gè)過(guò)程,具體步驟如下:
1)路由建立:
S1-1 初始化:首先對(duì)所有節(jié)點(diǎn)進(jìn)行編碼,要求每個(gè)節(jié)點(diǎn)擁有一個(gè)獨(dú)立的節(jié)點(diǎn)地址和偵聽限制時(shí)間,節(jié)點(diǎn)編碼通過(guò)手動(dòng)指定或自動(dòng)選擇;根節(jié)點(diǎn)編碼獨(dú)立設(shè)置,并需額外設(shè)定路由發(fā)起間隔周期和偵聽限制時(shí)間;
S1-2 路由發(fā)起間隔周期期滿后,根節(jié)點(diǎn)生成路由特征碼并發(fā)起路由建立,特征碼表預(yù)先存儲(chǔ)或者自動(dòng)生成;
S1-3 路由建立發(fā)起時(shí),由路由發(fā)起節(jié)點(diǎn)根據(jù)自身路由信息發(fā)起路由請(qǐng)求RREQ,其中最初的路由發(fā)起節(jié)點(diǎn)為根節(jié)點(diǎn);發(fā)送功率為無(wú)線通信模塊最大功率的一半;
S1-4 建立類簇模型,以采集器為簇頭,中繼器為輔助簇頭,標(biāo)示對(duì)應(yīng)簇號(hào);
S1-5 在節(jié)點(diǎn)路由表和路由請(qǐng)求報(bào)文中加入兩個(gè)條目,分別為采集器與中繼器的狀態(tài)信息和發(fā)送節(jié)點(diǎn)所在簇號(hào)信息;
S1-6 路由發(fā)起節(jié)點(diǎn)發(fā)起路由請(qǐng)求后,開始偵聽信道,直到超過(guò)偵聽限制時(shí)間;
S1-7 接收到RREQ的節(jié)點(diǎn),檢測(cè)RREQ報(bào)文的有效性;
S1-8 讀取RREQ中的路由特征碼、跳數(shù)及地址以及簇號(hào),如果不匹配對(duì)應(yīng)的簇號(hào)則忽略該RREQ信息;
S1-9 通過(guò)了有效性的檢測(cè)后,節(jié)點(diǎn)根據(jù)報(bào)文中的信息來(lái)更新路由表項(xiàng),并選擇最佳的傳輸路徑;
S1-10 在完成路由表的建立和更新后,節(jié)點(diǎn)會(huì)設(shè)置并生成新的RREQ報(bào)文,并向其鄰居節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā),同時(shí)節(jié)點(diǎn)會(huì)啟動(dòng)路由應(yīng)答;
S1-11 重復(fù)S1-7到S1-10過(guò)程,直到RREQ報(bào)文在本簇內(nèi)所有節(jié)點(diǎn)上遍歷;
S1-12 簇內(nèi)組網(wǎng)完成后進(jìn)行采集器簇頭與中繼器輔助簇頭的組網(wǎng);
S1-13 在RREQ中加入簇頭/類簇頭標(biāo)志,同時(shí)同層的簇頭不優(yōu)先進(jìn)行信息傳輸,輔助簇頭由于電池供電,接收信息的優(yōu)先級(jí)低于簇頭;
S1-14 組網(wǎng)方式同S1-7到S1-10,完成全部的網(wǎng)絡(luò)部署。
本路由的建立方法為按需路由方式。在實(shí)際的應(yīng)用中,通過(guò)根節(jié)點(diǎn)來(lái)發(fā)起路由建立的請(qǐng)求,建立單向路由,通過(guò)簇內(nèi)組網(wǎng)與簇間組網(wǎng)實(shí)現(xiàn)小區(qū)橫縱向的合理組網(wǎng),節(jié)約能量,避免了路由環(huán)路。單向路由建立后,網(wǎng)絡(luò)開始將三表數(shù)據(jù)以簇內(nèi)到簇間的方式傳輸,通過(guò)鏈路以及節(jié)點(diǎn)能量控制機(jī)制,在路由算法開銷小的情況下來(lái)實(shí)現(xiàn)能量均衡分配。
2)路由維護(hù):
S2-1 節(jié)點(diǎn)在S1-14結(jié)束后,持續(xù)偵聽,期間簇頭與類簇頭之間根據(jù)路由表周期的發(fā)送類似Hello包的檢測(cè)包以檢測(cè)鏈路完整性;
S2-2 若在檢測(cè)過(guò)程中發(fā)現(xiàn)其中的簇頭或類簇頭出現(xiàn)問(wèn)題,即沒有來(lái)自上一節(jié)點(diǎn)的反饋信息時(shí),發(fā)送錯(cuò)誤消息推送,由另一個(gè)存活的節(jié)點(diǎn)通知其對(duì)應(yīng)的簇內(nèi)節(jié)點(diǎn),將對(duì)應(yīng)的簇頭狀態(tài)標(biāo)志位進(jìn)行改變;
S2-3 簇內(nèi)節(jié)點(diǎn)收到信息后,重新開始組網(wǎng),此時(shí)由之前鏈路中包含失效節(jié)點(diǎn)的鏈路開始選擇目前的最佳鏈路進(jìn)行組網(wǎng);
S2-4 此時(shí)能夠選擇的節(jié)點(diǎn)鏈路不受簇內(nèi)限制,但是優(yōu)先考慮不受能量限制的簇頭節(jié)點(diǎn)進(jìn)行組網(wǎng);
S2-5 向系統(tǒng)及時(shí)發(fā)送問(wèn)題節(jié)點(diǎn)信息,以便及時(shí)檢修。
在三表無(wú)線集抄的應(yīng)用中,所有節(jié)點(diǎn)的物理結(jié)構(gòu)相同、無(wú)線收發(fā)模塊規(guī)格統(tǒng)一。在相同功率下,不同節(jié)點(diǎn)的通信覆蓋范圍基本相同。那么合理的分簇模式就可以很好的解決能耗均衡問(wèn)題,保證能耗壓力大的部分有簇頭承擔(dān)。在三表無(wú)線集抄的應(yīng)用中,節(jié)點(diǎn)在數(shù)據(jù)通信時(shí)基本不移動(dòng)。這樣,通過(guò)上述機(jī)制,可以保證數(shù)據(jù)的可靠傳輸。
節(jié)點(diǎn)在做數(shù)據(jù)包的轉(zhuǎn)發(fā)時(shí),通過(guò)考慮節(jié)點(diǎn)的能量和鏈路的能量?jī)蓚€(gè)成分,保證鏈路傳輸過(guò)程在一個(gè)能量整體平衡的環(huán)境下進(jìn)行,均衡了網(wǎng)絡(luò)的整體能耗。
本方法是一種按需路由,適合用于網(wǎng)絡(luò)負(fù)載較輕的三表無(wú)線集抄網(wǎng)絡(luò)。它能以簡(jiǎn)單的路由算法快速建立適于數(shù)據(jù)匯集的路由,又能夠適應(yīng)一定條件下網(wǎng)絡(luò)拓?fù)涞淖兓?。此外,它的路由開銷少,網(wǎng)絡(luò)能耗均衡。
本發(fā)明方法與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn):
1)是一種分布式路由算法。每個(gè)聯(lián)網(wǎng)節(jié)點(diǎn)只知道到自己上級(jí)節(jié)點(diǎn)的路由,到根節(jié)點(diǎn)的路由則由上級(jí)節(jié)點(diǎn)解決。
2)具有一定的自適應(yīng)能力。能夠適應(yīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)變化頻率較低的一些場(chǎng)合,可以通過(guò)快速的按需路由的建立來(lái)適應(yīng)網(wǎng)絡(luò)變化。
3)可避免路由環(huán)路。網(wǎng)絡(luò)按照節(jié)點(diǎn)的跳數(shù)信息分批建立拓?fù)?。通過(guò)路由特征碼區(qū)分聯(lián)網(wǎng)節(jié)點(diǎn)和孤立節(jié)點(diǎn)。在單次路由建立中,已經(jīng)聯(lián)網(wǎng)的節(jié)點(diǎn)不再參與拓?fù)涞慕ⅲ苊饬寺酚森h(huán)路。
4)路由算法開銷較少。在網(wǎng)絡(luò)建立時(shí),只需廣播RREQ數(shù)據(jù)包。無(wú)需在握手上做額外開銷,也無(wú)需廣播交換路由表等無(wú)用信息。
5)網(wǎng)絡(luò)能量消耗均衡。在路由建立后的數(shù)據(jù)傳輸中,考慮節(jié)點(diǎn)能量和鏈路能量?jī)蓚€(gè)信息綜合選擇組網(wǎng)鏈路。這樣,就在整個(gè)網(wǎng)絡(luò)中平坦了數(shù)據(jù)轉(zhuǎn)發(fā)的能耗。
6)適用于三表無(wú)線集抄系統(tǒng)。可適應(yīng)三表增加、刪除所造成的網(wǎng)絡(luò)拓?fù)渥兓闆r。同時(shí),網(wǎng)絡(luò)的能耗低、整體能耗均衡,可適應(yīng)三表更換周期長(zhǎng)的應(yīng)用需求。
綜上所述,本發(fā)明在三表無(wú)線集抄的應(yīng)用中,本方法效率高、能耗、易于實(shí)現(xiàn)。在低路由開銷的情況下,能快速建立路由,在數(shù)據(jù)傳輸過(guò)程中,均衡了整體網(wǎng)絡(luò)的能耗。在網(wǎng)絡(luò)負(fù)載較輕、拓?fù)浣Y(jié)構(gòu)變化頻率較低的情況下,能快速且節(jié)能地完成路由建立和數(shù)據(jù)傳輸,適用于三表無(wú)線集抄系統(tǒng)。
附圖說(shuō)明
圖1為無(wú)線自組網(wǎng)的結(jié)構(gòu)示意圖。
圖2為根節(jié)點(diǎn)的路由建立發(fā)起的流程圖。
圖3為簇內(nèi)普通節(jié)點(diǎn)的路由建立發(fā)起的流程圖。
圖4為簇頭節(jié)點(diǎn)的鄰域檢測(cè)的流程圖。
具體實(shí)施方式
下面結(jié)合附圖,對(duì)本發(fā)明的具體實(shí)施例做進(jìn)一步的說(shuō)明。
如圖1所示,將要數(shù)據(jù)采集的區(qū)域設(shè)置每三層樓安裝一組采集器和中繼器,各個(gè)節(jié)點(diǎn)通過(guò)無(wú)線方式組網(wǎng),接入后臺(tái)監(jiān)控主機(jī)。在實(shí)際應(yīng)用中,一般將采集器中繼器加裝在電表的采集器中放置在社區(qū)樓房的門禁處,普通節(jié)點(diǎn)按表具位置放置在樓道、居民家中。
如圖2和圖3所示,路由建立的具體步驟為:
對(duì)各個(gè)節(jié)點(diǎn)進(jìn)行地址編碼和初始的路由特征碼,對(duì)根節(jié)點(diǎn)設(shè)定路由發(fā)起間隔的周期和偵聽限制時(shí)間。節(jié)點(diǎn)的地址碼包含兩部分:小區(qū)碼和節(jié)點(diǎn)編號(hào)。小區(qū)碼用于區(qū)分不同小區(qū)的節(jié)點(diǎn),同一小區(qū)中的節(jié)點(diǎn)應(yīng)該使用相同的小區(qū)碼。節(jié)點(diǎn)編號(hào)用以區(qū)分同一小區(qū)內(nèi)不同的節(jié)點(diǎn)。同一小區(qū)中的任意兩個(gè)個(gè)節(jié)點(diǎn)不能有相同的節(jié)點(diǎn)編號(hào)。同一小區(qū)節(jié)點(diǎn)的初始路由特征碼應(yīng)相同。根節(jié)點(diǎn)的路由發(fā)起間隔周期應(yīng)和三表數(shù)據(jù)采集周期相同。
路由建立發(fā)起時(shí),由路由發(fā)起節(jié)點(diǎn)根據(jù)自身路由信息發(fā)起路由請(qǐng)求RREQ(Route Request,路由請(qǐng)求信息,最初的路由發(fā)起節(jié)點(diǎn)為根節(jié)點(diǎn)),發(fā)送功率為無(wú)線通信模塊最大功率的一半。
由采集器和中繼器的搭建建立類簇模型,以采集器為簇頭,中繼器為輔助簇頭,標(biāo)示對(duì)應(yīng)簇號(hào)。同時(shí)對(duì)應(yīng)的在節(jié)點(diǎn)路由表和路由請(qǐng)求報(bào)文中加入兩個(gè)條目,分別為采集器與中繼器的狀態(tài)信息和發(fā)送節(jié)點(diǎn)所在簇號(hào)信息。當(dāng)路由發(fā)起節(jié)點(diǎn)發(fā)起路由請(qǐng)求后,開始偵聽信道,直到超過(guò)偵聽限制時(shí)間。接收到RREQ的節(jié)點(diǎn),檢測(cè)RREQ報(bào)文的有效性。之后讀取RREQ中的路由特征碼、跳數(shù)及地址以及簇號(hào),如果不匹配對(duì)應(yīng)的簇號(hào)則忽略該RREQ信息。
所述RREQ信息如下表所示:
RREQ:
當(dāng)通過(guò)了有效性的檢測(cè)后,節(jié)點(diǎn)根據(jù)報(bào)文中的信息來(lái)更新路由表項(xiàng),并選擇最佳的傳輸路徑。在完成路由表的建立和更新后,節(jié)點(diǎn)會(huì)設(shè)置并生成新的RREQ報(bào)文,并向其鄰居節(jié)點(diǎn)來(lái)進(jìn)行轉(zhuǎn)發(fā),同時(shí)節(jié)點(diǎn)會(huì)啟動(dòng)路由應(yīng)答。重復(fù)組網(wǎng)過(guò)程,直到RREQ報(bào)文在本簇內(nèi)所有節(jié)點(diǎn)上遍歷。之后進(jìn)行采集器簇頭與中繼器輔助簇頭的組網(wǎng)。在RREQ中加入簇頭/類簇頭標(biāo)志,同時(shí)同層的簇頭并不優(yōu)先進(jìn)行信息傳輸,輔助簇頭由于電池供電,接收信息的優(yōu)先級(jí)低于簇頭。最后完成全部的網(wǎng)絡(luò)部署。
如圖4所示,路由維護(hù)的具體步驟為:
節(jié)點(diǎn)在組網(wǎng)結(jié)束后,持續(xù)偵聽,期間簇頭與類簇頭之間根據(jù)路由表周期的發(fā)送類似Hello包的檢測(cè)包以檢測(cè)鏈路完整性;若在檢測(cè)過(guò)程中發(fā)現(xiàn)其中的簇頭或類簇頭出現(xiàn)問(wèn)題,即沒有來(lái)自上一節(jié)點(diǎn)的反饋信息時(shí),發(fā)送錯(cuò)誤消息推送,由另一個(gè)存活的節(jié)點(diǎn)通知其對(duì)應(yīng)的簇內(nèi)節(jié)點(diǎn),將對(duì)應(yīng)的簇頭狀態(tài)標(biāo)志位進(jìn)行改變;簇內(nèi)節(jié)點(diǎn)收到信息后,重新開始組網(wǎng),此時(shí)由之前鏈路中包含失效節(jié)點(diǎn)的鏈路開始選擇目前的最佳鏈路進(jìn)行組網(wǎng);此時(shí)能夠選擇的節(jié)點(diǎn)鏈路不受簇內(nèi)限制,但是優(yōu)先考慮不受能量限制的簇頭節(jié)點(diǎn)進(jìn)行組網(wǎng);向系統(tǒng)及時(shí)發(fā)送問(wèn)題節(jié)點(diǎn)信息,以便及時(shí)檢修。