Процессор Соединитель событий используется для объединения данных из двух записей событий с различными определениями GeoEvent при помощи ключа сопоставления. Процессор создает новое определение GeoEvent, которое включает атрибутивные поля из каждого указанного определения GeoEvent. Когда этот процессор получает запись события от каждого определения GeoEvent, он копирует самые последние данные из каждой записи события и отправляет слитое (соединенное) событие как новую запись события.
Примеры
Ниже приведены примеры использования Процессора Соединитель событий:
- Соединение данных о погоде в реальном времени с данными от стационарных датчиков может предоставлять дополнительную информацию об окружающей среде, в которой расположены датчики. Это полезно для мониторинга наводнений, ветра и других природных условий, которые могут мешать работе датчиков в реальном времени.
- Выходные данные от соединения данных от двух движущихся объектов, получаемых в реальном времени из двух разных каналов, может использоваться для дополнительных самых актуальных сведений. Например, местоположение каждого движущегося объекта как часть одной новой записи события может использоваться для расчета дирекционного угла между этими объектами в реальном времени. Более подробно см. в разделе Процессор Калькулятор курса.
- Записи событий, полученные из Процессора детектора инцидентов, имеют другую схему по сравнению с исходными входными данными. С помощью процессора Соединитель событий обработанные записи событий из процессора Детектор инцидентов могут быть снова объединены с исходными данными для поддержания обеих схем в реальном времени.
Примечания по использованию
При работе с процессором Соединитель событий необходимо учитывать следующее:
- Для настройки процессора Соединитель событий выберите два определения GeoEvent и поля из каждой схемы, значения их которых будут использоваться для выполнения соединения. После того, как процессор получит запись события из каждого типа определения GeoEvent с совпадающим значением атрибута (или ключа) в полях соединения, будет создана новая запись события. Новая запись события будет совместно использовать объединенную схему двух определений GeoEvent, используемых в соединении.
- Во время ожидания выполнения соединения процессор использует внутренний кэш для хранения записей событий. Процессор кэширует одну запись события каждого значения атрибута для каждого типа определения GeoEvent. Когда процессор получит запись события с наблюдавшимся ранее значением атрибута, старая запись события будет удалена. Таким образом, при соединении двух записей событий будет использоваться только самая последняя полученная запись события для данного ключа атрибутивного значения.
- Процессор Соединитель событий, подобно процессору Обогащение поля (сервис объектов), имеет настраиваемый размер кэша. Когда количество полученных записей событий превышает настроенный размер кэша, старые записи в кэше будут удалены для размещения новых.
- Кэш для этого процессора хранится в памяти. Этот кэш будет создан заново, если в GeoEvent Service с процессором Соединитель событий будут внесены изменения, или если сервис 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 не поддерживаются.