Любая структура для корреляции/анализа потока событий в реальном времени (он же CEP) в Erlang?

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

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

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

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

  2. есть ли у Erlang собственная структура CEP?

  3. любая библиотека байесовского классификатора доступна в Erlang?

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

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

Спасибо,

IC


person bdutta74    schedule 29.11.2010    source источник


Ответы (3)


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

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

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

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

person I GIVE CRAP ANSWERS    schedule 29.11.2010
comment
Спасибо @IGCA. Вопреки вашему имени для входа, ответ весьма полезен. Использование Erlang в качестве связующего звена — хорошая идея, и, использовав пару сред распространения/HA, я полностью разделяю эту мысль. - person bdutta74; 30.11.2010

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

https://github.com/vascokk/rivus_cep

person Mark Steele    schedule 10.11.2014

У нас есть несколько новых библиотек для Erlang на cep.

Смотри ниже:

https://github.com/danmacklin/erlang_cep

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

person Kunthar    schedule 24.09.2014