• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 基于SOA應(yīng)用JMX和JMS技術(shù)的RFID中間件設(shè)計

    基于SOA應(yīng)用JMX和JMS技術(shù)的RFID中間件設(shè)計

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

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

    本文引用地址:http://www.czjhyjcfj.com/article/157365.htm

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

      JBossMQ是通過xml文件jbossmq-destinations-service.xml進(jìn)行配置的。以下是獲得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服務(wù)、配置管理、復(fù)雜事件過程以及交易規(guī)則執(zhí)行組成,對EVP的訪問能通過HTTP、以及網(wǎng)絡(luò)服務(wù)接口實(shí)現(xiàn)。
      EPM登記/訂閱其感興趣的事件,當(dāng)在信息空間中有事件發(fā)生時,即會通知EPM,一旦接收到這些事件,隨后會應(yīng)用復(fù)雜事件處理(過濾器),結(jié)合交易規(guī)則對這些事件進(jìn)行處理。另一種情況下是:外部的客戶端(如EPC-IS)已經(jīng)注冊接收ALE,這些過濾后的事件會被發(fā)送到ALE客戶端指定的位置。
    2.3 服務(wù)接口層
      來自事件處理層的數(shù)據(jù)最終是分類的XML文件。同一類型的數(shù)據(jù)以XML文件的形式保存,并提供給相應(yīng)的1個或多個應(yīng)用程序使用。而服務(wù)接口層主要是對這些數(shù)據(jù)進(jìn)行過濾、入庫操作,并提供訪問相應(yīng)數(shù)據(jù)庫的服務(wù)接口。具體操作如下:
      (1)將存放在磁盤上的XML文件進(jìn)行批量入庫操作,當(dāng)XML數(shù)據(jù)量達(dá)到一定數(shù)量時,啟動數(shù)據(jù)入庫功能模塊,將XML數(shù)據(jù)移植到各種數(shù)據(jù)庫中。
      (2)在數(shù)據(jù)移植前將重復(fù)的數(shù)據(jù)過濾掉。
      (3)為企業(yè)內(nèi)部和企業(yè)外部訪問數(shù)據(jù)庫提供Web Services
    接口。
    其中,數(shù)據(jù)過濾過程是在處理臨時存放的XML文件的過程中完成的。方法是:將同一個卡號的多條記錄按照讀入的時間戳進(jìn)行比較,若相鄰記錄的時間戳差值小于用戶定義的閾值,則認(rèn)為重復(fù)讀取發(fā)生,剔出后1條記錄。依次類推,剔出掉所有冗余數(shù)據(jù)。利用Web Services將對數(shù)據(jù)庫的訪問以服務(wù)的形式發(fā)布,供企業(yè)內(nèi)部應(yīng)用程序和企業(yè)合作伙伴調(diào)用[2]。以數(shù)據(jù)過濾為例,其核心代碼如下:



    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 定陶县| 林周县| 台前县| 南京市| 东兰县| 兴安县| 江陵县| 广平县| 邓州市| 慈利县| 和平县| 筠连县| 重庆市| 田东县| 雷波县| 上高县| 缙云县| 昌邑市| 八宿县| 封丘县| 察哈| 昌邑市| 新营市| 衡南县| 平泉县| 通州区| 焦作市| 巴里| 石景山区| 新沂市| 九江县| 宝应县| 满洲里市| 长宁县| 罗源县| 莱州市| 壶关县| 财经| 通榆县| 黔西县| 广西|