更全的杂志信息网

一种针对正规树模式的复杂事件查询方法∗

更新时间:2009-03-28

1 引言

随着 XML[1]的广泛采用,如何在 XML 数据流上实现高效的复杂查询也变得越来越重要。在诸如灾害预警和社交媒体的实时数据分析等领域[2],经常把事件响应机制作为信息处理的计算模型。按照这种方法,半结构化的流式数据可以抽象为复杂的事件流;复杂流式数据的处理表现为针对流式数据的复杂事件处理(Complex Event Processing,CEP)[3],而复杂事件查询就是从数据流中查找符合特定数据模式的数据。

Twig模式[4]匹配查询方法是XML数据查询的核心,它虽然能够描述XML查询中的结构约束关系,但无法描述复杂事件查询中的事件间时序关系。例如在海啸预警中,由于海啸在传播时,浪高不到1m,如果没有发生较高等级的地震作为前提,并不能判定为海啸。所以这种情况可以概括为,先发生一定等级的地震,然后观测点持续出现若干次海浪波高异常情况,就可以判定为有海啸风险。而这种情况使用Twig模式并不能进行描述。为了能够同时描述这两种约束关系,人们将正规式扩展到Twig模式中,形成正规树模式[5]

本文针对XML流式数据,采用正规树模式来描述复杂事件的结构约束和时序约束关系,提出了一种基于自动机的模式匹配算法,用于实现复杂事件检测。本文的主要贡献是:

1)扩展了基于下推转换机[6]的XML数据流查询算法,满足了正规树模式匹配中结构连接和多返回节点的需求。

2)面向XML流中的元素序列,设计了基于自动机的正规式匹配算法,实现了正规树模式匹配所需的当前最长元素子序列的实时检测。

3)提出并实现了面向XML流数据的正规树模式匹配算法。它能够通过上述两个算法的交叉协作,完成这种复杂事件查询,能够识别并获取这种半结构数据流中符合模式要求的实时数据。

毕业后,楚艳成了一名颇受高端客户青睐的设计师,并且很快有了自己的服装品牌“楚和听香”。但真正让她大放异彩的,是为APEC领导人设计中装。

2 相关工作

5)当输入标签无法得到匹配时,说明正规树模式与输入序列不匹配,终止自动机的工作。

2.1 Twig模式配算法

Twig模式匹配算法早期采用两阶段整体匹配方法[7],后来又提出了单阶段整体匹配方法[8~9],但是都不能描述含有时序约束的请求;而CepEngine引擎[5]能够支持含有时序约束的树模式查询,能够用来描述复杂事件。

2.2 基于下推自动机的流数据查询方法

为了解决传统算法不支持流数据的问题,有人提出了基于自动机的方法[10~13],但是描述能力有限,而基于下推自动机的ExPDT[14]虽然描述能力比较强,但不支持含有多个返回节点的查询。而以可视下推自动机[15]为基础的 XSeq 语言[16~17],也仅扩展了XPath的查询能力,但是这些方法对于同时含有结构约束和时序约束的请求,描述能力仍然有限。

3 复杂事件查询方法

鉴于目前使用下推自动机的算法比较高效地解决了仅存在结构约束的查询请求,所以本文选择以下推自动机为基础进行扩展。通过在树模式中引入正规式,表达查询中存在的时序约束,而正规式的识别,可以使用非确定自动机实现。

为掌握改革过程中干部职工的思想动态,农场组织了11个调研小组,采取入户走访、问卷调查、座谈等方式进行,深入职工群众家中、田间地头与职工群众交谈,向他们详细介绍农垦改革的目的意义及农场改革现阶段取得的成果,并询问他们对垦区改革所持的态度、改革中最关心关注的重点问题及对改革的总体认识等9方面问题,仔细了解掌握职工群众的思想动态,听取群众的意见呼声。全场走访入户215户,调查问卷200余份,收集意见建议35份,归纳为5条,涉及到农场城镇管理、农业生产、职工收入等方面内容。

3.1 正规树模式

图1是一个正规树模式,它通过在Twig模式上增加正规式来描述时序约束关系。其中树节点分为普通节点和正规节点,而正规节点是满足正规式约束的节点。此外,模式中需要返回查询结果的节点称为返回节点,在节点上加圈表示。图1中A,B,C,F,G是普通节点,D和E是正规节点,且B和E还是返回节点。

  

图1 正规树模式

