基于规则引擎的工作流配置方法及装置与流程
未命名
07-27
阅读:96
评论:0

1.本发明属于计算机技术领域,具体涉及一种基于规则引擎的工作流配置方法及装置。
背景技术:
2.传统的工作流开发,流程审批节点和节点规则全部在流程设计中配置,当流程节点较多、较复杂时,错综复杂,不利于维护甚至无法实现,主要缺陷有:只能开发相对简单的审批流;流程审批规则与流程定义耦合,不利于维护;流程开发、运维成本高;复杂流程开发不支持等问题。而现有的工作流系统中,如activiti、flowable、camunda、jbpm等,一般都提供流程设计器,流程图开发通过在流程设计器中配置审批节点的方式实现,但是这种方式只适用于简单不是很复杂的流程,如果业务较复杂、分支条件较多时,流程图的可读性、维护性将变的越来越差,甚至不可维护。
3.综上所述,现有的涉及流程审批的软件系统中,如果流程审批链涉及多个部门、多个业务规则,造成流程审批链较复杂时,使用现有的工作流设计器进行流程开发时,难度较大,且随着业务的发展需求不断变化时,流程审批链开发的复杂度会越来越高,开发成本越来越高。
技术实现要素:
4.有鉴于此,本发明的目的在于克服现有技术的不足,提供一种基于规则引擎的工作流配置方法及装置,以解决现有技术中流程审批链开发的复杂度高的问题。
5.为实现以上目的,本发明采用如下技术方案:一种基于规则引擎的工作流配置方法,包括:
6.在工作流系统中创建工作流;所述工作流包括流程节点;
7.读取所述流程节点,基于所述流程节点创建可视化审批节点规则,并保存至规则引擎库中。
8.进一步的,还包括:
9.在流程发起前,动态调用审批节点规则对输入的数据参数进行节点规则解析,得到流程需要经过的审批节点。
10.进一步的,还包括:
11.流程运行时,当任务到达工作流中的其中一个审批节点时,如果当前的审批节点是规则引擎计算后需要经过的审批节点,则进行工作流任务的产生,否则工作流运行时,跳过该节点。
12.进一步的,还包括:
13.流程运行时,流程节点获取数据后,调用所述规则引擎库中与所述流程节点相应的审批节点规则;
14.执行所述审批节点规则,得到规则执行结果并返回。
15.进一步的,所述基于所述流程节点信息创建可视化审批节点规则,包括:
16.获取流程节点信息的全局参数;其中,所述全局参数包括业务主键、流程名称、业务线、业务类型、制单节点、流程参数、审批节点规则以及申请人;
17.在所述全局参数中设置审批节点规则。
18.本技术实施例提供一种基于规则引擎的工作流配置装置,包括:
19.创建模块,用于在工作流系统中创建流程节点;
20.读取模块,用于读取所述工作流系统中的流程节点,基于所述流程节点信息创建可视化审批节点规则,并保存至规则引擎库中。
21.进一步的,调用模块,用于在流程发起前,动态调用审批节点规则对输入的数据参数进行节点规则解析,得到流程需要经过的审批节点。
22.进一步的,还包括:
23.判断模块,用于流程运行时,当任务到达工作流中的其中一个审批节点时,如果当前的审批节点是规则引擎计算后需要经过的审批节点,则进行工作流任务的产生,否则工作流运行时,跳过该节点。
24.进一步的,还包括:
25.执行模块,用于流程运行时,流程节点获取数据后,调用所述规则引擎库中与所述流程节点相应的审批节点规则;
26.执行所述审批节点规则,得到规则执行结果并返回。
27.本技术实施例提供一种计算机设备,包括:存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述任一项基于规则引擎的工作流配置方法的步骤。
28.本技术实施例还提供一种计算机存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述任一项基于规则引擎的工作流配置方法的步骤。
29.本发明采用以上技术方案,能够达到的有益效果包括:
30.本发明提供一种基于规则引擎的工作流配置方法及装置,本技术在工作流系统中创建工作流;工作流包括流程节点;读取所述流程节点,基于流程节点创建可视化审批节点规则,并保存至规则引擎库中。本发明在工作流开发的过程中引入规则引擎,通过web系统中的可视化界面,实现工作流节点审批规则的可视化化配置,与现有的工作流设计器集成,实现复杂业务流程的快速开发。具有程节点审批规则可视化配置、操作简单,容易上手;审批规则在线查询,可读性高;开发成本低,出错率较低;流程配置支持动态、无限扩展,扩展性较强;审批规则和流程图节点配置解耦、模块独立,通过引入规则引擎,提升了流程引擎的性能和扩展性的优点。
附图说明
31.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
32.图1为本发明基于规则引擎的工作流配置方法的步骤示意图;
33.图2为本发明基于规则引擎的工作流配置方法的流程示意图;
34.图3为本发明基于规则引擎的工作流配置装置的结构示意图。
具体实施方式
35.为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
36.下面结合附图介绍本技术实施例中提供的一个具体的基于规则引擎的工作流配置方法及装置。
37.如图1所示,本技术实施例中提供的基于规则引擎的工作流配置方法,包括:
38.s101,在工作流系统中创建工作流;所述工作流包括流程节点;
39.s102,读取所述流程节点,基于所述流程节点创建可视化审批节点规则,并保存至规则引擎库中。
40.基于规则引擎的工作流配置方法的工作原理为:首先在工作流系统创建工作流,读取工作流程系统中流程节点信息,基于读取到的节点,进行可视化节点审批规则创建,规则创建完成后,在工作流系统的流程定义中关联创建的规则,用户发起具体的工作流后,产生具体的工作流实例及其相关的参数数据,流程运行的相关节点时,调用规则引擎,输入规则编号、流程参数数据,规则引擎根据输入的参数,返回规则引擎的执行结果。流程引擎根据规则引擎返回的运算结果,判断当前审批节点是自动跳过或产生审批任务。
41.一些实施例中,还包括:
42.在流程发起前,动态调用审批节点规则对输入的数据参数进行节点规则解析,得到流程需要经过的审批节点。
43.一些实施例中,还包括:
44.流程运行时,当任务到达工作流中的其中一个审批节点时,如果当前的审批节点是规则引擎计算后需要经过的审批节点,则进行工作流任务的产生,否则工作流运行时,跳过该节点。
45.还包括:
46.流程运行时,流程节点获取数据后,调用所述规则引擎库中与所述流程节点相应的审批节点规则;
47.执行所述审批节点规则,得到规则执行结果并返回。
48.具体的,本技术在工作流平台根据业务要求进行流程节点的定义,然后从工作流平台读取流程节点、参数数据,进行节点规则创建,创建后配置规则提交到规则引擎库中,流程运行时,产生实例数据,在审批节点调用规则引擎,输入流程实例参数信息,规则引擎接收到流程实例参数后,执行节点配置规则,返回规则执行结果,流程引擎根据规则引擎返回的计算结果,继续运行。
49.作为一个具体的实施方式,以企业员工费用报销申请流程为例,如图2所示,在工作流系统中配置流程所有审批节点,节点包括用户制单节点、直接上级审批、部门负责人、
二级部门负责人、分公司总经理、管理中心总经理、行政经理、法务经理、法务总监、财务经理、财务总监和公司负责人。
50.一些实施例中,所述基于所述流程节点信息创建可视化审批节点规则,包括:
51.获取流程节点信息的全局参数;其中,所述全局参数包括业务主键、流程名称、业务线、业务类型、制单节点、流程参数、审批节点规则以及申请人;
52.在所述全局参数中设置审批节点规则。
53.具体的,在工作流全局参数设置中,设置审批节点规则,从流程规则设置表中读取,从工作流引擎中读取流程所有审批节点,并设置节点的经过规则流程运行时,只有节点的规则解析结果返回true时,该流程节点有效,为false该审批节点自动跳过。对于节点规则的添加,例如:直接上级节点,添加经过规则,当发起人是业务单位时,需要经过该节点,对部门负责人添加经过规则,当发起人费用报销金额大于2000元时,需要经过该节点。具体的规则如下,
54.直接上级:申请人所在业务单位bu是预设单位时,发起费用报销需要直接上级审批。
55.部门负责人:申请人所在业务单位bu的报销金额大于2000元时,需要部门负责人审批。
56.当流程发起员工为预设业务单位时,如张三,报销金额为2500元,流程发起后,工作流后台调用规则引擎对该流程规则解析,bu(var_bu)参数值为预设业务单位时,金额(amount)值为2500,根据规则引擎计算结果,流程应经过节点为:直接上级(boss)、部门负责人(deptmanager)。
57.流程运行时,将根据规则引擎计算结果决定在流程中是否经过流程图中的审批节点。
58.本技术提供的技术方案流程节点规则与工作流定义进行了解耦,工作流设计平台负责配置流程审批可能经过的全部节点,“流程规则设置”负责计算具体流程发起时,需要经过的规则,通过流程节点、节点规则配置的解耦和规则引擎技术,简化工作流系统的开发。流程发起前,动态调用规则引擎,根据传入参数进行节点规则解析,计算出流程需要经过的审批节点。流程运行时,当任务到达工作流中的某个审批节点时,如果该节点是规则引擎计算后需要经过的节点,则进行工作流任务的产生,否则工作流运行时,跳过该节点。
59.如图3所示,本技术实施例提供一种基于规则引擎的工作流配置装置,包括:
60.创建模块201,用于在工作流系统中创建流程节点;
61.读取模块202,用于读取所述工作流系统中的流程节点,基于所述流程节点信息创建可视化审批节点规则,并保存至规则引擎库中。
62.一些实施例中,还包括:
63.调用模块,用于在流程发起前,动态调用审批节点规则对输入的数据参数进行节点规则解析,得到流程需要经过的审批节点。
64.一些实施例中,还包括:
65.判断模块,用于流程运行时,当任务到达工作流中的其中一个审批节点时,如果当前的审批节点是规则引擎计算后需要经过的审批节点,则进行工作流任务的产生,否则工作流运行时,跳过该节点。
66.一些实施例中,还包括:
67.执行模块,用于流程运行时,流程节点获取数据后,调用所述规则引擎库中与所述流程节点相应的审批节点规则;
68.执行所述审批节点规则,得到规则执行结果并返回。
69.综上所述,本发明提供一种基于规则引擎的工作流配置方法及装置,所述方法包括在工作流系统中创建工作流;工作流包括流程节点;读取所述流程节点,基于流程节点创建可视化审批节点规则,并保存至规则引擎库中。本发明在工作流开发的过程中引入规则引擎,通过web系统中的可视化界面,实现工作流节点审批规则的可视化化配置,与现有的工作流设计器集成,实现复杂业务流程的快速开发。具有程节点审批规则可视化配置、操作简单,容易上手;审批规则在线查询,可读性高;开发成本低,出错率较低;流程配置支持动态、无限扩展,扩展性较强;审批规则和流程图节点配置解耦、模块独立,通过引入规则引擎,提升了流程引擎的性能和扩展性的优点。
70.可以理解的是,上述提供的方法实施例与上述的装置实施例对应,相应的具体内容可以相互参考,在此不再赘述。
71.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
72.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
73.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令方法的制造品,该指令方法实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
74.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
75.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.一种基于规则引擎的工作流配置方法,其特征在于,包括:在工作流系统中创建工作流;所述工作流包括流程节点;读取所述流程节点,基于所述流程节点创建可视化审批节点规则,并保存至规则引擎库中。2.根据权利要求1所述的方法,其特征在于,还包括:在流程发起前,动态调用审批节点规则对输入的数据参数进行节点规则解析,得到流程需要经过的审批节点。3.根据权利要求2所述的方法,其特征在于,还包括:流程运行时,当任务到达工作流中的其中一个审批节点时,如果当前的审批节点是规则引擎计算后需要经过的审批节点,则进行工作流任务的产生,否则工作流运行时,跳过该节点。4.根据权利要求2所述的方法,其特征在于,还包括:流程运行时,流程节点获取数据后,调用所述规则引擎库中与所述流程节点相应的审批节点规则;执行所述审批节点规则,得到规则执行结果并返回。5.根据权利要求1所述的方法,其特征在于,所述基于所述流程节点信息创建可视化审批节点规则,包括:获取流程节点信息的全局参数;其中,所述全局参数包括业务主键、流程名称、业务线、业务类型、制单节点、流程参数、审批节点规则以及申请人;在所述全局参数中设置审批节点规则。6.一种基于规则引擎的工作流配置装置,其特征在于,包括:创建模块,用于在工作流系统中创建流程节点;读取模块,用于读取所述工作流系统中的流程节点,基于所述流程节点信息创建可视化审批节点规则,并保存至规则引擎库中。7.根据权利要求6所述的装置,其特征在于,还包括:调用模块,用于在流程发起前,动态调用审批节点规则对输入的数据参数进行节点规则解析,得到流程需要经过的审批节点。8.根据权利要求7所述的装置,其特征在于,还包括:判断模块,用于流程运行时,当任务到达工作流中的其中一个审批节点时,如果当前的审批节点是规则引擎计算后需要经过的审批节点,则进行工作流任务的产生,否则工作流运行时,跳过该节点。9.根据权利要求7所述的装置,其特征在于,还包括:执行模块,用于流程运行时,流程节点获取数据后,调用所述规则引擎库中与所述流程节点相应的审批节点规则;执行所述审批节点规则,得到规则执行结果并返回。
技术总结
本发明涉及一种基于规则引擎的工作流配置方法及装置,所述方法包括在工作流系统中创建工作流;工作流包括流程节点;读取所述流程节点,基于流程节点创建可视化审批节点规则,并保存至规则引擎库中。本发明在工作流开发的过程中引入规则引擎,通过web系统中的可视化界面,实现工作流节点审批规则的可视化化配置,与现有的工作流设计器集成,实现复杂业务流程的快速开发。具有程节点审批规则可视化配置、操作简单,容易上手;审批规则在线查询,可读性高;开发成本低,出错率较低;流程配置支持动态、无限扩展,扩展性较强;审批规则和流程图节点配置解耦、模块独立,通过引入规则引擎,提升了流程引擎的性能和扩展性的优点。升了流程引擎的性能和扩展性的优点。升了流程引擎的性能和扩展性的优点。
技术研发人员:姜洋
受保护的技术使用者:上海中通吉网络技术有限公司
技术研发日:2023.04.18
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/