物聯傳媒 旗下網站
登錄 注冊
RFID世界網 >  技術文章  >  其他  >  正文

基于語義協作的RFID應用集成框架

作者:徐以軒,王 東
來源:RFID世界網
日期:2007-05-16 14:47:28
摘要:本文指出了RFID在企業應用中的應用集成技術,提出了基于復雜事件:和語義事件的集成框架,并對語義協作技術 進行了具體的分析,提出了一套可以簡化RFID應用集成的解決方案。

1 引言
在對RFID 的應用中,我們首先要對業務的過程進行分析,然后構建基于RFID事件的業務模型,通過各事件活動之間的迭代,最終完成此業務過程。我們采用XML作為語義事件的定義語言,封裝了底層的RFID事件的實現,允許開發者以一種直接的方式來細化語義事件。通過詳細的設計,語義事件包含了一整套的基本事件活動,簡化了RFID應用的規格定義 語義事件基于簡單的RFID事件,它描述了在業務過程中與RFID事件相關的一些活動,因而與簡單的RFID事件相比,它是一種更可用的業務級事件。語義事件協作組件負責處理一連串的活動。以下便來分析語義事件的協作框架。

2 RFID事件的概念
事件可以定義為系統中的一個活動記錄對象,事件有特定的數據,事件的數據可以包含活動的執行時間,活動的發生地,活動的執行者,或其他數據。我們根據不同事件的定義將RFID系統中的事件進行分類。

2.1 原始RFID事件
圖一1是現有RFID系統中的架構,分層體系以及事件(包括讀寫器事件和RFID事件)。RFID系統一般可以分為三層,讀寫器層,RFID中間件層,和應用層。RFID中間件從一個或多個讀寫器獲得讀寫器事件流,RFID中間件通過收集,過濾和凈化讀寫器事件,使得它們符合RFID的應用要求。如表1所示,一個RFID事件是由RFID中間件產生的,其中包含的信息有邏輯讀寫器名稱,標簽值,方向和時間,應用開發者必須收集RFID事件,訪問數據服務器獲得RFID事件所必需的相關數據,處理業務邏輯以實現RFID的應用。應用開發者必須了解RFID知識和數據交互技術,實際的應用必須編寫額外的代碼,而非僅僅業務邏輯本身,以處理RFID事件。

                  圖1 RFID 系統架構中的RFID 事件


                                    表1 RFID 的事件定義

2.2 復雜RFID事件
復雜事件包含規則語言、規則建模、規則迭代等3個核心構件,如圖2所示。


                         圖2 復雜事件處理框架

原始事件是指不依賴于其他事件的基本事件,而復雜事件則是指多個原始事件根據一定關系的組合。事件規則語言用于具體描述原始事件和復雜事件之間的關系。

通過對RFID應用環境的業務模型進行分解,可以使用一種語言來對業務模型進行描述。事件規則語言是描述具體的業務場景,對存在的元事件和復雜事件的關系進行描述的一種語言。規則建模的職責是將由事件規則語言描述的業務場景用計算機可以規約的模型來表示。建模方式有許多,可以采用布爾表達式樹、無環有向圖、有限狀態機或Petri網算法。

對于不同規則建立有不同的模型,對輸入事件流進行復雜事件的規約。事件迭代構件的作用是協調管理多個模型。同時,對于不同模型中相同的子部分,事件迭代還需要提供優化策略。

在圖2中,復雜事件通過服務總線,被業務過程服務器所獲得,業務過程服務器根據預先制定的特定業務的需要,將復雜事件連同簡單事件進行組合和處理,最終返回事件的處理結果,最后交給定制了服務的應用系統。

2.3 語義事件
圖3顯示了RFID在基于語義協作的RFID 系統中的角色,以及在此系統中可能出現的事件類型。語義協作組件從RFID中間件獲得RFID事件,然后將它們轉換為一種更可用的形式,從而使得對RFID的應用更加高效。



                       圖3 語義事件協作組件的角色

語義事件是一種針對各種應用活動的高級事件。語義事件源于原始的RFID事件,它由RFID事件,相關數據,還有業務規則構成。語義事件與原始RFID事件有著很明顯的區別,描述如下:

問題:
對RFID事件而言:讀寫器A現在讀到的是什么?
對語義事件而言:被讀寫器A讀到的人員是否已被授權進入?

回應:
對RFID事件而言:
< dock— A urn:epc:tag:sgtin一96:4.011562.0557083.19212150 up 10:12:00:06:O5>
對語義事件而言:
<:authenticatedUser(success):ID 9034 Name Yixuan type Student>
此問題的語義事件可以描述如下:
*RFID事件:讀寫器A讀到一個標簽值。
*相關數據:標簽所對應的人員的身份信息。
* 業務規則:相應的授權規則。
此外,語義事件含有數據組件。表2給出了語義事件的定義和形式。



表2 語義事件定義語義協作組件負責將RFID事件轉換為語義事件。轉換過程是這樣的,對RFID事件進行收集,獲取相關的數據,分析相應的業務規則,最終產生語義事件。為產生語義事件,首先必須在活動中描述語義事件的規格。我們用語義事件定義語言來描述這一規格,這在下面會繼續進行說明。

3 語義事件定義語言

