规则引擎入门

Catalogue
  1. Drools
    1. 概述
    2. 语法
    3. CEP
    4. 规则整合
    5. 优化问题
    6. LABS
  2. 业务规则的定义抽象.
  3. 规则的执行流程
  4. 多个规则的智行顺序和规则管理

Drools Documentation

Drools

概述

业务决策自动化

任何一家组织或企业都面临着作出决定或决策性的问题,这些问题通常比较复杂,一般都需要算法分析大量决策相关的数据,例如当前一些热门的话题,如物联网、人工智能、认知计算都基于算法分析海量数据,产生有用信息的过程。Drools 作为一个开源的推理引擎,有 20 年历史,基于规则匹配算法非常适用与与这一场景。

用于业务规则管理,业务资源优化和复杂事件处理(CEP)。 构建一个全面的业务自动化平台

语法

见Documennt

复杂规则编写: 条件元素,比较运算符,两种dialect的比较

CEP

复杂时间处理.

复杂时间是多事件的事件处理概念,目标是在事件集合(事件流,事件云)中识别用户定义的有意义事件,CEP采用诸如检测许多事件的复杂模式,事件关联和抽象以及事件层的流程。

  • 丢失包裹检测

规则设计要求: 设计规则检测如果一个包裹在通过 CHECK_IN 位置 10 分钟以后是否通过 SORTING 位置,如果否则说明规则丢失。

  • 包裹数统计

编写规则统计最近一小时内经过 SORTING 位置的包裹总数。

  • 包裹重量统计

编写规则统计统计过去通过 CHECK_IN 的 5 个包裹的平均重量。

  • 统计包裹从 CHECK_IN 到 SORTING 的平均时间

包裹扫描系统需要统计过去 5 个连续的包裹从 CHECK_IN 到 SORTING 的平均处理时间。

  • Entry Point 插入事件

编辑规则可以获取不同位置的包裹。

规则整合

通过不同的方式来管理获取规则

优化问题

LABS

本部分通过实验来验证 Drools 相关的理论及概念。

drools-examples doc

drools-examples github

业务规则的定义抽象.

规则有哪些元素组成.

规则的执行流程

多个规则的智行顺序和规则管理