规则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

牦牛云(3.5USD/月 )阿里云国际版云服务器 1核1G40G

收到好多消息,让我聊一下阿里云国际版本,作为一个阿里云死忠粉,之前用的服务器都是阿里云国内版的VPS主机,对于现在火热的阿里云国际版,这段时间了解了下,觉得还是有很多部分可以聊的,毕竟,实名制的服务器规则导致国际版无需实名这一特点被无限放大。以前也写过几篇综合性的阿里云国际版vps的分析,其中有一点得到很多人的认同,那句是阿里云不管国内版还是国际版的IO读写速度实在不敢恭维,相对意义上的,如果在这...

Sharktech($49/月),10G端口 32GB内存,鲨鱼机房新用户赠送$50

Sharktech 鲨鱼机房商家我们是不是算比较熟悉的,因为有很多的服务商渠道的高防服务器都是拿他们家的机器然后部署高防VPS主机的,不过这几年Sharktech商家有自己直接销售云服务器产品,比如看到有新增公有云主机有促销活动,一般有人可能买回去自己搭建虚拟主机拆分销售的,有的也是自用的。有看到不少网友在分享到鲨鱼机房商家促销活动期间,有赠送开通公有云主机$50,可以购买最低配置的,$49/月的...

Hostodo(年付$34.99), 8TB月流量 3个机房可选

Hostodo 算是比较小众的海外主机商,这次九月份开学季有提供促销活动。不过如果我们有熟悉的朋友应该知道,这个服务商家也是比较时间久的,而且商家推进活动比较稳,每个月都有部分活动。目前有提供机房可选斯波坎、拉斯维加斯和迈阿密。从机房的地理位置和实际的速度,中文业务速度应该不是优化直连的,但是有需要海外业务的话一般有人选择。以前一直也持有他们家的年付12美元的机器,后来用不到就取消未续约。第一、开...

规则引擎为你推荐
打开网页出现错误我打开网页老出现错误是怎么了?pw美团网电话是什么pw办公协同软件免费的多人协同办公软件哪些,我了解的有钉钉、企业微信,其他的还有么?qq怎么发邮件手机QQ怎么发邮件网页打开很慢为什么我打开浏览器的时候,网页打开的很慢?blogcnCK沉珂是个怎样的一个人?之后又是怎样的 ?网站地图制作给人看的那种,网站地图怎么做freebsd安装FreeBSD系统NetBSD系统OpenBSD系统 这三个系统安装方法相似吗?用什么方法装哦?263企业邮箱设置ipad mini2怎么设置263企业邮箱手工杀毒手工杀毒与杀毒软件杀毒有什么区别?
海外虚拟主机空间 老域名失效请用户记下 阿云浏览器 本网站服务器在美国维护 host1plus locvps 台湾服务器 国外服务器 12306抢票攻略 ubuntu更新源 私有云存储 e蜗牛 帽子云 北京双线机房 如何用qq邮箱发邮件 360云服务 工信部网站备案查询 主机返佣 中国电信宽带测速 weblogic部署 更多