Skip To Content

选项元素

选项元素是 GeoEvent Services 的可配置元素,可根据指定条件将 GeoEvents 或事件记录路由到多个目的地之一。 它按顺序将条件语句应用于事件记录,与编程语言中的 if-else 语句相似。 选项元素可以选择性地配置一个 otherwise 条件,用于处理不满足任何其他条件语句的事件记录的属性。

使用选项元素

选项元素可指定 GeoEvent 可以通过 GeoEvent 服务采取的不同路径。 过滤器表达式将评估事件记录属性,确定事件记录将遵循的路径。 每个事件记录仅能沿一条路径进行,并且如果不符合任何条件,可能会被丢弃。 如果事件记录不符合第一个条件,系统会依次评估列表中的后续条件,直到考虑所有制定的条件语句为止。 可选的 otherwise 条件可用于捕捉不符合任何其他条件的事件记录。 过滤器表达式按照从上(第一个)到下(最后一个)的顺序逐一评估。

如果事件记录不符合任何条件,且没有指定 otherwise 条件,则会被丢弃,不进行处理。

用例示例

以下是一些可以使用选项元素的用例。

交通工具监控

在此示例中,假定数据源提供了不同类型交通工具的事件数据,每种类型必须以不同的方式进行处理。 数据中有一个字段 (VehicleType),该字段用于指定交通工具的类型(如 AirplaneTrainAutomobile)。 通过选项元素,可以根据工具类型将每个事件记录路由至相应的处理流程。 如果收到的事件记录属于未定义的工具类型,如 Truck,并且未配置 Otherwise 参数,则该记录将被丢弃。

条件语句示例选项中的条件语句示例

请考虑以下适用于此示例的条件语句:

  • 如果“交通工具类型”等于“飞机”,则会将事件记录作为飞机处理。
  • 如果“交通工具类型”等于“火车”,则会将事件记录作为火车处理。
  • 如果“交通工具类型”等于“汽车”,则会将事件记录作为汽车处理。
  • 如果“交通工具类型”等于“卡车”,则会删除事件记录。

扫雪车速度监控

在此示例中,假定数据源提供了扫雪车车队及其当前速度的事件数据。 在扫雪操作过程中,正常车速为每小时 25 到 35 英里。 低于此范围的任何偏差都表明扫雪车工作效率低下,高于此范围的任何偏差都可能损坏雪铲。

条件语句示例选项中的条件语句示例

请考虑在扫雪车正在铲雪时适用的以下条件语句:

  • 如果“速度”小于或等于每小时 24 英里,则扫雪车的状态将为“低速”。
  • 如果“速度”大于或等于每小时 36 英里,则扫雪车的状态将为“高速”。
  • 否则,扫雪车状态将为正常速度。

使用选项元素时的注意事项

使用选项元素时,请考虑以下内容。

  • 每个选项元素至少需要一个条件语句。
    • 可以选择是否定义 otherwise 子句,默认情况下其处于禁用状态。
    • 每个条件必须将事件记录路由至一个确切的过滤器或处理器。
  • 事件记录只能从输入过滤器处理器路由至选项元素。
    • 事件记录不能从一个选项元素串行路由至另一个选项元素。
    • 考虑将逻辑表达式整合至一个选项元素中,而不是在选项元素前后添加过滤器。
  • 如果需要将符合单一条件的事件记录路由至多个输出,应使用无操作处理器作为目标,并从该处理器分支至各输出节点。
  • 建议将条件合至单一过滤器表达式中,而不是通过过滤器将事件记录直接路由至选项元素,或从一个选项元素路由至过滤器,或从一个选项元素路由至另一个。

例如,不是先用过滤器识别具有特定属性的事件记录(如 Speed > 65),然后用选项元素处理特定情况(如VehicleType = CarVehicleType = TruckVehicleType = Van)(如以下第一张图所示),而应直接在选项元素中合并逻辑条件(如 Speed > 65 AND VehicleType = Car)(如以下后两张图所示)。

使用选项元素过滤超速车辆的示例

根据类型过滤超速车辆的选项元素配置示例

将选项元素添加到 GeoEvent 服务

要在 GeoEvent 服务中添加和配置选项元素,请完成以下步骤:

  1. GeoEvent Manager 服务设计器中,将选项元素从新元素列表拖放到画布上。

    选项窗口

  2. 为新选项元素输入一个名称

    在一个选项元素中,可以按指定顺序将一个或多个条件语句应用于事件数据。 每个条件语句均使用唯一名称进行标识,并具有一个数字(以 1 开头),该数字指示条件语句将评估事件数据的顺序。

  3. 单击添加以添加条件语句。

    添加条件语句。

  4. 选项属性窗口框中,按照以下步骤添加一个 when 子句。

    “选项属性”窗口

    1. 为条件语句输入一个名称
    2. 单击添加表达式 添加表达式按钮 以添加和配置 when 子句。
    3. 再次单击添加表达式 添加表达式按钮 以添加和配置其他 when 子句。
    4. 单击确定以保存条件语句。
  5. 根据需要重复上述步骤 3 和 4 以添加更多条件语句。
  6. 或者,选中其他复选框以定义其他路径。

    其他路径选项

    选中其他复选框以启用其他路径。 所有不符合 when 子句所定义条件的事件都将传递到其他路径。 如果取消选中其他复选框,则会删除所有不符合定义的 when 子句的事件记录。

  7. 单击确定以保存选项元素并将其添加到服务设计器。
  8. 将新选项元素连接到 GeoEvent 服务中的其他元素。

编辑选项元素

选项窗口提供了用于查看、编辑、删除和重新排序已配置的条件语句的选项。

  • 将鼠标悬停在信息按钮上以查看与条件语句相关联的 when 子句。
  • 使用编辑按钮 编辑按钮 打开并编辑条件语句的 when 子句。
  • 使用删除按钮 删除按钮 删除条件语句。
  • 使用重新排序按钮 重新排序按钮 更改条件语句评估事件数据的顺序。

在 when 子句中使用过滤器表达式

在 when 子句中,可以使用不同类型的过滤器表达式来评估事件数据。 有关不同类型的过滤选项的详细信息,请参阅以下资源: