[发明专利]事件模型中的快速事件匹配方法无效
申请号: | 200510040618.1 | 申请日: | 2005-06-20 |
公开(公告)号: | CN1694094A | 公开(公告)日: | 2005-11-09 |
发明(设计)人: | 潘金贵;贝佳;沈瑜;徐晓旸;苏绍勇 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F17/60 |
代理公司: | 南京天翼专利代理有限责任公司 | 代理人: | 汤志武 |
地址: | 210093*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 事件模型中的快速事件匹配方法步骤如下,分为事件订购和事件匹配两大部分;事件订购:在事件匹配算法的数据结构上的事件订购处理就是事件匹配的预处理过程,当事件服务接收到新的事件订购后,需要更新谓词表、接口列表和订购列表;事件匹配:在数据结构和事件订购的预处理的基础上,只需将接收到的事件在谓词表中逐行进行匹配测试。处理订购区域与发布值的正向匹配,还处理发布区域与订购值的逆向匹配以及发布区域与订购区域的对称匹配;本发明针对分布式虚拟环境中需要动态对称事件匹配支持的要求,在现有的两类算法基础上,提出了一种改进的快速事件匹配算法,此算法综合了两类算法各自的优点,提高了匹配的速度和效率。 | ||
搜索关键词: | 事件 模型 中的 快速 匹配 方法 | ||
【主权项】:
1、事件模型中的快速事件匹配方法,其特征是分为事件订购和事件匹配两大部分;事件订购:在事件匹配算法的数据结构上的事件订购处理就是事件匹配的预处理过程,当事件服务接收到新的事件订购后,需要更新谓词表、接口列表和订购列表;首先,将订购加入到订购列表中,将相应接口的最后一个订购在订购列表中的最后一个条目的后续指向新加入的订购,并将接口列表中对应接口的订购数加1;如果订购数超过了限值,在这个接口的所有订购中选取两个订购进行聚集,选择的标准是两个订购的重叠部分最大;然后,在谓词表中登记订购条目。订购的信息按照谓词表从上往下的顺序,在订购所包含的每个谓词族中通过二分查找,找到插入位置,把对应的订购值插入表中;在谓词表插入的过程中,将插入的谓词按从上至下的顺序逐一链接,最后指向订购列表中的对应位置,并向订购列表中对应表项传递订购在谓词表中第一个位置的指针;事件匹配:在数据结构和事件订购的预处理的基础上,只需将接收到的事件在谓词表中逐行进行匹配测试,设Pi为第i行谓词族的所有谓词的集合,Pi_match表示Pi中匹配该事件的谓词集合,Smatch表示匹配的订购集合;算法首先对匹配桶内容进行初始化。遍历订购列表,找到每个订购的第一个谓词的位置,初始化后,匹配桶中保存了所有订购的第一个谓词的索引;采用对谓词表的匹配逐行进行的匹配桶的数据结构,用于暂时存储这些被延缓的谓词的索引。然后需要对谓词表进行逐行扫描,对于谓词表的每一行,主要进行两部分工作:找到这个谓词族中匹配该事件的所有谓词,然后根据匹配桶的内容对这些匹配的谓词逐个进行考察;将谓词表中的所有谓词分成匹配和不匹配两部分;在对第i行进行测试时,对于非等值谓词族,由于谓词都经过排序,所以可以使用二分查找法,根据事件中对应的属性值,找到一个位置将Pi分成Pi_left和Pi_right两部分,Pi_left就对应这一行的Pi_match,表示该行的谓词中匹配该事件的集合;对于等值谓词族,则查找所有谓词值等于事件对应的属性值的谓词,放入Pi_match;如果该事件不包含此行对应的属性,则认为这一行所有的谓词都是匹配的,Pi_match包含该行的所有谓词;在逐行测试中,设在对第i行进行测试时,匹配桶中第i行对应的谓词集合为Bi,则该行中所有真正满足匹配测试的谓词集合为Pi_match∩Bi;将这个集合中是订购最后一个节点的谓词对应的订购加入Smatch,其余的则将其后继谓词索引填入匹配桶中对应位置。对Pi_match和Bi的求交运算,只需要把Bi 中每个谓词索引与这一行将谓词表Pi分为Pi_left和Pi_right两部分的分割位置进行比较,在这个位置之前就表示这个谓词属于这个求交结果,否则被剔除。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200510040618.1/,转载请声明来源钻瓜专利网。