新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 基于SOA應用JMX和JMS技術的RFID中間件設計

基于SOA應用JMX和JMS技術的RFID中間件設計

作者: 時間:2010-06-10 來源:網(wǎng)絡 收藏

2 架構
  利用松耦合、面向業(yè)務的特點,結合實現(xiàn)的系統(tǒng)集成的方案可提供豐富的接口,能夠幫助實現(xiàn)對設備的管理以及對數(shù)據(jù)的處理,簡化了對底層設備的支持,避免了對底層設備的低級別接口的處理。利用Web Service實現(xiàn)RFID與企業(yè)系統(tǒng)的集成,完成兩者的松耦合集成。
  的RFID中間件架構,其基礎架構層分為設備管理層、事件處理層和服務接口層,并通過Web Service包裝了每1層相應的功能,且進行了具體實現(xiàn)。本文重點介紹該RFID中間件架構中的基礎架構的3個功能層[5]。這3個層次有著明確的功能劃分和層間的交互接口。RFID中間件架構如圖2所示。

本文引用地址:http://2s4d.com/article/157365.htm

中間件包括RFID設備管理組件和事件過程管理組件。RFID設備管理組件是分布式的代理,負責第1級的事件過濾;設備管理包括設備詢問器,對每1個閱讀器和傳感器設備,代理必須互相作用。過程管理組件是通過RFID事件下一級的過濾,把事件放置到交易環(huán)境中,然后發(fā)布層事件ALE(Application Layer Event)[5]。
2.1設備管理層
  設備管理層位于架構的最底層,直接與閱讀器交互,實現(xiàn)的主要功能包括:
  (1)采集射頻卡上的數(shù)據(jù)。
  (2)對于來自不同類型的閱讀器的數(shù)據(jù)進行適配處理,得到統(tǒng)一的、格式化的數(shù)據(jù),并進行數(shù)據(jù)校驗。
  (3)將校驗無誤的數(shù)據(jù)按照用戶定義的協(xié)議進行封包,并將消息包發(fā)送到事件處理層的消息系統(tǒng)。
  依據(jù)其實現(xiàn)的功能,分別針對射頻卡閱讀器模塊、閱讀器接口、數(shù)據(jù)校驗和數(shù)據(jù)打包4個方面進行研究和開發(fā)。閱讀器模塊是根據(jù)硬件供應商提供的規(guī)范進行編碼實現(xiàn)的;閱讀器接口主要解決將來自協(xié)議格式的數(shù)據(jù)轉(zhuǎn)化為系統(tǒng)所需要的EPC碼;數(shù)據(jù)校驗采用CRC校驗;數(shù)據(jù)打包先依據(jù)獲取的卡片編碼中“數(shù)據(jù)分類”內(nèi)容,判斷出該標簽數(shù)據(jù)屬于哪種類型,然后按照這種數(shù)據(jù)類型將標簽數(shù)據(jù)封裝成相應的消息包。
  由于每個ALE閱讀器事件流可能來自多個物理設備配置表,因此設備管理器為每個設備表創(chuàng)建1個詢問器,并通知詢問器哪種傳感器被綁定到指定的閱讀器上。詢問器發(fā)送傳感器事件流到設備管理器,設備管理器將1個或多個傳感器事件流構造成閱讀器事件。設備管理器把初步處理的閱讀器事件發(fā)送到ALE服務器。
  詢問器代理:1個設備管理器的配置由它管理的設備和它要咨詢的詢問器組成,然后與它所對應的設備管理器交互。每個設備概要表由物理設備屬性和詢問器配置組成。物理設備屬性是被命名過的傳感器(例如天線和1個金屬傳感器)。
  事件信息空間:事件信息空間類似于公共的容錯事件信息經(jīng)紀人。它支持異步接收來自設備管理器的事件、ALE事件以及其他來自事件過程管理的配置需求。事件信息空間同時提供一個存儲轉(zhuǎn)發(fā)機制,確保重要的事件在中斷的網(wǎng)絡或其他組件失效的情況下不丟失[5]。
  在系統(tǒng)中,將每個閱讀器模塊的遠程方法調(diào)用封裝為1個管理組件(MBean)作為服務器的實例注冊到服務器中。通過框架對閱讀器進行監(jiān)控和管理,使RFID中間件系統(tǒng)能提供管理、監(jiān)控閱讀器的功能。本部分描述為閱讀器管理組件添加時間服務,以達到定時控制閱讀器的目的。
