1 引言 RFlD技術(shù)即無線射頻識(shí)別技術(shù),是一種高效的數(shù)據(jù)采集和識(shí)別技術(shù)。該技術(shù)與互聯(lián)網(wǎng)、通訊技術(shù)結(jié)合可實(shí)現(xiàn)全球范圍物品跟蹤與信息共享,因此在物流、交通信息、醫(yī)療、零售等領(lǐng)域有著廣泛的應(yīng)用前景。RFID中間件作為RFID技術(shù)的神經(jīng)中樞,扮演著RFID標(biāo)簽和應(yīng)用程序的中介角色.它向下提供底層接口.實(shí)現(xiàn)對(duì)閱讀器和標(biāo)簽的控制,向上提供通用的應(yīng)用程序接口(API)。供不同的應(yīng)用程序來調(diào)用。 目前.RFID中間件技術(shù)仍然發(fā)展不成熟,尤其是在事件處理方面存在如下缺陷:一方面來自閱讀器的標(biāo)簽信息數(shù)據(jù)量太大.并且包含過多的冗余數(shù)據(jù).降低了事件處理的效率:另一方面.標(biāo)簽所包含的語義信息過于簡(jiǎn)單,無法被上層應(yīng)用軟件直接使用。傳統(tǒng)的RFID中間件在事件處理方面僅僅利用平滑過濾算法對(duì)標(biāo)簽數(shù)據(jù)做簡(jiǎn)單的平滑處理,隨后即將處理后的標(biāo)簽數(shù)據(jù)上傳給上層應(yīng)用.這種情況在數(shù)據(jù)量小的情況下可以滿足一定的需求,但RFID大部分的應(yīng)用所面對(duì)的都是海量的數(shù)據(jù),因此傳統(tǒng)的事件處理方法大大增加了上層應(yīng)用軟件的負(fù)擔(dān),使其數(shù)據(jù)處理效率急劇下降.不能夠滿足現(xiàn)實(shí)的需求。 針對(duì)以上的問題.本文利用分層設(shè)計(jì)的思想.將復(fù)雜事件處理技術(shù)引入RFID中間件.并結(jié)合RFID數(shù)據(jù)特征.設(shè)計(jì)了一個(gè)事件處理模型.有效的解決了上述所存在的問題,并通過一個(gè)監(jiān)獄監(jiān)控系統(tǒng)實(shí)例闡述了該模型在實(shí)際中的應(yīng)用。 2 復(fù)雜事件處理概念 復(fù)雜事件處理(complex Event Progressing)技術(shù)是90年代中期由斯坦福大學(xué)的David Luckham教授所提出是一種新興的基于事件流的技術(shù),它將系統(tǒng)數(shù)據(jù)看作不同類型的事件,通過分析事件間的關(guān)系如:成員關(guān)系、時(shí)間關(guān)系以及因果關(guān)系.包含關(guān)系等.建立不同的事件關(guān)系序列庫,即規(guī)則庫,利用過濾、關(guān)聯(lián)、聚合等技術(shù).最終由簡(jiǎn)單事件產(chǎn)生高級(jí)事件或商業(yè)流程。不同的應(yīng)用系統(tǒng)可以通過它得到不同的高級(jí)事件。如庫存管理系統(tǒng)可以得到出庫、入庫高級(jí)事件.考勤管理系統(tǒng)可以得到上班、下班、遲到、早退等高級(jí)事件。 雖然RFID中間件并沒有統(tǒng)一的設(shè)計(jì)標(biāo)準(zhǔn)但事件處理卻被一致公認(rèn)為是RFID中間件的核心功能之一。由于從讀寫器獲得的原始RFID事件只能簡(jiǎn)單地描述標(biāo)簽在感應(yīng)區(qū)中存在的事實(shí).與后臺(tái)業(yè)務(wù)系統(tǒng)中定義的事件層次仍然存在著很大的差距。所以只有利用復(fù)雜事件處理技術(shù).通過多層的過濾和歸并,最終將一系列底層的RFID基本事件聚合成一個(gè)含有業(yè)務(wù)信息的高級(jí)事件.才能實(shí)現(xiàn)將現(xiàn)有應(yīng)用系統(tǒng)與RFID技術(shù)的有效整合。 3 RFID中間件事件處理模型設(shè)計(jì) 3.1功能要求 (1)能夠?qū)⒌讓拥幕臼录?jīng)過層層過濾最終得到上層應(yīng)用感興趣的復(fù)雜事件 (2)能夠得到不同抽象層次的高級(jí)事件 (3)存在高層用戶感興趣的事件序列模式 (4)管理人員可以針對(duì)具體的應(yīng)用需求在不同抽象層次設(shè)置事件的過濾條件 3.2 RFID中間件的數(shù)據(jù)特征 與普通數(shù)據(jù)相比,RFID數(shù)據(jù)具有如下特征: (1)時(shí)間性、動(dòng)態(tài)性和關(guān)聯(lián)性,F(xiàn)場(chǎng)動(dòng)態(tài)地產(chǎn)生關(guān)于標(biāo)簽對(duì)象狀態(tài)變化的觀察數(shù)據(jù),這些數(shù)據(jù)包含觀察時(shí)刻以及對(duì)應(yīng)該時(shí)刻的對(duì)象位置和狀態(tài)等屬性。例如,物品的入庫、出庫等狀態(tài)。一個(gè)RFID標(biāo)簽數(shù)據(jù)不是獨(dú)立存在的,而是相互關(guān)聯(lián)的,由時(shí)態(tài)性和動(dòng)態(tài)性衍生出關(guān)聯(lián)性。時(shí)態(tài)關(guān)聯(lián)表達(dá)了事件之間的時(shí)序關(guān)系,空間關(guān)聯(lián)表達(dá)了事件發(fā)展的軌跡,時(shí)空關(guān)聯(lián)共同表達(dá)了與對(duì)象有關(guān)的事件的變化過程。 (2)豐富的隱含語義。被觀察的對(duì)象攜帶有與上下文狀態(tài)和背景知識(shí)有關(guān)的信息,這些信息是隱含的,且與上層應(yīng)用邏輯之間存在密切的關(guān)系。利用這些相關(guān)信息可進(jìn)一步導(dǎo)出衍生其他信息。例如,從物品的標(biāo)簽ID町通過EPCIS查出它的名稱、數(shù)量、規(guī)格等信息。從閱讀器的位置可得知物品的進(jìn)貨地點(diǎn)等。RFID標(biāo)簽數(shù)據(jù)是一種低層次的基礎(chǔ)數(shù)據(jù),只有通過與隱含的數(shù)據(jù)相結(jié)合上升為高級(jí)的業(yè)務(wù)邏輯數(shù)據(jù),與現(xiàn)有的應(yīng)用相集成,才能真正地發(fā)揮RFID系統(tǒng)的作用。 (3)冗余性、異構(gòu)性和實(shí)時(shí)性,F(xiàn)有的RFID閱讀器還存在誤差問題,不可避免的會(huì)發(fā)生漏讀、重復(fù)讀和錯(cuò)讀的情況。另一方面一個(gè)閱讀器可以識(shí)別出多種不同的對(duì)象。即RFID數(shù)據(jù)流中可能包含有多種不同性質(zhì)的觀察值。例如.在一個(gè)安檢入口.既可以識(shí)別出進(jìn)出的人員旭可以識(shí)別進(jìn)出的物品,它們是具有不同性質(zhì)的對(duì)象.所對(duì)應(yīng)的事件語義也不相同。同時(shí)通常要求有閱讀器所得到的標(biāo)簽數(shù)據(jù)值要能夠?qū)崟r(shí)反映現(xiàn)實(shí)世界的當(dāng)前狀態(tài).即數(shù)據(jù)值不能“過時(shí)”這就要求數(shù)據(jù)具有一定的實(shí)時(shí)特征。 (4)流動(dòng)性、批量性和海量性。RFlD數(shù)據(jù)是以流的形式快速、自動(dòng)地由閱讀器進(jìn)行捕獲,并積累起來以支持跟蹤和監(jiān)控應(yīng)用。并且,有時(shí)具有批量的特點(diǎn),即多個(gè)標(biāo)簽對(duì)象會(huì)被集中地觀察;同時(shí)具有海量的數(shù)據(jù)量,例如.如EPC910bal標(biāo)準(zhǔn)規(guī)定的第二代(Gen2)RFID閱讀器標(biāo)準(zhǔn)對(duì)閱讀器的閱讀速率做出了規(guī)定:每秒鐘1800個(gè)電子標(biāo)簽。也就是說.一個(gè)擁有20臺(tái)閱讀器的配送中心在高峰期一秒鐘可以閱讀36000個(gè)事件。如何實(shí)時(shí)地對(duì)巨量的RFID數(shù)據(jù)進(jìn)行處理及如何充分挖掘出RFID數(shù)據(jù)所包含的有用信息已成為RFID中間件研究的重要內(nèi)容。 3.3分層設(shè)計(jì)思想 將復(fù)雜的問題進(jìn)行層次劃分.每層各完成相應(yīng)的功能。這是處理復(fù)雜問題常用的解決方式像國(guó)際上的OSI網(wǎng)絡(luò)參考模型.TCP/IP協(xié)議的分層結(jié)構(gòu)都是這種思想的體現(xiàn)。這種分層的思想同樣可以引入到RFID中間件的復(fù)雜事件處理中,以基本事件作為劃分的基礎(chǔ)。將RFID的事件劃分成不同的抽象層次,經(jīng)過多層的過濾.最終得到上層應(yīng)用軟件所需要的信息數(shù)據(jù)。同時(shí)大規(guī)模RFID設(shè)備的部署引發(fā)大量的原始數(shù)據(jù)流,除了數(shù)據(jù)及邏輯復(fù)雜性外,RFID中間件需要實(shí)時(shí)快速處理成千上萬的數(shù)據(jù)流.采用分層的過濾方式有利于減少事件處理的延時(shí)。 在事件的分層模型中,需要配置事件過濾器和事件整合器。事件過濾器:預(yù)先存儲(chǔ)了事件類型。對(duì)于任意類型的事件輸入,只輸出符合條件的事件類型。事件整合器:預(yù)先定義了一些事件序列規(guī)則。即模式信息,對(duì)于任意輸入的事件序列,需要與預(yù)定義的模式信息進(jìn)行匹配.只有匹配成功的才可以作為高級(jí)事件輸出。 事件過濾器和事件整合器可以根據(jù)系統(tǒng)的需要設(shè)置一個(gè)或任意多個(gè)。即每一個(gè)事件過濾器(事件整合器)的輸出作為上層事件過濾器(事件整合器)的輸入,通過層層處理,最終得到所需要的數(shù)據(jù)。 3.4事件處理模型 基于分層設(shè)計(jì)的思想,結(jié)合RFID中間件系統(tǒng)的數(shù)據(jù)特征,本文設(shè)計(jì)事件處理模型如圖l所示。從事件處理流程角度看,從下向上分別為:冗余事件過濾、類型識(shí)別過濾、模式過濾和業(yè)務(wù)規(guī)則過濾。從事件的角度看.劃分為基本事件和抽象事件,抽象事件又細(xì)分為:有效事件、模式事件和業(yè)務(wù)規(guī)則事件。 冗余事件過濾器:RFlD中間件接收來自閱讀器的海量的EPC標(biāo)簽數(shù)據(jù),這些數(shù)據(jù)存在著大量的重復(fù)讀、漏讀和錯(cuò)讀的信息,為了有效獲取數(shù)據(jù),運(yùn)用冗余事件過濾器,消除冗余數(shù)據(jù)。 類型識(shí)別過濾器:根據(jù)EPCglobal組織的標(biāo)簽數(shù)據(jù)規(guī)范,任何一種標(biāo)簽數(shù)據(jù)格式都由三部分組成:即頭部域,過濾域和域標(biāo)識(shí)符,其中頭部域和域標(biāo)識(shí)符統(tǒng)稱為EPC標(biāo)識(shí)符,根據(jù)EPC標(biāo)識(shí)符,就可以對(duì)任何一個(gè)EPC標(biāo)簽進(jìn)行類型判斷。 模式過濾器:根據(jù)具體的應(yīng)用環(huán)境而不同。在模式過濾器里存儲(chǔ)的是管理員預(yù)先定義的上層應(yīng)用所感興趣的事件序列規(guī)則.即模式。事件序列之間的關(guān)系包括時(shí)間關(guān)系,層次關(guān)系,包含關(guān)系。因果關(guān)系等其中以時(shí)間關(guān)系最為常見。有效事件序列經(jīng)過模式過濾器時(shí),會(huì)進(jìn)行模式匹配,匹配成功的有效事件序列轉(zhuǎn)化為模式事件。 業(yè)務(wù)規(guī)則整合器:在模式事件的基礎(chǔ)之上通過查找本地或遠(yuǎn)程的EPCIS服務(wù)器.將相關(guān)的屬性信息附加在高級(jí)事件上.最終得到上層軟件感興趣的業(yè)務(wù)事件。 管理人員:本分層事件處理模型的優(yōu)勢(shì)在于.使用人員可以根據(jù)系統(tǒng)的需要.在不同的抽象層次進(jìn)行過濾條件設(shè)置。如系統(tǒng)管理員可能關(guān)心的是系統(tǒng)底層過濾器的設(shè)置,而終端用戶可能關(guān)心業(yè)務(wù)規(guī)則的設(shè)置。 ![]() 圖1 RFID事件處理模型 抽象事件層次見表1: ![]() 4 應(yīng)用舉例 以RFID監(jiān)獄監(jiān)控系統(tǒng)為例,來說明復(fù)雜事件處理模型在RFID中間件系統(tǒng)中的應(yīng)用。監(jiān)獄監(jiān)控系統(tǒng)中有一項(xiàng)功能.禁止某些罪犯聚集(如本例的犯人2和犯人3),否則會(huì)出現(xiàn)報(bào)警。整個(gè)分層的事件處理流程如圖2所示。 含有冗余數(shù)據(jù)的事件首先經(jīng)過冗余事件過濾器.過濾掉重復(fù)和錯(cuò)讀的數(shù)據(jù),輸出了含有犯人和警員的基本事件.這些基本事件作為類型識(shí)別過濾器的輸入,過濾掉了警員信息.輸出僅含有犯人的有效事件,有效事件經(jīng)過模式過濾器與內(nèi)部預(yù)先定義的模式規(guī)則進(jìn)行匹配,當(dāng)發(fā)現(xiàn)犯人2和犯人3為有效序列后,輸出告警事件,告警事件經(jīng)過業(yè)務(wù)規(guī)則過濾器,通過查找EPCIS信息服務(wù)器。融合了與此規(guī)則相關(guān)的屬性信息,輸出告警報(bào)告上傳給上層的監(jiān)獄監(jiān)控系統(tǒng)。 ![]() 圖2監(jiān)獄監(jiān)控系統(tǒng)中的RFID事件處理流程圖 5 結(jié)論 作為國(guó)內(nèi)外的研究熱點(diǎn)之一.復(fù)雜事件處理技術(shù)在金融、物流、軍事等領(lǐng)域都有著廣泛的應(yīng)用前景。本文基于分層設(shè)計(jì)的思想,結(jié)合RFID系統(tǒng)的數(shù)據(jù)特征,將復(fù)雜事件處理技術(shù)引入到RFID中間件系統(tǒng)中。提出了一種RFID中間件事件處理模型。該模型允許在不同的抽象層次上設(shè)置過濾條件,經(jīng)過多層過濾,最終得到上層應(yīng)用軟件感興趣的業(yè)務(wù)信息。如何結(jié)合基于JAVA的規(guī)則引擎對(duì)規(guī)則進(jìn)行靈活設(shè)置.還需要在今后的學(xué)習(xí)中進(jìn)一步研究和探索來完善此模型設(shè)計(jì)。 本文作者創(chuàng)新點(diǎn):該模型通過把事件劃分為多個(gè)抽象層次.管理人員可以靈活地根據(jù)具體的應(yīng)用需求.設(shè)置過濾條件.大大減少了網(wǎng)絡(luò)上的數(shù)據(jù)傳輸量。有效解決了傳統(tǒng)RFID事件處理中數(shù)據(jù)傳輸量大,數(shù)據(jù)處理效率低的問題,因此該設(shè)計(jì)模型對(duì)RFID中間件的事件處理具有很好的現(xiàn)實(shí)意義。 作者:張曉鵬,李建民,林振榮 來源:《微計(jì)算機(jī)信息》(嵌入式與SOC)2009年第9-2期 |