王 欣,周 侗,何健浩
(1.中國科學(xué)院 沈陽自動化研究所,遼寧 沈陽1100161;2.中國科學(xué)院大學(xué),北京100049)
伴隨著城市化進程的不斷發(fā)展,人們對自動抄表應(yīng)用的呼聲越來越高[1]。目前中國的自動抄表技術(shù)主要為IC卡抄表、電力載波抄表、RS485總線抄表等,但是這些措施各自都有很大的弊端[2]。IC卡抄表因表具直接與用戶接觸,極易造成人為破壞,不能實現(xiàn)在線實時監(jiān)控;電力載波抄表易受電磁干擾,嚴重影響了通信質(zhì)量,線路阻抗特性及衰減問題也制約了信號傳輸距離;RS485總線抄表數(shù)據(jù)傳輸可靠性較高,但是前期布線困難,后期維護復(fù)雜、成本高。無線抄表技術(shù)具有易于實現(xiàn)、傳輸速率高、成本造價低、易于普及等優(yōu)點,是未來中國公共事業(yè)發(fā)展的必然趨勢[3]。本文在無線抄表系統(tǒng)的框架下,提出了可靠的路由建立和維護算法,有助于實現(xiàn)能源企業(yè)對用戶三表的自動監(jiān)測、計量、管理。
按照小區(qū)規(guī)模,在多棟樓之間設(shè)置中心節(jié)點,中心節(jié)點的設(shè)計類似于普通節(jié)點,但其計算量、存儲量比普通節(jié)點大,它主要負責(zé)轉(zhuǎn)發(fā)無線節(jié)點上傳的數(shù)據(jù)和服務(wù)器下達的命令。用戶計量表為單個節(jié)點,采用無線網(wǎng)絡(luò)將采集到的數(shù)據(jù)上傳至中心節(jié)點,最后由中心節(jié)點通過GSM、GPRS、3G等無線技術(shù)發(fā)送到管理部門的服務(wù)器,實現(xiàn)能源公司對用戶數(shù)據(jù)的在線監(jiān)測、管理和統(tǒng)計報表等[4]。系統(tǒng)結(jié)構(gòu)如圖1所示。
系統(tǒng)主要由3部分組成:
(1)安裝在用戶家中具有感知采集、計算存儲、無線傳輸功能的智能計量表 (無線節(jié)點);
(2)安裝于多棟樓之間的中心節(jié)點;
(3)服務(wù)器管理系統(tǒng),一般安裝在能源管理公司。
圖1 無線抄表網(wǎng)絡(luò)結(jié)構(gòu)
該系統(tǒng)采用被動抄表方式,中心節(jié)點接收到服務(wù)器管理中心發(fā)來抄表命令后,通知所管轄的節(jié)點將數(shù)據(jù)打包上傳,節(jié)點通過查詢路由表將數(shù)據(jù)沿最優(yōu)路徑上傳至中心節(jié)點,最后轉(zhuǎn)發(fā)至服務(wù)器管理中心[5]。數(shù)據(jù)通信的可靠性是衡量無線抄表系統(tǒng)性能的重要指標(biāo)[6],論文對無線抄表系統(tǒng)中心節(jié)點至用戶計量表節(jié)點之間的下行通信網(wǎng)絡(luò)進行研究,設(shè)計了一種面向無線抄表應(yīng)用的路由算法,通過一定的路由建立和維護機制來保證通信鏈路的可靠性,并對該路由算法進行了建模仿真。
網(wǎng)絡(luò)中每一個節(jié)點都擁有一張鄰居表[7],登記一跳范圍內(nèi)的節(jié)點信息,用以路由維護,鄰居表結(jié)構(gòu)如表1所示[8]。
表1 鄰居表結(jié)構(gòu)
(1)路由建立時,中心節(jié)點構(gòu)造路由建立請求報文,報文中包含當(dāng)前節(jié)點距中心節(jié)點的跳數(shù)Node_length,中心節(jié)點初始化Node_length=0,目的地址為全網(wǎng)廣播地址0xFFFFFFFF,將路由建立請求報文注入網(wǎng)絡(luò);
(2)網(wǎng)絡(luò)中節(jié)點維護著自身的深度屬性iNode_length,即該節(jié)點距離中心節(jié)點的跳數(shù),上電初始化為0xff。節(jié)點接收到不同鄰居節(jié)點轉(zhuǎn)播的路由建立請求報文后,將請求報文中的Node_length與自身深度屬性值iNode_length作比較[9]:若Node_length+1<=iNode_length,修改自身深度屬性值iNode_length=Node_length+1,將報文中前一跳節(jié)點加入到鄰居表,設(shè)置Relation=Parent,并將路由建立請求報文中上一跳地址改為本節(jié)點地址,Node_length值加1,繼續(xù)廣播路由請求報文;若Node_length>=iNode_length,僅將前一跳節(jié)點登記到自身鄰居表中,不再轉(zhuǎn)播該報文。
(3)路由請求轉(zhuǎn)發(fā)完畢后,節(jié)點訪問鄰居表選擇最優(yōu)父節(jié)點登記到路由表中,并將路由表信息打包為路由登記報文單播至父節(jié)點,最優(yōu)父節(jié)點選擇依據(jù):①深度值小的節(jié)點;②鏈路質(zhì)量優(yōu)的節(jié)點;
(4)節(jié)點接收到下游節(jié)點發(fā)送的路由登記包后,將子節(jié)點的路由信息登記到自身路由表中,繼續(xù)上傳路由登記包至中心節(jié)點。路由建立算法流程圖如圖2所示。
圖3為網(wǎng)絡(luò)中節(jié)點建立鏈路后的示意圖,短地址為1.0的是中心節(jié)點,短地址從1.1到1.8的是用戶計量表節(jié)點。表2為節(jié)點通過路由登記報文建立的路由表。從表2中可以清楚地看到每一級節(jié)點的路由表都是上一級節(jié)點路由表的子集。假設(shè)中心節(jié)點 (1.0節(jié)點)想給1.6節(jié)點下達一個命令。中心節(jié)點訪問自己的路由表,找到1.6節(jié)點的父節(jié)點1.5節(jié)點,繼而找到1.5節(jié)點的父節(jié)點1.3節(jié)點,中心節(jié)點將報文單播給1.3節(jié)點。1.3節(jié)點收到報文后再訪問自己的路由表,重復(fù)上述過程,將此命令轉(zhuǎn)發(fā)給1.5節(jié)點,依此類推,最終將報文發(fā)送至1.6節(jié)點。
雙向的路由建立算法,使網(wǎng)絡(luò)中節(jié)點建立了上下行路由:路由建立請求報文使節(jié)點建立了自身到中心節(jié)點的最優(yōu)鏈路,通過路由登記報文,節(jié)點建立了到子節(jié)點的下行路由。在此過程中,節(jié)點登記了完整的鄰居表,在增加冗余鏈路的同時,維護鄰居節(jié)點狀態(tài),提高了算法的可靠性。
在無線抄表實際應(yīng)用中,計量表節(jié)點自身功耗過低、外部干擾或人為因素都將導(dǎo)致節(jié)點離開網(wǎng)絡(luò),另外,節(jié)點的更換、新節(jié)點入網(wǎng)等情況也將使網(wǎng)絡(luò)鏈路發(fā)生變化,需要及時更新路由表以維護可靠路由[10]。本文采用雙向Hello報文進行路由維護,通過鄰居節(jié)點間相互交換Hello報文管理鄰居表中節(jié)點狀態(tài)變化,從而保證節(jié)點上下行路由的可靠性。
網(wǎng)絡(luò)節(jié)點周期性的向鄰居節(jié)點廣播Hello報文,報文的目的地址為一跳范圍內(nèi)的廣播地址0xFFFFFFF1,鄰居節(jié)點收到Hello報文后,修改目的地址為源節(jié)點的地址,并將自身節(jié)點的深度值加入到報文中單播發(fā)送至源節(jié)點,源節(jié)點收到鄰居節(jié)點發(fā)送的Hello回復(fù)報文后,查看鄰居表:
(1)若該節(jié)點存在鄰居表中,更新節(jié)點深度值并將該節(jié)點對應(yīng)的Fail_time值復(fù)位為0;
圖2 路由建立算法流程
圖3 節(jié)點路由
(2)若在一定時間內(nèi),沒有收到某鄰居節(jié)點的Hello回復(fù)報文,將該鄰居節(jié)點的State屬性改為離線,并查看鄰居表中該節(jié)點的Fail_time值,若Fail_time< MAX_FailTimes,F(xiàn)ail_time值加1,若Fail_time>= MAX_FailTimes,說明該節(jié)點已離開網(wǎng)絡(luò),清除鄰居表中該節(jié)點的信息。若此節(jié)點為路由表中父節(jié)點,則說明上行路由失敗,節(jié)點從鄰居表中選擇最優(yōu)節(jié)點更新路由表 (鄰居表中失敗節(jié)點信息已刪除),并通過新的父節(jié)點向中心節(jié)點發(fā)送路由更新報文。若此節(jié)點為路由表中子節(jié)點,節(jié)點刪除該路由,通過父節(jié)點發(fā)送路由更新報文。
(3)若鄰居表中不存在該節(jié)點,說明此節(jié)點為網(wǎng)絡(luò)新增節(jié)點,將該節(jié)點信息注冊到鄰居表中,并通過自身父節(jié)點上傳路由更新報文。
表2 部分節(jié)點路由表
新入網(wǎng)節(jié)點上電后,定時發(fā)送Hello報文,根據(jù)接收到的Hello回復(fù)報文將鄰居節(jié)點加入到自身鄰居表,并選取最優(yōu)父節(jié)點登記到路由表中,同時通過父節(jié)點向中心節(jié)點發(fā)送路由更新報文。
圖4為Hello報文交換示意圖。地址為2.0的節(jié)點周期性的廣播一跳范圍內(nèi)Hello報文,鄰居節(jié)點返回Hello回復(fù)報文,2.0節(jié)點根據(jù) Hello回復(fù)報文更新鄰居表。圖5為Hello回復(fù)報文示意圖,因鏈路失效,2.0節(jié)點在定時時間內(nèi)沒有收到3.1節(jié)點的Hello回復(fù)報文,則改變鄰居表中3.1節(jié)點對應(yīng)的State和Fail_time屬性值。表3為2.0節(jié)點鄰居表。
圖4 Hello報文發(fā)送
圖5 Hello回復(fù)報文發(fā)送
表3 短地址為2.0節(jié)點鄰居表
通過OMNeT++網(wǎng)絡(luò)仿真軟件建立無線抄表網(wǎng)絡(luò)模型,驗證路由算法的可靠性[11]。網(wǎng)絡(luò)的覆蓋面積為500m×400m,無線信道帶寬為1M,網(wǎng)絡(luò)的節(jié)點數(shù)目為9個,節(jié)點的最大傳輸距離為100m,網(wǎng)絡(luò)拓撲如圖6所示。假設(shè)節(jié)點的分布相對均勻,系統(tǒng)中sink節(jié)點定時發(fā)送路由建立請求報文至各個智能表節(jié)點,網(wǎng)絡(luò)中節(jié)點根據(jù)路由建立算法回復(fù)路由登記報文,從而為每個終端節(jié)點建立最優(yōu)路由。
圖7為路由建立后,網(wǎng)絡(luò)中各節(jié)點上傳數(shù)據(jù)示意圖,從圖中可以看出,網(wǎng)絡(luò)中各節(jié)點均維護著自身到中心節(jié)點的最優(yōu)路由,數(shù)據(jù)沿最優(yōu)鏈路多跳轉(zhuǎn)發(fā)至中心節(jié)點。例如:短地址為3.1的節(jié)點產(chǎn)生的數(shù)據(jù)依次經(jīng)過2.0、1.0節(jié)點上傳至sink節(jié)點;網(wǎng)絡(luò)中短地址為1.0和2.0的節(jié)點作為較高層次的父節(jié)點,維護著較多的下游子節(jié)點,故發(fā)送報文數(shù)量明顯多于其他節(jié)點,圖8為各節(jié)點發(fā)送報文數(shù)量統(tǒng)計圖。
圖6 網(wǎng)絡(luò)拓撲結(jié)構(gòu)
圖7 節(jié)點數(shù)傳輸
圖8 節(jié)點傳輸報文數(shù)目統(tǒng)計
節(jié)點通過Hello報文互換機制管理網(wǎng)絡(luò)拓撲結(jié)構(gòu),及時更新鄰居表和路由表,確保終端節(jié)點通往中心節(jié)點的鏈路可靠。圖9為短地址為1.0的節(jié)點失效離開網(wǎng)絡(luò)后,各終端節(jié)點的數(shù)據(jù)傳輸示意圖。短地址為2.0的節(jié)點從鄰居表中選擇短地址為1.1的節(jié)點作為新的父節(jié)點更新路由表,此時,1.1節(jié)點的下游子節(jié)點明顯增多,任務(wù)量加重,由圖10可見,1.1節(jié)點的報文傳輸量較圖8明顯增多。
圖9 1.0節(jié)點失效后數(shù)據(jù)傳輸
圖10 1.0節(jié)點失效后報文傳輸數(shù)量統(tǒng)計
本文提出了一種面向無線抄表應(yīng)用的路由算法,該算法通過路由建立請求報文和路由登記報文使網(wǎng)絡(luò)中節(jié)點建立了自身到中心節(jié)點的最優(yōu)路由,減少節(jié)點轉(zhuǎn)發(fā)報文數(shù)量,降低了網(wǎng)絡(luò)負荷;基于Hello報文的鄰居交換機制可有效的進行路由維護,提高節(jié)點上下行路由的可靠性,算法復(fù)雜度低,可靠性高。仿真結(jié)果驗證了該算法的有效性和可行性。但對無線抄表系統(tǒng)中報文傳輸?shù)臎_突問題還有待進一步研究[12]。
[1]DONG Jian,CHANG Zhengyue.The situation and development trend of intelligent instrument and remote centralized meter reading [J].Chinese Journal of Scientific Instrument,2010,31 (8):120-125 (in Chinese). [董健,常正躍.智能儀表及遠程集中抄表的現(xiàn)狀及發(fā)展趨勢 [J].儀器儀表學(xué)報,2010,31 (8):120-125.]
[2]SUN Lian.Research and development of gas meter reading system based on wireless channel [D].Nanjing University of Science and Technology,2007:1-8 (in Chinese).[孫煉.基于無線通道的燃氣自動抄表系統(tǒng)的研究與開發(fā).南京理工大學(xué),2007:1-8.]
[3]The Smarter China.The future of wireless meter reading[OL].[2012-10-10].URL:http://www.smarterchina.cn/dianwangDongtai/20121010/10163712473.html (in Chinese).[智慧中國網(wǎng).無線抄表將逐漸成為未來發(fā)展的趨勢[OL].[2012-10-10].URL:http://www.smarterchina.cn/dianwangDongtai/20121010/10163712473.html.]
[4]Chen G L,Chen S L,Guo W Z,et al.The multi-criteria minimum spanning tree problem based genetical gorithm [J].Information Sciences,2007,177 (22):5050-5063.
[5]WANG Zhongfeng,ZHU Zhen,WANG Yingnan.Remote meter reading system based on wireless sensor network [J].Journal of Chinese Computer Systems,2011,32 (15)84-87 (in Chinese).[王忠鋒,朱珍,王英男.無線傳感器網(wǎng)絡(luò)的遠程抄表系統(tǒng) [J].小型微型計算機系統(tǒng),2011,32 (15)84-87.]
[6]BOUGARD B.Energy efficiency of the IEEE 802 [C]//15.4 standard in dense wireless microsensor networks:modeling and improvement perspectives.IEEE CNF,2006:196-201.
[7]SUN Dongxun,CAO Jianfu,ZHENG Jiguang.A clustering routing algorithm of WSN for industrial measurement and control[J].Information and Control,2012,41 (6):780-784(in Chinese).[孫東旭,曹建福,鄭輯光.面向工業(yè)測控的無線傳感器網(wǎng)絡(luò)分簇路由算法 [J].信息與控制,2012,41(6):780-784.]
[8]ZHU Zhen.Design and implementation of WIA remote wireless meter reading protocol [D].Beijing:Dissertation Library of the Chinese Academy of Science,2011:29-35 (in Chinese).[朱珍.WIA遠程無線抄表協(xié)議設(shè)計與實現(xiàn) [D].北京:中國科學(xué)院研究生院碩士論文,2011:29-35.]
[9]YANG Qin,SUN Ting.A routing protocol of wireless sensor network based on minimum hop count [J].Computer Engineering,2008,34 (22):129-131 (in Chinese). [楊琴,孫亭.基于最小跳數(shù)的無線傳感器網(wǎng)絡(luò)路由協(xié)議 [J].計算機工程,2008,34 (22):129-131.]
[10]TIAN Le.Research on wireless sensor network topology and routing technology [D].Beijing:Beijing University of Posts and Telecommunications,2007:37-50 (in Chinese). [田樂.無線傳感器網(wǎng)絡(luò)拓撲和路由技術(shù)的研究 [D].北京:北京郵電大學(xué)博士論文,2007:37-50.]
[11]ZHAO Yongli,ZHANG Jie.OMNeT++and network simulation [M].Beijing:Posts & Telecom Press,2012:232-335(in Chinese). [趙永利,張杰.OMNeT++與網(wǎng)絡(luò)仿真[M].北京:人民郵電出版社,2012:232-335.]
[12]ZOU Yu,PENG Jian,LI Hongyou.Routing algorithm of hierarchical wireless sensor network [J].Computer Science,2012,39 (10):65-68 (in Chinese).[鄒瑜,彭艦,黎紅友.一種基于分層無線傳感器網(wǎng)絡(luò)的路由算法 [J].計算機科學(xué),2012,39 (10):65-68.]