技術(shù)
導(dǎo)讀:本文闡述了RFID中間件系統(tǒng),研究了RFID中間件關(guān)鍵技術(shù)之?dāng)?shù)據(jù)處理,分析了RFID數(shù)據(jù)特點(diǎn),歸納總結(jié)了RFID數(shù)據(jù)處理的關(guān)鍵技術(shù):RFID數(shù)據(jù)清洗和RFID復(fù)雜事件檢測(cè)技術(shù),同時(shí)結(jié)合各大廠商的中間件系統(tǒng),總結(jié)了RFID中間件數(shù)據(jù)處理的現(xiàn)狀,討論了一些迫待需要解決的問題,并對(duì)今后研究的重點(diǎn)進(jìn)行了展望,創(chuàng)新性的提出了將高效模式匹配算法Rete引入RFID復(fù)雜事件處理中。
文/北京交通大學(xué)電子信息工程學(xué)院 李星 付文秀
本文闡述了RFID(Radio Frequency Identification,射頻識(shí)別)中間件系統(tǒng),研究了RFID中間件關(guān)鍵技術(shù)之?dāng)?shù)據(jù)處理,分析了RFID數(shù)據(jù)特點(diǎn),歸納總結(jié)了RFID數(shù)據(jù)處理的關(guān)鍵技術(shù):RFID數(shù)據(jù)清洗和RFID復(fù)雜事件檢測(cè)技術(shù),同時(shí)結(jié)合各大廠商的中間件系統(tǒng),總結(jié)了RFID中間件數(shù)據(jù)處理的現(xiàn)狀,討論了一些迫待需要解決的問題,并對(duì)今后研究的重點(diǎn)進(jìn)行了展望,創(chuàng)新性的提出了將高效模式匹配算法Rete引入RFID復(fù)雜事件處理中。
1、引言
RFID射頻識(shí)別技術(shù)作為一種快速、實(shí)時(shí)、準(zhǔn)確采集與處理信息的高新無(wú)線自動(dòng)識(shí)別技術(shù),通過使用RFID讀寫器和RFID標(biāo)簽,它能識(shí)別和認(rèn)證遠(yuǎn)距離的人和物。RFID技術(shù)與互聯(lián)網(wǎng)、通訊等技術(shù)相結(jié)合,可實(shí)現(xiàn)全球范圍內(nèi)物品跟蹤與信息共享,被廣泛用于生產(chǎn)、管理、生活、國(guó)防等各個(gè)領(lǐng)域,被列為“21世紀(jì)10大技術(shù)之一”。
RFID技術(shù)能否成功最重要的是如何滿足企業(yè)現(xiàn)有應(yīng)用系統(tǒng)與RFID設(shè)備的連接,而RFID中間件是應(yīng)用部署運(yùn)作的中樞,它介于前端讀寫器硬件模塊與后端數(shù)據(jù)庫(kù)和應(yīng)用軟件之間,已成為RFID系統(tǒng)應(yīng)用的關(guān)鍵之一。
2、RFID中間件系統(tǒng)概述
RFID系統(tǒng)包括四個(gè)部分:標(biāo)簽、讀寫器、中間件和應(yīng)用程序。RFID中間件是應(yīng)用的神經(jīng)中樞,它是一種消息導(dǎo)向的軟件中間件,信息是以消息的形式從一個(gè)程序模塊傳遞到另一個(gè)或多個(gè)程序模塊。消息可以異步的方式傳送,所以傳送者不必等待回應(yīng)。它實(shí)現(xiàn)RFID硬件設(shè)備與應(yīng)用系統(tǒng)之間數(shù)據(jù)傳輸、過濾、數(shù)據(jù)格式轉(zhuǎn)換,將RFID讀寫器讀取的各種數(shù)據(jù)信息,經(jīng)過中間件提取、解密、過濾、格式轉(zhuǎn)換、導(dǎo)入企業(yè)的管理信息系統(tǒng)。中間件技術(shù)降低了應(yīng)用開發(fā)的難度,使應(yīng)用系統(tǒng)開發(fā)者不需要直接面對(duì)底層硬件架構(gòu),只需要了解它提供的接口。
RFID中間件在原有的企業(yè)應(yīng)用中間件發(fā)展的基礎(chǔ)之上,結(jié)合自身應(yīng)用特性進(jìn)一步擴(kuò)展并深化了中間件在企業(yè)中的應(yīng)用。其主要特征如下:
(1)獨(dú)立性——RFID中間件獨(dú)立并介于RFID讀寫器與企業(yè)后端應(yīng)用程序之間,不依賴于某個(gè)RFID系統(tǒng)和應(yīng)用系統(tǒng),能夠與多個(gè)不同RFID讀寫器以及多個(gè)后端應(yīng)用程序連接,以減輕架構(gòu)與維護(hù)的復(fù)雜性。
(2)數(shù)據(jù)流——RFID中間件最重要的組成部分,它的主要任務(wù)在于將不同實(shí)體對(duì)象格式轉(zhuǎn)換為信息環(huán)境下的統(tǒng)一格式的虛擬對(duì)象,因此數(shù)據(jù)處理是RFID最重要的功能及實(shí)現(xiàn)難點(diǎn)。RFID中間件具有數(shù)據(jù)采集、過濾、整合與傳遞等特性,以便將正確的對(duì)象信息傳到企業(yè)后端的應(yīng)用系統(tǒng)。
(3)處理流——RFID中間件是一個(gè)消息導(dǎo)向中間件,提供順序的消息流,具有數(shù)據(jù)流設(shè)計(jì)與管理的能力。
3、RFID中間件關(guān)鍵技術(shù)研究
RFID中間件在物聯(lián)網(wǎng)中處于讀寫器和企業(yè)應(yīng)用程序之間,是網(wǎng)絡(luò)的神經(jīng)系統(tǒng)。在研究RFID中間件時(shí)有很多問題需要解決,這里主要研究其關(guān)鍵技術(shù)之一:數(shù)據(jù)處理。
在早期RFID的應(yīng)用開發(fā)中,讀寫器將讀取的數(shù)據(jù)直接傳遞給應(yīng)用程序,應(yīng)用程序解釋這些原始數(shù)據(jù),處理形成業(yè)務(wù)邏輯數(shù)據(jù),這導(dǎo)致RFID處理部分非常復(fù)雜,對(duì)于企業(yè)來(lái)說,必須重新改寫應(yīng)用系統(tǒng),應(yīng)用成本高,同時(shí)軟件的可重用性和可適應(yīng)性非常差。隨著RFID的應(yīng)用,RFID數(shù)據(jù)量隨之龐大,為了RFID的普及應(yīng)用,必須對(duì)上層應(yīng)用屏蔽底層硬件,將數(shù)據(jù)處理和復(fù)雜事件檢測(cè)到集中到RFID中間件,并提供統(tǒng)一的通用的數(shù)據(jù)清洗和復(fù)雜事件檢測(cè)模型,從而為企業(yè)提供統(tǒng)一的應(yīng)用接口,減小企業(yè)接入的困難及成本。
在RFID應(yīng)用中會(huì)產(chǎn)生大量數(shù)據(jù),與普通數(shù)據(jù)相比,RFID數(shù)據(jù)具有如下特點(diǎn):
?。?)時(shí)態(tài)、動(dòng)態(tài)和關(guān)聯(lián)性。讀寫器在現(xiàn)場(chǎng)獲得標(biāo)簽數(shù)據(jù),并同時(shí)記錄數(shù)據(jù)產(chǎn)生的時(shí)刻。一個(gè)RFID數(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)豐富的隱含語(yǔ)義。標(biāo)簽數(shù)據(jù)攜帶有與上下文狀態(tài)和背景知識(shí)有關(guān)的信息,這些信息是隱含的,且與上層應(yīng)用邏輯之間存在密切的關(guān)系。利用這些相關(guān)信息可進(jìn)一步導(dǎo)出衍生信息。
?。?)不準(zhǔn)確性、冗余性和異構(gòu)性。由于射頻干擾等,現(xiàn)有的RFID讀寫器還存在誤差問題,如漏讀、多讀和臟讀等。另一方面針對(duì)不同種類的讀寫器,對(duì)于同一標(biāo)簽,讀出的數(shù)據(jù)也可能不一樣,這取決于各個(gè)讀寫器之間的協(xié)議差異性。同時(shí),對(duì)于同一閱讀器,也可以識(shí)別出多種不同性質(zhì)的數(shù)據(jù)。
?。?)流特性。RFID數(shù)據(jù)是以流的形式快速、自動(dòng)地產(chǎn)生的,需要積累起來(lái)以支持跟蹤和監(jiān)控應(yīng)用,這就要求中間件能實(shí)時(shí)處理大量的數(shù)據(jù)。由于RFID數(shù)據(jù)的不準(zhǔn)確性,所以在使用數(shù)據(jù)前會(huì)對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,即RFID數(shù)據(jù)清洗。由于RFID數(shù)據(jù)的隱含語(yǔ)義和關(guān)聯(lián)性,須有事件處理引擎來(lái)處理事件間的關(guān)聯(lián)關(guān)系,將沒有具體意義的簡(jiǎn)單原子事件形成富含邏輯意義的復(fù)合事件。因此數(shù)據(jù)處理的關(guān)鍵技術(shù)是RFID數(shù)據(jù)清洗和RFID事件檢測(cè)技術(shù)。
3.1 RFID數(shù)據(jù)清洗技術(shù)
RFID利用無(wú)線射頻技術(shù)傳輸數(shù)據(jù),由于讀寫器異?;蛘邩?biāo)簽之間的相互干擾,有時(shí)采集的數(shù)據(jù)不完整或是錯(cuò)誤,即臟讀,還會(huì)出現(xiàn)多讀和漏讀等現(xiàn)象,因此需要進(jìn)行預(yù)處理,將臟讀、多讀和漏讀等降到最低,盡可能接近真實(shí)數(shù)據(jù),提高數(shù)據(jù)的準(zhǔn)確度。
?。?)最早在EPCGlobal的Reader Protocol協(xié)議中涉及了Smooth算法,當(dāng)初的目的是為了用含有邏輯意義的事件代替大量的標(biāo)簽事件流,但實(shí)際上起到了平滑事件流、清洗漏讀數(shù)據(jù)錯(cuò)誤的功能。它的窗口大小固定不變。
(2)一種基于SQL查詢模型的ESP(Extensible receptor Stream Processing)機(jī)制,它清洗來(lái)自不同接收器的原始物理數(shù)據(jù),利用接受數(shù)據(jù)的時(shí)態(tài)性和空間性產(chǎn)生一種更準(zhǔn)確地反映物理世界的改進(jìn)流。 ESP機(jī)制設(shè)計(jì)成管道結(jié)構(gòu),利用描述性連續(xù)查詢處理工具。該算法分為5個(gè)步驟,分別是Point-Smooth-Merge-Arbitrate –Virtualize,通過描述性連續(xù)查詢可以對(duì)這些步驟進(jìn)行編程。每個(gè)步驟有不同的清洗任務(wù),采取不同的清洗技術(shù)。針對(duì)不同的應(yīng)用,該機(jī)制十分靈活,可以根據(jù)需要采用不同的步驟。這5個(gè)步驟清洗層次逐漸升高,由對(duì)單個(gè)接收器數(shù)據(jù)的清洗,擴(kuò)展到對(duì)多個(gè)接收器的處理;由對(duì)來(lái)自同種類型接收器數(shù)據(jù)的清洗,擴(kuò)展到來(lái)自不同種類接收器的處理。ESP采用定長(zhǎng)滑動(dòng)窗口機(jī)制,根據(jù)RFID數(shù)據(jù)具有時(shí)間和空間相關(guān)性對(duì)數(shù)據(jù)進(jìn)行清洗,但沒有涉及如何設(shè)置。主要解決了漏讀和多讀(即噪聲數(shù)據(jù))。
?。?)美國(guó)加州大學(xué)Berkeley分校提出了一種統(tǒng)計(jì)平滑處理算法SMURF,它將RFID數(shù)據(jù)流當(dāng)作統(tǒng)計(jì)學(xué)中的隨機(jī)事件,通過概論統(tǒng)計(jì)方法對(duì)漏讀的數(shù)據(jù)進(jìn)行填補(bǔ)。通過采用二項(xiàng)式分布模型和 -estimator模型,SMURF不斷適應(yīng)平滑窗口的大小。但該模型只解決了單個(gè)閱讀器的數(shù)據(jù)處理問題,并且在標(biāo)簽快速移動(dòng)時(shí),不能很好的決定窗口大小。有一種新的改進(jìn)算法,該算法在動(dòng)態(tài)決定滑動(dòng)窗口大小時(shí)考慮諸如讀寫器讀寫范圍,讀寫頻率,標(biāo)簽移動(dòng)速率等因素,解決了標(biāo)簽快速移動(dòng)時(shí)窗口大小問題。
?。?)基于機(jī)器學(xué)習(xí)的數(shù)據(jù)清洗算法。提出一個(gè)RFID數(shù)據(jù)流成本意識(shí)清洗框架,包含RFID數(shù)據(jù)集和一系列帶有清洗開銷的清洗方法,提出一個(gè)適應(yīng)性調(diào)整時(shí)間開銷和準(zhǔn)確性的總體優(yōu)化算法,它能在高準(zhǔn)確性、低消耗條件下清洗大規(guī)模數(shù)據(jù)集。文中提出了決策樹和貝葉斯方法,根據(jù)不同數(shù)據(jù)特征進(jìn)行最優(yōu)化清洗策略選擇,以達(dá)到總體開銷最小化。只解決了漏讀問題。
?。?)綜合性清洗策略,研究了兩種過濾類型:去噪和去除重復(fù)數(shù)據(jù),與基線實(shí)現(xiàn)相比,這兩種算法更有效,同時(shí)存儲(chǔ)歷史數(shù)據(jù)需要更少的緩存空間。此外,通過預(yù)先設(shè)定一個(gè)最大延遲時(shí)間,并將接收到的數(shù)據(jù)進(jìn)行緩存排序,解決了時(shí)間戮亂序問題。該算法針對(duì)性地解決了漏讀、多讀和重復(fù)數(shù)據(jù)清洗問題,但處理數(shù)據(jù)延遲大,效率不高,同時(shí)只考慮了單個(gè)閱讀器的情況。
上述清洗算法本質(zhì)上都是根據(jù)自身歷史數(shù)據(jù)的特點(diǎn)進(jìn)行平滑, 主要關(guān)注于單個(gè)讀寫器,忽視在現(xiàn)實(shí)應(yīng)用中數(shù)以千計(jì)的讀寫器和數(shù)百萬(wàn)標(biāo)簽的巨大開銷,沒有考慮到監(jiān)控對(duì)象之間的關(guān)系和時(shí)空的閉合性。
?。?)基于虛擬空間粒度的算法。將擁有相同運(yùn)動(dòng)軌跡的標(biāo)簽作為一個(gè)虛擬單元,在一個(gè)虛擬空間粒度中的不同標(biāo)簽信息相似。有文獻(xiàn)中提出空間相關(guān)性,利用在RFID實(shí)際應(yīng)用中普遍的鄰近讀寫器,以加強(qiáng)對(duì)大量RFID數(shù)據(jù)集的自適應(yīng)清洗,為了減小開銷,擴(kuò)展了SMURF的多標(biāo)簽清洗結(jié)構(gòu)。該算法針對(duì)鄰近讀寫器數(shù)目為2到3個(gè)的情況。
?。?)一種基于閱讀處理狀態(tài)的清洗方法,該算法利用了相關(guān)檢測(cè)節(jié)點(diǎn)提供的有用信息幫助數(shù)據(jù)清洗,當(dāng)檢測(cè)到一個(gè)新的標(biāo)簽,將根據(jù)每個(gè)標(biāo)簽的閱讀狀態(tài)實(shí)施數(shù)據(jù)清洗。算法解決了漏讀和多讀,準(zhǔn)確性高、開銷小。
(8)一種全面的基于監(jiān)控對(duì)象動(dòng)態(tài)聚簇的高效清洗模型。它充分利用了監(jiān)控對(duì)象之間的關(guān)系和時(shí)空的閉合性。通過定義關(guān)聯(lián)度和動(dòng)態(tài)聚簇對(duì)各個(gè)RFID監(jiān)控物體所在的小組進(jìn)行動(dòng)態(tài)的分析,并在此基礎(chǔ)上定義了一套關(guān)聯(lián)度維護(hù)和數(shù)據(jù)清洗的模型和算法,該數(shù)據(jù)清洗模型可以獲得較好的效率和準(zhǔn)確性。但該算法主要解決漏讀和多讀問題,沒有涉及冗余數(shù)據(jù)處理,同時(shí)對(duì)于時(shí)間戮亂序問題也沒有涉及。
3.2 RFID事件檢測(cè)技術(shù)
RFID數(shù)據(jù)處理的主要目的是按照給定的規(guī)則和模式,檢測(cè)出指定的事件。目前主要有以數(shù)據(jù)為中心和以事件為中心的方法。
以數(shù)據(jù)為中心的系統(tǒng)采用傳統(tǒng)的數(shù)據(jù)庫(kù)技術(shù),對(duì)RFID數(shù)據(jù)進(jìn)行建模,保存在數(shù)據(jù)庫(kù)中,在數(shù)據(jù)庫(kù)基礎(chǔ)上,利用數(shù)據(jù)庫(kù)特性,如觸發(fā)器和存儲(chǔ)過程等,實(shí)現(xiàn)事件處理[18]。它是最早使用的方法,代表性的系統(tǒng)是Simens公司的RFID中間件系統(tǒng)。Simens的RFID中間件系統(tǒng)提出了面向時(shí)態(tài)的實(shí)體關(guān)系(ER)模型(DRER),不僅能描述RFID數(shù)據(jù)的特征,還能表達(dá)業(yè)務(wù)邏輯,并支持基于分片的存儲(chǔ),具有可伸縮性?;谝?guī)則框架提供自動(dòng)的RFID數(shù)據(jù)過濾、轉(zhuǎn)換和檢測(cè),生成高層次的語(yǔ)義數(shù)據(jù),在數(shù)據(jù)庫(kù)基礎(chǔ)上,利用規(guī)則進(jìn)行檢測(cè),獲得應(yīng)用系統(tǒng)關(guān)心的具有高層次語(yǔ)義的數(shù)據(jù)。但由于性能限制,其只適合于進(jìn)行歷史數(shù)據(jù)的查詢,或者在線監(jiān)控低速事件,不適合高速、海量和實(shí)時(shí)的數(shù)據(jù)查詢處理。
以事件為中心的系統(tǒng)是基于數(shù)據(jù)源而不是數(shù)據(jù)庫(kù)對(duì)事件建模,對(duì)事件直接進(jìn)行檢測(cè)和處理,以獲得高的效率和實(shí)時(shí)性。以事件為中心的方法核心是復(fù)雜事件處理,復(fù)雜事件處理(Complex Event Processing, CEP)是一種可以從任何分布式的基于消息的系統(tǒng)中提取和分析信息的技術(shù),適合于RFID應(yīng)用的高層業(yè)務(wù)信息處理。常用的復(fù)雜事件檢測(cè)方法:基于Petri網(wǎng)、基于樹、基于圖和基于自動(dòng)機(jī)的檢測(cè)方法。
RFID復(fù)雜事件處理已有不少研究,典型的系統(tǒng)有美國(guó)加州大學(xué)伯克利分校的原形系統(tǒng)SASE[21][22]、Cornell大學(xué)開發(fā)的Cayuga系統(tǒng)、Texas大學(xué)Arlington分校開發(fā)的EStream系統(tǒng), Dartmouth學(xué)校開發(fā)的PQS系統(tǒng),RCEDA, EsperTech公司的Esper以及TPN。
SASE系統(tǒng)提供擴(kuò)展的事件查詢語(yǔ)言、事件查詢處理器和操作優(yōu)化策略等,實(shí)現(xiàn)了 RFID 設(shè)備的數(shù)據(jù)采集和清洗、基本事件生成、復(fù)合事件處理、事件歸檔以及對(duì)事件的查詢。SASE定義的事件操作符包括時(shí)序關(guān)系、數(shù)值限制、時(shí)序限制、Negation和滑動(dòng)窗口等操作。查詢處理由6種算符的子集組成,分別是序列掃描、序列構(gòu)造、選擇、窗口、非操作和轉(zhuǎn)換,它們由下至上構(gòu)成了一個(gè)查詢計(jì)劃。同時(shí)考慮了大量的優(yōu)化,提出了對(duì)操作符下推、基于屬性分組等相關(guān)的查詢優(yōu)化策略。
Cayuga 系統(tǒng)提出了擴(kuò)展的查詢語(yǔ)言,通過了自定義的自動(dòng)模型和內(nèi)部命名方法來(lái)高效的檢測(cè)復(fù)合事件,并討論了相關(guān)的系統(tǒng)實(shí)現(xiàn)的技術(shù)節(jié)。
EStream 系統(tǒng)在數(shù)據(jù)流查詢器的基礎(chǔ)上,繼承了連續(xù)事件查詢器,利用規(guī)則檢數(shù)據(jù)流上的復(fù)合事件,考慮了高效的增量維護(hù)算法。
{$PAGE$}
PQS系統(tǒng)采用非確定性有限自動(dòng)機(jī)、隱型馬爾可夫過程HMM等方法對(duì)動(dòng)態(tài)過程建模,以事件流為輸入?yún)?shù)通過對(duì)模型求解,從而發(fā)現(xiàn)產(chǎn)生這些事件的過程,實(shí)現(xiàn)過程查詢和檢測(cè)。
RCEDA處理方法在snoop的基礎(chǔ)上提出了針對(duì)RFID原子事件和復(fù)合事件的形式化描述方法,并且集成了snoop的采用事件圖來(lái)描述復(fù)合事件的方法。RCEDA方法提出了三種檢測(cè)模式:pull、push和mix,在事件檢測(cè)中時(shí)間限制被作為第一類對(duì)象,并引入偽事件,很好地解決了非自發(fā)事件的檢測(cè)。
Esper是一個(gè)開源的復(fù)雜事件處理引擎,使用類SQL語(yǔ)言處理事件,提供了豐富的事件描述語(yǔ)言EPL,支持復(fù)合事件的進(jìn)一步復(fù)合,并且能夠?qū)崿F(xiàn)與數(shù)據(jù)庫(kù)中歷史數(shù)據(jù)的集成,使用有窮自動(dòng)機(jī)進(jìn)行復(fù)合事件檢測(cè),采用了滑動(dòng)窗口機(jī)制,然后針對(duì)窗口的規(guī)則檢測(cè)來(lái)處理輸入事件流。
TPN方法使用事件Petri網(wǎng)對(duì)RFID復(fù)合事件進(jìn)行描述和檢測(cè)。該方法針對(duì)RFID復(fù)合事件特點(diǎn),在傳統(tǒng)Petri網(wǎng)基礎(chǔ)上定義了時(shí)間Petri網(wǎng)。它定義了復(fù)合事件的四種狀態(tài):初始狀態(tài)、執(zhí)行狀態(tài)、提交狀態(tài)和夭折狀態(tài)。
這些系統(tǒng)中SASE和Cayuga是針對(duì)事件檢測(cè)最有代表性的系統(tǒng)。但是SASE只能檢測(cè)由基本事件構(gòu)建的復(fù)合事件,還不能對(duì)由復(fù)合事件進(jìn)一步組成的高級(jí)復(fù)合事件進(jìn)行檢測(cè),同時(shí)沒有根據(jù)RFID系統(tǒng)需求考慮Repetition等語(yǔ)義,消耗模式也僅僅考慮了exclusive,而且假設(shè)事件流的時(shí)間戳滿足自然數(shù)全序關(guān)系,由于網(wǎng)絡(luò)延時(shí)等,這在現(xiàn)實(shí)中是不可能的。Cayuga自動(dòng)機(jī)解決了SASE系統(tǒng)所不具備的一些功能,如簡(jiǎn)單的復(fù)合操作和時(shí)序限制,但是由于自動(dòng)機(jī)加入大量的內(nèi)部命名機(jī)制,不便于用戶理解,而且只支持簡(jiǎn)單的數(shù)值限制。與SASE系統(tǒng)相比,不支持重要的Negation操作,消耗模式也僅僅考慮簡(jiǎn)單的delete模式,即先前參與復(fù)合事件匹配的基本事件不再參與后面的匹配。另外,由于在Cayuga系統(tǒng)中沒有修正亂序,可能會(huì)導(dǎo)致參與匹配的有效亂序事件被刪除,這樣部分復(fù)合事件就不會(huì)被正確檢測(cè)。
由此可以看出,復(fù)雜事件檢測(cè)技術(shù)迫切需要解決的關(guān)鍵問題是復(fù)合事件進(jìn)一步組成高級(jí)復(fù)合事件的檢測(cè),非自發(fā)事件的檢測(cè),中間檢測(cè)結(jié)果的共享,處理過程中的消耗模式及時(shí)間戮亂序問題。
針對(duì)這些問題,有人提出了通過建立共享池和復(fù)合事件分類表來(lái)提高檢測(cè)效率的檢測(cè)方法,但是該方法沒有把事件檢測(cè)和中間結(jié)果共享機(jī)制統(tǒng)一起來(lái),每產(chǎn)生一個(gè)事件實(shí)例都要去查詢事件分類表和共享池,增加了系統(tǒng)開銷。
4、RFID數(shù)據(jù)處理現(xiàn)狀及研究方向
隨著RFID的應(yīng)用,各大廠商開發(fā)了自己的RFID中間件平臺(tái),如SUN EPC Network,SAP Auto-ID架構(gòu),Oracle Sensor Edge Server,IBM WebSphere RFID Premises Server,Sybase RFID解決方案和UCLA WinRFID中間件。通過研究各RFID中間件巨頭企業(yè)數(shù)據(jù)處理方法來(lái)了解RFID中間件系統(tǒng)數(shù)據(jù)處理現(xiàn)狀。
IBM的RFID中間件架構(gòu)中,與數(shù)據(jù)處理相關(guān)的組件只有FilterAgent,所實(shí)現(xiàn)的過濾器有五類:Duplicates,DecayingDuplicates,CaseTags,EpcFilter,Interest,功能只有冗余過濾和位過濾,沒有任何針對(duì)漏讀、臟讀、復(fù)雜事件處理的功能。
SUN公司的RFID中間件完全端到端的解決方案,強(qiáng)化了SUN的核心基礎(chǔ)技術(shù),可以過濾、集合與處理大量來(lái)自RFID網(wǎng)絡(luò)邊緣的數(shù)據(jù)。與數(shù)據(jù)處理相關(guān)的模塊是Execution Agent中的Filter組件,SUN公司最早提出了smooth、delat、bandpass等簡(jiǎn)單過濾規(guī)則,用來(lái)過濾冗余數(shù)據(jù)、平滑漏讀數(shù)據(jù),bandpass能生成簡(jiǎn)單的邏輯事件。但是仍然需要通過定制組件的方式來(lái)增加過濾功能,檢測(cè)新的復(fù)雜事件,沒有一個(gè)完整數(shù)據(jù)清理解決方案,和靈活的復(fù)雜事件檢測(cè)引擎。
Oracle/BEA的RFID中間件架構(gòu)基于BEA的WebLgoic Enterprise Server,BEA的事件服務(wù)架構(gòu)中的事件引擎是目前各大公司中功能最強(qiáng)大的事件引擎,采用了esper流事件處理引擎,使用EPL語(yǔ)言,對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行監(jiān)控,生成具有邏輯意義的復(fù)雜事件。但該引擎是基于關(guān)系代數(shù)的模式構(gòu)建,對(duì)時(shí)序順序的檢測(cè)非常的弱,然而RFID事件檢測(cè)中往往需要大量的時(shí)序檢測(cè)。此外,還存在沒有針對(duì)RFID數(shù)據(jù)中所存在的問題提供相應(yīng)的清洗策略。
UCLA實(shí)驗(yàn)室開發(fā)的一套R(shí)FID中間件WinRFID Edge-Server,使用Data Filtration進(jìn)行數(shù)據(jù)過濾,使用了規(guī)則引擎對(duì)過濾數(shù)據(jù)進(jìn)行檢測(cè),通過規(guī)則驗(yàn)證,則通過邏輯控制出發(fā)相應(yīng)動(dòng)作,但是規(guī)則引擎不適合RFID數(shù)據(jù),它并沒有針對(duì)數(shù)據(jù)流的相關(guān)優(yōu)化處理,同時(shí)RFID數(shù)據(jù)中存在大量的重復(fù)事件,還有時(shí)序檢驗(yàn),規(guī)則引擎不能很好的處理。
分析可知,SUN的中間件功能單薄,過濾規(guī)則簡(jiǎn)單,缺少?gòu)?fù)雜事件的定義和處理能力,而Microsoft、IBM、Oracle、Sybase等廠商提供的RFID中間件的設(shè)計(jì)大多基于自己目前的核心產(chǎn)品或技術(shù),有太大的依賴性和較小的擴(kuò)展性。上述巨頭企業(yè)RFID中間件平臺(tái)更著重關(guān)注底層數(shù)據(jù)過濾和搜集,在一定意義上,這些平臺(tái)是ALE[42]標(biāo)準(zhǔn)的一種具體實(shí)現(xiàn),這些RFID中間件平臺(tái)針對(duì)RFID數(shù)據(jù)中存在的多讀、漏讀、臟讀和時(shí)序問題,沒有提出一個(gè)完整的解決方案,也沒有針對(duì)RFID的復(fù)雜事件檢測(cè)機(jī)制。
為了適應(yīng)RFID的飛速發(fā)展,快速、實(shí)時(shí)地從海量RFID數(shù)據(jù)中提取出感興趣的信息,復(fù)雜事件處理將成為RFID數(shù)據(jù)流處理研究的熱點(diǎn)。因此,研究現(xiàn)有復(fù)雜事件處理系統(tǒng),站在巨人肩膀上,認(rèn)識(shí)現(xiàn)有系統(tǒng)的不足。
研究證明復(fù)雜事件檢測(cè)中,90%的時(shí)間用于模式匹配,因此,如何進(jìn)行高效的匹配是研究的重點(diǎn)。RETE算法[43]是一種高效的模式匹配算法,被廣泛應(yīng)用于規(guī)則引擎中,根據(jù)Rete特點(diǎn),研究提出將其應(yīng)用到RFID中間件系統(tǒng),以解決復(fù)合事件的檢測(cè)問題。
5、總結(jié)
RFID數(shù)據(jù)處理是RFID中間件的重要研究?jī)?nèi)容,涉及到數(shù)據(jù)庫(kù)技術(shù)、人工智能技術(shù)和實(shí)時(shí)技術(shù)等。本文主要介紹了RFID中間件系統(tǒng),并從RFID中間件數(shù)據(jù)特點(diǎn)出發(fā),研究了數(shù)據(jù)處理的關(guān)鍵技術(shù):數(shù)據(jù)清洗和復(fù)雜事件檢測(cè)技術(shù),指出了目前研究的一些不足和限制,及一些相應(yīng)的解決方法,介紹了各大廠商對(duì)RFID數(shù)據(jù)處理的解決方案。
在后續(xù)研究中,將研究、改進(jìn)高效模式匹配算法Rete,將研究時(shí)間窗口機(jī)制以適應(yīng)RFID應(yīng)用中的時(shí)間限制,同時(shí)根據(jù)事件的生命周期,設(shè)計(jì)高效的空間回收機(jī)制。