规则引擎数据库实现的一个设想

看了jbossrules是实现是把规则写在一个文本文件中,然后解析翻译这个文件。规则被分成when .. then..两个部分。这种实现方式的好处是规则的变化、书写很灵活,并且和java代码很容易结合起来,但是问题是规则文件不能由系统的最终用户来编写。
有没有可能把规则用数据库来表达呢,这样就很容易针对这几张表做一个crud的操作,给最终用户一个操作界面就能维护规则了,目前没有这种把规则定义在数据库的规则引擎,不知道有没有,是否是相对于文件形式弊端太多。我的想法如下:
规则分成两部分,在jbossrules中是lhs,rhs,即左手边条件,右手边结果。条件可以理解为某个项目的取值,取值有两种情况:连续值和离散值,比如工资是个连续值,性别是离散值;结果可转化为一个数值,比如打折的折扣规则最终要的结果就是一个折扣比率,如果结果要求的是等级的划分,也可以用数值来编码,比如1代表贵宾客户,2代表普通客户。
这样规则表就分连续规则表和离散规则表两种
连续规则表:
项目        下限        下限开闭        上限        上限开闭        结果
-------------------------------------------------------------------------
工资        1000        开                2000        闭           5
工资        2000        开                3000        闭           10
上面这两条记录表示工资(1000,2000] 积分算5分,工资在(2000,3000]这个区间积分算10分。下限为空时表示没有下限,上限同理。
离散规则表:
项目        取值        结果
-----------------------------
性别        男        5
性别        女        10
上面两条记录表示性别取值是男、女分别积分算5分、10分。
一条规则由N个“项目”组成,这些“项目”就是jbossrules中的fact的度量值,比如工资、性别等等。所以规则表如下:
规则表:
规则id        项目        离散/连续
------------------------------------
1             工资        连续
1             性别        离散
这个规则表示由两个项目组成。当一个业务行为的数据传进来比如一个工资为1800男性客户需要计算他的积分,则把规则id为 1的积分规则所有项目与规则表的项目关联,分别累加每个项目的积分值得到总和。

这种想法可行吗?
springboot中如何整合groovy实现一个轻量级规则引擎 当然你也可以项目启动好后通过来注册脚本,这里采用预先加载好脚本到Redis来演示对应的脚本都在目录下,自己按需设定脚本key即可[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sz13Srxu-1664720376722)(images/redis导入脚本配置.png)] 阅读详情

相关推荐

Flink规则引擎实践分享

Flink规则引擎实践分享 文章目录Flink规则引擎实践分享一、实时规则引擎架构***二、规则抽象模型三、规则、条件查询封装**3.1规则封装3.2 查询规则封装四、使用ClickHouse来存放明细并实现查询服务支持4.1 ClickHouse从Kafka摄取数据4.2 ClickHouse查询服务中的sql设计**4.3 ClickHouse查询时间跨度问题与解决**4.4 查询路由模块**五、项目中优化的点5.1 规则匹配方式优化5.2 行为明细规则匹配查询CK并发过高的解决方案 Java、大数

weixin_38836273的博客 4759

聊聊规则引擎的调研及实现全过程

目前相关的调研及前端部分的实施已经初步完成,相关实施按照过程及任务拆解已初步得到验证实施的可行性,这其中也考虑了比较多服务端因素,最终确定为react+java组合的形式,之所以没再坚持vue主因是该页相对比较独立,技术线统一其实没那么重要,优先以验证可行性及执行度为准则,另外一方面考量就是节点的属性编辑交互性较强,综合权衡之后还是决定背靠antd pro-compoment去加快这个实施过程。

cutsay的专栏 4588

【规则引擎】一、规则引擎简介

(第一章规则引擎学习入门之规则引擎简介)# 系列文章目录 规则引擎简介前言一、为什么要使用规则引擎?1.不使用规则引擎的规则执行现状2. 规则引擎优点二、规则引擎的功能三、规则引擎的分类实现1.事中规则实现2.事后规则实现四、规则引擎调研1.开源规则引擎2.商业规则引擎五、Drools六、Aviator 前言 规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。–来自百

qq_44667083的博客 2466

规则引擎的架构设计与系统实现

