约束感知的事务型Web服务的调度机制
Constraints-Aware Scheduling for Transactional Services Composition
-
摘要: 1.本文的创新点
补偿是保证服务组合的事务性特别是原子性的重要机制。该机制要求参与组合的服务提供补偿操作。由于服务组合发生在多个自治的服务供应商之间,补偿操作的执行会受到时间、成本等诸多因素的约束。忽略这些因素,就不能够保证服务组合的事务性。本文重点研究在补偿操作具有时间和成本约束的情况下,如何调度组合服务从而以一种最优的方式保证服务组合的原子性。主要创新点如下:
提出了时间感知的调度算法,能够确保组合服务的原子性。
提出了成本感知的调度算法,能够以最小的补偿代价确保组合服务的原子性
补偿(compensation)是为了保证服务组合的事务(transaction)原子性质而引入的重要操作,它的执行会受到时间等诸多因素的约束,这是在对组合服务进行调度势必须考虑的问题。论文讨论了在考虑时间和成本条件下如何进行这种调度,给出了满足时间限制以及满足成本的优化调度算法。其中的考虑成本的调度算法在相关研究中所见较少,论文的贡献显得更为突出。
2.实现方法
本文首先把组合服务看成一个有向无环图并建立了组合服务的补偿模型和错误模型。然后分别考虑补偿操作具有时间和成本约束情况下的调度问题。使用时间组合图和关键路径方法(critical path method)来分析为了确保组合服务的原子性,组件服务必须满足的时间关系,在此基础上提出时间感知的调度算法。为了设计成本感知的调度算法,首先建立了补偿代价的数学模型,并给出期望补偿代价与服务的多个服务质量属性之间的函数关系。基于该目标函数,设计了基于回溯法的最优调度算法和基于遗传算法的近似最优调度算法。此外设计了模拟服务运行时环境。在该环境中通过生成大量的组件服务和组合服务,测试并比较了不同调度算法的性能
3.结论及未来待解决的问题
通过理论分析和模拟实验可以知道:1)本文提出的时间感知的调度算法能够为组合服务生成一个合法的调度。在补偿操作的执行具有时间约束的情况下,该调度能够确保组合服务的原子性;2)本文提出的成本感知的调度算法能够为组合服务生成一个(近似)最优的调度,使得组合服务能够花费最小的补偿代价来实现原子性。
目前的服务调度算法基于关键路径方法。该方法假设服务的执行时间是确定的。下一步的工作中,我们将研究基于项目评审技术(project evaluation and review technique)的调度算法,以提高调度算法在不确定的服务执行时间环境中的性能。此外,我们将把本文中的相关技术和算法应用到实际的服务组合系统中,通过实际应用来进一步验证算法的性能。
4.实用价值或应用前景
服务组合是一种高效率低成本的开发分布式系统的技术,在业界已经得到广泛的关注。目前关于服务组合的业界规范WS-BPEL已经成为OASIS标准。本文工作可以应用在WS-BPEL组合服务中,通过WS-BPEL内置的补偿机制为服务组合提供完善的事务支持。此外,随着服务计算的市场化经济化,降低服务组合成本必将成为服务提供商的关注点,而本文提出的成本感知的调度算法能够有效减少组合服务的期望补偿成本,因此具有良好的实用性。Abstract: Composite Web services need transactional support to guarantee their consistent and reliable execution. Due to the long running and inter-organizational characteristics of Web services, current approaches for transactional Web services composition adopt compensation mechanism to maintain atomicity. A common assumption is that a compensation operation can be applied at any time with no cost. However, compensation operations are typically associated with temporal and cost constraints, which make compensation mechanism problematic in this new environment. To address this problem, we distinguish two types of scheduling for transactional Web services composition: time aware scheduling and cost aware scheduling. We devise several algorithms for scheduling, which can ensure the atomicity of composite services when compensation operations have temporal constraints, and assist composite services to maintain atomicity with minimum compensation cost when compensation operations have cost constraints. We benchmark our algorithms by simulations and the results show that our algorithm decreases the compensation cost and in turn improves the QoS of transactional services composition.