1. Общие сведения

1.1. Обозначение и наименование программы

Полное наименование: Типовое тиражируемое программное обеспечение «Витрина данных НСУД».

Условное обозначение: ПО «Витрина данных НСУД».

1.2. Назначение программы

Национальная система управления данными (далее – НСУД) представляет собой систему, состоящую из взаимосвязанных элементов информационно-технологического, организационного, методологического, кадрового и нормативно-правового характера и обеспечивающую достижение целей и выполнение задач, обозначенных в Концепции Национальной системы управления данными, утвержденной распоряжением Правительства Российской Федерации от 3 июня 2019 года № 1189-р.

НСУД предназначена для управления информацией, содержащейся в информационных системах органов и организаций государственного сектора, а также в информационных ресурсах, созданных в целях реализации полномочий органов и организаций государственного сектора (далее – государственные данные) и для осуществления информационного обмена между Поставщиками и Получателями данных, присоединившимися к НСУД (далее – Участники НСУД).

Управление процессами информационного обмена между Участниками НСУД осуществляется средствами федеральной государственной информационной системы «Единая информационная платформа Национальной системы управления данными» (далее – ФГИС «ЕИП НСУД»).

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

Для формирования и (или) для получения данных с использованием среды взаимодействия НСУД необходим комплекс программных и технических средств в составе информационно-телекоммуникационной инфраструктуры участника НСУД, описываемое в данном документе «Витрина данных НСУД», но возможно и применение «Витрина данных НСУД». Данный документ описывает применение именно ПО среды взаимодействия НСУД.

Программа «Витрина данных НСУД» является частью НСУД и предназначена для загрузки публикуемых данных в отдельную БД на стороне Поставщика данных. Программа представляет собой типовое программное обеспечение, устанавливаемое на стороне поставщиков/потребителей данных.

1.3. Возможности программы

В настоящий момент реализовано две конфигурации Программы:

  • Стандарт;

  • Лайт.

Программа обеспечивает выполнение следующих задач:

  • описание логической модели данных;

  • настройка программы и структуры таблиц в ее БД для хранения публикуемых данных;

  • загрузка и хранение публикуемых данных в БД программы;

  • извлечение данных из внешних систем (внешних ИС по отношению к Витрине данных НСУД);

  • выполнение запросов в соответствии с протоколом ПОДД через механизмы ПОДД СМЭВ:

    • поддержка протокола коммуникации Агента СМЭВ4;

    • предоставление публикуемых данных (в т. ч. BLOB-объектов и/или с использованием табличных параметров);

    • генерация формируемых документов на основании публикуемых данных;

    • репликация публикуемых данных (в качестве витрины-поставщика);

    • получение реплицируемых данных (в качестве витрины-получателя).

  • обмен в соответствии с протоколом СМЭВ3:

    • подключение к СМЭВ3 как информационной системы участника взаимодействия;

    • обработку запросов на предоставление публикуемых данных (видов сведений), в т.ч. BLOB-объектов;

    • инициативная рассылка оповещений об обновлении публикуемых данных.

  • публикация конечных точек API для обработки запросов с использованием спецификации OpenAPI версии 3;

  • предоставление публикуемых данных информационным системам с использованием интерфейса REST-запросов;

  • восстановление данных в непротиворечивое состояние после сбоев;

  • поддержка языка SQL;

  • журналирование событий функциональных блоков;

  • мониторинг информации о работоспособности экземпляра Программы.

Программа обеспечивает выполнение следующих задач:

  • автоматическая настройка взаимосвязей между компонентами программы;

  • автоматический запуск всех необходимых компонентов программы после установки;

  • автоматическая настройка витрины и структуры ее таблиц на основании содержимого XML-файла, загружаемого через пользовательский web-интерфейс;

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

  • загрузка данных в витрину:

  • через графический интерфейс;

  • REST API;

  • файловый обмен.

  • настройка параметров работы витрины через графический интерфейс;

  • выполнение запросов на предоставление данных в соответствии с протоколом ПОДД через механизмы СМЭВ ПОДД.

1.4. Показатели назначения программы

Наименования и значения параметров, характеризующих показатели назначения программы, приведены в tab_dest_indicators.

Показатели назначения

Показатель

Значение

1

Хранение данных, доступных для запроса, включая исторические

Не менее 10 ТБ или 1 млрд. записей

2

Загрузка данных в ПО «Витрина данных НСУД»

