当前位置: 首页 > 专利查询>南京大学专利>正文

事件模型中的快速事件匹配方法组成比例

技术编号:2858181 阅读:227 留言:0更新日期:2012-04-11 18:40
事件模型中的快速事件匹配方法步骤如下,分为事件订购和事件匹配两大部分;事件订购;在事件匹配算法的数据结构上的事件订购处理就是事件匹配的预处理过程,当事件服务接收到新的事件订购后,需要更新谓词表、接口列表和订购列表;事件匹配:在数据结构和事件订购的预处理的基础上,只需将接收到的事件在谓词表中逐行进行匹配测试。处理订购区域与发布值的正向匹配,还处理发布区域与订购值的逆向匹配以及发布区域与订购区域的对称匹配;本发明专利技术针对分布式虚拟环境中需要动态对称事件匹配支持的要求,在现有的两类算法基础上,提出了一种改进的快速事件匹配算法,此算法综合了两类算法各自的优点,提高了匹配的速度和效率。

【技术实现步骤摘要】

本专利技术涉及分布式虚拟环境中的通讯问题,特别涉及,涉及具有异步性、动态性、多对多和匿名等特点事件模型的通讯方式。
技术介绍
分布式虚拟环境(DVE)技术已经成为目前计算机领域的一个热门的学科,在军事、医学、建筑、教育及娱乐等众多领域中都得到了成功的应用Singh G,Serra L.Brick NetA Software Toolkit for Network Based Virtual Worlds(分布式虚拟环境的软件工具包),Presence,1994,3(1)pp.19-34。事件模型(Event Model)是独立于应用的用于提供基于事件通讯的结构,事件(Event)M.Haahr,R.Meier.P.Nixon,V.Cahill and E.Jul,Filtering and Scalabilityin the ECO Distributed Event Model(ECO分布式事件模型的过滤和稳定性),In 5thInternational Symposium on Software Engineering for Parallel and DistributedSystems,2000。就是这种通信模型中的基本通信机制。作为一种新型的通信模型,事件模型在分布式系统通讯中的作用日益明显,其特点和意义在于它提供了一种松耦合的通讯模式。这种通讯模式有异步通信、动态性、多对多通信方式和可匿名的特点,这些特点使其能够适应大规模分布式系统的需要,同时使得分布式虚拟环境的通讯模块和仿真模块可以分别独立进行设计开发,减少了设计开发的复杂性。事件匹配是事件模型设计中非常重要的一个环节,是决定事件模型的事件传递的效率和准确性的关键。在分布式虚拟环境的事件模型中,最受关注的是基于内容的对称发布/定购模型中的事件匹配。在这种模型中,事件的发布区域需要与每个订购区域进行匹配,而每个发布区域和订购区域又是由多个谓词组成,所以实际上是通过谓词之间的匹配来实现发布区域与订购区域的匹配。当一个系统要处理大量的订购和事件时,事件匹配需要面对成千上万的谓词,所以,能否快速的进行事件匹配决定了系统的实时性能否得到满足,同时事件匹配是否准确也将影响整个事件传递的准确性,而一个低效率低准确率的事件匹配算法很大程度上会给系统带来拥塞和瓶颈。因此,研究一种快速准确的事件匹配算法不仅在相关研究领域具有深远的意义,同时也在很大程度上是分布式虚拟环境在商业领域能否成功的应用的关键。现有主要的事件匹配算法研究都是在减少额外的谓词匹配测试方面进行优化处理,主要的算法一般分为两类Walid Rjaibi,Klaus Dittrich and Dieter Jaepel.Event matching in symmetric subscription systems(对称订购系统中的事件匹配),In CASCON Conference,2002基于谓词索引算法(Predicate Indexing Based)和基于匹配网络算法(Testing Network Based)。基于谓词索引算法的事件匹配算法主要以订购中的谓词组织成的索引结构为基础,此类算法一般由两个阶段组成,第一阶段进行谓词匹配测试,第二阶段再使用第一阶段的测试结果进行订购匹配测试。代表算法有计数算法(CountingAlgorithm)T.W.Yan and H.Garc’ya-Molina.Index Structures for SelectiveDissemination of Information Under the Boolean Model(在布尔模型下信息选择性分发的索引结构).ACM Trans.Database Syst.,1994,19(2)pp.332-334;汉森算法(Hanson Algorithm)E.Hanson,M.Chaabouni,C.Kim and Y.Wang.A PredicateMatching Algorithm for Database Rule Systems(一种数据库规则系统中的谓词匹配算法),In SIGMOD’90,1990等。基于匹配网络的算法的主要思想是在预处理阶段把订购组成一个图或者匹配网络的结构,事件从图的入口进入,通过各个中间节点进行过滤,直到出口判定匹配结果。代表算法有基于匹配树(Testing Tree Based)的算法M.Aguilera,R.Strom,D.Sturman,M.Astley and T.Chandra.Matching Events in A Content-basedSubscription System(基于内容的订购系统中的事件匹配),In Eighteen ACMSymposium on Principles of Distributed Computing(PODC’99),1999和基于二叉决策图(Binary Decisions Diagrams,BDDs)的算法A.Campailla,S.Chaki,E.Clarke,S.Jha ahd H.Veith.Efficient Filtering in Publish-Subscribe Systems Using BinaryDecision Diagrams(发布/订购系统中使用二叉决策图的高效过滤),In Proceedingsof the 23th International Conference on Software Engineering,Toronto,Canada,May2001,pp.443-452。现有的两类匹配算法都有各自的不足如基于谓词索引的算法无法利用不同属性间的相关性辅助进行匹配,从而提高匹配效率;而基于决策网络的事件匹配算法需要静态的构建匹配树或者二叉决策图,不适应动态事件匹配的需要,难以进行动态更新,一般只适用于静态的事件模型。而在分布式虚拟环境中,事件和订购都是动态的,不仅事件需要实时高速的发送,订购也需要根据用户状态的改变而不断更新。此外,目前算法只能适应非对称的事件匹配,不能解决分布式虚拟环境中对称事件匹配的问题。
技术实现思路
本专利技术的目的是针对分布式虚拟环境中,需要动态对称事件匹配支持的要求,在现有的两类算法基础上,提出一种改进的快速事件匹配算法,此算法能综合了两类算法各自的优点,不仅提高了匹配的速度和效率,还解决了对称事件匹配的问题。假设订购表达式由多个谓词组成,而事件仍然是由属性对组成。本专利技术的重点是数据结构部分,这也是本专利技术的算法优化的关键。主要数据结构如附图1所示,是由一张谓词表(Predicate Table)、一个匹配桶(MatchBucket)、订购列表(Subscription List)和接口列表(Interface List)组成。谓词表(Predict Table)本专利技术中,谓词表是数据结构的核心部分,谓词表的组织结合了谓词索引算法和匹配网络算法各自数据结构的特点。所有的谓词分类成为谓词族,具有相同属性和相同操作符的谓词归入一个谓词族。所有谓词族分成等值谓词、上域值谓词和下域值谓词三类。每个谓词族对应谓词表的一行,且按序排列“attribute<”谓本文档来自技高网
...

