Вариант с использованием серверов предварительной подготовки необходимых наборов исходных спутниковых данных
Наиболее перспективным вариантом организации подсистемы предоставления данных для проведения их распределенной параллельной обработки, на наш взгляд, является подготовка требуемых наборов исходных данных на серверах предварительной обработки данных. В качестве таких серверов могут быть использованы сами сервера хранения данных, а также специально выделенные для этой задачи сервера, имеющие высокую скорость доступа к файлам данных в архивах. На каждом из этих серверов реализуется универсальный сервис для формирования исходных наборов спутниковых данных, функционирующий по протоколу HTTP. Реализация его аналогична реализации описанного выше модуля для подготовки наборов данных по спутниковым сеансам и также основана на использовании ПО GDAL.
Принципиальная схема построения подсистемы блочного доступа к файлам для проведения их распределенной параллельной обработки при использовании рассматриваемого варианта приведена на рисунке 4.1.4.1. Для формирования заданий на проведение обработки используется универсальная процедура, выполняемая на серверах диспетчеризации. Но в этом случае, формируемые на серверах диспетчеризации обработки задания содержат не пути к файлам, а HTTP-запросы на получение готовых наборов данных по спутниковым сеансам. С целью равномерного распределения нагрузки по имеющимся серверам хранения и выделенным для предварительной обработки данных серверам в данной схеме используется сервер диспетчеризации запросов на получение наборов исходных данных, который перенаправляет (операция redirect) запросы на один из серверов подготовки данных. При этом реализуется алгоритм балансировки, позволяющий в приоритетном режиме направлять запросы непосредственно на те сервера, на которых непосредственно находятся исходные файлы данных, что позволяет повысить эффективность выполнения предварительной обработки данных и уменьшает сетевой трафик. Если требуемые для обработки исходные файлы находятся в локальной сети, то задания содержат запросы к локальным серверам диспетчеризации запросов. Если же эти файлы находятся в другом информационном центре, то они адресуются на расположенный в этом центре сервер балансировки с использованием специальной схемы проксирования запросов, в текущей реализации использующей возможности ПО nginx.
Рисунок 4.1.4.1. - Схема организации блочного доступа к данным с использованием серверов предварительной подготовки необходимых наборов спутниковых данных.
На серверах обработки однотипно устанавливается универсальный программный модуль для многопотокового получения исходных наборов данных по сеансам, в текущей реализации построенный на базе использования свободно распространяемого ПО Aria2c. Он предназначен для эффективного скачивания исходных наборов данных по спутниковым сеансам путем проведения запросов к локальным или внешним серверам диспетчеризации запросов на получение данных.
Благодаря использованию универсального сервиса подготовки исходных наборов спутниковых данных представленный вариант организации доступа к данным для проведения их обработки позволяет максимально упростить разработку и внедрение новых алгоритмов обработки различных типов спутниковых данных.