一种事件模型中的快速查询匹配方法

文档序号:9865502阅读:324来源:国知局
一种事件模型中的快速查询匹配方法
【专利说明】一种事件模型中的快速查询匹配方法
[0001]
技术领域
[0002]本发明涉及分布式虚拟环境中的通讯问题,特别涉及一种事件模型中的快速查询匹配方法,涉及具有异步性、动态性、多对多和匿名等特点事件模型的通讯方式。
技术背景
[0003]分布式虚拟环境(DVE)技术已经成为目前计算机领域的一个热门的学科,在军事、医学、建筑、教育及娱乐等众多领域中得到了成功的应用Singh G, Serra L.Brick Net:A Software Toolkit for Network Based Virtual Worlds (分布式虚拟环境的软件工具包)、Presence, 1994,3 (I):pp.19-34.事件模型(Event Model)是独立于应用的用于提供基于事件通讯的结构,事件(Event)[2] M.Haahr, R.Meier.P.Nixon, V.Cahill andE.Jul, Filterring and Scalability in the ECO Distributed Event Model (ECO 分布式事件模型的过滤和稳定性),In 5thInternat1nal Symposium on Software Engineeringfor Parallel and Distrebuted Syetems , 2000.就是这种通信模型中的基本通信机制。作为一种新型的通信模型,事件模型在分布式系统通讯中的作用日益明显,其特点和意义在于它提供了一种松耦合的通讯模式。这种通讯模式有异步通信、动态性、多对多通信方式和可匿名的特点,这些特点使其能够适应大规模分布式系统的需要,同时使得分布式虚拟环境的通讯模块和仿真模块可以分别独立进行设计开发,减少了设计开发的复杂性。
[0004]事件匹配是事件模型设计中非常重要的一个环节,是决定事件模型的事件传递的效率和准确性的关键。
[0005]在分布式虚拟环境的事件模型中,最受关注的是基于内容的对称发布/订购模型中的事件匹配。在这种模型中,事件的发布区域需要与每个定购区域进行匹配,而每个发布区域和订购区域又是由多个谓词组成,所以实际上是通过谓词之间的匹配来实现发布区域与订购区域的匹配。
[0006]当一个系统要处理大量的订购和事件时,事件匹配需要面对成千上万的谓词,所以,能否快速的进行事件匹配决定了系统的实时性能否得到满足,同时事件匹配是否准确也将影响整个事件传递的准确性,而一个低效率地准确率的事件匹配算法很大程度上会给系统带来拥塞和瓶颈。
[0007]因此,研究一种快速准确的事件匹配算法不仅在相关研究领域具有深远的意义,同时也在很大程度上是分布式虚拟环境在商业领域能否成功的应用的关键。
[0008]现有主要的事件匹配算法研究都是在减少额外的谓词匹配测试方面进行优化处理,主要的算法一般分为两类[3] Walid Rjaibi, Klaus Dittrich and Dieler Jaepel.Event matching in symmetric subscript1n systems (对称订购系统中的事件匹配),In CASCON Conference, 2002:基于谓词索引算法(Predicate Indexing Based)和基于匹配网络算法(Testing Network Based). 基于谓词索引算法的事件匹配算法主要以订购中谓词组织成索引结构为基础,此类算法一般由两个阶段组成,第一阶段进行谓词匹配测试,第二阶段再使用第一阶段的测试结果进行订购匹配测试。代表算法有:计数算法(Counting Algorithm) [4]T.ff.Yan andH.Gare'ya-Molina.1ndex Structures for Selective Disseminat1n of Informat1nUnder the Boolean Model (在布尔模型下信息选择性分发的索引结构)。ACM Trans.Database Syst.1994, 19 (2):pp.332 334;汉森算法(Hanson Algorithm) [5]E.Hanson, M.Chaabouni, C.Kim and Y.Wang.A Predicate Matching Alogrithm for Database RuleSystems ( 一种数据库规则系统中的谓词匹配算法),In SIGMOD'90, 1990等。
[0009]基于匹配网络的算法的主要思想是在预处理阶段把订购组成一个图或者匹配网络的结构,事件从图的入口进入,通过各个中间节点进行过滤,直到出口判定匹配结果。代表算法有:基于匹配数(Tseting Tree Based)的算法[6]Μ.Aguilera, R.Strom, D.Sturman, M.Astley and T.Chandra.Matching Events in A Content-based Subscript1nSystem(基于内容的订购系统中的事件匹配),In Eighteen ACM Symposium on Principlesof Distributed Computing (P0DC99), 1999 和基于二叉决策图(Binary Decis1nsDiagrams, BDDs )的算法[7]A.Campai I la, S.Chaki, E.Clarke, S.Jha and H.Veith.EfficientFiltering in Publish-Subscribe Systems Using Binary Decis1n Diagrams (发布 /订购系统中使用二叉决策图的高效过滤),In Proceedings of the 23th Internat1nalConference on Software Engineering, Toronto, Canada, May2001, pp.443-452.现有的两类匹配算法都有各自的不足:如基于谓词索引的算法无法利用不同属性间的相关性辅助进行匹配,从而提高匹配效率;而基于决策网络的事件匹配算法需要静态的构建匹配树或者二叉决策图,不适应动态事件匹配的需要,难以进行动态更新,一般只适用于静态的事件模型。而在分布式虚拟环境中,事件和订购都是动态的,不仅事件需要实时高速的发送,订购也需要根据用户状态的改变而不断更新。此外,目前算法只能适应非对称的事件匹配,不能解决分布式虚拟环境中对称事件匹配的问题。
[0010]

【发明内容】

[0011]本发明的目的是:针对分布式虚拟环境中,需要动态对称事件匹配支持的要求,在现有的两类算法基础上,提出一种改进的快速事件匹配算法,此算法能综合了两类算法各自的优点,不仅提高了匹配的速度和效率,还解决了对称事件匹配的问题。
[0012]假如订购表达式有多个谓词组成,而事件仍然是由属性对组成。
[0013]本发明的重点是数据结构部分,这也是本发明的算法优化的关键。主要数据结构是由一张谓词表(Predicate Table)、一个匹配桶(Match Bucket)、订购列表(Subscript1n List)和接口列表(Interface List)组成。
[0014]谓词表(Predict Table):本发明中,谓词表是数据结构的核心部分,谓词表的组织结合了谓词索引算法和匹配网络已算法各自数据结构的特点。所有的谓词分类为谓词族,具有相同属性和相同操作符的谓词归入一个谓词族。所有谓词族分成等值谓词、上域值谓词和下域值谓词三类。每个谓词族对应谓词表的一行,且按序排列:“attribute〈”谓词族,谓词比值从大到小排列,反之,“attribute〉”谓词族,谓词比值从小到大排序,对于等值谓词族则无论何种顺序都可以。此外,谓词表中将订购中的谓词用指针连接起来,最后都指向订购列表的具体订购。
[0015]匹配桶(Match Bucket):用于辅助谓词表进行匹配。对谓词表的匹配是逐行进行的,但不是所有的订购都对所有的谓词族进行订购,有的指针可能会跨越某些行,为了使得这样的谓词在逐行扫描中不会丢失,采用匹配桶的数据结构,用于暂时存储这些被缓解的谓词的索引。
[0016]接口列表(Interface List)和订购列表(Subscript1n List):接口列表和订购列表维护了接口和接口对应的订购信息。订购列表登记了所有加入到谓词表的订购的一个记录,同时有一
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1