汪鴻鵬, 陸 陽, 程運安, 倪 璞
(1.合肥工業(yè)大學 計算機與信息學院,安徽 合肥 230009;2.合肥工大高科信息技術有限責任公司,安徽 合肥 230088)
目前,在倉儲管理中,貨品的信息采集主要采用的是條碼技術,但條碼技術具有與生俱來的缺點,即記錄的信息無法更改,存儲容量相對比較小。條碼掃描儀必須看到條碼才能對其進行讀取,而且條碼容易破損、污濁或丟失,這些極易導致條碼掃描儀無法讀取條碼的現象。隨著企業(yè)信息化程度的不斷提高,傳統(tǒng)的條碼技術越來越不能滿足其需要[1-4]。射頻識別技術 RFID(Radio Frequency Identification,簡稱RFID)是一種非接觸式的自動識別技術,通過射頻信號自動識別目標對象并獲取相關數據,無須人工干預,可工作于各種惡劣環(huán)境。本文以貨架為基本監(jiān)控單元,對每件貨品嵌入唯一的RFID標簽,在對每個貨架進行自動化的數據采集后再通過Zigbee無線自組織網絡[5-7]反映給倉庫信息管理系統(tǒng),實現集中監(jiān)控和管理。本文重點介紹了數字化倉庫的詳細設計并對其中無線路由算法進行了詳細描述。
系統(tǒng)由硬件設備及倉庫信息管理系統(tǒng)2個方面組成,主要思想即在倉庫管理信息系統(tǒng)中實現貨品、RFID標簽和貨位相結合,以及基于Zigbee組網技術對貨架信息實現無線實時監(jiān)控。
基于RFID技術和Zigbee網絡的數字化倉庫按功能不同可劃分為4個層次,如圖1所示。
圖1 數字化倉庫的總體結構設計
(1)第1層為數據采集層,在入庫時對每件貨物都貼上唯一的RFID電子標簽,再通過遍歷每個貨位的移動識讀節(jié)點對該貨架上的每個貨位進行掃描來獲取整個貨架上的貨物信息,并進行信息的初步整理,如信息編碼和整合。
(2)第2層為網絡通信層,位于每個貨架的移動識讀節(jié)點上的Zigbee節(jié)點,它們通過自組織的形式形成自組織網路,并將經過初步處理的貨架貨物信息發(fā)送至位于服務器端的匯聚節(jié)點。
(3)第3層為系統(tǒng)應用層,主要由貨物信息數據庫服務器和倉庫管理信息系統(tǒng)組成。貨物信息數據庫服務器對通過Zigbee無線網路傳送過來的貨位及貨物信息進行儲存和更新,并提供接口給倉庫管理信息系統(tǒng),讓其能完成監(jiān)控管理的功能。
(4)第4層為功能擴展層,可通過Internet讓上游供貨商或下游零售商了解倉庫貨物信息,也可以讓企業(yè)管理層了解倉庫的運行狀況和庫存信息等,為企業(yè)決策提供參考。
(1)基礎倉庫設施,包含庫房、貨架等。
(2)在貨架上每個貨位間往復運動的移動節(jié)點,可通過不斷地讀取貨位上貨品的RFID標簽來實現對貨架信息的實時監(jiān)控,并通過其中的Zigbee無線通信接口將相關信息發(fā)送給服務器。
(3)RFID識讀器及數字標簽,其中RFID識讀器包括用于收貨取貨的便攜式電子標簽識讀器和貨架上移動節(jié)點中的識讀器。貨架上沒有安裝移動節(jié)點時,可以采用便攜式電子標簽識讀器,通過人工或定時讀出貨架上的貨品信息[8]。
(4)倉庫信息服務器。倉庫信息服務器通過Zigbee無線自組織網絡更新庫區(qū)所有貨架上的貨品信息,或者通過便攜式電子標簽識讀器人工采集貨品信息后無線導入倉庫信息服務器,以刷新其數據庫。倉庫信息數據中的貨品信息提供給倉庫信息管理系統(tǒng)進行處理,同時通過企業(yè)局域網或者物聯網系統(tǒng)向企業(yè)管理人員或者授權的外部機構提供各類數據服務。
(5)主控計算機。用于運行倉庫信息管理系統(tǒng),通過訪問倉庫信息服務器數據庫實現對倉庫貨品信息的數字化管理[9]。
本文采用一種基于Eclipse平臺開發(fā)的倉庫信息管理系統(tǒng)[10-12]。該系統(tǒng)中所有功能模塊都需要與數據庫相關聯,主界面采用Java語言編程,數據庫采用SQL Server2000,結構采用C/S模式,倉庫信息管理系統(tǒng)在功能上完成了入庫管理、出庫管理、貨位管理、數據庫及報表等基本功能。
無線移動識讀節(jié)點由1個讀取數字標簽信息的RFID識讀器、1個用于發(fā)送和接收信息的Zigbee無線網絡通信接口、1個能在貨架上做往返運動的機械移動載體組成,這3個部分通過一個微處理器相互連接并協調工作,如圖2所示。
微處理器定期控制移動載體在貨架的貨位間做一次往復運動,與此同時RFID識讀器也能讀取到貨架上所有貨品的數字標簽,這些數字標簽信息被存儲在微處理器內,一次往復運動結束后,這些整合過的標簽信息由無線移動識讀節(jié)點中的Zigbee接口通過自組織網絡傳送到位于倉庫信息服務器端的Sink節(jié)點[13]。當下一次往復運動開始時,微處理器內的標簽信息被清空,并在結束時得到更新,這樣服務器內貨品的數據庫也能得到及時更新,從而實現對倉庫貨品信息的實時監(jiān)控。
圖2 移動識讀節(jié)點
上述無線移動識讀節(jié)點與服務器端的Sink節(jié)點依靠動態(tài)形成的自組織網絡進行通信,如圖3所示。
圖3 自組織網絡結構
在圖3所示的網絡結構中,無線移動識讀節(jié)點間通過自組織實現相互的通信,在應用過程中每個節(jié)點可通過這種自組織網絡把貨架和貨品的信息傳送給與服務器相連接的Sink節(jié)點,從而刷新服務器中的數據庫,而倉庫信息管理系統(tǒng)通過訪問數據庫來監(jiān)視貨架及其存放的貨品,同時服務器也可以通過企業(yè)局域網或者Internet提供查詢服務,把倉庫里的貨品情況和貨位信息反映給企業(yè)業(yè)務相關人員或者授權的外部機構。
無線自組織網絡的優(yōu)點如下:
(1)Zigbee無線設備的成本低廉,大批量推廣使用沒有太多成本上的制約[14]。
(2)這樣的數字貨架之間通過無線傳輸數據,避免了貨架之間的電纜連線,對于貨架的安放位置具有極大的靈活性,便于倉庫的規(guī)劃。
(3)數字貨架可以在出廠前加工安裝好,出廠后基本不需要后期安裝,直接擺放在庫房里即可正常工作,不受倉庫布局的影響,在庫房進行布局調整或搬遷時也同樣方便,即使是對已有貨架進行改造也不存在技術和工程上的難度。
基于以上數字化倉庫的設計,其在網絡上有著很鮮明的特點:網絡拓撲結構固定不變;依附于貨架的網絡節(jié)點排列整齊有規(guī)律;在工作方式方面有周期性的特點?;谶@些特點本文選擇了多簇結構的層次型路由LEACH算法為本文算法的基礎[15]。
LEACH是第1個基于多簇結構的層次型路由算法,其簇結構的思想在其他很多算法中都被借鑒,如TEEN算法等。在LEACH算法中,各節(jié)點根據簇頭概率p自主決定是否在此輪充當簇頭節(jié)點,一旦決定成為簇頭節(jié)點便會廣播告知整個網絡,由于成為簇頭節(jié)點完全是自主的和隨機的,所以在此之前不需要和網絡中其他節(jié)點進行通訊協調,基于這些因素,LEACH算法有節(jié)約能量、實現簡單、可擴展性好等特點。
LEACH算法有周期性的特性,每個周期叫做一“輪”(round),其中每一輪又分為簇的建立階段和數據傳輸階段2個階段,在簇的建立階段,某些節(jié)點通過選舉成為簇頭節(jié)點,成為簇頭的節(jié)點向周圍擴散廣播信息,其他節(jié)點收到這些簇頭的廣播信號后,根據其廣播信息的強度選擇自己所要加入的簇,并告知相應的簇頭節(jié)點。
在數據傳輸階段,每個簇內的所有節(jié)點將要傳輸的數據發(fā)送給簇頭節(jié)點,簇頭節(jié)點在收到這些數據后,將這些數據進行數據融合并發(fā)送給Sink節(jié)點,數據傳輸完成后,節(jié)點進入新的一輪融合,不斷循環(huán),所以簇頭的工作任務比較繁重,需要完成包括廣播信息、數據融合及與Sink節(jié)點通信等任務,能量消耗很大。
LEACH算法具有很多優(yōu)點,如分層的簇型結構、簇頭節(jié)點的動態(tài)分配和數據聯合處理等,其中數據聯合處理功能在數字化倉庫中顯得尤為突出,貨架上的貨物信息往往都有高度的相關性,由于數據融合力度很大,冗余數據被大量消除,減小了網絡的壓力,也減少了不必要的能量消耗。
但是,LEACH算法也有自身的局限性,首先由于簇頭的隨機產生性,網絡中某一節(jié)點很可能由于能量耗盡而過早“死亡”,其次在簇頭與Sink節(jié)點間的通信中LEACH算法采用的是單跳模式,在數字化倉庫這樣節(jié)點眾多、地理分布范圍大的環(huán)境下通信成本大大上升,而且可靠性也得不到保證。
基于LEACH算法的優(yōu)缺點,結合數字化倉庫的實際工作模式,本文從平衡量消耗和延長網絡存活時間2個方面對LEACH路由算法進行改進,提出了一種基于LEACH區(qū)域簇頭選擇和簇頭間多跳傳輸的路由算法,稱為ILEACH算法。
ILEACH算法下的簇頭產生的流程,如圖4所示。
圖4 簇頭形成過程
和LEACH算法一樣,ILEACH算法也按輪發(fā)送數據,在每輪中也分為簇的建立和數據傳輸2個階段。不同的是,在ILEACH的簇建立階段,每個節(jié)點都能根據自己的能量情況生成一個定時器,其中定時時間和剩余能量以及該節(jié)點做簇頭的次數成反比,定時時間的節(jié)點會產生一個0~1的隨機數,能量剩余越多的節(jié)點產生較小隨機數的概率越大,當該值小于閥值I的節(jié)點將會自動成為簇頭節(jié)點并向外廣播簇頭信息,隨機數大于I的節(jié)點將會重新生成隨機數,根據新產生的隨機數直接將自己確定為簇頭節(jié)點或者普通節(jié)點。
當所有簇頭節(jié)點確定后,和LEACH算法一樣根據收到的簇頭信息確定入哪個簇,如果節(jié)點在定時時間結束之前收到簇頭信息就選擇簇頭發(fā)送入簇并取消計時。簇頭節(jié)點收到入簇請求后,為每個簇內節(jié)點分配TDMA時間表,簇內所有節(jié)點均按照TDMA時間表的節(jié)點順序分時向簇頭發(fā)送數據。
在數據傳輸階段,雖然ILEACH算法和LEACH算法在簇頭節(jié)點和普通節(jié)點間的通信均采用的是單跳模式,但在簇頭與Sink節(jié)點間的通信ILEACH算法不同于LEACH算法的單跳路由方式,而采用簇頭間的多跳路由方式,其目的是在數字化倉庫這種節(jié)點眾多的應用環(huán)境中更節(jié)能。
為了客觀地評論ILEACH路由算法,在NS-2的環(huán)境下對ILEACH算法和LEACH算法分別進行仿真。本文以一個典型的數字化倉庫系統(tǒng)為背景,該倉庫由10×10的矩陣形貨架組成,倉庫進出口位于其一側中點,其Zigbee網絡由100個節(jié)點和1個位于一側的Sink節(jié)點組成,如圖5所示。
圖5 網絡拓撲結構
假設Sink節(jié)點能感知所有區(qū)域,節(jié)點初始能量為2J,數據包的大小為500byte,元數據大小為25byte。
下面比較LEACH路由算法和ILEACH路由算法的性能。
(1)能耗分析。通過把節(jié)點數量從20增加到100(拓撲結構上距離Sink節(jié)點從近到遠增加)后,2種路由算法下能耗隨節(jié)點數目變化而變化的仿真結果,如圖6所示。
圖6 2種算法能耗的對比
從圖6可以看出,隨著節(jié)點數目的增多,LEACH和ILEACH 2種路由算法在能耗上均有一定的增加,但ILEACH路由算法的增加速度一直低于LEACH,尤其是節(jié)點數目高于60個時。但在節(jié)點數目較少的情況下,2種路由算法平均能量消耗差距不大,所以ILEACH算法更適合數字化倉庫這種節(jié)點個數多的應用情況。
(2)存活節(jié)點個數。LEACH算法和ILEACH算法網絡生存周期的仿真結果,如圖7所示。從中可以看出,一開始由于每個節(jié)點都處于滿能量的狀態(tài),所有節(jié)點數目保持100不變,若干輪后,開始有節(jié)點因能量耗盡而“死亡”,導致節(jié)點個數變少,ILEACH中于第393輪才開始出現“死亡”節(jié)點,要晚于LEACH算法,而且在開始有“死亡”節(jié)點產生后,ILEACH節(jié)點死亡的速度也要遠遠低于LEACH算法。
圖7 2種算法網絡存活時間的對比
綜上所述,ILEACH路由算法更節(jié)約能量,同時也在一定程度上避免了能量消耗不均,延長了網絡的生存周期。首先,對簇頭的選擇機制的改進更加有利于平衡節(jié)點的剩余能量,從而有效地延長了網絡的生存周期。其次,采用簇內節(jié)點間單跳模式、簇頭節(jié)點間多跳模式的混合模式,更有利于平衡和Sink節(jié)點間不同距離的簇頭節(jié)點的能量消耗??傊?,ILEACH算法對LEACH算法的2個改進之處,明顯延長了網絡的生存時間。
(1)入庫工作流程,如圖8所示。入庫作業(yè)主要工作步驟如下:① 檢查貨品是否具有唯一標識的RFID數字標簽,核對貨品清單;② 查看倉庫中貨品是否足夠存放所有貨品;③ 為貨品分配貨位;④ 送貨員通過管理員所給出的貨位將貨品送到指定貨位;⑤ 管理員可以通過訪問刷新過的數據庫核對入庫信息;⑥ 完成入庫過程。
(2)出庫工作流程,如圖9所示。出庫主要工作步驟如下:① 核對出貨清單;② 自動/手動選擇出庫貨品;③ 為出庫員提供出貨貨品位置;④ 出貨員取出相關貨品,通過RFID識讀器讀出貨品信息,并與出貨單核對;⑤ 完成出庫。
圖8 入庫工作流程
圖9 出庫工作流程
庫存管理包括庫存盤點和庫存貨位調整,工作流程分別如下:
(1)庫存盤點。倉庫管理員通過對數據庫內最新數據進行訪問得到所有貨品信息數量種類,再進行全面盤點。
(2)庫內貨位調整。倉庫管理員選擇貨品地址調整單據進行庫內貨位調整作業(yè),此作業(yè)不對庫存貨品進行增減。首先倉庫管理員在倉庫信息管理系統(tǒng)中輸入貨位調整指令,貨位調整人員對實際貨品的貨位調整后再通過訪問數據庫來核對貨位調整作業(yè)。
本文將RFID技術應用于倉庫數據采集中,并在其后的數據傳輸中使用Zigbee自組織網絡;針對數字化倉庫的應用環(huán)境對LEACH路由算法進行改進,借助于先進的信息管理系統(tǒng),實現了倉庫的數字化管理,將企業(yè)從繁瑣的傳統(tǒng)倉庫管理中解放出來,在一定程度上克服了傳統(tǒng)倉庫管理的不足,有效降低了成本,為客戶創(chuàng)造了價值。
[1]王光輝,吳 謹.基于RFID技術的自動化倉庫管理系統(tǒng)設計[J].中國水運,2007(12):129-131.
[2]Rao K V S.An overview of backscattered radio frequency identification systerm (RFID)[C]//Microwave Confrence,1999Asia Pacific,1999:746-749.
[3]Declercq C,Joehl M,Curty N,et al.A global survey on short range low power wireless data transmission architecttures for ISM applications [C]//Semiconductor Conference,2001, CAS 2001Proceedings,International,2001:117-126.
[4]蔡宏剛.射頻識別(RFID)技術在倉儲管理系統(tǒng)中的應用研究[D].廣州:華南理工大學,2006.
[5]戚劍超,魏 臻.ZigBee樹型路由算法的改進[J].合肥工業(yè)大學學報:自然科學版,2010,33(4):529-532,537.
[6]賀 文.基于IEEE802.15.4/Zigbee的無線傳感器網絡研究[D].杭州:浙江大學,2006.
[7]Zigbee Alliance.Zigbee/IEEE 802.15.4summary [EB/OL].[2010-05-10].http://www.Zigbee.Com.
[8]夏 田,舒 蕾,蔣新萍.RFID技術在倉儲系統(tǒng)中的應用[J].包裝工程,2008(7):94-95.
[9]王建維,謝 勇,吳計生.基于RFID的數字化倉庫管理系統(tǒng)的設計與實現[J].物流技術,2009,28(4):130-132.
[10]李逢玲,鄭 飛.基于C/S模式的倉庫管理信息系統(tǒng)的設計與實現[J].現代電子技術,2008(16):87-88.
[11]牛東來.現代物流信息系統(tǒng)[M].北京:清華大學出版社,2004:3-34.
[12]吳忻生,袁 鵬.數字化倉庫遠程監(jiān)控系統(tǒng)的設計與實現[J].華 南 理 工 大 學 學 報:自 然 科 學 版,2003,31(9):31-34.
[13]姚 春.Zigbee在大數量節(jié)點應用中的問題研究[J].微計算機信息,2009,25(1/2):3-5.
[14]蔣 挺,趙成林.紫蜂技術及其應用[M].北京:北京郵電大學出版社,2006:50-100.
[15]劉守軍.無線傳感器網絡LEACH算法的研究[J].武漢理工大學學報:自然科學版,2007,29(10):43-45.