CN112379872A - 一种规则引擎系统 - Google Patents

一种规则引擎系统 Download PDF

Info

Publication number
CN112379872A
CN112379872A CN202011226086.1A CN202011226086A CN112379872A CN 112379872 A CN112379872 A CN 112379872A CN 202011226086 A CN202011226086 A CN 202011226086A CN 112379872 A CN112379872 A CN 112379872A
Authority
CN
China
Prior art keywords
rule
parameters
module
configuration
rules
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
Application number
CN202011226086.1A
Other languages
English (en)
Inventor
周晔
穆海洁
姜靖宇
朱银锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huifu Data Service Co ltd
Original Assignee
Shanghai Huifu Data Service Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Huifu Data Service Co ltd filed Critical Shanghai Huifu Data Service Co ltd
Priority to CN202011226086.1A priority Critical patent/CN112379872A/zh
Publication of CN112379872A publication Critical patent/CN112379872A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种规则引擎系统,包括:基础参数配置模块,用于根据业务数据配置基础参数;扩展参数配置模块,用于配置指定具体字段的枚举值的扩展参数;指标参数配置模块,用于根据指标参数支持的类配置复杂的指标参数,以及对基础参数和扩展参数进行混合配置以生成另一个指标参数;规则配置模块,用于根据基础参数、扩展参数、指标参数进行规则配置。本申请的目的至少在于,本申请的规则引擎系统,在业务规则、路由引擎,流程引擎等功能中,实现了全程不需要开发人员参与,由业务人员实时调整配置规则和配置参数,可以在短时间内完成配置和上线。

Description

