專利名稱:一種基于位并行自動機的rfid事件過濾方法
技術領域:
本發明屬于RFID中間件技術領域,特別是提供一種位并行自動的RFID事件過濾方法。
背景技術:
RFID 中間件(Radio FrequencyIdentification Middleware)由于它自身的商業 價值競爭力,而頗受關注。隨著全球信息化進程的推進,RFID中間件在各個領域得到廣泛 的應用,如供應鏈的檢測、資產跟蹤和設施的監視等行業。RFID中間件屏蔽設備的差異性, 從而增強應用系統的擴展性;并且保障采集數據的高效性及準確性,提高系統的性能及可靠性。由于RFID數據具有實時性、語義豐富、海量性和不確定性等特點,如何在RFID中 間件中實現高效的RFID標簽收集和過濾,直接影響著RFID中間件系統的工作效率和性能, 所以,RFID數據處理一直是該領域的重要研究方向。EPCGlobal的ALE標準中提到RFID事件過濾機制。ECSpec,作為ALE的輸入,保存 著用戶定義RFID標簽的過濾模式,它標明用戶對感興趣的標簽進行過濾的格式。在ALE返 回給中間件用戶的ECIteports中,ECReportSpec指出了過濾的規則,即那些用戶感興趣的 標簽集合。從ECSpec的輸入到ECIteportSpec封裝在ECIteport中返回給用戶,整個流程都 遵循ALE應用編程接口(API)的狀態工作型模中運行的。ALE 定義了 EPC 模式urn:epc:pat TagFormat Company. Item. Serial。它是 分多段表示的其中TagFormat表示RFID標簽的類型,冒號后邊分別表示廠商、產品系 列、產品序列號。他們共同可以惟一表示一個RFID標簽。例如“urn:印c:pat:gid-96 10. [200-219].*”表示廠商號為10,產品系列號在200到219之后的所有產品。EPCGloble在定義ALE的RFID EPC模式時,給予RFID EPC模式具有分段表示的特 點,在一個EPC模式中,每個數據域可以表示為(a) —個確切的十進制數,如“10”; (b) —個 星號(*),表示該數據段可以匹配任何值。(c) 一個[lo-hi]的范圍,表示數據段中的數必 須在Io值和hi值之間,如[200-219]。目前現有的關于RFID事件的過濾和匹配方法均不完善。有的將多維索引 KDB-tree應用到RFID中間件中,將RFID閱讀器范圍、過濾條件和ECSpec模式通過數據聚 合轉換的方法,構成三維空間儲存RFID數據,該方法一定程序上減少查詢索引的存儲空間 和數據插入時間,但該方法僅僅是一個RFID數據處理在內存空間占用和運行時間消耗的 折衷方案。有的提出采用類似與電路設計中Manchester編碼思想,用0/1表示RFID事件 (1代表發現、O代表消失),通過表述標簽存在狀態變化從而大大見少事件隊列的信息冗 余,利用模式識別樹,實現對RFID事件的高速匹配。該方法也只是解決的RFID標簽數據冗 余的問題,但并沒有解決EPC模式匹配問題。
發明內容
本發明的目的在于解決現有方法的不足,提出一種基于位并行自動的RFID事件 過濾方法,用位并行技術,表示非確定Glushkov自動機的工作模式,對EPC模式進行分段匹 配,并且該能夠在較小的內存消耗中,實現RFID事件的快速過濾,具備良好的性能。為了實現上述發明目的,采用的技術方案如下一種基于位并行自動機的RFID事件過濾方法的實現,包括如下步驟1、基于位并行自動機的RFID事件過濾方法接收來自RFID中間件應用層事件 (ALE)定義的 RFID EPC 模式,它的格式規范是urn:印c:pat:TagFormat =Company. Item. Serial,它是分多段表示,其中TagFormat表示RFID標簽的類型,冒號后邊分別表示 廠商、產品系列、產品序列號。他們共同可以惟一表示一個可用于匹配的RFID標簽集;2、生成EPC模式的正則表達式RE。將EPC模式中的每一段數據域,利用第三方正 則表達式生成器,生成各自的正則表達式字符串REi,構成RE = RE1. RE2. RE3 ;3、構造非確定自動機NFA。將RE中的各子正則表達式REi看作是由一個語法生成 的字符串,利用典型的Unix工具Lex或Yacc,從語法產生能夠識別正則表達式的自動機, 將它轉化為表達式樹,然后將表達式樹,通過Glushkov構造法轉換為非確定有限自動機 (NFAi)。首先,通過對正則表達式的字符計數,可以標記出字母表中每個字符在正則表達式REi 中的位置。然后令云瓦為正則表達式RE進行標記的標記表達式,令表示互i,對應的語言, 我們對互色求它的目動機,最后,通過消除有字符的下標計數,可以從中抽取出子Glushkov自動 機(Sub Glushkov NFAi)。三個Sub NFAi用“·,,號連接,構成匹配RE的非確定自動機;4、構造位并行自動機。對于識別RE的NFA,其中,各個識別REi的NFAi,可以計算 出=REi的所有狀態位集Qi ;初始狀態Ii ;終止狀態位集Fi ;從第η個狀態通過字符Ψ所到 達的狀態&[11,Ψ];利用上述結果,計算得到兩個位并行表達式a)通過字符Ψ可以到達 的所有狀態的位集Bjv] ;b)從狀態集S通過任意字符可以到達的狀態Trani [S];5、位并行自動機匹配。位并行自動機接收RFID中間件設備管理采集的RFID事件, 格式為urn:印c:pat:TagFormat Company. Item. Serial,每一數據域是具體的數字。首先
令當前狀態為初始狀態Si = Ii,然后對于每個數據域的數據Ti =、t2......tn,pos從1到
η進行循環若Si = O,表示當前狀態時未定義狀態,匹配失敗;若Si&Fi ! = 0則表示當前 狀態屬于終止狀態,匹配成功;否則計算下一個可達的狀態Si = Trani [Si]&Bi[tp。s],pos++ 進行下一個循環。上述技術方案中,所述位并行自動機的構造和匹配可以通過位運算實現。本發明所述的非確定自動構造法,能有效控制非確定自動的狀態數量是固定的, 為m+1個(m為模式的長度),有效減小內存消耗量。EPC模式被分成三個子模式進行分段 匹配,所以也針對每段子模式進行非確定自動機的構造。首先,通過只對字符計數,可以標 記出字母表Σ中每個字符在正則表達式中RE中的位置,如=REi= (AB CA) ((AA | C)*)標 記為@ = |C3^4)((為為IC7)*);然后,我們對瓦色求它的自動機,最后,通過消除有字 符的下標計數,可以從中抽取出Glushkov自動機,從而識別語言L(REi)。對于每個子非確 定自動機(Sub NFA),都是EPC模式對應數據域的Glushkov自動機狀態轉移圖。子終止狀 態是多個終止狀態的集合,這樣可以通過減少空轉移,減少狀態數,在實現中更加節省內存 資源。
5
本發明所述的位并行自動機構造方法,依據所述的NFA構造結構,為了構造位并 行表達式,將進行一系列自動機參數的位表示計算。NFAi, i = 1,2,3狀態的可以使用(Kki) 位的二進制位碼Gci表示第i個子模式的長度)。其中,二進制位碼的第i位為1,表示NFAi 中的第i個狀態。定義非確定自動機NFA,(ρ, = ·κ。,^i ……^iehl}, Σ,,/,= 。,F,,Δ,),
其中0, ={\。,%……Liehl }表示REi狀態集合;Ii = 0lQhll表示REi的初始狀態; F, 二表示REi所有子終止狀態位的或運算值;Ai表示REi轉移集合由兩
個表Bi和Trani表示,其中0切+"'10 "‘表示從第η個狀態通過字 符Ψ所到達的狀態,Β,[ψ] = |neo...Α[η, Ψ]表示通過字符Ψ可以到達的所有狀態的 位集,[引=|㈣),s&『 iD、eZ代[ ,V]表示從狀態集S通過任意字符可以到達的狀 態。可以發現,用位表示自動機的運作,需要0(力)的空間,而在數據域中,&是個較小的常 數,所以空間的占用量是可以接受了。本發明所述的位并行自動機匹配方法,是利用上述計算出的BJ V]和Trani[S]
兩個重要位并行表達式。對于匹配串T =、t2......tn,對應的位并行自動機是
NFA = (β,Σ,/,。,巧,,首先令Si = Ii,然后對于pos從ι到η進行循環若Si = 0, 表示匹配失敗;若Si&Fi ! = O則表示匹配成功;否則Si = TranJSj&BjtpJ,pos++進行 下一個循環。
圖1基于位并行自動機的RFID事件過濾方法分段匹配模型示意圖;圖2基于位并行自動機的RFID事件過濾方法流程示意圖;圖3基于位并行自動機的RFID事件過濾方法的位并行自動構造流程示意圖;圖4基于位并行自動機的RFID事件過濾方法的EPC匹配流程具體實施例方式下面結合附圖,按上面的結構,對本發明的具體實施做進一步的詳細描述。圖1展示了基于位并行自動機的RFID事件過濾方法分段匹配模型示意圖。該模 型是由EPC模式生成,并對EPC進行匹配。從整體上,該模型是一個非確定位并行自動機 (NFA),它分為初始狀態,終止狀態和三個子非確定自動機(SubNFA),Sub NFA之間由“.”連 接。Sub NFA是由EPC模式的各個數據域,利用Glushkov構造法生成的非確定自動機,Sub NFA包含自己的子初始狀態和子終止狀態。圖2展示了基于位并行自動機的RFID事件過濾方法流程示意圖。過濾方法先接 收EPC模式,生成非確定自動機,然后計算生成位并行自動機,并利用生成的位并行表達式 對輸入的EPC進行匹配。具體如下步驟1 :EPC模式根據廠商、產品系列、產品序列號分為三段。利用正則表達式轉換 工具對每段數據進行轉換,生成子正則表達式REi,三個子正則表達式再用“.”連接,構造RE =RE1. RE2. RE3 ;
6
步驟2 利用Glushkov法生成非確定自動機(NFA)。首先,將RE中的各子正則表 達式REi看作是由一個語法生成的字符串,利用典型的Unix工具Lex或Yacc,從語法產生能 夠識別正則表達式的自動機,將它轉化為表達式樹;然后,通過對正則表達式的字符計數, 可以標記出字母表中每個字符在正則表達式REi中的位置。令互云,為正則表達式RE進行標 記的標記表達式,令表示云云,對應的語言;接著,我們對]^云,求它的自動機;最后,通 過消除有字符的下標計數,可以從中抽取出子Glushkov自動機(Sub Glushkov NFAi)。三 個Sub NFAi用“.”號連接,構成匹配RE的非確定自動機;步驟3 構造位并行自動機表達式。對于識別RE的NFA,其中,各個識別 REi的NFAi,可以計算出=REi的所有狀態位集Qi ;初始狀態Ii ;終止狀態位集Fi ;從 第η個狀態通過字符Ψ所到達的狀態BJN,Ψ];利用上述結果,計算得到兩個位 并行表達式a)通過字符Ψ可以到達的所有狀態的位集Bjur] ;b)從狀態集S通 過任意字符可以到達的狀態TranJS],這樣就完成了位并行自動機的構造,生成 NFA XQ1= {s la, sh ......SlmJ^iJi=Sla,F1^X步驟4 位并行自動機匹配。對于匹配串Ti =、t2......tn和對應的
NFA = ·κ。,吖……、_,}, ,,/, 二 \。,^,Δ,),首先令Si = ι”然后對匹配串Ti
=、t2......tn的每個字符,POS從1到η進行循環若Si = 0,表示匹配失敗;若Si&Fi !
=O則表示匹配成功;否則Si = TranJSj&BjtpJ,pos++進行下一個循環。圖3展示了基于位并行自動機的RFID事件過濾方法的位并行自動構造流程示意 圖。對非確定NFA,進行位并行化表示,通常位集運算,得到位并行表達式。具體如下步驟1 計算表示NFAi狀態集合β ‘ = P ,。’八……5 |δΜ > .步驟2 計算NFAi的初始狀態Ii = Olehl ;步驟3 計算NFAi的終止狀態集弋=Lm^ Ole卜卜"'10 “‘,它是所有子終止狀態位 的或運算值;步驟4計算代[η,ψ ]Olehl-mIO m,它表示從第n個狀態通過字符 Ψ所到達的狀;步驟5 計算位并行表達式DBi [Ψ] = |ηεο...Α[η,Ψ]它表示表示通過字符Ψ 可以到達的所有狀態的位集,2)代[ F]它表示從狀態集 S通過任意字符可以到達的狀態。附圖4展示了基于位并行自動機的RFID事件過濾方法的EPC匹配流程圖。 由于已經得到位并行表達式BJ V]和Trani [S]。就可以將非確定自動機位并行化
NFA ,[Q1= Isi^sli ……i}, Σ ,, /, = \ ,巧,Δ , )。Δ i 表示 REi 轉移集合由兩個表
Bi和Trani表示。對于匹配串Ti =、t2......tn,匹配的步驟具體如下步驟1 令當前狀態為初始狀態,匹配串文本標記為O =Si = Ii, pos = O ;步驟2 判斷當前狀態是否屬于終止狀態! =O0若當前狀態與終止狀態集 合的并運算不為空,則表明已經到達終止狀態;否則表示當前狀態不屬于終止狀態;
7
步驟3 判斷當前狀態是否為未定義狀態,SSi = 0,則表示當前狀態屬未定義狀 態,則匹配失敗;步驟4:如果pos <n,則計算下一個狀態,用當前字符可以到達的所有狀態 集合與當前狀態可以到達的下一步狀態集合進行并運算,可以得到下一個狀態=Si = Trani [SiJfettp J,并且另外pos遞增1,轉至步驟2繼續匹配。如果pos超出范圍,則匹配失 敗。
權利要求
一種基于位并行自動機的RFID事件過濾方法,其特征在于包括如下步驟1)接收來自RFID中間件應用層事件定義的RFID EPC模式,其格式規范是urn:epc:pat:TagFormatCompany.Item.Serial,其中TagFormat表示RFID標簽的類型,Company、Item、Serial分別表示廠商、產品系列、產品序列號;2)生成EPC模式的正則表達式RE,將EPC模式中的每一段數據域,利用第三方正則表達式生成器,生成各子正則表達式REi,構成RE=RE1.RE2.RE3;3)構造非確定自動機NFA,將正則表達式RE中的各子正則表達式REi看作是由一個語法生成的字符串,利用Unix工具Lex或Yacc,從語法產生能夠識別正則表達式的自動機,將它轉化為表達式樹,然后將表達式樹通過Glushkov構造法轉換為非確定有限自動機NFAi,最后連接各個非確定有限自動機NFAi以構成匹配正則表達式RE的非確定自動機NFA;4)構造位并行自動機,對于識別正則表達式RE的非確定自動機NFA,其中,各個識別子正則表達式REi的非確定有限自動機NFAi,計算出子正則表達式REi的所有狀態位集Qi;初始狀態Ii;終止狀態位集Fi;從第n個狀態通過字符ψ所到達的狀態Bi[n,ψ];利用上述結果,計算得到兩個位并行表達式a)通過字符ψ到達的所有狀態的位集Bi[ψ];b)從狀態集S通過任意字符到達的狀態Trani[S];5)位并行自動機匹配,位并行自動機接收RFID中間件設備管理采集的RFID事件,格式為urn:epc:pat:TagFormatCompany.Item.Serial,每一數據域是具體的數字,首先令當前狀態為初始狀態Si=Ii,然后對于每個數據域的數據Ti=t1t2......tn,pos從1到n進行循環若Si=0,表示當前狀態時未定義狀態,匹配失敗;若Si&Fi!=0則表示當前狀態屬于終止狀態,匹配成功;否則計算下一個可達的狀態Si=Trani[Si]&Bi[tpos],pos++進行下一個循環。
2.根據權利要求1所述的基于位并行自動機的RFID事件過濾方法,其特征在于所述步 驟3)的具體操作為首先,通過對正則表達式的字符計數,標記出字母表中每個字符在子 正則表達式REi中的位置,然后令冠,為正則表達式RE進行標記的標記表達式,令ZC^;)表 示云瓦對應的語言,對互色求它的自動機,最后,通過消除有字符的下標計數,從中抽取出子 Glushkov自動機Sub NFAi,三個SubNFAi用“.”號連接,構成匹配RE的非確定自動機。
3.根據權利要求1或2所述的基于位并行自動機的RFID事件過濾方法,其特征在于 所述步驟4)為了構造位并行表達式,進行一系列自動機參數的位表示計算,NFAi, i = 1,2, 3狀態使用OGO位的二進制位碼㈨表示第i個子模式的長度),其中,二進制位碼的第i 位為1,表示NFAi中的第i個狀態;定義非確定自動機 ,(Q1 = {s,o,Sli ……Σ,,/, =、,^,Δ,),其 中β, = P,。……Liehl }表示REi狀態集合,Ii = 0lQhll表示REi的初始狀態, F, =|.s, eF Olehl-mIOm表示REi所有子終止狀態位的或運算值,Ai表示REi轉移集合由兩 個表Bi和Trani表示,其中β, [η,ψ ] =|( , δ Olehl^lO "'表示從第η個狀態通過字 符Ψ所到達的狀態,Bjv] = Ineo..Ψ]表示通過字符Ψ到達的所有狀態的位集, Tran ,[Sj=Iin ^sscnl1vfez錢[ ,表示從狀態集S通過任意字符到達的狀態。
4.根據權利要求3所述的基于位并行自動機的RFID事件過濾方法,其特征在于所述步驟5)利用步驟4)計算出的&[11/]和Trani [S]兩個重要位并行表達式,對于匹配串T =、t2......1對應的位并行自動機是^/^4 = (2,五/,。,巧,5,[>7耿]),首先令Si = Ii,然后對于pos從1到η進行循環若Si = 0,表示匹配失敗;若Si&Fi ! = O則表示匹配成功;否則 Si = Tran^Sj&B.ttpJ,pos++ 進行下一個循環。
全文摘要
本發明提供一種基于位并行自動機的RFID事件過濾方法,包括如下步驟1)接收來自RFID中間件應用層事件定義的RFID EPC模式;2)生成EPC模式的正則表達式RE;3)構造非確定自動機NFA;4)構造位并行自動機;5)位并行自動機匹配。本發明采用位并行技術,表示非確定Glushkov自動機的工作模式,對EPC模式進行分段匹配,并且該能夠在較小的內存消耗中,實現RFID事件的快速過濾,具備良好的性能。
文檔編號G06K7/00GK101916352SQ201010239659
公開日2010年12月15日 申請日期2010年7月27日 優先權日2010年7月27日
發明者劉發貴, 揭育柱, 林躍東, 阮永雄 申請人:華南理工大學