规则urule规则引擎

规则引擎  时间:2021-02-25  阅读:()

Table of Contents

1简介 1 12安装与配置 1 23库文件介绍 1 34规则集 145脚本式规则集 1 56决策表 1 67交叉决策表 1 78评分卡 1 89复杂评分卡 1 910决策树 1 101 1规则流 1 1 112内置动作定义 1 1213代码中调用规则 1 1314数据库中存储知识库 1 1415知识库权限配置 1 1516客户端服务器配置 1 1617与SpringBoot集成 1 1718调试信息输出 1 1819知识包测试 1 1920规则监控 120

1

1.产品简介

规则引擎是一种嵌入在应用程序中的组件它可以将业务规则从业务代码中剥离出来使用预先定义好的语义规范来实现这些剥离出来的业务规则规则引擎通过接受输入的数据进行业务规则的评估并做出业务决策。因为规则引擎将复杂的业务逻辑从业务代码中剥离出来所以可以显著降低业务逻辑实现难度 同时剥离的业务规则使用规则引擎实现这样可以使多变的业务规则变的可维护配合规则引擎提供的良好的业务规则设计器不用编码就可以快速实现复杂的业务规则 同样 即使是完全不懂编程的业务人员也可以轻松上手使用规则引擎来定义复杂的业务规则。

业务系统运行过程中难免会发生业务规则变化的情形有了规则引擎业务规则部分采用的是规则引擎实现这样在系统正常运行的情况就就可以利用规则引擎对业务规则进行修改从而实现业务规则的随需应便。

URule Pro是一款由上海锐道信息技术有限公司自主研发的一款纯Java规则引擎它可以运行在Windows、 Linux、Unix等各种类型的操作系统之上 URule Pro的规则设计器采用业内首创的纯浏览器编辑模式无须安装任何工具打开浏览器即可完成复杂规则的设计与测试 我们可以从以下几个方面来了解URule Pro。

强大的功能

在URule Pro当中提供规则集、决策表、交叉决策表决策矩阵 、决策树、评分卡、复杂评分卡、规则流等八种类型的业务规则设计工具从各个角度满足复杂业务规则设计的需要。

如果我们的业务给出的是零散的逻辑规则那么可以使用规则集来实现如果给出的是表格形式的业务规则那么可以直接使用对应的决策表或交叉决策表决策矩阵来实现如果需要对实体进行综合评分则可以使用评分卡或复杂评分卡来实现最后还可以通过规则流对一系列复杂的规则个体进行编排将这个规则流作为实际业务规则调用入口从而实现任意复杂的业务规则。

简单的使用方式

URule Pro中提供的所有的规则设计器及仿真测试工具全部基于浏览器实现所有的规则设计器皆为可视化、 图形化设计器通过鼠标点击即可实现复杂的业务规则定义 URule Pro中规则的多条件组合也是以图形方式展现这样即使没有任何编程经验的普通业务人员也可以轻松上手完成复杂业务规则的定义。

因为所有的业务规则设计器都是基于网页的且规则的定义都是通过鼠标点击的方式完成所以对于一个普通的使用者来说配合教学视频两到三天即可完全掌握URule Pro中各种设计器的使用结合业务需要定义出想要的业务规则。

优秀的性能

URule Pro后台采用纯Java实现运行时借鉴Rete了算法的优势再结合中式规则引擎的特点独创了一套自己的规则模式匹配算法这套算法可以从根本上保证规则运行的效率实现大量复杂业务规则计算时的毫秒级响应。完善的服务

锐道秉持“用户第一”的理念无论售前售后 URule Pro都配有专门的研发人员负责相应技术支持使用过程中遇到问题可以通过电话或其它方式第一时间联系到一线研发人员 以保证问题得以快速解决。

系统架构

2

系统架构图

从上图中可以看到使用者通过浏览器打开URule Pro规则设计器来定义业务规则完成后的业务规则文件会被存储在规则存储仓库中在URule Pro当中规则存储仓库既可以是文件系统中的某个目录也可以存储于数据库当中 。规则文件调用时引擎会从规则存储仓库里把指定的规则文件取出再通过规则构建引擎对规则进行解析、编译最后由规则执行引擎执行并返回结果。

运行模式

实际使用时有两种使用URule Pro的方式一种是嵌入式一种是独立服务模式。

嵌入式模式

所谓的嵌入式是指将URule Pro直接嵌入到我们的Java Web应用当中作为应用的一部分运行。这种模式的好处是配置起来比较简单而不好的地方在于因为将URule Pro直接嵌入到我们的应用当中如果我们有多个涉及到规则引擎的应用那么每个应用都需要嵌入一个URule Pro模块所以更多的时候我们使用的是独立服务模式。独立服务模式

3

独立服务模式是指将URule Pro部署为一个独立的Java Web应用在这个应用里定义各个业务系统所需要业务规则定义好后统一存储到一个规则存储仓库当中。业务系统要使用规则时只需要指定URule Pro Server的地址即可通过HTTP协议取到目标规则包然后解析并运行其运行模式图如下所示

在独立服务模式下一个URule Pro Server可以下挂多个需要用到规则引擎的业务系统但实际的业务规则在运行时还是发生在各个业务系统中而不是URule Pro Server上。

各个业务系统在运行业务规则时会首先检查要运行规则对应的规则包在本地缓存中是否存在如果存在则直接使用不存在则通过配置的URule Pro Server地址向Server发出使用对应规则包的请求 URule Pro Server收到请求后会将指定的规则包序列化成JSON通过HTTP协议传递给请求的业务系统。业务系统收到传递过来的规则包后会首先对其进行反序列化将JSON格式的规则包反序列化为Java对象并在本地缓存下来然后再使用这个规则包进行业务规则的计算。

