1 引言
RFID(Radio Frequency Identification)也稱射頻識別技術,可實現更大范圍內的物品跟蹤與信息共享,并大幅提高管理與運作效率,降低成本。目前RFID 應用軟件多數都是圍繞中間件或讀寫器進行設計[3],本文提出并初步實現了面向RFID 應用部署的可視化仿真系統。該系統利用組態技術實現,仿真運行基于標簽事件驅動,并在RFID 測試數據的統計分析基礎上設計了虛擬設備仿真算法,可以幫助用戶針對具體RFID 應用部署場景建立直觀準確的應用模型系統。通過將應用場景內各種實物和RFID 設備等部署單元抽象為仿真模型,模擬其工作特性和相互關系[1],來分析測試RFID 部署方案在實際應用中出現的主要問題和影響因素,進而提出科學合理的解決方案,為進行實際應用開發提供技術支持。
2 系統結構與流程設計
2.1 體系框架
如圖1 所示,系統主要由用戶界面模塊、數據處理模塊、虛擬設備模塊以及RFID 測試數據庫和本地數據庫五部分組成,它們之間接口獨立,相互協調工作,共享信息。在該體系架構中,用戶界面模塊是系統的用戶接口,負責顯示各種界面控件、部署效果以及動態仿真動畫等,用戶根據具體RFID 應用場景和業務需求自定義部署系統,配置界面調用虛擬設備模塊的各種虛擬設備屬性和配置參數供用戶修改,其中用到的各種參數均從RFID 測試數據庫中下載。虛擬設備模塊對仿真系統中的虛擬標簽和虛擬讀寫器進行統一管理,實時接收運行過程中產生的各種原始數據進行相關計算,將計算結果提交數據處理模塊進行二次數據處理(如業務規則事件觸發),所有結果數據保存在本地數據庫中,同時將部分數據返回至用戶界面模塊。這里需要提到的是設備驅動子模塊,該模塊統一封裝常用RFID 設備廠商驅動并提供EPC Global 規定的讀寫器標準接口,目的是在必要時連接RFID 實物設備對仿真系統某些關鍵節點進行校正[6],使總體仿真結果更加準確可靠。RFID 測試數據庫作為整個系統的數據源實時保持更新,它可以存儲在服務器數據庫中,也可以保存在本地數據庫中,供仿真系統下載和調用相關數據,程序代碼通過JDBC 技術來訪問數據庫。
圖1 RFID 部署仿真系統體系架構模型
2.2 RFID 測試數據庫
為了使系統的仿真結果準確可靠,所有虛擬設備配置參數和后臺仿真算法的數據源均由RFID 測試數據庫提供,該數據庫為關系型數據庫,主要包括讀寫器參數表、讀寫器配置表、標簽-距離表、標簽-速度表、標簽-角度表、標簽-高度表、標簽-介質表、標簽-數量表、標簽-溫度表、標簽-濕度表等數據表格,各項數據表格內的測試數據均在實驗室模擬環境測試得出。
2.3 動態仿真流程
系統動態仿真流程如圖 2 所示,仿真系統運行之前首先載入RFID 測試數據,用戶根據實際應用需求自定義應用部署系統,系統自動將各項配置轉化為具體參數并保存,供系統仿真運行時調用。這里的運行態基于事件驅動設計,利用多線程并行實現,每個線程中仿真模擬一個或多個虛擬標簽,若虛擬標簽觸發虛擬讀寫器成功,則根據用戶自定義業務邏輯規則尋找對應的標簽事件,保存至本地數據庫并實時顯示在系統界面中。當所有線程的標簽事件觸發完畢時,仿真系統運行結束,此時所有仿真運行數據均保存在本地數據庫中,部分數據同時顯示在系統界面內供用戶查詢。最后啟動數據分析挖掘模塊,根據自定義統計規則和數據挖掘算法對本地數據庫中的相關數據進行整理歸納,統計仿真系統的靜態負載、動態負載、流程瓶頸等指標,同時自動生成相應的咨詢建議供用戶參考[6],以文字和圖表的形式反饋至系統界面。
圖2 系統仿真流程2.4 虛擬標簽觸發算法
判斷虛擬標簽是否觸發指定虛擬讀寫器是仿真系統運行的關鍵環節,觸發概率算法的準確與否直接決定仿真結果的可信性,以下為虛擬標簽的觸發概率算法:
下面以虛擬標簽運行到坐標(x, y)時為例,計算與坐標為(v, w)虛擬讀寫器之間的觸發概率算法如下:
//此方法通過線程循環方式實現讀寫器對虛擬標簽讀取概率的計算,t為讀寫器的讀取標簽循環指令周期
3 系統實現
系統在Microsoft Windows Server 2003 操作系統、Eclipse 3.2 + JDK1.6 + SWT Designer6.0,SQL Server 2000 數據庫的環境下開發。
3.1 界面實現
界面按照操作順序主要分為三類界面:
(1) 新建項目界面。用戶新建項目、參數配置、RFID 設備選擇和RFID 設備配置。
(2) 系統主界面。提供可視化部署窗口,并顯示部署系統動態運行的動畫效果。
(3) 運行結果分析統計界面。生成統計結果和咨詢建議,以文字和圖表的形式顯示。
3.2 接口實現
該系統接口主要分為兩大類:第一種是代碼模塊之間的數據傳輸接口,這些接口由Java語言本身定義。第二種接口是代碼模塊與數據庫之間的數據傳輸接口,此類接口基于JDBC技術實現,以XML 標準格式進行傳輸。
3.3 功能實現
系統實現的主要功能有:
(1) 提供用戶對仿真部署方案的新建、保存、修改和刪除等功能。
(2) 對系統仿真部署過程中提供各種操作功能,如添加、刪除、修改,參數設置等。
(3) 以動畫仿真和界面數據實時動態更新等形式提供生動的用戶交互界面。
(4) 提供對本地數據庫原始數據的查詢和過濾功能,但是用戶沒有修改權限。
(5) 以圖表的形式提供良好直觀的仿真結果分析查詢功能。
(6) 提供對仿真系統流程瓶頸、負載壓力以及潛在不穩定節點等各項指標的分析功能。
(7) 提供系統常用維護功能,包括操作日志管理,本地數據庫數據導出等。
4 總結
本文所論述的RFID 部署仿真系統基于組態技術和事件驅動進行設計,可以直觀有效幫助用戶配置和部署RFID 應用系統,建立虛擬設備仿真模型,向RFID 系統部署用戶或開發人員提供一個良好的可視化開發平臺。該系統基于RFID 測試數據庫進行設計,根據環境參數的設置模擬應用現場RFID 設備的讀取情況,盡量保證仿真系統的準確性和可信性。
本文作者創新點為將組態虛擬技術應用到RFID 應用部署過程中,針對RFID 技術特性的設計了虛擬化設備模型和標簽觸發規則等,并引入了現場測試數據來修正模擬運行結果,從而在一定程度上解決了當前RFID 技術不成熟和標準不統一對實際部署造成的各種困難。