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