在正规树模式的节点关系中,单杠(|)表示父子关系,双杠(||)表示祖先后代关系,三角符号下面是满足正规式约束的节点,与三角符号上面的节点保持父子关系。在正规式中,操作符包括*(克林闭包)、:(连接)和|(或),并且满足同一正规式约束的节点处在同一层。通过这些操作符的组合,来描述树模式节点间的时序约束关系。在图1中,E和D满足“E:D*”的正规式约束关系,即先出现一次E元素,然后必然要出现0到n次的D元素。

新一代智慧图书馆中的资源首先应当被重新定义,既包括电子书、读者信息、借阅记录等虚拟资源,也包括图书、电脑、桌椅等实体资源。所谓一切皆数据,数据即资源。

Q:有限状态集合。

3.2 支持多返回节点的下推自动机

在状态转移边上定义特定操作使其具有查询功能的下推自动机称为下推转换机(Pushdown Transducer,PDT)。图2是由图1 中的树节点A、B、C建立的PDT。正规树模式中每个节点对应于PDT中每相邻的两个状态,称为一个两状态自动机。图2的PDT分别是由1和2、2和3、2和4三个子PDT拼接而成。对于PDT中任意一个状态,作如下规定:

1)当s是当前状态,且输入标签和状态转移边上的标签匹配时,发生转移,转移到下一状态;

2)check标记表示check函数返回值为真时,才能进行状态转移;

头痛宁联合氟桂利嗪对比氟桂利嗪治疗偏头痛疗效与安全性的Meta分析及试验序贯分析 ……………… 孙伟鹏等(7):990

3)当s是当前状态,且输入标签序列与一个完整的XML元素序列匹配时,回到原来的状态s;

4)其他不满足的情况,不发生转移;

本文通过扩展Twig模式和扩展下推自动机,并将这两部分进行结合,实现了正规树模式的查询。

在图1中,C节点对应图2的2和4状态所属的两状态子自动机,因为C节点与A节点是AD轴关系,所以在图中用<*>表示读取任意非当前节点对应标签,即2状态上的<*>表示任意非节点C对应的标签<c>。此外,在匹配过程中需要对返回节点配置缓存,图2中add和upload是状态转移边上的操作,用于对缓存进行处理;check为自动机之间的检查操作,以保证读取的XML标签完全满足正规树模式,如图2中2状态可以到达3和4状态,需要在2状态增加check操作,保证读取了a标签后既读取了b标签又读取了c标签。与此相似,对于D、F和G节点也可以构成一组PDT。

  

图2 正规树模式中节点A、B、C构建的PDT

3.3 支持正规式匹配的非确定有限状态自动机

正规树模式中的正规式描述了兄弟节点之间的时序约束关系,而流数据处理要求获取当前时刻最长匹配兄弟元素序列。本文采用常规方法,为每个正规式提供一个自动机。图3是对图1所示的正规树模式中的正规式部分“E:D*”构建的自动机。这里采用了非确定的有限状态自动机(Non-deterministic Automata,NFA)。

  

图3 正规树模式中“E:D*”构建的NFA

本文的NFA不仅能够识别数据片段,还能够查询出当前时刻流数据中最长匹配兄弟序列。例如当前读入的XML元素序列是“aedceddabd”时,传统NFA判断它能否被识别,而本文的NFA在每个时刻匹配的最长兄弟元素序列是不同的。如表1,其中元素序列中的下划线表示当前匹配时刻。如在“aed”时刻,当前匹配的结果是ed;在“aedc”时刻,无新的匹配结果输出。

 

表1 NFA的当前匹配结果

  

当前结果1 2 3 4 5元素序列aedceddabd aedceddabd aedceddabd aedceddabd aedceddabd无e e d 6 7 8 9 1 0元素序列aedceddabd aedceddabd aedceddabd aedceddabd aedceddabd当前结果ed edd

3.4 自动机合并

为实现正规树模式查询,需要将多个PDT和NFA进行合并。如图4所示,它是一种新型的支持正规式匹配的自动机RPDT(Regular Pushdown Transducer)。其中,首先将正规式“E:D*”构造的NFA与图32的PDT合并,然后将正规树模式中的D、F和G节点构造的PDT再与上述合并的自动机合并。因为树节点D、F和G既不是返回节点也不是到达返回节点路径上的节点,所以对应的PDT状态转移边上只有检查操作,没有对缓存的操作。合并的方法如下:

