一种在办公自动化中基于规则约束的自适应流程方法技术

技术编号:2837663 阅读:243 留言:0更新日期:2012-04-11 18:40
一种在办公自动化中基于规则约束的自适应流程方法,该方法是在流程规则和业务规则的约束下,允许为流程模板添加附加模板,此模板对原流程模板进行扩充和修改,并与原模板分开存放。在流程运行时通过合并算法对原模板和附加的模板进行合并,且流程的实例按照合并后的模板运行,从而达到流程的自适应。为流程模板添加附加模板的过程中,设置附加信息的有效期、有效次数,超过有效期或者有效运行次数。因为附加模板和原流程模板是隔离存储的,只有在运行时才通过合并算法形成修改后的模板,并只服务于运行时的当前的流程实例,所以运行时改变的流程模板跟流程的运行记录进行关联,只会影响到当前流程实例,不影响同样流程模板的其他流程,且也不进行持续化存储,从而控制了流程变化的影响范围,实现了运行时动态的改变流程运行方式。

【技术实现步骤摘要】

本专利技术涉及计算机应用技术,具体地说是一种办公自动化中自适应流程的实现方法。2、技术背景在办公自动化领域的公文审批中,存在会签、加签、跳转、回退、指定审批人等需求。会签指增加当前节点的审批人;加签,指在当前节点之前或者之后增加一个新的节点;跳转指跳过后续的某一些节点;回退指回退到上一步和回退到起始位置;指定审批人,指表单提交时,指定下一个审批节点的审批人员。这些需求,可以归纳为自适应工作流的应用。自适应工作流,在业务流程建模语言BPMN(Business Process Modeling Notation)是AdHoc类型的流程,但仅是图形化方面的标准,没有执行方面的内容。国外的工作流产品大部分不支持这种运行方式,极少数工作流产品能够有限支持,但是需要开发人员写大量的代码来实现。国内部分工作流产品支持这样的方式,支持的方式是用户打开流程设计器重新设计流程,用户一般缺少相关知识,产品缺少有效的修改验证,修改之后因为流程模板不一样没有办法进行流程的统计分析,这违背了流程管理的初衷;还有一种方式是将可能改变的各种情况都考虑到,并增加一些额外的流程节点,当出现这些情况时再根据预案的内容进行调整,这种方式不够灵活,因为流程设计者无法预见到所有意外情况,当出现没有预见到的情况出现时就无法处理了。这两种方式都不适合国内办公自动化的领域。3、
技术实现思路
本专利技术提供一种满足需求、足够灵活、方便修改和验证的方法。这种方法在流程规则和业务规则的约束下,对于流程的模板进行修改,修改的流程模板独立存储,在流程运行时通过合并算法对原模板和修改后的模板进行合并,从而达到流程的自适应。流程规则指自适应流程需要避免出现流程死锁、不可达的结构性冲突,对自适应的流程进行结构性检查。业务规则的定义是处理人的权限、处理人的职位、流程的紧急程度,比如拥有权限的用户可以改变流程,处理人可以添加相同职位的人员一起会签,紧急的公文可以越级审批。本专利技术的在办公自动化中基于规则约束的自适应流程的方法是在流程规则和业务规则的约束下,允许为流程模板添加附加模板,此模板对原流程模板进行扩充和修改,并与原模板分开存放。在流程运行时通过合并算法对原模板和附加的模板进行合并,且流程的实例按照合并后的模板运行,从而达到流程的自适应。为流程模板添加附加模板的过程中,设置附加信息的有效期、有效次数,超过有效期或者有效运行次数。因为附加模板和原流程模板是隔离存储的,只有在运行时才通过合并算法形成修改后的模板,并只服务于运行时的当前的流程实例,所以运行时改变的流程模板跟流程的运行记录进行关联,只会影响到当前流程实例,不影响同样流程模板的其他流程,且也不进行持续化存储,从而控制了流程变化的影响范围,实现了运行时动态的改变流程运行方式。具体的,在将要运行到已经修改过的节点时,从数据库中查询原来的流程模板和处于有效状态的修改后的信息,通过合并算法进行流程模板的合并,合并之后的流程跟流程模板在格式上没有区别,符合国际规范和标准,流程运行引擎可以解析(如图1)。附图说明图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,而上述的情况永远本文档来自技高网...

【技术保护点】
一种在办公自动化中基于规则约束的自适应流程方法,其特征在于,该方法是在流程规则和业务规则的约束下,允许为流程模板添加附加模板,此模板对原流程模板进行扩充和修改,并与原模板分开存放,在流程运行时,通过合并算法对原模板和附加的模板进行合并,且流程的实例按照合并后的模板运行,从而达到流程的自适应,流程模板添加附加模板的过程中,设置附加信息的有效期、有效次数,超过有效期或者有效运行次数,只有在运行时才通过合并算法形成修改后的模板,并只服务于运行时的当前的流程实例,运行时改变的流程模板跟流程的运行记录进行关联,只会影响到当前流程实例,不影响同样流程模板的其他流程,且也不进行持续化存储,从而控制了流程变化的影响范围,实现了运行时动态的改变流程运行方式,在将要运行到已经修改过的节点时,从数据库中查询原来的流程模板和处于有效状态的修改后的信息,通过合并算法进行流程模板的合并,合并之后的流程跟流程模板在格式上相同,符合国际规范和标准,不会影响流程流程引擎的运行逻辑。

【技术特征摘要】
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、...

【专利技术属性】
技术研发人员:李海波朱金晨孙立新
申请(专利权)人:浪潮集团山东通用软件有限公司
类型:发明
国别省市:88[中国|济南]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1