王 欣,周 侗,何健浩
(1.中國科學院 沈陽自動化研究所,遼寧 沈陽1100161;2.中國科學院大學,北京100049)
伴隨著城市化進程的不斷發展,人們對自動抄表應用的呼聲越來越高[1]。目前中國的自動抄表技術主要為IC卡抄表、電力載波抄表、RS485總線抄表等,但是這些措施各自都有很大的弊端[2]。IC卡抄表因表具直接與用戶接觸,極易造成人為破壞,不能實現在線實時監控;電力載波抄表易受電磁干擾,嚴重影響了通信質量,線路阻抗特性及衰減問題也制約了信號傳輸距離;RS485總線抄表數據傳輸可靠性較高,但是前期布線困難,后期維護復雜、成本高。無線抄表技術具有易于實現、傳輸速率高、成本造價低、易于普及等優點,是未來中國公共事業發展的必然趨勢[3]。本文在無線抄表系統的框架下,提出了可靠的路由建立和維護算法,有助于實現能源企業對用戶三表的自動監測、計量、管理。
按照小區規模,在多棟樓之間設置中心節點,中心節點的設計類似于普通節點,但其計算量、存儲量比普通節點大,它主要負責轉發無線節點上傳的數據和服務器下達的命令。用戶計量表為單個節點,采用無線網絡將采集到的數據上傳至中心節點,最后由中心節點通過GSM、GPRS、3G等無線技術發送到管理部門的服務器,實現能源公司對用戶數據的在線監測、管理和統計報表等[4]。系統結構如圖1所示。
系統主要由3部分組成:
(1)安裝在用戶家中具有感知采集、計算存儲、無線傳輸功能的智能計量表 (無線節點);
(2)安裝于多棟樓之間的中心節點;
(3)服務器管理系統,一般安裝在能源管理公司。

圖1 無線抄表網絡結構
該系統采用被動抄表方式,中心節點接收到服務器管理中心發來抄表命令后,通知所管轄的節點將數據打包上傳,節點通過查詢路由表將數據沿最優路徑上傳至中心節點,最后轉發至服務器管理中心[5]。數據通信的可靠性是衡量無線抄表系統性能的重要指標[6],論文對無線抄表系統中心節點至用戶計量表節點之間的下行通信網絡進行研究,設計了一種面向無線抄表應用的路由算法,通過一定的路由建立和維護機制來保證通信鏈路的可靠性,并對該路由算法進行了建模仿真。
網絡中每一個節點都擁有一張鄰居表[7],登記一跳范圍內的節點信息,用以路由維護,鄰居表結構如表1所示[8]。

表1 鄰居表結構
(1)路由建立時,中心節點構造路由建立請求報文,報文中包含當前節點距中心節點的跳數Node_length,中心節點初始化Node_length=0,目的地址為全網廣播地址0xFFFFFFFF,將路由建立請求報文注入網絡;
(2)網絡中節點維護著自身的深度屬性iNode_length,即該節點距離中心節點的跳數,上電初始化為0xff。節點接收到不同鄰居節點轉播的路由建立請求報文后,將請求報文中的Node_length與自身深度屬性值iNode_length作比較[9]:若Node_length+1<=iNode_length,修改自身深度屬性值iNode_length=Node_length+1,將報文中前一跳節點加入到鄰居表,設置Relation=Parent,并將路由建立請求報文中上一跳地址改為本節點地址,Node_length值加1,繼續廣播路由請求報文;若Node_length>=iNode_length,僅將前一跳節點登記到自身鄰居表中,不再轉播該報文。
(3)路由請求轉發完畢后,節點訪問鄰居表選擇最優父節點登記到路由表中,并將路由表信息打包為路由登記報文單播至父節點,最優父節點選擇依據:①深度值小的節點;②鏈路質量優的節點;
(4)節點接收到下游節點發送的路由登記包后,將子節點的路由信息登記到自身路由表中,繼續上傳路由登記包至中心節點。路由建立算法流程圖如圖2所示。
圖3為網絡中節點建立鏈路后的示意圖,短地址為1.0的是中心節點,短地址從1.1到1.8的是用戶計量表節點。表2為節點通過路由登記報文建立的路由表。從表2中可以清楚地看到每一級節點的路由表都是上一級節點路由表的子集。假設中心節點 (1.0節點)想給1.6節點下達一個命令。中心節點訪問自己的路由表,找到1.6節點的父節點1.5節點,繼而找到1.5節點的父節點1.3節點,中心節點將報文單播給1.3節點。1.3節點收到報文后再訪問自己的路由表,重復上述過程,將此命令轉發給1.5節點,依此類推,最終將報文發送至1.6節點。
雙向的路由建立算法,使網絡中節點建立了上下行路由:路由建立請求報文使節點建立了自身到中心節點的最優鏈路,通過路由登記報文,節點建立了到子節點的下行路由。在此過程中,節點登記了完整的鄰居表,在增加冗余鏈路的同時,維護鄰居節點狀態,提高了算法的可靠性。
在無線抄表實際應用中,計量表節點自身功耗過低、外部干擾或人為因素都將導致節點離開網絡,另外,節點的更換、新節點入網等情況也將使網絡鏈路發生變化,需要及時更新路由表以維護可靠路由[10]。本文采用雙向Hello報文進行路由維護,通過鄰居節點間相互交換Hello報文管理鄰居表中節點狀態變化,從而保證節點上下行路由的可靠性。
網絡節點周期性的向鄰居節點廣播Hello報文,報文的目的地址為一跳范圍內的廣播地址0xFFFFFFF1,鄰居節點收到Hello報文后,修改目的地址為源節點的地址,并將自身節點的深度值加入到報文中單播發送至源節點,源節點收到鄰居節點發送的Hello回復報文后,查看鄰居表:
(1)若該節點存在鄰居表中,更新節點深度值并將該節點對應的Fail_time值復位為0;