一种规则引擎系统
技术领域
本申请涉及一种规则引擎系统。
背景技术
市场要求业务规则经常变化,IT系统必须依据业务规则的变化快速、低成本的更新。为了快速、低成本的更新,业务人员应能直接管理IT系统中的规则,不需要程序开发人员参与。
有些复杂的业务规则很难推导出算法和抽象出数据模型;软件工程要求从需求->设计->编码,然而业务规则常常在需求阶段可能还没有明确,在设计和编码后还在变化,业务规则往往嵌在系统各处代码中
因此迫切需要分离业务决策逻辑和应用开发者的技术决策。把这些业务决策放在中心数据库或其他统一的地方,让它们能在运行时(即业务处理时)可以动态地管理和修改从而提供软件系统的柔性和适应性。
规则引擎是一个高度灵活、可以快速移植的产品多变的配置型产品。
规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据规则做出业务决策。规则的应用领域包括:
(1)业务规则模型生成时使用;
(2)路由规则配置使用;
(3)流程引擎自动化配置规则使用。
目前的规则引擎系统中,使用较多的开源规则引擎是Drools,另外还有商用的规则管理系统BRMS是ILOG JRules。这两款规则引擎设计和实现都比较复杂,学习成本高,适用于大型应用系统。
(1)Drools是用Java语言编写的开放源码规则引擎,基于Apache协议,基于RETE算法,于2005年被JBoss收购。特点是1、简化系统架构,优化应用;2、提高系统的可维护性和维护成本;3、方便系统的整合。4、减少编写“硬代码”业务规则的成本和风险。
(2)IBM WebSphere ILOG JRules是目前业界领先的业务规则管理平台。与传统的由IT人员用硬代码来维护规则的做法不同,ILOG JRules让业务用户能够在不依赖或者有限依赖于IT人员的情况下,快速创建、修改、测试和部署业务规则,以满足经常变化的业务需求。ILOG JRules提供了一整套的工具,帮助开发人员和业务人员进行规则的全生命周期管理。
(3)Easy Rules是一款Java规则引擎,它的诞生启发自有Martin Fowler一篇名为“Should I use a Rules Engine?”文章。Easy Rules提供了规则抽象来创建带有条件和操作的规则,以及运行一组规则来评估条件和执行操作的RulesEngine API。特性:1、轻量级框架和易于学习的API。2、基于POJO的开发。3、通过高效的抽象来定义业务规则并轻松应用它们。4、支持创建复合规则。5、使用表达式语言定义规则的能力。
(4)Jess是Java平台上的规则引擎,它是CLIPS程序设计语言的超集,由Sandia国家实验室的Ernest Friedman-Hill开发。Jess提供适合自动化专家系统的逻辑编程,它常被称作“专家系统外壳”。近年来,智能代理系统也在相似的能力上发展起来。
(5)旗正VisualRules是由国家科技部和财政部的创新基金支持,专门针对国内规则引擎市场空白的情况,结合国内项目的特点而开发的一款业务规则管理系统(BRMS)产品。
(6)Aviator是一个高性能、轻量级的java语言实现的表达式求值引擎,主要用于各种表达式的动态求值。
现在的市面上的规则引擎很多,有些使用的时候学习成本很低,但灵活度不够,另外一下具备了灵活性,但学习成本比较高,不符合我们的需求。现有规则引擎存在的问题是:
(1)系统的搭建不能做到自主可控。
(2)不能很好的应用到现有系统中,对现有系统侵入比较大。
(3)对于业务场景支持有限。
发明内容
针对相关技术中的上述问题,本申请提出了一种规则引擎系统,至少在业务规则、路由引擎,流程引擎等功能中,实现了全程不需要开发人员参与,由业务人员实时调整配置规则和配置参数,可以在短时间内完成配置和上线。
本申请的技术方案是这样实现的:
提供了一种规则引擎系统,包括:基础参数配置模块,用于根据业务数据配置基础参数;扩展参数配置模块,用于配置指定具体字段的枚举值的扩展参数;指标参数配置模块,用于根据指标参数支持的类配置复杂的指标参数,以及对基础参数和扩展参数进行混合配置以生成另一个指标参数;规则配置模块,用于根据基础参数、扩展参数、指标参数进行规则配置。
根据本申请的实施例,还包括:生成代码模块,用于将配置的规则生成可执行代码;规则匹配模块,用于当生成所述可执行代码时同步到实时节点后,对实时数据进行历史存量数据匹配和现有数据匹配。
根据本申请的实施例,所述基础参数是指定具体数据和具体数据来源。
根据本申请的实施例,所述指标参数至少支持的类,包括:比较类、时间段类、时间间隔类、次数统计类、四则运算类、高级运算类和特殊运算类。
根据本申请的实施例,所述规则配置模块,包括:保存模块,用于保存配置的规则;验证模块,用于在保存所述规则时,对所述规则进行正确性验证;以及实现模块,用于确定所述规则是否直接投产。
根据本申请的实施例,所述生成代码模块支持的数据库至少包括:结构化数据库、NoSQL数据库、分析型数据库。
根据本申请的实施例,所述规则匹配模块,包括:判定模块,用于判定规则是否通过,当满足某个规则时,跳出所述判定模块,同时返回判定结果。执行模块,用于执行所述规则,并且支持多个所述规则顺序执行。
本申请的有益技术效果在于:
本申请提出一种规则引擎系统,该系统在业务规则、路由引擎,流程引擎等功能中,实现了全程不需要开发人员参与,由业务人员实时调整配置规则和配置参数,可以在短时间内完成配置和上线。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种规则引擎系统的流程图;
图2是根据本申请实施例的一种规则引擎系统的规则匹配模块流程图。
图3是根据本申请实施例的规则引擎总体架构的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
根据本申请的实施例,提供了一种规则引擎系统。图1示出了根据本申请实施例的一种规则引擎系统的流程图。参考图1所示,本发明的一种规则引擎系统,包括:基础参数配置模块,用于根据业务数据配置基础参数;扩展参数配置模块,用于配置指定具体字段的枚举值的扩展参数;指标参数配置模块,用于根据指标参数支持的类配置复杂的指标参数,以及对基础参数和扩展参数进行混合配置以生成另一个指标参数;规则配置模块,用于根据基础参数、扩展参数、指标参数进行规则配置。
本发明的上述技术方案,在业务规则、路由引擎,流程引擎等功能中,实现了全程不需要开发人员参与,由业务人员实时调整配置规则和配置参数,可以在短时间内完成配置和上线。
本申请的规则引擎技术已经应用于风控系统软件中。作为新一代的规则引擎,在业务规则、路由引擎,流程引擎等功能中,实现了全程不需要开发人员参与,由业务人员实时调整配置规则和配置参数,由原来的需要几天甚至几周才能上线的规则,可以在短时间内完成配置和上线。
图3是根据本申请实施例的规则引擎总体架构的示意图。
(1)配置功能07
业务人员配置规则和配置参数时,通过配置控台进行信息输入,验证成功后,将业务人员配置信息保存到后端数据库。同时,配置控台还可以在规则正式生效之前,将配置信息调用规则回跑功能进行回跑处理。
(2)规则回跑功能08
通过配置控台配置的回跑规则,调用规则回跑服务,使用之前保存过的真实数据进行规则回跑,模仿真实生产过程中的影响。
(3)实时验证服务09
定期更新配置控台生成的配置规则,并且转换成可执行脚本,对外部调用方的数据进行规则匹配,实时反馈匹配结果,并且将数据异步保存处理。
如图1、图2所示,本申请的规则引擎系统实现流程如下。
(1)基础参数配置模块11
基础参数是根据业务数据进行配置的,主要是指定具体数据和具体来源和数据类型。数据类型可以包括字符串类、日期与时间类、浮点类、数值类。在一个示例中,如表1所示,基础参数包括参数名称、参数来源和参数类型,参数名称为交易金额,参数来源为交易表,参数类型为浮点类。
表1
参数名称 参数类型 参数来源
交易金额 浮点类 交易表
(2)扩展参数配置模块12
扩展参数主要是指定具体某些字段的枚举值,达到可以快速配置的能力。在一个示例中,如表2所示,扩展参数包括参数名称,参数名称包括交易类型为充值。
表2
参数名称 参数类型
交易类型:充值 字符串类
(3)指标参数配置模块13
指标参数支持7大类比较类、时间段类、时间间隔类、次数统计类、四则运算类、高级运算类和特殊运算类,可以配置出比较复杂的规则指标,用来实现某一些比较复杂的业务规则。也支持将一个或多个指标参数/基础参数/扩展参数进行混合配置,生成另一个指标参数。在一个示例中,如表3所示,指标参数包括指标名称(单笔金额大于20万元)、指标类型(比较类)和配置内容(【交易金额】【大于】【200000】)。
Figure BDA0002763702080000061
(4)规则配置模块14
根据上面的基础参数、扩展参数、指标参数,可以任意搭配进行规则配置。表4所示是规则配置的一个示例。
表4
Figure BDA0002763702080000062
Figure BDA0002763702080000071
在对规则进行保存时会将规则生成可执行代码,对规则进行正确性验证,排除逻辑不正确的规则。在规则正式投产之前,支持用历史存量数据进行规则回跑(如图3),用以辅助规则配置人员判断新增规则对生产的实际影响,保证整个修改过程的安全可靠。
(5)生成代码模块15
保存后的规则,将根据系统配置情况,生成对应的可执行代码,现在支持部分结构化数据库,NoSQL数据库,分析型数据库等数据,可以实现快速投产的目标。
(6)实时验证服务16
参见图2,生成的可执行代码将定时同步到实时节点,对于实时数据(相对于步骤业务数据进入161)进行历史存量数据匹配和现有数据的快速匹配,实现规则的匹配逻辑(相对于步骤162),对于规则本身会有通过和不通过的判定,同时,也支持多个规则顺序执行,满足某个规则时,将跳出规则匹配逻辑,直接返回判定结果(相对于步骤163)。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (7)

