Структура Компонента «Витрина данных» ========================================== .. _components: Модули Компонента «Витрина данных» ------------------------------------------------ Компонент имеет модульную архитектуру и построена на базе отдельных сервисов (включая разработки сторонних производителей). Общую схему взаимосвязей сервисов можно просмотреть в разделе :ref:`system_architecture`. .. tab-set:: .. tab-item:: Составные части конфигурации Стандарт **Основные составные части** - Prostore (dtm-query-execution-core) - основной модуль Компонента с открытым исходным кодом, обеспечивает единый интерфейс к хранилищу разнородных данных. Определяет структуры данных, запись и чтение данных Витрины. Позволяет работать со входящими в состав хранилища СУБД одинаковым образом, используя единый синтаксис запросов SQL и единую логическую схему данных. Бэкапирование витрин выполняется средствами Prostore. Prostore включает следующие модули: - Сервис исполнения запросов - анализирует и исполняет SQL-запросы; предоставляет REST API для JDBC-драйвера. В состав сервиса входит коннектор Kafka-Jet writer, записывающий данные из брокера сообщений Kafka в PostgreSQL; - JDBC-driver - позволяет подключиться к Prostore и выполнять SQL запросы по JDBC протоколу. `JDBC-driver `_ поставляется совместно с Prostore в релизе Компонента «Витрина данных»; - Слой адаптеров - общее название модулей Компонента, которые обеспечивают подключение к СМЭВ4, как информационной системы участника взаимодействия. В зависимости от предназначения логические модули обеспечивают загрузку запросов из очереди `ИС УВ `_ в `СМЭВ4 `_ , `СМЭВ3 `_, формирование и отправку ответов в СМЭВ4, СМЭВ3, инициативное формирование уведомлений об изменении данных в Компоненте «Витрина данных», отправку уведомлений в СМЭВ4, регистрацию реплики данных ИС УВ, подписки на репликацию и поддержку реплики в актуальном состоянии. **Набор модулей опционален, определяется по задачам внедрения конкретной Витрины!** **Модули, входящие в состав слоя адаптеров** - СМЭВ3-адаптер - обеспечивает информационное взаимодействие через единый электронный сервис единой системы межведомственного электронного взаимодействия (далее – СМЭВ). - Сервис формирования документов - предназначен для обеспечения возможности формирования документов, в формате XML и PDF, на основе предварительно подготовленных pebble-шаблонов, с возможностью добавления к сформированным документам электронной подписи. - CSV-Uploader - программный модуль Витрины данных, предназначен для загрузки и выгрузки csv-файлов со структурой Витрины и csv-шаблонов с демо-шаблонами структуры Витрины, а также просмотра Журнала операций. - BLOB-адаптер - программный модуль Витрины данных, предназначен для получения доступа из Витрины данных к BLOB-объектам ведомства (BLOB-объект - это специальный тип двоичных данных, предназначенный для хранения бинарных файлов: изображений, скан-копий документов, текстовых файлов и т.д.). - DATA-Uploader - Модуль исполнения асинхронных заданий обеспечивает обработку очереди файлов, используя следующие функциональные особенности: - обработка очереди файлов производится циклами; - очередь файлов работает в режиме упорядочения процесса по принципу «первым пришел – первым обслужен»; - каждый элемент в очереди файлов содержит UUID задания, имя витрины и таблицы, содержимое CSV-файла; - файлы в очереди могут относится к разным витринам и/или разным таблицам одной витрины. - REST-Uploader - Модуль асинхронной загрузки данных из сторонних источников реализован для обеспечения параллельной загрузки данных с независимым масштабированием REST интерфейса. - Стандартный загрузчик (Standard-loader) - Модуль управления данными (загрузка и/или удаление) в Витрине данных. - Counter-provider - Сервис генерации уникального номера (Counter-Provider) позволяет создавать неповторяющиеся уникальные порядковые номера для сквозной нумерации файлов в сервисе формирования документов Компонента «Витрина данных» конфигурации установки Стандарт. - СМЭВ QL Сервер - СМЭВ QL Сервер — приложение для конфигурирования и запуска типового API извлечения данных из хранилищ под управлением типового ПО «Витрина данных» от Минцифры (Ядро Prostore 6.1+). СМЭВ QL Сервер обладает характеристиками: - поддержка множественных источников данных Prostore; - выбор источника по условиям запроса; - защита атрибутов модели данных по их предоставлению; - автоматический параллелизм запросов к Prostore. - Агент проверок - используется для проверки качества данных, размещенных в Компоненте «Витрина данных»; - DTM-Uploader - Модуль загрузки/удаления данных. **Дополнительные сервисы** Программное обеспечение не входит в поставку Компонента: - Агент СМЭВ4 - программное обеспечение, обеспечивающее сопряжение Компонента «Витрина данных» и ИС УВ с Ядром СМЭВ4. Связь сервисов реализована через HTTP. - СУБД Postgres (Postgres Pro) - Промышленная система управления базами данных для высоконагруженных систем. Официальный сайт разработчика приложения: https://postgrespro.ru/. Совместимость СУБД Postgres (Postgres Pro) с типовым ПО «Витрина Данных» в зависимости от версии указана на `портале ЕСКС `_. - Docker - программное обеспечение для автоматизации развёртывания и управления Компонента в виртуальных средах с поддержкой контейнеризации. Официальный сайт разработчика приложения: https://www.docker.com/. - Elasticsearch - система поиска и аналитики, позволяет быстро в режиме реального времени хранить, искать и анализировать большие объемы данных и сохраняет их для Graylog. Для передачи сообщений в Graylog использует Filebeat. Официальный сайт разработчика приложения: https://www.elastic.co/elasticsearch/. - Filebeat - агент на сервере для отправки различных типов оперативных данных в Elasticsearch. Официальный сайт разработчика приложения: https://www.elastic.co/elasticsearch/. - Grafana - инструмент реализован в виде панели управления и мониторинга и позволяет визуализировать системные события Компонента на базе собираемых метрик. Официальный сайт разработчика приложения: https://grafana.com/docs/. - Graylog - программное обеспечение для управления лог-файлами. Официальный сайт разработчика приложения: https://www.graylog.org/; - МongoDB - база данных Graylog. Официальный сайт разработчика приложения: https://www.mongodb.com/. - Node_exporter - процессы, обеспечивающие сбор и передачу системных метрик серверу Prometheus. Также, используется для сбора метрик модулей СМЭВ4-адаптера и CSV-uploader см. https://github.com/prometheus/node_exporter. - Prometheus - используется как система мониторинга системных ресурсов Компонента. Связь сервисов реализована через HTTP. Данные хранятся локально, в собственной TSBD базе, индексы хранятся в LevelDB. Метрики представляют собой time-series данные. Каждая метрика состоит из имени метрики, временной метки и пары «ключ – значение». Визуализация осуществляется через подключение к Grafana. Официальный сайт разработчика приложения: https://prometheus.io/. .. tab-item:: Составные части конфигурации Лайт **Основные составные части** - Prostore (dtm-query-execution-core) - основной модуль Компонента с открытым исходным кодом, обеспечивает единый интерфейс к хранилищу разнородных данных. Определяет структуры данных, запись и чтение данных Витрины. Позволяет работать со входящими в состав хранилища СУБД одинаковым образом, используя единый синтаксис запросов SQL и единую логическую схему данных. Prostore включает следующие модули: - Сервис исполнения запросов — анализирует и исполняет SQL-запросы; предоставляет REST API для JDBC-драйвера. В состав сервиса входит коннектор Kafka-Jet writer, записывающий данные из брокера сообщений Kafka в PostgreSQL; - JDBC-driver - позволяет подключиться к Prostore и выполнять SQL запросы по JDBC протоколу. `JDBC-driver `_ поставляется совместно с Prostore в релизе Компонента «Витрина данных»; - Слой адаптеров - общее название логических модулей Компонента, которые обеспечивают подключение к СМЭВ4, как информационной системы участника взаимодействия. В зависимости от предназначения логические модули обеспечивают загрузку запросов из очереди `ИС УВ `_ в `СМЭВ4 `_ , `СМЭВ3 `_, формирование и отправку ответов в СМЭВ4, СМЭВ3, инициативное формирование уведомлений об изменении данных в Компоненте «Витрина данных», отправку уведомлений в СМЭВ4, регистрацию реплики данных ИС УВ, подписки на репликацию и поддержку реплики в актуальном состоянии. **Модули, входящие в состав слоя адаптеров** - CSV-Uploader - программный модуль Витрины данных, предназначен для загрузки и выгрузки csv-файлов со структурой Витрины и csv-шаблонов с демо-шаблонами структуры Витрины, а также просмотра Журнала операций. - DATA-Uploader - Модуль исполнения асинхронных заданий обеспечивает обработку очереди файлов, используя следующие функциональные особенности: - обработка очереди файлов производится циклами; - очередь файлов работает в режиме упорядочения процесса по принципу «первым пришел – первым обслужен»; - каждый элемент в очереди файлов содержит UUID задания, имя витрины и таблицы, содержимое CSV-файла; - файлы в очереди могут относится к разным витринам и/или разным таблицам одной витрины. - REST-Uploader - Модуль асинхронной загрузки данных из сторонних источников реализован для обеспечения параллельной загрузки данных с независимым масштабированием REST интерфейса. - Стандартный загрузчик (Standard-loader) - Модуль управления данными (загрузка и/или удаление) в Витрине данных. - Агент проверок - используется для проверки качества данных, размещенных в Компоненте «Витрина данных». **Дополнительные сервисы** Программное обеспечение не входит в поставку Компонента: - Ansible - платформа удалённого управления конфигурациями программного обеспечения, предназначенная для упрощения развёртывания |Product Lite| через создание специальных сценариев. Официальный сайт разработчика приложения: https://www.ansible.com/. - СУБД Postgres (Postgres Pro) - Промышленная система управления базами данных для высоконагруженных систем. Официальный сайт разработчика приложения: https://postgrespro.ru/. Совместимость СУБД Postgres (Postgres Pro) с типовым ПО «Витрина Данных» в зависимости от версии указана на `портале ЕСКС `_. - Docker - программное обеспечение для автоматизации развёртывания и управления Компонента в виртуальных средах с поддержкой контейнеризации. Контейнер позволяет производить изолированный запуск ОС с подключённой файловой системой из образа, изолированно разворачивать приложения и реализовывать микросервисы. Настройки среды хранятся в GitHub, обеспечивая единую точку управления конфигурациями. Может быть использован для для развёртывания тестового окружения |Product Lite|, без прерывания работы сервисов в продуктовой среде. Официальный сайт разработчика приложения: https://www.docker.com/. - Elasticsearch - утилита полнотекстового поиска и аналитики, которая позволяет быстро в режиме реального времени хранить, искать и анализировать большие объемы данных и сохраняет их для Graylog. Для передачи сообщений в Graylog использует Filebeat. Официальный сайт разработчика приложения: https://www.elastic.co/elasticsearch/. - Filebeat - агент на сервере для отправки различных типов оперативных данных в Elasticsearch. Официальный сайт разработчика приложения: https://www.elastic.co/elasticsearch/. - Grafana - инструмент реализован в виде панели управления и мониторинга и позволяет визуализировать системные события Компонента на базе собираемых метрик. Официальный сайт разработчика приложения: https://grafana.com/docs/. - Graylog - программное обеспечение для управления лог-файлами. Официальный сайт разработчика приложения: https://www.graylog.org/. - МongoDB - база данных Graylog. Официальный сайт разработчика приложения: https://www.mongodb.com/. - Node_exporter — процессы, обеспечивающие сбор и передачу системных метрик серверу Prometheus. Также, используется для сбора метрик СМЭВ4-адаптера и CSV-uploader см. https://github.com/prometheus/node_exporter. - Portainer - web-приложение для управления docker-контейнерами. Официальный сайт разработчика приложения: https://www.portainer.io/. - Prometheus - используется как система мониторинга системных ресурсов |Product Lite|. Связь сервисов реализована через HTTP. Данные хранятся локально, в собственной TSBD базе, индексы хранятся в LevelDB. Метрики представляют собой time-series данные. Каждая метрика состоит из имени метрики, временной метки и пары «ключ - значение». Визуализация осуществляется через подключение к Grafana. Официальный сайт разработчика приложения: https://prometheus.io/. - PostrgeSQL - база данных Prostore. .. attention:: Конкретная конфигурация Витрины данных определяется Участником взаимодействия индивидуально на этапе внедрения Компонента "Витрины данных" в составе ИТ-инфраструктуры Участника взаимодействия. Невозможно дать универсальной рекомендации для развертывания Компонента т.к. вариантов конфигурации оборудования, характера нагрузки и других факторов может быть очень много. Ниже приведены рекомендации по предварительному расчету параметров оборудования: - продумайте сценарии работы с программой необходимые для достижения ваших целей; - установите программу на тестовом стенде с рекомендуемыми техническими характеристиками (раздел :ref:`hard_soft_ware` Руководства по установке компонента "Витрина данных"); - создайте структуру Витрины; - подготовьте тестовые данные для загрузки и определите количество загружаемых данных; - в процессе загрузки данных проведите измерение ключевых параметров нагрузки серверного оборудования; - линейно экстраполируйте эти данные на целевую систему, получив таким образом загруженность целевого оборудования; - выберете оборудование, которое будет соответствовать нагрузке для ваших задач. .. _distr_components: Состав модулей в дистрибутиве --------------------------------- .. tab-set:: .. tab-item:: Состав модулей в дистрибутиве конфигурации Стандарт Состав модулей в дистрибутиве конфигурации Стандарт версии 2.5.0 приведен в таблице ниже (см. :numref:`tab_components_standart`) .. _tab_components_standart: .. table:: Состав модулей в дистрибутиве Компонента ====================================== ========== ====================================== Наименование модуля Версия Техническое наименование ====================================== ========== ====================================== dtm-query-execution-core 7.5.0 dtm-query-execution-core:7.5.0 dtm-jdbc-driver 7.5.0 dtm-jdbc-driver:7.5.0 blob-adapter 2.5.0 blob-adapter:2.5.0 counter-provider 2.5.0 counter-provider:2.5.0 standard-loader 2.5.0 standard-loader:2.5.0 csv-uploader 2.5.0 csv-uploader:2.5.0 data-uploader 2.5.0 data-uploader:2.5.0 dtm-uploader 2.5.0 dtm-uploader:2.5.0 printable-form-service 2.5.0 printable-form-service:2.5.0 rest-uploader 2.5.0 rest-uploader:2.5.0 smevql-server 1.4.2 smevql-server:1.4.2 check-adapter 1.0.10 check-adapter:1.0.10 smev3-адаптер 2.5.0 smev3-adapter:2.5.0 dtm-tools 1.23.0 dtm-tools:1.23.0 pxf-kafka-greenplum (writer) 1.3.0 pxf-kafka-greenplum:1.3.0 kafka-jet-writer 2.3.0 kafka-jet-writer:2.3.0 ====================================== ========== ====================================== .. attention:: Для переноса системных данных (сервисной БД) из ZooKeeper в Postgres-совместимые СУБД при обновлении кластера Prostore до версии 7.2 и выше используется `команда ZK2PG утилиты DTM Tools `_. Дистрибутив Компонента версии 2.5.0 тестировался с сервисами, приведенными в :numref:`tab_test_components` .. _tab_test_components: .. table:: сервисы для тестирования Компонента ======================== ========== ========================= Наименование сервиса Версия Техническое наименование ======================== ========== ========================= Агент СМЭВ4 3.26.0 Агент СМЭВ4:3.26.0 PostgreSQL 16.8 postgreSQL:16.8 ======================== ========== ========================= .. note:: Дополнительные сервисы не входят в дистрибутив Компонента .. tab-item:: Состав модулей в дистрибутиве конфигурации Лайт Состав модулей в дистрибутиве конфигурации Лайт версии 2.5.0 приведен в таблице ниже (см. :numref:`tab_components_lite`) .. Проверить соответствие модулей и версий в Portainer (документ "Установка Компонента") .. _tab_components_lite: .. table:: Состав модулей в дистрибутиве Компонента =========================== ========== ================================ **Наименование модулей** **Версия** **Техническое наименование** =========================== ========== ================================ dtm-query-execution-core 7.5.0 dtm-query-execution-core:7.5.0 dtm-jdbc-driver 7.5.0 dtm-jdbc-driver:7.5.0 csv-uploader 2.5.0 csv-uploader:2.5.0 data-uploader 2.5.0 data-uploader:2.5.0 rest-uploader 2.5.0 rest-uploader:2.5.0 standard-loader 2.5.0 standard-loader:2.5.0 check-adapter 1.0.10 check-adapter:1.0.10 postgres 16.8 postgres:16.8 portainer 2.14.0 portainer:2.14.0 opensearch 1.3.14 opensearch:1.3.14 mongo 4.4 mongo:4.4 graylog 4.3.15 graylog:4.3.15 filebeat 7.10.2 filebeat:7.10.2 node_exporter 1.3.1 node_exporter:1.3.1 prometheus 2.34.0 prometheus:2.34.0 grafana 9.5.2 grafana:9.5.2 dtm-tools 1.23.0 dtm-tools:1.23.0 =========================== ========== ================================ Описание модулей Витрины данных ---------------------------------------- .. note:: Описание настроек модулей, процессы запуска и остановки модуля см. в документах: «Руководстве администратора» и «Руководстве по установке». .. table:: Краткое описание модулей и условия их выбора +-----------------------------------+-------------------------------------+----------------------------------------+--------------------+----------------------------------------------------+ | **Группа** | **Техническое наименование** | **Описание** | **Обязательность** | **Условие выбор** | +===================================+=====================================+========================================+====================+====================================================+ | Ядро Компонента "Витрина данных" | dtm-query-execution-core | Prostore | Да | Используются во всех случаях | | +-------------------------------------+----------------------------------------+ | | | | dtm-kafka-jet-writer | Коннектор Prostore, отвечающий | | | | | | за запись данных | | | +-----------------------------------+-------------------------------------+----------------------------------------+--------------------+----------------------------------------------------+ | Модуль работы с бинарными файлами | blob-adapter | Адаптер чтения бинарных файлов | Нет | Используется при необходимости | | | | | | работы с бинарными файлами | +-----------------------------------+-------------------------------------+----------------------------------------+--------------------+----------------------------------------------------+ | Модули загрузки данных [#]_ | data-uploader | Модуль исполнения асинхронных | Нет | Используется для работы модуля | | | | заданий | | rest-uploader. | | | | | | | | | | | | **Устанавливается только | | | | | | совместно с rest-uploader** | | +-------------------------------------+----------------------------------------+--------------------+----------------------------------------------------+ | | dtm-uploader | ETL-сервис загрузки данных | Нет | Используется как ETL для загрузки | | | | | | большого объема данных из внешних | | | | | | источников | | +-------------------------------------+----------------------------------------+--------------------+----------------------------------------------------+ | | rest-uploader | Модуль асинхронной загрузки | Нет | Используется для параллельной асинхронной | | | | данных из сторонних источников | | загрузки в витрину большого объема данных | | | | | | из внешних источников. | | | | | | | | | | | | **Устанавливается только | | | | | | совместно с data-uploader** | | +-------------------------------------+----------------------------------------+--------------------+----------------------------------------------------+ | | standard-loader | Модуль управления данными (загрузка | Нет | Используется для: | | | | и/или удаление) в Витрине данных | | | | | | | | - унификации загрузки данных в Витрину; | | | | | | | | | | | | - реализации функции сверки данных ИС | | | | | | Источника и Витрины с точностью до | | | | | | конкретной записи. | +-----------------------------------+-------------------------------------+----------------------------------------+--------------------+----------------------------------------------------+ | CМЭВ3-адаптер | smev3-adapter | Модуль обеспечения взаимодействия | Нет | Используется для обработки запросов и | | | | через СМЭВ3 | | ответов из очереди СМЭВ | +-----------------------------------+-------------------------------------+----------------------------------------+--------------------+----------------------------------------------------+ | Модули сервиса печатных форм | printable-form-service | Сервис печатных форм | Нет | Используются для формирования документов | | +-------------------------------------+----------------------------------------+ | в формате XML и PDF на основе предварительно | | | counter-provider | Сервис генерации уникального номера | | подготовленных pebble-шаблонов, с | | +-------------------------------------+----------------------------------------+ | возможностью добавления к сформированным | | | rest-adapter | Модуль генерации endPoint по swagger | | документам электронной подписи | | | | и формирования ответов pebble-шаблонам | | | +-----------------------------------+-------------------------------------+----------------------------------------+--------------------+----------------------------------------------------+ | СМЭВ QL Сервер | smevql-server | Компонент взаимодействия с витриной | Нет | Для Потребителя взаимодействие со СМЭВ QL | | | | данных, реализу.obq её типовое API | | сервером равнозначно виду информационного | | | | согласно внутренней спецификации СМЭВ | | обмена - Обмен с использованием регламентированных | | | | QL | | запросов типа «Rest-сервис» | +-----------------------------------+-------------------------------------+----------------------------------------+--------------------+----------------------------------------------------+ | Агент проверок | check-adapter | механизм контроля качества данных, | Нет | Используется для контроля качества данных, по | | | | размещённых в Компоненте «Витрина | | проверкам, заведённым в ФГИС «ЕИП НСУД» и | | | | данных». | | размещённым в Компоненте «Витрина Данных» | +-----------------------------------+-------------------------------------+----------------------------------------+--------------------+----------------------------------------------------+ .. [#] Как минимум один из модулей загрузки данных должен быть выбран обязательно. Агент проверок ~~~~~~~~~~~~~~~~~~ .. note:: Модуль входит в состав конфигурации Стандарт и Лайт .. Описание Агент проверок .. Подключаем файл с описанием Агент проверок .. include:: ../../modules/check-adapter/doc/check_adapter_doc.rst Сервис генерации уникального номера (Counter-Provider) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. note:: Модуль входит в состав конфигурации Стандарт .. Описание Сервис генерации уникального номера .. Подключаем файл с описанием Сервис генерации уникального номера .. include:: ../../modules/counter-provider/doc/counter_provider_doc.rst Сервис формирования документов ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. note:: Модуль входит в состав конфигурации Стандарт .. Описание Сервис формирования документов .. Подключаем файл с описанием Сервис формирования документов .. include:: ../../modules/printable-form-service/doc/printable_form_service_doc.rst СМЭВ3-адаптер ~~~~~~~~~~~~~ .. note:: Модуль входит в состав конфигурации Стандарт .. Описание СМЭВ3-адаптер .. Подключаем файл с описанием СМЭВ3-адаптер .. include:: ../../modules/smev3-adapter/doc/smev3_adapter_doc.rst СМЭВ QL Сервер ~~~~~~~~~~~~~~~ .. note:: Модуль входит в состав конфигурации Стандарт .. Описание СМЭВ QL Сервер .. Подключаем файл с описанием СМЭВ QL Сервер .. include:: ../../modules/smev-ql/doc/smev_ql_doc.rst .. Подключаем файл с основными понятиями СМЭВ QL Сервер .. include:: ../../modules/smev-ql/doc/smev_ql_concept.rst .. Подключаем файл с описанием функций СМЭВ QL Сервер .. include:: ../../modules/smev-ql/doc/smev_ql_functions.rst .. Подключаем файл с компонентной моделью СМЭВ QL Сервер .. include:: ../../modules/smev-ql/doc/smev_ql_component_model.rst Стандартный загрузчик ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. note:: Модуль входит в состав конфигурации Стандарт и Лайт .. Описание Стандартный загрузчик .. Подключаем файл с описанием Стандартный загрузчик .. include:: ../../modules/standard-loader/doc/standard_loader_doc.rst .. _stloader_api: Спецификация стандартного загрузчика ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Управление медатанными ######################### .. Подключаем файл спецификации :download:`loader_openapi.yaml ` .. .. literalinclude:: ../../modules/standard-loader/doc/specs/standard_loader_spec.yml :language: yaml Загрузка данных ######################## .. Подключаем файл спецификации :download:`reader_openapi.yaml ` .. .. literalinclude:: ../../modules/standard-loader/doc/specs/reader_spec.yml :language: yaml Форматно-логический контроль ############################### .. Подключаем файл спецификации :download:`flk_openapi.yaml ` .. .. literalinclude:: ../../modules/standard-loader/doc/specs/flk_spec.yml :language: yaml BLOB-адаптер ~~~~~~~~~~~~ .. note:: Модуль входит в состав конфигурации Стандарт .. Описание Блоб-адаптер .. Подключаем файл с описанием БЛОБ-адаптер .. include:: ../../modules/blob-adapter/doc/blob_adapter_doc.rst CSV-Uploader ~~~~~~~~~~~~~~~~~ .. note:: Модуль входит в состав конфигурации Стандарт и Лайт .. Описание CSV-Uploader .. Подключаем файл с описанием CSV-Uploader .. include:: ../../modules/csv-uploader/doc/csv_uploader_doc.rst DATA-Uploader - Модуль исполнения асинхронных заданий ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. note:: Модуль входит в состав конфигурации Стандарт и Лайт .. Описание DATA-Uploader - Модуль исполнения асинхронных заданий .. Подключаем файл с описанием DATA-Uploader - Модуль исполнения асинхронных заданий .. include:: ../../modules/data-uploader/doc/data_uploader_doc.rst ETL - Модуль загрузки/ удаления данных ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. note:: Модуль входит в состав конфигурации Стандарт .. Описание Модуль загрузки/ удаления данных .. Подключаем файл с описанием Модуль загрузки/ удаления данных .. include:: ../../modules/etl/doc/etl_doc.rst REST-Uploader - Модуль асинхронной загрузки данных из сторонних источников ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. note:: Модуль входит в состав конфигурации Стандарт и Лайт .. Описание REST-Uploader - Модуль асинхронной загрузки данных из сторонних источников .. Подключаем файл с описанием REST-Uploader - Модуль асинхронной загрузки данных из сторонних источников .. include:: ../../modules/rest-uploader/doc/rest_uploader_doc.rst .. Подключаем файл с описанием ФЛК .. include:: ../../modules/rest-uploader/doc/rest_uploader_format_control.rst Cвязи между модулями ------------------------------ .. tab-set:: .. tab-item:: Cвязи между модулями конфигурации Стандарт Cвязи между модулями конфигурации Стандарт приведены в :numref:`tab_gd_5`. .. _tab_gd_5: .. table:: Взаимодействие между составными частями +----------------+-----------------+--------------------+--------------------------------------------+ | **Клиент** | **Сервер** | **Способ** | **Описание** | | | | **взаимодействия** | | +================+=================+====================+============================================+ | Prostore | Сервисная база | JDBC | Хранение/получение метаданных | | | данных | | | | | Prostore | | | | | (PostgreSQL) | | | +----------------+-----------------+--------------------+--------------------------------------------+ | | СУБД хранилища | JDBC | | +----------------+-----------------+--------------------+--------------------------------------------+ | | Apache Kafka | REST API | | +----------------+-----------------+--------------------+--------------------------------------------+ | | СМЭВ4 Адаптер | REST API | | +----------------+-----------------+--------------------+--------------------------------------------+ | | ETL | REST API | | +----------------+-----------------+--------------------+--------------------------------------------+ | Prostore | Хранилище СУБД | JDBC | Перенаправление запросов в конкретную СУБД | +----------------+-----------------+--------------------+--------------------------------------------+ | CSV-Uploader | Standart-Loader | REST API | Исполнение запросов | | | | | | | | REST-Uploader | | | | | | | | | | Prostore | | | | | | | | | | | | | +----------------+-----------------+--------------------+--------------------------------------------+ | Standart-Loader| Prostore | | Загрузка данных | +----------------+-----------------+--------------------+--------------------------------------------+ | DATA-Uploader | Prostore | | Загрузка данных | +----------------+-----------------+--------------------+--------------------------------------------+ | DTM-Uploader | Prostore | | Загрузка данных | +----------------+-----------------+--------------------+--------------------------------------------+ | Сервис | Prostore | REST API | Запрашивает данные для формирования ПФ | | формирования | | | | | документов | | | | +----------------+-----------------+--------------------+--------------------------------------------+ | СМЭВ3-адаптер | Prostore | REST API | Исполнение запросов | +----------------+-----------------+--------------------+--------------------------------------------+ | | BLOB-адаптер | REST API | Запрашивает бинарное содержимое BLOB. | +----------------+-----------------+--------------------+--------------------------------------------+ .. tab-item:: Cвязи между модулями конфигурации Лайт Cвязи между модулями конфигурации Лайт приведены в :numref:`tab_3_gd_lite`. .. _tab_3_gd_lite: .. table:: Взаимодействие между составными частями +----------------+-----------------+---------------------------+--------------------------------------+ | **Клиент** | **Сервер** | **Способ взаимодействия** | **Описание** | +================+=================+===========================+======================================+ | Prostore | СУБД | REST API | Управление логической структурой | | | PostgreSQL | | таблиц. | | | | | | | | | | Исполнение запросов. | | | | | | | | | | Управление загрузкой публикуемых | | | | | данных в Витрину. | +----------------+-----------------+---------------------------+--------------------------------------+ | CSV-Uploader | Standart-Loader | REST API | Исполнение запросов | | | | | | | | REST-Uploader | | | | | | | | | | Prostore | | | | | | | | | | | | | +----------------+-----------------+---------------------------+--------------------------------------+ | Standart-Loader| Prostore | | Загрузка данных | +----------------+-----------------+---------------------------+--------------------------------------+ | DATA-Uploader | Prostore | | Загрузка данных | +----------------+-----------------+---------------------------+--------------------------------------+ Связи с другими программами --------------------------- .. tab-set:: .. tab-item:: Связи с другими программами конфигурации Стандарт Взаимодействие с другими программами происходит путем вызова соответствующих модулей Компонента. Связи Компонента с другими программами приведены в :numref:`tab_interaction` . .. _tab_interaction: .. table:: Связи с другими программами +----------------+----------------+------------------+-------------------------------------------------------------------------------------------------------------------+ | **Клиент** | **Сервер** | **Способ | **Описание** | | | | взаимодействия** | | +================+================+==================+===================================================================================================================+ | Сервис | Агент СМЭВ4 | REST | - Передача сформированных документов для формирования ЭП. | | формирования | | | | | документов | | | | +----------------+----------------+------------------+-------------------------------------------------------------------------------------------------------------------+ | BLOB-адаптер | Агент СМЭВ4 | REST | - Получение запроса на предоставление содержимого BLOB-объекта; | | | | | | | | | | - Передача бинарного содержимого запрошенного BLOB-объекта. | +----------------+----------------+------------------+-------------------------------------------------------------------------------------------------------------------+ | | Хранилище BLOB | REST | - Запрос бинарного содержимого BLOB. | +----------------+----------------+------------------+-------------------------------------------------------------------------------------------------------------------+ | СМЭВ3-адаптер | СМЭВ3 | SOAP | - Получение запроса вида сведений от СМЭВ3; | | | | | | | | | | - Передача Результат запроса вида сведений; | | | | | | | | | | - Инициативная рассылка сведений об изменении публикуемых данных. | +----------------+----------------+------------------+-------------------------------------------------------------------------------------------------------------------+ | | FTP-сервер | FTP | - Загрузка на сервер бинарного содержимого запрошенных BLOB-объектов. | | | СМЭВ3 | | | +----------------+----------------+------------------+-------------------------------------------------------------------------------------------------------------------+ | | VipNet | REST | - Проверка ЭП получаемых от СМЭВ3 сообщений; | | | | | | | | | | - Формирование ЭП для отправляемых в СМЭВ сообщений. | +----------------+----------------+------------------+-------------------------------------------------------------------------------------------------------------------+ | ETL | Файловое | S3, FTP и т.п. | - Считывание CSV файлов с данными, импортируемыми в витрину | | | хранилище | | | | | ведомства | | | +----------------+----------------+------------------+-------------------------------------------------------------------------------------------------------------------+ | | БД ведомства | JDBC Driver | - Считывание данных, импортируемых в витрину | +----------------+----------------+------------------+-------------------------------------------------------------------------------------------------------------------+ | Внутренняя ИС | Сервер | REST API | - Имитация поведения, существующего REST API | | Ведомств | конечных точек | | | +----------------+----------------+------------------+-------------------------------------------------------------------------------------------------------------------+ | Внутренняя ИС | Ядро витрины | JDBC Driver | - Доступ к БД ведомства | | Ведомств | | | | +----------------+----------------+------------------+-------------------------------------------------------------------------------------------------------------------+ .. tab-item:: Связи с другими программами конфигурации Лайт Взаимодействие с другими программами происходит путем вызова соответствующих модулей Компонента: - Внутренняя ИС Ведомства взаимодействует с Prostore через JDBC-driver; - СМЭВ4-адаптер - Модуль исполнения запросов для взаимодействия с ИС участников взаимодействия через Агента СМЭВ4; - CSV-uploader для взаимодействия с ИС участников взаимодействия для передачи файлов в формате XML и CSV. Связи Компонента со сторонними программами приведены в см. :numref:`tab_lite_connection`. .. _tab_lite_connection: .. table:: Связи с другими программами +----------------+--------------+---------------------------+--------------------------------------------+ | **Клиент** | **Сервер** | **Способ взаимодействия** | **Описание** | +================+==============+===========================+============================================+ | Внутренняя ИС | CSV-uploader | Файловый обмен (CSV) | - Загрузка публикуемых данных в Витрину. | | Ведомств | | | | | | | REST | | +----------------+--------------+---------------------------+--------------------------------------------+ | | Prostore | JDBC | - Управление логической структурой таблиц. | | | | | | | | | | - Исполнение запросов. | | | | | | | | | | - Загрузка публикуемых данных в Витрину. | +----------------+--------------+---------------------------+--------------------------------------------+ Карта портов ------------ Карта портов модулей Компонента представлена в :numref:`tab_gd_7`. .. _tab_gd_7: .. rst-class:: longtable .. table:: Карта портов +-----------------------+---------------------------------------------+ | **Модуль** | **Описание** | +=======================+=============================================+ | query-execution | Порт: 8080 | | | | | | Протокол: HTTP | | | | | | Описание: номер порта сервиса метрик | | | | | | Порт: 9090 | | | | | | Протокол: TCP | | | | | | Описание: номер порта сервиса исполнения | | | запросов | +-----------------------+---------------------------------------------+ | prometheus | Порт: 9090 | | | | | | Протокол: HTTP | | | | | | Описание: Подключение к Prometheus WEB UI | +-----------------------+---------------------------------------------+ | grafana | Порт: 3000 | | | | | | Протокол: HTTP | | | | | | Описание: WEB-интерфейс для работы c | | | Grafana | +-----------------------+---------------------------------------------+ | node_exporter | Порт: 9100 | | | | | | Протокол: HTTP | | | | | | Описание: Порт для загрузки метрик | +-----------------------+---------------------------------------------+ | filebeat | Порт: нет открытых портов | | | | | | Протокол: - | | | | | | Описание: - | +-----------------------+---------------------------------------------+ | mongodb | Порт: 27017 | | | | | | Протокол:TCP | | | | | | Описание: Подключение к MongoDB. Порт по | | | умолчанию для экземпляров mongod и mongos. | | | | | | Вы можете изменить этот порт с помощью port | | | или ``--port``. | | | | | | Порт: 27018 | | | | | | Протокол: TCP | | | | | | Описание: Подключение к MongoDB. Порт по | | | умолчанию для mongod при запуске с | | | | | | параметром командной строки ``--shardsvr`` | | | или значением ``shardsvr`` для параметра | | | ``clusterRole`` в файле конфигурации | +-----------------------+---------------------------------------------+ | elasticsearch | Порт: 9200 | | | | | | Протокол: HTTP | | | | | | Описание: Подключение к Elasticsearch. | +-----------------------+---------------------------------------------+ | postgres | Порт: 5432 | | | | | | Протокол: TCP PostgresSQL Protocol | | | | | | Описание: Источник данных SQL | +-----------------------+---------------------------------------------+ | portainer | Порт: 9000 | | | | | | Протокол: HTTP | | | | | | Описание: Web-интерфейс для работы c | | | Portainer | +-----------------------+---------------------------------------------+