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

【IT狗】在线ping,在线tcping,路由追踪

IT狗为用户提供 在线ping、在线tcping、在线路由追踪、域名被墙检测、域名被污染检测 等实用工具。【工具地址】https://www.itdog.cn/【工具特色】1、目前同类网站中,在线ping 仅支持1次或少量次数的测试,无法客观的展现目标服务器一段时间的网络状况,IT狗Ping工具可持续的进行一段时间的ping测试,并生成更为直观的网络质量柱状图,让用户更容易掌握服务器在各地区、各线...

HostSlim,双E5-2620v2/4x 1TB SATA大硬盘,荷兰服务器60美元月

hostslim美国独立日活动正在进行中,针对一款大硬盘荷兰专用服务器:双E5-2620v2/4x 1TB SATA硬盘,活动价60美元月。HostSlim荷兰服务器允许大人内容,不过只支持电汇、信用卡和比特币付款,商家支持7天内退款保证,有需要欧洲服务器的可以入手试试,记得注册的时候选择中国,这样不用交20%的税。hostslim怎么样?HostSlim是一家成立于2008年的荷兰托管服务器商,...

快云科技,免云服务器75折优惠服务器快云21元/月

近日快云科技发布了最新的夏季优惠促销活动,主要针对旗下的香港CN2 GIA系列的VPS云服务器产品推送的最新的75折优惠码,国内回程三网CN2 GIA,平均延迟50ms以下,硬件配置方面采用E5 2696v2、E5 2696V4 铂金Platinum等,基于KVM虚拟架构,采用SSD硬盘存储,RAID10阵列保障数据安全,有需要香港免备案CN2服务器的朋友可以关注一下。快云科技怎么样?快云科技好不...

规则引擎为你推荐
如何免费开通黄钻怎么免费开黄钻?今日热点怎么删除今日热点怎么卸载删除 今日热点新闻彻底卸载删开机滚动条电脑开机滚动条要走好几次xv播放器下载求手机可以看xv格式的视频播放器雅虎天盾有没有用用雅虎天盾的啊?商标注册查询官网商标注册网的官网是哪个?iphone6上市时间苹果6什么时候出?多少钱虚拟专用网安卓手机的虚拟专用网设置是什么东西?怎么用?gbk编码表如何制作GBK与Unicode的对照表freebsd安装FreeBSD下如何安装ports的方法
新网域名 动态域名 泛域名解析 什么是域名解析 x3220 新加坡主机 香港新世界电讯 线路工具 轻量 建站代码 免费全能空间 申请个人网站 工作站服务器 刀片式服务器 免费美国空间 免费私人服务器 空间首页登陆 四川电信商城 视频服务器是什么 卡巴斯基试用版下载 更多