摘要
回退作为工作流管理系统的一项重要功能,它是工作流参与者对自己“待办任务”的一种操作,即参与者主动回退任务到已经执行过的人工节点,并从该节点重新执行。回退机制有效地增强了工作流管理系统的柔性和灵活性,提高了企业业务流程的动态处理能力。但是,由于现代企业流程的不确定性、多变性及复杂性,对于一些特殊业务流程,回退处理时可能引发流程死锁及数据不一致问题;同时,有些回退方法不能一次多步回退,只能回退至其直接前驱活动,或是通过逐级回退至发生错误的活动上,这也容易造成流程的混乱和回退的繁琐。 论文分析了工作流系统中流程回退方法的研究现状,针对现有回退方法可能引起流程死锁、数据不一致以及流程活动不能一次跨多步回退等现象,给出了流程的形式化定义,制定了回退规则,提出了一种基于多层校验策略集的回退机制。该机制由建模策略、回退约束和回退策略集三层组成,每层自下而上顺序校验。建模策略实现对工作流模型合法性的校验和回退语义的支持,回退约束对流程执行过程中回退请求的有效性进行判断,回退策略集定义了不同回退模式下,回退操作应该遵循的执行逻辑,从而保证工作流中数据和状态的正确性。由于该机制减少了对回退目标活动的限制,流程中所有符合多层检验策略的活动均可作为目标活动被回退,较好地实现了跨多活动回退。 在上述研究的基础上,论文基于Shark引擎设计并实现了一个支持流程多步回退的应用模型 GN-Shark,并在赣能上市公司综合信息管理系统的办公自动化子系统中得到了应用,运行情况良好。