Не менее 3 ТБ / час или 300 млн. записей / час

3

Выборка данных из ПО «Витрина данных НСУД» в рамках одного критерия поиска

Не менее 3 ТБ / час или 300 млн. записей / час

4

Время от отправки одной записи в витрину до появления данных в результатах запросов

Не более 5 сек для 95% записей

5

Поиск одной записи по предопределённому критерию поиска (предполагается предварительная индексация)

Не более 0,1 сек в 95% запросов при не менее 3 млн. запросов / час

6

Поиск одной записи по произвольному критерию (предполагается сканирование всего объёма записей)

Не более 5 сек в 95% запросов при не менее 50 тыс. запросов / час

Требования к техническим средствам, при которых достигаются указанные показатели назначения описаны в Таблица 1.1 и Таблица 1.2 Руководства по установке Типового ПО «Витрина данных НСУД» в разделе Рекомендуемые технические и программные средства.

Количественные значения показателей надежности для ПО «Витрина данных НСУД» представлены в таблице tab_reliability.

Значения показателей надежности

Показатель

Значение

1

Безотказность

10000 часов

2

Коэффициент готовности

0,9995

3

Доступность

99,95%

4

Допустимая потеря данных

1 час

Тестирование программы на соответствие показателям назначения и надежности проводилось на тестовом стенде с указанными требованиями к техническим средствам в Таблица 1.1 и Таблица 1.2.

1.5. Требования к каналам связи

Требования к каналам связи сервера, на котором будет установлена программа:

  • пропускная способность 100 Гбит/сек с протоколами TCP/IP и UDP;

  • отсутствие ПО, блокирующего или замедляющего трафик.

Требования к каналам связи, используемым для взаимодействия с клиентскими сетями Ведомства:

  • пропускная способность 10 Гбит/сек с протоколами TCP/IP и UDP.

Необходимо учитывать процент свободных ресурсов оборудования и пиковые нагрузки.

1.6. Режим работы программы

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

Программа поддерживает функционирование в следующих режимах:

  • штатный;

  • сервисный;

  • аварийный;

  • остановка.

1.6.1. Штатный режим

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

1.6.2. Сервисный режим

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

1.6.3. Аварийный режим

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

1.6.4. Остановка

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

1.7. Используемые языки программирования

Языки программирования

Название

Версия

Описание

Kotlin

1.9.24

Язык программирования

Java SE

17

Язык программирования

SQL

SQL:2016

Язык программирования, применяемый для создания модификации и управления данными в реляционной базе данных

HTML

5

Язык разметки

CSS

3

Язык разметки. Описание внешнего вида документов

Python

3.0

Язык программирования

JavaScript

ES2017 (ES8)

Язык программирования

1.8. Требования к персоналу

1.8.1. Требования к системному администратору

Системный администратор обеспечивает штатную работу программы. Выполняет установку, настройку и мониторинг работоспособности программного и аппаратного обеспечения.

В основные обязанности системного администратора входит:

  • установка и настройка программы;

  • установка обновлений;

  • резервное копирование;

  • настройка логирования;

  • настройка системы мониторинга программы, аппаратного обеспечения и др.

Необходимые навыки для работы:

  • знание TCP/IP;

  • знание Docker (развертывание, установка библиотек, администрирование);

  • знание Ansible;

  • умение работать с веб-серверами (Apache);

  • знание SSH;

  • резервное копирование;

  • логирование;

  • обновление программы;

  • понимание модели баз данных;

  • знание операционных систем CentOS на уровне администрирования;

  • опыт работы по управлению и администрированию баз данных;

  • навык проводить диагностику и анализ проблемных мест;

  • умение распознать следствие/причины некорректной работы ПО или техники;

  • умение анализировать сетевой трафик.

1.8.2. Требования к программисту

Программист решает задачи связанные непосредственно с сопровождением и доработкой программы под требования пользователей. Определяет схемы и алгоритмы обработки данных программой.

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

  • Java;

  • Кotlin;

  • Javascript.

Программист должен уметь использовать в своей работе следующее программное обеспечение и технологии:

  • Apache Zookeeper;

  • Apache Kafka;

  • Docker;

  • Vertx;

  • Spring (Spring-boot);

  • Web (http, настройка SSH).

В перечень задач, выполняемых программистом, входят:

  • поддержание работоспособности программы;

  • доработка программы под требованиям пользователей системы.