论文部分内容阅读
分布对象通信中间件的目标是解决异构网络环境下分布应用系统之间的互操作,它可以屏蔽网络通信的实现细节,提高系统的可移植性。因而,在诸多领域得到了广泛应用,成为分布计算的主流技术之一。随着Internet的飞速发展,软件应用形态逐步从相对封闭、面向熟识用户群体和相对静态的紧耦合形式向开放、公共可访问和动态协作的松耦合模式转变。采用RPC(Remote Procedure Call)同步机制的传统分布对象中间件提供的单一同步通信机制无法适应Internet的动态特性,为应对这一挑战,构建能够为上层分布应用提供异步的、松耦合的通信机制变得非常必要。发布/订阅(Publish/Subscribe)是一种基于事件的通信范型。与异步RPC、分布共享内存、消息队列等异步通信范型相比,它具有能够使通信的参与者在空间、时间和控制流上完全解耦等特点。因此,该范型能够较好地满足许多大型分布式系统松散耦合通信的需求,近年来受到广泛关注和深入研究。根据对事件通知选择方式的不同,发布/订阅系统可以分为基于通道、基于主题和基于内容等。基于通道和基于主题的发布/订阅相对简单;基于内容的发布/订阅具有更强大、更灵活、适应性更广的特性。后者是构建未来新型大规模分布式应用系统的基础设施之一。然而,相比之下,基于内容的发布/订阅要复杂的多。要使它成为一个真正实用的、支持大规模分布式应用的支撑平台,许多关键技术问题仍然亟待解决。其中,制约其发展的瓶颈问题就是事件的匹配。对于基于内容的发布/订阅系统而言,由于需要对事件的所有可过滤属性进行匹配判断,所以找到所有匹配的订阅是非常具有挑战的事情。大多数已有匹配算法都是基于如下的思想:对各个订阅条中重复的约束,只需判断一次来优化,并充分利用订阅的索引结构,以缩短匹配时间。本文分析了前人提出算法,在权衡匹配的时间效率、匹配的空间效率和订阅维护的成本三方面因素的基础上,提出了一种新的消息匹配算法-基于多维索引结构算法(MIS/AL)。与传统算法比较,MIS/AL算法具有以下优点:1)能同时支持“与”和“或”两种基本逻辑运算。从而不用象其它算法那样,在预处理间断把所有的“或”运算转化为“与”运算。2)引入了多维索引结构。不仅提高了匹配的时间效率,而且降低了订阅维护的成本。实验结果表明,与其它常用算法相比,本文算法具有效率高,扩展性好等优点。适合应用于大规模分布式基于内容的发布/订阅系统中。