5

想分析一个事件流,共享某些特征(一个共同的来源),并在给定的时间窗口内,最终关联这些多个事件并从中得出一些推论,最后启动一些动作。

我对复杂事件处理 (CEP) 的有限了解告诉我,它是此类事情的理想选择。然而,到目前为止,在我的研究中,我发现人们将其与规则引擎和贝叶斯分类器进行比较,有时还会使用它们的组合。

想知道有没有——

  1. 要遵循的一些最佳实践(理想情况下由性能数据和事件性质/类型的描述支持),尤其是在 Erlang 中?

  2. Erlang 有自己的 CEP 框架吗?

  3. Erlang 中有任何可用的贝叶斯分类器库吗?

来自 Java 世界的 Esper 似乎与我想做的事情非常接近,但如果可能的话,我更愿意保留我的环境仅 Erlang(或仅 Erlang 和 C/C++)。

指点、建议、指导——欢迎大家。

谢谢,

我知道了

4

3 回答 3

3

这似乎正在积极开发中:

https://github.com/vascokk/rivus_cep

于 2014-11-10T03:28:38.860 回答
2

这对您来说可能不是解决方案,但无论如何:

Erlangs 的优势之一是它能够充当不同系统之间的粘合剂。您让 Erlang VM 位于中间并控制在其他进程中运行的许多子系统。稳健性来自于在这些系统崩溃时重新启动它们的能力。

对于分类问题,在某种程度上,分类似乎可以与 Erlang 子系统分开进行。换句话说,您使用erlang:open_port/2调用打开另一个程序的端口并建立与它的通信。关键是您的程序将知道端口是否崩溃并可以针对问题采取相应措施。

我对 Erlang 库和工具的了解有限,目前还没有 CEP 工具。他们很难自己写吗?

于 2010-11-29T11:23:53.043 回答
2

我们在 cep 上有一些用于 Erlang 的新库。

见下文:

https://github.com/danmacklin/erlang_cep

https://github.com/darach/eep-erl

于 2014-09-24T23:31:19.833 回答