论文部分内容阅读
补偿机制是数据库事务管理中重要组成部分,是事务恢复的重要手段。虽然补偿机制在高级事务模型、分布式环境和Web服务标准中已被广泛使用,但是目前经常使用的各种标准和规范中的补偿机制还不够完善,还存在着冗余定义、补偿事务单一和对补偿规则描述不清等问题。因此,制定更灵活的补偿机制是非常必要的。针对现行单补偿机制所存在的不足,文中提出了一种更灵活、更智能的柔性补偿机制,能根据系统现状,在事务失效时进行补偿事务的选择,它即考虑了顾客的需求,也能兼顾商家的利益。
在本文中,从Web服务事务特性出发,归纳了目前常用的一些事务处理模型和Web服务环境下的相关事务规范,分析了事务处理系统中单补偿机制存在的问题及不足,通过允许柔性补偿扩展了WS-C/WS-BA所提出的单补偿机制,扩展主要包括四个方面:(1)增加一个“selecting”功能从“补偿事务组”中选择合适的补偿操作;(2)为克服补偿事务与业务逻辑联系过于紧密的缺陷,把一个智能、灵活的Agent引入到机制中用于补偿事务的管理,并以补偿代价作为选择补偿事务的选择因子;(3)构建了一个基于Web服务流程的业务生成图;(4)最后设计了一个适合于本框架的柔性补偿算法。
对于文中所提出的柔性补偿机制,不仅兼容了单补偿事务处理,而且还能对复杂的多补偿事务进行很好的管理调度。其中补偿事务管理器(Agent)对传统事务与补偿事务进行了分离,提高了业务流程处理的效率;补偿代价的引入让补偿事务的选择有了很好的依据;而基于Web服务流程构建的业务生成图,则能够用于追踪相关联的任务和进行级联补偿。最后的实验结果对比也确实验证了柔性补偿机制比单补偿机制更为灵活,智能,更能适应商业化的应用。