首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 数据库 第二书店 程序员

工作流流程状态管理及变迁


来源:ronghao的专栏 - CSDNBlog

这是我们(东方易维)工作流产品设计过程中采取的设计:

一、流程实例的状态

状态分为5种:实例化、执行中、挂起、手工结束、正常结束。

状态的变迁如下图:



二、节点实例的状态

状态分为5种:实例化、执行中、挂起、手工结束、正常结束。

状态的变迁如下图:



三、具体节点的状态

细分:

A、人工节点、等待节点

这两个节点被触发后存在一个执行等待的过程,所以可以被用户直接挂起和手工结束。人工节点的挂起意味着所有未完成工作项的挂起,同时相应时间服务的时间计算的挂起。手工结束会使流程跳过该节点(所有工作项手工结束),继续往后流转。

B、开始节点、结束节点、分支节点、自动节点

这些节点的特点在于被触发后立刻执行和流转,所以不会存在挂起和手工结束的状态。

C、并发节点、汇聚节点

并发节点和汇聚节点不存在挂起的状态,同时不能被用户直接手工结束,它们的状态受流程实例状态和相关节点实例状态的影响。

并发节点和汇聚节点的情况复杂一些,分模式讨论



图1

1、同步汇聚(图1)

根据情况触发节点0、节点1、节点2中的一个或多个,汇聚节点等待所有实际触发的节点完成后再执行流转。中间汇聚节点只会产生一个实例。

1.1、正常流转时的处理策略

当汇聚节点未被触发时(即节点0、节点1、节点2都未执行结束),并发节点处于执行状态,一旦汇聚节点被触发(即节点0、节点1、节点2有一个执行结束),并发节点正常结束并且汇聚节点处于执行状态,所有并发出的节点实例执行结束后,汇聚节点正常结束,流程继续流转。

1.2、用户挂起、手工结束相关节点的处理策略

1.2.1、汇聚节点未激活时

节点0、节点1、节点2的挂起和恢复执行不会影响并发节点的状态(依旧处于执行状态);节点0、节点1、节点2的任一手工结束都会触发汇聚节点,使并发节点正常结束,如果所有并发的节点实例都结束(包括手工结束和正常结束),汇聚节点正常结束,触发流程流转。

1.2.2、汇聚节点已激活时

节点0、节点1、节点2的挂起和恢复执行不会影响汇聚节点的状态(依旧处于执行状态);节点0、节点1、节点2的手工结束会影响汇聚节点的状态,每个节点实例的手工结束会引起汇聚节点的判断,如果所有并发的节点实例(包括正常结束和手工结束)都结束,汇聚节点正常结束,触发流程流转。

1.3、用户挂起、手工结束流程的处理策略

1.3.1、汇聚节点未激活时

流程的挂起和恢复执行不会影响并发节点的状态(依旧处于执行状态),节点0、节点1、节点2会被全部挂起或恢复;流程的手工结束会引起所有节点的手工结束。

1.3.2、汇聚节点已激活时

流程的挂起和恢复执行不会影响汇聚节点的状态(依旧处于执行状态),节点0、节点1、节点2未执行结束的实例会被全部挂起或恢复;流程的手工结束会引起所有节点的手工结束。

2、nOutOfM汇聚(图1)

根据情况触发节点0、节点1、节点2中的一个或多个,汇聚节点等待N个实际触发的节点完成后即执行流转(N>0且N=M的情况下即为同步汇聚。中间汇聚节点只会产生一个实例。

2.1、正常流转时的处理策略

当汇聚节点未被触发时(即节点0、节点1、节点2都未执行结束),并发节点处于执行状态,一旦汇聚节点被触发(即节点0、节点1、节点2有一个执行结束),并发节点正常结束并且汇聚节点处于执行状态,N个并发出的节点实例执行结束后,汇聚节点正常结束,流程继续流转,M-N的节点实例被手工结束。

2.2、用户挂起、手工结束相关节点的处理策略

2.2.1、汇聚节点未激活时

节点0、节点1、节点2的挂起和恢复执行不会影响并发节点的状态(依旧处于执行状态);节点0、节点1、节点2的任一手工结束都会触发汇聚节点,使并发节点正常结束,如果N个并发的节点实例都手工结束,并发节点正常结束,触发汇聚节点,汇聚节点正常结束,触发流程流转,M-N的节点实例被手工结束。

2.2.2、汇聚节点已激活时

节点0、节点1、节点2的挂起和恢复执行不会影响汇聚节点的状态(依旧处于执行状态);节点0、节点1、节点2的手工结束会影响汇聚节点的状态,每个节点实例的手工结束会引起汇聚节点的判断,如果N个并发的节点实例(包括正常结束和手工结束)都结束,汇聚节点正常结束,触发流程流转,M-N的节点实例被手工结束。

2.3、用户挂起、手工结束流程的处理策略

2.3.1、汇聚节点未激活时

流程的挂起和恢复执行不会影响并发节点的状态(依旧处于执行状态),节点0、节点1、节点2会被全部挂起或恢复;流程的手工结束会引起所有节点的手工结束。

2.3.2、汇聚节点已激活时

流程的挂起和恢复执行不会影响汇聚节点的状态(依旧处于执行状态),节点0、节点1、节点2未执行结束的实例会被全部挂起或恢复;流程的手工结束会引起所有节点的手工结束。

3、辨别汇聚(图1)

是nOutOfM汇聚的特例,N=1

4、多实例汇聚(图2)



图2

根据情况触发节点0、节点1中的一个或多个,节点0和节点1任意一个执行结束后都会触发汇聚节点产生一个新的实例,汇聚节点实例紧接着触发节点2,节点2也会产生多个实例。

4.1、正常流转时的处理策略

当汇聚节点未被触发时(即节点0、节点1都未执行结束),并发节点处于执行状态,一旦汇聚节点被触发(即节点0、节点1有一个执行结束),汇聚节点会紧接着触发节点2,汇聚节点正常结束。所有并发出的节点实例执行结束后,并发节点正常结束。

4.2、用户挂起、手工结束相关节点的处理策略

节点0、节点1的挂起和恢复执行不会影响并发节点的状态(依旧处于执行状态);节点0、节点1的手工结束会影响并发节点和汇聚节点的状态,每个节点实例的手工结束会引起汇聚节点产生新的实例并触发节点2,同时会引起并发节点的判断,如果所有并发的节点实例都手工结束,并发节点正常结束。

4.3、用户挂起、手工结束流程的处理策略

流程的挂起和恢复执行不会影响并发节点的状态(依旧处于执行状态),节点0、节点1、节点2会被全部挂起或恢复;流程的手工结束会引起所有未结束节点的手工结束。

5、隐式结束,没有汇聚节点与并发节点对应(图3)



图3

所有节点结束时(正常结束或手工结束),并发节点正常结束。流程的手工结束会引起所有未结束节点的手工结束。

四、流程实例状态变化对节点实例状态造成的影响

1、流程实例的挂起

A类节点挂起,B、C类节点不受影响。同时在流程实例恢复执行之前,A类节点不允许用户直接恢复执行。

2、流程实例的手工结束

所有节点全部手工结束。

五、节点实例状态变化对流程实例状态造成的影响

隐式结束的情况下,节点的手工结束或正常结束都会触发流程的判断,如果所有的节点都已结束则流程结束。



他们设置了哪些标签:


信息化

谁收藏了这个网址:


lizhe1985收录

使用标签:信息化,时间:2008-6-2 13:55:22 | 相关网摘

来源:ronghao的专栏 - CSDNBlog

这是我们(东方易维)工作流产品设计过程中采取的设计:

一、流程实例的状态

状态分为5种:实例化、执行中、挂起、手工结束、正常结束。

状态的变迁如下图:



二、节点实例的状态

状态分为5种:实例化、执行中、挂起、手工结束、正常结束。

状态的变迁如下图:



三、具体节点的状态

细分:

A、人工节点、等待节点

这两个节点被触发后存在一个执行等待的过程,所以可以被用户直接挂起和手工结束。人工节点的挂起意味着所有未完成工作项的挂起,同时相应时间服务的时间计算的挂起。手工结束会使流程跳过该节点(所有工作项手工结束),继续往后流转。

B、开始节点、结束节点、分支节点、自动节点

这些节点的特点在于被触发后立刻执行和流转,所以不会存在挂起和手工结束的状态。

C、并发节点、汇聚节点

并发节点和汇聚节点不存在挂起的状态,同时不能被用户直接手工结束,它们的状态受流程实例状态和相关节点实例状态的影响。

并发节点和汇聚节点的情况复杂一些,分模式讨论



图1

1、同步汇聚(图1)

根据情况触发节点0、节点1、节点2中的一个或多个,汇聚节点等待所有实际触发的节点完成后再执行流转。中间汇聚节点只会产生一个实例。

1.1、正常流转时的处理策略

当汇聚节点未被触发时(即节点0、节点1、节点2都未执行结束),并发节点处于执行状态,一旦汇聚节点被触发(即节点0、节点1、节点2有一个执行结束),并发节点正常结束并且汇聚节点处于执行状态,所有并发出的节点实例执行结束后,汇聚节点正常结束,流程继续流转。

1.2、用户挂起、手工结束相关节点的处理策略

1.2.1、汇聚节点未激活时

节点0、节点1、节点2的挂起和恢复执行不会影响并发节点的状态(依旧处于执行状态);节点0、节点1、节点2的任一手工结束都会触发汇聚节点,使并发节点正常结束,如果所有并发的节点实例都结束(包括手工结束和正常结束),汇聚节点正常结束,触发流程流转。

1.2.2、汇聚节点已激活时

节点0、节点1、节点2的挂起和恢复执行不会影响汇聚节点的状态(依旧处于执行状态);节点0、节点1、节点2的手工结束会影响汇聚节点的状态,每个节点实例的手工结束会引起汇聚节点的判断,如果所有并发的节点实例(包括正常结束和手工结束)都结束,汇聚节点正常结束,触发流程流转。

1.3、用户挂起、手工结束流程的处理策略

1.3.1、汇聚节点未激活时

流程的挂起和恢复执行不会影响并发节点的状态(依旧处于执行状态),节点0、节点1、节点2会被全部挂起或恢复;流程的手工结束会引起所有节点的手工结束。

1.3.2、汇聚节点已激活时

流程的挂起和恢复执行不会影响汇聚节点的状态(依旧处于执行状态),节点0、节点1、节点2未执行结束的实例会被全部挂起或恢复;流程的手工结束会引起所有节点的手工结束。

2、nOutOfM汇聚(图1)

根据情况触发节点0、节点1、节点2中的一个或多个,汇聚节点等待N个实际触发的节点完成后即执行流转(N>0且N=M的情况下即为同步汇聚。中间汇聚节点只会产生一个实例。

2.1、正常流转时的处理策略

当汇聚节点未被触发时(即节点0、节点1、节点2都未执行结束),并发节点处于执行状态,一旦汇聚节点被触发(即节点0、节点1、节点2有一个执行结束),并发节点正常结束并且汇聚节点处于执行状态,N个并发出的节点实例执行结束后,汇聚节点正常结束,流程继续流转,M-N的节点实例被手工结束。

2.2、用户挂起、手工结束相关节点的处理策略

2.2.1、汇聚节点未激活时

节点0、节点1、节点2的挂起和恢复执行不会影响并发节点的状态(依旧处于执行状态);节点0、节点1、节点2的任一手工结束都会触发汇聚节点,使并发节点正常结束,如果N个并发的节点实例都手工结束,并发节点正常结束,触发汇聚节点,汇聚节点正常结束,触发流程流转,M-N的节点实例被手工结束。

2.2.2、汇聚节点已激活时

节点0、节点1、节点2的挂起和恢复执行不会影响汇聚节点的状态(依旧处于执行状态);节点0、节点1、节点2的手工结束会影响汇聚节点的状态,每个节点实例的手工结束会引起汇聚节点的判断,如果N个并发的节点实例(包括正常结束和手工结束)都结束,汇聚节点正常结束,触发流程流转,M-N的节点实例被手工结束。

2.3、用户挂起、手工结束流程的处理策略

2.3.1、汇聚节点未激活时

流程的挂起和恢复执行不会影响并发节点的状态(依旧处于执行状态),节点0、节点1、节点2会被全部挂起或恢复;流程的手工结束会引起所有节点的手工结束。

2.3.2、汇聚节点已激活时

流程的挂起和恢复执行不会影响汇聚节点的状态(依旧处于执行状态),节点0、节点1、节点2未执行结束的实例会被全部挂起或恢复;流程的手工结束会引起所有节点的手工结束。

3、辨别汇聚(图1)

是nOutOfM汇聚的特例,N=1

4、多实例汇聚(图2)



图2

根据情况触发节点0、节点1中的一个或多个,节点0和节点1任意一个执行结束后都会触发汇聚节点产生一个新的实例,汇聚节点实例紧接着触发节点2,节点2也会产生多个实例。

4.1、正常流转时的处理策略

当汇聚节点未被触发时(即节点0、节点1都未执行结束),并发节点处于执行状态,一旦汇聚节点被触发(即节点0、节点1有一个执行结束),汇聚节点会紧接着触发节点2,汇聚节点正常结束。所有并发出的节点实例执行结束后,并发节点正常结束。

4.2、用户挂起、手工结束相关节点的处理策略

节点0、节点1的挂起和恢复执行不会影响并发节点的状态(依旧处于执行状态);节点0、节点1的手工结束会影响并发节点和汇聚节点的状态,每个节点实例的手工结束会引起汇聚节点产生新的实例并触发节点2,同时会引起并发节点的判断,如果所有并发的节点实例都手工结束,并发节点正常结束。

4.3、用户挂起、手工结束流程的处理策略

流程的挂起和恢复执行不会影响并发节点的状态(依旧处于执行状态),节点0、节点1、节点2会被全部挂起或恢复;流程的手工结束会引起所有未结束节点的手工结束。

5、隐式结束,没有汇聚节点与并发节点对应(图3)



图3

所有节点结束时(正常结束或手工结束),并发节点正常结束。流程的手工结束会引起所有未结束节点的手工结束。

四、流程实例状态变化对节点实例状态造成的影响

1、流程实例的挂起

A类节点挂起,B、C类节点不受影响。同时在流程实例恢复执行之前,A类节点不允许用户直接恢复执行。

2、流程实例的手工结束

所有节点全部手工结束。

五、节点实例状态变化对流程实例状态造成的影响

隐式结束的情况下,节点的手工结束或正常结束都会触发流程的判断,如果所有的节点都已结束则流程结束。

shen1217收录

时间:2008-6-5 11:23:44 | 相关网摘

yuezu1026收录

时间:2008-6-12 10:02:26 | 相关网摘

工节点、等待节点这两个节点被触发后存在一个执行等待的过程,所以可以被用户直接挂起和手工结束。人工节点的挂起意味着所有未完成工作项的挂起,同时相应时间服务的时间计算的挂起。手工结束会使流程跳过该节点(所有工作项手工结束),继续往后流转。B、开始节点、结束节点、分支节点、自动节点这些节点的特点在于被触发后立刻执行和流转,所以不会存在挂起和手工结束的状态。C、并发节点、汇聚节�

zhbr收录

时间:2008-6-14 20:40:50 | 相关网摘

coolaaron收录

时间:2008-6-15 14:33:33 | 相关网摘

jzlxiwanggood收录

时间:2008-7-1 23:27:01 | 相关网摘


网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
Copyright © 2000-2008, CSDN.NET, All Rights Reserved