可以看到在这个过程当中 URule Pro Server只负责业务规则的定义、编译与发布不负责具体的业务规则执行具体的规则执行还是发生在各个业务系统当中这是一种典型的分布式计算模式可以大大减轻URule Server的压力使得规则的计算可以分布到各个业务系统所在的服务器上从而可以根据需要对计算规则的服务器进行灵活的扩充。

规则更新

在独立服务模式下规则包的更新有两种方式一种是主动推送方式一种为定时更新的方式。

主动推送方式是指URule Pro Server在规则包更新后会主动将更新后的规则包通过HTTP协议推送到配置好的各种业务系统应用的缓存当中这样各个业务系统中的规则包就可以与Server中的规则包时刻保持一致但这种推送方式要求对应的各个业务系统应用必须是一个标准Java Web应用否则这种推送无法实现如果您的业务系统应用是一个Java应用而非一个标准的Java Web应用那么要更新规则包就不能采用这种推送方式而需要使用定时更新的方式。

定时更新方式是指具体调用规则的业务系统可以通过相应的参数配置周期性的检查URule Pro Server上当前业务系统用到的规则包是否有更新如果有则主动从Server上取下来并序列化成Java对应缓存到当前业务系统中备用如果没有更新则不做任何操作。

所以如果您的业务系统是一个非Java Web应用那么更新规则包可以采用定时更新的方式实现相反如果您的业务系统是一个标准的Java Web应用那么主动推送和定时更新两种方式都可以 当然主动推送的方式更为合适。

4

规则设计器

URule Pro当中提供了向导式规则集、脚本式规则集、决策表、交叉决策表决策矩阵 、决策树、评分卡、复杂评分卡、规则流八种类型的业务规则设计工具我们来看看这些设计器以及它们设计出来的规则的样子。向导式规则集

规则集也叫决策集是由一系列单个普通规则以及循环规则构成的规则集设计器采用全向导方式通过鼠标点击就可以完成规则配置。

5

定义好的普通规则如下图

7

定义好的循环规则如下图

脚本式规则集

如果使用URule Pro的是一名程序员那么在编写规则的时候可能会更倾向于使用脚本方式业定义业务规则。在URule Pro当中向导式规则集能实现的功能脚本式规则集全部可以实现反之亦然。

8

脚本式规则集编辑器是一个基于浏览器技术的脚本编辑器、提供了完善的关键字及BOM信息提示、脚本合法性的实时检测、语法错误提示、适合业务人员使用的中文关键字等功能。

在脚本式规则编辑器里既可以定义英文关键字脚本式规则也可以定义中文关键字的脚本式规则还可以定义中英文混合关键字的脚本式规则。

9

Sharktech:无限流量服务器丹佛,洛杉矶,荷兰$49/月起,1Gbps带宽哦!

鲨鱼机房(Sharktech)我们也叫它SK机房,是一家成立于2003年的老牌国外主机商,提供的产品包括独立服务器租用、VPS主机等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等,主打高防产品,独立服务器免费提供60Gbps/48Mpps攻击防御。机房提供1-10Gbps带宽不限流量服务器,最低丹佛/荷兰机房每月49美元起,洛杉矶机房最低59美元/月起。下面列出部分促销机型的配置信息。机房...

ProfitServer$34.56/年,5折限时促销/可选西班牙vps、荷兰vps、德国vps/不限制流量/支持自定义ISO

ProfitServer怎么样?ProfitServer好不好。ProfitServer是一家成立于2003的主机商家,是ITC控股的一个部门,主要经营的产品域名、SSL证书、虚拟主机、VPS和独立服务器,机房有俄罗斯、新加坡、荷兰、美国、保加利亚,VPS采用的是KVM虚拟架构,硬盘采用纯SSD,而且最大的优势是不限制流量,大公司运营,机器比较稳定,数据中心众多。此次ProfitServer正在对...

水墨云历史黑名单IDC,斟酌选购

水墨云怎么样?本站黑名单idc,有被删除账号风险,建议转出及数据备份!水墨云ink cloud Service是成立于2017年的商家,自2020起开始从事香港、日本、韩国、美国等地区CN2 GIA线路的虚拟服务器租赁,同时还有台湾、国内nat vps相关业务,也有iplc专线产品,相对来说主打的是大带宽服务器产品。注意:本站黑名单IDC,有被删除账号风险,请尽量避免,如果已经购买建议转出及数据备...

规则引擎为你推荐
手游运营手册游戏发展国主机开发怎么做 怎么开发主机站长故事科学家的故事200字网店推广网站怎么免费推广淘宝店铺?淘宝网页显示不正常淘宝网页不能正常显示mate8价格现在买华为mate8高配划算吗bt封杀BT下载可以封杀迅雷吗?什么原理?能破吗?发邮件怎么发发邮件怎么发?服务器连接异常服务器连接异常,即将退出,请重新进入游戏.怎么回事QzongQQ空间是Qzone还是Qzong网站推广外链网站推广,免费的超级外链有用吗?seo还应该做什么
域名交易 国外vps租用 域名服务器上存放着internet主机的 域名解析服务器 高防dns 主机测评网 美国主机代购 大容量存储 hnyd tna官网 vip购优惠 最好的qq空间 metalink 如何注册阿里云邮箱 789电视剧 512mb 服务器是干什么用的 登陆空间 网页提速 上海电信测速网站 更多