掌桥专利:专业的专利平台
掌桥专利
首页

基于工作流的决策引擎循环体数据处理方法及装置

文献发布时间:2023-06-29 06:30:04


基于工作流的决策引擎循环体数据处理方法及装置

技术领域

本发明涉及金融数据处理领域,尤其涉及一种基于工作流的决策引擎循环体数据处理方法及装置。

背景技术

决策引擎系统底层都需要数据模型作为支撑,这些数据一般由审批系统获取,包括基础数据和循环体数据,最终应用到决策引擎组件中的数据是对这些基础数据和循环体数据加工后的最终数据。

对于数据加工部分,由于涉及到循环体和各种复杂的判断,目前大部分系统是程序员按照硬编码的方式在程序里编写,这样业务人员无法知晓数据加工具体过程,后续如果加工逻辑变化或者加工逻辑错误了就需要修改程序代码,重新打包部署版本才能生效,而程序开发周期较长,不仅浪费人力,还大大降低了决策引擎的效率。

发明内容

针对现有技术存在的问题,本发明提供一种基于工作流的决策引擎循环体数据处理方法及装置。

本发明提供一种基于工作流的决策引擎循环体数据处理方法,包括:接收包含交易信息的请求报文,解析所述请求报文得到关于交易信息的待处理循环体数据;基于业务流程建模与标注(Business Process Modeling Notation,BPMN)工作流引擎,通过人机界面配置工作流,所述工作流包括循环体数的规则集,其中,所述规则集中包括循环次数初始值、是否持续循环以及循环体处理对象的初始值;基于配置后的工作流,对循环体数据进行计算。

根据本发明提供的一种基于工作流的决策引擎循环体数据处理方法,所述工作流还包括代码块、合并分支和规则流,相应地,所述基于业务流程建模与标注BPMN工作流引擎,通过人机界面配置工作流,包括:接收选项框输入或选取的代码块参数和规则集参数;基于人机界面的组件图标拖拉拽的连接方式,生成所述代码块参数和所述规则集参数的合并分支以及规则流的流向。

根据本发明提供的一种基于工作流的决策引擎循环体数据处理方法,所述通过人机界面配置工作流之后,所述基于配置后的工作流,对循环体数据进行计算之前,还包括:读取已知预期结果工作流的所有输入变量,并调用工作流计算得到决策结果;根据所述已知预期结果和所述决策结果进行对比,验证所述决策引擎的准确性。

根据本发明提供的一种基于工作流的决策引擎循环体数据处理方法,所述基于业务流程建模与标注BPMN工作流引擎,通过人机界面配置工作流之前,还包括:将待处理循环体数据发送至决策引擎的数据模型中;将所述循环体数据按照数据模型定义的名称进行映射。

根据本发明提供的一种基于工作流的决策引擎循环体数据处理方法,将所述循环体数据按照数据模型定义的名称进行映射,包括:将所述请求报文解析后的字段按非循环体和循环体分别放入不同的MAP对象中;将循环体数据对应的MAP对象,通过数据流形式传入到决策引擎中;基于决策引擎中的数据模型按照解析完的循环体数据字段名进行定义,将所述循环体数据按照数据模型定义的名称进行映射。

根据本发明提供的一种基于工作流的决策引擎循环体数据处理方法,所述基于业务流程建模与标注BPMN工作流引擎,通过人机界面配置工作流之后,包括:存储配置后的工作流,并生成配置工作流的版本信息;将配置后的工作流与版本信息进行关联,生成查询接口。

本发明还提供一种基于工作流的决策引擎循环体数据处理装置,包括:获取模块,用于接收包含交易信息的请求报文,解析所述请求报文得到关于交易信息的待处理循环体数据;配置模块,用于基于业务流程建模与标注BPMN工作流引擎,通过人机界面配置工作流,所述工作流包括循环体数的规则集,其中,所述规则集中包括循环次数初始值、是否持续循环以及循环体处理对象的初始值;处理模块,用于基于配置后的工作流,对循环体数据进行计算。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于工作流的决策引擎循环体数据处理方法。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于工作流的决策引擎循环体数据处理方法。

本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于工作流的决策引擎循环体数据处理方法。

