1. Общие сведения
1.1. Обозначение и наименование программы
Полное наименование: Типовое тиражируемое программное обеспечение «Витрина данных НСУД».
Условное обозначение: ПО «Витрина данных НСУД».
1.2. Назначение программы
Национальная система управления данными (далее – НСУД) представляет собой систему, состоящую из взаимосвязанных элементов информационно-технологического, организационного, методологического, кадрового и нормативно-правового характера и обеспечивающую достижение целей и выполнение задач, обозначенных в Концепции Национальной системы управления данными, утвержденной распоряжением Правительства Российской Федерации от 3 июня 2019 года № 1189-р.
НСУД предназначена для управления информацией, содержащейся в информационных системах органов и организаций государственного сектора, а также в информационных ресурсах, созданных в целях реализации полномочий органов и организаций государственного сектора (далее – государственные данные) и для осуществления информационного обмена между Поставщиками и Получателями данных, присоединившимися к НСУД (далее – Участники НСУД).
Управление процессами информационного обмена между Участниками НСУД осуществляется средствами федеральной государственной информационной системы «Единая информационная платформа Национальной системы управления данными» (далее – ФГИС «ЕИП НСУД»).
Для передачи данных между Участниками НСУД используется среда взаимодействия НСУД, состоящая из Системы межведомственного электронного взаимодействия 3.0 (далее – СМЭВ) и (или) подсистемы обеспечения доступа к данным СМЭВ (далее – ПОДД СМЭВ) (СМЭВ 4.0), обеспечивающих транспорт и процессинг данных, а также агентов ПОДД СМЭВ, устанавливаемых на стороне Участников НСУД.
Для формирования и (или) для получения данных с использованием среды взаимодействия НСУД необходим комплекс программных и технических средств в составе информационно-телекоммуникационной инфраструктуры участника НСУД, описываемое в данном документе «Витрина данных НСУД», но возможно и применение «Витрина данных НСУД». Данный документ описывает применение именно ПО среды взаимодействия НСУД.
Программа «Витрина данных НСУД» является частью НСУД и предназначена для загрузки публикуемых данных в отдельную БД на стороне Поставщика данных. Программа представляет собой типовое программное обеспечение, устанавливаемое на стороне поставщиков/потребителей данных.
1.3. Возможности программы
В настоящий момент реализовано две конфигурации Программы:
Стандарт;
Лайт.
Программа обеспечивает выполнение следующих задач:
описание логической модели данных;
настройка программы и структуры таблиц в ее БД для хранения публикуемых данных;
загрузка и хранение публикуемых данных в БД программы;
извлечение данных из внешних систем (внешних ИС по отношению к Витрине данных НСУД);
выполнение запросов в соответствии с протоколом ПОДД через механизмы ПОДД СМЭВ:
поддержка протокола коммуникации Агента СМЭВ4;
предоставление публикуемых данных (в т. ч. BLOB-объектов и/или с использованием табличных параметров);
генерация формируемых документов на основании публикуемых данных;
репликация публикуемых данных (в качестве витрины-поставщика);
получение реплицируемых данных (в качестве витрины-получателя).
обмен в соответствии с протоколом СМЭВ3:
подключение к СМЭВ3 как информационной системы участника взаимодействия;
обработку запросов на предоставление публикуемых данных (видов сведений), в т.ч. BLOB-объектов;
инициативная рассылка оповещений об обновлении публикуемых данных.
публикация конечных точек API для обработки запросов с использованием спецификации OpenAPI версии 3;
предоставление публикуемых данных информационным системам с использованием интерфейса REST-запросов;
восстановление данных в непротиворечивое состояние после сбоев;
поддержка языка SQL (см. Приложение 2 «Поддержка функций SQL»);
журналирование событий функциональных блоков;
мониторинг информации о работоспособности экземпляра Программы.
Программа обеспечивает выполнение следующих задач:
автоматическая настройка взаимосвязей между компонентами программы;
автоматический запуск всех необходимых компонентов программы после установки;
автоматическая настройка витрины и структуры ее таблиц на основании содержимого XML-файла, загружаемого через пользовательский web-интерфейс;
выгрузка шаблона через графический интерфейс (для упрощения процесса подготовки загружаемых данных);
загрузка данных в витрину:
через графический интерфейс;
REST API;
файловый обмен.
настройка параметров работы витрины через графический интерфейс;
выполнение запросов на предоставление данных в соответствии с протоколом ПОДД через механизмы СМЭВ ПОДД.
1.4. Показатели назначения программы
Наименования и значения параметров, характеризующих показатели назначения программы, приведены в Таблица 1.1.
№ |
Показатель |
Значение |
|---|---|---|
1 |
Хранение данных, доступных для запроса, включая исторические |
Не менее 10 ТБ или 1 млрд. записей |
2 |
Загрузка данных в ПО «Витрина данных НСУД» |
Не менее 3 ТБ / час или 300 млн. записей / час |
3 |
Выборка данных из ПО «Витрина данных НСУД» в рамках одного критерия поиска |
Не менее 3 ТБ / час или 300 млн. записей / час |
4 |
Время от отправки одной записи в витрину до появления данных в результатах запросов |
Не более 5 сек для 95% записей |
5 |
Поиск одной записи по предопределённому критерию поиска (предполагается предварительная индексация) |
Не более 0,1 сек в 95% запросов при не менее 3 млн. запросов / час |
6 |
Поиск одной записи по произвольному критерию (предполагается сканирование всего объёма записей) |
Не более 5 сек в 95% запросов при не менее 50 тыс. запросов / час |
Требования к техническим средствам, при которых достигаются указанные показатели назначения описаны в Таблица 1.4 и Таблица 1.5 Руководства по установке Типового ПО «Витрина данных НСУД» в разделе Рекомендуемые технические и программные средства.
Количественные значения показателей надежности для ПО «Витрина данных НСУД» представлены в таблице Таблица 1.2.
№ |
Показатель |
Значение |
|---|---|---|
1 |
Безотказность |
10000 часов |
2 |
Коэффициент готовности |
0,9995 |
3 |
Доступность |
99,95% |
4 |
Допустимая потеря данных |
1 час |
Тестирование программы на соответствие показателям назначения и надежности проводилось на тестовом стенде с указанными требованиями к техническим средствам в Таблица 1.4 и Таблица 1.5.
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;
резервное копирование;
логирование;
обновление программы;
понимание модели баз данных;
опыт работы по управлению и администрированию баз данных;
навык проводить диагностику и анализ проблемных мест;
умение распознать следствие/причины некорректной работы ПО или техники;
умение анализировать сетевой трафик.
1.8.2. Требования к программисту
Программист решает задачи связанные непосредственно с сопровождением и доработкой программы под требования пользователей. Определяет схемы и алгоритмы обработки данных программой.
Программист должен обладать знаниями следующих языков программирования:
Java;
Кotlin;
Javascript.
Программист должен уметь использовать в своей работе следующее программное обеспечение и технологии:
Apache Zookeeper;
Apache Kafka;
Docker;
Vertx;
Spring (Spring-boot);
Web (http, настройка SSH).
В перечень задач, выполняемых программистом, входят:
поддержание работоспособности программы;
доработка программы под требованиям пользователей системы.