ruleEngine 业务规则、配置化编程、政策引擎、规则引擎 目录 ruleEngine 1. 背景 2. 方案考察 2.1. 硬编码: 2.2. Drools: 2.3. Urule: 2.4. 自研规则引擎 3. 能力要求 4. 名词解释 5. 概要设计 5.1. 功能模块划分 5.1.1. 公式推理器Calculator: 5.1.2. 指标解析器FormulaExecuter: 5.1.3. 动作执行器ActionExecuter: 5.1.4. 模型执行器.

qq_30615201的博客 1万+

腾讯物联网平台之规则引擎_iot规则引擎(1)

基于 Topic 进行通信时,您可以使用规则引擎对 Topic 中的数据进行处理,然后转发到腾讯云其它服务或用户的业务后台服务。您无需购买服务器部署分布式架构,只需通过规则引擎在控制台上进行配置即可实现采集 + 计算 + 存储等全栈服务。数据转发到另一个 Topic。数据转发到第三方服务。数据转发到消息队列 CKafka。数据转发到时序数据库 CTSDB。数据转发到云数据库 MySQL。数据转发到云数据库 MongoDB。规则引擎文档链接腾讯物联网平台规则引擎。

2401_84009054的博客 1521

drools规则引擎实现动态配置规则的学习实例

drools规则引擎实现动态配置规则 规则1 用户累积消费首次达到10000送积分20; 规则2 用户累积投资首次达到 20000 送积分40; 这两条规则是不能同时生效,但如果他们的时间是错开用户是可以针对这两条规则获取到奖励的 用户然后运营想做到的效果是服务端一次性做好,运营配置规则不用服务端再修改代码; 经过调研决定用drools规则引擎来做,首先添加maven依赖: <dependency> <groupId>org.kie</groupId> &

wcxy_study的博客 1562

规则引擎设计与实现

用Nacos ,里面修改配置的jar包配置文件,springBoot 会自动更新内容,我们的动态实时更新规则,就是这样实现的。在抽象语法树中,通常会验证某节点的子节点的数据类型是否合法。抽象语法树:表达式抽象语法结构的树状表示,对于一个表达式,抽象语法树一定时唯一确定的。规则引擎是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并。参数注入:在规则执行过程中,使用输入的参数值来计算语法树中的标识符节点值的过程。理解----->执行----->输入,输出。解决开发人员重复编码的问题。

beginner的博客 711

Matlab生成dsp程序——环境搭建(c2000系列[F28335、F2837x]都适用)

一、环境配置 (28377D的操作是一模一样就是硬件设置的时候需要选择28377d进行相应的设置) 1)matlab与ccs联合编译需要安装对应的matlab版本和ccs版本,且只有2016a以上的matlab支持c2000系列。具体对应关系参照: http://software-dl.ti.com/ccs/esd/documents/ccs_matlab.html 2)matlab版本确定之后,还需要安装有关于ccs的相关软件: I、TI Code Composer Studio xxxx(对应

qq_42151264的博客 2万+

JAVA规则引擎 - 调研分析设计搭建全过程<四>

JAVA规则引擎 - 调研分析设计搭建全过程<四>规则引擎demo版数据库核心表简易伪代码测试类 规则引擎demo版 数据库核心表 表以及逻辑字段说明 1.策略模型表:id, 模型码,status(上线online,下线offline) 2.规则分组表:id, 模型码, 2-1.规则表:id, 模型码, 分组ID, 得分score, status(有效enable,无效disable) 2-1-1.规则条件表:id, 模型码,分组ID

程序员超哥 940

从Delphi 7到Delphi 10.4.1的代码迁移:关键挑战与实用解决方案

本文详细探讨了从Delphi 7升级到Delphi 10.4.1进行代码迁移的关键挑战与实用解决方案。核心内容包括应对Unicode字符串处理、64位数据类型变化、VCL/FMX界面框架选择、第三方组件迁移以及数据库层现代化改造(如从BDE迁移至FireDAC)。文章为开发者提供了系统的迁移前准备、核心问题攻克策略及测试落地指南,旨在帮助团队高效、平稳地完成系统现代化升级。

weixin_29250403的博客 533

常学常新:《Attention Is All You Need》万字解读!

常学常新:《Attention Is All You Need》万字解读!

hunteritself的博客 3652