在香辣香菇风味酱的开发研究前期,发现香菇丁的切制大小对香菇酱的组织形态影响很大,于是对香菇丁的大小进行了考察与优化。考察了香菇碎末、香菇粒径0.3 cm、香菇粒径0.5 cm 3个水平。香菇菇粒过大,油炸时水分不易去除,成品不易咀嚼;菇粒过小,香菇酱形态不佳,口感软烂,不易佐餐。最终确定了香菇的粒径为0.3 cm,此时香菇酱成形最好,有嚼劲。

δ:状态转移函数,该函数根据当前状态Q、输入标记∑,转移到下一状态Q,并执行动作F。

2)从NFA内部连接PDT时,将相应的状态转移(如D转移)分解为:设置从该状态(如状态7)到原PDT的头状态(如状态9)标有其开始标签的转移,以及从原PDT的头状态(如状态9)到该状态(如状态7)标有其结束标签的转移。

整个查询流程分为构建自动机和执行自动机两部分。对于构造自动机,首先以后序的方式访问树模式节点,如果遇到普通节点,则建立子PDT,已建立的子PDT之间根据节点的关系进行合并;如果遇到正规节点,则建立子NFA,然后将多个子NFA根据节点关系进行合并,为了解决PDT和NFA的嵌套问题,根据3.4节的合并方法进行合并。其次是执行自动机的过程,首先读取文档树,根据读取的标签,自动机发生状态转移,如果当前状态属于PDT的状态,则按照PDT的规则执行,否则按照NFA的执行规则执行。在整个执行过程中,通过配置缓存对多个返回节点涉及的数据进行查询处理。

直接电能Edirect为车间所有机床的工序加工能耗对刀能耗更换刀具能耗更换夹具能耗与空闲等待能耗之和,即

  

图4 由正规树模式构造的RPDT

整个PDT从读取标签流开始,根据读取的标签发生状态转移,当读取的标签是满足正规式约束的第一个节点的开始标签时,即读取到<e>时,PDT从4状态转移到6状态,切换到NFA执行;当NFA到达接受状态时,读取到的标签是满足正规式约束的最后一个节点的结束标签,即读取到</d>时,NFA从8状态转移到4状态,切换回PDT。

如果给定如图5(1)的文档树,文档树左侧的数字表示文档树的深度,就可以通过执行图34的自动机进行匹配,其匹配的两个结果如图5(2)和(3)。

  

图5 文档树及匹配结果

4 查询流程与RPDT设计

4.1 查询流程

试验组患者对护理的满意分值高于6分者共36例,满意率为92.31%;对照组患者对护理的满意分值高于6分者共28例,满意率为71.79%。对比两组间数据,试验组满意率明显高于对照组(x2=14.295,p=0.000),具有显著性差异。

4.2 RPDT的定义

本文设计了一种新型的支持多返回节点和正规式匹配的自动机RPDT,它的形式化定义如下,将它定义为一个七元组(Q,∑,B,F,δ,h,q0),其中:

由此看来,在分析新闻语篇时,光注重语篇内部衔接是远远不够的,应把语篇置于社会语境中加以人际意义的分析注解,这样才能完全吃透文本。

对于前文提到的海啸预警问题,就可以用图1描述,设发生一定等级的地震为E,观测点出现海浪波高异常情况为D,则持续出现若干次异常情况为D*,所以在一定等级地震发生后,观测点出现持续的海浪波高异常,就可以表示为E:D*,而图中其他节点可以表示为同时处理的一些其他数据,如气温、湿度等。

∑:XML文档流的输入事件的集合,读取一个元素或者一个标签为一个事件。

“教科研+”有利于实现教师的终身学习.教师这一职业的特殊性,要求其必须具有一定的专业知识,要想在社会发展的浪潮中不被淘汰,必须加入终身学习的行列,只有这样才能够跟上时代的步伐,实现与学生的思维“同频共振”,而实现终身学习的一个有利平台就是“教科研+”.

B:RPDT中的缓存集合,用于保存没有完全满足正规树模式的节点数据集。

F:转移边上动作的集合,F={add,upload,check},其中add表示将当前元素和对应深度路径加入到缓存中;而upload表示把当前缓存传到相应的实例树中;check为对于正规树模式中含有分支节点时所建立的自动机,以及不同类型自动机之间进行跳转的检查操作。

