论文部分内容阅读
在分布式系统中,成员之间通过信息交换共同完成某个特定的功能,这些成员的集合称为组。组通信是指组中某个成员将消息发送到组中所有成员的操作,为一对多的数据传输提供了一种有效方法。因此,组通信已经成为构建分布式系统的重要基础。我们所实现的组通信系统是构建高可用平台的基础。所谓高可用性是指是在特殊的场合下,应用程序要求连续运行,在发生故障时能自动切换到其他节点继续提供服务。高可用平台提供了实现服务高可用性的统一接口,保证通过使用高可用接口编写的应用能够自动的实现高可用的功能,使得应用能够将精力集中在实现业务逻辑和功能服务上,从而提高了高可用应用的开发速度,降低开发成本和维护成本。
本文根据高可用平台运行的环境,设计和实现了在局域网和广域网环境下的组通信系统,保证了组中消息通信的可靠性、有序性和自适应性,并已经应用于华为高可用刀片式服务器中。研究的具体内容如下:
1)分析不同应用环境下典型的组通信系统模型,对这些已有的系统模型进行概括和抽象,提出了实现组通信模型的关键技术。
2)在局域网环境下,针对当前许多应用要求通信组中有大量相互协作的成员,且其个数是动态变化的,我们设计并实现了一种分级可扩放全序组通信协议,并进行了协议分析和性能分析。该协议通过令牌传递来完成消息的有序递送;通过消息缓存/重发的方式来完成消息的可靠递送;采用分级的方式来管理组,将组划分为全局组和本地组。为了减少组成员加入或离开时处理过程所占用的时间,采用了两种方法:尽量减少此过程中的消息交换次数和尽量减小此过程中所交换的成员改变消息的大小。
3)在广域网环境下,针对当前的基于P2P的组通信不能适用于高可用系统的现状,我们设计并实现了一种基于P2P的可靠全序组通信协议,并进行有序性和可靠性分析。该协议将相似性原则与物理网络拓扑相结合,提出了节点簇的概念,实现了覆盖网络的快速高效构建;在覆盖网络的基础上,通过核心多播环的方式实现消息的全序递送,避免了单多播树中汇聚点的单点故障;采用多播树重构和消息缓存/重发机制来实现消息的可靠递送。