论文部分内容阅读
发布/订阅是一种基于事件的通信范型,它在时间、空间和控制流上完全解耦,能够提供异步、匿名和一对多的通信机制。内容发布/订阅系统完全独立于网络层,依赖消息的内容来进行事件匹配和路由,可以提供更细粒度的事件匹配和更高层的透明性,获得了越来越多的研究和关注。
覆盖优化通过探索订阅者兴趣的重合部分,使用兴趣更广泛的订阅S代表一系列的兴趣较狭义的订阅集合S来表达订阅兴趣,从而在公共路径上停止S的传播。由于覆盖优化能有效地删除网络中冗余的订阅,减少路由表存储、网络通信和事件匹配开销,因此,覆盖优化已经成为内容发布/订阅系统广泛应用的典型优化算法。但是,覆盖优化仍然存在以下不足:首先,传统覆盖关系检测算法耗时且效率低下,已经成为系统瓶颈。其次,当兴趣广泛的订阅S取消时,因为S而停止传播的订阅S必须重新传播,由于S的数目没有上限,瞬间产生的巨量信息可能造成系统长时间的阻塞甚至崩溃。最后,由于有环拓扑在发布/订阅系统中的优势日益明显,需要扩展覆盖优化技术来支持有环拓扑。本文围绕内容发布/订阅系统中覆盖优化技术的三个主要问题展开研究,主要贡献包括:
1.提出基于匹配树的高效覆盖关系检测算法。首先,通过预排序的策略,将覆盖关系的基本性质和有序性相结合,提出改进的局部覆盖关系检测算法;接下来,以匹配树为索引,利用匹配树的共享性和有序性,结合局部覆盖关系检测算法,提出了基于匹配树的全局覆盖关系检测算法。该算法能够显著减少覆盖关系检测的查找范围,提升查找速度。实验显示,在系统中路由表项接近80000条的情况下,单条订阅的处理时间从两种传统算法的329毫秒和67毫秒降低至0.39毫秒,显著地提高了订阅处理速度。
2.提出了选择性过滤条件聚合算法,解决了覆盖优化可能导致的系统拥塞问题。当系统收到取消订阅消息unsub(S)时,算法通过对历史数据进行抽样统计,来计算unsub(S)中的过滤条件S与新触发消息S对事件过滤能力的相似度,当二者的相似度接近时,系统将保留S,使用S作为S的过滤条件聚合。为了降低计算开销,本文在事件传播过程中的以O(1)的代价收集必要信息,当系统收到取消订阅消息unsub(S)时,订阅所在的代理节点可以根据收集到的事件信息,计算出unsub(S)需要传播的步长。当代理节点收到unsub(S)时,代理节点可以根据步长和S中订阅的数目,动态地决定是否需要停止取消订阅消息的传播。实验模拟了企业事件平台、内容分发服务平台、分布式工作流系统三种场景。结果显示,选择性过滤条件聚合算法能够有效地避免拥塞。
3.提出支持有环拓扑的覆盖优化协议。本文首先根据覆盖关系对订阅进行分类,分析不同订阅的性质,并根据订阅的传播特性来设计有环拓扑下的覆盖优化协议以解决有环拓扑中具有覆盖关系的订阅不共享订阅路径的问题。协议将有环拓扑视做多个无环拓扑的叠加,将具有覆盖关系的订阅群,集中到同一个动态生成的无环结构中,从而有效地实现覆盖优化。文章给出了算法的正确性证明。实验显示,在有环拓扑下,覆盖优化不但具有减少网络中的订阅消息、降低路由表数目、减少事件匹配开销的传统优势,还能够有效的减少事件备份的数目,具有较强的应用性。