《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > RFID 中間件基準性能測試平臺研究與設計
RFID 中間件基準性能測試平臺研究與設計
RFID世界網
趙科俠 譚杰 季剛
摘要: RFID是自動識別技術中的一種,它利用射頻方式進行非接觸雙向通信以達到識別的目的。RFID技術由...
Abstract:
Key words :

1 引言

  RFID是自動識別技術中的一種, 它利用射頻方式進行非接觸雙向通信以達到識別的目的。RFID 技術由于其獨有的優點,吸引力與日俱增。出于對市場前景的預期和簡化RFID 系統建設、維護工作的需求, 一些大的軟件公司( 如IBM, BEA, Microsoft等) 相繼推出了各自的RFID 中間件產品。

  RFID 中間件扮演的是RFID 讀寫器和應用程序之間的中介角色, 從應用程序端使用中間件提供的一組共通的ApplicationInterface (應用接口程序, API), 即能連到RFID 解讀器, 讀取RFID 標簽資料。如此一來, 即使儲存RFID 標簽情報的資料庫軟件或后端應用程序增加或改由其他軟件取代, 或者RFID解讀器種類增加等情況發生, 應用端不需要修改也能處理, 省去多對多連結復雜維護的麻煩。

  出于對RFID 中間件的重視, 為企業在實施RFID 系統時選擇RFID 中間件產品提供參考, 有必要對RFID 中間件的性能進行測試。性能測試包括中間件處理下層讀寫器數據和支持上層應用程序調用的能力?,F有的性能測試工具( 如LoadRunner, JMeter, Benchmark Factory 等) 存在著測試對象單一、測試結果不易比較等問題, 并不能滿足測試的需要, 這就需要一套針對RFID 中間件基準性能的測試方法和測試平臺。

2 參數選取及其測試方法

  對于RFID 中間件的使用者而言, 關心的無外乎以下幾個方面: 支持的讀寫器; 提供的應用程序接口; 并發處理的讀寫器數量、應用程序客戶端數量; 吞吐量; 響應時間。對于一定的應用環境, 前兩個是能不能使用的問題, 而后四個是使用效果的問題, 也就是本文所論述的基準性能問題。下文分別就這四個基準性能參數作了解釋, 并給出了測試方法。

  并發處理的讀寫器數量( NoR, Number of Readers) : 在一定的系統開銷和應用程序客戶端響應時間限制下, RFID 中間件能夠同時處理的讀寫器數量。這里的讀寫器是指與RFID 中間件相連接, 且同時向RFID 中間件以一定的頻率發送標簽數據的讀寫器。在測試過程中, 監控系統資源占用( cpu 和內存使用率) 和應用程序客戶端響應時間, 逐步增加發送數據的讀寫器數量, 當系統資源占用和響應時間達到限制值時, 就得到了NoR。

  并發處理的應用程序客戶端數量(NoC, Number of Clients) : 在一定的系統開銷和應用程序客戶端平均響應時間限制下, RFID 中間件能夠同時處理發送操作請求的客戶端數量。測試方法與NoR 類似, 通過監控系統資源占用和應用程序客戶端平均響應時間, 逐步增加發送操作請求客戶端數量, 當系統資源占用和平均響應時間達到限制值時, 就得到了NoC。吞吐量( Throughput) : 在一定的系統開銷和客戶端響應時間要求下, RFID 中間件能夠處理的讀寫器端發送標簽數據的頻率。類似的, 通過監控系統資源占用和應用程序客戶端響應時間, 逐步增加讀寫器發送數據的頻率, 當系統資源占用和平均響應時間達到限制值時, 就得到了Throughput。

  響應時間(RT, Response Time) : 應用程序客戶端發送事件請求到RFID 中間件完成操作的時間間隔。測試方法相對簡單,只需要通過應用程序客戶端發送需要測試的操作請求, 記錄其響應時間即可。

