首页> 中国专利> 一种基于规则引擎的流程实现方法及系统

一种基于规则引擎的流程实现方法及系统

摘要

本发明公开了一种基于规则引擎的流程实现方法及系统,应用于一种基于规则引擎的流程实现系统,所述系统包括业务流程接口模块、规则引擎模块和工作流引擎模块。所述方法包括:根据所述业务流程接口模块获得业务数据;所述业务流程接口模块将所述业务数据发送至所述规则引擎模块;所述规则引擎模块根据所述业务数据,获得第一决策结果;所述规则引擎模块将所述第一决策结果返回至所述业务流程接口模块;所述业务流程接口模块将所述第一决策结果发送至所述工作流引擎模块,完成流程创建与流转。解决了现有技术中实现流程模板的切换与审批层级的调整主要还是通过预定义的形式来实现,无法在定义完成后的实际使用过程中动态调整的技术问题。

著录项

  • 公开/公告号CN112990850A

    专利类型发明专利

  • 公开/公告日2021-06-18

    原文格式PDF

  • 申请/专利权人 中国建设银行股份有限公司;

    申请/专利号CN202110174989.8

  • 发明设计人 刘国旭;

    申请日2021-02-09

  • 分类号G06Q10/10(20120101);G06F16/25(20190101);

  • 代理机构11354 北京市兰台律师事务所;

  • 代理人张峰

  • 地址 100033 北京市西城区金融大街25号

  • 入库时间 2023-06-19 11:29:13

说明书

技术领域

本发明涉及工作流引擎领域,尤其涉及一种基于规则引擎的流程实现方法及系统。

背景技术

工作流引擎是为业务系统提供根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。目前主流的工作流引擎已经实现了通过预定义脚本的形式实现了流程分支控制、通过在设计流程模板时确定流程步骤时预先确定与当前执行的流程层级的关系,以现实当前步骤与下一步骤的流程层级关系。

本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:

目前主要工作流引擎实现流程模板的切换与审批层级的调整主要还是通过预定义的形式来实现,无法在定义完成后的实际使用过程中动态调整。

发明内容

本申请实施例通过提供一种基于规则引擎的流程实现方法及系统,解决了现有技术中目前主要工作流引擎实现流程模板的切换与审批层级的调整主要还是通过预定义的形式来实现,无法在定义完成后的实际使用过程中动态调整的技术问题,达到了通过把规则引擎和工作流引擎结合,实现了流程应用可配置化的动态控制的技术目的。

本申请实施例通过提供一种基于规则引擎的流程实现方法,其中,所述方法应用于一种基于规则引擎的流程实现系统,所述系统包括业务流程接口模块、规则引擎模块和工作流引擎模块,所述方法包括:根据所述业务流程接口模块获得业务数据;所述业务流程接口模块将所述业务数据发送至所述规则引擎模块;所述规则引擎模块根据所述业务数据,获得第一决策结果;所述规则引擎模块将所述第一决策结果返回至所述业务流程接口模块;所述业务流程接口模块将所述第一决策结果发送至所述工作流引擎模块,完成流程创建与流转。

另一方面,本申请还提供了一种基于规则引擎的流程实现系统,其中,所述系统包括:第一获得单元,所述第一获得单元用于根据业务流程接口模块获得业务数据;第一发送单元,所述第一发送单元用于所述业务流程接口模块将所述业务数据发送至规则引擎模块;第二获得单元,所述第二获得单元用于所述规则引擎模块根据所述业务数据,获得第一决策结果;第二发送单元,所述第二发送单元用于所述规则引擎模块将所述第一决策结果返回至所述业务流程接口模块;第三发送单元,所述第三发送单元用于所述业务流程接口模块将所述第一决策结果发送至工作流引擎模块,完成流程创建与流转。

另一方面,本申请实施例还提供了一种基于规则引擎的流程实现系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述第一方面所述方法的步骤。

本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

由于采用了把规则引擎和工作流引擎结合,实现了流程应用可配置化的动态控制;通过流程模板和审批权限的方式完成流程流转的动态控制。通过规则引擎可视性好,可配置性高的特点,把工作流引擎中复杂且难修改的逻辑判断交给规则引擎来完成,实现了流程可配置,流程分支可配置,审批层级可配置的特点。

