第 85 章 复杂的事件处理(CEP)


在 Red Hat Decision Manager 中,事件是应用程序域中大量状态更改的记录。根据域建模,状态更改可能由一个事件、多个原子事件或关联事件的层次结构表示。从复杂的事件处理(CEP)的角度来看,事件是某一时发生在特定时间点的事实或对象,而商业规则是如何响应该事实或对象的数据的定义。例如,在库存代理应用程序中,安全价格的变化、从销售者变为买方更改,或者帐户持有者的平衡的变化被视为事件,因为更改在给定时间处于应用程序域的状态发生。

红帽决策管理器中的决策引擎使用复杂事件处理(CEP)在事件集合内检测和处理多个事件,从而发现事件之间存在的关系,以及从事件及其关系中推断新数据的关系。

CEP 用例与业务规则用例共享多个要求和目标。

从业务角度来看,基于事件所触发的情况发生,商业规则定义通常根据事件触发的情况进行定义。在以下示例中,事件形成了业务规则的基础:

  • 在算法交易应用程序中,如果安全性价格已超过公开价格,则规则将执行一个操作。价格增长由库存交易应用程序上的事件表示。
  • 在监控应用程序中,如果服务器机房中的温度增加 X 程度,规则将执行操作。读取的传感器由事件表示。

从技术角度来说,商业规则评估和 CEP 有以下关键相似之处:

  • 业务规则评估和 CEP 都需要与企业基础架构和应用程序的无缝集成。这在生命周期管理、审计和安全性方面尤其重要。
  • 业务规则评估和 CEP 都有功能要求,如模式匹配和非功能性要求,如响应时间限制和查询规则说明。

CEP 情境有以下关键特征:

  • 情景通常处理大量事件,但只会处理少量事件。
  • 事件通常是不可变的,代表状态更改的记录。
  • 针对事件运行的规则和查询,必须响应检测到的事件模式。
  • 相关事件通常具有强大的时序关系。
  • 单个事件没有优先级。CEP 系统优先排序相关事件的模式以及它们之间的关系。
  • 事件通常需要组成并聚合。

鉴于这些常见的 CEP 方案特征,红帽决策管理器中的 CEP 系统支持以下功能和功能来优化事件处理:

  • 具有正确语义的事件处理
  • 事件检测、关联、聚合和组成
  • 事件源处理
  • 临时限制来模拟事件之间的时序关系
  • 大量事件的滑动窗口
  • 会话范围内的统一时钟
  • CEP 用例所需的事件卷
  • 被动规则
  • 在决策引擎(pipeline)中事件输入的适配器

85.1. 复杂事件处理中的事件

在 Red Hat Decision Manager 中,事件是应用程序域中大量状态更改的记录。根据域建模,状态更改可能由一个事件、多个原子事件或关联事件的层次结构表示。从复杂的事件处理(CEP)的角度来看,事件是某一时发生在特定时间点的事实或对象,而商业规则是如何响应该事实或对象的数据的定义。例如,在库存代理应用程序中,安全价格的变化、从销售者变为买方更改,或者帐户持有者的平衡的变化被视为事件,因为更改在给定时间处于应用程序域的状态发生。

事件有以下关键特征:

  • 是不可变的: 事件是过去发生的、无法更改的改变记录。

    注意

    决策引擎不会在代表事件的 Java 对象上实施不可变性。这个行为使事件数据增强成为可能。您的应用程序应该能够填充未填充的事件属性,这些属性供决策引擎用于增强事件与推断的数据。但是,您不应该更改已经填充的事件属性。

  • 具有强时序限制: 涉及事件的规则通常需要指示在不同时间点上发生的多个事件。
  • 具有受管生命周期:由于事件不可变且具有临时的限制,所以它们通常只与指定周期相关联。这意味着决策引擎可以自动管理事件的生命周期。
  • 可以使用滑动窗口: 定义一个带有事件的滑块窗口或长度。滑动时间窗是可以处理事件的指定时间段。滑动长度窗口是可以处理的指定数量事件。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat