Есть ли какая-либо структура для корреляции / анализа в реальном времени потока событий (он же CEP) в Erlang? - PullRequest
5 голосов
/ 29 ноября 2010

Хотелось бы проанализировать поток событий, разделяющих определенные характеристики (например, общий источник), и в течение заданного временного окна, в конечном счете, сопоставить эти множественные события и сделать из них некоторые выводы и, наконец, запустить какое-то действие.

Мои ограниченные знания по обработке сложных событий (CEP) говорят мне, что это идеальный кандидат для таких вещей.Однако в моем исследовании я обнаружил, что люди сравнивают его с Rule-Engines и байесовским классификатором, а иногда используют их комбинацию.

Хотел узнать, есть ли -

  1. некоторые передовые практики (в идеале, подкрепленные данными о производительности и описанием характера / типа событий), которым необходимо следовать, особенно в Эрланге?

  2. У Эрланга есть собственная структура CEP?

  3. есть ли какая-либо библиотека байесовских классификаторов, доступная на Erlang?

Эспер из мира Java, кажется, довольно близок к тому, что я хотел бы сделать,но я бы предпочел, чтобы моя среда оставалась только на Erlang (или только на Erlang и C / C ++), если это возможно.

Указатели, советы, рекомендации - все приветствуется.

спасибо,

IC

Ответы [ 3 ]

3 голосов
/ 10 ноября 2014

Это, кажется, находится в стадии активной разработки:

https://github.com/vascokk/rivus_cep

2 голосов
/ 25 сентября 2014

У нас есть несколько новых libs для Erlang на CEP.

См. Ниже:

https://github.com/danmacklin/erlang_cep

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

2 голосов
/ 29 ноября 2010

Это может оказаться для вас нерешительным, но в любом случае:

Одной из сильных сторон Эрланга является его способность действовать в качестве клея между различными системами.Вы позволяете Erlang VM сидеть посередине и управлять множеством подсистем, работающих в других процессах.Надежность обусловлена ​​возможностью перезапуска этих систем в случае их сбоя.

В случае проблемы классификации в определенной степени может показаться, что классификация может происходить отдельно от подсистемы Эрланга.Другими словами, вы используете вызов erlang:open_port/2, чтобы открыть порт для другой программы и установить связь с ней.Дело в том, что ваша программа будет знать, если порт выйдет из строя, и сможет действовать в соответствии с проблемой.

Мои ограниченные знания библиотек и инструментов Erlang не имеют CEP-инструментов на радаре.Тебе сложно самим написать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...