Подольский Л.А. 07.04.2015 Система комплексного мониторинга з. Петра Великого как гетерогенная сеть сбора данных Различные форматы данных: стандартные (miniseed, NMEA) экспериментальные («самодельные» CSV, бинарные) собственные форматы датчиков Различные способы доступа к данным: доступ к файловому хранилищу – SMB, FTP, SSH получение данных по запросу (HTTP API) прямой доступ – (RS232) Различные владельцы данных – нет возможности навязать единые форматы и способы доступа Требования к гетерогенной сети сбора данных как к распределенной системе Ключевые характеристики взаимосвязаны: Масштабируемость Управляемость Отказоустойчивость Связанность (coupling) – отношение стоимости изменения одного компонента к минимальной объединенной стоимости изменений прочих компонентов системы, понадобившихся для восстановления констистентности системы. Или – показатель того, как много компоненты системы «знают» друг о друге Сильная и слабая связанность в гетерогенной сети сбора данных Качество Сильная связанность (tight coupling) Слабая связанность (loose coupling) Масштабируемость Добавление нового компонента к системе требует согласования с каждым компонентом системы (в худшем случае) Добавление нового компонента к системе не влечет за собой избыточной гармонизации Управляемость Расширение системы требует перенастройки модуля управления Служба управления динамически адаптируется к добавлению новых компонентов Отказоустойчивость Выход из строя центрального компонента парализует систему Выход из строя отдельного модуля не сказывается на работе остальных частей системы Методы достижения слабой связанности в распределенной системе 1. Частные подходы 1. 2. 3. 4. 5. Динамическое связывание (ex.: DNS vs static IP) Коммуникация через посредника (а не «точка-точка») Распределенный контроль (отсутствие центральных узлов) Сообщения с самоописанием Платформенная независимость 2. Концепции Сервис-ориентированная архитектура (SOA) 2. Интерфейс асинхронного обмена сообщениями 1. Интерфейс обмена сообщениями Схема работы протокола AMQP P – отправитель X – точка обмена - очередь сообщений C – получатель • Коммуникация между узлами осуществляется посредством асинхронной передачи сообщений • Доставка полностью контролируется промежуточным ПО • Минимальное знание компонентов о структуре системы - отдельному узлу известны только имена входного и выходного канала Примеры: протоколы AMQP, ActiveMQ, ØMQ Применительно к системе комплексного мониторинга з. Петра Великого Предложение – развернуть поверх существующей сетевой коммуникации «виртуальный канал» на основе протокола обмена асинхронными сообщениями Преимущества 1. 2. 3. Управляемость – возможность поддерживать актуальную информацию о состоянии сети сбора данных путем отслеживания единого канала Поддержка работы в режиме, максимально близком к реальному времени Слабая связанность - сведения о форматах данных и способах доступа к ним на источнике не должны учитываются получателем Модель гетерогенной сети сбора данных 𝑠1 𝑡1,1 ⋮ 𝑠2 𝑡2,1 ⋮ 𝑡2,𝑙 𝑑2 ⋮ ⋮ ⋮ ⋮ ⋮ 𝑠𝑛 𝑡𝑚,1 ⋮ 𝑡𝑚,𝑙 𝑑𝑟 𝑡1,𝑙 𝑑1 𝑁 = (𝑅, 𝑀) 𝑅 = 𝑆 ∪ T ∪ 𝐷 - множество представлений 𝑀 ⊆ (𝑟𝑖,𝑗 , 𝑟𝑙,𝑚 ) 𝑖, 𝑗, 𝑙, 𝑚 ∈ 𝐼 − множество переходов Примеры: Разбор (парсинг) : m0 = si → t 0 t 0 - закодированное в строку АСТ Сериализация: m1 = t 0 → t1 , t1 - бинарный формат сериализации, оптимизированный для передачи Реализация на примере сети сбора данных з. Петра Великого Файл 1 ⋯ Файл n Агент порта Буфер (MongoDB) Grid-хранилище Датчик Разбор Десериализация ОИАС Сериализация Система обработки Поток данных Формат датчика JSON AMQP – обмен Protobuf 9 Пример – оптический волномер Выходной сигнал – y-позиция элемента максимальной корреляции с образцом Пример – оптический волномер – анализ суточной записи обработчика Пример – отслеживание рыб на подводном видео 1. 2. 3. 4. 5. 6. Вычисление фона (AGMM) Обнаружение контуров Обновление списка трекеров (MeanShift) Расширение списка трекеров новыми контурами Удаление пересекающихся регионов Назад к п.1 Пример – отслеживание рыб на подводном видео 1. 2. 3. 4. 5. 6. Вычисление фона (AGMM) Обнаружение контуров Обновление списка трекеров (MeanShift) Расширение списка трекеров новыми контурами Удаление пересекающихся регионов Назад к п.1 Заключение В настоящий момент инфраструктура сбора данных в системе комплексного мониторинга з. Петра Великого частично переведена на режим потоковой передачи сообщений В частности в таком режиме обновляются Данные об уровне моря (источник «Росгидромет» - rtws.ru) Данные судовых наблюдений с НИС «Малахит», «Импульс» Ближайшие планы Подключение к инфраструктуре данных лазерных деформографов, цунамистанции, гравиметра Отработка технологии записи видеоданных с использованием интерфейса передачи сообщений