论文部分内容阅读
随着分布技术向关键应用领域的不断拓展,分布计算对高可靠性和高可用性的需求越来越迫切。为分布式应用提供容错支持是增强它们可靠性和可用性的有效途径,因而已经成为当前分布计算技术发展的重要方向。但是直接开发分布式容错应用是非常困难的,这是因为开发者不仅要处理复杂的应用逻辑,还要面对纷繁的容错逻辑,处理不好会弄巧成拙,容错成了“容易出错”。于是,人们开始广泛关注如何为分布式容错应用提供高质量的统一的容错支撑平台。 鉴于面向对象的分布式中间件为分布式应用提供了良好的开发环境和透明的通信支持,基于中间件开发容错支撑平台不仅可以极大地简化容错支撑平台本身的开发,而且更有利于基于中间件的复杂容错应用系统的开发、运行和管理。这种基于中间件的容错支撑平台就是容错中间件。 本文分析了容错中间件领域的研究现状以及目前存在的问题,并以国际对象管理组织OMG的CORBA模型为实验平台,围绕容错中间件计算模型和容错对象管理框架,容错通信协议和复制协议,以及容错管理的核心机制——复制管理、失效管理、日志和恢复管理等展开了深入研究。主要工作包括: 1、对当前研究和应用领域中构造容错CORBA系统的集成、服务和截取等三种方法进行了详细剖析,并针对这些方法存在的不足,提出了一个新的容错CORBA计算模型FTOUM及其管理框架UMRO。新的模型综合了服务方法和截取方法的优点,能有效地实现对框架中所有应用对象的容错管理,并提供良好的客户透明性和互操作性。 2、现有的分布式容错算法大多缺乏对客户方容错策略的支持,并且很难做到既对客户透明,又能将复制协议和通信协议有效分离,本文基于FTOUM计算模型,并采取检查点设置和模块复制相结合的方法,提出了一种新的动态容错算法ORAML。ORAML算法采用灵活的配置管理机制实现动态复制;引入客户方容错策略,使得客户方可以主动参与容错;实现了复制协议与可靠通信协议的分离;并且算法所采用的容错机制对用户完全透明。 3、容错中间件的主旨是为基于中间件开发的分布式应用提供一个容错支撑平台,因此必须为应用解决对象复制、失效检测和通告、日志和恢复等容错管理问题,它们分别对应于复制管理、失效管理、日志和恢复管理。 (1)针对复制管理必须解决的对象组生命周期管理和容错属性配置管理,本文设计了一个能够动态部署和创建对象的对象工厂模型;引入了对用户透明程度不同的两种成员创建模式——基础设施控制和用户控制;并围绕容错系统的共有特征定义了一组容错属性,设计了层次化的属性配置模型,允许应用动态灵活地配置容错属性。 (2)失效管理的核心问题是失效监控和传播。本文引入通告模型实现了失效事件的有效传播;针对对象、进程、主机等不同层次的实体采用树型结构的监控国防科学技术大学研究生院学位沦文机制增强了失效监控的可伸缩性;并提出一个环形检测算法以解决单点失效问题。 (3)综合采用截取方法和服务方法设计了日志和恢复机制,能有效地实现不同复制模式下的对象组状态存储和恢复处理,并保证副本间一致的状态传输。 4、基于遵循CORBA标准的Starbus分布对象计算平台,设计和实现了容错应用支撑平台刀bus,并进行了功能和性能的测试与评估,验证了上述研究成果的正确性。测试结果表明,夕bus是开发分布对象容错系统的一个有效的支撑平台,并且性能相对良好。目前,户bu:己经在中创软件的企业应用集成平台中得以应用。