【技术保护点】
事件模型中的快速事件匹配方法,其特征是分为事件订购和事件匹配两大部分;事件订购:在事件匹配算法的数据结构上的事件订购处理就是事件匹配的预处理过程,当事件服务接收到新的事件订购后,需要更新谓词表、接口列表和订购列表;首先,将订购加入到订购列表中,将相应接口的最后一个订购在订购列表中的最后一个条目的后续指向新加入的订购,并将接口列表中对应接口的订购数加1;如果订购数超过了限值,在这个接口的所有订购中选取两个订购进行聚集,选择的标准是两个订购的重叠部分最大;然后,在谓词表中登记订购条目。订购的信息按照谓词表从上往下的顺序,在订购所包含的每个谓词族中通过二分查找,找到插入位置,把对应的订购值插入表中;在谓词表插入的过程中,将插入的谓词按从上至下的顺序逐一链接,最后指向订购列表中的对应位置,并向订购列表中对应表项传递订购在谓词表中第一个位置的指针;事件匹配:在数据结构和事件订购的预处理的基础上,只需将接收到的事件在谓词表中逐行进行匹配测试,设P↓[i]为第i行谓词族的所有谓词的集合,P↓[i_match]表示P↓[i]中匹配该事件的谓词集合,S↓[match]表示匹配的订购集合;算法首先对匹配桶内容进行初始化。遍历订购列表,找到每个订购的第一个谓词的位置,初始化后,匹配桶中保存了所有订购的第一个谓词的索引;采用对谓词表的匹配逐行进行的匹配桶的数据结构,用于暂时存储这些被延缓的谓词的索引。然后需要对谓词表进行逐行扫描,对于谓词表的每一行,主要进行两部分工作:找到这个谓词族中匹配该事件的所有谓词,然后根据匹配桶的内容对这些匹配的谓词逐个进行考察;将谓词表中的所有谓词分成匹配和不匹配两部分;在对第i行进行测试时,对于非等值谓词族,由于谓词都经过排序,所以可以使用二分查找法,根据事件中对应的属性值,找到一个位置将P↓[i]分成P↓[i_left]和P↓[i_right]两部分,P↓[i_left]就对应这一行的P↓[i_match],表示该行的谓词中匹配该事件的集合;对于等值谓词族,则查找所有谓词值等于事件对应的属性值的谓词,放入P↓[i_match];如果该事件不包含此行对应的属性,则认为这一行所有的谓词都是匹配的,P↓[i_match]包含该行的所有谓词;在逐行测试中,设在对第i行进行测试时,匹配桶中第i行对应的谓词集合为Bi,则该行中所有真正满足匹配测试的谓词集合为P↓[i_match]∩B↓[i];将这个集合中是订购最后...

【技术特征摘要】

【专利技术属性】
技术研发人员:潘金贵贝佳沈瑜徐晓旸苏绍勇
申请(专利权)人:南京大学
类型:发明
国别省市:84[中国|南京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1