Модернизация подсистемы анализа серий данных, используемой в информационных системах семейства «Созвездие-ВЕГА»
В настоящее время архивы ЦКП «ИКИ-Мониторинг» содержат многолетние ряды широкого спектра различных типов спутниковых данных. На основе использования этих данных в интерфейсах систем семейства «Созвездие-ВЕГА» реализовано большое количество различных инструментов, позволяющих отслеживать многолетнюю динамику различных объектов наблюдения и использовать полученные результаты для самых разных исследовательских и прикладных задач, таких как прогнозирование урожайности сельскохозяйственных угодий. Важное место среди таких инструментов занимает подсистема предоставления временных серий данных по заданной точке или объекту мониторинга, заданному полигоном, в виде разных типов графиков.
В 2023 г. функционал подсистемы анализа временных данных был существенно переработан. Полноценное внедрение новой системы управления комплексными задачами по обработке данных TASK_JOBS и многопоточных сервисов запроса временных серий данных позволило решить проблему продолжительного ожидания данных. Была поставлена и в основном решена задача обеспечения доступа пользователей к инструментам анализа временных рядов, полученных по всем имеющимся в архивах ЦКП «ИКИ-Мониторинг». Так как разные типы данных существенно отличаются по схемам хранения и построения, для реализации новых возможностей потребовалась существенная модернизация и унификация уже существующих программных модулей и разработка новых библиотек и программных компонент.
В 2024 г. активно велись работы по двум основным направлениям: оптимизация блока получения серий наблюдений, и совершенствование интерфейсов для предоставления их в виде разных типов графиков.
В рамках блока получения серий наблюдений была реализована возможность получения ряда значений по выбранной сцене вдоль указанной ломаной линии. Для этого был реализован специализированный программный модуль «разрезы». При работе модуля получаемая на вход ломаная разбивается на отрезки, которые затем последовательно перепроецируются и обрабатываются как независимые части на основе доработанного модуля, используемого для формирования изображений в картографическом интерфейсе. На выходе получаются двумерный массив с высотой 1 пиксель и длиной соответствующего отрезка. В конце производится склейка полученных фрагментов и все необходимые вычисления, кроме калибровки для визуализации. Массив значений возвращается в модуль интерфейса для работы с графиками на основе функционала системы управления комплексными задачами по обработке TASK_JOBS.
Также в 2024 г. были продолжены работы по совершенствованию модуля для получения временных серий данных по ряду спутниковых изображений. Благодаря внедрению «пакетного» режима удалось существенно ускорить время получения таких серий данных по виртуальным продуктам, т. е. продуктам, которые формируются по запросу на основе имеющихся в архивах продуктов с использованием описанных правил. Новый режим используется для виртуальных продуктов, которые получаются по одним и тем же правилам для всех экземпляров. В этом случае, операция по формированию правил выполняется один раз для всех формируемых экземпляров виртуальных продуктов, а не отдельно для каждого из них. Также был доработан функционал по отмене указанных заданий по вычитыванию значений из файлов, позволяющий высвободить ресурсы в том случае, если пользователь решил, что такой запрос ему уже не нужен. Такое, в частности, может быть, когда пользователь решил изменить параметры запроса, в то время как предыдущий запрос еще не был выполнен.
Модуль получения временных серий наблюдений реализован в виде сервиса, который обрабатывает все поступающие задания в соответствии с их приоритетом. Обработка любого задания состоит из нескольких шагов:
- Получение очередного задания из системы TASK_JOBS;
- Запрос к сервисной библиотеке на получение информации о запрашиваемом продукте, в частности, позволяющий определить, можно ли производить операцию в «пакетном» режиме;
- Получение из базы данных списка спутниковых продуктах, которые необходимо использовать, с указанием всех необходимых атрибутов;
- Параллельная обработка отдельных частей полученного списка;
- Сборка итогового результата и направление его в систему TASK_JOBS.
Также в 2024 г. был реализован режим предварительной подготовки заданий на получение временных серий данных. В этом случае для заданий в очереди параллельно процессу обработки текущего задания производятся запросы на получение метаданных (в первую очередь списки требуемых продуктов). Это в итоге позволяет сократить время выполнения заданий, когда до них дойдет очередь на выполнение.
В текущем году также было реализовано детальное протоколирование процесса выполнения заданий на вычитывание временных серий данных. Это существенно упрощает процессы выявления причин задержек в получении данных и поиска ошибок. В частности, получаемая таким образом информация используется для выбора оптимального числа параллельных потоков и других параметров выполнения процедур. Повышена безотказность, например, при возникновении критических проблем с заданием (отсутствие данных, или зависание чтения файла), система переходит к выполнению следующего. Также добавлен режим корректного выключения сервиса.
Работы по совершенствованию интерфейсов доступа к временным сериям данных в виде графиков велись с целью повышения их удобства и функциональности. В частности, одной из важнейших задач стало обеспечение совместного анализа различных продуктов на одном графике в удобном для пользователей представлении. Ставилась задача сделать работу интерфейсов интуитивно понятной для широкого круга пользователей. С этой целью были реализованы следующие улучшения:
- Упрощенная навигация по интерфейсу;
- Улучшенная визуализация описания параметров;
- Расширенные настройки режимов отображения данных на графиках;
- Интеграция с данными из других источников;
- Использование сжатия данных для улучшения производительности;
- Возможность проведения анализа данных непосредственно в интерфейсе.
По аналогии с картографическим интерфейсом, в рамках подсистемы доступа к временными сериям данных в виде графиков реализован набор вкладок, предназначенных для работы с одним из типов спутниковой информации, содержащейся в архивах ЦКП «ИКИ»: данные высокого разрешения, данные среднего разрешения, композитные данные. Наиболее сложным с точки зрения реализации интуитивно понятного для пользователя интерфейса оказалась вкладка для работы с композитными данными. Это, в первую очередь, связано с большим количеством таких продуктов (около 450), работа с которыми реализована в виде иерархического списка с 4 уровнями вложенности. В частности, в процессе реализации новой версии этой вкладки было принято решение, что для продуктов, представляющих из себя синтез нескольких каналов (например, RGB) каждый канал будет представлен в виде отдельной кривой на графике. Выбор композитных продуктов осуществляется путем последовательного задания следующих критериев: спутник-приборы, тип композитов, скважность композитов, конкретный продукт. Также в интерфейсе реализована легенда слоев, позволяющая узнать о том, какие продукты отображаются на графике, а также при необходимости выключить или обратно включить какие-то из них. Пример использования интерфейса для отображения временных серий сразу нескольких продуктов приведен на рисунке 1.

Рисунок 1 — Пример отображения на одном графике ряда кривых, соответствующих различным композитным продуктам
В 2024 г. в интерфейсе был реализован новый режим построения графиков по значениям, полученным по выбранному изображению вдоль указанной пользователем в картографическом интерфейсе ломаной линии. За счет нескольких шкал по оси ординат графический интерфейс позволяет сравнивать несколько продуктов на одном графике в оптимальном масштабе. Ось абсцисс для всех продуктов общая и отображает полное расстояние вдоль ломаной, начиная от первой точки. Для передачи возросшего объема данных из картографического интерфейса в интерфейс построения графиков были задействованы базы данных браузера (Local storage и Session storage), что позволило обеспечить приемлемую скорость загрузки метаданных для интерфейса построения требуемых графиков.