Flink和动态模板识别



我们计划使用Flink CEP根据一些动态模板来处理大量事件。系统必须识别事件链(有时是带有条件和分组的复杂链)。模板将由用户创建。换句话说,我们必须在不触及代码的情况下创建复杂的模板。是否可以使用Apache Flink来解决这个问题?filk支持动态模板吗?

目前Flink的CEP库不支持这种动态规则适配。然而,没有根本原因使它不可能实现。

事实上,这些变化应该是相当直接的。目前的工作流程如下:用户指定事件模式。该模式被转换为表示该模式的NFA(这发生在客户端)。然后将NFA提供给CEP操作符,CEP操作符被序列化并发送到集群。在集群上,CEP操作符和NFA被反序列化,然后开始处理事件。

可以添加的是一个共平面映射操作符,它在一个输入通道上接收事件,在另一个输入通道上接收模式。对于每个新接收到的模式,要么更新现有的NFA(缺少此功能),要么编译一个新的NFA。在后一种情况下,将传入事件应用于所有存储的NFAs。

这样,就可以实现一个模式可以动态更新的CEP操作符。

相关内容

  • 没有找到相关文章

最新更新