2016-03-15 6 views
0

У меня такая проблема с Proton CEP: в настоящее время у меня есть EPA «Sequence»; его ввод - 2 события. Но эти события имеют разную гранулярность: допустим, у меня есть события A и B; я получаю события N "A" и события M "B", где M < < N. Поэтому я хотел бы иметь правило типа «если событие типа A не потребляется в течение X секунд, удалите его», в противном случае У меня длинная очередь событий A; Мне нужно только правило, которое нужно оценить для ближайших (временных) событий. Практически у меня есть поддельный датчик температуры в помещении, который каждые 5 секунд отправляет обновления температуры, и у меня есть еще одна программа, которая проверяет внешнюю погоду и отправляет ее каждую минуту.Proton CEP Fiware: удалять старые полученные события

Любая идея, как решить эту ситуацию?

спасибо!

ответ

0

Я предполагаю, что в «потреблении» вы подразумеваете прибытие, так что вы хотите оценить время, которое произошло в A, чтобы добраться до протонного процессора? или время между событиями A? Вы хотите, чтобы события A действительно были непрерывными с фиксированной скоростью? «Удаление» события означает его игнорировать, поскольку события не хранятся нигде, просто обрабатываются. В конце концов, что вы хотите обнаружить здесь? Как, какова тенденция комнатной температуры по сравнению с наружной температурой? затем, соответственно, выделять выходные события?

Спасибо.

+0

Спасибо за ответ. Это должно быть только «основное» правило: получить событие A, получить событие B, рассчитать разницу в их температуре. Но что, если я получу больше событий A, чем B? – Federico

0

все соответствующие экземпляры событий хранятся в локальном состоянии соответствующего EPA. Для каждого операнда EPA у вас есть политики, которые определяют, как собирается государство, и как создается соответствующий набор для генерации событий. Например, политика выбора экземпляра, которая определена для каждого операнда и имеет значения «каждый», «первый» и «последний», скажет вам, проверяются ли все экземпляры A для соответствия с экземпляром B или первым (в порядок прибытия), или последний. Политика потребления говорит, что делать с состоянием операнда после обнаружения последовательности - должны ли экземпляры say A, которые участвовали в последовательности, удаляться из состояния EPA («потреблять» значение политики) или должны оставаться.

Игра с комбинацией этих политик должна дать вам поведение, которое вам требуется

+0

Спасибо! В то же время я изменил архитектуру программы, поэтому я решил свою проблему ... но это тот ответ, который я искал! – Federico

Смежные вопросы