设计一个简单的规则引擎

上述这段代码也是真正的推理引擎的代码,来解读一下,首先获取到这课规则树,然后遍历这颗规则树,遍历的时候根据对应节点的规则key,从规则管理器中找到对应的规则,然后执行规则,获取到下一个即将要执行的规则,然后在while循环中遍历,并且将每一次找到的规则打印即可。本质上就是要完成这样的一个规则引擎,首先通过性别进行规则判断,然后是通过年龄进行规则判断,这样一个简单的规则殷勤的雏形就设计好了。所以需要设计一个动态的规则引擎,这样当有新的规则来的时候,我们不需要很大的变动,就可以完成规则的加入。

爱吃知识的土豆倪的博客 2744

基于Python批量获取过去某地某时的天气数据

此段代码为经Visual Weather API官网样例后修改。原代码返回数据格式为json,经测试json风速字段不可用,后改为返回数据格式为csv。若修改weather_api_endpoint,还可获取该地点的预测数据,但返回数据字段可能发生变化,请以官网文档为准。获取到的字段包括:平均温度、露点、湿度、风速、降雨量、能见度、云量、天气类型等。目的:已知某一地址,获取过去某一时间该地的天气数据,并能够批量运行。这一步也会有获取不到的时间和地点,因此为空白。此段代码为经百度地图api官网样例后修改。

wiseman1233的博客 905

可路由计算引擎实现前置数据库

很多大机构都会有个中央数据仓库负责向应用提供数据服务。随着业务的发展,中央数据仓库的负载在持续增加。一方面,数仓是前端应用的数据后台,而前端应用不断增多,用户访问的并发数也不断增长。另一方面,数仓还要承担原始数据的批量离线处理,而批量任务不断增加,其数据量和计算量也在不断增大。所以,常常会出现中央数据库不堪重负的情况。表现出来的现象是:批量处理任务耗时过长,远远超过业务可以容忍的时限;在线数据查询响应太慢,用户长时间等待,满意度越来越差。特别是月末或者年末,计算量达到高峰的时候,这些问题会更加严重。

石臻说AI(szzdzhp001) 【原名 石臻臻的杂货铺】 2万+

基于Ardupilot/PX4固件,APM/PIXhawk硬件的VTOL垂直起降固定翼软硬件参数调试(第二篇)软硬件参数调试

基于Ardupilot/PX4固件,APM/PIXhawk硬件的VTOL垂直起降固定翼软硬件参数调试(第二篇) 本文内容大部分来自Kris,我们的K大,在VTOL领域的大牛,在此,非常感谢K大。能引用K大的成果也是自己的荣幸,不便之处还请K大多多包涵,在此引用只是为方便自己日常学习,部分参数表里根据自身情况,增加了修改环节和相应参数。 垂直起降固定翼 中文教程-参数设置 垂直起降固定翼是由 多轴+...

u011322358的博客 2万+

手游功耗优化:从猜想到硬核实测

功耗本质是“硬件在吃电”,要看电流/功率曲线,而不是只看帧率和温度;定量 = 有数字、有曲线、有对比能说“降了 15%”、“峰值从 7W 降到 5.5W”,而不是“我感觉凉快点”;工具方面:大厂会用外接功率仪 + 手机/芯片厂内部平台;平时也会用 Android/iOS/引擎自带的工具做趋势分析;流程上:选典型机型和场景 → 跑脚本采集 → 对齐 Profiler 数据 → 分析 CPU/GPU/网络谁在吃电;再通过版本对比、画质/帧率组合测试,指导配置和优化。这是一个。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 181

Drools 规则引擎(包括动态加载数据库中规则引擎)

Drools 规则引擎,介绍了Drools原理和两种使用方法(包括动态加载数据库中规则引擎)

ProGram_Java521的博客 1万+

《QGIS空间数据处理与高级制图》【目录】

《QGIS空间数据处理与高级制图》是一本面向GIS技术人员和学生的进阶手册,重点提升数据处理效率和专业制图标准化水平。全书涵盖空间数据预处理、矢量编辑、栅格处理、坐标系统应用和符号化设计等核心内容。书中详细介绍了批量数据转换、拓扑检查、遥感影像处理、自定义坐标系创建等实用技能,并提供了模型构建器和PyQGIS脚本实现自动化操作。通过大量实战案例和问题排查指南,帮助读者从基础使用进阶到专业应用,适合测绘、规划、环保等行业的GIS从业者参考使用。

LuckyHanMo的博客 375

drools 基于数据库实现动态规则

drools 基于数据库实现动态规则,即为将规则文件字符串 存在数据库中,然后规则引擎执行的时候将规则从数据库中读取出来,写入到规则引擎KieFileSystem中,加载规则。从而实现,修改数据库后,即可及时执行规则。 创建springboot + mybatis 项目 https://abelyang.blog.youkuaiyun.com/article/details/89296273 导入drools...

哎幽的成长 1万+

【26美赛A题】2026美赛数学建模(MCM/ICM)思路解析及代码分享

本文介绍了2026年美赛数学建模A题的解题思路与方法。A题通常属于连续型系统问题,重点在于构建可解释的机理模型,通过将现实机制转化为动态方程进行仿真预测。文章提出了通用建模路线,包括机理抽象、模型假设、动态建模、参数识别、系统仿真和情景预测六个阶段。专栏将提供从机理到方程的系统建模思路、参数标定方法、Python/Matlab实现代码以及高分论文模板。内容适合参加2026美赛A题、偏重物理/工程建模方向的参赛队伍,旨在提升机理建模能力。后续将更新完整题解和源码。

一键难忘的博客 2013

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

简单的规则引擎Drools实现

规则平台使用Drools规则引擎进行封装开发,配置在controller方法上面,主要对form表单提交数据进行简单规则校验。可以对校验规则进行排序,唤醒规则等。如果只是对传入vo参数类型对象进行简单校验则可以对规则进行动态的下架上架管理,方便规则管理。

qq_19342829的博客 980

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

规则引擎之Drools

一、什么是Drools? Drools 是一个基于Charles Forgy’s的RETE算法的,易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高。 业务分析师人员或审核人员可以利用它轻松查看业务规则,从而检验是否已编码的规则执行了所需的业务规则。 Drools 是用Java语言编写的开放源码规则引擎,使用Rete算法对所编写的规则求值。Drools允许使用声...

点点的博客 4754

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

零代码玩转业务规则:DB-GPT AWEL引擎让逻辑处理像搭积木一样简单

在数据驱动业务的今天,每个公司都面临着相似的困境:业务规则频繁变动,每次调整都需要开发人员修改代码、测试、部署,不仅效率低下,还容易出错。特别是在数据库操作、数据分析等领域,一个小小的逻辑错误就可能导致重大损失。DB-GPT的AWEL(AI Workflow Engine)规则引擎正是为解决这一痛点而生,它允许业务人员通过可视化界面或简单配置来定义和执行复杂的业务规则,无需编写代码即可实现灵活的逻...

gitblog_00475的博客 1132

规则引擎Drools

本文介绍了规则引擎(BRMS)的概念、功能和应用。规则引擎是一种系统,用于将业务决策从应用程序代码中分离出来,通过预定义的语义模块编写业务规则,由用户或开发者进行配置和管理。市面上具体的规则引擎产品包括Drools、VisualRules和iLog等。规则引擎的主要组成部分包括工作内存(Working Memory)、规则库(Rule Base)和推理引擎(Inference Engine)。

永远相信美好的事情即将发生 1443

Thingsboard规则引擎详解,TB规则引擎如何使用

本次对于thingsboard的规则引擎的基本概念、可以使用的能力、规则引擎的组成,以及各个规则节点的用法、规则模型的使用特点做了简单的介绍。相信通过本次的讲解,对于规则引擎的基础、能力、用法有了大概的了解,具体的规则引擎的实战讲解,规划在设备物联接入之后,再进行演示。基于ThingsBoard二次开发的物联网平台:ThingsKit物联网平台,开箱即用的物联网低代码平台,提供N+1+N的产品服务体系,帮助企业快速搭建稳定可靠的物联网系统平台,为企业节省大量时间及人力成本。

云腾五洲官方博客 9530
上一篇: 晕,jbossrules drl文件中连包名都不能出现“rule"这种保留词
下一篇: NBA06-07一些新规则
eyejavaeye
博客等级 码龄20年 74粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值