CN101051364A - 一种在办公自动化中基于规则约束的自适应流程方法 - Google Patents
一种在办公自动化中基于规则约束的自适应流程方法 Download PDFInfo
- Publication number
- CN101051364A CN101051364A CNA2007100157281A CN200710015728A CN101051364A CN 101051364 A CN101051364 A CN 101051364A CN A2007100157281 A CNA2007100157281 A CN A2007100157281A CN 200710015728 A CN200710015728 A CN 200710015728A CN 101051364 A CN101051364 A CN 101051364A
- Authority
- CN
- China
- Prior art keywords
- flow
- node
- template
- flow process
- redirect
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种在办公自动化中基于规则约束的自适应流程方法,该方法是在流程规则和业务规则的约束下,允许为流程模板添加附加模板,此模板对原流程模板进行扩充和修改,并与原模板分开存放。在流程运行时通过合并算法对原模板和附加的模板进行合并,且流程的实例按照合并后的模板运行,从而达到流程的自适应。为流程模板添加附加模板的过程中,设置附加信息的有效期、有效次数,超过有效期或者有效运行次数。因为附加模板和原流程模板是隔离存储的,只有在运行时才通过合并算法形成修改后的模板,并只服务于运行时的当前的流程实例,所以运行时改变的流程模板跟流程的运行记录进行关联,只会影响到当前流程实例,不影响同样流程模板的其他流程,且也不进行持续化存储,从而控制了流程变化的影响范围,实现了运行时动态的改变流程运行方式。
Description
1、技术领域
本发明涉及计算机应用技术,具体地说是一种办公自动化中自适应流程的实现方法。
2、技术背景
在办公自动化领域的公文审批中,存在会签、加签、跳转、回退、指定审批人等需求。会签指增加当前节点的审批人;加签,指在当前节点之前或者之后增加一个新的节点;跳转指跳过后续的某一些节点;回退指回退到上一步和回退到起始位置;指定审批人,指表单提交时,指定下一个审批节点的审批人员。这些需求,可以归纳为自适应工作流的应用。
自适应工作流,在业务流程建模语言BPMN(Business Process Modeling Notation)是AdHoc类型的流程,但仅是图形化方面的标准,没有执行方面的内容。国外的工作流产品大部分不支持这种运行方式,极少数工作流产品能够有限支持,但是需要开发人员写大量的代码来实现。国内部分工作流产品支持这样的方式,支持的方式是用户打开流程设计器重新设计流程,用户一般缺少相关知识,产品缺少有效的修改验证,修改之后因为流程模板不一样没有办法进行流程的统计分析,这违背了流程管理的初衷;还有一种方式是将可能改变的各种情况都考虑到,并增加一些额外的流程节点,当出现这些情况时再根据预案的内容进行调整,这种方式不够灵活,因为流程设计者无法预见到所有意外情况,当出现没有预见到的情况出现时就无法处理了。这两种方式都不适合国内办公自动化的领域。
3、发明内容
本发明提供一种满足需求、足够灵活、方便修改和验证的方法。这种方法在流程规则和业务规则的约束下,对于流程的模板进行修改,修改的流程模板独立存储,在流程运行时通过合并算法对原模板和修改后的模板进行合并,从而达到流程的自适应。
流程规则指自适应流程需要避免出现流程死锁、不可达的结构性冲突,对自适应的流程进行结构性检查。业务规则的定义是处理人的权限、处理人的职位、流程的紧急程度,比如拥有权限的用户可以改变流程,处理人可以添加相同职位的人员一起会签,紧急的公文可以越级审批。
本发明的在办公自动化中基于规则约束的自适应流程的方法是在流程规则和业务规则的约束下,允许为流程模板添加附加模板,此模板对原流程模板进行扩充和修改,并与原模板分开存放。在流程运行时通过合并算法对原模板和附加的模板进行合并,且流程的实例按照合并后的模板运行,从而达到流程的自适应。为流程模板添加附加模板的过程中,设置附加信息的有效期、有效次数,超过有效期或者有效运行次数。因为附加模板和原流程模板是隔离存储的,只有在运行时才通过合并算法形成修改后的模板,并只服务于运行时的当前的流程实例,所以运行时改变的流程模板跟流程的运行记录进行关联,只会影响到当前流程实例,不影响同样流程模板的其他流程,且也不进行持续化存储,从而控制了流程变化的影响范围,实现了运行时动态的改变流程运行方式。具体的,在将要运行到已经修改过的节点时,从数据库中查询原来的流程模板和处于有效状态的修改后的信息,通过合并算法进行流程模板的合并,合并之后的流程跟流程模板在格式上没有区别,符合国际规范和标准,流程运行引擎可以解析(如图1)。
4、附图说明
图1是普通工作流处理流程示意图;
图2是自适应工作流处理流程示意图;
图3是节点信息合并示意图;
图4是增加节点合并示意图;
图5是跳转节点合并示意图。
5、实施方式
本发明的一种在办公自动化中基于规则约束的自适应流程方法,是在流程规则和业务规则的约束下,允许为流程模板添加附加模板,此模板对原流程模板进行扩充和修改,并与原模板分开存放。在流程运行时通过合并算法对原模板和附加的模板进行合并,且流程的实例按照合并后的模板运行,从而达到流程的自适应。为流程模板添加附加模板的过程中,设置附加信息的有效期、有效次数,超过有效期或者有效运行次数。因为附加模板和原流程模板是隔离存储的,只有在运行时才通过合并算法形成修改后的模板,并只服务于运行时的当前的流程实例,所以运行时改变的流程模板跟流程的运行记录进行关联,只会影响到当前流程实例,不影响同样流程模板的其他流程,且也不进行持续化存储,从而控制了流程变化的影响范围,实现了运行时动态的改变流程运行方式。具体的,在将要运行到已经修改过的节点时,从数据库中查询原来的流程模板和处于有效状态的修改后的信息,通过合并算法进行流程模板的合并,合并之后的流程跟流程模板在格式上没有区别,符合国际规范和标准,流程运行引擎可以解析。
流程规则指自适应流程需要避免出现流程死锁、不可达的结构性冲突,对自适应的流程进行结构性检查。业务规则的定义是处理人的权限、处理人的职位、流程的紧急程度,比如拥有权限的用户可以改变流程,处理人可以添加相同职位的人员一起会签,紧急的公文可以越级审批。
在本发明的方法中流程合并算法包括:1)修改节点合并;2)增加节点合并;3)跳转节点合并;
1)修改节点合并;假如原节点为A1,修改后的节点为A2,合并后的节点为A3,修改模板存储了节点A2。合并原节点A1时,需要对比A1和A2的属性,假如节点中某个属性为P1,A1.P1的值为V1,A2.P1的值为V2,如果V2为空,则A3.P1=V1;如果V2不为空,则A3.P1=V2;因为P1可能不是简单类型,而是一个复杂的对象,因此,需要采用递归算法逐一比较,最后合并为A3,用A3替换A1;
2)增加节点合并:假如A和B是流程的两个节点,TA-B是A->B时连接线;现在需在A和B之间增加一个节点C,修改模板存储从节点A后面增加节点C,首先分别增加连接线TA-C和TC-B,再删除连接线TA-B,这样,整个流程就改变为A->C->B;再复杂的情况,比如A、B、C是流程的三个节点,存在TA-B、TA-C这两条分支,表达式为A->B|C,在A的后面增加一个节点D,首先增加TA-C、TD-B、TD-C,然后删除TA-B、TA-C,这样就变为A->D->B|C。在合并过程中,A到B|C的分支为“或”分支(实际可能存在两种类型的分支And或Xor,And表示之后的分支全部被激活,Xor表示有条件的激活后继分支中的一条),需要将A上定义的分支类型剪切到D上,将TA-B、TA-C上的条件以及条件类型属性复制到TD-B、TD-C上;
3)跳转节点合并:假如A、B、C是流程的三个节点,连接线TA-B、TB-C,流程为A->B->C;现在需要从A跳过B直接转到C,修改模板将记录从挑出节点和跳入节点;首先需要增加TA-C,再删除TA-B、TB-C以及节点B;更为复杂的情况,因为流程节点和他们之间的连接线构成了一个图,而且增加了运行方式,在跳转合并时,是否会导致流程不可达、死锁以及业务数据的混乱,因此,需要重点考虑。举例流程为A->B&C->D->E(A到B&C存在“与”分支),流程运行到B和C两个节点。现在如果进行C->E的跳转,流程会创建E,如果B也进行B->E的跳转,也会创建E,这样E及其后续节点会被执行两遍,造成了业务数据的混乱。同样是上面的流程,正常执行到了E,如果执行E->B的跳转,B继续执行,则导致了流程的不可达,因为D的汇合类型为“与”,要求前导迁移全部执行完毕才能创建D,而上述的情况永远也无法激活TC-D的迁移。
在增加节点合并算法中:表达式A->B|C中的“|”,表示B和C是“或”的关系,“或”关系由A的分支类型来指定,而且TA-B和TA-C上需要定义选择B和C的条件。在任意节点跳转合并算法中:表达式A->B&C中的“&”,表示B和C是“与”的关系,由A的分支类型来决定。
6、实施实例
通过流程设计器,设计流程模板,通过任务列表中的修改节点、增加节点和跳转的功能添加附加模板。流程合并的工作,工作流引擎会按照5实施方式的算法的进行合并。
如公文审批中的会签、指定审批人需要使用修改节点合并算法实现;加签需要使用简单增加节点合并算法;跳转、回退需要使用跳转节点合并算法。如跳转功能,首先操作人需要有可以跳转的权限,之后通过任务列表中的跳转功能打开跳转设置页面。通过有向图的可达性验证算法,筛选出当前节点可以安全跳转的节点,操作人选择希望跳转的节点,最后执行当前活动推动流程的运转,流程就会跳转到设置好的节点。
办公自动化产品中的审批流已经实施了这种方法,通过这种方法,满足了公文流转过程中的灵活修改流程模板的要求。山东省国资委项目和中国信息研究所科技部项目中已经成功实施了该产品。
Claims (4)
1、一种在办公自动化中基于规则约束的自适应流程方法,其特征在于,该方法是在流程规则和业务规则的约束下,允许为流程模板添加附加模板,此模板对原流程模板进行扩充和修改,并与原模板分开存放,在流程运行时,通过合并算法对原模板和附加的模板进行合并,且流程的实例按照合并后的模板运行,从而达到流程的自适应,流程模板添加附加模板的过程中,设置附加信息的有效期、有效次数,超过有效期或者有效运行次数,只有在运行时才通过合并算法形成修改后的模板,并只服务于运行时的当前的流程实例,运行时改变的流程模板跟流程的运行记录进行关联,只会影响到当前流程实例,不影响同样流程模板的其他流程,且也不进行持续化存储,从而控制了流程变化的影响范围,实现了运行时动态的改变流程运行方式,在将要运行到已经修改过的节点时,从数据库中查询原来的流程模板和处于有效状态的修改后的信息,通过合并算法进行流程模板的合并,合并之后的流程跟流程模板在格式上相同,符合国际规范和标准,不会影响流程流程引擎的运行逻辑。
2、根据权利要求1所述自适应流程方法,其特征在于流程模板的合并算法如下:
合并算法分为:1)修改节点合并;2)增加节点合并;3)跳转节点合并;
1)修改节点合并:假如原节点为A1,修改后的节点为A2,合并后的节点为A3,修改模板存储了节点A2。合并原节点A1时,需要对比A1和A2的属性,假如节点中某个属性为P1,A1.P1的值为V1,A2.P1的值为V2,如果V2为空,则A3.P1=V1;如果V2不为空,则A3.P1=V2;因为P1可能不是简单类型,而是一个复杂的对象,因此,需要采用递归算法逐一比较,最后合并为A3,用A3替换A1;
2)增加节点合并:假如A和B是流程的两个节点,TA-B是A->B的连接线;现在需在A和B之间增加一个节点C,修改模板存储从节点A后面增加节点C,首先分别增加连接线TA-C和TC-B,再删除连接线TA-B,这样,整个流程就改变为A->C->B;再复杂的情况,比如A、B、C是流程的三个节点,存在TA-B、TA-C这两条分支,表达式为A->B|C,在A的后面增加一个节点D,首先增加TA-D、TD-B、TD-C,然后删除TA-B、TA-C,这样就变为A->D->B|C。在合并过程中,A到B|C的分支为“或”分支(实际可能存在两种类型的分支And或Xor,And表示之后的分支全部被激活,Xor表示有条件的激活后继分支中的一条),需要将A上定义的分支类型剪切到D上,将TA-B、TA-C上的条件以及条件类型属性复制到TD-B、TD-C上;
3)跳转节点合并:假如A、B、C是流程的三个节点,连接线TA-B、TB-C,流程为A->B->C;现在需要从A跳过B直接转到C,修改模板将记录从挑出节点和跳入节点;首先需要增加TA-C,再删除TA-B、TB-C以及节点B;更为复杂的情况,因为流程节点和他们之间的连接线构成了一个图,而且增加了运行方式,在跳转合并时,是否会导致流程不可达、死锁以及业务数据的混乱,因此,需要重点考虑。举例流程为A->B&C->D->E(A到B&C存在“与”分支),流程运行到B和C两个节点。现在如果进行C->E的跳转,流程会创建E,如果B也进行B->E的跳转,也会创建E,这样E及其后续节点会被执行两遍,造成了业务数据的混乱。同样是上面的流程,正常执行到了E,如果执行E->B的跳转,B继续执行,则导致了流程的不可达,因为D的汇合类型为“与”,要求前导迁移全部执行完毕才能创建D,而上述的情况永远也无法激活TC-D的迁移。
3、根据权利要求2所述自适应流程方法方法,其特征在于,在表达式A->B|C中的“|”,表示B和C是“或”的关系,“或”关系由A的属性来指定,而且TA-B和TA-C上需要定义选择B和C的条件)。
4、根据权利要求1所述自适应流程方法规则,其特征在于:流程规则指自适应流程需要避免出现流程死锁、不可达的结构性冲突,对自适应的流程进行结构性检查;业务规则的定义是处理人的权限、处理人的职位、流程的紧急程度等,比如只有拥有相关权限的用户可以改变流程,处理人可以添加相同职位的人员一起会签,紧急的公文可以越级审批等。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100157281A CN101051364A (zh) | 2007-05-10 | 2007-05-10 | 一种在办公自动化中基于规则约束的自适应流程方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100157281A CN101051364A (zh) | 2007-05-10 | 2007-05-10 | 一种在办公自动化中基于规则约束的自适应流程方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101051364A true CN101051364A (zh) | 2007-10-10 |
Family
ID=38782771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100157281A Pending CN101051364A (zh) | 2007-05-10 | 2007-05-10 | 一种在办公自动化中基于规则约束的自适应流程方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101051364A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101963908A (zh) * | 2010-09-30 | 2011-02-02 | 山东中创软件工程股份有限公司 | 一种实现无结构化流程中分支动态合并的方法及装置 |
CN103093289A (zh) * | 2011-10-27 | 2013-05-08 | 镇江雅迅软件有限责任公司 | 一种多人审批流程的实现方法 |
CN103606073A (zh) * | 2013-08-28 | 2014-02-26 | 中海油信息科技有限公司 | 一种基于IBM FileNet的办公文件的传送方法和系统 |
WO2014108770A1 (en) * | 2013-01-08 | 2014-07-17 | International Business Machines Corporation | Handling process instance migration in business process management |
CN104751276A (zh) * | 2015-03-20 | 2015-07-01 | 七朵云(贵州)科技股份有限公司 | 一种基于数据库的工作流程管理方法 |
CN105955946A (zh) * | 2016-05-18 | 2016-09-21 | 平安科技(深圳)有限公司 | 电子文件的流转方法和系统 |
CN106503970A (zh) * | 2016-11-04 | 2017-03-15 | 东软集团股份有限公司 | 流程实例的编辑方法及装置 |
CN106506563A (zh) * | 2016-12-30 | 2017-03-15 | 中国建设银行股份有限公司 | 账户设置方法、装置和银行服务系统 |
CN108074072A (zh) * | 2016-11-15 | 2018-05-25 | 北京合思信息技术有限公司 | 一种财务工作审批流程管理方法 |
CN108269070A (zh) * | 2018-02-26 | 2018-07-10 | 金蝶软件(中国)有限公司 | 一种合并活动的控制方法及相关装置 |
CN112487405A (zh) * | 2020-12-18 | 2021-03-12 | 中国农业银行股份有限公司 | 一种权限信息处理方法及装置 |
-
2007
- 2007-05-10 CN CNA2007100157281A patent/CN101051364A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101963908A (zh) * | 2010-09-30 | 2011-02-02 | 山东中创软件工程股份有限公司 | 一种实现无结构化流程中分支动态合并的方法及装置 |
CN101963908B (zh) * | 2010-09-30 | 2013-04-24 | 山东中创软件工程股份有限公司 | 一种实现无结构化流程中分支动态合并的方法及装置 |
CN103093289A (zh) * | 2011-10-27 | 2013-05-08 | 镇江雅迅软件有限责任公司 | 一种多人审批流程的实现方法 |
WO2014108770A1 (en) * | 2013-01-08 | 2014-07-17 | International Business Machines Corporation | Handling process instance migration in business process management |
CN103606073A (zh) * | 2013-08-28 | 2014-02-26 | 中海油信息科技有限公司 | 一种基于IBM FileNet的办公文件的传送方法和系统 |
CN104751276A (zh) * | 2015-03-20 | 2015-07-01 | 七朵云(贵州)科技股份有限公司 | 一种基于数据库的工作流程管理方法 |
CN105955946A (zh) * | 2016-05-18 | 2016-09-21 | 平安科技(深圳)有限公司 | 电子文件的流转方法和系统 |
CN105955946B (zh) * | 2016-05-18 | 2018-06-01 | 平安科技(深圳)有限公司 | 电子文件的流转方法和系统 |
CN106503970A (zh) * | 2016-11-04 | 2017-03-15 | 东软集团股份有限公司 | 流程实例的编辑方法及装置 |
CN108074072A (zh) * | 2016-11-15 | 2018-05-25 | 北京合思信息技术有限公司 | 一种财务工作审批流程管理方法 |
CN106506563A (zh) * | 2016-12-30 | 2017-03-15 | 中国建设银行股份有限公司 | 账户设置方法、装置和银行服务系统 |
CN108269070A (zh) * | 2018-02-26 | 2018-07-10 | 金蝶软件(中国)有限公司 | 一种合并活动的控制方法及相关装置 |
CN108269070B (zh) * | 2018-02-26 | 2021-02-02 | 金蝶软件(中国)有限公司 | 一种合并活动的控制方法及相关装置 |
CN112487405A (zh) * | 2020-12-18 | 2021-03-12 | 中国农业银行股份有限公司 | 一种权限信息处理方法及装置 |
CN112487405B (zh) * | 2020-12-18 | 2023-07-28 | 中国农业银行股份有限公司 | 一种权限信息处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101051364A (zh) | 一种在办公自动化中基于规则约束的自适应流程方法 | |
JP7090778B2 (ja) | 影響分析 | |
Stojanovic et al. | Ontology Evolution within Ontology Editors. | |
Stojanovic et al. | User-driven ontology evolution management | |
Hallerbach et al. | Configuration and management of process variants | |
US9501275B2 (en) | Compositing deltas when merging artifacts in a version control system | |
US20030200533A1 (en) | Method and apparatus for creating software objects | |
CN108319656A (zh) | 实现灰度发布的方法、装置及计算节点和系统 | |
EP1770620A2 (en) | Method for modelling processing procedures | |
US20030088857A1 (en) | Method for facilitating application development | |
JP2003178170A (ja) | ワークフロー・システムにおける変更後のプロセス定義への移行方法 | |
Hallerbach et al. | Issues in modeling process variants with provop | |
Kim et al. | Dynamic business process management based on process change patterns | |
Al-Saiyd | Source code comprehension analysis in software maintenance | |
Natschläger et al. | Deontic BPMN: a powerful extension of BPMN with a trusted model transformation | |
Ackermann et al. | A library of OCL specification patterns for behavioral specification of software components | |
Weber et al. | A different view on PDM and its future potentials | |
US11188307B2 (en) | Modelizing resources and external data of a program for procedural language coding | |
Istoan et al. | A metamodel-based classification of variability modeling approaches | |
Fernández-Ropero et al. | Graph-Based Business Process Model Refactoring. | |
Mafazi et al. | Conflict resolution for on-the-fly change propagation in business processes | |
Ter Beek et al. | Detecting policy conflicts by model checking UML state machines | |
Chen et al. | An ECA rule-based workflow design tool for Shanghai Grid | |
Buchmann et al. | Advancing negative variability in model-driven software product line engineering | |
Brinkkemper et al. | Object-oriented analysis and design methods: a comparative review |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20071010 |