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