一种基于动态代理实现的工作流实现方法与流程

文档序号:33987561发布日期:2023-04-29 13:55阅读:32来源:国知局
一种基于动态代理实现的工作流实现方法与流程

本发明涉及建筑废弃物智慧监管系统,具体为一种基于动态代理实现的工作流实现方法。


背景技术:

1、工作流技术起源于生产组织和办公自动化领域,是实现政府政务/企业业务流程建模、模拟分析、优化处理、控制与集成以及最终实现业务流程自动化的核心技术,其目的是通过将一个具体的工作分解成多个任务、流程及关联处理,按照一定的规则和过程来约束这些任务的执行过程和监控,以达到提高办事效率、降低生产成本、提高政府政务/企业生产经营管理水平和竞争力的目的,工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机程序设计,按照某种预定的规则自动传递任务信息、或文档信息,工作流属于计算机支持的协同工作(computer supported cooperative work,cscw)的一部分,在建设建筑废弃物监管系统中关于政务审批业务场景,需要工作流支撑,以提升政务审批业务过程处理效率,利用spring aop的动态代理机制,基于面向方面编程技术原理,将横切关注点以一种更加通用的方式剖解开封装的对象,并将那些影响了多个类的公共行为方法封装到一个可重复使用的模块中,使得这些组件专注于自身业务,完全不知道其他涉及到的系统服务模块,目的是解决系统中模块间的紧耦合问题,打破对象的封装,减少代码的冗余度,增强可读性,提高应用系统的质量,减少维护工作,

2、现有的工作流处理过程中耦合度较高,使得代码结构伸缩性比较差,导致交互操作性和可重用性较差,工作流任务自定义及动态化配置灵活性较差,工作流处理方式比较传统固化,维护性和扩展性较差,为此我们提出了一种基于动态代理实现的工作流实现方法。


技术实现思路

1、本发明的目的在于提供一种基于动态代理实现的工作流实现方法,以解决上述背景技术中提出了现有的工作流处理过程中耦合度较高,使得代码结构伸缩性比较差,导致交互操作性和可重用性较差,工作流任务自定义及动态化配置灵活性较差,工作流处理方式比较传统固化,维护性和扩展性较差的问题。

2、为实现上述目的,本发明提供如下技术方案:一种基于动态代理实现的工作流实现方法,包括输入接口、主控制引擎、执行引擎组成,其中主控制引擎包括:工作流及规则自定义管理、工作流实例状态持久化模块组成,其方法步骤包括:

3、s1:客户使用端通过主控制引擎的自定义工作流及规则,发起自定义工作流及规则配置;主控制引擎服务对工作流自定义及规则通过数据库进行持久化存储;

4、s2:客户使用端通过输入接口或界面功能操作发起第一次流程任务业务的创建请求;

5、s3:主控制引擎接收流程任务请求相关信息,获取预先已存储的流程任务事件并关联到所述流程事件所相关的流程模板,生成本次任务流程实例,将所述流程实例以及其关联信息封装为流程实例组件;

6、s4:根据执行引擎列表中保存的执行引擎及其执行状态信息,通过调用所述流程任务实例关联的执行引擎提供的接口,将所述流程任务实例组件发送给所述执行引擎,接收所述执行引擎发送的执行后的流程任务实例组件、以及所述流程任务实例组件中封装的流程任务实例的状态信息;

7、s5:执行引擎接口接收主控制引擎发送的流程任务实例组件,根据流程实例组件中封装的流程实例的关联信息,执行所述流程任务实例;

8、s6:当完成所述流程实例的执行时,获取执行引擎的状态信息、流程实例组件以及流程实例组件中封装的流程实例的状态信息,并发送给主控制引擎;

9、s7:主控制引擎接收到执行引擎发送的流程实例及状态信息后,根据已设定的自定义流程规范,根据上一个流程任务状态判断,查找下一个流程任务信息;

10、s8:重复s5-s8步骤,直至后一个流程任务实例执行完成。

11、优选的,主控制引擎通过执行引擎的调用接口,如http接口、rpc等通讯方式主控制和执行引擎的协调工作。

12、优选的,所述执行引擎通过java动态代理来创建对象。

13、优选的,所述执行引擎用于接收主控制引擎发送的流程实例组件。

14、优选的,所述自定义工作流和规则根据工作流类型、工作流发布地区和工作流名称来进行自定义配置。

15、优选的,当流程任务实例组件中封装的流程任务实例尚未执行完成时,循环执行该步骤直至完成所述流程实例组件中封装的流程任务实例。

16、优选的,所述s7中流程任务如果是最后一个流程任务,则不处理,否则生成下一个流程任务实例,并且再次发送至执行引擎。

17、优选的,通过网关来控制流程的走向包括排他网关、并行网关、包含网关、事件网关。

18、与现有技术相比,本发明的有益效果是:该基于动态代理实现的工作流实现方法,通过对输入接口、主控制引擎、执行引擎,以及spring的动态代理技术,实施根据预先自定义设置的流程任务,通过主控制引擎和执行引擎交互,从而无需外部组件来协调部署工作流引擎,简化了主控制引擎与执行引擎之间的调用过程,同时也实现组件之间的低耦合,高内聚,使得此方式实现的工作流在支撑业务方面有更好的扩展性和维护性。



技术特征:

1.一种基于动态代理实现的工作流实现方法,其特征在于:包括输入接口、主控制引擎、执行引擎组成,其中主控制引擎包括:工作流及规则自定义管理、工作流实例状态持久化模块组成,其方法步骤包括:

2.根据权利要求1所述的一种基于动态代理实现的工作流实现方法,其特征在于:主控制引擎通过执行引擎的调用接口,如http接口、rpc等通讯方式主控制和执行引擎的协调工作。

3.根据权利要求1所述的一种基于动态代理实现的工作流实现方法,其特征在于:所述执行引擎通过java动态代理来创建对象。

4.根据权利要求1所述的一种基于动态代理实现的工作流实现方法,其特征在于:所述执行引擎用于接收主控制引擎发送的流程实例组件。

5.根据权利要求1所述的一种基于动态代理实现的工作流实现方法,其特征在于:所述自定义工作流和规则根据工作流类型、工作流发布地区和工作流名称来进行自定义配置。

6.根据权利要求1所述的一种基于动态代理实现的工作流实现方法,其特征在于:当流程任务实例组件中封装的流程任务实例尚未执行完成时,循环执行该步骤直至完成所述流程实例组件中封装的流程任务实例。

7.根据权利要求1所述的一种基于动态代理实现的工作流实现方法,其特征在于:所述s7中流程任务如果是最后一个流程任务,则不处理,否则生成下一个流程任务实例,并且再次发送至执行引擎。

8.根据权利要求1所述的一种基于动态代理实现的工作流实现方法,其特征在于:通过网关来控制流程的走向包括排他网关、并行网关、包含网关、事件网关。


技术总结
本发明公开了建筑废弃物智慧监管系统领域的一种基于动态代理实现的工作流实现方法,包括输入接口、主控制引擎、执行引擎组成,其中主控制引擎包括:工作流及规则自定义管理、工作流实例状态持久化模块组成,其方法步骤包括:客户使用端通过主控制引擎的自定义工作流及规则,发起自定义工作流及规则配置;主控制引擎服务对工作流自定义及规则通过数据库进行持久化存储,该基于动态代理实现的工作流实现方法,无需外部组件来协调部署工作流引擎,简化了主控制引擎与执行引擎之间的调用过程,同时也实现组件之间的低耦合,高内聚,使得此方式实现的工作流在支撑业务方面有更好的扩展性和维护性。

技术研发人员:郑能欢
受保护的技术使用者:深圳数研锦瀚智慧科技有限公司
技术研发日:
技术公布日:2024/1/11
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1