2019独角兽企业重金招聘Python工程师标准>>>

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) 以上文章是经过本人设计实践和阅读其他文档得出。如果需要探讨或指教可以留言!欢迎交流!

转载于:https://my.oschina.net/mahaisong/blog/146640

规则引擎--规则引擎构成重点相关推荐

  1. PHP可视化告警规则引擎,开源可视化规则引擎 决策引擎与规则引擎有什么区别?...

    如何部署JBoss Drools的可视化规则设计工具包 JBoss Drools的可视化规则设计工具包在Drools 4.0的时候叫drools-jbrms. drools-jbrms需要JDK1.5 ...

  2. 流程引擎规则引擎_规则引擎的优势

    流程引擎规则引擎 Following are some of the major advantages of a Rule Engine: 以下是规则引擎的一些主要优点: 更容易理解 (Easier ...

  3. 3、ClickHouse表引擎-MergeTree引擎

    ClickHouse系列文章 1.ClickHouse介绍 2.clickhouse安装与简单验证(centos) 3.ClickHouse表引擎-MergeTree引擎 4.clickhouse的L ...

  4. 12_VersionedCollapsingMergeTree,Log Engine Family(Log引擎,StripeLog引擎,TinyLog引擎)

    11.VersionedCollapsingMergeTree 11.1.VersionedCollapsingMergeTree 11.2.案例 12.Log Engine Family Log引擎 ...

  5. Sentinel授权规则及规则持久化

    授权规则 授权规则可以对请求方来源做判断和控制. 授权规则 基本规则 授权规则可以对调用方的来源做控制,有白名单和黑名单两种方式. 白名单:来源(origin)在白名单内的调用者允许访问 黑名单:来源 ...

  6. python RE表达式规则剩余规则

    前面我学习了 '.' '^' '$' '*' '+' '?'  基本针对单个字符的,学习python 表达式规则剩余规则. 1,{m} 匹配前一个字符m次 2,{n,.m} 匹配前一个字符n到m次 3 ...

  7. 数值积分: 梯形规则--复合梯形规则--辛普森规则--复合辛普森规则--龙贝格求积公式

    数值积分:梯形规则--复合梯形规则--辛普森规则--复合辛普森规则--龙贝格求积公式 1.问题描述 微积分方法求积有很大的局限性,当碰到被积函数很复杂时,找不到相应的原函数.积分值 在几何上可解释为由 ...

  8. 根据编号规则生成规则编号

    /*** 根据编号规则生成规则编号* @param rule 前缀* @param num 数字位数* @param orderField 排序字段* @param table 表名* @param ...

  9. sentinel 1.8. 2持久化Nacos动态规则热点规则和授权规则不生效的问题

    sentinel 1.8.2 持久化Nacos动态规则热点规则和授权规则不生效的问题 问题:规则持久化到nacos之后,我在本地测试时候只有热点和授权规则不生效,我慢慢的在客户端sentinel-cs ...

  10. (十一)Flax Engine游戏引擎物理引擎 joints (关节)

    2021SC@SDUSC 本次我们继续针对flax Engine 游戏引擎中物理引擎的joints 包进行源代码的分析.上次我们分析了距离铰链和固定铰链,本次我们将针对flax Engine 中最后一 ...

最新文章

  1. 关于学习过程中走过的弯路
  2. 东大20春计算机应用基础在线作业1答案,东大20春学期《计算机应用基础》在线平时作业1答案...
  3. spark 统计汉字字数_版面字数和实际字数一样吗
  4. [转]使用target_system进行erlang应用的发行
  5. 调用AutoCAD的内置对话框
  6. 如何使用ping命令检查网络故障
  7. 博客搜索引擎索引博文数量分析与评估
  8. java集合——集合接口+迭代器接口
  9. 企业级应用架构(二)三层架构之数据访问层的封装与抽象
  10. 【KDD20】主题模型在图模型中的应用专题
  11. Jersey the RESTful Web Services in Java
  12. 基于SSM实现的在线音乐网站【附源码】(毕设)
  13. 3d打印切片软件 linux,玩好3D打印机 从19款3D切片软件开始
  14. scree 中的几个内置对象
  15. 您似乎与家庭管理员不在同一个国家/地区,油管换区过程记录
  16. vux以插件方式调用
  17. 手机为什么手机里的计算机没在桌面,为什么桌面图标不见了
  18. linux命令 ---rm
  19. 来世你还能和你的父母重逢吗?
  20. myeclipse中遇到代码run as后只有run configurations的情况

热门文章

  1. 《Python参考手册(第4版•修订版)》——1.8 集合
  2. cout输出精确小数点
  3. 《互联网运营智慧》随书视频
  4. 智能指针(二):shared_ptr实现原理
  5. Q111:PBRT-V3系统概述
  6. vue ui创建项目时ERROR Failed to get response from Error: JAVA_HOME is not set./vue-cli-version-marker
  7. 水很深的深度学习-Task03前馈神经网络
  8. 大数据开发笔记(九):Flink基础
  9. 数据治理管理平台有哪些特点
  10. oracle数据泵能增量吗,Oracle12c中数据泵新特性之功能增强(expdp, impdp)