3.1 聲明活動
語義規格中的變量必須根據它們的類型來聲明,類型可以是一般的數據類型,比如整型,浮點型,字符串型,也可以是具體的RFID數據類型,比如EPC標簽,EPC標簽集。EPC標簽是一種用于存儲產品碼值的數據類型,EPC標簽集則是在RFID中間件的一個事件周期中所產生的標簽集類型。

3.2 觸發活動
語義事件規格可以被一個或多個RFID事件觸發,觸發活動定義了應用請求RFID事件的過程,它由與事件相關的,用于描述RFID事件和RFID讀寫器控制信息的元素組成,比如開始或停止一個事件周期的觸發,重復操作的時間和間隔。此外,它還定義了用于從RFID中間件接收RFID事件的元素。

3.3活動參照
為了將RFID事件轉換為語義事件,語義規格需要以要求的術語來描述,一般它要根據相關的數據來描述。通過信息服務,相關的數據信息可以被重新獲得。EPC信息服務是一種網絡數據存儲庫,它存儲了標簽物品的附加數據信息,它提供一個標準的訪問接口,并實現了對EPC數據信息的持久保存,活動參照組件定義了從EPC信息服務器重新獲得數據的過程。

3.4 迭代活動
迭代活動由迭代條件和迭代過程組成。
1)迭代條件
迭代條件檢驗語義事件規格所必需的觸發條件以觸發RFID事件,它代表應用中所必需的業務規則,業務規則對與RFID事件和相關數據有關聯的業務進行限制。
2)迭代過程
迭代過程定義了應用請求語義事件的過程,語義事件的內容包括語義事件名稱,根據業務規則所得到的結果,和相關數據組件。

4 語義事件協作組件

4.1 RFID系統中的語義事件協作組件
在RFID系統中語義事件協作組件的角色如圖一3所示,RFID 中間件通過RFID 讀寫器獲得未經處理過的RFID 事件,并將它們轉換為可以被語義事件協作組件使用的形式。語義事件協作組件通過相關的數據信息將RFID事件轉換為語義事件,相關的數據信息從EPCIS或ONS或者其他相關的數據服務器獲得。EPC Global是目前EPC的標準化組織,它定義了EPCIS和ONS服務器來將網絡中的產品信息轉換為RFID數據和產品數據。RFID應用發送請求給語義事件協作組件請求語義事件,應用使用語義事件協作組件的客戶端API來發送語義事件規格到語義事件協作組件,并且獲得語義事件協作組件的語義事件報告。

4.2 語義事件協作架構


                              圖4 語義事件協作框架

如圖4所示,語義事件協作組件由以下組件構成:

*語義事件通知
這個組件接受由RFID應用發送的語義事件請求,并且當語義事件被檢測到后,將語義事件發送給所請求的應用。
*語義事件管理
在這個組件中,利用有關的數據和相應的業務規則,收集到的RFID事件被轉換為語義事件。這個組件負責對活動進行組合,組件通過解析語義事件規范注冊庫得到事件的注冊規范,然后找到合適的活動。
*RFID事件集
圖一4中ALE是EPCglobal提出的標準,符合EPCglobal標準的RFID中間件必須支持ALE這種標準。ALE通過提供收集、過濾和計數等功能,以及靈活標準的接口,使得在收到用戶請求后能快速地產生報告。
語義事件協作組件并不直接從RFID事件(ALE/原始事件)集獲得事件,通過RFID中間件所提供的接口,組件細化RFID事件和與事件相關的RFID讀寫器的控制信息,比如開始或停止觸發一個事件,重復操作的時間和間隔等。此外,RFID事件集接收從RFID中間件獲得的RFID事件。
* 數據收集
這個組件從外部數據服務器收集為生成語義事件所必需的相關數據,這個組件由EPCIS訪問組件和ONS訪問組件構成,它負責從EPCIS和ONS收集數據。如果我們想從其他數據源獲得數據,我們可以開發自己的適配器來訪問相關的數據服務器以得到數據信息,并且在注冊后就可以使用。
*語義事件規格注冊和語義事件庫
已注冊的語義事件規格被存貯語義事件規格注冊組件中,由語義事件管理組件所產生的語義事件被存儲在語義事件庫中。
比如,如果要檢驗來訪的用戶是否已被系統授權?在這一業務邏輯中,其語義事件規格就可以描述如下:
< ? xml version=”1.0”encoding= ”UTF一8”? >
< eSpec>
<variables>...</variables>
<trigger>... </trigger>
<trigger>...</trigger>
< EPCIS source= vUserListH assign= vEPC >
< getEPCAttribute epc一”vEPC”
schema一"member"
xpath=”join”>vMember
</getEPCAttribute>
<getEPCAttribute epc一 vEPC”
schema一"member"
xpath= ”name”> vUser
< /getEPCAttribute>
< /EPCIS>
<一一問題相應的語義事件一一>
< event>
<condition> vMember=一0</condition>
< generate name= AuthenticatedUser |>
<data name一”Status”>False</data>
</event>
</eSpec>
5 結語
利用語義事件定義語言,語義事件可以被充分并且詳細地描述,語義事件協作組件能夠高效地提供語義事件,并且與沒有采用語義事件協作的RFID應用相比較,基于語義事件協作的RFID應用大大簡少了編寫代碼的量,從而簡化了RFID的應用開發。