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