CN117453278A - 一种基于业务规则的规则管理*** - Google Patents
一种基于业务规则的规则管理*** Download PDFInfo
- Publication number
- CN117453278A CN117453278A CN202311461528.4A CN202311461528A CN117453278A CN 117453278 A CN117453278 A CN 117453278A CN 202311461528 A CN202311461528 A CN 202311461528A CN 117453278 A CN117453278 A CN 117453278A
- Authority
- CN
- China
- Prior art keywords
- rule
- management
- management end
- storage
- execution
- 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.)
- Granted
Links
- 238000007726 management method Methods 0.000 claims abstract description 166
- 238000013499 data model Methods 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 4
- 238000000034 method Methods 0.000 description 13
- 238000012423 maintenance Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- RYYVLZVUVIJVGH-UHFFFAOYSA-N caffeine Chemical compound CN1C(=O)N(C)C(=O)C2=C1N=CN2C RYYVLZVUVIJVGH-UHFFFAOYSA-N 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 1
- 235000014552 Cassia tora Nutrition 0.000 description 1
- 244000201986 Cassia tora Species 0.000 description 1
- LPHGQDQBBGAPDZ-UHFFFAOYSA-N Isocaffeine Natural products CN1C(=O)N(C)C(=O)C2=C1N(C)C=N2 LPHGQDQBBGAPDZ-UHFFFAOYSA-N 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229960001948 caffeine Drugs 0.000 description 1
- VJEONQKOZGKCAK-UHFFFAOYSA-N caffeine Natural products CN1C(=O)N(C)C(=O)C2=C1C=CN2C VJEONQKOZGKCAK-UHFFFAOYSA-N 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/72—Code refactoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/36—Software reuse
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种基于业务规则的规则管理***,所述***涉及业务端、管理端、第一存储端、第二存储端和规则处理端;所述***包括:当所述管理端处于开启状态时,所述管理端用于获取执行规则接口并对所述执行规则接口进行统一化处理生成统一执行规则接口,并将所述统一执行规则接口发送至所述业务端;所述管理端用于依据所述执行请求确定业务规则配置;所述管理端用于依据所述业务规则配置在所述第一存储端或所述第二存储端中获取规则项目信息;所述管理端用于依据所述规则项目信息和预设业务数据模型计算生成目标结果,并将所述目标结果发送至所述业务端。实现规则的高效执行,同提高执行效率;更简单、更易于维护以及更稳定健壮。
Description
技术领域
本申请涉及数据处理领域,特别是一种基于业务规则的规则管理***。
背景技术
目前比较常用的规则引擎有drools、ilog以及开源urule,ilog是由IBM出品的商用的产品其价格不菲,而urule是开源的产品,但是新版本和部分功能的支持也是需要收费的。
如果业务规则数量庞大,会占用较大的运行内存;业务规则的编写和维护门槛比较高,不便于推广使用,只能由特定人员使用如开发、运维工程师等。
由于当前非车险承保***的业务规则大部分都写在核心代码中,形成了硬编码随处可见和代码分支过多等程序腐烂的现象,进而导致核心业务***复杂度过高、运维成本高及***运行不稳定等问题。
发明内容
鉴于所述问题,提出了本申请以便提供克服所述问题或者至少部分地解决所述问题的一种基于业务规则的规则管理***,包括:
一种基于业务规则的规则管理***,所述***涉及业务端、管理端、第一存储端、第二存储端和规则处理端;所述***包括:
当所述管理端处于开启状态时,所述管理端用于获取执行规则接口并对所述执行规则接口进行统一化处理生成统一执行规则接口,并将所述统一执行规则接口发送至所述业务端;所述业务端用于将执行请求通过所述统一执行规则接口发送至所述管理端;
所述管理端用于依据所述执行请求确定业务规则配置;
所述管理端用于依据所述业务规则配置在所述第一存储端或所述第二存储端中获取规则项目信息;
所述管理端用于依据所述规则项目信息和预设业务数据模型计算生成目标结果,并将所述目标结果发送至所述业务端。
进一步地,所述依据所述业务规则配置在所述第一存储端或所述第二存储端中获取规则项目信息,包括:
所述管理端用于确定所述第一存储端内是否存在规则容器缓存;
若是,则所述管理端生成第一获取请求,将所述第一获取请求发送至所述第一存储端,所述第一存储端用于获取所述规则项目信息,并将所述规则项目信息发送至所述管理端;若否,则所述管理端生成第二获取请求,将所述第二获取请求发送至所述第二存储端,所述第二存储端用于获取所述规则项目信息,并将所述规则项目信息发送至所述管理端。
进一步地,所述依据所述规则容器和预设业务数据模型计算生成目标结果,包括:
所述管理端用于将所述预设业务数据模型转化处理生成规则数据模型;
所述管理端用于依据所述规则数据模型和预设过滤条件生成目标规则;
所述管理端用于依据所述目标规则对保费计算公式进行计算生成目标结果。
进一步地,所述依据所述规则数据模型和预设过滤条件生成目标规则,包括:
所述管理端用于依据所述规则数据模型和预设过滤条件生成执行规则;
所述管理端用于通过预设业务规则引擎确定目标应用程序编程接口,并将所述目标应用程序编程接口标记为所述执行规则的输入参数;
所述管理端用于依据所述执行规则和所述输入参数生成所述目标规则。
进一步地,还包括:
当响应于用户的新增项目请求时,所述管理端用于依据所述新增项目请求在所述第二存储端内获取规则项目资源信息集合;
所述管理端用于依据所述规则项目资源信息集合生成第一目标规则容器;
所述管理端用于通过第一目标规则容器和预设数据库生成项目新增消息,并将所述项目新增消息发送至所述第一存储端。
进一步地,还包括:
当响应于用户的更新项目请求时,所述管理端用于依据所述更新项目请求在所述第二存储端内获取规则项目资源信息集合;
所述管理端用于依据所述规则项目资源信息集合生成第二目标规则容器;
所述管理端用于通过第二目标规则容器和预设数据库生成第一项目更新消息,并将所述第一项目更新消息发送至所述第一存储端;所述第一存储端用于将原项目消息进行删除后***所述第一项目更新消息。
进一步地,还包括:
当响应于用户的删除项目请求时,所述管理端用于依据所述删除项目请求和预设数据库生成第二项目新增消息;
所述管理端用于依据所述第二项目新增消息生成清除请求,并将所述清除请求发送至所述第一存储端。
本申请一实施例还公开了一种基于业务规则的规则管理***,所述***涉及业务端、管理端、第一存储端、第二存储端和规则处理端;所述***包括:
当接收到所述管理端发送的统一执行规则接口时,所述业务端用于通过所述统一执行规则接口将响应于用户生成的执行请求发送至所述管理端;
当收到所述管理端发送的目标结果时,所述业务端用于将所述目标结果反馈至目标用户。
本申请一实施例还公开了一种基于业务规则的规则管理***,所述***涉及业务端、管理端、第一存储端、第二存储端和规则处理端;所述***包括:
当接收到所述管理端发送的第一获取请求时,所述第一存储端用于获取本地缓存内的规则项目信息,并将所述规则项目信息发送至所述管理端。
本申请一实施例还公开了一种基于业务规则的规则管理***,所述***涉及业务端、管理端、第一存储端、第二存储端和规则处理端;所述***包括:
当接收到所述管理端发送的第二获取请求时,所述第二存储端用于获取规则项目资源信息集合内的规则项目信息,并将所述规则项目信息发送至所述管理端。
本申请具有以下优点:
在本申请的实施例中,相对于现有技术中的“业务规则数量庞大,会占用较大的运行内存;业务规则的编写和维护较为复杂;运维成本高及***运行不稳定”的问题,本申请提供了“一种基于业务规则的规则管理***”的解决方案,具体为:“一种基于业务规则的规则管理***,所述***涉及业务端、管理端、第一存储端、第二存储端和规则处理端;所述***包括:当所述管理端处于开启状态时,所述管理端用于获取执行规则接口并对所述执行规则接口进行统一化处理生成统一执行规则接口,并将所述统一执行规则接口发送至所述业务端;所述业务端用于将执行请求通过所述统一执行规则接口发送至所述管理端;所述管理端用于依据所述执行请求确定业务规则配置;所述管理端用于依据所述业务规则配置在所述第一存储端或所述第二存储端中获取规则项目信息;所述管理端用于依据所述规则项目信息和预设业务数据模型计算生成目标结果,并将所述目标结果发送至所述业务端”。通过“业务端、管理端、第一存储端、第二存储端和规则处理端”解决了“业务规则数量庞大,会占用较大的运行内存;业务规则的编写和维护较为复杂;运维成本高及***运行不稳定”的问题,达到了“实现规则的高效执行,同提高执行效率;实现规则动态实时更新;使业务模型可以简单高效的转换为规则模型;统一的规则执行接口使业务***可以轻松的对接;更简单、更易于维护以及更稳定健壮;使业务规则有了集中的管理,有助于业务规则的统计分析”的效果。
附图说明
为了更清楚地说明本申请的技术方案,下面将对本申请的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种基于业务规则的规则管理***的结构框图。
具体实施方式
为使本申请的所述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
发明人通过分析现有技术发现:目前比较常用的规则引擎有drools、ilog以及开源urule,ilog是由IBM出品的商用的产品其价格不菲,而urule是开源的产品,但是新版本和部分功能的支持也是需要收费的。常规springboot整合drools将drl规则文件放置到项目中在项目启动时加载(无法动态加载最新规则,需要重启服务才可以)或者是执行时动态加载规则文件(执行效率不高,由于需要动态的生成kieBase)且无法通过可视化页面修改发布规则,可参考开源项目fast-drools-spring-boot-starter;而使用drools-workbench(规则引擎工作台负责编辑规则)+kie-server(负责规则执行服务)技术方案倒是可以做到动态加载最新规则和可视化的修改和发布规则,由于其本身是重量级的框架,所以存在学习成本过高、集群部署方案复杂等问题。
参照图1,示出了本申请一实施例提供的一种基于业务规则的规则管理***的结构框图;
一种基于业务规则的规则管理***,所述***涉及业务端、管理端、第一存储端、第二存储端和规则处理端;所述***包括:
当所述管理端处于开启状态时,所述管理端用于获取执行规则接口并对所述执行规则接口进行统一化处理生成统一执行规则接口,并将所述统一执行规则接口发送至所述业务端;所述业务端用于将执行请求通过所述统一执行规则接口发送至所述管理端;
所述管理端用于依据所述执行请求确定业务规则配置;
所述管理端用于依据所述业务规则配置在所述第一存储端或所述第二存储端中获取规则项目信息;
所述管理端用于依据所述规则项目信息和预设业务数据模型计算生成目标结果,并将所述目标结果发送至所述业务端。
在本申请的实施例中,相对于现有技术中的“业务规则数量庞大,会占用较大的运行内存;业务规则的编写和维护较为复杂;运维成本高及***运行不稳定”的问题,本申请提供了“一种基于业务规则的规则管理***”的解决方案,具体为:“一种基于业务规则的规则管理***,所述***涉及业务端、管理端、第一存储端、第二存储端和规则处理端;所述***包括:当所述管理端处于开启状态时,所述管理端用于获取执行规则接口并对所述执行规则接口进行统一化处理生成统一执行规则接口,并将所述统一执行规则接口发送至所述业务端;所述业务端用于将执行请求通过所述统一执行规则接口发送至所述管理端;所述管理端用于依据所述执行请求确定业务规则配置;所述管理端用于依据所述业务规则配置在所述第一存储端或所述第二存储端中获取规则项目信息;所述管理端用于依据所述规则项目信息和预设业务数据模型计算生成目标结果,并将所述目标结果发送至所述业务端”。通过“业务端、管理端、第一存储端、第二存储端和规则处理端”解决了“业务规则数量庞大,会占用较大的运行内存;业务规则的编写和维护较为复杂;运维成本高及***运行不稳定”的问题,达到了“实现规则的高效执行,同提高执行效率;实现规则动态实时更新;使业务模型可以简单高效的转换为规则模型;统一的规则执行接口使业务***可以轻松的对接;更简单、更易于维护以及更稳定健壮;使业务规则有了集中的管理,有助于业务规则的统计分析”的效果。
下面,将对本示例性实施例中一种基于业务规则的规则管理***作进一步地说明。
需要说明的是,1、docker及容器云(服务支撑);
2、spring boot/spring cloud(基础框架);
3、caffeine(本地缓存,用于缓存kieContainer规则容器,kieContainer无法序列化故无法采用分布式缓存);
4、redis(消息中间件,用于发布规则项目更新消息,应用监听到消息后更新caffeine本地缓存);
5、mapstruct(用于业务模型转换为规则模型);
6、Joor(优雅的反射封装,简单易用,用于保费计算公式字段的赋值);
7、JEP(java表达式分析器,用来转换和计算数学表达式,进而计算结果);
8、Drools(规则引擎核心)+Drools-workbench(规则引擎工作台)。
在本发明一实施例中,所述依据所述规则项目信息和预设业务数据模型计算生成目标结果,并将所述目标结果发送至所述业务端,包括:
所述管理端用于依据所述规则项目信息生成规则容器;
所述管理端用于依据所述规则容器和预设业务数据模型计算生成目标结果,并将所述目标结果发送至所述业务端。
需要说明的是,drools的kieBase(规则库)和kieContainer(规则容器)都是不可序列化的,无法实现分布式缓存的效果(即在分布式***中,无法共用一个缓存),本***通过caffeine把每个规则项目当成一个kieContainer缓存在每个节点中,当规则项目有更新时再通过redis的发布订阅模式让每个节点都更新本地缓存。结合drools-workbench,实现业务规则动态实时更新发布。
在本发明一实施例中,所述依据所述业务规则配置在所述第一存储端或所述第二存储端中获取规则项目信息,包括:
所述管理端用于确定所述第一存储端内是否存在规则容器缓存;
若是,则所述管理端生成第一获取请求,将所述第一获取请求发送至所述第一存储端,所述第一存储端用于获取所述规则项目信息,并将所述规则项目信息发送至所述管理端;若否,则所述管理端生成第二获取请求,将所述第二获取请求发送至所述第二存储端,所述第二存储端用于获取所述规则项目信息,并将所述规则项目信息发送至所述管理端。
需要说明的是,***启动时会通过***加载所有规则项目并同步到本地缓存中,如此就避免了第一次调用执行业务规则时***资源消耗严重的问题,并提高了第一次调用执行业务规则的响应速度。
在本发明一实施例中,所述依据所述规则容器和预设业务数据模型计算生成目标结果,包括:
所述管理端用于将所述预设业务数据模型转化处理生成规则数据模型;
所述管理端用于依据所述规则数据模型和预设过滤条件生成目标规则;所述管理端用于依据所述目标规则对保费计算公式进行计算生成目标结果。
在本发明一实施例中,所述依据所述规则数据模型和预设过滤条件生成目标规则,包括:
所述管理端用于依据所述规则数据模型和预设过滤条件生成执行规则;
所述管理端用于通过预设业务规则引擎确定目标应用程序编程接口,并将所述目标应用程序编程接口标记为所述执行规则的输入参数;
所述管理端用于依据所述执行规则和所述输入参数生成所述目标规则。
在本发明一实施例中,还包括:
当响应于用户的新增项目请求时,所述管理端用于依据所述新增项目请求在所述第二存储端内获取规则项目资源信息集合;
所述管理端用于依据所述规则项目资源信息集合生成第一目标规则容器;
所述管理端用于通过第一目标规则容器和预设数据库生成项目新增消息,并将所述项目新增消息发送至所述第一存储端。
在本发明一实施例中,还包括:
当响应于用户的更新项目请求时,所述管理端用于依据所述更新项目请求在所述第二存储端内获取规则项目资源信息集合;
所述管理端用于依据所述规则项目资源信息集合生成第二目标规则容器;
所述管理端用于通过第二目标规则容器和预设数据库生成第一项目更新消息,并将所述第一项目更新消息发送至所述第一存储端;所述第一存储端用于将原项目消息进行删除后***所述第一项目更新消息。
在本发明一实施例中,还包括:
当响应于用户的删除项目请求时,所述管理端用于依据所述删除项目请求和预设数据库生成第二项目新增消息;
所述管理端用于依据所述第二项目新增消息生成清除请求,并将所述清除请求发送至所述第一存储端。
本发明一实施例还公开了一种基于业务规则的规则管理***,所述***涉及业务端、管理端、第一存储端、第二存储端和规则处理端;所述***包括:
当接收到所述管理端发送的统一执行规则接口时,所述业务端用于通过所述统一执行规则接口将响应于用户生成的执行请求发送至所述管理端;
当收到所述管理端发送的目标结果时,所述业务端用于将所述目标结果反馈至目标用户。
需要说明的是,通过向外提供统一的执行规则http接口以及DTO(dto中包含公共参数和业务模型参数两部分,公共参数部分用于定位业务规则和记录执行日志,业务模型参数就是保险业务过程中产生的业务对象如:投保单对象,保单对象,批单对象等);会将DTO转化为规则模型然后调用drools提供的相应api完成规则的执行,同时对于保费计算规则,还提供公式解析和计算结果的功能。
本发明一实施例还公开了一种基于业务规则的规则管理***,所述***涉及业务端、管理端、第一存储端、第二存储端和规则处理端;所述***包括:
当接收到所述管理端发送的第一获取请求时,所述第一存储端用于获取本地缓存内的规则项目信息,并将所述规则项目信息发送至所述管理端。
需要说明的是,Drools-workbench(规则引擎工作台)新增规则项目后会往该项目中添加实际的业务规则,通过工作台的内置构建打包装载后会生成规则资源包存在maven仓库中或者文件***中且其本身可以提供下载的链接,可以实现维护规则项目和规则资源包路径的关系,同时负责加载这些资源包到本地缓存中并保持同步。
本发明一实施例还公开了一种基于业务规则的规则管理***,所述***涉及业务端、管理端、第一存储端、第二存储端和规则处理端;所述***包括:
当接收到所述管理端发送的第二获取请求时,所述第二存储端用于获取规则项目资源信息集合内的规则项目信息,并将所述规则项目信息发送至所述管理端。
需要说明的是,有了规则资源包即第二存储端之后,还需要定义什么场景用什么资源的问题,一具体实施例中,保费计算则使用保费计算规则项目资源包;自动核保则使用自动核保规则项目资源包。由于资源包中的规则并不只有一条,所以还需要定义什么条件下规则资源包中的哪些规则的问题。对于大部规则都可以按照机构和险种作为基础条件,再通过drools中的agenda来过滤执行业务规则。另外还提供有效期间、是否有效等功能。
实施例一
***总体功能流程描述如下:
1)规划规则模型并在“业务规则管理***”中编写相应的javabean,且用“规则引擎工作台”导入且生成规则模型资源包(jar)供其他规则项目引用。
2)梳理和规划规则项目(指的是相同类型的规则统一放置到同一个规则jar包中,如保费计算规则、核保规则、提核前校验规则等)并在drools-workbench“规则引擎工作台”中进行编辑、打包(jar)和装载到maven仓库或者是文件***中的一个指定的路径中。
3)在“业务规则管理***”中维护由上述第2步创建好的规则项目信息,主要记录项目名称和项目资源jar包存储的路径,***会在保存时同步将jar包的规则内容缓存到本地,方便后续规则的调用执行。
4)在“业务规则管理***”中维护业务规则(如针对全辖雇主责任险的自核规则、针对全辖雇主责任险的保费计算规则等),该步骤记录业务规则和规则项目之前的关系、什么机构和什么险种使用该业务规则、业务规则生效和截止的时间、业务规则是否启用等内容
5)在“业务规则管理***”启动时,***通过***加载所有的规则项目缓存到本地
6)“业务规则管理***”提供统一的执行规则接口和DTO(可以根据条件查询到在***中维护的业务规则)供核心业务***调用。
7)“核心业务***”调用规则执行接口后,“业务规则管理***”根据请求入参查询到指定的业务规则配置,再从配置中获取到规则项目(如果缓存中有则从缓存中获取,否则查询规则项目信息获取到相应规则资源jar包加载到内存中)。
8)在“核心业务***”调用“业务规则管理***”过程中,“业务规则管理***”会将业务模型转化为规则模型,并通过drools指定的api添加为执行规则的入参,对于获取到保费计算公式的规则,“业务规则管理***”会自动解析数学表达式并计算出最终结果。
9)通过“业务规则管理***”的前端界面进行规则项目的增删改都会触发规则项目本地缓存的更新,同时会发出消息通知其他节点(由于采用的是容器云多实例部署)进行缓存更新。
本发明的有益效果:
1)通过本地的缓存的方式实现规则的高效执行,同一个请求在同等的条件下无缓存的情况下执行效率需要1到2秒,有缓存的情况下只需要50毫秒以内。
2)通过本地缓存的方式实现规则动态实时更新,由于规则项目的增删查改都会同步到本地缓存中,所以其对应的规则资源是可以实现动态实时更新的(现有技术中要修改业务规则需要经过排期、编码、测试、等发版窗口、发版重启等,现在只需要在测试环境变更规则项目,刷新缓存,测试通过,把规则同步更新到生产,变更规则项目即可完成规则的上线)。
3)通过redis作为轻量级的消息中间件,实现多节点之间缓存的同步刷新,也就使本地缓存有了分布式缓存的基本效果。
4)通过mapstruct框架使业务模型可以简单高效的转换为规则模型;
5)统一的规则执行接口使业务***可以轻松的对接。
6)JEP可以实现对计算公式进行解析并计算结果。
7)使核心业务***更简单、更易于维护以及更稳定健壮。
8)使业务规则有了集中的管理,有助于业务规则的统计分析(现有技术中需要翻看代码才能够具体知悉是什么管控)。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种基于业务规则的规则管理***,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于业务规则的规则管理***,其特征在于,所述***涉及业务端、管理端、第一存储端、第二存储端和规则处理端;所述***包括:
当所述管理端处于开启状态时,所述管理端用于获取执行规则接口并对所述执行规则接口进行统一化处理生成统一执行规则接口,并将所述统一执行规则接口发送至所述业务端;所述业务端用于将执行请求通过所述统一执行规则接口发送至所述管理端;
所述管理端用于依据所述执行请求确定业务规则配置;
所述管理端用于依据所述业务规则配置在所述第一存储端或所述第二存储端中获取规则项目信息;
所述管理端用于依据所述规则项目信息和预设业务数据模型计算生成目标结果,并将所述目标结果发送至所述业务端。
2.根据权利要求1所述的***,其特征在于,所述依据所述业务规则配置在所述第一存储端或所述第二存储端中获取规则项目信息,包括:
所述管理端用于确定所述第一存储端内是否存在规则容器缓存;
若是,则所述管理端生成第一获取请求,将所述第一获取请求发送至所述第一存储端,所述第一存储端用于获取所述规则项目信息,并将所述规则项目信息发送至所述管理端;若否,则所述管理端生成第二获取请求,将所述第二获取请求发送至所述第二存储端,所述第二存储端用于获取所述规则项目信息,并将所述规则项目信息发送至所述管理端。
3.根据权利要求1所述的***,其特征在于,所述依据所述规则容器和预设业务数据模型计算生成目标结果,包括:
所述管理端用于将所述预设业务数据模型转化处理生成规则数据模型;
所述管理端用于依据所述规则数据模型和预设过滤条件生成目标规则;
所述管理端用于依据所述目标规则对保费计算公式进行计算生成目标结果。
4.根据权利要求1所述的***,其特征在于,所述依据所述规则数据模型和预设过滤条件生成目标规则,包括:
所述管理端用于依据所述规则数据模型和预设过滤条件生成执行规则;
所述管理端用于通过预设业务规则引擎确定目标应用程序编程接口,并将所述目标应用程序编程接口标记为所述执行规则的输入参数;
所述管理端用于依据所述执行规则和所述输入参数生成所述目标规则。
5.根据权利要求1所述的***,其特征在于,还包括:
当响应于用户的新增项目请求时,所述管理端用于依据所述新增项目请求在所述第二存储端内获取规则项目资源信息集合;
所述管理端用于依据所述规则项目资源信息集合生成第一目标规则容器;
所述管理端用于通过第一目标规则容器和预设数据库生成项目新增消息,并将所述项目新增消息发送至所述第一存储端。
6.根据权利要求1所述的***,其特征在于,还包括:
当响应于用户的更新项目请求时,所述管理端用于依据所述更新项目请求在所述第二存储端内获取规则项目资源信息集合;
所述管理端用于依据所述规则项目资源信息集合生成第二目标规则容器;
所述管理端用于通过第二目标规则容器和预设数据库生成第一项目更新消息,并将所述第一项目更新消息发送至所述第一存储端;所述第一存储端用于将原项目消息进行删除后***所述第一项目更新消息。
7.根据权利要求1所述的***,其特征在于,还包括:
当响应于用户的删除项目请求时,所述管理端用于依据所述删除项目请求和预设数据库生成第二项目新增消息;
所述管理端用于依据所述第二项目新增消息生成清除请求,并将所述清除请求发送至所述第一存储端。
8.一种基于业务规则的规则管理***,其特征在于,所述***涉及业务端、管理端、第一存储端、第二存储端和规则处理端;所述***包括:
当接收到所述管理端发送的统一执行规则接口时,所述业务端用于通过所述统一执行规则接口将响应于用户生成的执行请求发送至所述管理端;
当收到所述管理端发送的目标结果时,所述业务端用于将所述目标结果反馈至目标用户。
9.一种基于业务规则的规则管理***,其特征在于,所述***涉及业务端、管理端、第一存储端、第二存储端和规则处理端;所述***包括:
当接收到所述管理端发送的第一获取请求时,所述第一存储端用于获取本地缓存内的规则项目信息,并将所述规则项目信息发送至所述管理端。
10.一种基于业务规则的规则管理***,其特征在于,所述***涉及业务端、管理端、第一存储端、第二存储端和规则处理端;所述***包括:
当接收到所述管理端发送的第二获取请求时,所述第二存储端用于获取规则项目资源信息集合内的规则项目信息,并将所述规则项目信息发送至所述管理端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311461528.4A CN117453278B (zh) | 2023-11-01 | 2023-11-01 | 一种基于业务规则的规则管理*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311461528.4A CN117453278B (zh) | 2023-11-01 | 2023-11-01 | 一种基于业务规则的规则管理*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117453278A true CN117453278A (zh) | 2024-01-26 |
CN117453278B CN117453278B (zh) | 2024-05-14 |
Family
ID=89583274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311461528.4A Active CN117453278B (zh) | 2023-11-01 | 2023-11-01 | 一种基于业务规则的规则管理*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117453278B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918079A (zh) * | 2019-01-31 | 2019-06-21 | 平安科技(深圳)有限公司 | 规则引擎***的规则更新方法、装置和计算机设备 |
CN113312113A (zh) * | 2021-06-25 | 2021-08-27 | 中国农业银行股份有限公司 | 业务规则信息的动态配置方法、装置、设备及存储介质 |
WO2022001209A1 (zh) * | 2020-06-30 | 2022-01-06 | 深圳前海微众银行股份有限公司 | 作业执行方法、装置、***及计算机可读存储介质 |
CN114077587A (zh) * | 2020-08-18 | 2022-02-22 | 北京三快在线科技有限公司 | 基于规则引擎的业务处理方法、规则引擎、介质和设备 |
CN115269220A (zh) * | 2022-06-22 | 2022-11-01 | 中国农业银行股份有限公司 | 一种业务处理方法及规则服务接口 |
CA3182208A1 (en) * | 2021-11-17 | 2023-05-17 | 10353744 Canada Ltd. | Business data processing method and device, computer equipment and storage medium |
-
2023
- 2023-11-01 CN CN202311461528.4A patent/CN117453278B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918079A (zh) * | 2019-01-31 | 2019-06-21 | 平安科技(深圳)有限公司 | 规则引擎***的规则更新方法、装置和计算机设备 |
WO2022001209A1 (zh) * | 2020-06-30 | 2022-01-06 | 深圳前海微众银行股份有限公司 | 作业执行方法、装置、***及计算机可读存储介质 |
CN114077587A (zh) * | 2020-08-18 | 2022-02-22 | 北京三快在线科技有限公司 | 基于规则引擎的业务处理方法、规则引擎、介质和设备 |
CN113312113A (zh) * | 2021-06-25 | 2021-08-27 | 中国农业银行股份有限公司 | 业务规则信息的动态配置方法、装置、设备及存储介质 |
CA3182208A1 (en) * | 2021-11-17 | 2023-05-17 | 10353744 Canada Ltd. | Business data processing method and device, computer equipment and storage medium |
CN115269220A (zh) * | 2022-06-22 | 2022-11-01 | 中国农业银行股份有限公司 | 一种业务处理方法及规则服务接口 |
Also Published As
Publication number | Publication date |
---|---|
CN117453278B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11847574B2 (en) | Systems and methods for enriching modeling tools and infrastructure with semantics | |
US11663033B2 (en) | Design-time information based on run-time artifacts in a distributed computing cluster | |
CN107103064B (zh) | 数据统计方法及装置 | |
US8452733B2 (en) | Data decay management | |
CN108733532B (zh) | 大数据平台的健康度管控方法、装置、介质及电子设备 | |
CN108540351B (zh) | 分布式大数据服务的自动化测试方法 | |
CN114791846B (zh) | 一种针对云原生混沌工程实验实现可观测性的方法 | |
CN113973053B (zh) | 一种网络靶场的探针管理***与方法 | |
CN109739878A (zh) | 大数据查询方法、装置、服务器及存储介质 | |
US20180143897A1 (en) | Determining idle testing periods | |
CN111177541A (zh) | 基于用户标签生成时间的数据分析方法及装置、服务器、存储介质 | |
US10425335B2 (en) | Reconstructing message flows based on hash values | |
CN111699484A (zh) | 用于数据管理的***和方法 | |
CN110377588A (zh) | 一种数据库对象访问监测方法、服务器及终端 | |
CN114168287A (zh) | 任务调度方法及装置、可读存储介质及电子设备 | |
US11308104B2 (en) | Knowledge graph-based lineage tracking | |
CN117453278B (zh) | 一种基于业务规则的规则管理*** | |
CN115567526B (zh) | 数据监控方法、装置、设备及介质 | |
CN116595096A (zh) | 一种基于湖仓一体的元数据同步方法、装置、设备及介质 | |
CN112491943A (zh) | 数据请求方法、装置、存储介质和电子设备 | |
CN111934932B (zh) | 一种互联网架构评价方法及装置 | |
CN111813880B (zh) | 一种国土空间规划项目管理方法、***及存储介质 | |
CN114064678A (zh) | 事件数据处理方法、装置及终端设备 | |
CN113742313A (zh) | 数据仓库构建方法、装置、计算机设备和存储介质 | |
CN112394946A (zh) | 基于DevOps背景下的运维平台 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |