论文部分内容阅读
面向服务的体系架构SOA为Internet环境下资源共享与业务集成提供了很好的应用模式。为了提高Web服务的可重用性,并分散和简化应用逻辑,单个Web服务通常只提供简单的业务功能,通过组合多个业务关联的服务形成复合服务流程来满足快速多变、需求多样化的应用需求。但是,复合服务应用中的web服务自主性和网络环境的复杂多变性给这类应用带来了新的问题,即复合服务在运行时易于出现服务失效异常。复合服务自恢复技术是保障复合服务可靠性和提高自动化管理的重要机制。自恢复技术可以减少用户对复合服务异常处理的负担,使得复合服务在有服务失效发生时仍然能够继续正常执行,实现复合服务的自动管理,降低管理成本。因此复合服务自恢复技术的研究对于推动面向服务架构的成功应用与实施有着重要的意义。本文针对复合服务自恢复中的若干关键问题展开下列研究:(1)基于容错的复合服务自恢复模型为了提供复合服务自动恢复的能力,本章提出了一种基于容错的复合服务自恢复模型,利用基于容错的恢复策略保障复合服务的可靠性。基于容错的恢复策略包括重试策略、顺序冗余策略和并行冗余策略。重试策略是指异常发生后对绑定服务进行重新调用的策略,顺序冗余策略是指异常发生后对绑定服务进行顺序的服务替换的策略,而并行冗余策略是指异常发生后对绑定服务进行并行的服务替换的策略。相比传统的恢复机制,所提出的基于容错的复合服务自恢复模型,能够更加有效的提高复合服务的可靠性。(2)收益驱动的自恢复策略选择方法针对复合服务执行时的业务特征,提出了一种收益驱动的复合服务恢复策略选择方法。我们的方法能准确计算在动态多变的Internet环境下复合服务执行的收益,并通过启发式算法有效保障复合服务执行的收益最大化。通过数值实验,验证了方法的有效性,并比较了不同的服务策略选择方法,收益驱动的恢复策略选择方法能有效选择出更优的恢复策略,而且保证在各种服务失效概率下获得的收益最高。(3)基于贝叶斯网络的异常诊断方法提出一种采用贝叶斯网络对复合服务异常根本原因进行诊断的方法。通过为复合服务建立基于贝叶斯网络的异常诊断模型,将复合服务中隐含的web服务之间异常关联的因果关系映射到贝叶斯网络中。利用Web服务出现失效的概率和复合服务历史运行的数据进行统计分析,获取贝叶斯网络中服务节点的先验概率以及服务输出节点的条件概率。在此基础上,提出了基于贝叶斯推理的复合服务异常诊断算法。与已有的研究相比,本文提出的复合服务异常诊断方法考虑了异常诊断推理过程中的不确定性,而且在服务监控信息不完整的情况下也能进行异常的诊断。实验表明提出的方法能快速有效地识别导致复合服务运行异常的服务节点。(4)面向BPEL的复合服务自恢复系统实现最后,在上述研究的基础之上,对面向BPEL的复合服务自恢复实现技术进行研究,给出了自恢复系统的整体框架,基于软件所开发的OnceBPEL引擎进行了系统扩展实现,重点介绍了自恢复策略到BPEL代码的转换算法。