基于RF和因特網(wǎng)的機(jī)場(chǎng)集成行李處理系統(tǒng)
2.2 系統(tǒng)開發(fā)平臺(tái)
該系統(tǒng)運(yùn)用Internet環(huán)境,采用B/S模式進(jìn)行開發(fā)。系統(tǒng)服務(wù)器端操作系統(tǒng)選用WindowsServer2008,開發(fā)工具為Eclipse,主要技術(shù)為JavaEE和使用Java語言編程,數(shù)據(jù)庫系統(tǒng)選用Oracle11g,分揀機(jī)采用FKILogistexS-3000E翻碟式分揀機(jī)。在該系統(tǒng)中,其中一套用于國內(nèi)飛行,兩套用于國際飛行。
S-3000E翻碟式分揀機(jī)的另一重要特點(diǎn)是,為處理不可讀標(biāo)簽提供了手動(dòng)編碼區(qū)。FKILogistex系統(tǒng)具有極強(qiáng)的處理能力和極高的靈活性,因此無論是國際航班還是國內(nèi)航班,抵達(dá)上海還是在上海中轉(zhuǎn),都能夠輕松地進(jìn)行行李分揀。
3 機(jī)場(chǎng)集成行李處理系統(tǒng)實(shí)現(xiàn)
3.1 系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)
機(jī)場(chǎng)集成行李處理系統(tǒng)中行李鏈條上每個(gè)參與對(duì)象都是處理系統(tǒng)的關(guān)鍵點(diǎn),一旦產(chǎn)品出現(xiàn)問題,是否能夠查找到具體的問題來源和正確實(shí)施行李回收取決于參與對(duì)象的記錄是否健全。
為確保機(jī)場(chǎng)集成行李處理的完整性,行李鏈條上每個(gè)參與對(duì)象都進(jìn)行了惟一編碼。編碼由2位行李類別碼和18位旅客ID碼、10位登機(jī)日期碼和3位登機(jī)地碼、3位目的地碼及4位序列號(hào)組成。在旅客登機(jī)托運(yùn)行李前,為每一位旅客的行李上貼一個(gè)RFID卡,每張RFID卡惟一對(duì)應(yīng)一位旅客的行李。RFID卡能快速準(zhǔn)確地為行李分揀機(jī)提供自動(dòng)識(shí)別功能,操作快捷方便,同時(shí)在機(jī)場(chǎng)的惡劣環(huán)境中即使RFID卡部分磨損也不會(huì)影響分揀機(jī)的識(shí)別效果。RFID電子標(biāo)簽編碼組成如圖5所示。
3.2 RFID讀寫器服務(wù)組件的設(shè)計(jì)
在本系統(tǒng)中將每個(gè)讀寫器模塊的遠(yuǎn)程方法調(diào)用封裝為一個(gè)管理組件(MBean)作為JMX服務(wù)器的實(shí)例注冊(cè)到JMX服務(wù)器中。JMX(Javamanagementextensions,Java管理擴(kuò)展)是一個(gè)為應(yīng)用程序、設(shè)備、系統(tǒng)等植入管理功能的框架。在JMX規(guī)范中,管理組件是一個(gè)能代表管理資源的Java對(duì)象,遵從一定的設(shè)計(jì)模式,實(shí)現(xiàn)該規(guī)范定義的特定的接口。該定義保證了所有的管理組件以一種標(biāo)準(zhǔn)的方式來表示被管理資源。管理接口就是被管理資源暴露出的一些信息,通過對(duì)這些信息的修改就能控制被管理資源。管理接口包括能被接觸的屬性值、能夠執(zhí)行的操作、能發(fā)出的通知事件等。
通過JMX框架對(duì)讀寫器進(jìn)行監(jiān)控和管理,使RFID中間件系統(tǒng)能提供管理、監(jiān)控讀寫器的功能。JMX時(shí)間服務(wù)在指定的日期和時(shí)間觸發(fā)消息,也可以在一個(gè)固定間隔重復(fù)觸發(fā)消息。時(shí)間服務(wù)由一個(gè)MBean實(shí)現(xiàn)并可以管理,能夠發(fā)送它指定的timerNotification類的消息實(shí)例,而Java提供的接口javax.
management.NotificationListener由想要接收通知的對(duì)象來實(shí)現(xiàn),實(shí)現(xiàn)方法handleNotification。對(duì)于定期通知?jiǎng)t使用固定延遲執(zhí)行方案,如在timer中指定的那樣。為了使用固定速率執(zhí)行方案,要使用addNotification方法。
3.3 RFID中間件的設(shè)計(jì)
根據(jù)前面研究的標(biāo)簽ID表示方法以及savant中間件的定義,RFID中間件的功能模塊應(yīng)該包含如下幾個(gè)功能模塊:
Reader接口模塊、邏輯驅(qū)動(dòng)器映射模塊、RFID數(shù)據(jù)過濾模塊、業(yè)務(wù)規(guī)則過濾模塊、設(shè)備管理與配置模塊、上層服務(wù)接口模塊,如圖6所示。其中:reader接口用于中間件與RFID讀寫器的數(shù)據(jù)通信,主要有獲取RFID數(shù)據(jù)以及下達(dá)設(shè)備管理模塊的讀寫器指令;設(shè)備管理配置模塊用于調(diào)整RFID讀寫設(shè)備的工作狀態(tài),配置相應(yīng)的reader接口參數(shù)等;邏輯讀寫器映射模塊用于將多個(gè)物理讀寫器或者讀寫器的多條天線映射成為一個(gè)邏輯讀寫器。一個(gè)邏輯讀寫器代表了一個(gè)有具體含義的數(shù)據(jù)采集點(diǎn)(如機(jī)場(chǎng)1號(hào)航站樓),而不管該采集點(diǎn)在物理上由多少個(gè)讀寫器和天線組成。它屏蔽了數(shù)據(jù)采集點(diǎn)的具體實(shí)現(xiàn)方式,減少了數(shù)據(jù)過濾等上層模塊與下層數(shù)據(jù)采集部分的軟件耦合度。對(duì)于上層模塊來說,可見的只有邏輯讀寫器,所以邏輯讀寫器映射模塊對(duì)RFID數(shù)據(jù)有初步過濾的功能。
4 RFID數(shù)據(jù)采集過濾方法設(shè)計(jì)
RFID采集的原始數(shù)據(jù)量非常大,在實(shí)際應(yīng)用中,根據(jù)具體的配置不同,每臺(tái)讀寫器每秒可以上報(bào)數(shù)個(gè)至數(shù)十個(gè)不等的電子標(biāo)簽數(shù)據(jù),如重復(fù)多次掃描同一個(gè)電子標(biāo)簽,但其中只有少部分是對(duì)用戶有意義的、非重復(fù)性的數(shù)據(jù),這樣大量的數(shù)據(jù)如果不經(jīng)過去冗等處理而直接上傳,將會(huì)給整個(gè)RFID系統(tǒng)帶來很大的負(fù)擔(dān)。所以,對(duì)RFID采集的數(shù)據(jù)進(jìn)行過濾處理。
RFID數(shù)據(jù)采集過濾方法設(shè)計(jì)主要分為以下幾類:
a)建立數(shù)據(jù)采集事件列表類。
對(duì)每一個(gè)新到電子標(biāo)簽數(shù)據(jù)進(jìn)行實(shí)時(shí)檢測(cè),如果是新掃描的電子標(biāo)簽,則加入到相應(yīng)列表中;如果該標(biāo)簽在列表中已存在,則僅更新對(duì)應(yīng)標(biāo)簽的時(shí)間等狀態(tài)數(shù)據(jù),而不新建標(biāo)簽數(shù)據(jù)記錄,以達(dá)到清除重復(fù)數(shù)據(jù)的目的。
b)數(shù)據(jù)采集事件編碼類。
對(duì)電子標(biāo)簽狀態(tài)的改變進(jìn)行編碼,定義標(biāo)簽出現(xiàn)的狀態(tài)編碼為0,標(biāo)簽狀態(tài)消失的編碼為1,然后加入計(jì)時(shí)器機(jī)制,對(duì)計(jì)時(shí)器有效時(shí)間內(nèi)的同一標(biāo)簽的狀態(tài)跳變進(jìn)行忽略,從而在狀態(tài)定義和時(shí)間維度兩個(gè)方面對(duì)數(shù)據(jù)進(jìn)行去重化。
上述這些算法均能夠很好地消除冗余數(shù)據(jù),減少上層系統(tǒng)的負(fù)荷。但在實(shí)際應(yīng)用中,除了RFID數(shù)據(jù)的去冗化以外,對(duì)數(shù)據(jù)的過濾還有著其他的需求。比如,由于信號(hào)不穩(wěn)定或其他干擾因素,行李上的RFID標(biāo)簽并不能在每一個(gè)讀寫器周期中被檢測(cè)到;或者當(dāng)行李車從貨架旁走過時(shí),其行李車內(nèi)已有的物品被機(jī)場(chǎng)入口內(nèi)的讀寫器誤讀到。針對(duì)上述問題,設(shè)計(jì)了在不同應(yīng)用場(chǎng)景下的適應(yīng)性和有效性的過濾算法。實(shí)驗(yàn)平臺(tái)使用RS-232接口的單天線讀寫器,該讀寫器報(bào)告周期為1s,每次報(bào)告標(biāo)簽數(shù)為五個(gè)。算法實(shí)現(xiàn)采用Java語言,通過Java串口來進(jìn)行串口通信。
評(píng)論