论文部分内容阅读
随着Internet迅速发展,网络软件平台已成为当今软件技术发展主流趋势和竞争焦点,其核心和关键是位于中间层的Web应用服务器。Web应用服务器是在Web计算环境下产生的一种新型中间件,为创建、部署、运行、集成和管理Web应用提供一系列运行时基础服务。随着Web应用服务器在关键任务领域应用程度的不断加深,应用系统对可靠性提出了越来越高的要求,迫切地需要Web应用服务器能够提供强有力的容错支持。
Web应用服务器的容错技术研究虽然已有大量的研究工作并取得一定的成果,但是面对新的Web计算环境,仍然存在许多不足:缺乏对多层架构下事务性应用的支持,无法为用户提供端到端的可靠性保证,因而不能满足新型应用的实际需求,如电子商务、B2B应用等;对应用的QoS需求支持不足,面对应用需求的多样性和多变性,不能适应性地为应用提供有效的QoS保障。为了有效的解决这些问题,本文将容错技术与可靠性保障的其它方面如事务处理、QoS约束等技术相结合,以求对上层应用提供更强和更加灵活的容错支持。
首先本文针对Web应用服务器的多层体系结构,在已有工作的基础上提出了适用于Web应用服务器环境下的端到端可靠性定义,它同时保证用户请求和所关联事务的恰好一次(Exactly-Once)执行。我们提出了一种能够保证端到端可靠性的容错机制,该机制将复制技术和事务处理技术结合起来,一方面利用了复制技术的存活特性来保护中间层的应用操作;一方面利用了事务处理技术的安全特性来保护后端的应用数据。同时,通过交互协议来保证两者的正确协作,从而为上层应用提供了更强的可靠性保证。
在Web计算环境下,系统的多样性和复杂性导致可能出现多种复杂的事务模式。当前的容错技术往往是基于简单的事务模式,无法为实际应用中存在的复杂事务模式提供足够的支持。本文基于事务的调用方式识别出了Web应用服务器环境下几种典型的事务模式。针对这些模式,本文提出了状态同步点的概念,包含两种状态同步点:操作型同步点主要针对于客户端发起的事务调用,在事务边界内执行状态同步;事务型同步点主要针对中间层容器发起的事务调用,状态同步发生在事务边界之外。基于同步点概念,我们提出了一种支持复杂事务模式的容错机制,该机制不仅能够提供端到端可靠性保证,而且能够忍受事务协调者的失效,避免了分布式事务两阶段提交过程中的阻塞问题。
组件复制是Web应用服务器实现容错的基本技术,一些关键任务除了需要满足高可靠外,往往还需要满足一定的服务质量保证,如响应时间约束和一致性约束。这就要求在动态变化的QoS需求和系统运行环境下,容错服务设施能够合理进行组件副本的选择。本文提出了基于域的组件副本选择模型,将组件副本被划分为强一致性域和弱一致性域。域间利用一致性窗口机制进行更新传播,通过窗口大小的调整来控制副本间的不一致性程度。基于该模型,本文提出了一种基于分区加权的自适应组件副本选择算法,该算法利用动态反馈的信息来执行副本选择。为了适应请求一致性约束的动态变化,本文提出了一种一致性窗口重配算法,该算法能够根据当前一致性约束需求的变化,动态地对一致性窗口进行适应性的调整。
最后,本文给出了一个Web应用服务器的容错支撑系统WAS-FT,它对上述研究成果进行了原型实现和验证。WAS-FT构建在网驰平台的Web应用服务器OnceAS之上,容错功能以服务的形式通过标准接口与OnceAS进行集成,具有很好的灵活性和可扩展性。