上述说明是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

图1为本申请实施例一种基于规则引擎的流程实现方法的流程示意图;

图2为本申请实施例一种基于规则引擎的流程实现系统的结构示意图;

图3为本申请实施例示例性电子设备的结构示意图。

附图标记说明:第一获得单元11,第一发送单元12,第二获得单元13,第二发送单元14,第三发送单元15,总线300,接收器301,处理器302,发送器303,存储器304,总线接口305。

具体实施方式

本申请实施例通过提一种基于规则引擎的流程实现及系统,解决了现有技术中目前主要工作流引擎实现流程模板的切换与审批层级的调整主要还是通过预定义的形式来实现,无法在定义完成后的实际使用过程中动态调整的技术问题,达到了通过把规则引擎和工作流引擎结合,实现了流程应用可配置化的动态控制的技术目的。下面,将参考附图详细的描述本申请的示例实施例。显然,所描述的实施例仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。

工作流引擎是为业务系统提供根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。目前主流的工作流引擎已经实现了通过预定义脚本的形式实现了流程分支控制、通过在设计流程模板时确定流程步骤时预先确定与当前执行的流程层级的关系,以现实当前步骤与下一步骤的流程层级关系。现有技术中还存在着目前主要工作流引擎实现流程模板的切换与审批层级的调整主要还是通过预定义的形式来实现,无法在定义完成后的实际使用过程中动态调整的技术问题。

针对上述技术问题,本申请提供的技术方案总体思路如下:

本申请实施例通过提供一种基于规则引擎的流程实现方法,其中,所述方法应用于一种基于规则引擎的流程实现系统,所述系统包括业务流程接口模块、规则引擎模块和工作流引擎模块,所述方法包括:根据所述业务流程接口模块获得业务数据;所述业务流程接口模块将所述业务数据发送至所述规则引擎模块;所述规则引擎模块根据所述业务数据,获得第一决策结果;所述规则引擎模块将所述第一决策结果返回至所述业务流程接口模块;所述业务流程接口模块将所述第一决策结果发送至所述工作流引擎模块,完成流程创建与流转。

在介绍了本申请基本原理后,下面将结合说明书附图来具体介绍本申请的各种非限制性的实施方式。

如图1所示,本申请实施例提供了一种基于规则引擎的流程实现方法,其中,所述方法应用于一种基于规则引擎的流程实现系统,所述系统包括业务流程接口模块、规则引擎模块和工作流引擎模块,所述方法包括:

步骤S100:根据所述业务流程接口模块获得业务数据;

具体而言,工作流的主要特点是使处理过程自动化,通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对他们进行监控,使人以及各种应用工具相互之间协调工作,以完成某项工作,达到提高办公效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目标。本申请实施例中,所述基于规则引擎的流程实现系统包括业务流程接口模块、规则引擎模块和工作流引擎模块。其中,所述业务流程接口模块为结合规则引擎和工作流引擎的模块,所述业务流程接口模块首先获取业务相关信息,所述业务数据包括需要通过工作流进行传递和执行的文档、信息等任务数据。

步骤S200:所述业务流程接口模块将所述业务数据发送至所述规则引擎模块;

具体而言,所述业务流程接口模块在获得所述业务数据之后,将所述业务数据传递给所述规则引擎,由所述规则引擎解释业务规则,并根据业务规则做出业务决策。

步骤S300:所述规则引擎模块根据所述业务数据,获得第一决策结果;

具体而言,规则引擎是解析、调用、执行规则包的服务。所述规则引擎将业务流程与业务规则分离,负责将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策,从而获得所述第一决策结果,所述规则引擎与所述流程业务接口模块之间协作进行流程模板计算和审批权限计算,所述流程模板指一个流程的定义,包括流程的步骤、流程的走向、流程的分支与聚合、流程流转条件。

步骤S400:所述规则引擎模块将所述第一决策结果返回至所述业务流程接口模块;

