陳必泉
摘? 要:RFID是一種非接觸式自動識別技術,具有數據存儲量大、讀寫速度快和抗干擾能力強等諸多優點,在定位追蹤方面得到了廣泛應用。RFID中間件作為連接讀寫器和應用系統的紐帶實現了硬件設備與應用系統之間的數據傳輸、過濾、轉換,降低了應用開發難度。該文提出一種分層的RFID中間件設計,將定位追蹤的業務邏輯功能以內部模塊的方式集成到中間件中,對外提供面向定位追蹤服務的統一API接口,從而有效地降低了應用系統的內部耦合性,加快了開發速度。
關鍵詞:RFID;中間件;定位追蹤;API接口
中圖分類號:TP391? ? ? ? ? ? 文獻標志碼:A
0 前言
RFID是一種非接觸式自動識別技術,可以快速讀寫、長期跟蹤管理,在智能識別領域有著非常好的發展前景。RFID中間件實現RFID硬件設備與應用系統之間的數據傳輸、過濾、數據格式轉換。RFID中間件技術的使用降低了應用開發的難度,使應用系統開發者不需要直接面對底層硬件,只需要了解它提供的接口。現有RFID中間件主要實現了對多種RFID讀寫器的驅動程序管理和設備監控,解決了RFID數據的采集、過濾和收集問題,但是需要應用系統承擔RFID事件與業務數據的集成工作,這就造成了RFID應用系統的內部耦合較高,降低了系統架構的靈活性。
該文提出一種可以用于人員和物品定位追蹤的RFID中間件(以下簡稱中間件)設計,將定位追蹤的業務規則有效融入RFID事件過濾、識別、聚合等管理過程中,然后在具體的業務過程上下文中處理這些RFID事件,對外提供訪問接口以方便實現中間件與應用系統數據交換與集成。
1 需求分析
對人員和物品進行區域定位追蹤是RFID的典型應用之一,其基本過程如下。將監控范圍劃分為若干獨立區域,在區域內安裝RFID讀寫器作為定位基站,將需要定位追蹤的對象與RFID標簽進行綁定(通常是將一個全局唯一的ID號寫入標簽)。每個區域內部署的讀寫器都有自己唯一的地址碼或標識,當標簽進入定位基站讀卡范圍后,標簽信息被讀取并通過讀寫器傳輸到定位追蹤系統。定位追蹤系統接收到的信息包括讀寫器和標簽信息,根據事先配置好的讀寫器和位置映射表,可以定位出標簽所在的位置。
采用了中間件的RFID定位追蹤系統一般包括4個部分。標簽、讀寫器、中間件和應用系統。中間件作為系統的核心,需要有效解決RFID讀寫器適配、數據清洗與過濾、實時性和定位追蹤業務流程的集成等關鍵技術問題。
2 中間件設計
中間件采用分層結構進行設計,包括硬件適配層、事件處理層、定位服務層和接口層。
2.1 硬件適配層
硬件適配層旨在對設備操作進行抽象,屏蔽具體的硬件細節,為上層提供統一的訪問接口。該層定義了一個LogicalReader接口,接口包括設備讀寫和配置方法,并提供設備類型和實例、線程池等管理功能。在使用時需要針對具體型號的讀寫器開發設備適配模塊(實現了LogicalReader接口),中間件啟動后通過解析配置文件對設備適配模塊進行動態加載。設備適配模塊向中間件注冊對應的設備類型。當激活一個設備時,中間件通過設備適配模塊生成設備實例,并調用LogicalReader接口方法完成與設備的交互。
2.2 事件處理層
事件處理層接收從數據源(硬件適配層)中發來的原始標簽讀取信息,按照時間間隔等條件累計數據,將重復或不感興趣的數據剔除過濾,將結果封裝成事件報告向上層提交。
2.2.1 事件報告
一個定位事件表現為代表位置的讀寫器在某個時間點讀取到代表被定位目標的標簽,可以使用一個三元組來表示。例如Reader1在t1時刻讀到tag1,可簡記為(Reader1,t1,tag1)。由于在t1時刻,Reader1可以讀到很多標簽(例如tag1和tag2),所以事件處理器層會生成一組三元組(Reader1,t1,tag1),(Reader1,t1,tag2)}。讀寫器輸出的標簽數據量可能很大和不完整,需要進行收集、清洗和過濾。
2.2.2 過濾
事件通過過濾器進行處理。過濾器定義了事件過濾規則,對輸入的事件進行識別、剔除。若干過濾器組成鏈表,可對鏈表進行插入和刪除操作,鏈表上的過濾器將依次被調用進行事件過濾。過濾器包括了不同的過濾規則,對數據是否完整、是否重復讀等約束性條件進行規則匹配,對滿足條件的數據進行丟棄、合并操作。過濾后的結果生成事件報告寫入消息隊列。
2.2.3 消息隊列
事件報告被寫入消息隊列,由上層模塊進行進一步處理。事件處理層的請求數據發送給消息隊列之后立即返回,再由消息隊列的消費者從消息隊列中獲取數據,異步寫入數據庫。由于消息隊列服務器處理速度快于數據庫(消息隊列也比數據庫有更好的伸縮性),因此響應速度得到大幅改善。因此消息隊列具有很好的削峰作用的功能——即通過異步處理,將短時間高并發產生的事務消息存儲在消息隊列中,從而削平高峰期的并發事務。
2.3 定位服務層
定位服務模塊負責解析讀寫器事件,將其解析為業務層面的目標定位報告并寫入數據庫。該層的核心工作包括目標綁定、位置綁定、數據轉換。
2.3.1 目標綁定
業務應用系統中需要定位追蹤的資產或人員在中間件中被視為目標(Target),通過一個追蹤ID(Target ID)進行表示。業務系統中將需要定位追蹤的目標與Target ID進行一對一關聯,并將Target ID與RFID標簽(Tag)進行綁定,在中間件中通過此ID對目標訪問位置信息。
2.3.2 位置綁定
業務應用系統中的定位區域在中間件中被視為位置(Position),通過一個追蹤ID(Position ID)進行表示。業務系統中將區域與Position ID進行一對一關聯,并將Position ID與讀寫器設備(Reader ID)進行綁定,從此設備返回的事件視為被定位追蹤目標,能夠在此區域內被定位到。
2.3.3 數據轉換
讀寫器事件可以用一個三元組表示
2.3.4 數據處理過程
定位服務層維護了一張映射表,以消費者的身份從消息隊列中取出事件報告。分析事件報告后生成定位追蹤報告。為了提高對最新定位信息訪問的速度,定位報告首先用于更新緩存中的信息,然后再寫入數據庫。
2.4 接口層
接口層為外部應用訪問中間件提供統一API接口,內容涵蓋設備管理、目標綁定、區域位置綁定、當前位置查詢和歷史數據查詢。接口采用基于HTTP協議的RESTful風格,使用JSON作為協議報文格式。外部應用請求首先到達中間件的接口層,經過過濾后(參數檢查、報文校驗和錯誤處理),按照事先定義好的路由規則被分發到具體的服務模塊中進行處理并返回結果。
3 結論
RFID中間件為企業開發應用系統提供了更有效的手段。該文提出的RFID定位追蹤中間件采用了分層的架構設計,實現了定位追蹤業務功能的整合,具有易于集成、并發性好、實時性強的特點,可以有效降低應用系統的內部耦合性,提高開發速度和系統性能。
參考文獻
[1]楊玉麗.RFID技術在實驗室資產管理中的應用[J].山東工業技術,2018(2):110-109.
[2]程靜,賈銀江,關靜.RFID中間件在肉牛養殖溯源系統中的應用[J]. 農機化研究,2015(5):224-228.
[3]吳雯,李士寧,李志剛,等.基于SOA與資源即插即用的RFID中間件[J].計算機技術與發展,2014(9):45-49.
[4]張祎.基于復雜事件處理的輕量級RFID中間件設計[J].自動化與儀器儀表,2016(8):171-174.
[5]班賀,袁紅兵.面向倉儲管理的RFID中間件的設計與應用[J].機械制造與自動化,2016(3):121-124.