我第二次去的时候,青木显然已经不记得我是谁了。生活有时候就是这样,对于一个人,你可以清楚地记得他的一颦一笑,而他,连你的轮廓都没有印象,生活,本来就不是两厢情愿的事情,所以,也不必为此忧伤。

1)从PDT内部连接NFA时,在相应的状态(如状态4)添加指向NFA的开始状态的空转移和从NFA结束状态指向该状态的空转移;

h:Q→B,缓冲区映射函数,为了保存返回节点的数据,为PDT的每一个状态映射到唯一的缓冲区。

q0:自动机的开始状态。

5 实验

本文对基于下推自动机的复杂事件查询算法进行了对比实验,对实验结果进行了分析比较,证明了本实验方法的正确性和较为良好的性能。

5.1 实验方案

本文的实验环境为一台Intel Core i7 3.00GHz处理器和12GB内存的工作站。使用的数据集分别来自真实数据集的DBLP(127MB)和TreeBank(82MB),以及根据参数人工生成的数据集XMark,分 别 为 XMark0.1(11MB)、XMark0.5(56MB)、XMark1(115MB)、XMark10(1136MB)和 XMark20(2273MB)。

对比实验分两组,第一组为不含正规式的普通树模式对比实验,与 ExPDT[14]进行对比;第二组为正规树模式对比实验,与CepEngine[5]进行对比。表2为两组对比实验的测试案例。

以上的论述告诉我们,社会主义国家必须不断地进行改革,习近平强调:“改革开放只有进行时没有完成时。”邓小平更是一再强调,不改革死路一条。苏联解体后的第20天(即1992年1月17日),88岁高龄的邓小平启程南方考察。这次南方之行的背景有二:一是国内改革受阻,姓“资”姓“社”的争论不休;二是苏联垮台,使邓小平产生了加快改革的紧迫感。邓小平南方考察时对时任湖北省委书记关广富是这样说的:“现在中国的实际情况,不发展或发展慢了都不行。而怎么发展呢?办法只有一条那就是改革开放,国家需要改革开放,人民需要改革开放,谁不改革谁下台!对,不改革开放就下台!下台!”

5.2 测试结果与分析

图6是ExPDT和本文的RPDT的查询时间对比。可以看出RPDT在查询时间上相对于ExPDT均有提高。

  

图6 普通树模式查询时间对比

图7 是CepEngine和本文的RPDT的查询时间对比。可以看出RPDT在查询时间上相对于CepEngine也均有提高。

  

图7 正规树模式查询时间对比

 

表2 查询测试案例

  

编号Q1.1 Q1.2 Q2.1 Q2.2 Q3.1 Q3.2 Q4.1 Q4.2 Q4.3 Q5.1 Q5.2 Q5.3 Q6.1 Q6.2 Q6.3 Q6.4数据集DBLP DBLP TreeBank TreeBank XMark1 XMark1 DBLP DBLP DBLP TreeBank TreeBank TreeBank XMark(0.1-20)XMark(0.1-20)XMark(0.1-20)XMark(0.1-20)查询树模式//dblp//article[./url]/year//dblp/article[./author][./title][./url][.//ee]/year//S/VP[.//VBN]//IN//S//VP/PP[./IN]//NP[./CD]//VBN//item[./name][.//text/keyword]/incategory//category[./name]//description//listitem[./keyword]/parlist[./emph]//dblp[//article(author->$A:title:pages:year)]//dblp[//article(author->$A:title:(pages|year))]//dblp[//article(author->$A:title:(pages*):year)]//VP[PP(IN:NP->$N[CD][VBN]])//VP[PP(IN|NP->$N[CD][VBN]])//VP[PP(IN*|NP->$N[CD][VBN]])//people[//person(address->$A[zipcode]:profile[education][//age])]//people[//person(address->$A[zipcode]|profile[education][//age])]//people[//person((address->$A)[zipcode]*):profile[education][//age])]//people[//person[address->$A[zipcode]][profile[education][//age]]

图8是本文提出的RPDT在不同查询不同大小的数据集下的吞吐量趋势。可以看出,随着数据集的增长,吞吐量整体呈现增长趋势,在2273MB的XMark数据集下,吞吐量可达1.61GB/s,平均可达1.54GB/s。

  

图8 不同参数的XMark数据集在不同查询下的吞吐量

6 结语

