Модернизация программной реализации технологии динамического блочного доступа
В 2021 году были продолжены работы по совершенствованию программной реализации технологии динамического блочного доступа к данным для проведения их эффективной параллельной обработки. В процессе внедрения представленной технологии возникла необходимость в поддержке более широкого спектра параметров, описывающих задания на предоставление данных под обработку, касающихся как описания исходных данных в архивах, так и формата их предоставления. Была улучшена эффективность работы ключевых процедур формирования блоков данных и передачи их на обработку. Также были исправлены ошибки, связанные с округлением координат ячеек разбиения, которые проявились только при наборе очень большой статистики выполнения процедур.
Также в процессе внедрения технологии возникла необходимость в более полном протоколировании всех операций по подготовке и предоставлению требуемых наборов данных для обработки, а также фиксации статусов обработки каждого из предоставленных блоков данных. С этой целью была разработана специальная служебная база данных, структура основных таблиц которой приведена на рисунке 1. При этом в базу данных помещается информация не только о подготовленных блоках данных и параметрах их подготовки, но и об исходных данных, на основе которых они были получены. Это позволяет полностью контролировать как процесс подготовки, так и процессы их обработки и архивации. Особенно это актуально для сложных процедур обработки спутниковых данных, в рамках которых результаты обработки подготовленных блоков данных могут быть различными, в частности, данные могут быть отбракованы по степени облачности, недостаточному для используемого алгоритма обработки комплекта соседних блоков данных и качеству привязки. Таблица jobs содержит информацию об отдельных запусках процедур подготовки данных для указанного задания, таблица job_scenes – информацию об используемых для подготовки каждого из блока данных исходных сценах спутниковой информации. В таблицу job_bfiles протоколируется информация о всех подготовленных блоках данных и статусах их обработки, а таблица bfiles_scenes является связующей, и отражает тот факт, что для каждый из блоков может быть подготовлен на основе набора исходных сцен.
Рисунок 1 - Структура базы данных для протоколирования операций с блоками данных