一种不同流程实例协同运行的系统及其实现方法

文档序号:9275015阅读:178来源:国知局
一种不同流程实例协同运行的系统及其实现方法
【技术领域】
[0001]本发明涉及工作流系统领域,特别是涉及一种不同流程实例协同运行的系统及其实现方法。
【背景技术】
[0002]工作流引擎完成工作流模型的解析、执行和管理,并按照预先定义的业务逻辑推进流程实例的执行。流程实例的运行过程反应了业务运行的生命周期,通过对流程实例的管控来控制业务办理进度。
[0003]每一笔业务的办理,都要通过工作流引擎按照业务流程模型来产生流程实例,流程实例的执行环节代表业务现行的办理环节,用户可以通过流程实例的跳转记录来跟踪业务办理过程。一般的工作流引擎及系统都提供流程运行图的查看和运行日志的查看,多个流程实例要协作运行都需要在业务流程模型中定义子流程来实现,如果没有在流程模型中内嵌业务之间的关联,则无法展示不同业务的关联与协作,也无法真正地实现基于工作流引擎的业务全生命周期的管控。而在不同领域的复杂业务或者业务模式中,用户迫切希望工作流技术能解决独立流程模型之间关联运行的问题,这样才能增加业务的灵活性,为用户提供更为强大的流程流转支持多流程实例协同运行成了我们面向工作流亟需解决的问题。
[0004]为了实现业务之间的关联,现有技术通常是通过扩展流程实例与业务之间关联表来解决,通过特定的接口实现来产生关联数据,但是这种方法是独立在工作流引擎体系之外的,会极大地增加多流程实例下工作流数据维护与获取的复杂程度。

【发明内容】

[0005]本发明的目的在于克服现有技术的不足,提供了一种在工作流引擎中不同流程实例可协同运行的系统及实现方法,用以解决一般工作流引擎无法支持的不同流程实例之间的协同运行或者游离于流程引擎体系之外的问题。
[0006]本发明的目的是通过以下技术方案来实现的:一种不同流程实例协同运行的系统,所述系统包括流程实例协同处理器和工作流引擎,流程实例协同处理器通过工作流引擎接口调用工作流引擎中的流程实例,流程实例协同处理器对不同的流程实例进行协同运行处理,并通过工作流引擎扩展接口将流程实例协同处理器的协同运行接口扩展到工作流引擎中。
[0007]所述流程实例协同处理器包括以下多个部件。
[0008]发起协同指令校验单元,用于校验发起业务协同对象、被发起对象和协同运行方式,调用协同执行接口,校验协同入参。
[0009]流程实例池创建单元,用于在工作流引擎在进行流程执行时,将流程实例的数据加载到内存中,初始化流程实例协同处理器,创建流程实例池,并保存不同流程实例之间的协同关系。
[0010]流程实例协同处理单元,根据协同入参触发协同运行机制的调度计算,通过工作流引擎接口调用工作流引擎中发起业务协同对象和被发起对象的流程实例,对该不同的流程实例进行管控,并根据协同运行指令对流程实例执行协同运行。
[0011]所述流程实例协同处理器还包括流程实例协同监听单元,用于在工作流引擎执行流程对象时,与流程实例协同处理器进行绑定,当流程实例的状态变更触发协同运行机制时,则自动向流程实例协同处理单元发出流程实例的协同运行指令。
[0012]所述流程实例协同处理器还包括流程实例协同查询单元,用于在工作流引擎实例化流程对象时,查询是否存在关联的流程实例,即需协同运行处理的流程实例,如果存在,则调用流程实例池创建单元进行相应的操作。
[0013]所述协同运行接口通过工作流引擎接口包装类与工作流引擎扩展接口连接。
[0014]一种不同流程实例协同运行的实现方法,所述方法包括以下多个步骤:
51:调用协同运行接口,校验协同入参;
52:若校验通过,则对流程实例协同处理器进行初始化处理,并创建流程实例池;
53:若流程实例池创建成功,则根据协同运行指令触发协同运行机制进行流程实例的调度,通过工作流引擎接口调用工作流引擎中流程实例,并对该流程实例进行管控,并根据协同运行指令对流程实例执行协同运行。
[0015]所述方法还包括步骤S4:将流程实例池中的流程对象与流程实例协同处理器进行绑定,当流程对象的状态发生变化触发协同运行机制时,自动产生流程实例的协同运行指令。
[0016]所述方法还包括步骤S5:每当调用工作流引擎进行流程实例的流转时,先查询是否存在协同流程实例,如果存在,则执行步骤S2。
[0017]所述流程实例池中的流程对象包括流程实例、节点实例和任务实例,所述流程实例包括发起业务协同对象的流程实例和被发起对象的流程实例。
[0018]所述步骤S2中,若校验未通过,则返回参数错误信息。
[0019]所述步骤S3中,若流程实例池创建未成功,则返回对象创建错误信息。
[0020]本发明的有益效果是:本发明通过流程实例协同处理器使得工作流引擎能够支持不同的流程实例之间的协同运行,扩展了工作流引擎接口,极大地提高了流程实例流转的灵活性,满足不同业务流程协同运行的业务需要。
【附图说明】
[0021]图1为本发明中流程实例协同处理器的架构图;
图2为本发明中不同流程实例协同运行方法的流程示意图;
图3为本发明中协同业务办理过程与工作流技术支撑对照图。
【具体实施方式】
[0022]下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
[0023](I)系统部分
如图1所示,一种不同流程实例协同运行的系统,所述系统包括流程实例协同处理器和工作流引擎,流程实例协同处理器通过工作流引擎接口调用工作流引擎中的流程实例,流程实例协同处理器对不同的流程实例进行协同运行处理,并通过工作流引擎扩展接口将流程实例协同处理器的协同运行接口扩展到工作流引擎中。
[0024]所述流程实例协同处理器包括以下多个部件。
[0025]①发起协同指令校验单元,用于校验发起业务协同对象、被发起对象和协同运行方式,调用协同执行接口,校验协同入参。
[0026]协同入参的内容包括当前发起业务协同对象的类型、被发起对象的业务量和协同运行方式,所述发起业务协同对象的类型包括流程、流程环节和任务等,协同运行方式包括同步运行、异步运行、并行运行和顺序运行等等。
[0027]②流程实例池创建单元,用于在工作流引擎在进行流程执行时,将流程实例的数据加载到内存中,初始化流程实例协同处理器,创建流程实例池,并保存不同流程实例之间的协同关系。
[0028]③流程实例协同处理单元,根据协同入参触发协同运行机制的调度计算,通过工作流引擎接口调用工作流引擎中发起业务协同对象和被发起对象的流程实例,对该不同的流程实例进行管控,并根据协同运行指令对流程实例执行协同运行。
[0029]④流程实例协同监听单元,用于在工作流引擎执行流程对象时,与流程实例协同处理器进行绑定,当流程实例的状态变更触发协同运行机制时,则自动向流程实例协同处理单元发出流程实例的协同运行指令。
[0030]⑤流程实例协同查询单元,用于在工作流引擎实例化流程对象时,查询是否存在关联的流程实例,即需协同运行处理的流程实例,如果存在,则调用流程实例池创建单元进行相应的操作,即流程实例池创建单元才开始工作。
[0031]所述协同运行接口通过工作流引擎接口包装类与工作流引擎扩展接口连接。
[0032](2)方法部分
如图2所示,一种不同流程实例协同运行的实现方法,所述方法包括以下多个步骤:
51:调用协同运行接口,校验协同入参;
52:若校验通过,则对流程实例协同处理器进行初始化处理,并创建流程实例池;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1