圖2 路由建立算法流程

圖3 節點路由
(2)若在一定時間內,沒有收到某鄰居節點的Hello回復報文,將該鄰居節點的State屬性改為離線,并查看鄰居表中該節點的Fail_time值,若Fail_time< MAX_FailTimes,Fail_time值加1,若Fail_time>= MAX_FailTimes,說明該節點已離開網絡,清除鄰居表中該節點的信息。若此節點為路由表中父節點,則說明上行路由失敗,節點從鄰居表中選擇最優節點更新路由表 (鄰居表中失敗節點信息已刪除),并通過新的父節點向中心節點發送路由更新報文。若此節點為路由表中子節點,節點刪除該路由,通過父節點發送路由更新報文。
(3)若鄰居表中不存在該節點,說明此節點為網絡新增節點,將該節點信息注冊到鄰居表中,并通過自身父節點上傳路由更新報文。

表2 部分節點路由表
新入網節點上電后,定時發送Hello報文,根據接收到的Hello回復報文將鄰居節點加入到自身鄰居表,并選取最優父節點登記到路由表中,同時通過父節點向中心節點發送路由更新報文。
圖4為Hello報文交換示意圖。地址為2.0的節點周期性的廣播一跳范圍內Hello報文,鄰居節點返回Hello回復報文,2.0節點根據 Hello回復報文更新鄰居表。圖5為Hello回復報文示意圖,因鏈路失效,2.0節點在定時時間內沒有收到3.1節點的Hello回復報文,則改變鄰居表中3.1節點對應的State和Fail_time屬性值。表3為2.0節點鄰居表。

圖4 Hello報文發送

圖5 Hello回復報文發送

表3 短地址為2.0節點鄰居表
通過OMNeT++網絡仿真軟件建立無線抄表網絡模型,驗證路由算法的可靠性[11]。網絡的覆蓋面積為500m×400m,無線信道帶寬為1M,網絡的節點數目為9個,節點的最大傳輸距離為100m,網絡拓撲如圖6所示。假設節點的分布相對均勻,系統中sink節點定時發送路由建立請求報文至各個智能表節點,網絡中節點根據路由建立算法回復路由登記報文,從而為每個終端節點建立最優路由。
圖7為路由建立后,網絡中各節點上傳數據示意圖,從圖中可以看出,網絡中各節點均維護著自身到中心節點的最優路由,數據沿最優鏈路多跳轉發至中心節點。例如:短地址為3.1的節點產生的數據依次經過2.0、1.0節點上傳至sink節點;網絡中短地址為1.0和2.0的節點作為較高層次的父節點,維護著較多的下游子節點,故發送報文數量明顯多于其他節點,圖8為各節點發送報文數量統計圖。

圖6 網絡拓撲結構

圖7 節點數傳輸

圖8 節點傳輸報文數目統計
節點通過Hello報文互換機制管理網絡拓撲結構,及時更新鄰居表和路由表,確保終端節點通往中心節點的鏈路可靠。圖9為短地址為1.0的節點失效離開網絡后,各終端節點的數據傳輸示意圖。短地址為2.0的節點從鄰居表中選擇短地址為1.1的節點作為新的父節點更新路由表,此時,1.1節點的下游子節點明顯增多,任務量加重,由圖10可見,1.1節點的報文傳輸量較圖8明顯增多。

圖9 1.0節點失效后數據傳輸

圖10 1.0節點失效后報文傳輸數量統計
本文提出了一種面向無線抄表應用的路由算法,該算法通過路由建立請求報文和路由登記報文使網絡中節點建立了自身到中心節點的最優路由,減少節點轉發報文數量,降低了網絡負荷;基于Hello報文的鄰居交換機制可有效的進行路由維護,提高節點上下行路由的可靠性,算法復雜度低,可靠性高。仿真結果驗證了該算法的有效性和可行性。但對無線抄表系統中報文傳輸的沖突問題還有待進一步研究[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). [董健,常正躍.智能儀表及遠程集中抄表的現狀及發展趨勢 [J].儀器儀表學報,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).[孫煉.基于無線通道的燃氣自動抄表系統的研究與開發.南京理工大學,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).[智慧中國網.無線抄表將逐漸成為未來發展的趨勢[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).[王忠鋒,朱珍,王英男.無線傳感器網絡的遠程抄表系統 [J].小型微型計算機系統,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).[孫東旭,曹建福,鄭輯光.面向工業測控的無線傳感器網絡分簇路由算法 [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遠程無線抄表協議設計與實現 [D].北京:中國科學院研究生院碩士論文,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). [楊琴,孫亭.基于最小跳數的無線傳感器網絡路由協議 [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). [田樂.無線傳感器網絡拓撲和路由技術的研究 [D].北京:北京郵電大學博士論文,2007:37-50.]
[11]ZHAO Yongli,ZHANG Jie.OMNeT++and network simulation [M].Beijing:Posts & Telecom Press,2012:232-335(in Chinese). [趙永利,張杰.OMNeT++與網絡仿真[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).[鄒瑜,彭艦,黎紅友.一種基于分層無線傳感器網絡的路由算法 [J].計算機科學,2012,39 (10):65-68.]