CN116643739A - 决策引擎实现方法、装置、设备及存储介质 - Google Patents
决策引擎实现方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116643739A CN116643739A CN202310617925.XA CN202310617925A CN116643739A CN 116643739 A CN116643739 A CN 116643739A CN 202310617925 A CN202310617925 A CN 202310617925A CN 116643739 A CN116643739 A CN 116643739A
- Authority
- CN
- China
- Prior art keywords
- decision
- execution
- decision model
- model
- data structure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 99
- 230000008569 process Effects 0.000 claims abstract description 50
- 238000013515 script Methods 0.000 claims abstract description 41
- 238000011161 development Methods 0.000 claims abstract description 36
- 238000012544 monitoring process Methods 0.000 claims abstract description 23
- 238000004458 analytical method Methods 0.000 claims description 28
- 238000004422 calculation algorithm Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 14
- 238000013461 design Methods 0.000 claims description 14
- 238000010276 construction Methods 0.000 claims description 12
- 238000003672 processing method Methods 0.000 claims description 10
- 230000000007 visual effect Effects 0.000 claims description 8
- 238000012800 visualization Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000013079 data visualisation Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 11
- 238000003066 decision tree Methods 0.000 description 10
- 238000013178 mathematical model Methods 0.000 description 10
- 230000014509 gene expression Effects 0.000 description 9
- 238000012423 maintenance Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- OWZREIFADZCYQD-NSHGMRRFSA-N deltamethrin Chemical compound CC1(C)[C@@H](C=C(Br)Br)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 OWZREIFADZCYQD-NSHGMRRFSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了决策引擎实现方法、装置、设备及存储介质,涉及决策引擎技术领域,包括:基于预设规则构建决策模型,并对决策模型进行图文形式的定义,以得到图文化的决策模型;对图文化的决策模型进行解析,以得到目标数据结构,并将目标数据结构转换为计算机可执行脚本;向目标执行器中输入计算机可执行脚本与业务数据,以得到执行结果,并对执行过程进行监控,以实现对执行日志的存储;其中,执行日志包括所述执行结果;对执行结果以及执行过程进行可视化展示,并通过对执行日志进行分析,以完成对不同条件下决策模型的执行效率对比。可见,本申请提供了一种决策引擎实现方法,通过对决策引擎的抽象与数据标准化,极大降低了开发与运维成本。
Description
技术领域
本发明涉及决策引擎技术领域,特别涉及决策引擎实现方法、装置、设备及存储介质。
背景技术
针对市场上复杂的决策需求,目前产生了很多的决策引擎,但是各种决策引擎处理的决策场景较为单一且技术实现各不相同,因为业务复杂度高,往往在同一项目中可能要集成各种决策引擎,代码结构不统一,集成难度大、成本高,代码高度耦合,特别是当针对某些特定领域需要定制化采用全新的决策分析算法时,没有一个统一的代码结构规范与统一的决策引擎的框架,使得开发成本与运维成本骤增,所以需要从决策引擎平台建设角度出发,形成一套标准化的决策引擎集成与开发流程。
发明内容
有鉴于此,本发明的目的在于提供一种决策引擎实现方法、装置、设备及存储介质,能够从决策引擎平台建设角度出发,通过对决策引擎的抽象与数据标准化,极大降低了开发与运维成本。其具体方案如下:
第一方面,本申请公开了一种决策引擎实现方法,包括:
基于预设规则构建决策模型,并对所述决策模型进行图文形式的定义,以得到图文化的决策模型;
对所述图文化的决策模型进行解析,以得到目标数据结构,并将所述目标数据结构转换为计算机可执行脚本;
向目标执行器中输入所述计算机可执行脚本与业务数据,以得到执行结果,并对执行过程进行监控,以实现对执行日志的存储;其中,所述执行日志包括所述执行结果;
对所述执行结果以及所述执行过程进行可视化展示,并通过对所述执行日志进行分析,以完成对不同条件下所述决策模型的执行效率对比。
可选的,所述基于预设规则构建决策模型,包括:
通过定制化开发所述决策模型相应的模型定义组件,以得到所述决策模型;
或,通过引入市场上开源的数据可视化定义组件,以构建出所述决策模型。
可选的,所述对所述图文化的决策模型进行解析,包括:
基于模板设计模式、工厂设计模式以及预定义的公共处理方法,利用java计算机语言对所述图文化的决策模型进行解析。
可选的,所述目标数据结构采用标准化的数学语言符号进行定义描述。
可选的,所述将所述目标数据结构转换为计算机可执行脚本,包括:
基于预设要求确定目标算法与目标计算机语言,以通过所述目标算法与所述目标计算机语言将所述目标数据结构转换为所述计算机可执行脚本。
可选的,所述对执行过程进行监控,以实现对执行日志的存储,包括:
对执行过程进行监控,并通过异步方式将所述执行过程产生的所述执行日志记录至数据库中,以实现对执行日志的存储。
可选的,所述方法,还包括:
对开发前端可视化组件进行定制化开发以及对所述执行日志和所述执行结果的内容结构进行定制化开发,以满足不同的执行信息的展示需求。
第二方面,本申请公开了一种决策引擎实现装置,包括:
决策模型构建模块,用于基于预设规则构建决策模型,并对所述决策模型进行图文形式的定义,以得到图文化的决策模型;
决策模型解析模块,用于对所述图文化的决策模型进行解析,以得到目标数据结构;
数据结构转换模块,用于将所述目标数据结构转换为计算机可执行脚本;
执行结果获取模块,用于向目标执行器中输入所述计算机可执行脚本与业务数据,以得到执行结果,并对执行过程进行监控,以实现对执行日志的存储;其中,所述执行日志包括所述执行结果;
可视化展示模块,用于对所述执行结果以及所述执行过程进行可视化展示,并通过对所述执行日志进行分析,以完成对不同条件下所述决策模型的执行效率对比。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序以实现前述的决策引擎实现方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的决策引擎实现方法。
由上可知,本申请首先基于预设规则构建决策模型,并对所述决策模型进行图文形式的定义,以得到图文化的决策模型;对所述图文化的决策模型进行解析,以得到目标数据结构,并将所述目标数据结构转换为计算机可执行脚本;向目标执行器中输入所述计算机可执行脚本与业务数据,以得到执行结果,并对执行过程进行监控,以实现对执行日志的存储;其中,所述执行日志包括所述执行结果;最终对所述执行结果以及所述执行过程进行可视化展示,并通过对所述执行日志进行分析,以完成对不同条件下所述决策模型的执行效率对比。可见,本申请提供了一种决策引擎实现方法,将决策引擎的传统实现进行抽象,分离出不同的阶段,每个阶段对数据的输入输出进行标准化的定义,使得每个阶段的实现相对独立又相互融合,使得每个阶段针对不同的业务场景可以采用最灵活高效的方式去进行编码实现,降低了决策图文表现层、决策分析方法、以及计算机语言的高度耦合性,支持对某些业务复杂度较高的决策,在选择比较恰当的一个或者多个决策分析方法之后进行快速构建,同时对某一特定领域的决策的实现方式高度定制化开发降低了开发门槛。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种决策引擎实现方法流程图;
图2为本申请公开的一种图形化模型转化为数学模型的方法示意图;
图3为本申请公开的一种数学模型的定义示意图;
图4为本申请公开的一种将图形化决策抽象为数据结构的方法示意图;
图5为本申请公开的一种执行日志内容代码示意图;
图6为本申请公开的一种具体的决策引擎实现方法流程图;
图7为本申请公开的一种前端模型构建方法示意图;
图8为本申请公开的一种后端模型构建方法示意图;
图9为本申请公开的一种数据结构转换为计算机可执行的脚本方法示意图;
图10为本申请公开的一种决策引擎实现装置结构流程图;
图11为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对市场上复杂的决策需求,目前产生了很多的决策引擎,但是各种决策引擎处理的决策场景较为单一且技术实现各不相同,因为业务复杂度高,往往在同一项目中可能要集成各种决策引擎,代码结构不统一,集成难度大、成本高,代码高度耦合,特别是当针对某些特定领域需要定制化采用全新的决策分析算法时,没有一个统一的代码结构规范与统一的决策引擎的框架,使得开发成本与运维成本骤增。为了解决上述问题,本申请提供了一种决策引擎实现方法,能够形成一套标准化的决策引擎集成与开发流程。
参见图1所示,本发明实施例公开了一种决策引擎实现方法,包括:
步骤S11、基于预设规则构建决策模型,并对所述决策模型进行图文形式的定义,以得到图文化的决策模型。
本实施例中,基于预设规则构建决策模型,包括:通过定制化开发所述决策模型相应的模型定义组件,以得到所述决策模型;或,通过引入市场上开源的数据可视化定义组件,以构建出所述决策模型。即前端以vue框架作为基础,提供了基础的数据保存、综合查询、版本管理等功能,可以定制化开发相应的模型定义组件,也可以引入市场上开源的数据可视化定义组件,来对决策模型进行构建。并对所述决策模型进行图文形式的定义,以得到图文化的决策模型。根据不同的业务需求场景,采用不同的模型来对某种决策进行描绘,模型化的决策能够更加清晰、直观的表达业务场景,决策模型构件器可以采用不同的技术实现,灵活适配不同的图文展示需要。
步骤S12、对所述图文化的决策模型进行解析,以得到目标数据结构,并将所述目标数据结构转换为计算机可执行脚本。
本实施例中,所述对所述图文化的决策模型进行解析,包括:基于模板设计模式、工厂设计模式以及预定义的公共处理方法,利用java计算机语言对所述图文化的决策模型进行解析。将图文化的决策模型进行解析,按照某种决策分析方法解析成某种特定的数据结构,该数据结构采用标准化的数学语言符号进行定义描述,其中,一种决策模型可以有多种模型解析器进行解析。其中,包含两部分内容,一个是模型解析,将图形化模型转化为数学模型,目前核心实现如下图2所示,其中DecisionAssembler.java是接口类,定义了公共处理方法public T assemble(String jsonStr),具体实现由DecisionFlowAssembler.java、DecisionScoreCardAssembler.java、DecisionSetAssembler.java、DecisionTableAssembler.java、DecisionTreeAssembler.java等实现类分别针对决策流、打分卡、决策集、决策表、决策树等决策模型进行解析处理Decis ionAssemblerFactory,负责创建数据解析器实例。另一部分内容,如图3所示是数学模型的定义实现,抽象出变量、逻辑运算符、算术运算符、算术表达式、逻辑表达式、赋值表达式等基础性数学模型。如图4所示,通过将图形化的决策模型抽象成一种java数据结构(数学模型),可以更直接、更简单清晰的将模型转换为可执行脚本,以决策树为例,将决策树再次抽象为属性节点、结果节点、边线、命中策略。之后,将所述目标数据结构转换为计算机可执行脚本,所述将所述目标数据结构转换为计算机可执行脚本,包括:基于预设要求确定目标算法与目标计算机语言,以通过所述目标算法与所述目标计算机语言将所述目标数据结构转换为所述计算机可执行脚本。即采用java计算机语言将解析后的数据结构,主要采用模板设计模式,定义公共的处理方法,针对决策模型、对执行效率、灵活性等要求、以及后续要采用的执行引擎,找到合适的算法与计算机语言,将其转化为计算机可执行的脚本;所述目标数据结构采用标准化的数学语言符号进行定义描述。将解析后的数据结构,采用不同的算法、不同的计算机语言,将其转化为计算机可执行的脚本。
步骤S13、向目标执行器中输入所述计算机可执行脚本与业务数据,以得到执行结果,并对执行过程进行监控,以实现对执行日志的存储;其中,所述执行日志包括所述执行结果。
本实施例中,向目标执行器中输入所述计算机可执行脚本与业务数据,即向决策执行器中输入所述计算机可执行脚本与业务数据,特定计算机语言的执行引擎实现,默认采用Java,Groovy,Python,JEXL等计算机编程语言实现了不同种类的决策执行器,通过输入决策模型与业务数据,输出执行结果,同时决策执行过程中会按照统一标准对包括执行状态、执行日志等信息采用异步方式记录到数据库中,用于后续执行过程的回溯展示、性能比对分析与优化;所述对执行过程进行监控,以实现对执行日志的存储,包括:对执行过程进行监控,并通过异步方式将所述执行过程产生的所述执行日志记录至数据库中,以实现对执行日志的存储。
步骤S14、对所述执行结果以及所述执行过程进行可视化展示,并通过对所述执行日志进行分析,以完成对不同条件下所述决策模型的执行效率对比。
本实施例中,决策执行器产生的数据对决策执行过程以及结果进行图文化的动态展示,不同的决策模型可以自定义执行分析器以达到清晰直观展现目标。还包括:对开发前端可视化组件进行定制化开发以及对所述执行日志和所述执行结果的内容结构进行定制化开发,以满足不同的执行信息的展示需求。即本实施例包括两部分内容,一个是对执行日志与结果的信息采集与加工,二是对执行过程与结果的可视化展示;同时支持定制化开发前端可视化组件,对后台执行日志与执行结果也可以进行定制化的开发,满足不同的决策执行信息展示需求。如图5所示,执行日志的内容主要包括:决策执行记录编号(唯一),决策执行模型、决策执行输入数据、执行脚本、当前执行状态、执行结果、执行起止时间等信息;决策分析器主要是对决策执行日志进行分析,目前实现针对决策日志的综合查询与展示功能,增加了对决策执行状态的监控分析、以及每个决策执行次数的监控分析,同时针对不同的决策模型增加对整个决策流程执行过程的监控分析,借助于vue框架以及开源社区可以很方便的集成Echart、Highcharts、antV、D3等图表插件,满足不同的决策执行信息展示需求。
由上可知,本申请首先基于预设规则构建决策模型,并对所述决策模型进行图文形式的定义,以得到图文化的决策模型;对所述图文化的决策模型进行解析,以得到目标数据结构,并将所述目标数据结构转换为计算机可执行脚本;向目标执行器中输入所述计算机可执行脚本与业务数据,以得到执行结果,并对执行过程进行监控,以实现对执行日志的存储;其中,所述执行日志包括所述执行结果;最终对所述执行结果以及所述执行过程进行可视化展示,并通过对所述执行日志进行分析,以完成对不同条件下所述决策模型的执行效率对比。可见,本申请提供了一种决策引擎实现方法,将决策引擎的传统实现进行抽象,分离出不同的阶段,每个阶段对数据的输入输出进行标准化的定义,使得每个阶段的实现相对独立又相互融合,使得每个阶段针对不同的业务场景可以采用最灵活高效的方式去进行编码实现,降低了决策图文表现层、决策分析方法、以及计算机语言的高度耦合性,支持对某些业务复杂度较高的决策,在选择比较恰当的一个或者多个决策分析方法之后进行快速构建,同时对某一特定领域的决策的实现方式高度定制化开发降低了开发门槛。
基于上述实施例可知,本申请提供一种决策引擎实现方法,接下来,针对将决策引擎的传统实现进行抽象,分离出模型的定义、模型的解析、数据的转化、决策的执行、决策执行的分析等5个阶段展开具体的描述。参见图6所示,本申请提供了一种具体的决策引擎实现方法,包括:
本实施例中,提供了一个基于spring boot和vue框架开发的前后端分离的决策引擎的实现方法。采用SSM+VUE+MySQL作为基础开发框架,按照本专利描述的决策引擎实现方案开发适配了决策树、决策表、评分卡、规则集、决策流等5种决策。该决策引擎的每个模块均对输入输出进行了标准化定义,同时每个模块支持定制化开发易于扩展,整体实现方案架构,如下:
首先,利用决策模型构建器对决策模型进行图文形式的定义,前端以vue框架作为基础,提供了基础的数据保存、综合查询、版本管理等功能,可以定制化开发相应的模型定义组件,也可以引入市场上开源的数据可视化定义组件,来对决策模型进行构建。首先,对决策模型本身,抽象出决策名称、决策编号、决策类型、决策状态、决策版本、决策内容等信息的定义,以灵活应对决策模型本身的各种维护场景;同时考虑决策内容的复杂性将决策内容本身采用JSON格式进行存储。其次,针对决策模型,抽象出决策信息的增加、删除、修改、复制、发布、创建新版本、版本恢复、综合查询等接口;基于此:如图7、图8所示,前端:将公共的js方法统一封装定义到decisionAPI.js文件中;定义公共的决策基本信息维护、综合查询与列表展示、版本管理等维护页面用于实现决策的增加、删除、修改、复制、发布、创建新版本、版本恢复、综合查询等功能;将剩下的决策模型的维护进行个性化处理,针对不同的决策类型,可以灵活采用不同的技术,达到模型快速构建与集成的目的;后端:采用restful api接口规范,将决策信息的增加、删除、修改、复制、发布、创建新版本、版本恢复、综合查询等接口,在DecisionController.java中进行定义与实现。
之后,模型解析器部分,用于将图文化的决策模型进行解析,按照某种决策分析方法解析成某种特定的数据结构,该数据结构采用标准化的数学语言符号进行定义描述,一种决策模型可以有多种模型解析器进行解析;采用java计算机语言将图文化的决策模型进行解析,主要采用模板设计模式以及工厂设计模式,定义公共的处理方法,不同的决策模型可以采用多种模型解析器进行解析,具体采用模型解析器可在运行时指定;模型解析器将决策模型按照某种决策分析方法解析成某种特定的数据结构,该数据结构采用标准化的数学语言符号进行定义描述。其中,包含两部分内容,一个是模型解析,将图形化模型转化为数学模型,目前核心实现如下图所示,其中DecisionAsse mbler.java是接口类,定义了公共处理方法public T assemble(String jsonStr),具体实现由DecisionFlowAssembler.java、DecisionScoreCardAssembler.java、DecisionSetAssembler.java、DecisionTableAssembler.java、DecisionTreeAssembler.java等实现类分别针对决策流、打分卡、决策集、决策表、决策树等决策模型进行解析处理DecisionAssemblerFactory,负责创建数据解析器实例。另一部分内容,是数学模型的定义实现,抽象出变量、逻辑运算符、算术运算符、算术表达式、逻辑表达式、赋值表达式等基础性数学模型。通过将图形化的决策模型抽象成一种java数据结构(数学模型),可以更直接、更简单清晰的将模型转换为可执行脚本,以决策树为例,将决策树再次抽象为属性节点、结果节点、边线、命中策略。
数据转换器部分,用于将模型解析器解析后的数据结构,采用不同的算法、不同的计算机语言,将其转化为计算机可执行的脚本,一种模型解析器产生的数学模型,可以有多种数据转换器,来适配不同的算法与计算机语言;采用java计算机语言将模型解析器解析后的具体的java数据结构,主要通过模板设计模式以及工厂设计模式,定义公共的处理方法,针对决策模型、同时考虑执行效率、灵活性、以及后续要采用的执行引擎等要求,找到合适的算法与计算机语言,将其转化为计算机可执行的脚本;
核心实现如下图9所示,通过DecisionParser.java接口类,定义核心公共处理方法public String scriptParser(T node),然后由DecisionFlowParser.java、DecisionScoreParser.java、DecisionSetParser.java、DecisionTableParser.java、DecisionTreeParser.java等实现类分别针对决策流、打分卡、决策集、决策表、决策树等决策模型进行转换处理;DecisionParserFactory.java负责创建数据转换器实例。
决策执行器部分,特定计算机语言的执行引擎实现,输入可执行脚本与业务数据,支持自定义的执行结果输出,同时监控整个决策执行过程,包括执行状态的定义流转、执行日志的记录,可用于后续执行过程的回溯展示、性能分析与优化;默认采用Java,Groovy,Python,JEXL等计算机编程语言实现了不同种类的决策执行器,通过输入决策模型与业务数据,输出执行结果,同时决策执行过程中会按照统一标准对包括执行状态、执行日志等信息采用异步方式记录到数据库中,用于后续执行过程的回溯展示、性能比对分析与优化;首先,定义一个决策执行上下文,作为决策执行器的输入,包含决策模型信息、决策输入数据、决策执行状态(定义了不同的执行状态,在执行过程中发生变化)、输出结果、日志等信息,决策执行上下文贯穿整个决策的执行过程;在决策执行器接口类中定义决策执行与决策异步执行两个核心的方法,调用决策执行方法会立即返回执行结果;调用决策异步执行方法时,仅返回是否调用成功的信息,如果调用成功还包含决策执行流水号的信息,用于后续查询决策的执行结果。在抽象类中定义决策执行前、决策执行、决策执行后等三个核心方法,同时还有公共数据加载、执行脚本生成、日志记录、状态更新、异常处理等方法用于监控并记录整个执行过程。
最终,决策分析器部分,对决策执行过程以及结果进行图文化的动态展示,不同的决策模型可以自定义执行分析器以达到清晰直观展现目标;同时通过对执行日志进行解析,可以对同种模型采用不同数据转换器、不同决策执行器进行执行效率的比对;也就是,决策分析器包括两部分内容,一个是对执行日志与结果的信息采集与加工,二是对执行过程与结果的可视化展示;同时支持定制化开发前端可视化组件,对后台执行日志与执行结果也可以进行定制化的开发,满足不同的决策执行信息展示需求。执行日志的内容主要包括:决策执行记录编号(唯一),决策执行模型、决策执行输入数据、执行脚本、当前执行状态、执行结果、执行起止时间等信息;决策分析器主要是对决策执行日志进行分析,目前实现针对决策日志的综合查询与展示功能,增加了对决策执行状态的监控分析、以及每个决策执行次数的监控分析,同时针对不同的决策模型增加对整个决策流程执行过程的监控分析,借助于vue框架以及开源社区可以很方便的集成Echart、Highcharts、antV、D3等图表插件,满足不同的决策执行信息展示需求。
由上可知,本申请提供了一种决策引擎的实现方法,该方法通过对决策引擎的抽象,分离出五个模块,同时对输入输出数据进行标准化定义,使得每个模块自成体系可独立运行,每个模块之间可相对自由的进行适配,易于与市场成熟的决策执行引擎进行集成,面对特殊业务场景的决策需求或者面对成熟的决策算法可以快速进行定制化开发,决策引擎整体结构清晰,易于扩展维护。基于流程的数据计算设计器有以下价值点:松耦合:本方案通过对决策引擎的实现执行步骤进行抽象,分离出5个模块,大大降低了传统决策引擎实现前后依赖性强的问题;多核决策:目前该决策引擎实现了对规则集、打分卡、决策树、决策表、决策流的有效支撑;标准化:对抽象分离出的5个模块,针对不同的模块制订相应的数据输入输出标准,使得每个模块的接口服务开发更加规范统一;可视化:对决策模型的定义以及决策执行过程与结果的展示采用可视化方案,方便业务人员操作,减少对技术人员的依赖;定制化/可扩展/热插拔:每个模块均可以采用当下最成熟、最高效的方案进行定制化开发,方便快捷的替换原有方案,十分灵活,易于扩展;这样一来,可以非常方便的集成当下主流的决策执行引擎,同时对于当下成熟的决策分析算法可以快速定制化开发并集成,通过对决策引擎的抽象与数据标准化,极大降低了开发与运维成本。
参见图10所示,本发明实施例公开了一种决策引擎实现装置,包括:
决策模型构建模块11,用于基于预设规则构建决策模型,并对所述决策模型进行图文形式的定义,以得到图文化的决策模型;
决策模型解析模块12,用于对所述图文化的决策模型进行解析,以得到目标数据结构;
数据结构转换模块13,用于将所述目标数据结构转换为计算机可执行脚本;
执行结果获取模块14,用于向目标执行器中输入所述计算机可执行脚本与业务数据,以得到执行结果,并对执行过程进行监控,以实现对执行日志的存储;其中,所述执行日志包括所述执行结果;
可视化展示模块15,用于对所述执行结果以及所述执行过程进行可视化展示,并通过对所述执行日志进行分析,以完成对不同条件下所述决策模型的执行效率对比。
由上可知,本申请首先基于预设规则构建决策模型,并对所述决策模型进行图文形式的定义,以得到图文化的决策模型;对所述图文化的决策模型进行解析,以得到目标数据结构,并将所述目标数据结构转换为计算机可执行脚本;向目标执行器中输入所述计算机可执行脚本与业务数据,以得到执行结果,并对执行过程进行监控,以实现对执行日志的存储;其中,所述执行日志包括所述执行结果;最终对所述执行结果以及所述执行过程进行可视化展示,并通过对所述执行日志进行分析,以完成对不同条件下所述决策模型的执行效率对比。可见,本申请提供了一种决策引擎实现方法,将决策引擎的传统实现进行抽象,分离出不同的阶段,每个阶段对数据的输入输出进行标准化的定义,使得每个阶段的实现相对独立又相互融合,使得每个阶段针对不同的业务场景可以采用最灵活高效的方式去进行编码实现,降低了决策图文表现层、决策分析方法、以及计算机语言的高度耦合性,支持对某些业务复杂度较高的决策,在选择比较恰当的一个或者多个决策分析方法之后进行快速构建,同时对某一特定领域的决策的实现方式高度定制化开发降低了开发门槛。
在一些具体的实施例中,所述决策模型构建模块11,具体可以包括:
第一构建单元,用于通过定制化开发所述决策模型相应的模型定义组件,以得到所述决策模型;
第二构建单元,用于或,通过引入市场上开源的数据可视化定义组件,以构建出所述决策模型。
在一些具体的实施例中,所述决策模型解析模块12,具体可以包括:
决策模型解析单元,用于基于模板设计模式、工厂设计模式以及预定义的公共处理方法,利用java计算机语言对所述图文化的决策模型进行解析。
在一些具体的实施例中,所述数据结构转换模块13,具体可以包括:
数据结构转换单元,用于基于预设要求确定目标算法与目标计算机语言,以通过所述目标算法与所述目标计算机语言将所述目标数据结构转换为所述计算机可执行脚本。
在一些具体的实施例中,所述执行结果获取模块14,具体可以包括:
对执行过程进行监控,并通过异步方式将所述执行过程产生的所述执行日志记录至数据库中,以实现对执行日志的存储。
在一些具体的实施例中,所述装置,还可以包括:
开发单元,用于对开发前端可视化组件进行定制化开发以及对所述执行日志和所述执行结果的内容结构进行定制化开发,以满足不同的执行信息的展示需求。
进一步的,本申请实施例还公开了一种电子设备,图11是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图11为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的决策引擎实现方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的决策引擎实现方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的决策引擎实现方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种决策引擎实现方法,其特征在于,包括:
基于预设规则构建决策模型,并对所述决策模型进行图文形式的定义,以得到图文化的决策模型;
对所述图文化的决策模型进行解析,以得到目标数据结构,并将所述目标数据结构转换为计算机可执行脚本;
向目标执行器中输入所述计算机可执行脚本与业务数据,以得到执行结果,并对执行过程进行监控,以实现对执行日志的存储;其中,所述执行日志包括所述执行结果;
对所述执行结果以及所述执行过程进行可视化展示,并通过对所述执行日志进行分析,以完成对不同条件下所述决策模型的执行效率对比。
2.根据权利要求1所述的决策引擎实现方法,其特征在于,所述基于预设规则构建决策模型,包括:
通过定制化开发所述决策模型相应的模型定义组件,以得到所述决策模型;
或,通过引入市场上开源的数据可视化定义组件,以构建出所述决策模型。
3.根据权利要求1所述的决策引擎实现方法,其特征在于,所述对所述图文化的决策模型进行解析,包括:
基于模板设计模式、工厂设计模式以及预定义的公共处理方法,利用java计算机语言对所述图文化的决策模型进行解析。
4.根据权利要求1所述的决策引擎实现方法,其特征在于,所述目标数据结构采用标准化的数学语言符号进行定义描述。
5.根据权利要求1所述的决策引擎实现方法,其特征在于,所述将所述目标数据结构转换为计算机可执行脚本,包括:
基于预设要求确定目标算法与目标计算机语言,以通过所述目标算法与所述目标计算机语言将所述目标数据结构转换为所述计算机可执行脚本。
6.根据权利要求1所述的决策引擎实现方法,其特征在于,所述对执行过程进行监控,以实现对执行日志的存储,包括:
对执行过程进行监控,并通过异步方式将所述执行过程产生的所述执行日志记录至数据库中,以实现对执行日志的存储。
7.根据权利要求1至6任一项所述的决策引擎实现方法,其特征在于,还包括:
对开发前端可视化组件进行定制化开发以及对所述执行日志和所述执行结果的内容结构进行定制化开发,以满足不同的执行信息的展示需求。
8.一种决策引擎实现装置,其特征在于,包括:
决策模型构建模块,用于基于预设规则构建决策模型,并对所述决策模型进行图文形式的定义,以得到图文化的决策模型;
决策模型解析模块,用于对所述图文化的决策模型进行解析,以得到目标数据结构;
数据结构转换模块,用于将所述目标数据结构转换为计算机可执行脚本;
执行结果获取模块,用于向目标执行器中输入所述计算机可执行脚本与业务数据,以得到执行结果,并对执行过程进行监控,以实现对执行日志的存储;其中,所述执行日志包括所述执行结果;
可视化展示模块,用于对所述执行结果以及所述执行过程进行可视化展示,并通过对所述执行日志进行分析,以完成对不同条件下所述决策模型的执行效率对比。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至7任一项所述的决策引擎实现方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的决策引擎实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310617925.XA CN116643739A (zh) | 2023-05-26 | 2023-05-26 | 决策引擎实现方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310617925.XA CN116643739A (zh) | 2023-05-26 | 2023-05-26 | 决策引擎实现方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116643739A true CN116643739A (zh) | 2023-08-25 |
Family
ID=87643034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310617925.XA Pending CN116643739A (zh) | 2023-05-26 | 2023-05-26 | 决策引擎实现方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116643739A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117971203A (zh) * | 2023-12-22 | 2024-05-03 | 上海米链信息技术有限公司 | 基于微服务架构的数据处理方法、装置、设备及存储介质 |
-
2023
- 2023-05-26 CN CN202310617925.XA patent/CN116643739A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117971203A (zh) * | 2023-12-22 | 2024-05-03 | 上海米链信息技术有限公司 | 基于微服务架构的数据处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170090892A1 (en) | Systems and methods for dynamically replacing code objects for code pushdown | |
US9645799B2 (en) | Method and system for model driven development | |
US20140250429A1 (en) | Code analysis for simulation efficiency improvement | |
CN111104106A (zh) | 集成业务流程与通讯报文的可视化开发方法、系统及介质 | |
CN106951305B (zh) | 一种基于模型转换由QVT-R语言生成midCore脚本的方法 | |
US20170220613A1 (en) | Systems and methods for database orientation transformation | |
CN110673854A (zh) | Sas语言编译方法、装置、设备及可读存储介质 | |
CN113986241B (zh) | 一种基于知识图谱的业务规则的配置方法以及装置 | |
CN116643739A (zh) | 决策引擎实现方法、装置、设备及存储介质 | |
CN116360735A (zh) | 一种表单生成方法、装置、设备和介质 | |
CN117493158A (zh) | 测试方法及其装置、电子设备、存储介质 | |
Zhang et al. | Automated extraction of grammar optimization rule configurations for metamodel-grammar co-evolution | |
CN112582073B (zh) | 医疗信息获取方法、装置、电子设备和介质 | |
CN115268861B (zh) | 自定义组件的引入方法、系统、设备和存储介质 | |
CN110716953A (zh) | Sql语句自动生成方法、装置、设备及可读存储介质 | |
CN116028062A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 | |
US9996799B2 (en) | Migrating a legacy system by inferring context-sensitive business rules from legacy source code | |
CN115469860A (zh) | 基于指令集的需求到软件领域模型的自动生成方法及系统 | |
US20220075796A1 (en) | Architecture for data map converters | |
CN115292347A (zh) | 一种基于规则的主动式sql算法性能检查装置及方法 | |
CN114297057A (zh) | 一种自动化测试用例的设计及使用方法 | |
CN114115872A (zh) | 一种业务表达式生成和解析工具的实现方法及装置 | |
CN114089980A (zh) | 编程处理方法、装置、解释器及非易失性存储介质 | |
CN113448852A (zh) | 一种测试案例的获取方法、装置、电子设备及存储介质 | |
JP6490779B2 (ja) | 仕様抽出装置、仕様抽出方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |