urule规则引擎使用(2022详细)
文章目录
- 一、开源版本和pro版本的区别
- 1、功能比较
- 2、更改规则如何生效
- 二、如何使用开源版本
- 1、使用指南地址
- 2、运行规则引擎服务
- 3、使用步骤
- 3.1创建项目
- 3.2创建变量库
- 3.3创建决策集或决策树
- 3.4测试知识包
- 3.5代码调用
因为工作上遇到了urule开源版本规则引擎,所以在这里 介绍一下自己是如何使用的
一、开源版本和pro版本的区别
1、功能比较
这里是免费版本2.0和pro3.0的功能比较:
URULE PRO版与开源版主要功能比较 | ||
---|---|---|
特性 | URULE PRO版 | URULE开源版 |
向导式决策集 | 有 | 有 |
脚本式决策集 | 有 | 有 |
决策树 | 有 | 有 |
决策流 | 有 | 有 |
决策表 | 有 | 有 |
交叉决策表 | 有 | 无 |
复杂评分卡 | 有 | 无 |
文件名、项目名重构 | 有 | 无 |
参数名、变量常量名重构 | 有 | 无 |
Excel决策表导入 | 有 | 无 |
规则集模版保存与加载 | 有 | 无 |
中文项目名和文件名支持 | 有 | 无 |
服务器推送知识包到客户端功能的支持 | 有 | 无 |
知识包优化与压缩的支持 | 有 | 无 |
客户端服务器模式下大知识包的推拉支持 | 有 | 无 |
规则集中执行组的支持 | 有 | 无 |
规则流中所有节点向导式条件与动作配置的支持 | 有 | 无 |
循环规则多循环单元支持 | 有 | 无 |
循环规则中无条件执行的支持 | 有 | 无 |
导入项目自动重命名功能 | 有 | 无 |
规则树构建优化 | 有 | 无 |
对象查找索引支持 | 有 | 无 |
规则树中短路计算的支持 | 有 | 无 |
规则条件冗余计算缓存支持 | 有 | 无 |
基于方案的批量场景测试功能 | 有 | 无 |
知识包调用监控 | 有 | 无 |
更为完善的文件读写权限控制 | 有 | 无 |
知识包版本控制 | 有 | 无 |
SpringBean及Java类的热部署 | 有 | 无 |
技术支持 | 有 | 无 |
2、更改规则如何生效
免费版本:修改后重启后端服务
二、如何使用开源版本
1、使用指南地址
1.简介 · URule规则引擎使用指南 (bstek.com)
2、运行规则引擎服务
模块结构如下:
其中toplink-rule-server为服务端,toplink-admin为客户端;修改toplink-rule-server里面resources里application.properties数据库配置,在数据库创建空的库。urule会自动创建表
运行toplink-rule-server的ToplinkRuleServerApplication启动类
打开浏览器访问 http://localhost:8090/urule/ frame,如下图
这时server端已经成功运行!
3、使用步骤
3.1创建项目
鼠标右键项目列表,点击创建新项目,输入项目名称(项目名称自己定义)
3.2创建变量库
变量库对应的是代码中的一个个实体,例如添加一个customer的变量库(变量库名自己定义),代码中应该有一个customer的实体类。
上图中2.输入名称(自定义,例如:可以是会员类)3.输入类的全限定包名就是相关实体类的包名,例如:可以输入customer的全包名,用来后续测试会员相关规则的测试。4.点击生成后,右端就会出现对应的实体类的字段(属性)
最后点击保存!变量库就已经成功创建!
3.3创建决策集或决策树
这里以创建决策集为例,决策集就是规则的集合,用来添加一条条的规则。
名称自定义,例如:customer
创建之后先添加变量库,这样就可以获取相关实体类的属性了,点击添加,选择对应的变量库,这里我们可以添加刚刚创建的customer变量库,后面添加规则的时候就可以获取会员类的属性了。
这样就已经成功添加了。
然后开始添加规则:
这里可以选择会员类的年龄
这里可以选择选择大于
然后选择输入值
比如这里输入18
比如我们可以再添加条件:会员类的等级大于3
然后添加那么后面的动作,选择变量赋值,操作和上面的一样
然后添加否则的动作,和上面一样,如:我们添加那么会员类的名称为黄金会员否则为普通会员
点击保存!规则定义成功!
补充:变量后面可以添加加减乘除除余操作
3.4测试知识包
可以通过添加知识包对相应的规则进行测试
添加知识包
(包id和包名称自定义)
添加之后选择该包,再点击添加文件
名称自定义,资源文件路径可以选择刚刚添加的customer的决策集,版本号会自动生成的。
点击保存!知识包创建完成!
这是可以进行仿真测试,点击仿真测试,输入年龄和等级,点击测试决策包
输入测试的年龄和等级后点击测试决策包,就可以对相应规则进行测试了,例如:我们输入年龄20,等级5就可以得到会员的名称为黄金会员了。
3.5代码调用
客户端的规则实现,例如:接口:api/rule/test(包含实体类,规则引擎的项目名和测试包名)
这里就是用到的customer实体类,csad项目中的pur知识包
运行toplink-admin的ToplinkApplication启动类
打开浏览器访问 http://localhost:8080/api/rule/test?age=20&level=5,如下图
就可以得到规则中定义的黄金会员了
urule规则引擎使用(2022详细)相关推荐
- URULE规则引擎部署
简介 urule规则引擎是纯java开发,运行时借鉴Rete了算法的优势,独创了一套自己的规则模式匹配算法,这套算法可以从根本上保证规则运行的效率,实现大量复杂业务规则计算时的毫秒级响应. urule ...
- URULE规则引擎——决策树
简介 决策树又称为规则树,是URule Pro规则引擎中提供的另外一种构建规则的方式,它以一棵躺倒的树形结构来表现规则(之所以将其躺倒是为了节省空间,否则一棵稍微大点的树将会占用很大的页面空间),决策 ...
- Urule规则引擎快速搭建
Urule官方文档地址:http://www.bstek.com/resources/doc/4.0/ 1.打开Urule官方文档,找到SpringBoot配置 2.打开参考项目地址:https:// ...
- 开源规则引擎 drools
前言 在很多企业的 IT 业务系统中,经常会有大量的业务规则配置,而且随着企业管理者的决策变化,这些业务规则也会随之发生更改.为了适应这样的需求,我们的 IT 业务系统应该能快速且低成本的更新.适应这 ...
- drools规则引擎的基本使用和原理介绍
理论基石 借用:<drools规则引擎技术指南>来说, drools是: 开源项目,规则引擎技术,规则语法形成的规则文件,可以存在数据库等,通过drools包提供的接口,调用生成对应的结果 ...
- 规则引擎Drools详细介绍
规则引擎Drools详细介绍 一. 规则引擎概述 1.1 什么是规则引擎 1.2 使用规则引擎的优势 1.3 规则引擎应用场景 1.4 Drools介绍 二. Drools使用与说明 2.1 Droo ...
- 技术分享 | EdgeX 规则引擎 eKuiper 实战
关于2022 EdgeX中国挑战赛 2022 EdgeX中国挑战赛暨中关村国际前沿科技创新大赛EdgeX专题赛正式拉开帷幕.大赛由北京市科委.中关村管委会指导,由Linux基金会主办,由阿里云.百度智 ...
- 常见的规则引擎(Drools,RuleBook,Easy Rules等)对比
参考文章: https://www.jianshu.com/p/96cd60059aae 规则引擎调研 - 人在江湖之诗和远方 - 博客园 java开源规则引擎比较_常用规则引擎比较分析_学校砍了我的 ...
- 规则就够用?还是必须上机器学习?46页ppt教你如何把规则引擎和机器学习融会贯通...
来源:专知 本文附PPT,建议阅读5分钟 究竟是用简单有效的规则引擎就够了还是要上机器学习? 标签:机器学习 [ 导读 ]在实际的业务数据生产系统中,我们往往会碰到这样一个困境:究竟是用简单有效的规则 ...
- 使用 Drools 规则引擎实现业务逻辑,可调试drl文件
http://www.srcsky.com/tech/arts/389.html 代码下载http://download.csdn.net/detail/zhy011525/2462313 使用 Dr ...
最新文章
- Qt窗口、控件、文本等的一些常用操作
- 【项目管理】人力资源管理
- java重新初始化吗_Java中为何已经重新赋值的变量在输出后会初始化?
- 想写Python爬虫?看这5个教程就行了!
- ubuntu安装配置elasticSearch(vagrant)
- Linux iptables:规则原理和基础
- JAVA导出404_从ActiveReports 8导出Excel时出错404
- java8 Lambda表达式的应用(函数式接口、lambda表达式,方法引用及Stream API)
- 通过this()调用有参构造方法
- 一些开源的统计机器翻译系统简要介绍
- VirtualBox安装的Mac虚拟机,安装增强功能失败,应该是版本太新
- Greensock平台
- Zmodem协议工作原理
- 2019新版《网易云课堂 C++收银系统项目实战教程》
- 本地文件秒搜工具 Everything
- 考研-数学经验贴(总结)
- 同步调用、异步调用、回调的简单理解
- Toast拓展--自定义显示时间和动画
- 【山大会议】私人聊天频道 WebRTC 工具类
- js 实现 输入 年月日 算出 是当年的第几天?