陳 琛
(武漢商業(yè)服務(wù)學(xué)院,湖北 武漢 430056)
射頻識(shí)別(Radio Frequency Identification)技術(shù)是從20 世紀(jì)80 年代產(chǎn)生并發(fā)展起來(lái)的一項(xiàng)自動(dòng)識(shí)別技術(shù),近年來(lái)被廣泛的應(yīng)用在物流的各個(gè)領(lǐng)域。通過(guò)RFID 硬件,可以自動(dòng)的獲得RFID 標(biāo)簽信息,由于RFID 閱讀器可以同時(shí)獲取多個(gè)標(biāo)簽的信息,讀取范圍也較大,閱讀器會(huì)產(chǎn)生大量的標(biāo)簽信息,這些標(biāo)簽信息本身并不具有業(yè)務(wù)含義,還包含大量的冗余內(nèi)容,如果不加處理的全部提交給物流系統(tǒng)的應(yīng)用軟件將造成上層應(yīng)用極重的負(fù)擔(dān)。因此擔(dān)負(fù)RFID 系統(tǒng)原始標(biāo)簽信息和系統(tǒng)應(yīng)用之間中介的RFID 中間件,將原始的RFID 數(shù)據(jù)處理后再提交給上層應(yīng)用成為了RFID 技術(shù)的一個(gè)重要研究?jī)?nèi)容。
本文詳細(xì)介紹了一種RFID 中間件的算法模型,該中間件通過(guò)RFID 事件編碼、清洗過(guò)濾、規(guī)則定義、目標(biāo)事件識(shí)別,可以將RFID 原始的標(biāo)簽信息翻譯成物流業(yè)務(wù)事件,并且可以通過(guò)二叉樹(shù)靈活的定義和處理各類(lèi)復(fù)雜事件。
本文設(shè)計(jì)的RFID 復(fù)雜事件處理引擎位于RFID 讀寫(xiě)設(shè)備和上層物流應(yīng)用程序之間,承擔(dān)著RFID 標(biāo)簽和現(xiàn)實(shí)應(yīng)用之間的中介角色,將原始RFID 數(shù)據(jù)整理翻譯后再提交給物流應(yīng)用軟件。其結(jié)構(gòu)如圖1 所示:
圖1 復(fù)雜事件處理引擎結(jié)構(gòu)、數(shù)據(jù)示意圖
當(dāng)RFID 閱讀器主動(dòng)或被動(dòng)的獲取到標(biāo)簽的信息時(shí)啟動(dòng)復(fù)雜事件處理引擎,原始的標(biāo)簽信息經(jīng)過(guò)數(shù)據(jù)處理引擎的清洗、整理轉(zhuǎn)換為基本物流事件?;疚锪魇录?jīng)過(guò)事件處理引擎被翻譯為RFID 事件,最終將能表達(dá)業(yè)務(wù)含義的事件傳遞給上層應(yīng)用。
RFID 數(shù)據(jù)由于閱讀器的重復(fù)上報(bào)和環(huán)境、電磁波的影響可能存在冗余和一時(shí)讀到一時(shí)讀不到標(biāo)簽信息,類(lèi)似信號(hào)中的“雜波”和“毛刺”現(xiàn)象。
以某臺(tái)5 次/秒的頻率進(jìn)行主動(dòng)掃描的RFID讀寫(xiě)器為例,某張標(biāo)簽通過(guò)讀寫(xiě)器的范圍,耗時(shí)3秒,以曼徹斯特編碼對(duì)其產(chǎn)生的RFID 信息進(jìn)行編碼,0 表示未讀到標(biāo)簽信息,1 表示讀到標(biāo)簽信息,則這次標(biāo)簽通過(guò)過(guò)程中可能產(chǎn)生的RFID 數(shù)據(jù)為...0[1]0[2]1[3]1[4]1[5]1[6]0[7]1[8]0[9]1[10]1[11]1[12]0[13]0[14]0[15]...如圖2 所示:
圖2 RFID 數(shù)據(jù)示意圖
其中1[4]1[5]1[6]...1[10]1[11]為冗余,0[7]1[8]0[9]1[10]為雜波,真正有價(jià)值的數(shù)據(jù)是0[2]1[3]和1[12]0[13],即標(biāo)簽何時(shí)進(jìn)入閱讀器范圍,何時(shí)離開(kāi)閱讀器范圍。數(shù)據(jù)過(guò)濾器從能從原始RFID 數(shù)據(jù)序列中過(guò)濾出有價(jià)值的數(shù)據(jù)0[2]1[3]和1[12]0[13],并將其轉(zhuǎn)換為RFID 基本事件,分別代表物體流動(dòng)過(guò)程中的進(jìn)入和離開(kāi)某個(gè)區(qū)域。
RFID 原始數(shù)據(jù)的格式為
去重過(guò)濾器定義時(shí)間窗寬度dupWidth,在時(shí)間窗范圍內(nèi)的同一地點(diǎn)出現(xiàn)的標(biāo)簽數(shù)據(jù)說(shuō)明為冗余信息,只更新時(shí)間標(biāo)簽最后出現(xiàn)的時(shí)間。
去重過(guò)濾器之后將圖2 所示的RFID 原始數(shù)據(jù)序列過(guò)濾為...0[1]0[2]1[3]0[7]1[8]0[9]1[10]1[12]0[13]0[14]0[15]...其中0[7]1[8]0[9]1[10]是由于環(huán)境因素或電磁干擾等產(chǎn)生的雜波,需要清洗整理。
雜波過(guò)濾器定義雜波過(guò)濾寬度noiseWidth,雜波寬度內(nèi)的標(biāo)簽反復(fù)出現(xiàn)認(rèn)為是雜波,將其過(guò)濾掉。
經(jīng)過(guò)去重過(guò)濾和雜波過(guò)濾之后,圖2 中的序列只剩下0[2]1[3]和1[12]0[13],對(duì)應(yīng)的數(shù)據(jù)為
對(duì)于物流的應(yīng)用系統(tǒng)來(lái)說(shuō),關(guān)注的有價(jià)值的活動(dòng)或者重要的變化記錄,比如標(biāo)簽的狀態(tài)變化,其中0[2]1[3]表明標(biāo)簽進(jìn)入某個(gè)地點(diǎn),1[12]0[13]表示離開(kāi)。
根據(jù)變化的思想,定義兩類(lèi)基本物流事件,分別是進(jìn)入事件和離開(kāi)事件,也就是RFID 數(shù)據(jù)的01 序列和10 序列。同樣采用曼徹斯特對(duì)基本事件進(jìn)行編碼,進(jìn)入事件用0 表示,離開(kāi)事件用1 表示,并用結(jié)構(gòu)
經(jīng)過(guò)數(shù)據(jù)處理引擎將RFID 原始數(shù)據(jù)翻譯成基本事件,記錄了標(biāo)簽的重要變化,但是在實(shí)際應(yīng)用中,物流應(yīng)用需要能夠處理各種事件,甚至很多復(fù)雜事件,這些復(fù)雜事件都是由基本事件按照各種條件嵌套組合而成。本文設(shè)計(jì)的規(guī)則定義采用二叉樹(shù)結(jié)構(gòu)進(jìn)行復(fù)雜事件定義。
(1)二叉樹(shù)規(guī)則定義
本設(shè)計(jì)采用二叉樹(shù)定義規(guī)則。每顆由父節(jié)點(diǎn)和左右兩顆子樹(shù)構(gòu)成,父節(jié)點(diǎn)和子樹(shù)都可以進(jìn)行二叉樹(shù)的嵌套定義。其中父節(jié)點(diǎn)為規(guī)則樹(shù)的觸發(fā)條件,左子樹(shù)為后續(xù)條件,右子樹(shù)為后續(xù)條件和觸發(fā)條件之間的時(shí)間間隔。
進(jìn)入和離開(kāi)事件這兩件基本事件是二叉樹(shù)的各級(jí)葉子結(jié)點(diǎn),以圖2 所示的標(biāo)簽通過(guò)閱讀器事件為例,其規(guī)則定義如下圖3 所示,其中不同的時(shí)間間隔可以表示快速通過(guò)和慢速通過(guò)。
圖3 不同通過(guò)事件規(guī)則樹(shù)
(2)事件翻譯器
根據(jù)規(guī)則定義器定義的事件,通過(guò)從葉子結(jié)點(diǎn)依次比對(duì)規(guī)則樹(shù)判斷是否發(fā)生該事件。以出庫(kù)活動(dòng)為例,假設(shè)某次出庫(kù)共3 件商品(分別貼有3 張不同的標(biāo)簽A、B、C),如果在stayTime 內(nèi)裝車(chē)離開(kāi)是正常出庫(kù),否則是耗時(shí)出庫(kù),則兩種復(fù)雜事件的規(guī)則二叉樹(shù)分別如圖4 所示:
圖4 復(fù)雜事件規(guī)則樹(shù)
本文設(shè)計(jì)了一種RFID 事件處理引擎,通過(guò)數(shù)據(jù)處理引擎和事件處理引擎實(shí)現(xiàn)了數(shù)據(jù)的清洗和處理,并將RFID 數(shù)據(jù)翻譯成各種靈活的物流業(yè)務(wù)事件供上層應(yīng)用使用。本設(shè)計(jì)定義了兩種基本物流事件,并以這兩種基本事件為基礎(chǔ),通過(guò)二叉樹(shù)可以定義各種復(fù)雜的業(yè)務(wù)事件,使該設(shè)計(jì)不依賴(lài)和局限與RFID 設(shè)備和應(yīng)用環(huán)境。
[1]蔣邵崗,譚杰.RFID 中間件數(shù)據(jù)處理與過(guò)濾方法的研究.計(jì)算機(jī)應(yīng)用[J].2008(10).
[2]范文兵,曹曉光,陳燕.RFID 中間件標(biāo)準(zhǔn)化與實(shí)現(xiàn)方法.單片機(jī)與嵌入式系統(tǒng)[J]2008(1).
[3]張豐貴,程良倫.基于KDB 樹(shù)的RFID 事件聚合過(guò)濾算法.計(jì)算機(jī)工程[J]2009(12).
[4]魏志軍.基于規(guī)則匹配算法的RFID 事件處理算法的研究[D].碩士,哈爾濱工業(yè)大學(xué),2009.
[5]陰曉佳.RFID 復(fù)雜事件處理技術(shù)研究[D].碩士,江蘇大學(xué),2010.