2.2 事件處理層
  在RFID系統(tǒng)中,一方面是各種應用程序以不同的方式頻繁地從RFID系統(tǒng)中取得數(shù)據(jù);另一方面卻是有限的網(wǎng)絡帶寬,其存在的矛盾,使其有必要1套消息傳遞系統(tǒng),使設備管理層產(chǎn)生的事件能夠傳遞到消息系統(tǒng)中,由事件管理過程進行處理,然后把數(shù)據(jù)傳遞到相關的應用系統(tǒng)。在這種模式下,閱讀器不必關心哪個應用系統(tǒng)需要什么數(shù)據(jù)。同時,應用程序也不需要維護與各個閱讀器之間的網(wǎng)絡通道,僅需要將需求發(fā)送到消息系統(tǒng)中即可。由此,出的消息系統(tǒng)應具有如下功能:(1)數(shù)據(jù)緩存功能;(2)內(nèi)容的路由功能;(3)數(shù)據(jù)分類存儲功能[6]。
  下面將描述創(chuàng)建一個MBean來實現(xiàn)一個數(shù)據(jù)處理節(jié)點。消息組件可以按照MBean來部署。消息處理組件執(zhí)行功能:從源隊列中獲取消息,對消息執(zhí)行處理,然后將結果消息放置到目標隊列。消息處理UML圖如圖3所示。

  JBossMQ是通過xml文件jbossmq-destinations-service.xml進行配置的。以下是獲得JBOSS JNDI初始化上下文(Context)的代碼:
  Hashtable props=newHashtable();
  props.put(Context.INITIAL CONTEXT FACTORY,org.jnp.interfaces.NamingContextFactory);
  props.put (Context. PROVIDER URL, ip +:1099);
  props.put(java.naming.rmi.security.manager,yes);
  props.put(Context.URL PKG PREFIXES,org. jboss.naming);
  Context context=new InitialContext(props);
  來自消息系統(tǒng)的消息以臨時XML文件的形式和磁盤文件方式保存,供數(shù)據(jù)接口使用。消息系統(tǒng)完成消息緩存、分類整合、路由轉(zhuǎn)發(fā)、臨時存放等操作[4]。
  事件過程管理EPM(Event Process Managment)由ALE服務、配置管理、復雜事件過程以及交易規(guī)則執(zhí)行組成,對EVP的訪問能通過HTTP、以及網(wǎng)絡服務接口實現(xiàn)。
  EPM登記/訂閱其感興趣的事件,當在信息空間中有事件發(fā)生時,即會通知EPM,一旦接收到這些事件,隨后會應用復雜事件處理(過濾器),結合交易規(guī)則對這些事件進行處理。另一種情況下是:外部的客戶端(如EPC-IS)已經(jīng)注冊接收ALE,這些過濾后的事件會被發(fā)送到ALE客戶端指定的位置。
2.3 服務接口層
  來自事件處理層的數(shù)據(jù)最終是分類的XML文件。同一類型的數(shù)據(jù)以XML文件的形式保存,并提供給相應的1個或多個應用程序使用。而服務接口層主要是對這些數(shù)據(jù)進行過濾、入庫操作,并提供訪問相應數(shù)據(jù)庫的服務接口。具體操作如下:
  (1)將存放在磁盤上的XML文件進行批量入庫操作,當XML數(shù)據(jù)量達到一定數(shù)量時,啟動數(shù)據(jù)入庫功能模塊,將XML數(shù)據(jù)移植到各種數(shù)據(jù)庫中。
  (2)在數(shù)據(jù)移植前將重復的數(shù)據(jù)過濾掉。
  (3)為企業(yè)內(nèi)部和企業(yè)外部訪問數(shù)據(jù)庫提供Web Services
接口。
其中,數(shù)據(jù)過濾過程是在處理臨時存放的XML文件的過程中完成的。方法是:將同一個卡號的多條記錄按照讀入的時間戳進行比較,若相鄰記錄的時間戳差值小于用戶定義的閾值,則認為重復讀取發(fā)生,剔出后1條記錄。依次類推,剔出掉所有冗余數(shù)據(jù)。利用Web Services將對數(shù)據(jù)庫的訪問以服務的形式發(fā)布,供企業(yè)內(nèi)部應用程序和企業(yè)合作伙伴調(diào)用[2]。以數(shù)據(jù)過濾為例,其核心代碼如下:



評論


相關推薦

技術專區(qū)

關閉