基于补偿业务生成图的组合服务异常处理方法研究精

上传人:枫** 文档编号:503315045 上传时间:2023-09-26 格式:DOC 页数:15 大小:439.50KB
返回 下载 相关 举报
基于补偿业务生成图的组合服务异常处理方法研究精_第1页
第1页 / 共15页
基于补偿业务生成图的组合服务异常处理方法研究精_第2页
第2页 / 共15页
基于补偿业务生成图的组合服务异常处理方法研究精_第3页
第3页 / 共15页
基于补偿业务生成图的组合服务异常处理方法研究精_第4页
第4页 / 共15页
基于补偿业务生成图的组合服务异常处理方法研究精_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《基于补偿业务生成图的组合服务异常处理方法研究精》由会员分享,可在线阅读,更多相关《基于补偿业务生成图的组合服务异常处理方法研究精(15页珍藏版)》请在金锄头文库上搜索。

1、#计算机 学 报2008 年基于补偿业务生成图的组合服务异常处理方法研究尚宗敏崔立真王海洋史玉良(山东大学计算机科学与技术学院济南250101)摘要为提高组合Web服务执行的一致性、可靠性,提出一种基于补偿业务生成图的组合服务异常处理方法.基于业务流程中任务间补偿依赖关系,讨论了补偿业务生成图的自动生成问题.重点讨论了补偿任务、补偿目标和服务转让应用模式,并相应地介绍了支持框架和相关技术.在此基础上设计了补偿依赖关系、补偿业务生成图的自动生成及组合服务执行过程中异常处理算法.当业务流程出现异常采取向前或向后恢复处理时,该方法在保证补偿实现的同时,兼顾补偿服务不存在或补偿服务代价过高的问题.提高

2、了业务流程执行过程中的自动化水平和自适应能力.仿真结果证实,该方法保证了异常发生时组合服务执行的可靠性和一致性.关键词 Web服务;业务流程;异常处理;补偿业务生成图中图法分类号TP311Research on Excepti on Han dli ng of Composite ServicesBased on Compe nsati on Bus in ess Process GraphShang Zong-Min Cui Li-Zhen Wang Hai-Yang Shi Y u-Liang(School of Computer Science and Technology, Shand

3、ong University, Jinan 250101Abstract To enforce consistency and reliability of composite Web services at run-time, this paper proposes a novel approach based on compensation business process graph to addressing the problem of exception handling in composite services. According to compensation depend

4、encies among tasks in business processes, the automatic generation of compensation business process graph is proposed. Compensation task, compensation goal and application model of service transfer are discussed in detail, and the relevant supporting infrastructure and technique are introduced. Base

5、d on this, algorithms for automatic generation of compensation dependency and compensation business process graph, as well as algorithm for exception handling during execution of composite services, are proposed. When exceptions are handled with forward- or backward-recovery methods during execution

6、 of composite services, the approach can guarantees compensation achieving, and also gives consideration to the problem that there are no compensation services or the cost to achieve compensation is too expensive. The mechanism described here improves self-adjustability and stability of composite se

7、rvices in the course of deployment and execution. Simulations prove that the approach can efficiently guarantee the consistency and reliability of composite services at run-time.Keywords Web services; business process; exception handling; compensation business process graph1引言随着面向服务计算体系架构(Service-or

8、ientedarchitecture, SOA)的进一步推广和应用,将分布于Internet中不同企业发布的 Web服务有效组合,形成 满足软件开发者需求的服务流程,已经成为目前分布式计算研究的热点.由于Web服务具有异构、松耦合、 自治和动态的特性,由Web服务组合而成的业务流程 (简称业务流程)如何保证应用一致性,即在失败、异 常等情况下,组合服务的执行能结束于一致状态,是Web服务组合应用的一个关键问题.软件服务协作中的事务支持可保证多个服务的 交互与协同获得可靠、一致的执行效果2,因此事务处理是系统应用一致性研究采用的一种重要方式.传统事务模型中“全有或全无”的原子性质由于过于 严格,

9、无法适用于长运行、松耦合和自治的组合Web收稿日期:2008-04-05.本课题得到国家自然科学基金 (60673130)和山东省自然科学基金(Y2007G38)资助.尚宗敏,男,1969年生, 博士研究生,主要研究方向为 Web服务、工作流、事务处理.E-mail:.崔立真,男,1976年生,博士,讲 师,主要研究方向为工作流、软件体系结构、分布式计算.E-mail:.王海洋,男,1965年生,教授,博士生导师,主要研究方向为数据库、工作流、软件工程.史玉良,男,1978年生,博士,讲师,主要研究方向为 Web服务、工作流、数据库理论.服务应用环境3.于是许多研究对传统事务模型进行 扩展,通

10、过放宽事务的原子特性,来保证应用的一致 性2,4,5即业务流程的执行或者正常结束,或者通过补 偿取消已完成服务的执行效果.其中,事务的属性主 要靠可补偿和可重试来刻画.但是,这些研究中应用 一致性的保证是在一定前提条件下实现的:或者假设业务流程中每个服务都有相应的补偿服务与之绑定 4;或者过于关注服务提供者的业务实现细节5,以牺牲Web服务的自治性为代价;或者在服务组合构建阶 段检查所选择服务的事务属性,通过组建可靠的业 务流程,来保证应用的一致性.另外,这些研究多集中 在业务流程的设计阶段,不能涵盖执行阶段的一致性 保障.由于处于一种动态、分布的环境,Web服务可能 随时产生和消亡,网络的不

11、稳定也会造成服务调用的 延时和随时的连接中断,另外Web服务自身也可能出 现故障,这都会造成业务流程运行时异常经常发生.为实现业务流程执行的一致性,异常处理机制作为解 决事务ACID过于严格的一种折衷方法被广泛采纳.一些通用的 Web服务组合语言,如 BPEL4WS对于异 常处理提供了异常捕获方法和异常的补偿机制,异常的处理措施由业务的开发者自己定义.但是在应用设计阶段预见所有的异常是很困难的7,尤其是处理那些不可预见的异常,因此在应用的执行阶段处理发生 的异常就显得非常重要 .当异常发生时,可采取向后 恢复或向前恢复方式来处理异常8.向后恢复是终止业务流程的执行并对已经执行完毕的服务进行补偿

12、,流程可回退到初始状态.向前恢复是选择一个可替代 的服务来保证业务流程的继续执行.但是,如果业务流程的执行越过了不可补偿点,流程的回退将破坏原 子特性,违背流程执行的一致性.因此,补偿机制的有 效实现是异常处理的关键问题 .现实应用中,用户一般希望异常发生时应用系 统能够自动进行处理.从流程管理角度岀发,通常采 取调整业务流程模型或调整流程实例的方法9.而对web服务组合而成的业务流程进行调整需要设计者 与用户的人工干预,无法满足快速多变的市场竞争需 求.如何在原先应用系统不变前提下,结合web服务动态、灵活、自治的特点在运行实例层面实现异常 处理,保证系统的继续执行,是组合服务走向实际应 用

13、的一种有效途径.基于上述问题,本文提岀了一种组合服务执行 过程中基于补偿业务生成图的异常处理方法,实现组合服务执行的一致性和可靠性.主要思想是:将业务 层分为描述业务流程的功能业务层和描述补偿业务 生成图的补偿业务层,并与Web服务所在的服务层进 行分离,来定义多层的组合服务执行模型.根据业务流程中任务间的控制关联,定义业务流程中任务间的 补偿依赖关联,依据此补偿依赖关联建立补偿业务层 的补偿业务生成图.当组合服务执行发生异常时,不 需修改服务组合的业务流程,即描述业务功能的业务 层保持不变,在补偿业务层辅助下,通过服务层的web服务等价替换、补偿、服务转让等操作 ,实现组合服 务在用户可接受

14、的代价范围内回退或继续执行,确保组合服务执行的一致性.本文组织如下:本节介绍了研究背景;第2节是 相关工作的介绍;然后,基于提岀的组合服务执行模 型,通过定义业务流程逻辑模型,第3节给岀了补偿依 赖关系的自动生成算法;接下来第4节分别介绍了补 偿业务生成图及一种基于转让服务的补偿实现方法;第5节给岀基于补偿业务生成图的组合服务执行异 常处理算法;第6节通过一个旅行组合服务应用场景,对本方法的算法进行了仿真实验和结果分析;最后对 全文内容进行总结.2相关工作许多研究通过高级事务模型来实现松散、长运 行系统中的ACID事务管理例如SagaS4采用补偿器 从语义上取消已完成的操作,应用发生失败时,系

15、统能够回退到初始状态该思想已被 BPEL4WS10、WSCI11等标准采纳.但是,该模型假设所有服务都能 提供补偿功能,而且仅仅靠回退来处理异常也是不够 的.异常发生时,应用系统可能不希望回退到初始状 态,而希望处理这些异常继续向前执行(向前恢复).为实现组合Web服务应用的一致性,有关研究 将事务处理技术的可靠性,与工作流技术灵活的协同 能力相结合12,基于客户可接受终止状态(acceptabletermination states, ATS)来刻画异常发生后事务的松 弛原子性.但该方法仅局限于服务组合的设计阶段,没有涵盖运行阶段的执行保障,例如失败恢复等.而 且由设计者定义所有的 ATS难度较大,与实际应用还 存在差距.为解决服务组合设计与实际应用之间的差距,有关研究利用恢复机制来保障服务组合的可靠性,如从组合服务的执行日志入手,采用挖掘技术来发现组 合服务模型和事务行为.然后,基于这些挖掘信息,根 据相应规则对不合理的组合服务进行恢复13但这些研究还是局限于服务组合的设计阶段,没有涉及运 行阶段的执行保障.在组合 Web服务应用中,补偿作为一种常用的 回退恢复机制,得到了许多研究者关注.补偿机制最 早由Gray14提岀,并被广泛应用于高级事务模型 (ATMs) 15和事务工作流16中,以

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号