规则引擎入门
Drools
概述
业务决策自动化
任何一家组织或企业都面临着作出决定或决策性的问题,这些问题通常比较复杂,一般都需要算法分析大量决策相关的数据,例如当前一些热门的话题,如物联网、人工智能、认知计算都基于算法分析海量数据,产生有用信息的过程。Drools 作为一个开源的推理引擎,有 20 年历史,基于规则匹配算法非常适用与与这一场景。
用于业务规则管理,业务资源优化和复杂事件处理(CEP)。 构建一个全面的业务自动化平台
语法
复杂规则编写: 条件元素,比较运算符,两种dialect的比较
CEP
复杂时间处理.
复杂时间是多事件的事件处理概念,目标是在事件集合(事件流,事件云)中识别用户定义的有意义事件,CEP采用诸如检测许多事件的复杂模式,事件关联和抽象以及事件层的流程。
- 丢失包裹检测
规则设计要求: 设计规则检测如果一个包裹在通过 CHECK_IN 位置 10 分钟以后是否通过 SORTING 位置,如果否则说明规则丢失。
- 包裹数统计
编写规则统计最近一小时内经过 SORTING 位置的包裹总数。
- 包裹重量统计
编写规则统计统计过去通过 CHECK_IN 的 5 个包裹的平均重量。
- 统计包裹从 CHECK_IN 到 SORTING 的平均时间
包裹扫描系统需要统计过去 5 个连续的包裹从 CHECK_IN 到 SORTING 的平均处理时间。
- Entry Point 插入事件
编辑规则可以获取不同位置的包裹。
规则整合
通过不同的方式来管理获取规则
优化问题
LABS
本部分通过实验来验证 Drools 相关的理论及概念。
业务规则的定义抽象.
规则有哪些元素组成.