首页 工作流数据的描述及访问机制

工作流数据的描述及访问机制

举报
开通vip

工作流数据的描述及访问机制 © 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net   收稿日期: 2007207230 基金项目: 国防装备科研基金项目 (EP060106)资助.  作者简介: 吴红莉, 女, 1968 年生, 博士研究生, 主要研究方向 为工作流技术、计算机协同工作等; 尹宝林, 男, 1952 年生, 博士, 博士生导师, 主要研究方向为操作系统、语音识别理...

工作流数据的描述及访问机制
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net   收稿日期: 2007207230 基金项目: 国防装备科研基金项目 (EP060106)资助.  作者简介: 吴红莉, 女, 1968 年生, 博士研究生, 主要研究方向 为工作流技术、计算机协同工作等; 尹宝林, 男, 1952 年生, 博士, 博士生导师, 主要研究方向为操作系统、语音识别理论和技术、计算机网络、软件 结构等; 向 刚, 男, 1968 年生, 硕士, 副研究员, 主要研究方向为办公自动化、计算机网络、数据库管理等;赵 霞, 女, 1976 年生, 硕士, 助理工程 师, 主要研究方向为办公自动化, 计算机网络、数据库管理等. 工作流数据的描述及访问机制 吴红莉1, 2, 尹宝林1, 向 刚2, 赵 霞2 1(北京航空航天大学 计算机学院, 北京 100083) 2(第二炮兵装备研究院 四所, 北京 100085) E2m ail: honglw u@ sohu. com 摘 要: 针对目前工作流管理系统建立数据流存在的问题, 引入流内数据流和流外数据流的概念, 在分析数据流特点的基础 上, 提出了一种分布式环境下管理工作流数据的体系结构. 在该结构中, 运行层的运行节点负责控制流, 数据层的数据节点负责 数据流, 运行节点通过执行接收活动来触发数据层的数据复制机制, 进而在运行节点间建立所需的数据流. 与现有的实现数据 流的方法相比, 本文提出的数据描述方法和数据访问机制不仅为流外数据流提供了数据通道, 同样为流内数据流的描述和实现 提供了方便, 对设计工作流管理系统中的数据管理具有较高的应用价值. 关 键 词: 数据流; 控制流; 工作流数据; 数据描述; 数据访问机制 中图分类号: T P311     文献标识码: A       文 章 编 号: 100021220 (2009) 0220259207 D escr iption and AccessM echan ism of W orkf low Da ta WU Hong2li1, 2, Y IN Bao2lin1, X IAN G Gang2, ZHAO X ia2 1(S chool of Comp u ter S cience & E ng ineering , B eihang U n iversity , B eij ing 100083, Ch ina) 2(E qu ipm en t R esearch Institu te of S econd A rtillery , B eij ing 100085, Ch ina) Abstract: In o rder to so lve the p rob lem in estab lish ing data flow in ex ist ing w o rkflow m anagem ent system s, concep tions of in terio r data flow and ex terio r data flow are in troduced in th is paper. Based on analyzing characterist ics of data flow s, a new arch itectu re of data m anagem ent fo r w o rkflow in distribu ted environm ents is pu t fo rw ard. By m ak ing that the runn ing nodes in the runn ing level are responsib le fo r the con tro l flow , the data nodes in the data level are responsib le fo r the data flow , and the execu tion of receiver activit ies on the runn ing nodes triggers the data rep licat ion m echan ism of the data level, the requ ired data flow betw een runn ing nodes can be estab lished. Compared w ith the ex ist ing m ethods of data flow imp lem entat ion, the p ropo sed m ethod of data descrip t ion and data access m echan ism p rovide a data transfer m eans fo r the ex terio r data, and conven ien t the descrip t ion and imp lem entat ion fo r the in terio r data. T he p ropo sed m ethod has value in design ing data m anagem ent in w o rkflow m anagem ent system. Key words: data flow ; con tro l flow ; w o rkflow data; data descrip t ion; data access m echan ism 1 引 言 在 现有的工作流管理系统 (W o rkflow M anagem ent System , 简称W fM S) 中, 研究人员对业务过程的控制流给予 了较多的关注, 而对工作流中的数据流并未给予足够的重视. 一般情况下, 可以认为数据流与控制流的流向是一致的, 但在 实际情况中, 由于企业内存在的大量业务过程并不是完全孤 立的, 而业务执行过程中常常会用到其它业务产生的数据, 在 这些业务过程之间所形成的数据流不存在于任何控制流中. 此外, 在一个业务过程内部, 位于控制流上游的活动执行时可 能需要下游活动产生的数据, 而这两个活动之间形成的数据 流与控制流是逆向的. 目前的工作流数据描述方法不支持上 述的数据流, 因而如何建立这些控制流并把这些数据流传输 上的数据纳入到工作流数据的管理中, 应该成为W fM S 需要 解决的问题. 截止目前为止, 有不少研究者从不同角度、不同侧面讨论 过工作流数据面临的问题和解决的方法. 我们将这些已研究 的工作流数据问题归纳为特殊数据管理、数据传输、数据分 配、数据的抽取转换加载 (ETL )过程、数据特性及数据流管理 六类. 针对如何管理工作流系统中的特殊数据, 一些研究者从 文档管理角度进行了研究, 文献[1 ]针对复杂产品协同设计的 文档管理, 提出了库的概念. H yerim Bae 提出用版本管理的 方法管理W fM S 中的文档[2 ]. 文献[3 ]构建了产品数据管理系 统的三层体系结构; Carlo Com bi 和Giuseppe PO zzi 从时间数 据角度考虑, 提出了一个全新的W fM S 管理时间数据的体系 结构[4 ]; Bon ifa t i A 等认为工作流日志包括了大量有意义的 小 型 微 型 计 算 机 系 统 Journal of Ch inese Computer System s 2009 年 2 月 第 2 期 V o l130 N o. 2 2009 © 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net 信息, 从执行数据角度考虑, 提出了一个封装的数据仓库解决 方案[5 ]. 文献[6 ]针对网格中数据传输忽略网络状况的问题, 提出 了一种基于带权有向图的网格工作流数据传输策略. Schuster H 针对数据分配问题, 提出一种数据分配策略 [7 ], 该 策略适于修改率低的工作流定义数据和修改率高的工作流实 例数据. 一些研究者对如何优化工作流数据的 ETL 过程进行 了研究, Sim itsis A. 等通过一个状态空间模型优化 ETL 过 程[8 ]. 文献[9 ]设计了一种简单串行和稳定可靠的循环遍历算 法. 文献[10 ]对工作流数据的一致性进行了研究, 提出了一种 以工作流数据为核心的数据一致性保护框架. 针对如何建立工作流系统中的数据流方面, Sadiq S 等证 明了数据建模的重要性, 确定了几种潜在的数据流问题, 讨论 了工作流数据的执行模型 [11 ]. A lonso G 等为管理工作流系统 中的控制流和数据流提出了一个体系结构 [12 ] , 所提方法最小 化了数据流对控制流的影响. 综上所述, 国内外学者从特殊数据管理、数据传输、数据 分配、数据的ETL 过程优化、数据一致性、数据流管理等不同 角度对工作流数据的管理给予了关注, 解决了相关问题, 这些 管理方法的共同点是研究与控制流方向一致的数据流中的数 据. 从数据流角度进行分析, 可以发现在大量的业务过程中, 数据流并不总是与控制流方向一致. 这些与控制流方向不一 致的数据流及数据流传输的数据目前尚未得到重视. 正因为 这种现状, 使得与控制流不一致的数据流的建立及数据的传 递往往通过手工方式或者其它辅助软件来解决. 从W fM S 的 整体性来看, 不论是手工方式还是辅助软件方式都没有把与 控制流不一致的数据流管理作为工作流的一部分来看待, 这 与W fM S 自动协调地理上广泛分布的资源、人员和工具的思 想相违背. 因此本文将在一个可扩展组织的柔性工作流模型 的基础上, 着重解决与控制流不致的数据流的建立、数据描述 和数据访问问题. 2 数据流及其特点 数据流是工作流运行中不可缺少的部分, 与控制流一样. 工作流中的控制流决定了活动的执行顺序和执行方向; 数据 流决定了从供给活动到接收活动的数据流向[11 ]. 在现有的 W fM S 中, 数据流都是随着控制流而流动的, 数据流与控制流 是一致的. 但是, 从数据流角度对大量的业务过程进行分析, 发现并非如此. 如图 1 是一个采购 合同 劳动合同范本免费下载装修合同范本免费下载租赁合同免费下载房屋买卖合同下载劳务合同范本下载 生成业务过程, 其中, 处于控制流上游的活动A 2 执行时要访问处于控制流下游的 活动A 5 和A 6 产生的数据“采购合同”, 显然, A 5→A 2 及A 6→ A 2 这两个数据流存在于控制流之外. 另外, 企业内的大量业 务过程之间通常是相互关联的, 一个业务过程在执行时, 常常 会需要其它业务过程产生的数据, 这样业务过程间所形成的 数据流也处于控制流之外. 在本节将对工作流中的数据流进行分类, 引入流内数据 流和流外数据流的概念, 并对这两大类数据流的特点进行分 析. 2. 1 数据流的类型 按照数据流与控制流的流向、及供给活动与接收活动间 的位置关系, 将工作流中的数据流分为相合数据流、跨数据 流、逆向数据流和过程间数据流, 如图 2 所示. 图 1 采购合同生成过程 F ig. 1 Business p rocess of generat ing p rocurem ent con tract 2. 1. 1 相合数据流 相合数据流的流向与控制流流向一致, 且其两端的活动 与控制流两端的活动完全相同. 这类数据流通常可利用控制 流将数据从供给活动传递到接收活动, 如图 2 (a)所示. 图 2 工作流中的 4 种数据流类型 F ig. 2 Four types of data flow in w o rkflow 2. 1. 2 跨数据流 跨数据流的流向虽然与控制流流向一致, 但跨越了若干 个控制流, 其两端的活动与控制流两端的活动不同. 这类数据 流也可利用控制流将数据从供给活动传递到接收活动, 但是 数据流要穿过并不需要这些数据的活动, 如图 2 (b). 2. 1. 3 逆向数据流 逆向数据流的流向与控制流流向相反, 如图 2 (c) , 活动A 处于控制流的上游, 活动C 处于下游, 活动C 产生的数据作为 活动A 的输入数据. 2. 1. 4 过程间数据流 过程间数据流是出现在不同过程间的数据流, 如图2 (d) , 062           小 型 微 型 计 算 机 系 统        2009 年 © 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net 过程P1 中活动C 产生的输出数据是过程P2 中活动D 的输入 数据. 当数据流传递的数据能够借助控制流来传递时, 这样的 数据流就称为流内数据流. 相合数据流和跨数据流就属于流 内数据流. 当数据流传递的数据无论如何也无法借助控制流 来传递时, 这样的数据流就称为流外数据流. 逆向数据流和过 程间数据流就属于流外数据流. 通过流内数据流传递的数据 称为流内数据, 通过流外数据流传递的数据称为流外数据. 2. 2 流内数据流和流外数据流的特点 流内数据流和流外数据流具有不同的特点: 1. 对同一个供给活动而言, 形成的流内数据流和流外数 据流的数量大不相同. 在流内数据流中, 供给活动按照控制流 只能在接收活动的前面, 所以下游活动的数量决定了接收活 动的最大数量, 即流内数据流的数量取决于控制流下游活动 的数量. 在流外数据流中, 供给活动可以把数据提供给任何过 程的任何活动, 即流外数据流的数量没有限制. 2. 流内数据属于同一过程实例, 而流外数据则不是. 在流 内数据流中, 供给活动总是在接收活动的前面, 接收活动所接 收的数据总是由处于同一过程实例的供给活动所提供, 所以 流内数据属于同一过程实例, 且不受供给活动已完成实例及 其它正在执行实例的影响. 在流外数据流中, 由于供给活动在 接收活动的后面或者处于不同的业务过程, 所以接收活动所 接收的数据与供给活动所提供的数据不属于同一过程实例. 供给活动每执行一次都会生成该实例的特有数据, 供给活动 所有已完成实例生成的特有数据就会形成一个数据集合, 接 收活动所接收的数据就是这个数据集合的子集. 所以, 流外数 据不属于同一过程实例, 但是受供给活动已完成实例的影响. 3 工作流数据的管理 从数据流的实现角度上分, 现有的分布式W fM S 大致可 归纳为沿用控制流和利用专有数据库两类 [2, 11, 12 ] , 表 1 所示为 本文图 2 中的四类数据流在现有系统中实现及操作的方便程 度的对比. 表 1 四类数据流的实现及方便程度 T able 1 Contrast of four types of data m anagem ent in distribu ted environm ent W fM S类型 数据流类型 流内数据流 流外数据流 相合数据流 跨数据流 逆向数据流过程间数据流 沿用控制流的 W fM S 能实现 较方便 能实现 不方便 不能 实现 不能 实现 利用专有数据库 的W fM S 能实现 较方便 能实现 较方便 不能 实现 不能 实现 从表 1 可知, 相合数据流和跨数据流在现有系统都能实 现. 沿用控制流实现数据流的系统对跨数据流则需要若干条 控制流才能将数据从供给活动传递到接收活动, 需要较复杂 的数据描述来实现跨数据流, 并且容易造成数据丢失. 利用专 有数据库实现数据流的系统, 将数据库作为供给活动和接收 活动传递数据的桥梁, 实现数据流的传递. 从表 1 可知, 逆向数据流和过程间数据流在现有系统无 法实现. 沿用控制流实现数据流的系统由于没有可利用的控 制流, 因而无法实现这两类数据流. 利用专有数据库实现数据 流的系统由于没有提供相关的数据描述手段及访问机制, 也 无法建立这两类数据流. 由表 1 和上述分析可知, 现有的分布式工作流系统对流 内数据流是合适的, 对流外数据流则无法适用. 其根本原因在 于现有系统没有把控制流和数据流的管理彻底分开, 没有提 供一套合适的数据描述手段和访问机制. 为此, 本节提出了一 种分布式环境下管理数据的体系结构, 在该结构中运行层的 运行节点负责控制流, 数据层的数据节点负责数据流, 并提供 相关的数据描述手段和访问机制. 当接收活动执行时就会触 发数据层的底层数据复制机制, 从而在运行节点间建立起所 需的数据流. 3. 1 管理工作流数据的体系结构 本文提出的数据流管理结构由定义层、运行层和数据层 三层所组成, 其中, 定义层负责工作流定义, 运行层负责控制 流, 数据层负责数据流. 定义层由一组工作流定义节点组成. 每个定义节点都有 一套工作流定义工具, 定义所辖范围内的业务过程, 并与其它 定义节点进行协调. 这些定义节点形成一个树型结构, 如图 3 所示. 定义层由三个定义节点B 0、B 1、B 2 组成. B 0 处于根位置, 能够定义整个系统的业务过程. B 1 和B 2 是B 0 的孩子, 只能够 定义子树内的业务过程, 并服从B 0 的定义. 图 3 分布式环境下数据管理的结构 F ig. 3 A rch itectu re of data m anagem ent in distribu ted environm ent 运行层由一组工作流运行节点组成. 每个运行节点都有 一个工作流引擎, 负责执行定义系统指定给本节点的活动, 并 实现与其它活动所在运行节点间的控制协调 (即控制流). 运 行节点与定义节点一起形成一个树型结构, 运行节点为叶子 节点, 定义节点为分支节点. 采取树型结构设计定义层和运行 层, 是因为现实世界中企业的组织结构图是树型结构, 其中分 支节点是组织节点或部门节点, 叶子节点是人员节点或设备 节点. 将定义节点设置在分支节点并规定它们的定义范围, 不 仅为企业的各级管理人员提供了参与管理的方式和手段, 而 且也符合企业内部各部门间的职能权限. 在定义节点和运行 节点组成的这个树型结构中, 每个运行节点都有一个定义节 点作为双亲, 这个定义节点就称为这个运行节点的本地定义 1622 期        吴红莉 等: 工作流数据的描述及访问机制    © 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net 节点. 如图 3 所示, 运行节点R 1、R 2、R 3 的本地定义节点是B 1, R 4 的本地定义节点是B 0, R 5、R 6、R 7 的本地定义节点是B 2. 每 个定义节点能够管辖的节点范围为子树中的所有节点. 运行 节点接收工作流定义时, 只接收本地定义节点及祖先定义节 点的定义, 不接收其它定义节点的定义. 如R 3 只接收B 1 和B 0 的定义. 数据层由一组数据节点组成. 当定义节点的孩子节点中 有运行节点时, 就有一个数据节点与这个定义节点对应. 每个 数据节点维护对应定义节点的所有孩子运行节点提供的供给 数据, 与这些运行节点建立数据通信, 并与其它数据节点交换 所需的数据. 一个数据节点称为所对应定义节点和该定义节 点所有孩子运行节点的本地数据节点. 如图 3 中, 数据节点D 0 对应B 0, 负责R 4 上的数据; D 1 对应B 1, 负责R 1、R 2、R 3 上的数 据; D 2 对应B 2, 负责R 5、R 6、R 7 上的数据. 在这个结构中, 运行节点负责控制导航, 数据节点负责数 据的访问. 每个运行节点只能向本地数据节点发出数据请求. 当运行节点上的供给活动提供数据时, 将数据提交给本地数 据节点; 当运行节点上的接收活动接收数据时, 向本地数据节 点发出数据请求. 当所请求的数据不在本地数据节点上, 就会 触发数据层的数据复制机制, 从而引发本地数据节点与数据 所在数据节点间的数据复制过程. 3. 2 数据描述 在现有系统中, 工作流数据的描述主要是针对流内数据 的描述[123, 11, 12 ] , 缺乏流外数据的描述, 所以难以支持流外数 据流和流外数据的管理. 针对这个问题, 本节结合图 3 的体系 结构给出一种新的数据描述方法. 它包括两部分内容: 一是定 义节点和数据节点上与数据相关的三个基本概念  数据存 根、数据表和数据文档; 二是运行节点上供给活动和接收活动 对供给数据和接收数据的描述. (1) 数据存根、数据表和数据文档的描述 数据存根 记录节点上定义或维护的各种供给数据的描 述信息, 可形式化描述为: D ataS tub= {sûs= (D id , e, a) }    (1) D ataStub 为数据存根, 是存根项 s 的集合; s 是一个三元 组, 其中D id 表示数据标识, 能唯一标识 s; e 表示存在状态; a 表示数据位置. e= 0 时, 表示数据不在本节点, 这时 a 表示数 据所在数据节点的地址; e= 1 时, 表示数据在本节点, 这时 a 表示数据表在本节点的位置. 数据表 记录供给活动产生的各项数据项的值, 可形式化 描述为: D ataT able = (D id , R ) = (D id , {rû r= (T id , v 1, v 2, ⋯, v n) }) (2) D ataT ab le 为数据表, 是由D id 和R 组成的二元组; R 是 记录r 的集合, 记录r 是一个多元组; 其中T id 表示过程实例标 识, 能唯一标识 r; v i (1≤i≤n) 表示 r 中一个数据项, 也是供 给活动产生的数据项. 一个D ataT ab le对应D ataStub中的一个s. 数据文档 由供给活动产生的数据项依据某个数据模板 形成的文档, 可形式化描述为: D ataF ile= (D id , T id , RD ) = (D id , T id , {v i, d i ) û v i ∈ {v 1, v 2, ⋯, v n} (1≤i≤n) , d i 是 v i 的表现形式} (3) D ataF ile 为数据文档, 是由D id, T id 和RD 组成的三元 组; 其中RD 表示数据项及数据项表现形式的集合; d i 表示 v i 的表现形式. 一个D ataF ile 对应D ataT ab le 中的一个 r. (2) 供给数据和接收数据的描述 供给数据 供给活动A 在某过程实例 (假设T id= ’t id’)产 生的数据标识唯一的 (假设D id= ’did’) 数据项集合或文档集 合, 可形式化描述为: P rvD ata (A ) = (D id , T id , v 1, v 2, ⋯, v n)∪D ataF ile (4) 接收数据 接收活动A 需要的数据项集合或文档集合. 当 A 处于流内数据流时, 接收的数据是处于同一过程实例的供 给活动提供的, 可形式化描述为: R cv In terior (A ) = { (D id , T id , v 1, v 2, ⋯, v n ) ∪D ataF ileû D id = ’d id’∧T id = ’tid’} (5) 当A 处于流外数据流时, 接收的数据是所有已完成的供 给活动实例生成的, 且满足接收条件的数据形成的集合, 可形 式化描述为: R cvE x terior (A ) = { (D id , T id , v 1, v 2, ⋯, v n) ∪D ataF ileû Cnd (D id , T id , v 1, v 2, ⋯, v n) = ’true’} (6) 其中: Cnd (D id , T id , v 1, v 2, ⋯, v n) = ’true’表示数据项 D id , T id , v 1, v 2, ⋯, v n 满足条件Cnd. 3. 3 数据的访问机制 在图 3 的结构中, 因为每个数据节点只维护了所辖范围 内运行节点供给的数据, 如何得知所请求数据的位置, 又如何 获取, 必须有相应的机制来支持. 本节的数据访问机制提供了 存根机制和数据复制机制, 分别用于解决数据位置和数据获 取问题. 3. 3. 1 存根机制 存根机制用来解决数据位置问题, 提供建立存根和存根 复制机制. 3. 3. 1. 1 存根的建立. 当定义节点定义了一种新的供给数据 时, 就会在本节点的数据存根中添加新存根. 定义节点上的数 据存根维护着本节点定义的所有供给活动所产生数据的描述 信息. 3. 3. 1. 2 存根复制. 定义节点由数据存根可以掌握本节点所 定义的供给数据, 但本地数据节点如何获得存根信息以掌握 本节点应负责的数据, 其它定义节点和数据节点如何获得存 根信息以全面了解整个系统上定义和维护的供给数据, 显然 必须有相应的机制来支持. 存根复制机制就是当定义节点定义了新供给数据后, 系 统将标以不同存在状态的数据存根复制到本地数据节点及其 它的定义节点和数据节点. 它包括定义节点到本地数据节点、 定义节点间和数据节点间三种存根复制. 定义节点到本地数 据节点存根复制指定义了新供给数据的定义节点复制一份存 根 (称为存根复制品) 给本地数据节点. 由此本地数据节点就 能掌握本节点所维护的供给数据. 定义节点间存根复制指定 义了新供给数据的定义节点向系统中其它定义节点发送存根 复制品. 由此每个定义节点就可以了解整个系统中定义的供 给数据. 数据节点间存根复制指接收到存根复制品的本地数 262           小 型 微 型 计 算 机 系 统        2009 年 © 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net 据节点向系统中其它数据节点发送这个存根复制品. 由此每 个数据节点就可以了解整个系统中定义的供给数据及这些数 据的位置. 3. 3. 2 数据复制机制 数据复制机制用来解决数据获取问题, 提供文档复制和 数据项复制两个机制. 数据复制机制中的复制方式决定了接 收活动的接收数据方式. 3. 3. 2. 1 文档复制. 文档复制是针对数据节点上的文档进行 的复制. 当接收活动向本地数据节点请求文档时, 如果本地数 据节点没有所请求的文档, 在本地数据节点和数据所在数据 节点之间进行的数据文档交换. 文档复制又有单文档复制、同 类多文档复制和多类多文档复制. 单文档复制是复制某类数据中的某个文档, 适用于流内 和流外数据流, 可形式化描述为: S F ile R eq= {D ataF ileûD id = ’d id’∧T id = ’tid’} (7) 同类多文档复制是从同一类数据中复制普通数据项满足 一定条件的文档, 适用于流外数据流, 可形式化描述为: S typ eM F ilesR eq= {D ataF ileûCnd (T id , v 1, v 2, ⋯, v n) = ’true’∧D id = ’d id’} (8) 多类多文档复制是从若干类数据中复制普通数据项满足 一定条件的文档, 适用于流外数据流, 可形式化描述为: M Y Typ esM F ilesR eq = {D ataF ileûCnd (D id , T id , v 1, v 2, ⋯, v n) = ’true’} (9) 3. 3. 2. 2 数据项复制. 数据项复制是针对数据节点上数据 表中的数据项进行的复制. 当接收活动向本地数据节点请 求数据项集合时, 如果本地数据节点没有所请求的数据, 在 本地数据节点和数据所在数据节点之间进行数据传递. 数 据项复制又有单记录全数据项复制、同类多记录全数据项 复制、多类多记录全数据项复制、单记录部分数据项复制、 同类多记录部分数据项复制和多类多记录部分数据项复制 六种. 单记录全数据项复制是复制某类数据中某个记录的全部 数据项, 适用于流内和流外数据流, 可形式化描述为: S R ecR eq = { (D id , T id , v 1, v 2, ⋯, v n) ûD id = ’d id’∧T id = ’tid’} (10) 同类多记录全数据项复制是从同一类数据中复制普通数 据项满足一定条件的记录中的全部数据项, 适用于流外数据 流, 可形式化描述为: S Typ eM R ecsR eq = { (D id , T id , v 1, v 2, ⋯, v n ) ûCnd (D id , T id , v 1, v 2, ⋯, v n) = ’true’∧T id = ’tid’} (11) 多类多记录全数据项复制是从若干类数据中复制普通数 据项满足一定条件的记录中的全部数据项, 适用于流外数据 流, 可形式化描述为: M Typ esM R ecsR eq = { (D id , T id , v 1, v 2, ⋯, v n ) û Cnd (D id , T id , v 1, v 2, ⋯, v n) = ’true’} (12) 单记录部分数据项复制是复制某类数据中某个记录的某 些数据项, 适用于流内和流外数据流, 可形式化描述为: S R ecM F ield sR eq= (v i1 , v i2 , ⋯, v im ) û Π(v i1 , ⋯, v ij , ⋯, v im (D id , T id , v 1, v 2, ⋯, v n)∧D id = ’d id’∧T id = ’tid ’∧v ij ∈{v 1, v 2, ⋯, v n} (1≤i1≤i j≤im ≤n) } (13) 同类多记录部分数据项复制是从同一类数据中复制普通 数据项满足一定条件的记录中的某些数据项, 适用于流外数 据流, 可形式化描述为: S Typ eM R ecsM F ield sR eq = { ( v i1 , v i2 , ⋯, v im ) ûΠ(v i1 , ⋯, v ij , ⋯, v im (D id , T id , v 1, v 2, ⋯, v n ) ∧Cnd (T id , v 1, v 2, ⋯, v n) = ’true’∧D id = ’d id’∧v ij∈{v 1, v 2, ⋯, v n} (1≤i1≤i j≤im ≤n) } (14) 多类多记录部分数据项复制是从若干类数据中复制普通 数据项满足一定条件的记录中的某些数据项, 适用于流外数 据流, 可形式化描述为: M Typ esM R ecsM F ield sR eq = { ( v i1 , v i2 , ⋯, v im ) ûΠ(v i1 , ⋯, v ij , ⋯, v im (D id , T id , v 1, v 2, ⋯, v n) ∧Cnd (D id , T id , v 1, v 2, ⋯, v n) = ’true’∧v ij∈{v 1, v 2, ⋯, v n} (1≤i1≤i j≤im ≤n) } (15) 3. 4 实验用例 下面以图 1 所示业务过程中的流内数据流A 3→A 4、及流 外数据流A 5→A 2 和A 6→A 2 为例, 从数据描述和数据的访问 过程两个方面给出在基于可扩展组织的柔性工作流管理系统 ( A F lex ib le W o rkflow M anagem ent System Based2on Extensib le O rgan ization, 简称 FWM SBEO ) 工作流中建立数 据流的过程. 假设图1 中的活动A 1、A 2、⋯、A 7 分别分布在图3 的运行节点R 1、R 2、⋯、R 7 上, 如图 3 所示. D 0 的数据存根: D ata Id: 采购合同过程2A 3 Exist: 0 L ocation: D 1 D ata Id: 采购合同 Exist: 0 L ocation: D 2 ⋯ D 1 的数据存根: D ata Id: 采购合同过程2A 3 Exist: 1 L ocation: D ataBaseö采购合同过程A 23 D ata Id: 采购合同 Exist: 0 L ocation: D 2 ⋯ D 2 的数据存根: D ata Id: 采购合同过程2A 3 Exist: 0 L ocation: D 1 D ata Id: 采购合同 Exist: 1 L ocation: D ataBaseö采购合同 ⋯ 图 4 数据节点D 0、D 1 和D 2 数据存根的描述 F ig. 4 D escrip t ion of D ataStub on data nodes D 0、D 1 and D 2 3. 4. 1 用例的数据描述 数据流A 3→A 4、A 5→A 2 和A 6→A 2 的数据流描述涉及三 部分内容: 一是, 相关数据节点上数据存根和数据表的描述 (由于数据文档的具体描述取决于数据模板, 所以这里不再给 3622 期        吴红莉 等: 工作流数据的描述及访问机制    © 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net 出具体数据文档的描述). 这三个数据流中, A 2 和A 3 所在运 行节点R 2 和R 3 对应数据节点D 1,A 4 所在运行节点R 4 对应数 据节点D 0,A 5 和A 6 所在运行节点R 5 和R 6 对应数据节点D 2; 二是, 供给活动A 3、A 5 和A 6 的数据描述; 三是, 接收活动A 2 和 A 4 的数据描述. 3. 4. 1. 1 D 0、D 1 和D 2 上数据存根和数据表的描述. 数据节 点D 0、D 1和D 2数据存根的描述如图4所示. D 0的数据存根 显示数据标识是“采购合同过程2A 3”的数据在D 1 上, 数据标 识是“采购合同”的数据在D 2 上. D 1 的数据存根显示数据 “采购合同过程2A 3”的数据在本节点上, 数据表的位置是 “D ataBaseö采购合同过程2A 3”. D 2 的数据存根显示数据 “采购合同”在本节点上, 数据表的位置是“D ataBaseö采购 合同”. D 1 的“采购合同过程2A 3”数据表描述如下, 该数据表有 数据项T id , v 1, v 2, ⋯, v n. D ataT able= (’采购合同过程2A 3’, { rû r= (T id , v 1, v 2, ⋯, v n) }) (16) D 2 的“采购合同”数据表描述如下, 该数据表有数据项 T id , v 1 , v 2 , ⋯ , v n , f in ish , 其中f in ish 表示采购合同的执行 状态. D ataT able= (’采购合同’, { r û r = (T id , v 1, v 2, ⋯, v n , f in ish ) }) (17) 3. 4. 1. 2 供给活动A 3、A 5 和A 6 的数据描述. 活动A 3 供给的 流内数据描述如下, A 3 提供数据标识是“采购合同过程2A 3” 的所有数据项的集合. 这时, D id = ’采购合同过程2A 3’, T id = ’tid 01’. P rvD ata (A 3) = (D id , T id , v 1, v 2, ⋯, v n)    (18) 活动A 5 供给的流外数据描述如下, A 5 提供数据标识是 “采购合同”的所有数据项的集合及这些数据项依据 合同模板 家具合同模板下载外贸合同模板下载体育设备供货安装合同项目合作合同模板个人房屋出租合同模板 形成的采购合同数据文档. 这时, D id = ’采购合同’, T id = ’ tid x x ’( tid x x 表示可能是 tid 01 或 tid 02 或 tid 03⋯, 而不仅仅 是 tid 01. 说明活动A 5 每执行一次就会产生数据标识是“采购 合同”的流外数据) , 且 f in ish = ’0’表示采购合同处于未执行 状态. P rvD ata (A 5 ) = (D id , T id , v 1, v 2, ⋯, v n , f in ish ) ∪ D ataF ile (19) 活动A 6 供给的流外数据描述如下, A 6 提供数据标识是 “采购合同”的 fin ish 数据项. 这时, D id = ’采购合同’, T id = ’ tid x x ’, 且 f in ish= ’1’表示采购合同处于执行完成状态. P rvD ata (A 6) = (D id , T id , f in ish )    (20) 3. 4. 1. 3 接收活动A 2 和A 4 的数据描述. 活动A 2 的接收数据 描述如下. 描述显示, A 2 接收数据标识是“采购合同”且执行 状态为未执行的所有数据文档. R cvE x terior (A 2) = {D ataF ileûD id = ’采购合同’∧f in ish = ’0’} (21) 活动A 4 的接收数据描述如下. 描述显示, A 4 接收数据标 识是“采购合同过程2A 3”且过程实例标识是’tid 01’的记录. R cv In terior (A 4) = { (v 1, v 2, ⋯, v n) ûD id = ’采购合同过程2A 3’∧T id = ’tid 01’) } (22) 3. 4. 2 数据的访问过程 数据访问过程由数据的供给过程和数据的接收过程 组成. (1) 数据的供给过程 以活动A 6 的数据供给过程为例, 说明数据的供给过程: ① 供给活动A 6 执行完成, 通知运行节点R 6; ② 运行节点根据供给数据的描述将供给数据提交给本 地数据节点D 2; ③ D 2 根据数据存根和所提交数据的D id 判断是否是有 效的供给数据. 如果是, 执行④; 否则, 跳至⑤; ④ D 2 将提交的供给数据保存到指定的位置“D ataBaseö 采购合同”, 跳至⑥; ⑤ 无效的供给数据, 抛弃; ⑥ 数据供给过程结束; ⑦ 运行节点按照控制流, 将控制转给下一个活动所在的 运行节点. (2) 数据的接收过程 以活动A 2 的数据接收过程为例, 说明数据的接收过程: ① 控制到达运行节点R 2 上的A 2,A 2 通知R 2 接收数据; ② 运行节点R 2 根据接收数据的描述向数据节点D 1 发出 数据请求; ③ D 1 根据数据存根和接收数据的D id 判定数据所在数 据节的位置; ④ D 1 向数据所在节点D 2 发出复制请求; ⑤ D 2 根据数据存根判定数据在本节点的位置, 按照数 据请求条件, 复制所有满足条件的数据; ⑥ D 2 将复制的数据传递回D 1; ⑦D 1 将复制的数据传递回R 2 , R 2 通知A 2 获得所需 数据; ⑧ 数据接收过程结束. ⑨ 活动A 2 继续相关处理. 3. 4. 3 实验分析 通过上述步骤, 可以看到FWM SBEO 系统建立了流内数 据流和流外数据流. 下面从图2 所列4 种数据流的可实现性和 实现的快捷性两个方面, 讨论现有分布式W fM S 中实现数据 流的两种常用方法——沿用控制流方法和利用专有数据库方 法——与本文所提方法的优劣. 对相合数据流而言, 这三种方法均能实现, 且沿用控制流 方法最快捷. 利用专有数据库方法或本文所提方法实现相合 数据流时, 要通过专有数据库或数据节点来传递数据, 而沿用 控制流方法则能够将数据从一个活动所在运行节点直接传递 到下一个活动所在节点. 所以, 沿用控制流方法实现相合数据 流时, 其传递性能最好. 对跨数据流而言, 这三种方法均能实现, 且利用专有数据 库方法和本文所提方法较方便快捷. 沿用控制流方法实现跨 数据流时, 不得不通过若干条控制流才能将数据从供给活动 传递到接收活动, 同时还需要较复杂的数据描述以保证数据 流借助控制流传递数据时数据不丢失, 而利用专有数据库或 本文所提方法则能够通过专有数据库或数据节点, 一次跨越 462           小 型 微 型 计 算 机 系 统        2009 年 © 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net 若干个控制流. 所以, 利用专有数据库或本文所提方法实现跨 数据流时, 传递性能较好且操作方便快捷, 跨越的控制流数目 越多, 优势越明显. 对逆向数据流和过程间数据流这样的流外数据流而言, 只有本文所提方法能够实现, 且实现的快捷性和方便性与实 现流内数据流相当. 沿用控制流方法需要借助控制流来传递 数据, 由于流外数据流没有可借助的控制流, 所以它无法实现 流外数据流. 利用专有数据库方法由于缺乏对流外数据的描 述, 所以难以实现流外数据流. 而本文所提方法重点解决了数 据流的描述和建立问题, 能够在无控制流的活动间搭起数据 通道. 同时, 流内数据流和流外数据流仅描述的接收条件上稍 有不同, 数据流的建立过程完全一致, 使得实现流外数据流的 花费与实现流内数据流的花费相当. 4 结 论 本文针对目前工作流管理系统建立数据流存在的严重不 足, 提出了分布式环境下管理工作流数据的体系结构、数据描 述方法及访问机制, 与现有W fM S 中沿用控制流和利用专有 数据库的方法相比, 有以下优势: 1. 为流外数据流建立了数据通道. 运行节点使用本文提 出的数据描述方法和数据访问机制, 在执行接收数据的操作 时触发了数据层的数据复制机制, 在运行节点间为流外数据 流搭建了通道. 现有W fM S 未提供相关的数据描述方法和数 据访问机制, 无法建立流外数据流. 2. 方便了流内数据流的描述, 避免了可能的数据丢失问 题. 与沿用控制流实现数据流的系统相比, 不用再在每个流经 的控制流上进行数据描述, 只要在供给活动和接收活动即数 据流的两端进行数据描述, 数据的传递完全由数据层完成, 文 中所提方法在流内数据流的操作方便程度上与利用专有数据 库方法相当. 3. 接收数据的方式多样化且可扩展. 本文给出了三种文 档复制方式和六种数据项复制方式, 接收活动可根据需要组 合出多种数据接收方式. 如果现有接收方式不能满足用户需 求, 只需在定义节点增加新的接收数据描述, 在数据层增加新 的数据复制方式, 就可对现有的接收方式进行扩展. 4. 系统的逻辑层次更清晰. 数据流与控制流的分离, 减少 了数据层对运行层的影响. 同时为系统的大规模扩展提供了 可能. FWM SBEO 系统实现了本文的思想, 本文提出的数据描 述方法和访问机制对设计W fM S 中的数据管理具有较高的应 用价值. 本文提出的数据复制机制采取的是被动式复制, 即当 接收活动需要数据时才启动数据复制机制, 显然这种被动方 式不利于提高数据传递的性能, 这将在下一步工作中进行研 究. References: [ 1 ] Zhu L i, Yin J ian2w ei, Chen Gang, et al. Research on m ulti2 lib raries based co llabo rative docum ent m anagem ent system [J ]. Computer In tegrated M anufactu ring System s, 2006, 12 ( 3 ) : 4402445. [ 2 ] H yerim Bae, W onchang H u, W oo Sik Yoo, et al. Docum ent configuration con tro l p rocesses cap tu red in a wo rkflow [ J ]. Computers in Industry, 2004, 53: 1172131. [ 3 ] Zhong Sh i2sheng, L i T ao, T ang X in2m in, et al. D ata vau lt and docum ent m anagem ent in PDM based on wo rkflow [ J ]. Computer In tegrated M anufactu ring System s, 2004, 10 ( 3 ) : 3362341 [ 4 ] Carlo Com bi, Giuseppe PO zzi. A rch itectu res fo r a tempo ral wo rkflow m anagem ent system [ C ]. A CM Sympo sium on A pp lied Computing, M arch 14217, 2004, N ico sia, Cyp rus, 6592666. [ 5 ] Bon ifati A , Casati F, D ayal U , et al. W arehousing wo rkflow data: challenges and oppo rtun it ies[C ]. P roceedings of the 27th VLDB Conference, Rom a, Italy, 2001, 6492652. [ 6 ] H an Zong2fen, H e Kang, Zhang Q in, et al. A strategy of data transferring of grid wo rkflow based on w eigh ted directed graph [ J ]. H uazhong U niversity of Science & T echno logy (N atu re Science Edition) , 2005, 33 (12) : 1122114. [ 7 ] Schuster H , H ein l P. A wo rkflow data distribu tion strategy fo r scalab le wo rkflow m anagem ent system s [ C ]. P roceedings of A CM Sympo sium on A pp lied Computing ( SA C’97 ) , 1997, 1742176. [ 8 ] Sim itsis A , V assiliadis P, Sellis T. State2space op tim ization of ETL wo rkflow s[J ]. IEEE T ransactions on Know ledge and D ata Engineering, 2005, 17 (10) : 1404 21419. [ 9 ] T an Zh i2peng,
本文档为【工作流数据的描述及访问机制】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_120700
暂无简介~
格式:pdf
大小:370KB
软件:PDF阅读器
页数:7
分类:互联网
上传时间:2011-10-31
浏览量:29