本发明提供的基于工作流的决策引擎循环体数据处理方法及装置,基于BPMN工作流的可视化页面配置循环体加工过程,循环体数据提前在数据模型中定义好,提供加工逻辑和判断条件可视化的配置页面。数据的加工过程有了可视化页面的动态配置支撑,使得加工过程变得简易明了,使得业务分析人员可以只设计业务加工逻辑,开发人员只做系统建设,从而提高循环体数据处理的运行效率。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的基于工作流的决策引擎循环体数据处理方法的流程示意图之一;

图2是本发明提供的工作流基本对象组成示意图;

图3是本发明提供的基于工作流的决策引擎循环体数据处理方法的流程示意图之二;

图4是本发明提供的基于工作流的决策引擎循环体数据处理装置的结构示意图;

图5是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。其中,相关术语解释如下:

决策引擎系统,由基于规则的专家系统(Rule-Based Expert Bystem)发展而来,属于专家系统的一个分支,它模仿人类的推理方式,采用演绎法(Forward-Chainning),从一个初始的事实出发,通过不断的应用规则进行推理或执行指定动作,最后得到结论。它是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接收数据输入,解释业务规则,并根据业务规则做出业务决策。

其中,决策引擎系统包括数据模型、决策组件和规则流。数据模型定义了数据集、普通变量、集合变量及衍生变量。决策组件,为了实现复杂的业务逻辑规则可定制化配置而开发的各种决策组件,其包括规则集、一维表索引、决策树、决策表、评分卡等。规则流,本发明中指将已配置好的决策组件按照业务流程和分支组合条件串接起来,形成统一的加工流程入口管理。

目前的方法是交易到达服务器后,接收到请求报文,代码层面解析请求报文,报文中的循环体逻辑的加工计算全部通过硬编码完成,最后将计算的结果送到决策引擎的变量中为后续的服务提供支撑。

下面结合图1-图5描述本发明的基于工作流的决策引擎循环体数据处理方法及装置。图1是本发明提供的基于工作流的决策引擎循环体数据处理方法的流程示意图之一,如图1所示,本发明提供基于工作流的决策引擎循环体数据处理方法,包括:

101、接收包含交易信息的请求报文,解析所述请求报文得到关于交易信息的待处理循环体数据。

决策引擎收到包含交易信息的待处理请求报文后,对报文进行解析,得到需要处理的循环体数据,本发明的循环体数据主要为关于交易信息的循环体数据,交易信息包括入账、出账、借款和存款等。

102、基于业务流程建模与标注BPMN工作流引擎,通过人机界面配置工作流,所述工作流包括循环体数的规则集,其中,所述规则集中包括循环次数初始值、是否持续循环以及循环体处理对象的初始值。

规则集可通过规则引擎Drools实现,Drools是一款由JBoss组织提供的基于Java语言开发的开源规则引擎,可以将复杂且多变的业务规则从硬编码中解放出来,以规则脚本的形式存放在文件或特定的存储介质中(例如存放在数据库中),使得业务规则的变更不需要修改项目代码、不用重启服务器就可以在线上环境立即生效,它具有一个易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高。业务分析师或审核人员可以利用它轻松查看业务规则,从而检验是否已编码的规则执行了所需的业务规则。

Drools主要分为两个部分:一是Drools规则,二是Drools规则的解释执行。规则的编译与运行要通过Drools提供的相关API来实现。而这些API总体上游可分为三类:规则编译、规则收集和规则的执行

BPMN工作流,其核心集包括含事件、活动和网关在内的流对象(flow objects),含顺序流、消息流以及关联在内的连接对象(connecting objects);以及含数据对象、文字注释和组在内的人工产物(artifacts)。

工作流(Workflow):工作流就是通过计算机技术对业务流程进行自动化管理。实现多个参与者按照预定的流程去自动执行业务流程。

BPMN定义了业务流程图,其基于流程图技术,同时为创建业务流程操作的图形化模型进行了裁减。业务流程的模型就是图形化对象的网图,包括活动(也可以说工作)和定义操作顺序的流控制,一个业务流程图有三个流对象的核心元素:事件、活动、条件。

图2是本发明提供的工作流基本对象组成示意图,本发明基于BPMN工作流引擎来构建整个数据加工流程。工作流引擎由以下基本对象组成:

1.事件:用来表明流程的生命周期中发生了什么事,本发明中事件包括启动事件、结束事件类型

2.流向:是连接两个流程节点的连线;

3.网关:用于控制流程的流向,本发明的一个实施例中主要用到基于数据的排他网关。

基于数据的排他网关(exclusive data-based gateway),当执行到达这个网关时,会按照所有出口顺序流定义的顺序对它们进行计算。选择第一个条件计算为true的顺序流(当没有设置条件时,认为顺序流为true)继续流程

4.任务:是一个流程(Process)中的关键原子级的活动(Activity)。用来指代一个由人或计算设备来完成的活动,这些活动通过流程组合在一起而发挥效用根据任务种类,当流程达到该元素,执行特定的工作。本发明中的一个实施例中使用到的任务组件为规则集、政策规则集、一维表索引。

规则集是做定性判断最基本的单元组件,它根据规定输入的变量值,按照事先设定好的逻辑进行判断并得出结论。规则集是一个包含多条规则的集合,规则集中的规则有一个默认的互斥标记,导致规则集中的规则最终只有一条或没有规则执行,即规则执行的条数<=1。

基于上述配置后所有的加工逻辑和判断条件通过可视化页面的决策组件实现动态配置化,所见即所得,易于理解,业务人员也很容易参与到加工逻辑的配置和修改中。

当加工逻辑发生变化时可以通过可视化页面调整加工规则,修改完成后立即发布生效。

103、基于配置后的工作流,对循环体数据进行计算。

BPMN工作流引擎的规则流支持循环体数据的初始化和控制循环次数,可以将已经配置好的各个加工逻辑决策组件按照计算的先后顺序串接起来,形成一个完整的控制流程。后续的数据加工过程按照规则流配置的顺序加工计算即可。

通过目前的硬编码的方式虽然能够实现循环体数据的加工解析,但是无法通过页面直观的看见具体的加工过程,加工逻辑发生变化后无法进行线上即时更新部署,无法记录调整加工逻辑的历史版本及回退历史版本,业务人员无法参与到数据加工的修改和配置中。

对于大中型商业银行的决策引擎来讲,随着时间的推移模型会迭代更新,数据服务也会经常发生变化,通过硬编码的方式显然会加大开发人员的工作量。

本发明的基于工作流的决策引擎循环体数据处理方法,基于BPMN工作流的可视化页面配置循环体加工过程,循环体数据提前在数据模型中定义好,提供加工逻辑和判断条件可视化的配置页面。数据的加工过程有了可视化页面的动态配置支撑,使得加工过程变得简易明了,使得业务分析人员可以只设计业务加工逻辑,开发人员只做系统建设,从而提高循环体数据处理的运行效率。

在一个实施例中,所述工作流还包括代码块、合并分支和规则流,相应地,所述基于业务流程建模与标注BPMN工作流引擎,通过人机界面配置工作流,包括:接收选项框输入或选取的代码块参数和规则集参数;基于人机界面的组件图标拖拉拽的连接方式,生成所述代码块参数和所述规则集参数的合并分支以及规则流的流向。

代码块为一段可执行的JAVA代码,本发明中主要用来控制每次循环次数。

合并分支:当执行到达分支时,会按照所有出口顺序流定义的顺序对它们进行计算。选择第一个条件计算为true的顺序流往下执行;合并是对所有分支的路径进行汇合。

规则流:能够灵活简单地将已经配置好的决策组件按照先后执行顺序和流向串连起来,以组成完整的规则流,来实现一个完整的策略。

本发明中,通过如主页界面的选项框输入循环次数初始值、是否持续循环以及循环体处理对象的初始值,以及配置代码块,代码块可以是一段可执行的JAVA代码,本发明中主要用来控制每次循环次数。再通过组件图标拖拉拽的连接方式,直观生成流程的走向,保存的结果能够正确生成bpmn文件并能够生效执行。

本发明实施例的基于工作流的决策引擎循环体数据处理方法,能够提供可视化的规则流程图,实现循环数据的加工逻辑可视化配置。

在一个实施例中,所述通过人机界面配置工作流之后,所述基于配置后的工作流,对循环体数据进行计算之前,还包括:读取已知预期结果工作流的所有输入变量,并调用工作流计算得到决策结果;根据所述已知预期结果和所述决策结果进行对比,验证所述决策引擎的准确性。

循环体加工逻辑的主工作流配置完成后,需要验证其正确性,验证的过程需要单独的页面读取到工作流用到的所有输入变量,输入变量和预期结果的值可以手工录入,完成后可以实时调用工作流计算出最终结果,最后对最终结果和预期结果作比对,查看计算是否正确。具体可分为如下步骤执行:

单笔测试:接收输入参数,执行计算出最终结果;

轨迹查询:单笔测试时同时可记录轨迹数据,页面可以展示出当前决策流程所有命中的条件及输出结果;

报文测试:页面可直接粘贴原始报文以触发调用主流程加工服务计算最终结果。

基于此,循环体数据加工数据流转步骤可如下:

1.接收原始报文或输入变量,解析报文并存放循环体数据到MAP对象中。

2.读取数据模型定义的数据集和变量并完成数据的映射。

3.调用数据加工循环体流程,按加工逻辑顺序执行计算出结果。

4.查询计算轨迹过程是否跟预期结果一致。

在一个实施例中,所述基于业务流程建模与标注BPMN工作流引擎,通过人机界面配置工作流之前,还包括:将待处理循环体数据发送至决策引擎的数据模型中;将所述循环体数据按照数据模型定义的名称进行映射。

图3是本发明提供的基于工作流的决策引擎循环体数据处理方法的流程示意图之二,结合上述实施例的一种实现方式如图3所示,对于循环体加工过程,需要提前将循环体数据送到数据模型中,当决策引擎工作流调用到加工服务时,可以直接拿到每一条循环体数据,按照页面配置的加工逻辑进行计算。本发明实施例中,提前将循环体数据按照数据模型定义的名称映射好,保证后续的加工服务能正确读取到循环体数据。

在一个实施例中,将所述循环体数据按照数据模型定义的名称进行映射,包括:将所述请求报文解析后的字段按非循环体和循环体分别放入不同的MAP对象中;将循环体数据对应的MAP对象,通过数据流形式传入到决策引擎中;基于决策引擎中的数据模型按照解析完的循环体数据字段名进行定义,将所述循环体数据按照数据模型定义的名称进行映射。

在本发明实施例中,对不同决策场景的报文进行解析和数据映射。解析上游发送的XML格式或JSON格式原报文,将解析后的字段按非循环体和循环体分别放入不同的MAP对象中。解析完的循环体数据通过数据流形式传入到决策流引擎中等待使用。决策流中的数据模型按照解析完的循环体数据字段名进行定义,读取数据模型并按字段名称自动匹配并映射值。在102的配置过程中,数据模型:按照解析好的循环体MAP对象定义数据集和数据字段。

在一个实施例中,所述基于业务流程建模与标注BPMN工作流引擎,通过人机界面配置工作流之后,包括:存储配置后的工作流,并生成配置工作流的版本信息;将配置后的工作流与版本信息进行关联,生成查询接口。

本发明实施例增加了主规则流程配置过程的版本发布记录,基于此可实现版本回退、版本比较、版本恢复功能,方便后续模型配置出错时可以回退到以前的任一正确版本。还可增加轨迹查询功能,便于监控循环体加工过程的每一步流程走向和输出结果。

基于上述各实施例,举例而言,基于工作流引擎组件功能对征信贷款循环体数据加工处理流程如下:

1.数据模型中定义数据集“征信贷款信息(LOAN)”和数据集“征信贷款集合(CREDITLOAN_LST)”。“征信贷款信息(LOAN)”数据集里字段全部为基础字段,“征信贷款集合(CREDITLOAN_LST)”中定义了集合字段“征信贷款循环体(LOAN_LST)”指向数据集征信贷款信息(LOAN)。

2.规则集“循环贷款初始化”是对进入循环体之前的循环次数、是否持续循环以及计算债务支出的贷款这几个字段赋予初始化值。

