Войти

Что такое Витрина данных конфигурации установки Стандарт

Витрина НСУД – это набор структурированных данных доступных для пользователей СМЭВ. Обычно это данные по определенной теме или задаче в ведомстве. Например, витрина с данными о событиях по направлению деятельности ведомства или подведомственной организации может содержать подробные данные о датах событий, регистрационных номерах событий, их уровне критичности, имена и контакты ответственных за направление по событиям и другие сведения. Ничего лишнего, только нужные и актуальные очищенные данные, полученные из других ИС ведомства. Таких витрин даже в одном ведомстве может быть множество (Рисунок 1).

Рисунок 1. Что такое витрин данных НСУД.jpg

Рисунок 1 - Что такое витрин данных НСУД.

Витрины чаще всего используются в ведомствах в качестве мастер-данных, например, как справочники. Помимо этого, витрина может выступать периферическим узлом в сетях обмена данными между различными участниками при межведомственном взаимодействии.

Витрина данных конфигурации установки Стандарт имеет модульную архитектуру и построена на базе компонентов, представленных на Рисунке 2.


Рисунок 2 - Общая архитектура решения.


Функциональный состав Витрины данных конфигурации установки Стандарт

Основные компоненты:

1.   ProStore – ядро витрины, обеспечивает единый интерфейс к хранилищу разнородных данных. Определяет структуры данных, запись и чтение данных витрины. Позволяет работать с входящими в состав хранилища СУБД одинаковым образом, используя единый синтаксис запросов SQL и единую логическую схему данных.

ProStore включает в себя следующие компоненты:

  • Сервис исполнения запросов — анализирует и исполняет SQL-запросы; предоставляет REST API для JDBC-драйвера и взаимодействует с сервисом мониторинга статусов Kafka по REST API. В свою очередь состоит из следующих компонентов:
    • Коннектор Kafka-Postgres reader - считывает данные из PostrgeSQL и передает их в брокер сообщений Kafka.
    • Коннектор Kafka-Postgres writer - записывает данные из брокера сообщений Kafka в PostrgeSQL.
  • Сервис мониторинга статусов Kafka — отслеживает состояние топиков брокера сообщений Kafka; предоставляет REST API для сервиса исполнения запросов.
  • PostrgeSQL - база данных ProStore.
  • Apache ZooKeeper - необходим для поддержки информации о конфигурации и распределенной координации между компонентами Витрины, также используется как сервисная база данных ProStore, для хранения технической информации (метаданных) от поступающих в Витрину данных запросах.
  • Брокер сообщений Kafka - используется для непрерывной передачи сообщений между:
    • CSV-uploader и ProStore;
    • ПОДД-адаптером и Агентом ПОДД.

2.   ПОДД-адаптер - модуль витрины, который предоставляет подключение к ПОДД СМЭВ, как информационной системы участника взаимодействия. ПОДД-адаптер обеспечивает:

  • загрузку запросов из очереди ИС УВ в ПОДД СМЭВ;
  • o   формирование и отправку ответов в ПОДД СМЭВ;
  • инициативное формирование уведомлений об изменении данных в витрине;
  • отправку уведомлений в ПОДД СМЭВ.

3.   CSV-uploader - модуль витрины, который предназначен для выгрузки шаблонов файлов из витрины и загрузки пользовательских данных в витрину в форматах csv/xml-файлов.

Дополнительные компоненты

Дополнительное программное обеспечение для администрирования и мониторинга:
  • Grafana- инструмент реализован в виде панели управления и мониторинга и позволяет визуализировать системные события витрины на базе собираемых метрик.
  • Docker- программное обеспечение для автоматизации развёртывания и управления витрины в виртуальных средах с поддержкой контейнеризации. Контейнер позволяет производить изолированный запуск ОС с подключённой файловой системой из образа, изолированно разворачивать приложения и реализовывать микросервисы. Настройки среды хранятся в GitHub, обеспечивая единую точку управления конфигурациями..
  • Portainer- web-приложение для управления docker-контейнерами.
  • Graylog- программное обеспечение для управления лог-файлами.
  • МongoDB- база данных Graylog.
  • Elasticsearch- утилита полнотекстового поиска и аналитики, которая позволяет быстро в режиме реального времени хранить, искать и анализировать большие объемы данных и сохраняет их для Graylog. Для передачи сообщений в Graylog использует Filebeat.
  • Filebeat- агент на сервере для отправки различных типов оперативных данных в Elasticsearch.
  • Node_exporter - процессы, обеспечивающие сбор и передачу системных метрик серверу Prometheus. Также, используется для сбора метрик ПОДД-адаптера и CSV-uploader.
Общая компонентная схема представлена на Рисунке 3.

Рисунок 3. Схема компонентов.jpg
Рисунок 3. Схема компонентов

Взаимосвязи между составными частями витрины данных конфигурации установки Стандарт:


Клиент Сервер Способ взаимодействия Описание
ПОДД-адаптер ProStore JDBC
Брокер сообщений Kafka
Исполнение запросов.
CSV-uploader ProStore JDBC
Брокер сообщений Kafka
Управление логической структурой таблиц.
Загрузка публикуемых данных в витрину.
ProStore СУБД PostgreSQL JDBC Управление логической структурой таблиц.
Исполнение запросов.
Управление загрузкой публикуемых данных в витрину.


Связи с другими программами

Взаимодействие с другими программами происходит путем вызова соответствующих модулей витрины данных конфигурации установки Стандарт:

  • Внутренняя ИС Ведомства взаимодействует с ProStore через JDBC-driver или REST-интерфейс.
  • ПОДД-адаптер для взаимодействия с ИС участников взаимодействия через Агента ПОДД.
  • CSV-uploader для взаимодействия с ИС участников взаимодействия для передачи файлов в формате XML и CSV.

Связи витрины данных конфигурации установки Стандарт со сторонними программами:


Клиент

Сервер

Способ взаимодействия

Описание

Внутренняя ИС Ведомств

CSV-uploader

Файловый обмен

(CSV)

REST

Загрузка публикуемых данных в витрину

ProStore

JDBC

Брокер сообщений Kafka

Управление логической структурой таблиц.

Исполнение запросов.

Загрузка публикуемых данных в витрину.

ПОДД-адаптер

Агент ПОДД

Брокер сообщений Kafka

Исполнение запросов.


Карта портов

Компонент

Описание

podd-adapter

Порт: 8083

Протокол: HTTP

Описание: Взаимодействие с ПОДД-адаптером

csv-uploader

Порт: 8080

Протокол: HTTP

Описание: Взаимодействие с CSV-uploader

query-execution

Порт: 8080

Протокол: HTTP

Описание: номер порта сервиса метрик

Порт: 9090

Протокол: TCP

Описание: номер порта сервиса исполнения запросов

status_monitor

Порт: 9095

Протокол: HTTP

Описание: сетевой адрес и путь для получения информации о статусе сервиса

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.

kafka_postgres_writer

Порт: 8096

Протокол: HTTP

Описание: Порт используется для записи топиков Kafka в ProStore

kafka_postgres_reader

Порт: 8094

Протокол: HTTP

Описание: Порт используется для чтения топиков Kafka из ProStore

postgres

Порт: 5432

Протокол: TCP PostgresSQL Protocol

Описание: Источник данных SQL

kafka

Порт: 9092

Протокол: Порт используется для

Описание: TCP

zookeeper

Порт: 2181

Протокол: TCP

Описание: Порт используется для доступа к Zookeeper

portainer

Порт: 9000

Протокол: HTTP

Описание: Web-интерфейс для работы c Portainer


Описание логической структуры

Рисунок 4. Логическая схема.jpg

Рисунок 4 - Логическая схема.

1. После установки, витрина данных конфигурации установки Стандарт не содержит никакой логической модели данных. Необходимо загрузить структуру витрины через web-интерфейс витрины (для хранения данных в качестве Поставщика данных). За загрузку структуры витрины отвечает модуль CSV-uploader. При работе с ПОДД структура таблиц настраивается в ЕИП НСУД и передаются в витрину через ПОДД.

2. После того, как логическая модель данных в витрине настроена можно:

  • выгрузить шаблон через web-интерфейс;
  • загружать данные в витрину:
    • через web-интерфейс;
    • файловый обмен;
    • REST.
  • обрабатывать SQL-запросы в качестве Поставщика данных.

Доступные пользовательские функции Витрины данных конфигурации установки Стандарт

1.   Создание структуры таблиц витрины

Для решения этой задачи администратор витрины через web-интерфейс CSV-uploader загружает заранее сконфигурированный xml-файл со структурой витрины. Витрина на основании содержимого xml-файла создает таблицы с указанными именами и полями в своей БД.

2.    Выгрузка шаблона

Разработан графический интерфейс, в котором администратор витрины имеет возможность выбрать нужную таблицу и скачать ее на свой ПК (чтобы использовать ее в качестве примера для подготовки загружаемых данных).

3.    Загрузка данных в витрину

В витрине данных конфигурации установки Стандарт предусмотрено три варианта загрузки данных:
  • через графический интерфейс (csv-файлы);
  • REST API;
  • файловый обмен.

3.1.   .Загрузка данных через графический интерфейс (csv-файлы)

Администратор витрины через графический интерфейс модуля CSV-uploader выбирает таблицу и загружает csv-файл с обновленными/добавленными данными. Витрина записывает данные в таблицу своей БД.

3.2.   Загрузка данных через REST API

В витрине данных конфигурации установки Стандарт предусмотрен модуль, который выступает в качестве REST-сервера, он позволяет выполнять стандартные POST, DELETE запросы для URL, содержащих имя таблицы, полученные данные модуль передает модулю CSV-uploader, который загружает данные в витрину.

3.3.   Загрузка данных через файловый обмен

В витрине данных конфигурации установки Стандарт настроена периодическая проверка папки, выбранной для файлового обмена. В случае появления в папке нового csv-файла, витрина считывает его, содержимое csv-файла передает модулю CSV-uploader, который загружает данные в витрину. После передачи данных витрина удаляет csv-файл из папки.

 

4.   Журналирование событий функциональных блоков

Рисунок 5. Мониторинг и журналирование событий в системе.jpg
Рисунок 5 - Мониторинг и журналирование событий в системе.

Доступно журналирование событий функциональных блоков витрины данных конфигурации установки Стандарт:

  • Prostore;
  • БД Prostore (PostgreSQL);
  • Брокер сообщений;
  • БД Брокера сообщений;
  • ПОДД-адаптер;
  • CSV-uploader.

При реализации указанного метода витрина данных конфигурации установки Стандарт выполняет следующие основные операции по обработке данных:

  • запись системных событий (отдельно по каждому функциональному блоку) осуществляется в лог-файлы;
  • предоставление возможности просмотра журнала событий (лог-файла).

Просмотр лог-файлов возможен через графический интерфейс web-приложения Grafana.

Настройку детализации лог-файлов осуществляет администратор.

5.     Запуск модулей в кластеризованном режиме.

В кластере могут быть развернуты и работать следующие модули:

1.         СУБД (ADB, ADQM, ADG, PostgreSQL (ADP);

2.         ADS (Kafka, Zookeper);

3.         Мониторинг и Журналирование (Elasticsearch, Filebeat, Node Exporter).

Авторизуйтесь, чтобы оставить комментарий к статье