1.一种规则引擎系统,其特征在于,包括:
基础参数配置模块,用于根据业务数据配置基础参数;
扩展参数配置模块,用于配置指定具体字段的枚举值的扩展参数;
指标参数配置模块,用于根据所述指标参数支持的类配置复杂的指标参数,以及对所述基础参数和所述扩展参数进行混合配置以生成另一个指标参数;
规则配置模块,用于根据所述基础参数、所述扩展参数、所述指标参数进行规则配置。
2.按照权利要求1所述的一种规则引擎系统,其特征在于,还包括:
生成代码模块,用于将配置的规则生成可执行代码;
规则匹配模块,用于当生成所述可执行代码时同步到实时节点后,对实时数据进行历史存量数据匹配和现有数据匹配。
3.按照权利要求1所述的一种规则引擎系统,其特征在于,所述基础参数是指定具体数据和具体数据来源。
4.按照权利要求1所述的一种规则引擎系统,其特征在于,所述指标参数至少支持的类,包括:
比较类、时间段类、时间间隔类、次数统计类、四则运算类、高级运算类和特殊运算类。
5.按照权利要求1所述的一种规则引擎系统,其特征在于,所述规则配置模块,包括:
保存模块,用于保存配置的规则;
验证模块,用于在保存所述规则时,对所述规则进行正确性验证;以及
实现模块,用于确定所述规则是否直接投产。
6.按照权利要求2所述的一种规则引擎系统,其特征在于,所述生成代码模块支持的数据库至少包括:结构化数据库、NoSQL数据库、分析型数据库。
7.按照权利要求2所述的一种规则引擎系统,其特征在于,所述规则匹配模块,包括:
判定模块,用于判定规则是否通过,当满足某个规则时,跳出所述判定模块,同时返回判定结果;
执行模块,用于执行所述规则,并且支持多个所述规则顺序执行。
CN202011226086.1A 2020-11-05 2020-11-05 一种规则引擎系统 Pending CN112379872A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011226086.1A CN112379872A (zh) 2020-11-05 2020-11-05 一种规则引擎系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011226086.1A CN112379872A (zh) 2020-11-05 2020-11-05 一种规则引擎系统