具体而言,大多数业务流程包含多个决策点,在这些决策点处,将对某个条件进行评估,业务流程根据这些标准或业务规则更改它们的行为。所述规则引擎根据相关业务信息做决策,并将得到的结果返回给所述业务流程接口模块。

步骤S500:所述业务流程接口模块将所述第一决策结果发送至所述工作流引擎模块,完成流程创建与流转。

具体而言,所述业务流程接口模块与所述工作流引擎模块之间协作进行流程的创建与流转,所述工作流引擎模块包括流程定义模块、流程流转模块,用户通过流程定义模块可以定义流程的相关信息,包括流程的步骤、流程的分支、流程的分支条件,流程走向的限制条件;根据业务流程接口模块传入的信息来确定流程的状态,比如流程提交下一步,流程退回上一步,流程退回指定步骤、流程结束、流程终止等。所述工作流引擎模块的主要内容就是提供一套有效的描述业务过程的建模语言,定义出正确的过程模型,完成实际的业务过程到计算机可处理的形式化定义的转化。

进一步而言,本申请实施例步骤S200还包括:

步骤S201:根据所述业务数据组装获得第一json对象;

步骤S202:所述业务流程接口模块将所述第一json对象发送至所述规则引擎模块。

具体而言,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON建构于两种结构:"名称/值"对的集合,值的有序列表。在不同的语言中,它被理解为对象、记录、结构、字典、哈希表、有键列表或者关联数组,在大部分语言中,它被理解为数组。所述业务流程接口模块将所述业务数据组装成所述第一json对象,并将所述第一json对象发送至所述规则引擎模块。

进一步而言,本申请实施例步骤S400还包括:

步骤S401:根据所述第一决策结果获得第二json对象;

步骤S402:所述规则引擎模块将所述第二json对象返回至所述业务流程接口模块。

具体而言,所述规则引擎模块依据相关业务信息做出决策,并将决策信息作为所述第二json对象返回至所述业务流程接口模块。

进一步而言,本申请实施例步骤S300还包括:

步骤S301a:所述业务流程接口模块通过计算流程模板的接口,根据所述业务数据,获得流程模板信息。

进一步而言,本申请实施例步骤S301a还包括:

步骤S301a1:所述业务流程接口模块通过计算审批层级的接口,根据所述业务数据,获得审批层级信息。

进一步而言,本申请实施例步骤S301a1还包括:

步骤S301a11:所述业务流程接口模块通过计算流转条件的接口,根据所述业务数据,获得流转条件信息;

步骤S301a12:根据所述流程模版信息、所述审批层级信息和所述流转条件信息,获得第一决策结果。

具体而言,所述业务流程接口模块与所述规则引擎的接口包括计算流程模板的接口、计算审批层级的接口、计算流转条件的接口。所述业务流程接口模块通过计算流程模板的接口,根据所述业务数据,获得流程模板信息;通过计算审批层级的接口,根据所述业务数据,获得审批层级信息;通过计算流转条件的接口,根据所述业务数据,获得流转条件信息。其中,所述流程模板指一个流程的定义,包括流程的步骤、流程的走向、流程的分支与聚合、流程流转条件;流程层级指流程经过的步骤的机构层级;流程流转条件为判断流程走向的一个条件。

进一步而言,本申请实施例步骤S500还包括:

步骤S501a:通过创建流程接口、获取下一步任务信息接口和提交流程接口将所述第一决策结果发送至所述工作流引擎模块,完成流程创建与流转。

具体而言,所述业务流程接口模块通过分别调用创建流程接口、获取下一步任务信息接口和提交流程接口将所述第一决策结果发送至所述工作流引擎模块,完成流程创建与流转,包括流程的创建和提交、查询过程和流程状态管理。

进一步而言,本申请实施例步骤S500还包括:

步骤S501b:获得第一工作流返回信息;

步骤S502b:通过流程执行人接口根据所述第一工作流返回信息,确定一下步流程的执行人。

具体而言,所述业务流程接口模块在获得所述第一工作流返回信息之后,通过调取流程执行人接口,确定下一步流程的执行人。

