一种基于位并行自动机的rfid事件过滤方法

文档序号:6606766阅读:218来源:国知局
专利名称:一种基于位并行自动机的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日
发明者刘发贵, 揭育柱, 林跃东, 阮永雄 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1