專利名稱:一種rfid設(shè)備網(wǎng)絡(luò)環(huán)境下的分布式復(fù)雜事件檢測(cè)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及一種針對(duì)RFID應(yīng)用的復(fù)合事件檢測(cè)系統(tǒng),更具體地說是在分布 式的RFID設(shè)備網(wǎng)絡(luò)環(huán)境下對(duì)RFID數(shù)據(jù)進(jìn)行復(fù)合事件的實(shí)現(xiàn)。
背景技術(shù):
射頻識(shí)別(Radio Frequency Identification ;簡(jiǎn)稱RFID)是一種非接觸式自動(dòng) 識(shí)別技術(shù)。二十世紀(jì)七十年代到二十世紀(jì)八十年代,美國(guó)政府通過LosAlamos科學(xué)實(shí)驗(yàn)室 等將RFID技術(shù)大規(guī)模地轉(zhuǎn)為民用,并大量應(yīng)用于動(dòng)物的跟蹤與管理上。二十世紀(jì)九十年代 以來,RFID設(shè)備的體積也越來越小,成本也越來越低,RFID的應(yīng)用擴(kuò)展到了物流、供應(yīng)鏈、 零售業(yè)、食品、醫(yī)藥以及交通運(yùn)輸?shù)戎T多領(lǐng)域。RFID設(shè)備網(wǎng)絡(luò)與IP網(wǎng)絡(luò)的結(jié)合,將實(shí)現(xiàn)全球 的“實(shí)物互聯(lián)”的物聯(lián)網(wǎng)。然而,RFID數(shù)據(jù)只是一種低級(jí)的基礎(chǔ)數(shù)據(jù),從業(yè)務(wù)的角度看這些數(shù)據(jù)本身是有含 義的,它們出現(xiàn)的時(shí)間次序、空間位置也是有含義的。這樣的基礎(chǔ)數(shù)據(jù)必須上升為高級(jí)的 業(yè)務(wù)邏輯數(shù)據(jù),與現(xiàn)有的應(yīng)用集成才能真正地發(fā)揮作用。復(fù)雜事件處理(Complex Event Processing)技術(shù)是90年代中期由斯坦福大學(xué)的David Luckham教授所提出的一種新興 的基于事件流的技術(shù),它將系統(tǒng)數(shù)據(jù)看作不同類型的事件,通過分析事件間的關(guān)系如成員 關(guān)系、時(shí)間關(guān)系以及因果關(guān)系,包含關(guān)系等,建立不同的事件關(guān)系序列庫(kù),即規(guī)則庫(kù),利用過 濾、關(guān)聯(lián)、聚合等技術(shù),最終由簡(jiǎn)單事件產(chǎn)生高級(jí)事件或商業(yè)流程業(yè)務(wù)邏輯數(shù)據(jù)。在國(guó)內(nèi),由于RFID技術(shù)進(jìn)入的時(shí)間比較短,各方面的工作還不完善,與國(guó)際相比 還存在比較明顯的差距。在學(xué)術(shù)界,中科院自動(dòng)化所開發(fā)了 RFID公共服務(wù)體系基礎(chǔ)架構(gòu) 軟件和血液、食品、藥品可追溯的管理中間件,華中科技大學(xué)開發(fā)了支持多通信平臺(tái)的RFID 產(chǎn)品Smarti,上海交通大學(xué)開發(fā)了面向商業(yè)物流的數(shù)據(jù)管理與集成的RFID平臺(tái)。然而,這 些軟件系統(tǒng)都沒有高級(jí)事件處理的功能。東方勵(lì)格公司的LYNK0-ALE RFID軟件價(jià)格平臺(tái)可 以加工和處理來自識(shí)讀器的所有信息和事件流,不過有關(guān)處理只是簡(jiǎn)單的標(biāo)簽數(shù)據(jù)過濾、 分組、計(jì)數(shù)、防錯(cuò)讀和漏讀等,而完全沒有更高層次的復(fù)合事件處理。清華同方的RFID處 理軟件是一種基于J2EE平臺(tái)的中間件平臺(tái),它可以整合企業(yè)應(yīng)用和商業(yè)伙伴的RFID和傳 感器數(shù)據(jù),然而它只具備了硬件管理和基本事件數(shù)據(jù)過濾和傳輸?shù)墓δ?,并沒有分層和復(fù) 合事件處理的機(jī)制。在國(guó)外,很多大型的IT廠商都推出了本公司自己的RFID架構(gòu)平臺(tái),其中代表性 的產(chǎn)品有 Sun EPC Network, SAP Auto-ID Infrastructure, Oracle SensorEdge Server, IBM WebSphere RFID Premises, Sybase RFID 解決方案以及 UCLA 的 WinRFID 中間件,這些 應(yīng)用架構(gòu)都提供從RFID識(shí)讀器獲取數(shù)據(jù)的接口,然后通過簡(jiǎn)單的處理把這些數(shù)據(jù)傳送給 其它的信息系統(tǒng)。從事件處理的角度看,這些RFID系統(tǒng)所使用的說明性的處理規(guī)則是有限 的,如只能表達(dá)要過濾RFID原子事件以及事件之間的簡(jiǎn)單組合,并且它們不支持復(fù)合事件 在分布式環(huán)境下的檢測(cè)。而且目前Master/Worker模式算法的應(yīng)用極為廣泛,如《master/worker模式的并
3行關(guān)聯(lián)規(guī)則挖掘算法》為分布式RFID復(fù)合事件檢測(cè)方案提供了技術(shù)實(shí)現(xiàn)可能。 發(fā)明內(nèi)容本實(shí)用新型是為了克服現(xiàn)有RFID技術(shù)存在的缺陷和不足之處,在分布式環(huán)境下, 為RFID應(yīng)用系統(tǒng)提供具有事件過濾、復(fù)合事件檢測(cè)和事件聚合功能的事件處理方法及其 相應(yīng)的軟件系統(tǒng)。本系統(tǒng)支持分布式網(wǎng)絡(luò)環(huán)境(局域網(wǎng)和無線局域網(wǎng))以及在VMware環(huán) 境中構(gòu)建的虛擬分布式環(huán)境上的RFID復(fù)合事件檢測(cè)。系統(tǒng)支持多種事件操作符,以及事件 操作符和事件類型之間的多種組合使用,能夠在分布式的RFID設(shè)備網(wǎng)絡(luò)環(huán)境下檢測(cè)復(fù)合 事件。一種RFID設(shè)備網(wǎng)絡(luò)環(huán)境下的分布式復(fù)雜事件檢測(cè)系統(tǒng),其特征在于包括服務(wù)器 端和客戶端、RFID識(shí)讀器和能夠被識(shí)讀器識(shí)別的標(biāo)簽;所述服務(wù)器端包括用戶輸入管理單元,用于接收用戶輸入的分布式RFID復(fù)合事件表達(dá)式;事件解析單元,用于解析用戶輸入的事件表達(dá)式,將事件表達(dá)式分解成可以存儲(chǔ) 到事件隊(duì)列中的子表達(dá)式;任務(wù)隊(duì)列生成單元,用于向共享事件隊(duì)列中輸入事件表達(dá)式并生成最終的復(fù)合事 件隊(duì)列;檢測(cè)任務(wù)共享單元,此單元是一個(gè)網(wǎng)絡(luò)共享容器,用于將復(fù)合事件隊(duì)列在網(wǎng)絡(luò)中 共享使用,以保證任何可以連接到服務(wù)器的客戶端都可以自由使用共享隊(duì)列中的數(shù)據(jù),以 獲得相應(yīng)的檢測(cè)任務(wù);任務(wù)監(jiān)控單元,用于實(shí)時(shí)監(jiān)視事件隊(duì)列中復(fù)合事件的完成狀態(tài),并將復(fù)合事件的 檢測(cè)結(jié)果返回給用戶;所述客戶端包括任務(wù)獲取單元,用于從檢測(cè)任務(wù)共享單元獲取可以被獨(dú)立檢測(cè)的復(fù)合事件表達(dá) 式,即子任務(wù),并將獲取的目標(biāo)傳送給任務(wù)解析單元;任務(wù)解析單元,用于把從服務(wù)器中獲取的事件表達(dá)式解析成可以用來檢測(cè)事件流 的數(shù)據(jù)結(jié)構(gòu),解析出其中的復(fù)合事件約束條件表達(dá)式和相應(yīng)的主題復(fù)合事件表達(dá)式;事件發(fā)生單元,由RFID識(shí)讀器和能夠被識(shí)讀器識(shí)別的標(biāo)簽組成的工作的那樣,用 于通過遠(yuǎn)端RFID識(shí)讀器通過射頻識(shí)別技術(shù)獲取能夠被識(shí)讀器識(shí)別的標(biāo)簽內(nèi)存儲(chǔ)的識(shí)別信 息,即獲取系統(tǒng)的基本事件流;事件過濾單元,用于過濾事件流中不合法的數(shù)據(jù),并將合法數(shù)據(jù)傳送到任務(wù)處理 單元,另外它還具有接收從RFID識(shí)讀器發(fā)送到客戶機(jī)的數(shù)據(jù)的功能;任務(wù)處理單元,用于利用任務(wù)解析單元形成的數(shù)據(jù)結(jié)構(gòu)檢測(cè)發(fā)生的事件實(shí)例是否 滿足復(fù)合事件模式,并將結(jié)果傳送到任務(wù)輸出單元;任務(wù)輸出單元,用于將檢測(cè)結(jié)果輸出到本地?cái)?shù)據(jù)庫(kù),并改變所共享的事件隊(duì)列中 相應(yīng)事件項(xiàng)的事件狀態(tài),之后通知服務(wù)器端其檢測(cè)的事件狀態(tài)已經(jīng)發(fā)生變化;該系統(tǒng)首先啟動(dòng)服務(wù)器端,用戶結(jié)合分布式復(fù)合事件表達(dá)式的語法與用戶自身的 功能需求,通過所述的用戶輸入管理單元向系統(tǒng)中輸入復(fù)合事件表達(dá)式;當(dāng)系統(tǒng)接收到用 戶輸入的表達(dá)式后,把事件表達(dá)式傳送到所述的事件解析單元,在此單元對(duì)事件進(jìn)行解析,來判斷表達(dá)式是否合法如果表達(dá)式不合法,事件解析單元會(huì)提示用戶輸入有語法錯(cuò)誤,要 求用戶改正;表達(dá)式合法時(shí),系統(tǒng)會(huì)采用所述的任務(wù)隊(duì)列生成單元把解析結(jié)果存儲(chǔ)到檢測(cè) 任務(wù)共享單元中去;并在所述的任務(wù)監(jiān)視單元實(shí)時(shí)檢查任務(wù)的完成狀態(tài),然后把復(fù)合事件 的檢測(cè)結(jié)果報(bào)告給用戶;客戶端采取所述的任務(wù)獲取單元從檢測(cè)任務(wù)共享單元的共享隊(duì)列 中取出任務(wù),對(duì)此任務(wù)采用所述的任務(wù)解析單元進(jìn)行解析,之后把解析結(jié)果存儲(chǔ)到本地?cái)?shù) 據(jù)庫(kù)和主機(jī)系統(tǒng),RFID識(shí)讀器和能夠被識(shí)讀器識(shí)別的標(biāo)簽負(fù)責(zé)產(chǎn)生數(shù)據(jù),供RFID復(fù)合檢 測(cè)系統(tǒng)消費(fèi)。所述用戶輸入管理單元還進(jìn)行組建事件檢測(cè)任務(wù),判斷此表達(dá)式是否滿足RFID 復(fù)合事件構(gòu)造符規(guī)則以及分布式規(guī)則。所述的事件解析單元能夠根據(jù)自定義的規(guī)約說明文件和解析文件來判斷輸入表 達(dá)式的正確性,并可以把分布式復(fù)合事件表達(dá)式分解成多個(gè)可以被獨(dú)立檢測(cè)的復(fù)合事件表 達(dá)式。檢測(cè)任務(wù)共享單元能夠使共享隊(duì)列中所共享的數(shù)據(jù)可以被網(wǎng)絡(luò)中的其它客戶端 自由調(diào)用,并且它將調(diào)用結(jié)果保存在共享隊(duì)列中,供任務(wù)監(jiān)控單元實(shí)時(shí)監(jiān)控。同現(xiàn)有技術(shù)相比本實(shí)用新型的優(yōu)點(diǎn)是顯而易見的,具體為(1)支持分布式環(huán)境。本實(shí)用新型可以在模擬的分布式環(huán)境(如=VMware)和真實(shí) 的分布式環(huán)境(局域網(wǎng)和廣域網(wǎng))中進(jìn)行復(fù)合事件的檢測(cè)。本系統(tǒng)區(qū)別于集中式復(fù)合事件 檢測(cè)方法,相比集中式復(fù)合事件的檢測(cè)方法需要使用到的大量網(wǎng)絡(luò)帶寬、苛刻的使用環(huán)境、 較差的靈活性與可用性,本實(shí)用新型所述的分布式復(fù)合事件檢測(cè)方法只需要較小的用戶帶 寬,而且客戶機(jī)的部署也是非常靈活多變,大大降低了對(duì)設(shè)備的要求。(2)支持多種事件構(gòu)造符。按照RFID領(lǐng)域研究的最新成果和最新理論,RFID系 統(tǒng)中的事件表達(dá)式包含有多種類型的復(fù)合事件構(gòu)造符和簡(jiǎn)單事件,如AND、OR、SEQ、TSEQ、 TSEQ+、SEQ+以及NOT操作符號(hào),本實(shí)用新型完全支持以上事件構(gòu)造符和事件構(gòu)造符之間的 相互組合,組合方式可以由用戶隨意定制,用戶只需按照規(guī)格說明書的要求書寫正確的復(fù) 合事件表達(dá)式,系統(tǒng)就能夠按照用戶的要求啟動(dòng)事件處理引擎和與之相關(guān)的設(shè)備進(jìn)行復(fù)合 事件檢測(cè),并將檢測(cè)結(jié)果反饋給系統(tǒng)用戶。(3)支持非自發(fā)事件。本實(shí)用新型通過使用NOT操作符與其它操作符之間附帶相 應(yīng)的時(shí)間約束的關(guān)聯(lián)關(guān)系,對(duì)非自發(fā)事件進(jìn)行復(fù)合事件檢測(cè),其中TSEQ+和SEQ+操作符本身 也附帶有非自發(fā)事件,本原型系統(tǒng)對(duì)這兩種非自發(fā)事件有良好的支持效果,并且這些非自 發(fā)事件還可以繼續(xù)與其它的事件操作符復(fù)合成更復(fù)雜的復(fù)合事件。⑷支持聚合事件。本實(shí)用新型支持SUM、COUNT、AVG、MAX、MIN等常見的事件聚合操作。
圖1是本實(shí)用新型用于RFID復(fù)合事件檢測(cè)系統(tǒng)的結(jié)構(gòu)示意圖;圖2是本實(shí)用新型用于RFID復(fù)合事件檢測(cè)系統(tǒng)的工作流程圖;圖3是本實(shí)用新型用于RFID復(fù)合事件檢測(cè)系統(tǒng)的實(shí)施裝置流程圖。
具體實(shí)施方式
本實(shí)用新型的復(fù)合事件檢測(cè)系統(tǒng)和方法是在地域分布部署的RFID讀寫設(shè)備、攜帶RFID標(biāo)簽的移動(dòng)目標(biāo)和固定網(wǎng)絡(luò)所構(gòu)成的RFID網(wǎng)絡(luò)的基礎(chǔ)之上,由運(yùn)行在本地服務(wù)器 上的復(fù)合事件監(jiān)控程序、運(yùn)行在遠(yuǎn)端客戶機(jī)上檢測(cè)程序及其RFID原始數(shù)據(jù)流所組成的一 種Master/Worker模式的分布式RFID復(fù)合事件檢測(cè)方案。在物理結(jié)構(gòu)上,該系統(tǒng)可以分為 四個(gè)部分,即后臺(tái)主機(jī)(服務(wù)器)、客戶機(jī)(用戶事件檢測(cè))、識(shí)讀器(獲取原始數(shù)據(jù))和 標(biāo)簽(提供原始數(shù)據(jù))。主機(jī)和客戶機(jī)之間可以通過串行電纜、RJ45網(wǎng)口、藍(lán)牙、USB接口 或COM接口等連接,客戶機(jī)和識(shí)讀器之間也可以采用多種連接方式,最常用的方式是通過 COM接口連接,而識(shí)讀器和標(biāo)簽之間則是通過無線射頻信號(hào)進(jìn)行信息交互。后臺(tái)主機(jī)負(fù)責(zé) 整個(gè)任務(wù)的調(diào)配和監(jiān)控工作,客戶機(jī)運(yùn)行復(fù)合事件檢測(cè)程序,它可以通過TCP/IP協(xié)議中的 Socket協(xié)議或HTTP協(xié)議下的通信端口實(shí)現(xiàn)與后臺(tái)主機(jī)之間的通信。圖1給出了本實(shí)用新型的結(jié)構(gòu)示意圖,包括用戶輸入管理單元201,用于獲取 用戶輸入的事件表達(dá)式,由ReceiveExpression、TcpCommunicate類組成;事件解析單元 202,用于解析用戶輸入的事件表達(dá)式,將事件表達(dá)式分解成可以存儲(chǔ)到事件隊(duì)列中的子 表達(dá)式;任務(wù)隊(duì)列生成單元203,用于向共享事件隊(duì)列中輸入事件表達(dá)式并生成最終的事 件檢SllJ 隊(duì)歹[J,其主要由 WorkQueue> WorkItemManager> WorkListenerImp> WorkItemlmp> WorkImp, WorkEventImp組成,它們實(shí)現(xiàn)了相應(yīng)的事件管理接口 Work、WorkEvent, WorkItem、WorkListener,并把獲得的實(shí)例填充到WorkQueue中;任務(wù)監(jiān)控單元204,主 要用于對(duì)子任務(wù)的監(jiān)控,觀察各個(gè)任務(wù)的狀態(tài)變化,以便及時(shí)上報(bào)給系統(tǒng)用戶,它主要使 用WorkItemManager中的waitForAll方法執(zhí)行此功能;檢測(cè)任務(wù)共享單元205,用于在 網(wǎng)絡(luò)中共享復(fù)合事件隊(duì)列,由Terracotta服務(wù)器負(fù)責(zé)管理,它需要裝配(instrument) 上文提到的所有的事件管理端口以及事件隊(duì)列LinkedBlockingQueue ;任務(wù)獲取單元 206,主要用于獲取共享事件隊(duì)列中的子任務(wù),由客戶端的Worker,BlockingQueue, Work、workListener、WorkEvent> Workltem、WorkQueue 類組成;任務(wù)解析單元 207,用 于解析從主機(jī)端獲取的事件表達(dá)式,解析出其中的復(fù)合事件約束條件表達(dá)式和相應(yīng)的主 題復(fù)合事件表達(dá)式,由 FilterEPL2AstLexer、FilterEPL2AstParser> CreateRuleFile^ CompParserLexer、CompParserParser、ConstructEventGraph、Constructors、BranchNode、 BranchSeqNode、BranchSeqPlusNode、BranchTseqNode、BranchTseqPlusNode、LeafNode、 Node類組成;任務(wù)處理單元208,用于接收事件實(shí)例,并按照事件圖處理事件實(shí)例, 由 Process、ProcessAndNode>ProcessNotNode> ProcessOrNode、ProcessSeqNode、 ProcessSeqPlusNode > ProcessTseqNode > ProcessTseqPlusNode > ActiveParentNode 類組 成,處理非自發(fā)事件由Pseudo、pseud0pr0cess類管理;事件過濾單元209,用作過濾非法事 件,將合法數(shù)據(jù)傳送給事件處理程序,由WalkThroughExpression、TranlateOperatorType 這兩個(gè)類完成;事件發(fā)生單元210,用來產(chǎn)生基本事件,即識(shí)讀器的一個(gè)觀測(cè)值;任務(wù)輸出 單元211,用來將復(fù)合事件處理的結(jié)果發(fā)送到本地?cái)?shù)據(jù)庫(kù)和遠(yuǎn)程主機(jī)。另外,用戶輸入管理 單元還進(jìn)行組建事件檢測(cè)任務(wù),判斷此表達(dá)式是否滿足RFID復(fù)合事件構(gòu)造符規(guī)則以及分 布式規(guī)則;事件解析單元能夠根據(jù)自定義的規(guī)約說明文件和解析文件來判斷輸入表達(dá)式的 正確性,并可以把分布式復(fù)合事件表達(dá)式分解成多個(gè)可以被獨(dú)立檢測(cè)的復(fù)合事件表達(dá)式; 檢測(cè)任務(wù)共享單元能夠使共享隊(duì)列中所共享的數(shù)據(jù)可以被網(wǎng)絡(luò)中的其它客戶端自由調(diào)用, 并且它將調(diào)用結(jié)果保存在共享隊(duì)列中,供任務(wù)監(jiān)控單元實(shí)時(shí)監(jiān)控。結(jié)合圖2說明本實(shí)用新型用于RFID復(fù)合事件檢測(cè)系統(tǒng)的工作流程。[0037](1)用戶根據(jù)運(yùn)行在后臺(tái)主機(jī)即服務(wù)器端上的用戶圖形界面構(gòu)造分布式復(fù)合事件 表達(dá)式(步驟S101);(2)系統(tǒng)將接收到的復(fù)合事件表達(dá)式按照分布式事件書寫規(guī)則,對(duì)事件進(jìn)行分解 處理(步驟S102);(3)系統(tǒng)把分解后的子復(fù)合事件表達(dá)式,封裝成一個(gè)小的待處理的事件檢測(cè)子任 務(wù),并將此事件項(xiàng)目存儲(chǔ)到事件隊(duì)列中(步驟S103);(4)當(dāng)系統(tǒng)將所有子復(fù)合事件都封裝在事件隊(duì)列中后,系統(tǒng)啟動(dòng)事件共享服務(wù)器 容器Terracotta,把事件隊(duì)列放入共享容器中,只要能連接到此容器的計(jì)算機(jī)都能夠輕易 地訪問共享隊(duì)列(步驟S104);(5)后臺(tái)主機(jī)將實(shí)時(shí)監(jiān)控工作隊(duì)列中各個(gè)任務(wù)發(fā)生的狀態(tài)變化,當(dāng)所有任務(wù)都完 成后,任務(wù)監(jiān)視單元將把事件檢測(cè)任務(wù)的完成結(jié)果發(fā)送給系統(tǒng)用戶(步驟S105);(6)客戶端連接到后臺(tái)主機(jī)后,將獲取事件共享隊(duì)列中的事件項(xiàng)目,并將項(xiàng)目分解 成可檢測(cè)的事件表達(dá)式、接收端口以及事件狀態(tài)(步驟S106);(7)在客戶端運(yùn)行的檢測(cè)程序解析所獲得的事件表達(dá)式,把事件表達(dá)式分解成兩 部分,約束事件表達(dá)式和主題事件表達(dá)式(步驟S107);(8)客戶端應(yīng)用程序根據(jù)預(yù)先定義的事件類型和事件構(gòu)造符,構(gòu)建事件實(shí)例檢測(cè) 圖和過濾事件的規(guī)則,并實(shí)時(shí)監(jiān)控原始事件的發(fā)生狀況(步驟S108);(9)通過RFID識(shí)讀器利用射頻信號(hào)識(shí)別能夠被識(shí)讀器識(shí)別的標(biāo)簽信息,讀取其中 所包含的數(shù)據(jù),然后發(fā)送到客戶端檢測(cè)程序,供事件檢測(cè)程序消費(fèi)(步驟S109);(10)客戶端接收RFID識(shí)讀器傳送過來的標(biāo)簽數(shù)據(jù),并將標(biāo)簽數(shù)據(jù)轉(zhuǎn)換為Java對(duì) 象,由事件過濾器分辨這些Java對(duì)象,并過濾這些數(shù)據(jù),把合法的標(biāo)簽數(shù)據(jù)發(fā)送給客戶端 檢測(cè)程序,摒棄不合法的標(biāo)簽數(shù)據(jù)(步驟S110);(11)客戶機(jī)檢測(cè)程序接收合法的標(biāo)簽數(shù)據(jù),按照事件圖構(gòu)造符結(jié)構(gòu)以及發(fā)生的歷 史事件來判斷復(fù)合事件的實(shí)例是否發(fā)生(步驟sill);(12)當(dāng)事件檢測(cè)程序檢測(cè)到復(fù)合事件實(shí)例發(fā)生時(shí),會(huì)把此實(shí)例發(fā)送到本地?cái)?shù)據(jù)庫(kù) 和后臺(tái)主機(jī)(步驟S112);(13)如果主機(jī)監(jiān)控到所有子任務(wù)都已經(jīng)完成,會(huì)把收集到的所有事件實(shí)例反饋到 事件發(fā)送端,等待程序的進(jìn)一步處理(步驟Sl 13);(14)事件反饋程序?qū)z測(cè)到的分布式事件實(shí)例通過TCP/IP協(xié)議中的Socket套接 字發(fā)送給終端用戶,完成整個(gè)事件處理程序(步驟Sl 14)。圖3給出了本實(shí)用新型實(shí)施裝置的流程圖。該裝置從主體上可以分為客戶機(jī)、后 臺(tái)主機(jī)和識(shí)讀器三部分,其中后臺(tái)主機(jī)運(yùn)行分布式復(fù)合事件監(jiān)控程序,客戶機(jī)運(yùn)行單一復(fù) 合事件檢測(cè)程序,兩者之間通過網(wǎng)線連接在同一個(gè)局域網(wǎng)上,采用TCP/IP協(xié)議或HTTP協(xié)議 進(jìn)行通訊??蛻舳撕妥R(shí)讀器之間采用COM串行口進(jìn)行通訊,識(shí)讀器通過無線射頻信號(hào)獲取 標(biāo)簽數(shù)據(jù),然后通過串行口傳送到客戶機(jī),最終傳送到后臺(tái)主機(jī)。為了方便表達(dá),圖3中的判斷條件都簡(jiǎn)寫成標(biāo)識(shí)符,其中Xl表示“用戶輸入的復(fù)合 事件表達(dá)式是否正確”,X2表示“共享隊(duì)列中的所有子任務(wù)是否全部完成”,X3表示“識(shí)讀器 是否獲得了合法的標(biāo)簽數(shù)據(jù)”。如圖3所示,本實(shí)用新型裝置的具體步驟為(1)系統(tǒng)用戶輸入事件表達(dá)式,首先需要判定事件表達(dá)式的正確性,如果輸入的是非法的事件表達(dá)式(即Xl的值為F),系統(tǒng)將忽略此事件表達(dá)式,當(dāng)檢測(cè)程序確認(rèn)輸入的事 件表達(dá)式無誤后(即Xl的值為T),即把分布式復(fù)合事件表達(dá)式分解成可以被獨(dú)立檢測(cè)的子 復(fù)合事件表達(dá)式集合后,會(huì)將這些表達(dá)式存儲(chǔ)在一個(gè)事件隊(duì)列中。(2)啟動(dòng)事件共享服務(wù)器Terracotta,把事件隊(duì)列以及與之相關(guān)的類裝配成可移 植的類對(duì)象,植入到共享服務(wù)器Terracotta的容器中,使復(fù)合事件隊(duì)列具有可共享性,客 戶機(jī)相應(yīng)的配套程序只要能夠連接到共享服務(wù)器,就能夠自由地使用共享隊(duì)列中的項(xiàng),并 自動(dòng)獲取對(duì)共享隊(duì)列中的對(duì)象的讀寫權(quán)限,可以自由地變更獲取對(duì)象的某個(gè)屬性值,以及 使用對(duì)象中的方法。(3)客戶端通過Socket套接字獲取共享隊(duì)列中的復(fù)合事件任務(wù)項(xiàng),并解析出任務(wù) 項(xiàng)的復(fù)合事件表達(dá)式、事件接收端口及復(fù)合事件當(dāng)前的檢測(cè)狀態(tài)。(4)通過解析事件表達(dá)式獲取表達(dá)式中的事件構(gòu)造符、事件類型以及約束條件。其 中使用事件構(gòu)造符和事件類型來構(gòu)建事件檢測(cè)圖,使用約束條件構(gòu)建Rete算法所使用的 過濾規(guī)則。(5)當(dāng)識(shí)讀器獲得標(biāo)簽數(shù)據(jù)后,將此數(shù)據(jù)傳送到事件過濾器,事件過濾器按照過濾 規(guī)則檢測(cè)標(biāo)簽數(shù)據(jù)的合法性,如果標(biāo)簽數(shù)據(jù)不合法(即X3的值為F),過濾器將舍棄此標(biāo)簽 數(shù)據(jù),如果標(biāo)簽數(shù)據(jù)合法(即X3的值為T),事件過濾器將此標(biāo)簽數(shù)據(jù)傳送到復(fù)合事件處理
ο(6)復(fù)合事件處理器按照事件圖、相關(guān)的時(shí)間約束及歷史標(biāo)簽數(shù)據(jù),來判斷使用當(dāng) 前標(biāo)簽數(shù)據(jù)能否完成檢測(cè)復(fù)合事件實(shí)例,如果不能夠完成,將繼續(xù)監(jiān)控事件流序列,如果能 夠完成此次復(fù)合事件的檢測(cè),將把檢測(cè)結(jié)果存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù)并改變共享事件隊(duì)列中事件 項(xiàng)的檢測(cè)狀態(tài)。(7)后臺(tái)主機(jī)實(shí)時(shí)監(jiān)控共享事件隊(duì)列中的復(fù)合事件項(xiàng)的狀態(tài),當(dāng)任務(wù)沒有完成時(shí) (即X2的值為F),將繼續(xù)監(jiān)控共享事件隊(duì)列,當(dāng)共享事件隊(duì)列中的所有任務(wù)都完成后(即 X2的值為T),監(jiān)控模塊將把事件實(shí)例發(fā)生的結(jié)果做進(jìn)一步處理。(8)當(dāng)監(jiān)控模塊上報(bào)的所有任務(wù)都已經(jīng)完成后,主機(jī)將把檢測(cè)結(jié)果存儲(chǔ)到主機(jī)數(shù) 據(jù)庫(kù),并通知終端用戶此次事件檢測(cè)已經(jīng)完成,將最終結(jié)果顯示到用戶界面。[第一實(shí)施方式]本實(shí)用新型的第一優(yōu)選實(shí)施例是以配備RFID系統(tǒng)的超市檢測(cè)偷竊事件為例。這 個(gè)超市里每個(gè)商品上都隱藏有一個(gè)不易發(fā)現(xiàn)的RFID標(biāo)簽。由于標(biāo)簽的ID號(hào)是唯一的,顧 客從貨架上取走某商品時(shí),貨架上的識(shí)讀器會(huì)檢測(cè)到這個(gè)簡(jiǎn)單事件,這時(shí)該商品處于等待 付款的狀態(tài);當(dāng)客戶進(jìn)行付款時(shí),付款柜臺(tái)處的識(shí)讀器再次檢測(cè)到該商品,付款成功后商品 處于已付款狀態(tài);當(dāng)客戶攜帶該商品離開超市出口時(shí),出口處的識(shí)讀器會(huì)讀取該商品ID, 確認(rèn)商品是否已付款,商品狀態(tài)修改為“帶出超市”。偷竊事故在邏輯上可以看作是一個(gè)包 含三個(gè)簡(jiǎn)單事件的復(fù)合事件,前兩個(gè)事件為“識(shí)讀器readerl檢測(cè)到有一些商品從貨架上 被取出”,“識(shí)讀器readerf檢測(cè)到有一些商品被帶出超市”,第三個(gè)簡(jiǎn)單事件為“商品沒有 完成付款”,如果這三個(gè)事件不是順序發(fā)生,對(duì)系統(tǒng)來說沒有必要考慮是否是偷竊例如,如 果“商品已經(jīng)付款”然后“商品被帶出超市”,系統(tǒng)將不關(guān)心“商品被帶出超市”這一簡(jiǎn)單事 件。只有當(dāng)這三個(gè)簡(jiǎn)單事件按照一定的時(shí)態(tài)順序發(fā)生時(shí),系統(tǒng)才會(huì)報(bào)告偷竊事故的發(fā)生。把上述物理事件轉(zhuǎn)換成邏輯事件為[0064]El = “從貨架上取出商品”;E2 = “商品被帶出超市”;E3 = “商品完成付款”,即客戶經(jīng)過付款處,并且付款處的RFID識(shí)讀器讀取到附帶 在商品上的標(biāo)簽數(shù)據(jù)。偷竊事件使用本系統(tǒng)可以表示為一下的復(fù)合事件表達(dá)式E (偷竊)=SEQ (SEQ (El ;E2) ;NOT (E3)) where [El. tagid = Ε2· tagid]按照本實(shí)用新型所述的RFID復(fù)合事件檢測(cè)方法,其檢測(cè)步驟如下1、客戶1從貨架上取出一件上衣,即發(fā)生了 El事件類型的事件實(shí)例,由于此事件 類型包含于一個(gè)約束條件El. tagid = E2. tagid之中,此時(shí)并沒有發(fā)生E2事件類型的事件 實(shí)例,El的這個(gè)實(shí)例將停留在過濾事件層,而不能到達(dá)事件處理層。2、客戶1將上衣帶到付款處,并向收銀員付款,即發(fā)生了 E3事件類型的事件實(shí)例。 E3的事件實(shí)例將存儲(chǔ)進(jìn)E3事件類型的事件實(shí)例隊(duì)列中,等待進(jìn)一步的事件處理。3、客戶1帶著上衣離開超市。此時(shí)發(fā)生E2類型的事件實(shí)例,由于在事件實(shí)例過濾 層存在El事件類型的事件實(shí)例并且滿足復(fù)合事件中存在的約束條件,El和E2類型的事件 實(shí)例將被分發(fā)到事件處理系統(tǒng)的相應(yīng)的事件實(shí)例隊(duì)列中,并觸發(fā)查詢整個(gè)復(fù)合事件能否發(fā) 生,由于在E3類型的事件實(shí)例隊(duì)列中存在“客戶已經(jīng)付款的記錄”,并且在復(fù)合事件中E3是 非自發(fā)的事件。因此,此次復(fù)合事件檢測(cè)失敗,即沒有發(fā)生偷竊事件。系統(tǒng)將刪除掉這些不 滿足條件的事件實(shí)例,等待發(fā)生下一個(gè)復(fù)合事件的事件實(shí)例。4、當(dāng)客戶2從商品貨架上取出一包香煙,并將此包香煙帶出超市而沒有經(jīng)過收銀 臺(tái)時(shí),事件處理系統(tǒng)將把El的事件實(shí)例和E2的事件實(shí)例存儲(chǔ)到El和E2類型的節(jié)點(diǎn)的事 件實(shí)例隊(duì)列中,此時(shí)系統(tǒng)檢測(cè)E3類型的事件隊(duì)列中是否存在相應(yīng)的事件實(shí)例。由于在E3 的事件隊(duì)列中不存在事件實(shí)例,即發(fā)生復(fù)合事件(E偷竊)的事件實(shí)例。5、處理系統(tǒng)向與之相連接的硬件控制系統(tǒng)發(fā)出警報(bào)信息,通知相關(guān)人員根據(jù)相關(guān) 的處理?xiàng)l例進(jìn)行相應(yīng)的處理。[第二實(shí)施方式]本實(shí)用新型的第二優(yōu)選實(shí)施例是以獲取在某個(gè)時(shí)間間隔內(nèi)通過倉(cāng)庫(kù)入口處貨物 的數(shù)量為例。在倉(cāng)庫(kù)管理的過程中,管理員通常需要查詢?cè)谀硞€(gè)固定的時(shí)間間隔內(nèi)通過多 個(gè)入口處的商品總數(shù)。假設(shè)有一個(gè)倉(cāng)庫(kù)有兩個(gè)貨物入口,readerl和readerf分別是安裝 在倉(cāng)庫(kù)兩個(gè)入口處的識(shí)讀器。系統(tǒng)定義由readerl讀取到的事件數(shù)據(jù)表示El事件類型的 事件實(shí)例,由readerf讀取到的事件數(shù)據(jù)表示E2事件類型的事件實(shí)例。倉(cāng)庫(kù)管理員需要查 詢?cè)?0分鐘內(nèi)倉(cāng)庫(kù)的進(jìn)貨數(shù)量。根據(jù)本系統(tǒng)定義的復(fù)合事件構(gòu)造方法,所需要檢測(cè)的復(fù)合 事件可以表達(dá)為E(商品數(shù)量)=SEQPLUS(OR(El, E2),IOmin)。按照本實(shí)用新型所述的RFID復(fù)合事件檢測(cè)方法,其檢測(cè)步驟如下1、當(dāng)readerl讀取到一個(gè)標(biāo)簽數(shù)據(jù)時(shí),即存在一個(gè)貨物經(jīng)過入口處1進(jìn)入倉(cāng)庫(kù),發(fā) 生了 El類型的事件實(shí)例。由于El事件類型的事件實(shí)例的父節(jié)點(diǎn)為0R,因此系統(tǒng)發(fā)生此子 復(fù)合事件的實(shí)例發(fā)生,并且在事件處理程序內(nèi)部其事件實(shí)例數(shù)量得到相應(yīng)的增長(zhǎng)。2、當(dāng)reader〗讀取到一個(gè)標(biāo)簽事件數(shù)據(jù)時(shí),其處理情況和readerl讀取到一個(gè)標(biāo) 簽數(shù)據(jù)情況處理方式類似。[0081]3、按照這種處理方式依次處理發(fā)生在這兩個(gè)入口處的讀取事件,在10分鐘之后 系統(tǒng)管理員將獲得一份包含事件數(shù)量的復(fù)合事件實(shí)例報(bào)告。[第三實(shí)施方式]本實(shí)用新型的第三優(yōu)選實(shí)施例以三個(gè)簡(jiǎn)單的RFID復(fù)合事件表達(dá)式所形成的檢測(cè) 任務(wù)為例,具體說明在RFID設(shè)備網(wǎng)絡(luò)環(huán)境下對(duì)復(fù)合事件的分布式檢測(cè)。共享事件隊(duì)列中的復(fù)合事件表達(dá)式為
權(quán)利要求1. 一種RFID設(shè)備網(wǎng)絡(luò)環(huán)境下的分布式復(fù)雜事件檢測(cè)系統(tǒng),其特征在于該系統(tǒng)包括后 臺(tái)主機(jī)即服務(wù)器端,客戶機(jī)即客戶端,RFID識(shí)讀器和能夠被識(shí)讀器識(shí)別的標(biāo)簽;所述主機(jī)和客戶機(jī)之間通過串行電纜、RJ45網(wǎng)口、藍(lán)牙、USB接口或COM接口相連接連 接;客戶機(jī)和RFID識(shí)讀器之間采用COM接口連接;所述RFID識(shí)讀器和能夠被識(shí)讀器識(shí)別的 標(biāo)簽之間則通過無線射頻信號(hào)進(jìn)行信息交互。
專利摘要本實(shí)用新型公開了一種RFID設(shè)備網(wǎng)絡(luò)環(huán)境下的分布式復(fù)雜事件檢測(cè)系統(tǒng),包括服務(wù)器端和客戶端、RFID識(shí)讀器和能夠被識(shí)讀器識(shí)別的標(biāo)簽;所述服務(wù)器端包括用戶輸入管理單元,事件解析單元,任務(wù)隊(duì)列生成單元,檢測(cè)任務(wù)共享單元和任務(wù)監(jiān)控單元;所述客戶端包括任務(wù)獲取單元,任務(wù)解析單元,事件發(fā)生單元,事件過濾單元,任務(wù)處理單元和任務(wù)輸出單元;通過事件過濾、復(fù)合事件檢測(cè)和事件聚合功能的事件處理,以實(shí)現(xiàn)RFID設(shè)備網(wǎng)絡(luò)環(huán)境下檢測(cè)復(fù)合事件檢測(cè)。該系統(tǒng)支持分布式環(huán)境、支持多種事件構(gòu)造符、支持非自發(fā)事件以及支持聚合事。
文檔編號(hào)H04L12/26GK201893796SQ20102022848
公開日2011年7月6日 申請(qǐng)日期2010年6月18日 優(yōu)先權(quán)日2010年6月18日
發(fā)明者周興強(qiáng), 孫向偉, 宋英杰, 杜振軍, 楊紅, 牛麗娟, 鄧武, 陳榮 申請(qǐng)人:大連海事大學(xué)