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

一种多核架构下基于语义的发布订阅系统中并行匹配方法技术方案

技术编号:4116526 阅读:259 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种多核架构下基于语义的发布订阅系统中高效的并行匹配算法。其包括(1)订阅合并、(2)订阅退订、(3)将事件转化到特定的数据结构、(4)事件与订阅的匹配。该算法提高了匹配的时间效率和空间效率,以及订阅的维护效率,保证了事件通知的高效性和正确性。

【技术实现步骤摘要】

本专利技术涉及一种发布订阅系统中的并行匹配算法,更具体地,涉及一种多核 架构下基于语义的发布订阅系统中高效的并行匹配算法。
技术介绍
随着Internet的快速普及,极大地改变了分布式系统的规模,出现了基于 Internet的大规模分布式计算的新型计算环境。基于Internet的分布式系统包 含上万个分布于世界各地的参与者,在系统的整个生命周期中,参与者的位置 和行为都可能会改变。因此Internet计算既有传统的分布式计算的异构性等共 同特点,也有大规模、分散控制、动态性、松耦合等特点。而发布订阅系统 (publish/subscribe系统,简称pub/sub)能够很好的满足上述要求,因而受到 越来越多的关注。Pub/sub系统的匹配问题的本质在于,当到达一个事件以后,要能快速地找 到所有与之匹配的订阅条件。从这一点来说,pub/sub系统与数据库相比,数据 和査询(订阅)条件的角色正好颠倒过来了。在数据库系统中,大量的数据被 保持并建立了索引,以便当用户发起一个查询条件时,能够快速到找到所需要 的数据,而在pub/sub系统中,大量的订阅条件被保存并建立索引,以便当到 达一个事件时,能够快速地找到与之匹配的订阅条件。基于语义的发布订阅系统更加灵活,不必受系统预先定义的主题的限制, 但是也使系统的设计复杂化, 一个核心问题就是如何实现大量事件与大量订阅 之间基于语义的高速匹配,即匹配算法。在基于语义的发布订阅系统中,事件的匹配是保证事件通知的高效性和正确性的关键,对于事件匹配的研究是基于语 义的发布订阅系统的一个重要方面。在设计发布订阅系统的匹配算法时,追求的目标有以下三个(1) 匹配的时间效率当一个事件发布后,系统需要多长的时间才能知道能找出满足所有条件的 所有订阅。事件达到后,应在最短时间内将该事件能匹配成功的订阅找出来, 通知相应的订阅。(2) 匹配的空间效率为实现事件与订阅的高效匹配,用于维护订阅索引结构以及订阅本身所需 要的空间情况。在大规模的发布/订阅中,订阅的数量非常大,不可能在节点的 内存中维护全部订阅,特别是对于具有上百万个订阅的节点。因此通常只保持 索引结构和部分订阅在内存中,而把其他订阅保存到磁盘中。(3) 订阅维护的效率当一个新的客户加入订阅或者一个已有的客户取消订阅时,系统需要对订 阅的索引结构进行更新,以体现订阅条件的变化。订阅维护的效率是指系统对 订阅索引结构进行更新时所需要的开销情况,包括时间的开销和空间的损耗。 就匹配算法而言,订阅维护的时间效率则强调节点插入订阅和删除订阅所消耗 的时间长短。而在单个节点上插入和删除一个订阅的效率主要取决于订阅索引 结构的复杂度。由于一个pub/sub系统中,事件的发布的频率要远远高于客户 增加和取消的订阅频率,所以这是一个次要的设计目标。
技术实现思路
发布订阅系统的匹配算法的本质就是当一个事件到达后,在最快的时间内,准确地找出事件满足的约束条件的所有订阅。 一种最简单的方法就是将事 件与每个订阅逐一比较,这是一种最原始最笨的解决办法。然而在大规模分布 式Pub/Sub系统中,发布者和订阅者的数量庞大,系统中的订阅的数量数以百 万计,与此同时,发布者发布的事件的频率也很频繁。因此利用订阅条件之间 的重复性,减少事件与订阅直接的匹配次数。发布者发布的事件是频繁的,系 统中又保存了大量的订阅,所以首先应该将所有订阅条件组织成一个特定的数 据结构,这个数据结构要充分考虑到订阅之间的各种关系(如重复、包含等), 这个数据结构称为订阅的索引。发布者以RDF/XML语法表示事件,系统把事件转化为RDF事件图,并提交 到事件匹配器,而订阅又被保存为订阅图模式。 本专利技术包括以下几个部分(1) 订阅合并当一个新的订阅添加进来时,系统需要将它整合到订阅总图中。节点以订 阅总图的方式保存订阅。订阅的加入分为两步完成a. 将订阅按单个订阅图的结构保存到磁盘;b. 订阅合并到订阅总图数据结构中并统计订阅的约束条件总数。在多核架 构下,将单个订阅的每个属性信息随机分配到一个处理单元上,该处理单元将 这个属性合并到订阅总图中,同时修改该订阅到约束条件数。对订阅总图结构 的修改和对约束条件数的修改都需要在修改前加锁,修改后解锁。(2) 订阅退订当订阅者向系统提出对以前提交的订阅进行退订时,系统要将该订阅删除, 并且将订阅总图中关于该订阅的信息也删除。订阅的移除算法是订阅的加入算法的逆过程,主要思路就是在订阅总图数据结构中,找出所有含有该订阅的引 用,并判断该订阅对于节点对或者约束条件来说是否为唯一引用,如果是,则 删除掉引用,并删除该节点对或约束条件;否则只删除引用。査找约束条件的 过程用二分查找法提供査找效率。在多核架构下,我们对订阅总图结构进行近 似平均分组,由多个处理器共同处理。在删除引用时,也需要对相应的结构进 行加锁。(3) 将事件转化到特定的数据结构当一个事件到达系统,系统把将事件与订阅总图结构进行匹配,找出所有 感兴趣的订阅。事件的交换格式为RDF/XML,因此,系统首先需要把事件转换成 相应的数据结构,然后进行匹配。事件的转化中,我们利用了 RDF API工具Jena,非常方便地实现RDF/XML 格式和RDF图之间的转换。因此可以利用Jena API从RDF/XML文档中读入事件 生成RDF图,然后遍历RDF图的三元组生成事件的数据结构。单个事件的转换 并不复杂,因而我们随机选择一个处理单元处理。(4) 事件与订阅的匹配事件与订阅的匹配算法是整个算法的核心,也是整个算法效率的体现。事 件被转换成相应的数据结构后,系统执行匹配算法找出所有被满足的订阅。 事件匹配算法分为三个阶段(I) 根据订阅索引结构过滤不相关的订阅,找出可能匹配成功的订阅,是语 法层次上的匹配;(II) 对每个节点对进行约束条件过滤,剔除不满足的订阅;(ni)对第二个阶段剩下的订阅,利用概念模型中等价和继承关系等,做进一步的检査以发现匹配的订阅,是语义层次上的匹配。其中涉及到修改数据结构中的值时,都要先加锁,修改后再解锁。 匹配的第一个阶段将事件E的每个属性随机分配给一个处理单元;该处理单元将属性与订阅总图结构SM的PartA的HMProp的同属性的值比 较,并通过类型比较-,如果节点对统一,则读取出其SL结构,并将事件的节点对一一存入单个订 阅的结构PartA中的变量绑定表VT中。(iv)对每个S的Counter加锁,对 Counter自增l,然后解锁,并将这些订阅加入到集合SubSet中。节点对统一如果订阅中节点为变量,且变量无类型约束,则其匹配事件 中任意节点,如果变量有类型约束,则匹配和其类型相同节点。如果订阅中节 点为URI引用(URIref)或文本,则该事件中与其匹配节点必须为相同的URI 引用或文本。匹配的第二个阶段-对E的每个节点对NP的宾语Object,如果它是Literal,利用它的URIref 类型,在SM的PartB部分找出对应的OPCL结构;对0PCL结构中的每个ConstraintList中的每个节点ConstraintNode进行 check(由于链表的节点按照覆盖规则存放,所以利用二分査找法査找链表, 一旦 找到一个不能满足条件的订阅,本文档来自技高网
...

【技术保护点】
一种多核架构下基于语义的发布订阅系统中的并行匹配算法,所述系统将事件转化为RDF事件图,并将订阅保存在订阅总图中,其特征在于,所述匹配算法包括以下阶段:  订阅合并,当一个新的订阅添加到所述系统中的时候,所述系统将所述新添加的订阅整合到订阅总图中;  订阅退订,当订阅者向所述系统提出对以前提交的订阅进行退订时,所述系统要将所述退订的订阅删除,并且将订阅总图中关于所述退订订阅的信息也删除;  将事件转化到特定的数据结构,当一个事件到达所述系统,所述系统需要把事件转换成相应的数据结构,然后进行匹配;  事件与订阅的匹配,事件被转换成相应的数据结构后,系统执行相应算法找出所有被满足的订阅。

【技术特征摘要】
1.一种多核架构下基于语义的发布订阅系统中的并行匹配算法,所述系统将事件转化为RDF事件图,并将订阅保存在订阅总图中,其特征在于,所述匹配算法包括以下阶段订阅合并,当一个新的订阅添加到所述系统中的时候,所述系统将所述新添加的订阅整合到订阅总图中;订阅退订,当订阅者向所述系统提出对以前提交的订阅进行退订时,所述系统要将所述退订的订阅删除,并且将订阅总图中关于所述退订订阅的信息也删除;将事件转化到特定的数据结构,当一个事件到达所述系统,所述系统需要把事件转换成相应的数据结构,然后进行匹配;事件与订阅的匹配,事件被转换成相应的数据结构后,系统执行相应算法找出所有被满足的订阅。2. 如权利要求1所述的多核架构下基于语义的发布订阅系统中的并行匹配算 法,其中所述系统包括多个处理器。3.如权利要求1或2所述的多核架构下基于语义的发布订阅系统中的并行 匹配算法,所述订阅合并分为以下两步完成a. 将订阅按单个订阅图的结构保存到磁盘;b. 订阅合并到订阅总图数据结构中并统计订阅的约束条件总数,在多核架 构下,将单个订阅的每个属性信息随机分配到一个处理单元上,该分配的处理单元将这个属性合并到订阅总图中,同时修改该订阅的约束条件数,对订阅总 图结构的修改和对约束条件数的修改要在修改前加锁,修改后解锁。4.如权利要求1或2所述的多核架构下基于语义的发布订阅系统中的并行匹 配算法,对于所述订阅退订的处理,在订阅总图数据结构中,找出所有含有所述退订 的订阅的引用,并判断所述退订的订阅对于节点对或者约束条件来说是否为唯 一引用,如果是,则删除掉引用,并删除该节点对或约束条件;否则只删除引 用。5. 如权利要求1或2所述的多核架构下基于语义的发布订阅系统中的并行匹 配算法,对于所述将事件转化到特定的数据结构的处理,事件的交换格式为RDF/XML, 在事件的转化中,利用RDF API工具Jena,实现RDF/XML格式和RDF图之间的转换。6. 如权利要求1或2所述的多核架构下基于语义的发布订阅系统中的并行匹 配算法,所述事件与订阅的匹配分为以下三个阶段第一阶段,根据订阅索引结构过滤不相关的订阅,找出可能匹配成功的订阅,完成语法层次上的匹配;第二阶段,对每个节点对进行约束条件过滤,剔除不满足的订阅; 第三阶段,对第二阶段剩下的订阅,利用概念模型中等价和继承关系,做进一...

【专利技术属性】
技术研发人员:尹建伟苏勇吴朝晖吴健李莹邓水光
申请(专利权)人:浙江大学
类型:发明
国别省市:86[中国|杭州]

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

1