BSTEK规则引擎如何操作

时间:2022年08月29日 来源:

URule Pro是一款由上海锐道信息技术有限公司自主研发的一款纯Java规则引擎,使用者通过浏览器打开URule Pro规则设计器来定义业务规则,完成后的业务规则文件会被存储在规则存储仓库中(在URule Pro当中规则存储仓库既可以是文件系统中的某个目录,也可以存储于数据库当中)。规则文件调用时引擎会从规则存储仓库里把指定的规则文件取出,再通过规则构建引擎对规则进行解析、编译,之后由规则执行引擎执行并返回结果。实际使用时,有三种使用URule Pro的方式,分别是嵌入式模式、分布式计算模式以及单独服务模式。URule Pro规则引擎具有基于多线程的并行批处理的支持。BSTEK规则引擎如何操作

规则引擎相关构件:信息服务(Information Services):信息服务产生信息元对象。每个信息服务产生它自己类型相对应的信息元对象。即特定信息服务根据信息元所产生每个信息元对象有相同的格式,但可以有不同的属性和规则集。需要注意的是,在一台机器上可以运行许多不同的信息服务,还可以运行同一信息服务的不同实例。但无论如何,每个信息服务只产生它自己类型相对应的信息元。规则集(Rule Set):顾名思义,规则集就是许多规则的整合。每条规则包含一个条件过滤器和多个动作。一个条件过滤器可以包含多个过滤条件。条件过滤器是多个布尔表达式的组合,其组合结果仍然是一个布尔类型的。在程序运行时,动作将会在条件过滤器值为真的情况下执行。除了一般的执行动作,还有三类比较特别的动作,它们分别是:放弃动作(Discard Action)、包含动作(Include Action)和使信息元对象内容持久化的动作。山东微服务规则引擎调试方法URule Pro规则引擎的特点为可进行单条数据测试。

规则引擎一般具备哪些好处?声明式编程:规则引擎允许您说“该怎么做”,而不是“怎么做”。使用规则可以使表达困难问题的解决方案变得容易,因此可以验证这些解决方案。规则比代码容易阅读。规则系统能够解决非常非常棘手的问题,并解释了解决方案的产生方式以及沿途做出每个“决定”的原因。逻辑与数据分离:数据在域对象中,逻辑在规则中。这从根本上打破了数据和逻辑的耦合,这可能是优点还是缺点。但是解耦逻辑可以更容易维护。可以将逻辑全部组织在一个或多个非常不同的规则文件中,而不是将逻辑分布在许多域对象或控制器中。

无论是规则文件的部署,还是规则中要调用的Spring Bean以及相关的Java类的加载,URule Pro全部采用热部署功能实现,系统不重启即可实现所有与规则相关的业务需求变更。URule Pro中提供的所有的规则设计器及打包测试工具,全部基于浏览器实现,所有的规则设计器皆为可视化、图形化设计器,通过鼠标点击即可实现复杂的业务规则定义,URule Pro中规则的多条件组合也是以图形方式展现,这样即使没有任何编程经验的普通业务人员,也可以轻松上手,完成复杂业务规则的定义。因为所有的业务规则设计器都是基于网页的,且规则的定义都是通过鼠标点击的方式完成,所以对于一个普通的使用者来说,配合教学视频两到三天即可完全掌握URule Pro中各种设计器的使用,结合业务需要定义出想要的业务规则。URULE PRO规则引擎是一款基于Java的规则引擎。

任何一个规则引擎都需要很好地解决规则的推理机制和规则条件匹配的效率问题。规则条件匹配的效率决定了引擎的性能,引擎需要迅速测试工作区中的数据对象,从加载的规则集中发现符合条件的规则,生成规则执行实例。当引擎执行时,会根据规则执行队列中的优先顺序逐条执行规则执行实例,由于规则的执行部分可能会改变工作区的数据对象,从而会使队列中的某些规则执行实例因为条件改变而失效,必须从队列中撤销,也可能会开启原来不满足条件的规则,生成新的规则执行实例进入队列。于是就产生了一种“动态”的规则执行链,形成规则的推理机制。这种规则的“链式”反应完全是由工作区中的数据驱动的。URule Pro规则引擎功能包括决策集等。上海URule Pro Java规则引擎热部署方法

URule Pro规则引擎架构于Spring之上。BSTEK规则引擎如何操作

规则引擎的工作机制:规则引擎从队列管理器中依次接收信息元,然后依规则的定义顺序检查信息元所带规则集中的规则。规则引擎检查第1个规则并对其条件过滤器求值,如果值为假,所有与此规则相关的动作皆被忽略并继续执行下一条规则。如果第二条规则的过滤器值为真,所有与此规则相关的动作皆依定义顺序执行,执行完毕继续下一条规则。该信息元中的所有规则执行完毕后,信息元将被销毁,然后从队列管理器接收下一个信息元。在这个过程中并未考虑两个特殊动作:放弃动作(Discard Action)和包含动作(Include Action)。放弃动作如果被执行,将会跳过其所在信息元中接下来的所有规则,并销毁所在信息元,规则引擎继续接收队列管理器中的下一个信息元。包含动作其实就是动作中包含其它现存规则集的动作。包含动作如果被执行,规则引擎将暂停并进入被包含的规则集,执行完毕后,规则引擎还会返回原来暂停的地方继续执行。这一过程将递归进行。BSTEK规则引擎如何操作

上海锐道信息技术有限公司是一家有着雄厚实力背景、信誉可靠、励精图治、展望未来、有梦想有目标,有组织有体系的公司,坚持于带领员工在未来的道路上大放光明,携手共画蓝图,在上海市等地区的数码、电脑行业中积累了大批忠诚的客户粉丝源,也收获了良好的用户口碑,为公司的发展奠定的良好的行业基础,也希望未来公司能成为行业的翘楚,努力为行业领域的发展奉献出自己的一份力量,我们相信精益求精的工作态度和不断的完善创新理念以及自强不息,斗志昂扬的的企业精神将引领上海锐道信息供应和您一起携手步入辉煌,共创佳绩,一直以来,公司贯彻执行科学管理、创新发展、诚实守信的方针,员工精诚努力,协同奋取,以品质、服务来赢得市场,我们一直在路上!

热门标签
信息来源于互联网 本站不为信息真实性负责