一种流程引擎的处理方法和装置的制造方法

文档序号:9200211阅读:208来源:国知局
一种流程引擎的处理方法和装置的制造方法
【技术领域】
[0001] 本发明涉及计算机技术领域,特别是涉及一种流程引擎的处理方法和装置。
【背景技术】
[0002] 随着管理信息化的普遍应用和迅速发展,对流程管理和流程自动化提出了更高的 要求,为了应对不断变化的企业内外环境和流程需求,各种用于流程管理的流程引擎不断 涌现。然而,随着企业规模的壮大,流程人员及流程本身的变更也在增加,在传统的流程引 擎中,若要对流程配置进行更新,则必须中断整个流程。
[0003] 例如,JBPM(JBoss Business Process Management,业务流程管理)是一个覆盖了 业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言 框架。在JBPM中,正在处理一个请假申请流程时,如果请假申请流程已经发起,此时该请假 申请的流程数据已经被固定到JBPM的流程表中,若要对该请假申请流程进行更新,且要将 新流程实时应用到所有请假申请中,则需要中断当前所有正在运行的请假申请流程,更新 完毕后再重新发起请假申请,按照更新后流程重新开始,由此以来,当需要更新的流程较多 时,会影响流程的执行效率。

【发明内容】

[0004] 本发明实施例所要解决的技术问题是提供一种流程引擎的处理方法和装置,能够 提高流程的执行效率。
[0005] 为了解决上述问题,本发明公开了一种流程引擎的处理方法,包括:
[0006] 在流程执行过程中,动态加载流程步骤对应的组件,以实现所述流程步骤的逻辑 功能;
[0007] 对未执行的流程步骤对应的组件进行更新。
[0008] 优选地,所述对未执行的流程步骤进行实时更新的步骤,包括:
[0009] 对所述未执行的流程步骤对应的原组件进行更新,并导出更新后新组件对应的文 件;
[0010] 在组件运行环境中,停止所述原组件对应的服务;
[0011] 在所述组件运行环境中移除所述原组件;
[0012] 将所述新组件对应的文件安装到所述组件运行环境中;
[0013] 启动所述新组件。
[0014] 优选地,所述组件具有唯一的标识信息;所述在流程执行过程中,动态加载流程步 骤对应的组件,以实现所述流程步骤的逻辑功能的步骤,包括:
[0015] 在流程执行过程中,依据组件的标识信息获取所述组件对应的类加载器;其中,组 件和类加载器具有一一对应的关系;
[0016] 利用所述类加载器对实现所述组件逻辑功能所需要的类资源进行加载,以动态执 行流程步骤的逻辑功能。
[0017] 优选地,在流程中包括数据处理的流程步骤时,所述方法还包括:
[0018] 依据配置管理数据库定义所述数据处理的流程及流程步骤;
[0019] 设置所述数据处理的流程步骤的完整类路径,以及确定该流程步骤对应的组件名 称;
[0020] 将所述完整类路径设置为独立的组件,以实现对应的数据处理功能。
[0021] 优选地,所述流程中包括审批功能的流程步骤,所述方法还包括:
[0022] 依据配置管理数据库,在所述审批功能的流程步骤中配置所要关联的人员信息, 将所述人员信息作为该流程步骤的审核人员。
[0023] 优选地,所述方法还包括:
[0024] 建立包括各流程步骤对应组件的组件库;
[0025] 在流程执行过程中对所述组件库中的各组件进行复用。
[0026] 依据本发明的另一个方面,提供了一种流程引擎的处理装置,包括:
[0027] 加载模块,用于在流程执行过程中,动态加载流程步骤对应的组件,以实现所述流 程步骤的逻辑功能;以及
[0028] 更新模块,用于对未执行的流程步骤对应的组件进行更新。
[0029] 优选地,所述更新模块,包括:
[0030] 更新子模块,用于对所述未执行的流程步骤对应的原组件进行更新,并导出更新 后新组件对应的文件;
[0031] 停止服务子模块,用于在组件运行环境中,停止所述原组件对应的服务;
[0032] 移除子模块,用于在所述组件运行环境中移除所述原组件;
[0033] 安装子模块,用于将所述新组件对应的文件安装到所述组件运行环境中;
[0034] 启动子模块,用于启动所述新组件。
[0035] 优选地,所述组件具有唯一的标识信息;所述加载模块,包括:
[0036] 获取子模块,用于在流程执行过程中,依据组件的标识信息获取所述组件对应的 类加载器;其中,组件和类加载器具有一一对应的关系;
[0037] 资源加载子模块,用于利用所述类加载器对实现所述组件逻辑功能所需要的类资 源进行加载,以动态执行流程步骤的逻辑功能。
[0038] 优选地,所述装置还包括:
[0039] 定义模块,用于依据配置管理数据库定义所述数据处理的流程及流程步骤;
[0040] 设置类路径模块,用于设置所述数据处理的流程步骤的完整类路径,以及确定该 流程步骤对应的组件名称;
[0041] 设置组件模块,用于将所述完整类路径设置为独立的组件,以实现对应的数据处 理功能。
[0042] 优选地,所述装置还包括:
[0043] 审批模块,用于依据配置管理数据库,在所述审批功能的流程步骤中配置所要关 联的人员信息,将所述人员信息作为该流程步骤的审核人员。
[0044] 优选地,所述装置还包括:
[0045] 建立组件库模块,用于建立包括各流程步骤对应组件的组件库;
[0046] 组件复用模块,用于在流程执行过程中对所述组件库中的各组件进行复用。
[0047] 与现有技术相比,本发明实施例包括以下优点:
[0048] 本发明实施例将流程中的各步骤配置成独立的组件,并且在流程执行过程中对各 步骤对应的组件动态进行加载,使得流程引擎的各流程步骤相互独立,从而可以在流程执 行过程中对指定的未执行的流程步骤进行实时更新,例如,当流程执行到某一步骤时,可因 业务需求动态更新流程后续未执行步骤的处理逻辑,来适应动态多变的业务需求,并且无 需中断整个流程,从而可以提高流程的执行效率。
【附图说明】
[0049] 图1示出了本发明的一种流程引擎的处理方法实施例的步骤流程图;
[0050] 图2示出了本发明的一种通用接口的示意图;
[0051] 图3示出了本发明的一种依据CMDB核心表定义流程步骤的步骤流程图;
[0052] 图4示出了本发明的一种流程引擎的处理系统的系统流程图;
[0053] 图5示出了本发明的一种将与第三方系统有数据交互行为的流程步骤设置为组 件的步骤;
[0054] 图6示出了本发明的一种流程执行过程的步骤流程图;
[0055] 图7示出了示出了本发明的一种流程执行的步骤流程图;及
[0056] 图8示出了本发明一种流程引擎的处理装置的结构框图。
【具体实施方式】
[0057] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
[0058] 组件化实施例
[0059] 参见图1,示出了本发明的一种流程引擎的处理方法实施例的步骤流程图,具体可 以包括:
[0060] 步骤101、在流程执行过程中,动态加载流程步骤对应的组件,以实现所述流程步 骤的逻辑功能;
[0061] 为了实现流程执行过程中流程步骤的实时更新,本发明实施例将流程步骤设计成 独立的组件,由组件实现流程步骤的逻辑功能。其中,组件的设计可以依据以下几个原则:
[0062] 自包含:一个组件应该是一个业务逻辑的整体。它应该可以作为一个独立的整体 被移动、安装和卸载。组件不是一个最小单位,它可以包含多个更小的部分,但这些部分不 能独立存在。
[0063] 高内聚:一个组件不应该做很多不相关的事情,它应该专注于一个业务逻辑的目 标并尽全力实现这个目标。
[0064] 低耦合:一个组件不应该关注其他组件的内部实现,松散的联系允许更改某个特 定的组件,而不会影响到其他的组件。
[0065] 对于如何将流程步骤设计成组件,本发明对此不加以限制,本领域技术人员可以 根据实际需要进行灵活设计。在本发明的一种应用示例中,可以依据OSGi (Open Service Gateway Initiative,开放服务网关规范)标准将流程中的各步骤设置成独立的组件 (Bundle);其中,OSGi是面向Java的动态模型系统,其核心组件是OSGI框架,这个框架为 Bundle提供了一个标准环境。
[0066] 在具体应用
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1