基于語(yǔ)義協(xié)作的RFID應(yīng)用集成框架
1 引言
在對(duì)RFID 的應(yīng)用中,我們首先要對(duì)業(yè)務(wù)的過(guò)程進(jìn)行分析,然后構(gòu)建基于RFID事件的業(yè)務(wù)模型,通過(guò)各事件活動(dòng)之間的迭代,最終完成此業(yè)務(wù)過(guò)程。我們采用XML作為語(yǔ)義事件的定義語(yǔ)言,封裝了底層的RFID事件的實(shí)現(xiàn),允許開(kāi)發(fā)者以一種直接的方式來(lái)細(xì)化語(yǔ)義事件。通過(guò)詳細(xì)的設(shè)計(jì),語(yǔ)義事件包含了一整套的基本事件活動(dòng),簡(jiǎn)化了RFID應(yīng)用的規(guī)格定義 語(yǔ)義事件基于簡(jiǎn)單的RFID事件,它描述了在業(yè)務(wù)過(guò)程中與RFID事件相關(guān)的一些活動(dòng),因而與簡(jiǎn)單的RFID事件相比,它是一種更可用的業(yè)務(wù)級(jí)事件。語(yǔ)義事件協(xié)作組件負(fù)責(zé)處理一連串的活動(dòng)。以下便來(lái)分析語(yǔ)義事件的協(xié)作框架。
2 RFID事件的概念
事件可以定義為系統(tǒng)中的一個(gè)活動(dòng)記錄對(duì)象,事件有特定的數(shù)據(jù),事件的數(shù)據(jù)可以包含活動(dòng)的執(zhí)行時(shí)間,活動(dòng)的發(fā)生地,活動(dòng)的執(zhí)行者,或其他數(shù)據(jù)。我們根據(jù)不同事件的定義將RFID系統(tǒng)中的事件進(jìn)行分類。
2.1 原始RFID事件
圖一1是現(xiàn)有RFID系統(tǒng)中的架構(gòu),分層體系以及事件(包括讀寫(xiě)器事件和RFID事件)。RFID系統(tǒng)一般可以分為三層,讀寫(xiě)器層,RFID中間件層,和應(yīng)用層。RFID中間件從一個(gè)或多個(gè)讀寫(xiě)器獲得讀寫(xiě)器事件流,RFID中間件通過(guò)收集,過(guò)濾和凈化讀寫(xiě)器事件,使得它們符合RFID的應(yīng)用要求。如表1所示,一個(gè)RFID事件是由RFID中間件產(chǎn)生的,其中包含的信息有邏輯讀寫(xiě)器名稱,標(biāo)簽值,方向和時(shí)間,應(yīng)用開(kāi)發(fā)者必須收集RFID事件,訪問(wèn)數(shù)據(jù)服務(wù)器獲得RFID事件所必需的相關(guān)數(shù)據(jù),處理業(yè)務(wù)邏輯以實(shí)現(xiàn)RFID的應(yīng)用。應(yīng)用開(kāi)發(fā)者必須了解RFID知識(shí)和數(shù)據(jù)交互技術(shù),實(shí)際的應(yīng)用必須編寫(xiě)額外的代碼,而非僅僅業(yè)務(wù)邏輯本身,以處理RFID事件。
圖1 RFID 系統(tǒng)架構(gòu)中的RFID 事件
表1 RFID 的事件定義
2.2 復(fù)雜RFID事件
復(fù)雜事件包含規(guī)則語(yǔ)言、規(guī)則建模、規(guī)則迭代等3個(gè)核心構(gòu)件,如圖2所示。
圖2 復(fù)雜事件處理框架
原始事件是指不依賴于其他事件的基本事件,而復(fù)雜事件則是指多個(gè)原始事件根據(jù)一定關(guān)系的組合。事件規(guī)則語(yǔ)言用于具體描述原始事件和復(fù)雜事件之間的關(guān)系。
通過(guò)對(duì)RFID應(yīng)用環(huán)境的業(yè)務(wù)模型進(jìn)行分解,可以使用一種語(yǔ)言來(lái)對(duì)業(yè)務(wù)模型進(jìn)行描述。事件規(guī)則語(yǔ)言是描述具體的業(yè)務(wù)場(chǎng)景,對(duì)存在的元事件和復(fù)雜事件的關(guān)系進(jìn)行描述的一種語(yǔ)言。規(guī)則建模的職責(zé)是將由事件規(guī)則語(yǔ)言描述的業(yè)務(wù)場(chǎng)景用計(jì)算機(jī)可以規(guī)約的模型來(lái)表示。建模方式有許多,可以采用布爾表達(dá)式樹(shù)、無(wú)環(huán)有向圖、有限狀態(tài)機(jī)或Petri網(wǎng)算法。
對(duì)于不同規(guī)則建立有不同的模型,對(duì)輸入事件流進(jìn)行復(fù)雜事件的規(guī)約。事件迭代構(gòu)件的作用是協(xié)調(diào)管理多個(gè)模型。同時(shí),對(duì)于不同模型中相同的子部分,事件迭代還需要提供優(yōu)化策略。
在圖2中,復(fù)雜事件通過(guò)服務(wù)總線,被業(yè)務(wù)過(guò)程服務(wù)器所獲得,業(yè)務(wù)過(guò)程服務(wù)器根據(jù)預(yù)先制定的特定業(yè)務(wù)的需要,將復(fù)雜事件連同簡(jiǎn)單事件進(jìn)行組合和處理,最終返回事件的處理結(jié)果,最后交給定制了服務(wù)的應(yīng)用系統(tǒng)。
2.3 語(yǔ)義事件
圖3顯示了RFID在基于語(yǔ)義協(xié)作的RFID 系統(tǒng)中的角色,以及在此系統(tǒng)中可能出現(xiàn)的事件類型。語(yǔ)義協(xié)作組件從RFID中間件獲得RFID事件,然后將它們轉(zhuǎn)換為一種更可用的形式,從而使得對(duì)RFID的應(yīng)用更加高效。
圖3 語(yǔ)義事件協(xié)作組件的角色
語(yǔ)義事件是一種針對(duì)各種應(yīng)用活動(dòng)的高級(jí)事件。語(yǔ)義事件源于原始的RFID事件,它由RFID事件,相關(guān)數(shù)據(jù),還有業(yè)務(wù)規(guī)則構(gòu)成。語(yǔ)義事件與原始RFID事件有著很明顯的區(qū)別,描述如下:
問(wèn)題:
對(duì)RFID事件而言:讀寫(xiě)器A現(xiàn)在讀到的是什么?
對(duì)語(yǔ)義事件而言:被讀寫(xiě)器A讀到的人員是否已被授權(quán)進(jìn)入?
回應(yīng):
對(duì)RFID事件而言:
< dock— A urn:epc:tag:sgtin一96:4.011562.0557083.19212150 up 10:12:00:06:O5>
對(duì)語(yǔ)義事件而言:
<:authenticatedUser(success):ID 9034 Name Yixuan type Student>
此問(wèn)題的語(yǔ)義事件可以描述如下:
*RFID事件:讀寫(xiě)器A讀到一個(gè)標(biāo)簽值。
*相關(guān)數(shù)據(jù):標(biāo)簽所對(duì)應(yīng)的人員的身份信息。
* 業(yè)務(wù)規(guī)則:相應(yīng)的授權(quán)規(guī)則。
此外,語(yǔ)義事件含有數(shù)據(jù)組件。表2給出了語(yǔ)義事件的定義和形式。
表2 語(yǔ)義事件定義語(yǔ)義協(xié)作組件負(fù)責(zé)將RFID事件轉(zhuǎn)換為語(yǔ)義事件。轉(zhuǎn)換過(guò)程是這樣的,對(duì)RFID事件進(jìn)行收集,獲取相關(guān)的數(shù)據(jù),分析相應(yīng)的業(yè)務(wù)規(guī)則,最終產(chǎn)生語(yǔ)義事件。為產(chǎn)生語(yǔ)義事件,首先必須在活動(dòng)中描述語(yǔ)義事件的規(guī)格。我們用語(yǔ)義事件定義語(yǔ)言來(lái)描述這一規(guī)格,這在下面會(huì)繼續(xù)進(jìn)行說(shuō)明。
3 語(yǔ)義事件定義語(yǔ)言
3.1 聲明活動(dòng)
語(yǔ)義規(guī)格中的變量必須根據(jù)它們的類型來(lái)聲明,類型可以是一般的數(shù)據(jù)類型,比如整型,浮點(diǎn)型,字符串型,也可以是具體的RFID數(shù)據(jù)類型,比如EPC標(biāo)簽,EPC標(biāo)簽集。EPC標(biāo)簽是一種用于存儲(chǔ)產(chǎn)品碼值的數(shù)據(jù)類型,EPC標(biāo)簽集則是在RFID中間件的一個(gè)事件周期中所產(chǎn)生的標(biāo)簽集類型。
3.2 觸發(fā)活動(dòng)
語(yǔ)義事件規(guī)格可以被一個(gè)或多個(gè)RFID事件觸發(fā),觸發(fā)活動(dòng)定義了應(yīng)用請(qǐng)求RFID事件的過(guò)程,它由與事件相關(guān)的,用于描述RFID事件和RFID讀寫(xiě)器控制信息的元素組成,比如開(kāi)始或停止一個(gè)事件周期的觸發(fā),重復(fù)操作的時(shí)間和間隔。此外,它還定義了用于從RFID中間件接收RFID事件的元素。
3.3活動(dòng)參照
為了將RFID事件轉(zhuǎn)換為語(yǔ)義事件,語(yǔ)義規(guī)格需要以要求的術(shù)語(yǔ)來(lái)描述,一般它要根據(jù)相關(guān)的數(shù)據(jù)來(lái)描述。通過(guò)信息服務(wù),相關(guān)的數(shù)據(jù)信息可以被重新獲得。EPC信息服務(wù)是一種網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)庫(kù),它存儲(chǔ)了標(biāo)簽物品的附加數(shù)據(jù)信息,它提供一個(gè)標(biāo)準(zhǔn)的訪問(wèn)接口,并實(shí)現(xiàn)了對(duì)EPC數(shù)據(jù)信息的持久保存,活動(dòng)參照組件定義了從EPC信息服務(wù)器重新獲得數(shù)據(jù)的過(guò)程。
3.4 迭代活動(dòng)
迭代活動(dòng)由迭代條件和迭代過(guò)程組成。
1)迭代條件
迭代條件檢驗(yàn)語(yǔ)義事件規(guī)格所必需的觸發(fā)條件以觸發(fā)RFID事件,它代表應(yīng)用中所必需的業(yè)務(wù)規(guī)則,業(yè)務(wù)規(guī)則對(duì)與RFID事件和相關(guān)數(shù)據(jù)有關(guān)聯(lián)的業(yè)務(wù)進(jìn)行限制。
2)迭代過(guò)程
迭代過(guò)程定義了應(yīng)用請(qǐng)求語(yǔ)義事件的過(guò)程,語(yǔ)義事件的內(nèi)容包括語(yǔ)義事件名稱,根據(jù)業(yè)務(wù)規(guī)則所得到的結(jié)果,和相關(guān)數(shù)據(jù)組件。
4 語(yǔ)義事件協(xié)作組件
4.1 RFID系統(tǒng)中的語(yǔ)義事件協(xié)作組件
在RFID系統(tǒng)中語(yǔ)義事件協(xié)作組件的角色如圖一3所示,RFID 中間件通過(guò)RFID 讀寫(xiě)器獲得未經(jīng)處理過(guò)的RFID 事件,并將它們轉(zhuǎn)換為可以被語(yǔ)義事件協(xié)作組件使用的形式。語(yǔ)義事件協(xié)作組件通過(guò)相關(guān)的數(shù)據(jù)信息將RFID事件轉(zhuǎn)換為語(yǔ)義事件,相關(guān)的數(shù)據(jù)信息從EPCIS或ONS或者其他相關(guān)的數(shù)據(jù)服務(wù)器獲得。EPC Global是目前EPC的標(biāo)準(zhǔn)化組織,它定義了EPCIS和ONS服務(wù)器來(lái)將網(wǎng)絡(luò)中的產(chǎn)品信息轉(zhuǎn)換為RFID數(shù)據(jù)和產(chǎn)品數(shù)據(jù)。RFID應(yīng)用發(fā)送請(qǐng)求給語(yǔ)義事件協(xié)作組件請(qǐng)求語(yǔ)義事件,應(yīng)用使用語(yǔ)義事件協(xié)作組件的客戶端API來(lái)發(fā)送語(yǔ)義事件規(guī)格到語(yǔ)義事件協(xié)作組件,并且獲得語(yǔ)義事件協(xié)作組件的語(yǔ)義事件報(bào)告。
4.2 語(yǔ)義事件協(xié)作架構(gòu)
圖4 語(yǔ)義事件協(xié)作框架
如圖4所示,語(yǔ)義事件協(xié)作組件由以下組件構(gòu)成:
*語(yǔ)義事件通知
這個(gè)組件接受由RFID應(yīng)用發(fā)送的語(yǔ)義事件請(qǐng)求,并且當(dāng)語(yǔ)義事件被檢測(cè)到后,將語(yǔ)義事件發(fā)送給所請(qǐng)求的應(yīng)用。
*語(yǔ)義事件管理
在這個(gè)組件中,利用有關(guān)的數(shù)據(jù)和相應(yīng)的業(yè)務(wù)規(guī)則,收集到的RFID事件被轉(zhuǎn)換為語(yǔ)義事件。這個(gè)組件負(fù)責(zé)對(duì)活動(dòng)進(jìn)行組合,組件通過(guò)解析語(yǔ)義事件規(guī)范注冊(cè)庫(kù)得到事件的注冊(cè)規(guī)范,然后找到合適的活動(dòng)。
*RFID事件集
圖一4中ALE是EPCglobal提出的標(biāo)準(zhǔn),符合EPCglobal標(biāo)準(zhǔn)的RFID中間件必須支持ALE這種標(biāo)準(zhǔn)。ALE通過(guò)提供收集、過(guò)濾和計(jì)數(shù)等功能,以及靈活標(biāo)準(zhǔn)的接口,使得在收到用戶請(qǐng)求后能快速地產(chǎn)生報(bào)告。
語(yǔ)義事件協(xié)作組件并不直接從RFID事件(ALE/原始事件)集獲得事件,通過(guò)RFID中間件所提供的接口,組件細(xì)化RFID事件和與事件相關(guān)的RFID讀寫(xiě)器的控制信息,比如開(kāi)始或停止觸發(fā)一個(gè)事件,重復(fù)操作的時(shí)間和間隔等。此外,RFID事件集接收從RFID中間件獲得的RFID事件。
* 數(shù)據(jù)收集
這個(gè)組件從外部數(shù)據(jù)服務(wù)器收集為生成語(yǔ)義事件所必需的相關(guān)數(shù)據(jù),這個(gè)組件由EPCIS訪問(wèn)組件和ONS訪問(wèn)組件構(gòu)成,它負(fù)責(zé)從EPCIS和ONS收集數(shù)據(jù)。如果我們想從其他數(shù)據(jù)源獲得數(shù)據(jù),我們可以開(kāi)發(fā)自己的適配器來(lái)訪問(wèn)相關(guān)的數(shù)據(jù)服務(wù)器以得到數(shù)據(jù)信息,并且在注冊(cè)后就可以使用。
*語(yǔ)義事件規(guī)格注冊(cè)和語(yǔ)義事件庫(kù)
已注冊(cè)的語(yǔ)義事件規(guī)格被存貯語(yǔ)義事件規(guī)格注冊(cè)組件中,由語(yǔ)義事件管理組件所產(chǎn)生的語(yǔ)義事件被存儲(chǔ)在語(yǔ)義事件庫(kù)中。
比如,如果要檢驗(yàn)來(lái)訪的用戶是否已被系統(tǒng)授權(quán)?在這一業(yè)務(wù)邏輯中,其語(yǔ)義事件規(guī)格就可以描述如下:
< ? 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>
<一一問(wèn)題相應(yīng)的語(yǔ)義事件一一>
< event>
<condition> vMember=一0</condition>
< generate name= AuthenticatedUser |>
<data name一”Status”>False</data>
</event>
</eSpec>
5 結(jié)語(yǔ)
利用語(yǔ)義事件定義語(yǔ)言,語(yǔ)義事件可以被充分并且詳細(xì)地描述,語(yǔ)義事件協(xié)作組件能夠高效地提供語(yǔ)義事件,并且與沒(méi)有采用語(yǔ)義事件協(xié)作的RFID應(yīng)用相比較,基于語(yǔ)義事件協(xié)作的RFID應(yīng)用大大簡(jiǎn)少了編寫(xiě)代碼的量,從而簡(jiǎn)化了RFID的應(yīng)用開(kāi)發(fā)。