Общее описание ^^^^^^^^^^^^^^ Логический модуль :term:`ПОДД-адаптер - Модуль MPPR` является частью :term:`ПОДД-адаптер` и предназначен для чтения данных в многопоточном режиме (*massively parallel processing*, :term:`MPP`). **ПОДД-адаптер - Модуль MPPR** предназначен для следующих задач: 1. Многопоточное параллельное чтение данных. 2. Отправка ответа с результатом запроса в :term:`Агент ПОДД`. 3. Удаление временных таблиц, созданных на основе табличных параметров. Обмен сообщениями между **ПОДД-адаптером** и **ПОДД-адаптером - Модуль MPPR** происходит через топик ``mppr.query``. Формат обмена электронными сообщениями описан в разделе :ref:`podd-specification` Технического описания программы. Общая схема взаимодействия ########################## .. _schema_podd_mppr: .. figure:: /_static/uml/modules/podd_mppr.png :align: center :alt: Взаимодействие через Модуль MPPR Взаимодействие через Модуль MPPR Процесс обработки запроса через Модуль MPPR ############################################ 1. Получатель данных отправляет через ПОДД запрос к Витрине данных. 2. Запрос поступает через **Агента ПОДД** в **ПОДД-адаптер**. 3. Если формат обработки данных предполагает :term:`MPP`, то **ПОДД-адаптер** отправляет запрос через топик ``mppr.query`` в **ПОДД-адаптер - Модуль MPPR**. 4. **ПОДД-адаптер - Модуль MPPR** создает временную таблицу (по результатам запроса) и временный топик с запросом для Витрины. 5. Витрина считывает топик, обрабатывает запрос, формирует на него ответ. 6. **ПОДД-адаптер - Модуль MPPR** получает ответ и выкладывает полученные данные во временную таблицу. 7. **ПОДД-адаптер** считывает ответ из временной таблицы и отправляет данные в **Агент ПОДД**. 8. **Агент ПОДД** отправляет полученный ответ через :term:`ПОДД` Получателю данных. 9. **ПОДД-адаптер - Модуль MPPR** удаляет временный топик и таблицу.