进一步而言,本申请实施例步骤S300还包括:

步骤S301b:获得预定业务规则逻辑;

步骤S302b:根据所述业务数据,获得业务规则数据;

步骤S303b:根据所述业务规则数据,按照所述预定业务规则逻辑,获得第一决策结果。

具体而言,所述规则引擎模块在接收所述业务流程接口模块所传入的所述业务规则数据之后,依据所述业务规则数据和预先设定好的所述业务规则逻辑做决策,并将决策结果返回至所述业务流程接口模块。

进一步而言,本申请实施例步骤S302b还包括:

步骤S302b1:获得预定数据对象;

步骤S302b2:根据所述预定数据对象,将所述业务数据转换为业务规则数据。

具体而言,所述预定数据对象为预先定义好的数据对象,所述业务流程接口模块在获得所述业务数据之后,依据所述预定数据对象,将所述业务数据转换为所述规则引擎模块可以使用的所述业务规则数据。

进一步而言,本申请实施例步骤S301b还包括:

步骤S301b1:获得第一用户在所述规则引擎模块中的编辑信息;

步骤S301b2:根据所述第一用户在所述规则引擎模块中的编辑信息,获得预定业务规则逻辑。

具体而言,所述业务规则逻辑为所述第一用户在所述规则引擎中编辑的决策逻辑。所述规则引擎模块中包括进行工作流的管理与监控接口,用于进行用户对工作流进行过程状态管理、过程监控管理、资源控制操作等。

进一步而言,本申请实施例步骤S501a还包括:

步骤S501a1a:所述工作流引擎模块通过流程定义模块获得第一用户定义的流程信息。

具体而言,所述第一用户可通过所述工作流引擎模块的所述流程定义模块定义流程的相关信息,包括流程的步骤、流程的分支、流程的分支条件,流程走向的限制条件。

进一步而言,本申请实施例步骤S501a还包括:

步骤S501a1b:所述工作流引擎模块通过流程流转模块根据所述第一决策结果,确定流程状态;

步骤S501a2b:所述工作流引擎模块将所述流程状态发送至所述流程业务接口模块。

具体而言,所述工作流引擎模块根据所述业务流程接口模块传入的信息来确定流程的状态,比如流程提交下一步,流程退回上一步,流程退回指定步骤、流程结束、流程终止。继而由所述工作流引擎模块将所述流程状态发送至所述流程业务接口模块。

综上所述,本申请实施例所提供的一种基于规则引擎的流程实现方法具有如下技术效果:

由于采用了把规则引擎和工作流引擎结合,实现了流程应用可配置化的动态控制;通过流程模板和审批权限的方式完成流程流转的动态控制。通过规则引擎可视性好,可配置性高的特点,把工作流引擎中复杂且难修改的逻辑判断交给规则引擎来完成,实现了流程可配置,流程分支可配置,审批层级可配置的特点。且本方案通用性强,可以适配各种流程应用、工作流引擎、规则引擎。

基于与前述实施例中一种基于规则引擎的流程实现方法同样发明构思,本发明还提供了一种基于规则引擎的流程实现系统,如图2所示,所述系统包括:

第一获得单元11,所述第一获得单元11用于根据业务流程接口模块获得业务数据;

第一发送单元12,所述第一发送单元12用于所述业务流程接口模块将所述业务数据发送至规则引擎模块;

第二获得单元13,所述第二获得单元13用于所述规则引擎模块根据所述业务数据,获得第一决策结果;

第二发送单元14,所述第二发送单元14用于所述规则引擎模块将所述第一决策结果返回至所述业务流程接口模块;

第三发送单元15,所述第三发送单元15用于所述业务流程接口模块将所述第一决策结果发送至工作流引擎模块,完成流程创建与流转。

进一步的,所述系统还包括:

第三获得单元,所述第三获得单元用于根据所述业务数据组装获得第一json对象;

第四发送单元,所述第四发送单元用于所述业务流程接口模块将所述第一json对象发送至所述规则引擎模块。

进一步的,所述系统还包括:

第四获得单元,所述第四获得单元用于根据所述第一决策结果获得第二json对象;

