Обработка сложных событий

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

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

Концептуальное описание[править | править вики-текст]

Среди тысяч входящих событий система наблюдения может, к примеру, получить следующие три из одного и того же источника:

  1. звонят колокола церкви.
  2. появление мужчины в смокинге с женщиной в белом платье.
  3. в воздух бросают рис.

По этим событиям система наблюдения может вывести «сложное событие»: свадьбу. Технология CEP помогает обнаруживать сложные события методом анализа и корреляции других событий:[1] колоколов, мужчины и женщины в свадебном наряде и риса, подбрасываемого в воздух.

CEP основана на ряде технологий,[2] включая:

  • обнаружение паттернов событий;
  • абстракции событий;
  • моделирования иерархии событий;
  • определения соотношений (таких. как причинность, членство или временная зависимость) между событиями;
  • абстракции процессов, управляемых событиями.

Коммерческие приложения CEP включают алгоритмическую торговлю, выявление случаев отмывания денег, мошенничества с платежными картами, мониторирование бизнес-активности и мониторирование безопасности.[3]

Относящиеся концепции[править | править вики-текст]

CEP в первую очередь применяется в управлении бизнес-процессом (BPM) и относящихся к нему областях.

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

В искусственном интеллекте, выводимая информация обычно создается машиной вывода, например системой на основе правил. Однако, новая информация обычно не производится в форме сложных (выводимых) событий.

Пример[править | править вики-текст]

Более строгий пример использования CEP включает в себя автомобиль, несколько сенсоров и различные события и реакции на них. Представьте себе, что автомобиль имеет несколько датчиков: один для измерения давления в шинах, другой для измерения скорости, и третий, который определяет, сидит ли кто-то на сиденье или покинул его.

В первом случае, автомобиль движется и давление в одной из шин снижается с 45 до 41 фунтов на квадратный дюйм в течение 15 минут. Поскольку давление в шине падает, генерируется серия событий, отражающих давление в шинах. Кроме того, генерируется ряд событий, содержащих скорость автомобиля. Процессор событий автомобиля может обнаружить ситуацию, при которой потеря давления в шине в течение относительно длительного периода времени приводит к созданию события "lossOfTirePressure". Это новое событие может вызвать процесс реакции, отмечающий потерю давления в журнале обслуживания автомобиля, а также предупреждающий водителя с помощью компьютера автомобиля, что давление в шинах снизилось.

Во второй ситуации, автомобиль движется, и давление одной из шин снижается с 45 до 20 фунтов на квадратный дюйм за 5 секунд. Обнаруживается иная ситуация — может быть потому, что потеря давления произошла за короткий период времени, или, возможно, потому, что разница в значениях между каждым событием была больше, чем предопределенный предел. Иная ситуация вызывает генерацию нового события "blowOutTire". Это новое событие вызывает другой процесс реакции, сразу предупреждающий водителя и инициирующий процедуры бортового компьютера, помогающие водителю замедлить автомобиль до полной остановки, не теряя контроля над ним при заносе.

Кроме того, события, которые представляют обнаруженные ситуации, могут быть объединены с другими событиями с целью выявления более сложных ситуаций. Например, в последней ситуации автомобиль двигался нормально, но возник разрыв шины, в результате чего автомобиль вылетел с дороги и ударился в дерево и водителя выбросило из автомобиля. Быстро обнаруживается серия различных ситуаций. Сочетание "blowOutTire", "zeroSpeed" и "driverLeftSeat" в очень коротком промежутке времени приводит к обнаружению новой ситуации: "occupantThrownAccident". Даже несмотря на отсутствие прямых измерений, которые могут окончательно определить, что водителя выбросило, или что произошел несчастный случай, комбинация событий позволяет обнаружить ситуацию и создать новое событие для обозначения обнаруженной ситуации. Это сущность сложного (или композитного) события. Оно сложное, потому что нельзя непосредственно обнаружить ситуацию; нужно сделать вывод, что ситуация произошла из комбинации других событий.

Типы[править | править вики-текст]

Большинство реализаций и концепций CEP можно классифицировать в двух категориях:

  1. CEP, ориентированные на вычисления
  2. CEP, ориентированные на обнаружение

Реализация CEP, ориентированная на вычисления, сконцентрирована на онлайн выполнении алгоритмов в ответ на данные событий, входящих в систему. Простой пример - непрерывное вычисление средного значения, основываясь на данных входящих событий.

CEP, ориентированная на обнаружение, сконцентрирована на обнаружении комбинаций событий, называемых паттернами событий или ситуациями. Простой пример определения ситуации — поиск определённой последовательности событий.

Интеграция CEP с управлением бизнес-процессом[править | править вики-текст]

Конечно, приложение новой технологии редко существует в изоляции. Естественным является внедрение CEP в управление бизнес-процессом [5]. Управление бизнес-процессом сильно сфокусировано на конечных бизнес-процессах с целью непрерывной оптимизации и подстройки к операционному окружению.

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

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

Роль CEP, ориентированных на вычисления, перекрывается технологией бизнес правил.

Академические исследования[править | править вики-текст]

  • Aurora (Brandeis University, Brown University and MIT)
  • Borealis (Brandeis University, Brown University and MIT)
  • Cayuga (Cornell University)
  • ETALIS (Forschungszentrum Informatik Karlsruhe and Stony Brook University)
  • Global Sensor Networks (EPFL)
  • NiagaraST (Portland State University)
  • PIPES (University of Marburg)
  • SASE (UC Berkeley/UMass Amherst)
  • STREAM (Stanford University)
  • Telegraph (UC Berkeley)
  • epZilla (University of Moratuwa)
  • ACAIA.org Acoustic Event Detection (AED) (Acoustic Computing for AI/AmI Applications)

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]

  1. D. Luckham, "The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems", Addison-Wesley, 2002.
  2. O. Etzion and P. Niblett, "Event Processing in Action", Manning Publications, 2010.
  3. Детали коммерческих продуктов и случаев использования
  4. J.P. Martin-Flatin, G. Jakobson and L. Lewis, "Event Correlation in Integrated Management: Lessons Learned and Outlook", Journal of Network and Systems Management, Vol. 17, No. 4, December 2007.
  5. C. Janiesch, M. Matzner and O. Mueller: "A Blueprint for Event-Driven Business Activity Management", Lecture Notes in Computer Science, 2011, Volume 6896/2011, 17-28, DOI: 10.1007/978-3-642-23059-2_4

Внешние ссылки[править | править вики-текст]