Разработка сервисов для эффективного предоставления доступа к временным сериям данных сверхбольших распределенных архивов
В настоящее время для исследований Земли из космоса и мониторинга различных процессов и явлений доступны глобальные и протяженные во времени архивы спутниковых данных, такие как, например, архивы ЦКП «ИКИ-Мониторинг». Существующие инструменты позволяют «на лету» получать различные информационные продукты на основе данных архивов, а также, рассчитывать историю необходимых для мониторинга характеристик для отдельных объектов наблюдений в «офлайн» режиме. Кроме них, однако, востребованными являются сервисы, позволяющие «на лету» получать данные по большому количеству разновременных наблюдений в произвольных точках Земной поверхности при решении целого ряда отдельных задач спутникового мониторинга. Опыт эксплуатации таких сервисов спутникового мониторинга показал востребованность инструмента анализа данных, представляющих протяженные временные серии в виде графиков. При этом реализованные до недавнего времени сервисы в основном были ориентированы на работу с заранее сформированными рядами данных для фиксированных объектов наблюдения. В то же время, существует потребность в эффективных инструментах, позволяющих «на лету» получать и анализировать временные серии большого числа наблюдений в произвольных точках Земной поверхности. Такие серии данных могут быть сформированы как на основе частых наблюдений (с периодичностью в несколько минут), так и более редких наблюдений (с периодичностью в недели, месяцы или годы), но при этом за много лет.
До недавнего времени реализованные в ИКИ РАН подходы для формирования больших временных серий данных были недостаточно эффективны, что приводило к большому времени ожидания результатов, неприемлемому для использования этих данных для онлайн-инструментов работы с данными. Для реализации таких инструментов необходима разработка специализированных сервисов и инструментов, ориентированных на быструю обработку запросов пользователей на формирование рядов данных и их визуализации, позволяющих «на лету» получать и анализировать значения необходимых продуктов по любой точке поверхности в границах покрытия архивов. Для создания этих инструментов потребовалась разработка новых архитектуры и программного обеспечения, позволяющих максимально быстро получать временные серии данных, строить по ним информационные продукты и осуществлять их визуализацию.
Новые сервисы для более быстрого получения временных серий данных интегрированы в существующую схему работы с данными распределенных архивов спутниковых данных ЦКП «ИКИ-Мониторинг», включая программные интерфейсы и сервисы анализа данных. Одной из ключевых особенностей технологии UNISAT, на базе которой реализованы распределенные архивы, является поддержка механизма «виртуальных» информационных продуктов, а именно, продуктов, которые формируются по запросу пользователя на основе имеющихся в архивах данных и заданных правил их формирования. Этот механизм позволяет реализовать доступа пользователей к широкому спектру самых разных информационных продуктов, при том что в архивах в основном находятся только данные базового уровня обработки.
Основными задачами новых сервисов для получения временных серий данных являются:
- нормализация, калибровка и вычисление виртуальных продуктов по большим рядам исходных данных на «лету» как в указанной точке, так и в ее окрестности;
- быстрое получение необходимого комплекта метаданных для всей серии данных, включая информацию о файлах данных и правилах построения виртуальных продуктов;
- постановка заданий на формирование временных рядов, запуск процедур получения временных серий и получение результатов (диспетчеризация) на серверах информационных узлов распределенных архивов;
- формирование единого ряда, состоящего из данных, расположенных в разных узлах распределенного архива;
- кэширование результатов чтения временных рядов из исходных файлов для минимизации повторных обращений к данным.
Для реализации вышеперечисленных задач с учетом общей асинхронной «онлайн» схемы взаимодействия пользовательских интерфейсов с сервисами данных были реализованы архитектура системы и необходимые программные блоки. Схема основных блоков и их взаимодействия представлена на рисунке 1. Синим цветом показаны блоки, не требующие доработки, зелеными – блоки, требующие расширения функционала, а оранжевым – вновь создаваемые блоки.
Для реализации сервисов были созданы следующие новые блоки и компоненты, необходимые для решения задач эффективного доступа к временным сериям:
- блок диспетчеризации заданий чтения серий TASK JOBS;
- блок быстрого получения наборов метаданных временных серий;
- блок быстрого получения значений исходных данных и вычисления продуктов;
- блоки кэширования данных в составе как блоков чтения, так и в блоках, получающие «виртуальные» продукты на лету;
- специализированные интерфейсы и плагины для построения графиков по данным временных серий данных, включая модули формирования заданий на получение временных серий данных в программной инфраструктуре графиков.
Существенной доработке подверглись следующие уже реализованные программные решения:
- модули блоков построения интерфейсов работы с графиками для интеграции данных UNISAT (включая необходимые описания) и создаваемой инфраструктурой получения рядов данных;
- инструмент работы с «показателями» для построения по ним временных серий;
- блоки картографических интерфейсов сервисов спутникового мониторинга.
Рисунок 1 - Общая схема структуры и блоков сервисов доступа к временным сериям данных
Реализация асинхронной «онлайн»-схемы работы с сервисом требует универсального инструмента, позволяющего по запросу пользователя сформировать задания на получение требуемых рядов данных в узлах распределенного архива. Для решения этой задачи была использована новая система управления комплексными задачами обработки данных TASK JOBS.
Быстрое получение наборов метаданных временных серий необходимо, в первую очередь, при работе с протяженными рядами данных, насчитывающими более десятков тысяч отдельных элементов, с которыми существующие «поэлементные» схемы становятся крайне неэффективными и затратными по времени выполнения. Метаданные элементов описывают не только коэффициенты калибровки и нормализации данных, но и варианты построения продукта и правила (формулы) его вычисления из базовых составляющих. Следует отметить, что не для всех имеющихся в архивах ЦКП «ИКИ-Мониторинг» рядов продуктов может быть применен одинаковый набор метаданных – в этом случае необходимо использовать оптимизированные варианты поэлементного запроса. В рамках создания блока для быстрого получения наборов метаданных временных серий были реализованы программные модули, работающие в инфраструктуре архивов, построенных по технологии UNISAT, обеспечивающие формирование комплектов метаданных, для каждого задания в очереди системы TASK_JOBS.
Ядром системы сервисов для эффективного предоставления доступа к временным сериям является блок быстрого получения значений продуктов в указанных точках или заданных областях. Блок поддерживает необходимый для работы функционал, такой как:
- получение задания из очереди заданий блока диспетчеризации;
- запрос и получение метаданных и информации о доступе к исходным файлам;
- пере-проекцию координат запроса в конкретные проекции исходных данных;
- быстрое извлечение значений в пикселях файлов исходных данных в точке и ее окрестности;
- применение коэффициентов коррекции, нормировки в соответствии с формулами продукта;
- применение вычисление значений для вычисляемых по исходным данным продуктов.
Кроме этого, модули блока получения значений предусматривают средства оптимизации выполнения запросов, такие как параллельное чтение с учетом параметров вычислительных средств узла, а также оптимизации, связанные с получением данных разных каналов в общих исходных файлах. Информация о ходе обработки и ее результатах поступает в систему диспетчеризации обработки TASK JOBS.
Кэширование (сохранение результатов выполнения заданий) данных для их повторного использования позволяет использовать уже полученные временные серии данных или их подмножества. Кеширование данных реализовано для эффективного формирования временных серий как на серверном уровне (уровне исходных данных) – в блоке диспетчеризации, так и на уровне «клиента» - базовыми средствами интерфейса построения графиков.
В спутниковых сервисах, использующих возможности ЦКП «ИКИ-Мониторинг», для работы с временными сериями, сформированными в «оффлайн»-сценарии подготовки данных, используются специализированные инструменты анализа рядов данных в виде графиков. Архитектура построения данных инструментов обеспечивает их гибкость при решении различных задач и возможность реализации на их основе сервисов для эффективной работы с временными сериями данных сверхбольших распределенных архивов спутниковых данных. Для создания инструмента для работы с временными сериями по данным архивов ЦКП были реализованы специальные плагины для работы с рядами данных UNISAT и отображения сведений о продуктах, включая средства формирования вычисляемых продуктов «на лету». В сценарии асинхронной «онлайн»-работы с данными инструменты построения графиков вызываются из картографических интерфейсов с указанием необходимых для исследования координат и продуктов обработки спутниковых данных. Инструмент графиков, взаимодействуя с блоком диспетчеризации, каталогом показателей запрашивает и получает необходимые для вычисления продуктов и отображения данные временных серий, позволяя пользователю оперативно управлять как диапазонами отображения данных, так и производными статистическими характеристиками.
В качестве примера использования созданного сервиса можно привести инструмент для работы с данными Himawari-8 в целях ретроспективного анализа и мониторинга активности вулканов в информационной системе дистанционного мониторинга активности вулканов Камчатки и Курил «VolSatView». Данные геостационарного аппарата Himawari-8 характеризуются высокой частотой наблюдений – каждые 10 минут. Созданные сервисы работы с временными сериями позволяют пользователям системы «VolSatView» в настоящее время «на лету» получать графики значений в произвольной точке в зонах мониторинга вулканической активности. Пример графика по временной серии наблюдений инфракрасным каналом прибора AHI зоны вулкана Карымский в приведен на рисунке 2. График, содержащий более 150 тысяч наблюдений за последние три года, был сформирован за 24 минуты на существующем оборудовании. По значениям температуры пользователи системы могут выявлять как не исследованные ранее события (извержения), так и исследовать подтвержденные другими спутниковыми системами.
Рисунок 2 - Временная серия наблюдений зоны извержения вулкана Карымский