本文提出了一种基于下推自动机的复杂事件查询方法,该方法以下推自动机为基础进行扩展,配以非确定自动机,通过给定的正规树模式构建支持正规式查询的下推转换机RPDT,通过扩展对正规式的查询,弥补了目前查询模式对事件描述能力的不足,并且通过对比实验,证明了本文提出的RPDT在性能上相比ExPDT和CepEngine均有所提高,可以说明它是一种具有较高性能的复杂事件的查询处理方法。[1] W3C.Extensible Markup Language(XML)[EB/OL].(2016-10-11).http://www.w3.org/XML/.

对工程进行施工以前,需要对资金担保制度加以落实,在针对工程展开招标活动时,政府部门应该要求投标单位对工程质量保证金加以交付,以此来保证工程的质量和安全,在施工单位对工程质量标准加以承诺以后,相关安全管理部门需要对整个规划建设活动的过程进行跟踪检查,确保工程质量能够达到施工单位承诺的标准,对于能够达到工程质量标准的单位,监管部门应将质量保证金无条件退还,而对于质量检验未能达到要求的,则要按照规定对质量保证金加以扣留,甚至追究其责任。

参考文献

[2]Alex C,Snoeren,Kenneth C,et al.Mesh-Based Content Routing using XML[C]//Proceedings of the eighteenth ACM symposium on Operating systems principles,2001:160-173.

[3]廖湖声,苏航,刘嘉.万维网数据表示与查询处理语言[J].中国计算机学会通讯,2013,9(4):8-13.LIAO Husheng,SU Hang,LIU Jia.Web data representation and query processing language[J].Communications of the CCF,2013,9(4):8-13

[4]廖湖声.XQuery语言原理和实现技术[M].北京:科学出版社,2013:89-91.LIAO Husheng.XQuery Language Principle and Implementation Technology[M].Beijing:Science Press,2013:89-91.

[5]路遥.一种基于正规树模式匹配的复杂事件检测方法[D].北京:北京工业大学,2016.LU Yao.Complex Event Detection based on Regular Tree Pattern Matching[D].Beijing:Beijing University of Technology,2016.

[6]A Meduna.Finite and Pushdown Transducers.Automata and Languages[M].London:Springer-Verlag London,2000:759-832.

[7]Bruno N,Koudas N,Srivastava D.Holistic twig joins:optimal XML pattern matching[C]//Proceedings of the 2002 ACM SIGMOD international conference on Management of data.ACM,2002:310-321.

[8]Chen S,Li H G,Tatemura J,et al.Twig2stack:Bottom-Upprocessing of generalized-tree pattern queries over XML documents[C]//Proceedings of the 32nd international conference on Very large data bases,2006:283-294.

[9]Lu Q,Jeffrey X Y,Ding B L.TwigList:Make twig pattern matching fast[C]//Proceedings of the 12th international conference on Database systems for advanced applications,2007:850-862.

[10]Altinel M,Franklin M J.Efficient filtering of XML documents for selective dissemination of information[C]//Proceedings of the 26th International Conference on Very Large Data Bases,2000:53-64.

[11]Gupta A K,Suciu D.Stream processing of XPath queries with predicates[C]//Proceedings of the 2003 ACM SIGMOD international conference on Management of data,2003:419-430.

[12]Peng F,Chawathe S.XPath queries on streaming data[C]//Proceedings of the 2003 ACM SIGMOD international conference on Management of data,2003:431-443.

[13]Olteanu D.Evaluation of XPath queries against XML streams[D].Germany:University of Munich,2005.

[14]李文珠,廖湖声,苏航.基于下推转换机的XML流数据处理方法[J].计算机工程与应用.2016,52(8):49-55.LI Wenzhu,LIAO Hushing,SU Hang.Pushdown transducer based query method over XML streams.Computer Engineering and Applications,2016,52(8):49-55.

[15]Alur R,Madhusudan P.Visibly Pushdown Languages[C]//Proceedings of STOC’04,ACM Press,2004:202-211.

[16]K Zeng,M Yang,B Mozafari,et al.Complex Pattern Matching in Complex Structures:the XSeq Approach[C]//Proceedings of the 2013 IEEE International Conference on Data Engineering,2013:1328-1331.

[17]B Mozafari,K Zeng,C Zaniolo.High-performance complex event processing over xml streams[C]//Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data,2012:253-264.

 
郑利强,廖湖声,苏航,高红雨
《计算机与数字工程》2018年第05期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号