3 RFID 中間件基準性能測試平臺

  對RFID 中間件的測試涉及到兩方面的測試數據來源: 讀寫器端的標簽數據和應用程序客戶端的操作請求。使用實際的讀寫器和應用程序進行測試面臨兩方面的問題: 1) 測試工作需要大量的讀寫器設備, 這需要大量的資金; 2) 搭建這么多設備所組成的測試環境, 工作量將極其巨大、復雜。一個切實有效的解決辦法就是通過軟件對讀寫器和應用程序進行仿真, 由虛擬讀寫器(Virtual Reader) 和虛擬客戶端(Virtual Client) 向RFID中間件發送測試數據。

  3.1 總體框架

  基于虛擬讀寫器和虛擬客戶端的RFID 中間件基準性能測試平臺分為以下四個模塊:

  1) 虛擬讀寫器: 對讀寫器進行仿真, 生成標簽數據, 與RFID 中間件進行通信。

  2) 虛擬客戶端: 生成對RFID 中間件的操作請求, 并記錄響應時間。

  3) 測試控制臺: 根據測試模式控制虛擬讀寫器和虛擬客戶端的運行, 監視系統資源占用情況, 記錄測試數據。

  4) 報告生成器: 由測試數據生成圖形化測試報告。
 

  為了降低測試平臺的運行對測試結果的影響, 系統采用分布式架構, 即虛擬讀寫器、虛擬客戶端以及RFID 中間件分別運行在局域網的不同計算機上。虛擬讀寫器、虛擬客戶端與測試控制臺之間的通信通過Web Service 實現。系統整體軟件框架如圖1。

  3.2 虛擬讀寫器

  虛擬讀寫器是為了降低測試成本, 簡化測試工作而開發的, 是整個測試平臺的基礎。虛擬讀寫器接受RFID 中間件的輪詢, 解析RFID 中間件事件, 并生成標簽數據, 發送給RFID 中間件, 實現對讀寫器的仿真。主要包括以下幾個功能模塊:參數設置模塊: 提供給測試控制臺進行虛擬讀寫器的參數設置的接口, 包括讀寫器數量、端口、發送數據頻率、持續時間、標簽數據格式以及啟動、關閉虛擬讀寫器等。該模塊接口設計如下:

public interface iReaderEmulatorControl
{
......
public void on();
//打開虛擬讀寫器
public void off();
//關閉虛擬讀寫器
public boolean setReaderNumber(int readerNumber); //設置
模擬的讀寫器數量
public boolean setReaderType(ReaderType tagType);
//設置模擬的讀寫器類型
public boolean setTagType(TagType tagType);
//設置模擬的標簽類型
public boolean setPortRange(int minPort, int maxPort);
//設置虛擬讀寫器端口號區間
public boolean setTransTime(int mSec);
//設置模擬時間
.......
}
  數據發生模塊: 根據測試控制臺設定的相關參數, 產生符合標準( EPCglobal, ISO15693 等) 的標簽數據。

  驅動模塊: 解析與RFID 中間件的通信協議, 將數據發生模塊的數據封裝后傳遞給數據傳輸模塊。該模塊是實現虛擬讀寫器與RFID 中間件通訊的關鍵, 以ThingMagic Mercury4 為例,使用正則表達式對RFID 中間件的事件進行解析, 設計正則表達式部分如下:
