欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科普文章

网格计算环境下企业事务工作流建模研究

科普小知识2022-12-09 14:50:55
...

[摘 要] 目前,网格环境下的事务处理技术作为提高企业网格应用可靠性与一致性的有效基础设施,受到了广泛的关注。本文在分析网格环境下事务属性及恢复策略的基础上,提出了一个具有事务支持的工作流动态模型。通过实例分析,该模型可以很好的描述网格环境中企业业务流程的事务性。

[关键词] 网格服务 工作流 模型 事务

网格工作流技术是近年来随着网格计算研究的深入而快速发展起来的网格应用之一,它的目的就是利用现有的工作流技术来自动执行网格环境中的业务流程,随着网格基础设施的建设与发展,越来越多的企业和组织开始借助于其他机构提供的网格服务资源来完成自己的业务流程。在许多企业业务流程中,业务活动的“事务性”需求特别明显,即一个业务过程要么必须正常结束,要么通过补偿操作撤销已经提交的执行结果,来保证业务逻辑的一致性和正确性。复杂的网格环境为传统的事务技术提出了新的挑战,如何将事务处理技术合理地用于这种分布、异构、动态、自治的开放松偶合环境中对网格应用的发展有着重要意义。

工作流过程模型是对企业业务流程的抽象,描述了业务流程的执行过程,是整个工作流管理系统的起点和基础。与传统的过程模型相比,事务工作流的过程模型不仅要能够描述过程语义,还要正确表达应用的事务语义。因此本文针对网格工作流事务处理的特殊性,结合传统事务处理技术,在网格工作流模型的基础上,提出了基于网格服务的事务工作流过程模型,并通过实例对过程模型进行了分析。

一、网格工作流的事务模型

1.过程属性与恢复策略

事务工作流中的子过程可能作为一个原子整体,也可能是一个非事务性的实体。WWw.11665.CoM同时,对于不同的活动实体,由于执行环境、业务逻辑等差异,它的恢复策略也不相同。在网格这一个松散耦合的自治、异构、动态的环境中传统的“非全则无”原子性要求与相应的恢复策略已不适应复杂的网格环境。在此扩展了事务类型,并根据不同的事务给出了相应的恢复策略。

在网格环境中事务属性可分为三个类型:原子类型、半原子类型、松散原子类型。原子类型的子过程,符合传统事务“非全则无”的要求,例买票->付款,买票与付款两活动必须针对同一公司一起发生或不发生。松散原子类型的子过程是一种松耦合的事务类型,子过程整体具有事务特性,而其间的子过程或活动可动态变化的业务逻辑过程。非原子类型的子过程则无需保证执行过程中的原子性。

定义4:事务属性tp={atomic, non-atomic, lose-atomic},其中 atomic、non-atomic、lose-atomic分别代表子过程的原子类型、非原子类型、松散原子类型。

工作流的子过程或活动的异常恢复策略与具体业务有着密切关系,但在事务工作流中为了保持业务流程事务性状态的一致性与正确性,在此把与事务相关的恢复策略提取出来,作为恢复策略属性扩展活动和子过程已有的属性。

定义5:恢复策略属性rp={ ignore, abort, alternate, rollback, retry }。

其中:忽略(ignore):若一个活动在执行过程中出现异常,该活动已经执行所产生的行为不影响其他活动的执行,并且该活动没有执行的部分也不影响其他活动的执行,则可以采用忽略策略。取消(abort):若在工作流执行过程中,出现的异常使得整个流程不能继续执行下去,且已执行的行为不需要进行补偿或没有办法补偿,只能采取取消整个流程的措施。替换(alternate):在网格环境下当一个服务出错或退出后,具有相同功能的不同服务来替换。回滚(rollback):在工作流执行过程中,当执行到一个活动实例出现异常时,已执行的活动实例已经产生了一些影响,为了使得整个流程能通过其他路径继续下去或正常停止,必须对已执行的行为产生的影响进行消除,这是通过活动补偿完成的。重试(retry):在工作流执行过程中,当执行到一个活动实例出现异常时,可以重新执行这个活动实例,直到成功,或者规定重试次数的最大值,直到重试次数不到这个上限,工作流都可以从这个活动开始重新执行。

