Skip To Content

Процессор Соединитель событий

Сводка

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

Примеры

  • Соединение данных о погоде в реальном времени с данными от стационарных датчиков может предоставлять дополнительную информацию об окружающей среде, в которой расположены датчики. Это полезно для мониторинга наводнений, ветра или других природных условий, которые могут мешать работе датчиков в режиме реального времени.
  • Выходные данные от соединения данных от двух движущихся объектов, получаемых в реальном времени из двух разных каналов, может использоваться для дополнительных самых актуальных сведений. Например, местоположение каждого движущегося объекта как часть одной новой записи события может использоваться для расчета направлений между этими объектами в режиме реального времени. Более подробно см. Процессор вычисления направлений.
  • Записи событий, полученные из Процессора детектора инцидентов, имеют другую схему по сравнению с исходными входными данными. С помощью процессора Соединитель событий обработанные записи событий из процессора Детектор инцидентов могут быть снова объединены с исходными входными данными для поддержания обеих схем в режиме реального времени.

Примечания по использованию

  • Для настройки процессора Соединитель событий выберите два определения GeoEvent и поля из каждой схемы, значения их которых будут использоваться для выполнения соединения. После того, как процессор получит запись события из каждого типа определения GeoEvent с совпадающим значением атрибута (или ключа) в полях соединения, будет создана новая запись события. Новая запись события будет совместно использовать объединенную схему двух определений GeoEvent, используемых в соединении.
  • Во время ожидания выполнения соединения процессор использует внутренний кэш для хранения записей событий. Процессор кэширует одну запись события каждого значения атрибута для каждого типа определения GeoEvent. Когда процессор получит запись события с наблюдавшимся ранее значением атрибута, старая запись события будет удалена. Таким образом при соединении двух записей событий будет использоваться только самая новая полученная запись события для заданного ключа значения атрибута.
  • Процессор Соединитель событий, подобно процессору Обогащение поля (сервис объектов), имеет настраиваемый размер кэша. Когда количество полученных записей событий превышает настроенный размер кэша, старые записи в кэше будут удалены для размещения новых.
  • Кэш для этого процессора хранится в памяти. Кэш создается заново, если в сервисе GeoEvent, который включает процессор Соединитель событий, публикуются изменения, или если перезапускается сервис ArcGIS GeoEvent Server. Остановка и запуск GeoEvent Service в GeoEvent Manager не вызывают повторного создания кэша.
  • При настройке процессора Соединитель событий необходимо указать, что следует делать с самыми последними кешированными записями событий из каждого определения GeoEvent после того, как они использованы для выполнения соединения событий. По умолчанию кэшированные записи событий будут удалены после использования, а процессор будет ожидать получения новых записей событий каждого типа для последующего соединения. Однако можно настроить процессор так, чтобы он сохранял кэшированные записи событий после объединения и создавал новую комбинированную запись событий при получении новой записи событий любого типа определения GeoEvent.
  • В качестве наилучшей практики настоятельно рекомендуется использовать процессор Сопоставление полей сразу после процессора Соединитель событий для коррекции схемы. Процессор Соединитель событий вносит несколько необходимых изменений в схему выходного определения GeoEvent, в том числе:
    • Существующие имена полей начинаются с имени их исходного Определения GeoEvent. Примерное поле с именем Altitude из первого определения GeoEvent A будет переименовано в A_Altitude в выходном определении GeoEvent. Это необходимо для того, чтобы отличить повторяющиеся имена полей от каждого исходного определения GeoEvent, используемого для соединения.
    • Существующие теги удаляются из выходного определения GeoEvent. Зарезервированные теги, такие как GEOMETRY и TRACK_ID, нельзя применять более чем к одному полю в определении GeoEvent.
    • Все поля из каждого исходного определения GeoEvent включаются в выходное определение GeoEvent.
  • Рекомендуется установить для Размера кэша значение, превышающее ожидаемое число уникальных записей событий для входного канала наибольшего объема. Процессор Соединитель событий очищает свой кэш после достижения максимального числа событий, поэтому, если значение Размер кэша установлено слишком низким, записи могут быть очищены пока не будет достигнуто успешное соединение. Кроме того, примите меры предосторожности, устанавливая слишком высокое значение Размера кэша, так как записи событий хранятся в памяти, а слишком высокое значение может привести к снижению производительности.

Параметры

ПараметрОписание

Имя

Описательное имя процессора, используемое для справочной информации в GeoEvent Manager.

Процессор

Имя выбранного процессора.

Определение первого GeoEvent

Имя первого определения GeoEvent. Первое определение GeoEvent используется для идентификации схемы первого набора записей событий в соединении реального времени. Записи событий, связанные с первым определением GeoEvent, будут присоединены к записям событий, связанным со вторым определением GeoEvent.

Поле соединения первого определения GeoEvent

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

Имя Поля соединения первого определения GeoEvent не обязательно должно совпадать с именем Полем соединения второго определения GeoEvent для выполнения соединения. Только значение в каждом поле соединения, которое используется в качестве общего ключа, должно быть одинаковым для успешного соединения.

Второе определение GeoEvent

Имя второго определения GeoEvent. Второе определение GeoEvent используется для идентификации схемы второго набора записей событий в соединении реального времени. Записи событий, связанные со вторым определением GeoEvent, будут присоединены к записям событий, связанным с первым определением GeoEvent.

Поле соединения второго определения GeoEvent

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

Имя Поля соединения второго определения GeoEvent не обязательно должно совпадать с именем Полем соединения первого определения GeoEvent для выполнения соединения. Только значение в каждом поле соединения, которое используется в качестве общего ключа, должно быть одинаковым для успешного соединения.

Имя нового определения GeoEvent

Имя, назначенное процессором для нового определения GeoEvent. Новое определение GeoEvent будет сочетать в себе схемы первого и второго определения GeoEvent.

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

Размер кэша

Задает максимальное количество записей о событиях, которые должны храниться в кэше. Максимальное количество кэшированных записей событий соответствует каждому определению GeoEvent. Например, если Размер кэша равен 2000, в кэше будут храниться 2000 записей событий, соответствующих первому определению GeoEvent, и 2000 записей событий, соответствующих второму определению GeoEvent. Записи событий кэшируются с использованием значения первого и второго полей соединения определения GeoEvent. Значение по умолчанию равно 1000.

Примечание:

После превышения установленного Размера кэша он будет очищен.

Очистить после соединения

Указывает, следует ли очищать соответствующие записи событий после успешного соединения. По умолчанию – Да.

  • Да – после успешного соединения между двумя записями событий каждая запись-участник будет удалена из кэша. Это гарантирует, что новая пара записей событий объединяется каждый раз, чтобы создать текущую запись события.
  • Да – После успешного соединения между двумя записями событий обе записи не удаляются из кэша. Последнее состояние каждой записи-участника по-прежнему будет сохраняться в кэше. Это гарантирует, что получение новой записи события любого типа исходного определения GeoEvent приведет к созданию объединенной записи события.

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

Советы и ограничения

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