第五发送单元,所述第五发送单元用于所述规则引擎模块将所述第二json对象返回至所述业务流程接口模块。

进一步的,所述系统还包括:

第五获得单元,所述第五获得单元用于所述业务流程接口模块通过计算流程模板的接口,根据所述业务数据,获得流程模板信息。

进一步的,所述系统还包括:

第六获得单元,所述第六获得单元用于所述业务流程接口模块通过计算审批层级的接口,根据所述业务数据,获得审批层级信息。

进一步的,所述系统还包括:

第七获得单元,所述第七获得单元用于所述业务流程接口模块通过计算流转条件的接口,根据所述业务数据,获得流转条件信息;

第八获得单元,所述第八获得单元用于根据所述流程模版信息、所述审批层级信息和所述流转条件信息,获得第一决策结果。

进一步的,所述系统还包括:

第六发送单元,所述第六发送单元用于通过创建流程接口、获取下一步任务信息接口和提交流程接口将所述第一决策结果发送至所述工作流引擎模块,完成流程创建与流转。

进一步的,所述系统还包括:

第九获得单元,所述第九获得单元用于获得第一工作流返回信息;

第十获得单元,所述第十获得单元用于通过流程执行人接口根据所述第一工作流返回信息,确定一下步流程的执行人。

进一步的,所述系统还包括:

第十一获得单元,所述第十一获得单元用于获得预定业务规则逻辑;

第十二获得单元,所述第十二获得单元用于根据所述业务数据,获得业务规则数据;

第十三获得单元,所述第十三获得单元用于根据所述业务规则数据,按照所述预定业务规则逻辑,获得第一决策结果。

进一步的,所述系统还包括:

第十四获得单元,所述第十四获得单元用于获得预定数据对象;

第十五获得单元,所述第十五获得单元用于根据所述预定数据对象,将所述业务数据转换为业务规则数据。

进一步的,所述系统还包括:

第十六获得单元,所述第十六获得单元用于获得第一用户在所述规则引擎模块中的编辑信息;

第十七获得单元,所述第十七获得单元用于根据所述第一用户在所述规则引擎模块中的编辑信息,获得预定业务规则逻辑。

进一步的,所述系统还包括:

第十八获得单元,所述第十八获得单元用于所述工作流引擎模块通过流程定义模块获得第一用户定义的流程信息。

进一步的,所述系统还包括:

第十九获得单元,所述第十九获得单元用于所述工作流引擎模块通过流程流转模块根据所述第一决策结果,确定流程状态;

第七发送单元,所述第七发送单元用于所述工作流引擎模块将所述流程状态发送至所述流程业务接口模块。

前述图1实施例一中的一种基于规则引擎的流程实现方法的各种变化方式和具体实例同样适用于本实施例的一种基于规则引擎的流程实现系统,通过前述对一种基于规则引擎的流程实现方法的详细描述,本领域技术人员可以清楚的知道本实施例中一种基于规则引擎的流程实现系统,所以为了说明书的简洁,在此不再详述。

下面参考图3来描述本申请实施例的电子设备。

图3图示了根据本申请实施例的电子设备的结构示意图。

基于与前述实施例中一种基于规则引擎的流程实现方法的发明构思,本发明还提供一种基于规则引擎的流程实现系统,其上存储有计算机程序,该程序被处理器执行时实现前文所述一种基于规则引擎的流程实现方法的任一方法的步骤。

其中,在图3中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口305在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他系统通信的单元。

处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。

本申请实施例通过提供一种基于规则引擎的流程实现方法,其中,所述方法应用于一种基于规则引擎的流程实现系统,所述系统包括业务流程接口模块、规则引擎模块和工作流引擎模块,所述方法包括:根据所述业务流程接口模块获得业务数据;所述业务流程接口模块将所述业务数据发送至所述规则引擎模块;所述规则引擎模块根据所述业务数据,获得第一决策结果;所述规则引擎模块将所述第一决策结果返回至所述业务流程接口模块;所述业务流程接口模块将所述第一决策结果发送至所述工作流引擎模块,完成流程创建与流转。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号