论文部分内容阅读
随着计算机技术的不断发展,软件系统日益庞大,结构复杂,这使得软件系统的更新和维护越来越困难,以往的系统大都需要系统管理员去发现问题,并手工干预和管理,效率低下、维护费用巨大,因此无法保证软件系统的高可靠性、高可用性,这种状况成为亟需解决的重要问题。要解决这个难题,人们需要从计算机系统本身入手,使软件系统自动适应外部环境变化,实现自我调整和自我恢复。因此,必须为现有的软件系统提供一种新的结构和方法来面对复杂性的挑战。
目前,IBM公司倡导的自愈理论,着眼于使系统自动检测、诊断和修复组件的故障,这些能力可以改善系统性能,提高可用性和安全性,同时还可以减少系统管理员的工作量,因此自愈迅速成为计算机科学的研究热点。但是,这些研究工作大都是从构建中间件模型和语义分析角度进行的,而对于自愈的核心——动态适配的具体研究细节却很少涉及。自愈系统中的动态适配实际上是要求系统支持各种组件动态的插入或删除,主要存在两个问题:适配之前如何确定组件间依赖性和适配过程中如何实现动态适配。本文的工作主要围绕这两个问题展开,分别从研究自愈系统中的组件依赖性和热交换技术两个方面,分析和实现动态适配。
首先,本文详细介绍了自主计算的起源、发展及相关概念,分析自愈在自主计算中举足轻重的地位,阐述自愈的核心部分——动态适配的问题空间及发展状况,剖析组件依赖性和热交换技术的背景和研究现状,探讨它们在自愈的动态适配中的应用特点和存在问题。
然后,针对如何确定组件依赖性的问题,进行了深入的分析,指出表示和获取组件依赖性是问题的关键;提出了适用于自愈系统的依赖性描述(Dependencies Description for Self-Healing System,简称DDSH)模型,这种模型可以方便的生成XML文件,从而为组件动态适配提供依赖性信息:本文还利用ComponentConfigurator类实现了获取依赖性信息的方法,并在实际的自愈系统中得以应用。
本文提出用热交换的技术实现动态适配,详细分析在自愈系统中的具体的热交换过程,在算法、数据结构和实现过程方面都做了深入的研究:并提出了切实可行的热交换框架并详细设计了相关接口,该框架使用Proxy设计模式实现,具有高效通用的特点。
本文的工作是我们承担的国家自然科学基金项目“计算系统的软件抗衰和自愈技术研究”和江苏省科技攻关项目“城域网海量视听信息系统”研究工作的一部分,本文所设计的动态适配的模型和方法都应用于自愈的视频点播系统(SHVOD)的实验开发中。实验结果表明,本文在组件依赖性和热交换方面的工作可以有效的应用于大型计算机系统中,表现出良好的自愈特性。