Publications (1)

Publication Number Publication Date
CN112379872A true CN112379872A (zh) 2021-02-19

Family

ID=74579482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011226086.1A Pending CN112379872A (zh) 2020-11-05 2020-11-05 一种规则引擎系统

Country Status (1)

Country Link
CN (1) CN112379872A (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927174A (zh) * 2014-04-17 2014-07-16 北京视博数字电视科技有限公司 业务处理方法和装置
CN103942228A (zh) * 2013-01-23 2014-07-23 纽海信息技术(上海)有限公司 规则引擎、计算方法、业务系统及调用方法
CN105653268A (zh) * 2015-12-28 2016-06-08 中国民航信息网络股份有限公司 规则引擎调试方法及系统
CN106372963A (zh) * 2016-08-29 2017-02-01 石化盈科信息技术有限责任公司 基于推理引擎的物流计费系统及物流计费方法
CN108647049A (zh) * 2018-03-18 2018-10-12 平安科技(深圳)有限公司 基于规则引擎的可配置化系统、方法、设备和存储介质
CN109636607A (zh) * 2018-12-18 2019-04-16 平安科技(深圳)有限公司 基于模型部署的业务数据处理方法、装置和计算机设备
CN109685375A (zh) * 2018-12-26 2019-04-26 重庆誉存大数据科技有限公司 一种基于半结构化文本数据的企业风险规则引擎运算方法
CN109710413A (zh) * 2018-12-29 2019-05-03 重庆誉存大数据科技有限公司 一种半结构化文本数据的规则引擎系统的整体计算方法
CN110045953A (zh) * 2019-04-22 2019-07-23 第四范式(北京)技术有限公司 生成业务规则表达式的方法及计算装置
CN110458595A (zh) * 2019-06-21 2019-11-15 平安普惠企业管理有限公司 可配置化的规则处理方法、电子装置及计算机设备
CN110908640A (zh) * 2019-11-26 2020-03-24 京东数字科技控股有限公司 实现业务功能的方法和脚本引擎
CN111414376A (zh) * 2020-03-02 2020-07-14 中国建设银行股份有限公司 一种数据预警方法和装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942228A (zh) * 2013-01-23 2014-07-23 纽海信息技术(上海)有限公司 规则引擎、计算方法、业务系统及调用方法
CN103927174A (zh) * 2014-04-17 2014-07-16 北京视博数字电视科技有限公司 业务处理方法和装置
CN105653268A (zh) * 2015-12-28 2016-06-08 中国民航信息网络股份有限公司 规则引擎调试方法及系统
CN106372963A (zh) * 2016-08-29 2017-02-01 石化盈科信息技术有限责任公司 基于推理引擎的物流计费系统及物流计费方法
CN108647049A (zh) * 2018-03-18 2018-10-12 平安科技(深圳)有限公司 基于规则引擎的可配置化系统、方法、设备和存储介质
CN109636607A (zh) * 2018-12-18 2019-04-16 平安科技(深圳)有限公司 基于模型部署的业务数据处理方法、装置和计算机设备
CN109685375A (zh) * 2018-12-26 2019-04-26 重庆誉存大数据科技有限公司 一种基于半结构化文本数据的企业风险规则引擎运算方法
CN109710413A (zh) * 2018-12-29 2019-05-03 重庆誉存大数据科技有限公司 一种半结构化文本数据的规则引擎系统的整体计算方法
CN110045953A (zh) * 2019-04-22 2019-07-23 第四范式(北京)技术有限公司 生成业务规则表达式的方法及计算装置
CN110458595A (zh) * 2019-06-21 2019-11-15 平安普惠企业管理有限公司 可配置化的规则处理方法、电子装置及计算机设备
CN110908640A (zh) * 2019-11-26 2020-03-24 京东数字科技控股有限公司 实现业务功能的方法和脚本引擎
CN111414376A (zh) * 2020-03-02 2020-07-14 中国建设银行股份有限公司 一种数据预警方法和装置

Similar Documents

Publication Publication Date Title
US10656927B2 (en) Methods, systems, and computer program products for automating releases and deployment of a softawre application along the pipeline in continuous release and deployment of software application delivery models
US11113475B2 (en) Chatbot generator platform
US20190129712A1 (en) Methods, systems, and computer program products for an integrated platform for continuous deployment of software application delivery models
US9213707B2 (en) Ordered access of interrelated data files
CN105719126B (zh) 一种基于生命周期模型的互联网大数据任务调度的系统及方法
CA3050159C (en) Artificial intelligence (ai) based automatic rule generation
EP3931684B1 (en) Workflow engine tool
Guelfi et al. A formal semantics of timed activity diagrams and its promela translation
CN112114791A (zh) 一种基于元学习的代码自适应生成方法
CN109241104B (zh) 决策型分布式数据库系统中aisql的解析器及其实现方法
CN109522341A (zh) 实现基于sql的流式数据处理引擎的方法、装置、设备
CN109901872A (zh) 一种企业信息化系列产品版本管控方法
CN111524008A (zh) 一种规则引擎及其建模方法、建模装置及指令处理方法
Gupta et al. Auditdraw: Generating audits the FAST way
CN101331505B (zh) 用于解决一类现实组合优化问题的算法开发环境的方法和装置
CN112379872A (zh) 一种规则引擎系统
Hu et al. Organization-based agent-oriented programming: model, mechanisms, and language
CN115905293A (zh) 作业执行引擎的切换方法及装置
CN111581047B (zh) 一种针对智能合约行为的监管方法
Geist et al. Towards functional safety and security for adaptive and flexible business processes
Stanev et al. Why the standard methods, 5GL, common platforms and reusable components are the four pillars of the new computational paradigm Programming without programmers
CN112612481A (zh) 一种智能中台的系统架构
Ullah et al. Template-based automatic code generation for web application and APIs using class diagram
CN110928535A (zh) 衍生变量部署方法、装置、设备及可读存储介质
Prasad et al. Comparative Evaluation of Machine Learning Development Lifecycle Tools

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