2.网格事务工作流过程模型

定义:网格事务工作流过程模型描述了具有事务特性的网格服务组合成的企业业务流程,可以抽象表示为一个多元组:tgwf={∑,p,t,a,c,g,dep,attr,cons},它满足如下条件:

(1)∑是颜色集合,包含库所颜色集∑p和变迁颜色集∑t,均为有限非空集。

(2)p是库所的有限集合,它与活动或子过程的输入/输出相对应。

(3)t是变迁的有限集合,变迁分为基本变迁和复合变迁,基本变迁代表一个基础服务,复合变迁代表一个由变迁(基本变迁或复合变迁)、库所、弧组成的子过程。

(4)a是关系的有限集合,定义了在t上的所有服务之上的时序关系。a∈p×t∪t×p,p∩t=t∩a=t∩=φ。

(5)c是数据类型的函数:c(pi)是状态库所的颜色集合,表示处在pi状态服务实例的属性集;c(ii)是输入库所的颜色,表示服务执行操作的前置条件,c(oi)输出库所的颜色,c(fi)是活动变迁的颜色集合。

(6)g为变迁守护函数,它将变迁与表达式相关联。

(7)dep:中跨层次的服务之间的领带关系集合;

(8)attr:{|t∈t, tp∈{ atomic, non-atomic, lose-atomic }, rp∈{ ignore, abort, alternate, rollback, retry }}

(9)cons定义在t上的结束条件集合。

(10)存在两个特殊位置i和o,且。

其中:t表示对应网格服务组成的子过程,每个子过程对应于一个基本服务或一个更小的子过程,t描述了子过程的层次结构。颜色集合表达了流程相关变量以及流程中涉及的服务群信息,决定表达式可以使用的数据对象,服务群集合决定了执行网中各个变迁功能的资源。a描述了t中基本服务之间的时序关系,cons定义了在t中的服务上的各种约束,一般情况下,事务流程按照a时序,及cons中的约束条件正常执行,在产生失效时,t、dep、attr描述了子过程中事务性恢复。

二、应用实例分析

在此以某电子商务公司快速响应客户需求为例描述基于网格服务的事务工作流过程模型。公司在接到用户订单时,由两个部门负责处理,客户服务部门负责对客户的账户进行检查,配送部门负责订购货物的配送工作。整个过程如图所示:

t1子过程负责订购货物的配送,t2子过程负责客户收费事宜。t1又分为备货t11、运送t12、t13配送完毕三个基本服务,t11与t12是一个松散了原子组合,因为备货、与运送服务有多个。t2可分解为一个检查账户信誉t21与一个组合服务t22,t22继续分解为计算费用t2a与t2b划账两个基本服务。在这个例子中,t1与t2定义为并发执行,以提高效率,但t1依赖于t21,t22依赖于t13,在t1与t22中的dep属性描述了这种跨层次的依赖关系。

三、结论

本文针对网格环境下事务处理的特点,在网格工作流动态过程模型的基础,增加了过程模型中的事务属性及恢复策略,定义了网格环境下的事务模型。该模型可以很好的适应网格环境下企业跨组织关键业务的过程集成。

参考文献:

[1]李国中 刘书雷 吴秋云等:动态服务聚合流程定义元模型及其应用.计算机科学,2007,34(2),91~94

[2]任 怡 管建波,吴泉源等:事务性服务组合的过程模型及良构性判定.小型微型计算机系统,2007,28(12),2187~2192

[3]管荷卿:web服务事务的研究总述. 计算机科学,2005,32(5)13~16

[4]王 勇 张 煜 尹 瑞:web服务组合中商业事务处理的研究.小型微型计算机系统,2006,27(1),12~125