论文部分内容阅读
随着服务计算(Server Oriented Computing, SOC)和面向服务框架(Server Oriented Architecture, SOA)的发展,Web服务技术的应用越来越广泛,具有单一功能的Web服务已经不能达到用户的功能需求,因此需要将多个Web服务组合起来,但是由于Web服务本身的随机性和所处网络环境的异构、分布式自治等特性,造成服务组合执行过程出现的问题越来越突出,导致业务流程的不一致,如何处理异常,解决不一致问题至关重要,因此触使众多专家学者寻求解决之法。其中补偿方式应用最为广泛,相对回滚方式,补偿手段无需退回起点;相对于替换方式,可节省花费,因为补偿操作所调用的补偿服务都是事先绑定好的,出现异常时便可直接调用。补偿这一概念最早是针对数据库中事务提出来的,从事务的角度来对数据库中的异常问题进行逆操作,以达到取消异常事务对整个系统的影响。本文研究在业务流程中的各服务间执行的先后关系已经确定,每个服务都可以被补偿的前提条件下,使用补偿这一行为来解决业务流程执行过程中的不一致问题。由于Web服务的特性,导致服务组合执行过程中异常发生的概率很高。本文针对这个问题且在上述的前提条件内,提出了使用关系图表述业务流程的补偿框架体系来解决异常问题。在整个框架体系下,对具体的业务流程进行两步处理:1.业务流程中各个操作的补偿服务的选取方式:分析业务流程中的每个操作,及其需要调用的Web服务。选取一个衡量标准,本文使用综合多维QoS指标的方式来衡量一个补偿服务是否满足要求。使用遗传算法的迭代优化机制,获取具有QoS指标最小的那个服务作为补偿服务;2.关系图的生成:分析业务流程中的各个操作之间的直接与间接的逻辑依赖关系,确定彼此的输入输出关系,生成关系图。通过这种框架体系,当业务流程在运行阶段出现异常时,获取异常出现的位置,根据事先记录的各个操作的执行顺序和根据关系图模型,对于与该异常操作有关的相关操作进行补偿,直接调用事先绑定的补偿服务,实现对异常的处理。通过对比实验,验证本框架体系的可行性和实用性。