规则引擎--规则引擎构成重点

1.在规则引擎中,将知识表达为规则(rules),要分析的情况定义为事实(facts)。


对我来说:事实库就是实时数据。


2.正向推理也叫演绎法,由事实驱动,从 一个初始的事实出发,不断地应用规则得出结论。首先在候选队列中选择一条规则作为启用规则进行推理,记录其结论作为下一步推理时的证据。如此重复这个过程,直到再无可规则可被选用或者求得了所要求的解为止。

反向推理也叫归纳法,由目标驱动,首先提出某个假设,然后寻找支持该假设的证据,若所需的证据都能找到,说明原假设是正确的;若无论如何都找不到所需要的证据,则说明原假设不成立,此时需要另做新的假设。


3.规则引擎相关构件

    规则引擎是一种根据规则中包含的指定过滤条件,判断其能否匹配运行时刻的实时条件来执行规则中所规定的动作的引擎。与规则引擎相关的有四个基本概念,为更好地理解规则引擎的工作原理,下面将对这些概念进行逐一介绍。

  1)信息元(Information Unit)

  信息元是规则引擎的基本建筑块,它是一个包含了特定事件的所有信

息的对象。这些信息包括:消息、产生事件的应用程序标识、事件产生事

件、信息元类型、相关规则集、通用方法、通用属性以及一些系统相关信

息等等。

  2)信息服务(Information Services)

  信息服务产生信息元对象。每个信息服务产生它自己类型相对应 的

信息元对象。即特定信息服务根据信息元所产生每个信息元对象有相同的

格式,但可以有不同的属性和规则集。需要注意的是,在一台机器上可以

运行许多不同的 信息服务,还可以运行同一信息服务的不同实例。但无

论如何,每个信息服务只产生它自己类型相对应的信息元。

 

  3)规则集(Rule Set)

  顾名思义,规则集就是许多规则的集合。每条规则包含一个条件过滤

器和多个动作。一个条件 过滤器可以包含多个过滤条件。条件过滤器是

多个布尔表达式的组合,其组合结果仍然是一个布尔类型的。在程序运行

时,动作将会在条件过滤器值为真的情况下执 行。除了一般的执行动作

,还有三类比较特别的动作,它们分别是:放弃动作(Discard Action)

、包含动作(Include Action)和使信息元对象内容持久化的动作。

  4)队列管理器(Queue Manager)

  队列管理器用来管理来自不同信息服务的信息元对象的队列

    

也就是说。一个规则引擎必须要有 规定好的信息元, 以及对应的信息服务, 已经定义好的规则的集合,和队列的管理器 4个部分。

即使你写的集成度很高。 也可以轻易的找出这四个部分。

 
本人声明:沐海(http://my.oschina.net/mahaisong) 以上文章是经过本人设计实践和阅读其他文档得出。如果需要探讨或指教可以留言!欢迎交流!

你可能感兴趣的:(规则引擎--规则引擎构成重点)