选项元素是 GeoEvent Services 的可配置元素,可根据指定条件将 GeoEvents 或事件记录路由到多个目的地之一。 它按顺序将条件语句应用于事件记录,与编程语言中的 if-else 语句相似。 选项元素可以选择性地配置一个 otherwise 条件,用于处理不满足任何其他条件语句的事件记录的属性。
使用选项元素
选项元素可指定 GeoEvent 可以通过 GeoEvent 服务采取的不同路径。 过滤器表达式将评估事件记录属性,确定事件记录将遵循的路径。 每个事件记录仅能沿一条路径进行,并且如果不符合任何条件,可能会被丢弃。 如果事件记录不符合第一个条件,系统会依次评估列表中的后续条件,直到考虑所有制定的条件语句为止。 可选的 otherwise 条件可用于捕捉不符合任何其他条件的事件记录。 过滤器表达式按照从上(第一个)到下(最后一个)的顺序逐一评估。
如果事件记录不符合任何条件,且没有指定 otherwise 条件,则会被丢弃,不进行处理。
用例示例
以下是一些可以使用选项元素的用例。
交通工具监控
在此示例中,假定数据源提供了不同类型交通工具的事件数据,每种类型必须以不同的方式进行处理。 数据中有一个字段 (VehicleType),该字段用于指定交通工具的类型(如 Airplane、Train 或 Automobile)。 通过选项元素,可以根据工具类型将每个事件记录路由至相应的处理流程。 如果收到的事件记录属于未定义的工具类型,如 Truck,并且未配置 Otherwise 参数,则该记录将被丢弃。
请考虑以下适用于此示例的条件语句:
- 如果“交通工具类型”等于“飞机”,则会将事件记录作为飞机处理。
- 如果“交通工具类型”等于“火车”,则会将事件记录作为火车处理。
- 如果“交通工具类型”等于“汽车”,则会将事件记录作为汽车处理。
- 如果“交通工具类型”等于“卡车”,则会删除事件记录。
扫雪车速度监控
在此示例中,假定数据源提供了扫雪车车队及其当前速度的事件数据。 在扫雪操作过程中,正常车速为每小时 25 到 35 英里。 低于此范围的任何偏差都表明扫雪车工作效率低下,高于此范围的任何偏差都可能损坏雪铲。
请考虑在扫雪车正在铲雪时适用的以下条件语句:
- 如果“速度”小于或等于每小时 24 英里,则扫雪车的状态将为“低速”。
- 如果“速度”大于或等于每小时 36 英里,则扫雪车的状态将为“高速”。
- 否则,扫雪车状态将为正常速度。
使用选项元素时的注意事项
使用选项元素时,请考虑以下内容。
- 每个选项元素至少需要一个条件语句。
- 可以选择是否定义 otherwise 子句,默认情况下其处于禁用状态。
- 每个条件必须将事件记录路由至一个确切的过滤器或处理器。
- 事件记录只能从输入、过滤器或处理器路由至选项元素。
- 事件记录不能从一个选项元素串行路由至另一个选项元素。
- 考虑将逻辑表达式整合至一个选项元素中,而不是在选项元素前后添加过滤器。
- 如果需要将符合单一条件的事件记录路由至多个输出,应使用无操作处理器作为目标,并从该处理器分支至各输出节点。
- 建议将条件合至单一过滤器表达式中,而不是通过过滤器将事件记录直接路由至选项元素,或从一个选项元素路由至过滤器,或从一个选项元素路由至另一个。
例如,不是先用过滤器识别具有特定属性的事件记录(如 Speed > 65),然后用选项元素处理特定情况(如VehicleType = Car、VehicleType = Truck 和 VehicleType = Van)(如以下第一张图所示),而应直接在选项元素中合并逻辑条件(如 Speed > 65 AND VehicleType = Car)(如以下后两张图所示)。
将选项元素添加到 GeoEvent 服务
要在 GeoEvent 服务中添加和配置选项元素,请完成以下步骤:
- 在 GeoEvent Manager 服务设计器中,将选项元素从新元素列表拖放到画布上。
- 为新选项元素输入一个名称。
在一个选项元素中,可以按指定顺序将一个或多个条件语句应用于事件数据。 每个条件语句均使用唯一名称进行标识,并具有一个数字(以 1 开头),该数字指示条件语句将评估事件数据的顺序。
- 单击添加以添加条件语句。
- 在选项属性窗口框中,按照以下步骤添加一个 when 子句。
- 为条件语句输入一个名称。
- 单击添加表达式 以添加和配置 when 子句。
- 再次单击添加表达式 以添加和配置其他 when 子句。
- 单击确定以保存条件语句。
- 根据需要重复上述步骤 3 和 4 以添加更多条件语句。
- 或者,选中其他复选框以定义其他路径。
选中其他复选框以启用其他路径。 所有不符合 when 子句所定义条件的事件都将传递到其他路径。 如果取消选中其他复选框,则会删除所有不符合定义的 when 子句的事件记录。
- 单击确定以保存选项元素并将其添加到服务设计器。
- 将新选项元素连接到 GeoEvent 服务中的其他元素。
编辑选项元素
选项窗口提供了用于查看、编辑、删除和重新排序已配置的条件语句的选项。
- 将鼠标悬停在上以查看与条件语句相关联的 when 子句。
- 使用编辑按钮 打开并编辑条件语句的 when 子句。
- 使用删除按钮 删除条件语句。
- 使用重新排序按钮 更改条件语句评估事件数据的顺序。
在 when 子句中使用过滤器表达式
在 when 子句中,可以使用不同类型的过滤器表达式来评估事件数据。 有关不同类型的过滤选项的详细信息,请参阅以下资源: