---
source_url: https://docs.dolphindb.cn/zh/stream/cep_basic_concept.html
fetched_at: 2026-05-19T09:05:51Z
category: stream
title: 基本概念
sha1: dc35516b36801d4b4b2c6eb11041e2d579bd6113
---

# 基本概念

DolphinDB CEP 是面向事件编程的 DolphinScript，主要包含以下基本概念：事件、监视器、监听器、模式匹配、事件处理。

## 事件

事件是描述对象变化的属性值的集合。例如，下图显示了股票报价事件。每个股票报价都有许多属性，包括当前买价、当前卖价和当前交易量。在实际生产场景中，事件以数据流的方式存在并源源不断地产生。

![](images/cep_2.png)

在 DolphinDB 中，事件（event）被定义为一个类，其类名为事件类型（eventType）。用户可在事件类中自定义事件的属性值。

通常，用户在事件流中除了定义事件外，还会对事件进行额外的限制。这些包含限制条件的事件构成了复杂事件，例如：

- 限制事件顺序：A 事件之后跟着事件 B。
- 限制事件属性值：A 的属性 A.a > 100。
- 限制时间：在5分钟内收到事件 B。

## 监视器

CEP 引擎内部通过监视器（Monitor）从事件流中检测指定的事件或事件模式。 在 DolphinDB
中，监视器也被定义为一个类，其类名表示监视器名称。一个监视器主要包含以下内容：

- 一个或多个事件监听（Event Listener)。 监听器是用于指定需要匹配的事件。它从进行 CEP 引擎的事件流中检测并筛选匹配的事件。
- 一个或多个回调函数。 回调函数是 CEP 引擎检测到匹配事件之后执行的操作。
- `onload` 方法。在引擎创建时会执行该方法，启动 Monitor 的监听动作。

监视器在 CEP 子引擎启动后进行实例化，开始工作。它从大量的事件中监视指定的事件，并在检测到匹配事件之后执行预定义的操作。一个 CEP
引擎能够同时定义数十万个监听器，以监听不同的事件。

## 监听器与匹配器

事件监听器（Event Listener）在 Monitor 中定义，其用于监听事件流中的事件。事件匹配器（Event
Matcher）对输入的事件流进行实时分析，以识别出满足预定义模式的事件。当匹配器找到与其事件表达式匹配的事件序列时，由事件监听器触发并执行相关回调函数。

在了解了 CEP 应用程序中的基本概念后，接下来将介绍如何定义它们。对它们所包含的接口及参数进行详细说明。