......
Pattern firstCheck = Pattern.compile ("([A- Z]+)([a- zA- Z_]+)(.
*)"); //初始匹配
Pattern selectPatten = Pattern.compile ("SELECT .*? \\(?antenna_
id *= *([0- 9]+)( +OR +antenna_id *=
*([0- 9]+))?( +OR +antenna_id *= *([0- 9]+))?( +OR +antenna_
id *= *([0- 9]+))?\\)?.* time_?out *= *([0- 9]+).*"); //匹配
SELECT 方法
Pattern updatePatten = Pattern.compile ("UPDATE .* SET (.
*?) *= *(0x)?([0- 9A- Fa- f]+).*?
(time_?out *= *([0- 9]+))? WHERE .*antenna_id *= *([0- 9]
+).*"); //匹配update 方法
Pattern antenna_idPatten = Pattern.compile(".* antenna_id *=
*([0- 9]+).*"); //匹配天線id
Pattern idPatten = Pattern.compile (".* WHERE.* id *= *0x
([0- 9A- Fa- f]+).*"); //匹配id
Pattern blockNOPatten = Pattern.compile (".* block_number
*= *([0- 9]+).*"); //匹配標簽塊號
Pattern blockCountPatten = Pattern.compile (".* block_count
*= *([0- 9]+).*"); //匹配標簽塊數
......

  數據傳輸模塊: 完成與RFID 中間件的通訊。

  3.3 虛擬客戶端

  虛擬客戶端與虛擬讀寫器類似, 除了完成接收測試控制臺參數并向RFID 中間件發送操作請求的功能外, 還需要接收RFID 中間件返回數據并記錄響應時間??梢苑殖梢韵? 個功能模塊:

  參數設置模塊: 提供給測試控制臺進行虛擬客戶端的參數設置, 包括連接的RFID 中間件IP 地址、端口、測試的Web 服務及并發請求數量等。

  事件發生模塊: 該模塊根據EPCglobal 的ALE(Application Level Event) 標準提供對RFID 中間件的Web Service 調用接口, 由測試控制臺根據測試計劃進行選擇。

  監控模塊: 監控測試過程中調用RFID 中間件Web Service的響應時間, 并將結果記錄到相應的XML 文檔。

  數據傳輸模塊: 調用RFID 中間件的Web 服務, 接受RFID中間件返回的數據。

  3.4 測試控制臺

  測試控制臺是整個RFID 中間件基準性能測試平臺的指揮中心。測試控制臺根據用戶設定的測試需求, 設定自動測試步驟, 控制虛擬讀寫器和虛擬客戶端的運行, 記錄系統資源占用情況, 并將所有測試數據匯總, 保存為XML 文檔。測試控制臺從功能上分為以下幾個模塊:

  用戶界面: 提供用戶操作界面。

  監控模塊: 監控每一個測試步驟中系統資源占用情況, 包括CPU、內存。

  測試模式設置: 為了最大限度的實現測試自動化, 該模塊提供預先定義的測試模式。在測試中, 用戶只需要指定所要測試的RFID 中間件( IP 地址、端口等) 以及所要測試的參數(NoR,NoC, Throughput, RT) 。

  數據傳輸模塊: 將測試每一步的參數發送給虛擬讀寫器和虛擬客戶端。

  3.5 報告生成器

  測試的最終目的是將測試結果供人參考, 所以一個直觀、易讀的測試報告是必要的。報告生成器模塊根據測試控制臺生成的記錄測試數據的XML 文件數據, 生成圖形化的測試報告。

4 測試流程

  使用RFID 中間件基準性能測試平臺對某一種RFID 中間進行基準性能測試的流程大體上可以分為5 個層次, 如圖2 所示。

  1) 配置測試參數: 在測試工作開始前需要在控制臺配置所要測試的RFID 中間件相關信息( IP, 端口,Web 服務等) , 還需要在被測的RFID 中間件中配置相關讀寫器信息( 在測試中就是虛擬讀寫器, 包括虛擬讀寫器服務器的IP、端口) 。

  2) 監控運行被測RFID 中間件: 配置完測試參數后運行RFID 中間件, 并對運行過程中的信息進行監控。

  3) 測試主體模塊: 記錄測試過程中每一步的數據。以測試NoR 為例, 每一步需要記錄的數據有測試讀寫器數量、發送數據頻率、數據格式、CPU 占用率、內存使用率、應用程序客戶端調用的Web 服務、響應時間。

  4) 生成記錄測試數據的XML 文件: 將測試數據整理后以XML 形式存到指定路徑下。

  5) 生成圖形化測試報告: 這是一個相對比較獨立的步驟,用戶可以根據需要選擇選擇需要生成報告的測試數據文件。

5 結束語

  RFID 中間件是RFID 系統中非常重要的一部分。RFID 中間件接收并處理讀寫器發送的數據, 并為上層應用程序客戶端提供服務, 大大簡化了RFID 系統實施的復雜性。本文針對RFID 中間件的特點, 提出了表征RFID 中間件基準性能的參數及其自動化測試方法, 并給出了測試平臺的設計。該測試平臺對于企業選擇合適的RFID 中間件、推廣RFID 技術的應用具有一定的實際價值。

  本文作者創新點: 針對RFID 中間件的特性, 提出了衡量其基準性能的參數及其測試方法, 并針對測試需求, 給出了RFID虛擬讀寫器的設計和實現。
此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久久婷婷一区二区三区 | 国产无套免费网站 | 国产黄色免费在线观看 | 九九热视频在线免费观看 | 一个人看的www日本视频 | 18亚洲男同志videos网站 | 超级碰97 | 女人特级毛片 | 免费啪啪社区免费啪啪手机版 | 中文字幕av一区 | a毛片视频免费观看影院 | 最近2019视频免费观看8 | 亚洲欧美一区二区视频 | 欧美日韩性高爱潮视频 | 亚洲免费一区 | 亚洲精品午夜视频 | 91亚洲精品第一综合不卡播放 | 五月网婷婷| 午夜三级福利 | 35pao免费视频 | 日韩不卡一区二区三区 | 色哟哟欧美15最新在线 | 亚洲第一综合网 | 亚洲人成毛片线播放 | 日日干干 | 欧美激情一区二区三级高清视频 | 色偷偷偷| 久久免费视频播放 | 亚洲成a人片在线网站 | 亚洲十八精品网站 | 中文字幕在线观看免费 | 黄色短视频免费 | 在线观看免费视频a | 日本三级全黄三级三级三级口周 | 一级黄色片免费观看 | 成人影院在线观看完整高清bd | 日韩黄色免费 | 在线成人影片 | 国内毛片视频 | 久久国产精品偷 | 天天插伊人 |