3.代码块“循环贷款循环次数控制”是对循环体数据的具体循环次数以及是否继续循环进行控制,主要内容为每次循环获取征信贷款数据并将循环次数加1,结束标志为获取不到征信贷款数据时将“是否持续循环”字段赋值为0(否),标志循环体结束。

4.分支网关判断条件,根据设定的不同条件走不同的分支路线。

5.规则集“抵押物贷款期限”是计算每笔循环体的“剩余还款基数”和“抵押物贷款期限”。

6.规则集“计算债务支出”分为剩余还款期数大于12个月和小于12个月两种情况,分别将每一笔循环体运算后的结果作累加:

(1)还款期数大于12个月;

(2)还款期数小于12个月。

在本发明中,整个循环体计算的决策流程提供了统一的开始入口,第一步对循环体数据进行初始化;第二步到达合并网关后直接调用代码块对循环体的数据进行判空校验及数据持续循环标志赋值;第三步到达分支网关,这里根据“贷款循环持续标志”的值为“是”则计算债务支出贷款,循环全部结束后代码表中会将“贷款循环持续标志”的值变为“否”,到达分支网关后结束整个流程。

下面对本发明提供的基于工作流的决策引擎循环体数据处理装置进行描述,下文描述的基于工作流的决策引擎循环体数据处理装置与上文描述的基于工作流的决策引擎循环体数据处理方法可相互对应参照。

图4是本发明提供的基于工作流的决策引擎循环体数据处理装置的结构示意图,如图4所示,该基于工作流的决策引擎循环体数据处理装置包括:获取模块401、配置模块402和处理模块403。其中,获取模块401用于接收包含交易信息的请求报文,解析所述请求报文得到关于交易信息的待处理循环体数据;配置模块402用于基于业务流程建模与标注BPMN工作流引擎,通过人机界面配置工作流,所述工作流包括循环体数的规则集,其中,所述规则集中包括循环次数初始值、是否持续循环以及循环体处理对象的初始值;处理模块403用于基于配置后的工作流,对循环体数据进行计算。

本发明实施例提供的装置实施例是为了实现上述各方法实施例的,具体流程和详细内容请参照上述方法实施例,此处不再赘述。

本发明实施例所提供的基于工作流的决策引擎循环体数据处理装置,其实现原理及产生的技术效果和前述基于工作流的决策引擎循环体数据处理方法实施例相同,为简要描述,基于工作流的决策引擎循环体数据处理装置实施例部分未提及之处,可参考前述基于工作流的决策引擎循环体数据处理方法实施例中相应内容。

图5是本发明提供的电子设备的结构示意图,如图5所示,该电子设备可以包括:处理器(processor)501、通信接口(Communications Interface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501可以调用存储器503中的逻辑指令,以执行基于工作流的决策引擎循环体数据处理方法,该方法包括:接收包含交易信息的请求报文,解析所述请求报文得到关于交易信息的待处理循环体数据;基于业务流程建模与标注BPMN工作流引擎,通过人机界面配置工作流,所述工作流包括循环体数的规则集,其中,所述规则集中包括循环次数初始值、是否持续循环以及循环体处理对象的初始值;基于配置后的工作流,对循环体数据进行计算。

此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于工作流的决策引擎循环体数据处理方法,该方法包括:接收包含交易信息的请求报文,解析所述请求报文得到关于交易信息的待处理循环体数据;基于业务流程建模与标注BPMN工作流引擎,通过人机界面配置工作流,所述工作流包括循环体数的规则集,其中,所述规则集中包括循环次数初始值、是否持续循环以及循环体处理对象的初始值;基于配置后的工作流,对循环体数据进行计算。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于工作流的决策引擎循环体数据处理方法,该方法包括:接收包含交易信息的请求报文,解析所述请求报文得到关于交易信息的待处理循环体数据;基于业务流程建模与标注BPMN工作流引擎,通过人机界面配置工作流,所述工作流包括循环体数的规则集,其中,所述规则集中包括循环次数初始值、是否持续循环以及循环体处理对象的初始值;基于配置后的工作流,对循环体数据进行计算。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 基于工作流引擎的操作处理方法、引擎、电子设备及介质
  • 工作流的任务处理方法和装置、工作流引擎
技术分类

06120116023076