论文摘要
Web服务作为目前最新颖的分布式计算模型,有力的整合了Internet上的各种资源。服务组合是指将多个成分服务按照其功能、语义以及它们之间的逻辑关系组装提供聚合功能的新服务的过程。随着Web服务数量的爆炸性增长,具有相同或相似功能的服务越来越多,利用服务的非功能属性即QoS属性选择成分服务是Web服务组合实用化的关键技术。另外,在动态的环境中,服务运行可能会失败。这时组合服务为保持用户透明型,使组合服务的执行结果仍然能实现用户的业务需求,满足用户偏好和约束,需重新选择有效的Web服务组合方案,这就是组合服务运行时的容错问题。本文主要研究了在因特网的复杂环境下,如何有效、按照用户需要提供一定质量的应用服务。首先,本文提出了一个面向服务质量的Web服务选择和支持组合服务执行时容错的WebJet系统。介绍了该系统的服务质量模型,单个服务的服务质量以及组合服务的服务质量的计算方法。然后,基于遗传算法设计了基于服务质量的服务选择的全局优化方法—基于树型编码的遗传算法(Tree-coded Genetic Algorithms,TGA)。设计了一个可描述组合服务各个任务组合关系的数据模型——流程树(Process Tree,PTree)模型。该数据模型为组合服务的QoS提供了良好的计算模型,也是实现组合Web服务运行时可重计划的关键。基于组合服务抽象流程的流程树表示设计了可有效支持重计划的树型编码;并通过实验验证了树型编码用于组合服务全局优化的有效性,通过与精确求解方法—0-1启发式方法的对比验证了基于树型编码的遗传算法用于组合服务全局优化的有效性。由于组合服务执行环境的动态性,组成组合服务的组件服务可能变得不可用或者服务质量发生了巨大改变。我们研究了组合服务运行时的容错机制。提出了组合服务适应动态环境的三种执行策略:重试调用、替代失效服务和重计划局部流程;对于替代失效服务和重计划两种不同的机制,通过实验检查了重计划的有效性,通过对比试验检查了二者的执行效果。