Перейти к содержанию

Описание программы

Полное наименование: Центральный модуль управления данными и распределёнными вычислениями

Обозначение: LPI-VAP-CORE

Краткое наименование (для работы с документом): «Центральный модуль»

Программный продукт: «Vizorlabs Platform 4.0» («Визорлабс Платформа 4.0»)

Стандарт: ГОСТ 19.402-78

Аннотация

Настоящий документ содержит описание Центрального модуля управления данными и распределёнными вычислениями (LPI-VAP-CORE), входящего в состав программного продукта «Vizorlabs Platform 4.0» («Визорлабс Платформа 4.0»; далее — Платформа 4.0). Компонент является управляющим и исполняющим контуром Платформы 4.0 и предназначен для централизованного ведения данных видеоаналитики, организации распределённой обработки видеопотоков и представления её результатов пользователю.

Компонент обеспечивает ведение учётных записей, ролей и полномочий; ведение иерархии объектов, камер, зон и справочников; подключение и синхронизацию внешних источников медиаданных; приём видеопотоков и отдельных кадров; назначение камерам опубликованных версий сценариев; динамическое распределение источников между вычислительными ресурсами и выполнение видеоаналитики; формирование, долговременное хранение и представление событий и нарушений со связанными медиаданными; принятие решений по событиям и их комментирование; уведомления, аудит действий пользователей, расчёт статистических показателей, формирование отчётов в форматах PDF и XLSX, а также интеграционный обмен с внешними системами заказчика.

Исполняемые составные части поставляются контейнерными образами и размещаются в кластере Kubernetes на серверных ЭВМ архитектуры x86 под управлением «Московской серверной операционной системы». Узлы кластера разделены по назначению: мастер-нода выполняет прикладные сервисы, веб-интерфейс и общесистемные хранилища (PostgreSQL, ClickHouse, Apache Kafka, S3-совместимое объектное хранилище, кэш); вычислительные ноды выполняют приём и декодирование видеопотоков, исполнение моделей видеоаналитики и подготовку видеофрагментов на графических процессорах класса NVIDIA T4. Пользователь работает с компонентом через веб-браузер на персональном компьютере или тонком клиенте; установка исполняемых частей компонента на рабочее место не требуется.

Серверная прикладная логика реализована преимущественно на Python, пользовательский интерфейс — на TypeScript и JavaScript. Для представления, хранения, конфигурации и обмена данными также используются HTML, CSS, SCSS, SQL, GraphQL, JSON, YAML и Protocol Buffers. Объём программы определяется составом контейнерных образов, клиентского приложения и служебных ресурсов конкретной версии поставки и фиксируется по ведомости образов и результатам сборки. Конфигурация, события, медиаданные, отчёты и записи аудита относятся к данным компонента и в объём программы не включаются; требуемая ёмкость хранилищ рассчитывается по числу камер, темпу поступления событий и срокам хранения.

LPI-VAP-CORE не выполняет загрузку, конвертацию и версионирование моделей видеоаналитики, не предоставляет среду разработки и отладки сценариев и не исполняет мультимодальные языковые модели: эти функции реализованы компонентами LPI-VAP-MM, LPI-VAP-RS и LPI-VAP-MLLM. Компонент применяет опубликованные версии моделей и сценариев и использует результаты мультимодальной обработки при формировании и проверке событий. Документ определяет общие сведения, функциональное назначение и логическую структуру LPI-VAP-CORE, используемые технические средства, порядок вызова и загрузки, входные и выходные данные, а также рекомендуемые и справочные приложения.

Термины, определения и сокращения

В настоящем документе применены следующие термины с соответствующими определениями.

Термин Определение
Платформа 4.0 Программа для ЭВМ «Vizorlabs Platform 4.0» («Визорлабс Платформа 4.0»), в состав которой входит настоящий компонент
Компонент Центральный модуль управления данными и распределёнными вычислениями (LPI-VAP-CORE) — позиция поставки Платформы 4.0, описываемая настоящим документом
Составная часть Отдельный сервис компонента, поставляемый контейнерным образом; не является самостоятельным программным продуктом
Смежный компонент Иная позиция поставки Платформы 4.0 (LPI-VAP-MM, LPI-VAP-RS, LPI-VAP-MLLM), результаты которой применяет компонент
Объект наблюдения Элемент иерархической структуры (округ, адрес, объект), к которому привязываются камеры
Камера Учётная запись источника видеоданных с параметрами подключения, расположением, типом ракурса и признаком участия в видеоаналитике
Источник медиаданных Внешняя система видеонаблюдения, сервис получения отдельных кадров или система хранения архивных видеозаписей, от которых компонент получает видеопотоки, кадры и архивные фрагменты
Зона Область изображения камеры, заданная одним или несколькими пиксельными полигонами, для которой сценарий проверяет условия формирования событий
Полигон Замкнутая область на изображении камеры, заданная координатами вершин в пикселях; полигоны зоны могут быть связанными или независимыми
Тип ракурса Элемент справочника, закрепляющий за изображением камеры перечень промптов и пресетов
Промпт Текстовая инструкция мультимодальной языковой модели, описывающая проверку, выполняемую по изображению камеры
Сценарий Описание логики видеоаналитики, разрабатываемое компонентом LPI-VAP-RS и исполняемое компонентом по назначенной камере версии
Версия сценария Зафиксированное и опубликованное состояние сценария в версионном хранилище, назначаемое камере для исполнения
Модель видеоаналитики Обученная модель компьютерного зрения для задач классификации, детекции или сегментации, поставляемая компонентом LPI-VAP-MM и применяемая при исполнении сценария
Детектор Экземпляр исполнения назначенной версии сценария по конкретной камере; его состояние отображается в интерфейсе и контролируется вычислительным контуром
Событие Запись результата исполнения сценария по камере и зоне с привязкой к категории детекции, времени и медиаданным
Нарушение Событие, для которого выполнены условия, установленные правилами формирования нарушений
Решение Результат разбора события пользователем: подтверждение или отклонение с возможностью комментирования
Медиаданные события Изображения и видеофрагменты в форматах JPG, PNG и MP4, сохраняемые вместе с событием
Уведомление Сообщение о событии или нарушении, формируемое по настроенному правилу и доставляемое по электронной почте
Видеостена Экранная форма одновременного просмотра изображений нескольких камер в заданной раскладке
Расписание опроса Периодичность получения отдельных кадров камеры от сервиса получения кадров
Мастер-нода Узел кластера, на котором размещаются прикладные сервисы, веб-интерфейс и общесистемные хранилища
Вычислительная нода Узел кластера с графическими ускорителями, выполняющий приём и декодирование видеопотоков, исполнение моделей и подготовку видеофрагментов
Вычислительный контур Совокупность вычислительных нод и составных частей, выполняющих распределение источников и исполнение сценариев
Область видимости Перечень объектов и камер, доступных пользователю; ограничивает как управляющие действия, так и выборки данных
Роль Именованный набор полномочий, назначаемый учётной записи
Полномочие Право на выполнение определённой операции над определённым видом данных
Внешняя система единого входа Внешняя система аутентификации и авторизации, выполняющая проверку учётных данных пользователя по протоколу OIDC/OAuth 2.0 и предоставляющая сведения о нём и его групповых правах
Маркер доступа Выданное внешней системой единого входа удостоверение с ограниченным сроком действия, сопровождающее запросы пользователя
Аудит Регистрация действий пользователей с указанием времени, вида операции и объекта изменения
Целевая поставка Конкретный экземпляр поставки компонента заказчику с согласованными составом версий, конфигурацией и техническими средствами

В настоящем документе применены следующие сокращения и обозначения.

Сокращение Расшифровка
ЭВМ Электронная вычислительная машина
ПО Программное обеспечение
ОКС Объект капитального строительства
УИН Уникальный идентификационный номер объекта капитального строительства
LPI-VAP-CORE Центральный модуль управления данными и распределёнными вычислениями
LPI-VAP-MM Компонент управления моделями видеоаналитики
LPI-VAP-RS Компонент среды разработки сценариев видеоаналитики
LPI-VAP-MLLM Компонент обработки мультимодальных данных
LLM Большая языковая модель (Large Language Model); в настоящем документе — мультимодальная языковая модель
API Программный интерфейс приложения (Application Programming Interface)
REST Архитектурный стиль программных интерфейсов на основе HTTP (Representational State Transfer)
gRPC Протокол вызова удалённых процедур, применяемый между составными частями
HTTP, HTTPS Протокол передачи гипертекста и его защищённая версия
WebSocket Протокол двустороннего обмена сообщениями между браузером и сервером
RTSP Протокол управления потоковой передачей видео (Real Time Streaming Protocol)
HLS Протокол доставки видео через HTTP (HTTP Live Streaming)
WebRTC Технология доставки видео в браузер в режиме реального времени
TURN, STUN Служебные протоколы установления соединения WebRTC
SMTP Протокол отправки электронной почты
NTP Протокол синхронизации времени
OIDC Протокол аутентификации OpenID Connect
OAuth 2.0 Протокол авторизации, применяемый совместно с OIDC
S3 Протокол доступа к объектному хранилищу
SQL Язык запросов к реляционным базам данных
GraphQL Язык запросов к данным, применяемый в отдельных интерфейсах компонента
JSON, YAML Текстовые форматы представления структурированных данных
HTML, CSS, SCSS Языки разметки и оформления веб-интерфейса
PDF, XLSX Форматы выгрузки отчётов
JPG, PNG, MP4 Форматы хранения изображений и видеофрагментов событий
ONNX Открытый формат представления моделей машинного обучения
CPU Центральный процессор
GPU Графический процессор (графический ускоритель)
RAM Оперативная память
SSD, HDD Твердотельный и жёсткий диск
CUDA Программно-аппаратная платформа вычислений на графических ускорителях NVIDIA

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

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

Параметр Значение
Полное наименование Центральный модуль управления данными и распределёнными вычислениями
Краткое наименование Компонент «Центральный модуль»
Обозначение (артикул) LPI-VAP-CORE
Состав изделия Компонент программы для ЭВМ «Vizorlabs Platform 4.0» («Визорлабс Платформа 4.0»; далее — Платформа 4.0)
Реестровая запись № 33642 от 21.05.2026 в Едином реестре российских программ для электронных вычислительных машин и баз данных
Производитель (правообладатель) ООО «ЛАБОРАТОРИЯ ПРОМЫШЛЕННОГО ИНТЕЛЛЕКТА»
Вид поставки Простая (неисключительная) лицензия; срок действия прав — весь срок действия исключительного права на программное обеспечение
Гарантийное обслуживание 36 месяцев

Компонент поставляется как простая (неисключительная) лицензия на программу для ЭВМ «Vizorlabs Platform 4.0» («Визорлабс Платформа 4.0») в составе «Центральный модуль управления данными и распределёнными вычислениями, арт. LPI-VAP-CORE» и является управляющим и исполняющим контуром Платформы 4.0.

В соответствии со спецификацией на поставку компонент обеспечивает: ведение иерархической структуры (округ, адрес, камера) с произвольной вложенностью; создание и редактирование учётных записей, присвоение ролей и назначение полномочий с разграничением доступа к данным и управляющим действиям на основе ролевой модели; создание, редактирование и удаление камер с указанием типа, протокола передачи данных и параметров подключения, их привязку к объектам и управление статусом активности; создание типов зон, зон на изображении камеры и пиксельных полигонов; привязку и отвязку исполняемых версий сценариев к камерам из версионного хранилища; динамическую балансировку нагрузки и распределение источников данных между вычислительными ресурсами; поддержку моделей компьютерного зрения для задач классификации, детекции и сегментации и логическую обработку их результатов; автоматическую фиксацию событий и нарушений в зонах при срабатывании заданных условий, их обработку и долговременное хранение вместе со связанными медиаданными в форматах JPG, PNG и MP4; представление камер, событий и нарушений в интерфейсе, принятие решений и комментирование; сбор, хранение и визуализацию логов действий пользователей; настройку правил уведомлений и их отправку по электронной почте; вычисление агрегированных статистических показателей, формирование отчётов и их выгрузку в форматах PDF и XLSX; создание и модификацию параметров подключения внешних источников медиаданных и синхронизацию с ними перечней камер; приём видеопотоков от камер и отдельных кадров от сервисов снятия скриншотов, просмотр трансляций и архивных записей встроенным плеером; обмен данными с внешними интеграционными интерфейсами — синхронизацию идентификаторов камер и передачу событий видеоаналитики с указанием идентификатора задачи.

Полный перечень технических характеристик приведён в спецификации на поставку. Классы решаемых задач и границы функциональной ответственности компонента приведены в разделе 2.

Компонент состоит из функциональных блоков, приведённых в таблице 1.1.1. Перечень составных частей каждого блока, их функции, входы и выходы приведены в подразделе 3.3 и в настоящем подразделе не повторяются. Имена сервисов являются техническими обозначениями в схеме развёртывания Платформы 4.0 и не являются самостоятельными программными продуктами.

Функциональный блок Краткое назначение
Веб-интерфейс и шлюз доступа Экранные формы рабочего места и единая точка вызова операций компонента
Пользователи и разграничение доступа Учётные записи, аутентификация во внешней системе единого входа, роли, полномочия и аудит действий
Иерархия объектов, камеры и зоны Ведение объектов, карточек камер, зон и справочников
Подключение и синхронизация источников медиаданных Подключение внешних систем видеонаблюдения и сервисов кадров, синхронизация перечней камер, ретрансляция потоков
Приём видеопотоков и кадров Приём и декодирование потоков, получение отдельных кадров, хранение кадров и временных данных
Распределение нагрузки и выполнение видеоаналитики Распределение источников между вычислительными нодами и исполнение назначенных версий сценариев и моделей
Формирование и хранение событий Фильтрация результатов, применение правил нарушений, хранение событий, решений и комментариев
Видеофрагменты и архивные записи Формирование и хранение видеофрагментов событий, подготовка видео для отчётов и доставка видео в браузер
Уведомления Правила уведомлений и отправка сообщений по электронной почте
Статистика и отчётность Расчёт агрегированных показателей, формирование отчётов PDF и XLSX, экспорт карточек событий
Интеграционный обмен Передача событий во внешние интеграционные интерфейсы, синхронизация идентификаторов, журнал обмена
Общесистемные средства Хранение данных, обмен сообщениями между составными частями, объектное хранилище медиаданных, сбор журналов

Таблица 1.1.1 — Функциональные блоки компонента.

flowchart TB OP["Рабочее место
пользователя"] --> GW["Веб-интерфейс
и шлюз API"] subgraph CORE["LPI-VAP-CORE"] direction TB GW --> ADM["Пользователи, объекты,
камеры и зоны"] ADM --> MEDIA["Приём видеопотоков
и кадров"] MEDIA --> EXEC["Распределение нагрузки
и видеоаналитика"] EXEC --> EV["События
и медиаданные"] EV --> OUT["Уведомления, отчёты,
интеграционный обмен"] EV --> GW OUT --> GW end SRC["Источники
медиаданных"] --> MEDIA MMRS["LPI-VAP-MM,
LPI-VAP-RS"] --> EXEC EV <--> MLLM["LPI-VAP-MLLM"] OUT --> EXT["Внешние системы
заказчика"]

Схема 1.1 — Место LPI-VAP-CORE в Платформе 4.0

1.2. Программное обеспечение, необходимое для функционирования программы

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

Уровни программного обеспечения, необходимого для функционирования компонента, приведены на схеме 1.2; состав каждого уровня раскрыт в п. 1.2.1–1.2.5.

flowchart TB L1["Уровень 1. Технические средства узлов кластера
серверы x86-64, графические ускорители, накопители, сеть
(раздел 4)"] L2["Уровень 2. Системное программное обеспечение
«Московская серверная операционная система», среда исполнения контейнеров,
Kubernetes, драйвер NVIDIA и средства предоставления ускорителей, CUDA
(п. 1.2.1)"] L3["Уровень 3. Общесистемные сервисы Платформы 4.0
PostgreSQL, ClickHouse, Apache Kafka, MinIO, Redis, nginx, MediaMTX, coturn, Loki
(п. 1.2.2)"] L4["Уровень 4. Среды исполнения и библиотеки
Python, Node.js, GStreamer, FFmpeg, PyTorch, ONNX Runtime, TensorRT и другие
(п. 1.2.3)"] L5["Уровень 5. Составные части LPI-VAP-CORE
прикладные сервисы, вычислительный контур, веб-интерфейс и шлюз
(п. 1.1, подраздел 3.3)"] L6["Уровень 6. Клиентское программное обеспечение
веб-браузер рабочего места пользователя
(п. 1.2.5)"] EXTC["Смежные компоненты и внешние средства
LPI-VAP-MM, LPI-VAP-RS, LPI-VAP-MLLM,
внешняя система единого входа, источники медиаданных, внешние системы заказчика
(п. 1.2.4)"] L1 --> L2 --> L3 --> L4 --> L5 --> L6 L5 <--> EXTC

Схема 1.2 — Уровни программного обеспечения, необходимого для функционирования компонента.

1.2.1. Системное программное обеспечение

Наименование Версия Назначение
«Московская серверная операционная система» По спецификации поставки Целевая серверная операционная система эксплуатации мастер-ноды и вычислительных нод
Среда исполнения контейнеров По спецификации поставки Изолированное исполнение составных частей кластера в контейнерах
Kubernetes По спецификации поставки Оркестрация составных частей в кластере: размещение по типам узлов, контроль готовности, перезапуск при отказе, управление ресурсами
Драйвер NVIDIA Совместимая с CUDA 12.6 версия по спецификации поставки Использование графических ускорителей вычислительных нод
NVIDIA Container Toolkit По спецификации поставки Предоставление графических ускорителей контейнерам видеоаналитики и подготовки видеофрагментов
CUDA, cuDNN, TensorRT 12.6; 9.5; 10.4 (в составе согласованных образов) Исполнение моделей детекции, классификации и сегментации на GPU
Служба синхронизации системного времени В составе целевой операционной системы Единая шкала времени для кадров, событий, отчётов и записей аудита на всех нодах

Сервисы управления данными, интерфейса и интеграции исполняются на CPU. Графические ускорители требуются вычислительным нодам, выполняющим видеоаналитику, и сервису подготовки видеофрагментов. Требования к техническим средствам приведены в разделе 4.

1.2.2. Общесистемные (инфраструктурные) сервисы Платформы 4.0

Наименование Подтверждённая версия Использование компонентом
PostgreSQL Не ниже 17.5 Общее транзакционное хранилище: учётные записи, роли и полномочия, иерархия объектов, камеры, зоны и полигоны, привязки сценариев, правила уведомлений, параметры подключения источников, задания отчётов, состояние распределения нагрузки
ClickHouse Не ниже 24.6.1 Аналитическое хранилище журнала событий и нарушений, счётчиков и агрегированных статистических показателей
Apache Kafka (режим KRaft) Не ниже 3.7.0 Обмен сообщениями между составными частями: команды по камерам, детекции и нарушения, обновления статусов, задания отчётов и уведомлений, записи аудита
MinIO (S3-совместимое хранилище) Не ниже выпуска RELEASE.2022-10-24 Долговременное хранение кадров, размеченных изображений, видеофрагментов и файлов отчётов
Redis Не ниже 6.0.9 Кэш пользовательских сессий, временные состояния сервисов и очереди коротких заданий
nginx Не ниже 1.29.0 Веб-шлюз: выдача клиентского приложения, маршрутизация HTTP-, GraphQL- и WebSocket-запросов, разграничение доменов сервисов
MediaMTX Не ниже 1.8.0 Публикация и ретрансляция видеопотоков (RTSP, WebRTC, HLS) для просмотра в веб-интерфейсе
coturn Не ниже 4.6.1 Служба TURN/STUN при доставке видео в браузер по WebRTC
Loki Не ниже 2.7.0 Централизованный сбор и хранение журналов контейнеров составных частей

Приведённые версии подтверждены по контрольной сборке компонента и при формировании целевой поставки подлежат сверке с её ведомостью контейнерных образов. PostgreSQL, ClickHouse и MinIO содержат постоянные данные и включаются в резервное копирование. Аутентификация пользователей выполняется во внешней системе единого входа по протоколу OIDC/OAuth 2.0; ролевая модель, полномочия и область видимости объектов ведутся собственными составными частями компонента (п. 1.2.4).

1.2.3. Среды исполнения и системные библиотеки

Среда исполнения Версия Составные части
Python Не ниже 3.11 Основные серверные сервисы: пользователи и доступ, камеры, зоны и справочники, события и решения, отчёты, уведомления, распределение нагрузки, обработка кадров, шлюз REST и GraphQL. Исполняющее ядро видеоаналитики — не ниже 3.12, сервер приёма и декодирования видеопотоков — не ниже 3.13. Отдельные сервисы статистики и синхронизации, сохранённые из предыдущих версий Платформы, исполняются на версии не ниже 3.9
Node.js Не ниже 22.8.0 Сборка клиентского веб-приложения; на эксплуатационных серверах поставляется готовый контейнерный образ
Браузерная среда JavaScript Поддерживаемая версия браузера Исполнение пользовательского интерфейса на рабочем месте
GStreamer Не ниже 1.26.6 Приём, декодирование и преобразование видеопотоков
FFmpeg Не ниже 5.1.2; для приёма видеопотоков — не ниже 7.1 Перекодирование, нарезка и подготовка видеоматериалов событий и отчётов

Основные библиотеки и фреймворки приведены в таблице.

Библиотека или средство Версия Назначение
FastAPI Не ниже 0.108.0 Реализация прикладных HTTP- и API-интерфейсов
Uvicorn Не ниже 0.13.3 ASGI-сервер приложений
Pydantic Не ниже 2.13.4 Описание и проверка запросов, ответов и конфигурации
Tortoise ORM, Aerich Не ниже 0.19.0 и 0.5.3 соответственно Доступ к PostgreSQL и управление схемами данных
psycopg2 Не ниже 2.9 Драйвер PostgreSQL
clickhouse-connect, clickhouse-driver Не ниже 0.14.0 и 0.2.11 соответственно Доступ к аналитическому хранилищу событий и статистики
aiokafka, kafka-python Не ниже 0.8.0 и 2.0.2 соответственно Асинхронный и синхронный обмен сообщениями через Apache Kafka
MinIO SDK, miniopy-async Не ниже 7.2 и 1.21 соответственно Работа с S3-совместимым объектным хранилищем
vzrpc, protobuf, gRPC Не ниже 2.0 и 6.33 соответственно Внутренние типизированные программные интерфейсы между сервисами
Ariadne Не ниже 1.1.0 Схема и обработка GraphQL-запросов веб-интерфейса
websockets Не ниже 12.0 Потоковая доставка событий и обновлений состояний в интерфейс
aiohttp, HTTPX Не ниже 3.12 и 0.27 соответственно Взаимодействие с внутренними сервисами и внешними системами по HTTP
OpenCV, NumPy, Pillow Не ниже 4.7, 1.25 и 10.4 соответственно Обработка кадров и изображений, разметка детекций
PyGObject Не ниже 3.50.0 Управление конвейерами GStreamer из Python
PyTorch, ONNX Runtime, TensorRT Не ниже 2.7.0, 1.22.0 и 10.4 соответственно Исполнение моделей видеоаналитики на графических ускорителях
Jinja2, openpyxl, pandas, matplotlib Не ниже 3.1.2, 3.0.7, 2.2 и 3.7.1 соответственно Формирование отчётов в форматах PDF и XLSX, расчёт выборок и построение диаграмм
React, TypeScript, MUI, Apollo Client, Chart.js Не ниже 18.2, 4.7, 5.8, 3.6 и 4.4 соответственно Реализация пользовательского веб-интерфейса

Указанные версии являются минимально допустимыми: разные составные части могут использовать более новые совместимые версии. Для эксплуатации применяются готовые контейнерные образы; установка Python-, Node.js- и вычислительных библиотек непосредственно в целевую операционную систему не требуется. Точный состав каждого образа фиксируется в формуляре поставки.

1.2.4. Смежные компоненты Платформы 4.0 и внешние программные средства

Компонент или программное средство Обозначение Взаимодействие
Компонент управления моделями видеоаналитики LPI-VAP-MM Предоставляет опубликованные версии моделей, их метаданные и категории детекции, используемые при исполнении сценариев и при формировании событий
Компонент среды разработки сценариев видеоаналитики LPI-VAP-RS Предоставляет опубликованные исполняемые версии сценариев, привязываемые к камерам компонентом LPI-VAP-CORE
Компонент обработки мультимодальных данных LPI-VAP-MLLM Принимает кадры и зарегистрированные события на мультимодальную обработку и возвращает структурированные результаты, учитываемые при формировании и проверке событий
Внешняя система видеонаблюдения Внешнее средство заказчика Источник перечня камер, параметров подключения и видеопотоков; приёмник запросов синхронизации
Сервис получения отдельных кадров Внешнее средство заказчика Выдаёт кадры камер по запросу и по расписанию для сценариев покадровой обработки
Система хранения архивных видеозаписей Внешнее средство заказчика Предоставляет архивные фрагменты для просмотра во встроенном плеере и для приложений к событиям
Внешний интеграционный интерфейс приёма событий Внешнее средство заказчика Принимает передаваемые события видеоаналитики с указанием идентификатора задачи и участвует в синхронизации идентификаторов камер
Внешняя система единого входа Внешнее средство заказчика Аутентификация пользователей по протоколу OIDC/OAuth 2.0: выдача авторизационного кода, маркера доступа и маркера обновления, предоставление сведений о пользователе и его групповых правах
Почтовый сервер (SMTP) Внешнее средство заказчика Отправка уведомлений о событиях и нарушениях, а также сформированных отчётов

Обучение и конвертация моделей, разработка и отладка сценариев, а также исполнение мультимодальных моделей не входят в границу ответственности LPI-VAP-CORE. Внутренние технические сервисы, перечисленные в п. 1.1, являются составными частями компонента и не рассматриваются как отдельные программные продукты.

1.2.5. Клиентское программное обеспечение

Рабочее место пользователя должно иметь сетевой доступ к веб-интерфейсу Платформы 4.0 и веб-браузер с поддержкой HTML5, JavaScript и WebSocket; для просмотра трансляций камер, подключённых видеопотоком, дополнительно требуется поддержка WebRTC. Могут использоваться Google Chrome версии не ниже 80, Яндекс.Браузер или Mozilla Firefox сопоставимой поддерживаемой версии. Для просмотра выгруженных материалов на рабочем месте требуются средства просмотра документов PDF и электронных таблиц XLSX, а также средство воспроизведения видеофайлов MP4; просмотр видеопотоков и записей в интерфейсе выполняется встроенным плеером браузера. Установка исполняемых частей компонента, дополнительных подключаемых модулей браузера или средств работы с GPU на рабочее место пользователя не требуется.

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

Язык Где применён
Python Серверная логика управления пользователями, объектами, камерами и зонами, обработка кадров и видеопотоков, исполнение сценариев видеоаналитики, формирование событий, отчётов, уведомлений и интеграционного обмена
TypeScript, JavaScript Пользовательский веб-интерфейс и клиентское взаимодействие с GraphQL-, HTTP- и WebSocket-интерфейсами
HTML, CSS, SCSS Представление и оформление экранных форм и шаблонов отчётов
SQL Схемы и операции с данными PostgreSQL и ClickHouse
GraphQL Схема и запросы веб-интерфейса к шлюзу прикладных интерфейсов
JSON, JSON Schema Параметры программных интерфейсов, конфигурации камер и сценариев, структуры событий и результатов обработки
YAML Конфигурация контейнерного развёртывания, медиасервера и правил журналирования
Protocol Buffers Декларативное описание внутренних типизированных программных интерфейсов и сообщений
Bash Сценарии запуска, инициализации и проверки готовности контейнерных составных частей

Сторонние общесистемные средства (СУБД, брокер сообщений, объектное хранилище, медиасервер, средства мониторинга) поставляются готовыми образами; языки их реализации не являются языками прикладной логики LPI-VAP-CORE и в таблице не приводятся.

2. Функциональное назначение

Центральный модуль управления данными и распределёнными вычислениями (LPI-VAP-CORE) предназначен для централизованного управления данными видеоаналитики и распределёнными вычислениями Платформы 4.0. Компонент объединяет в одном контуре настройку наблюдения, распределённую обработку видеопотоков и работу с её результатами. Классы решаемых задач приведены в подразделе 2.1, состав входных и выходных данных — в разделах 6 и 7.

Компонент не выполняет загрузку, конвертацию и версионирование моделей, не предоставляет среду разработки и отладки сценариев и не исполняет мультимодальные языковые модели. Эти функции реализованы компонентами LPI-VAP-MM, LPI-VAP-RS и LPI-VAP-MLLM. Компонент применяет их результаты: опубликованные версии моделей и сценариев — при обработке видеопотоков, а результаты мультимодальной обработки — при формировании и проверке событий.

2.1. Классы решаемых задач

Класс задач Функции компонента Результат
Управление пользователями и доступом Аутентификация пользователя во внешней системе единого входа и проверка его группового права; создание, редактирование и удаление учётных записей; присвоение ролей и назначение полномочий; разграничение доступа к данным и управляющим действиям по ролевой модели; ограничение видимости объектов и камер Учётная запись с определённым набором прав и доступной областью данных
Ведение иерархии объектов Создание, редактирование и удаление элементов структуры (округ, адрес, камера) с произвольной вложенностью; навигация по цепочке «округ → объект → камера → зоны» Актуальная организационная структура объектов наблюдения
Управление камерами Создание и редактирование камеры с указанием типа, протокола передачи данных и параметров подключения; удаление камеры; привязка к объекту; изменение расположения и статуса активности; включение и отключение видеоаналитики для камеры или набора камер; автоматическое обновление статусов камер и детекторов Настроенная камера, подключённая к объекту и, при необходимости, к контуру видеоаналитики
Ведение зон и справочников Создание, редактирование и удаление типов зон и типов ракурсов с закреплением за ракурсом промптов и пресетов; создание и редактирование зон на изображении камеры; построение связанных или независимых пиксельных полигонов; ведение справочников категорий и типов нарушений Размеченные зоны камеры и справочники, используемые сценариями при формировании событий
Подключение и синхронизация источников медиаданных Создание, хранение и изменение параметров подключения внешних систем видеонаблюдения, сервисов снятия кадров, систем хранения архивов и интеграционных интерфейсов; синхронизация списков камер; управление параметрами синхронизации Согласованный с внешним источником перечень камер и действующие параметры подключения
Приём медиаданных и просмотр Приём видеопотоков камер, одновременный просмотр изображений нескольких камер на видеостене, получение отдельных кадров от сервисов снятия кадров по расписанию опроса; ретрансляция потока в интерфейс; просмотр трансляций и архивных записей встроенным плеером; формирование превью камер Доступные для обработки и просмотра видеопотоки, кадры и архивные фрагменты
Управление видеоаналитикой на камерах Привязка и отвязка исполняемых версий сценариев из версионного хранилища; учёт зон и заданных для них условий; включение и отключение обработки Камера с назначенной исполняемой версией сценария и заданными условиями формирования событий
Распределение вычислительной нагрузки Динамическое распределение источников данных между вычислительными ресурсами с учётом их состояния и загрузки; перераспределение при отказе или добавлении ноды; контроль состояния нод и детекторов Равномерно загруженный вычислительный контур и восстановление обработки после отказов
Выполнение видеоаналитики Исполнение назначенных версий сценариев с применением моделей классификации, детекции и сегментации; логическая обработка результатов; автоматическая фиксация событий и нарушений в зонах при срабатывании заданных условий Результаты детекции и сформированные события и нарушения с привязкой к камере, зоне и категории
Обработка и хранение событий Фильтрация результатов, применение правил формирования нарушений, долговременное хранение событий и связанных медиаданных в форматах JPG, PNG и MP4; ведение журнала событий с сортировкой и фильтрацией; отображение динамического потока событий в реальном времени Журнал событий и нарушений с доступными медиаматериалами
Представление событий Динамический поток оповещений, журналы событий и нарушений с отбором, сортировкой и группировкой, представление записей в виде таблицы, изображений и мультикарточек Экранные формы разбора накопленных и поступающих записей
Принятие решений и комментирование Просмотр карточки события с идентификатором, камерой, зоной, расположением, датой и временем, категорией и размеченным изображением; подтверждение или отклонение события; ведение комментариев и истории принятия решений Событие с зафиксированным решением, комментариями и прослеживаемой историей обработки
Уведомления Настройка правил уведомлений по объектам и видам нарушений; формирование уведомлений по факту события и по расписанию; отправка по электронной почте Доставленное пользователю уведомление в соответствии с настроенным правилом
Аудит Сбор, хранение и визуализация записей о действиях пользователей в системе Журнал действий пользователей для контроля и разбора инцидентов
Статистика и отчётность Вычисление агрегированных показателей (количество нарушений по объектам, категориям детекции и периодам); отображение показателей на информационной панели; формирование и визуализация отчётов; выгрузка отчётов по выборке событий в форматах PDF и XLSX; экспорт карточки события с фотографией Информационная панель и выгруженные отчётные документы
Интеграционный обмен Синхронизация идентификаторов камер с внешними системами; передача событий видеоаналитики с указанием идентификатора задачи; приём и обработка управляющих и справочных данных; ведение журнала обмена Согласованные данные и переданные во внешнюю систему события
Программное управление Предоставление программных интерфейсов Платформы 4.0 для операций с пользователями, объектами, камерами, зонами, сценариями, событиями, уведомлениями, отчётами и интеграциями Выполнение функций компонента из пользовательского интерфейса и внешних систем

Основной функциональный цикл компонента приведён на схеме 2.1.

flowchart TB ADMIN["Настройка: пользователи,
объекты, камеры, зоны"] --> BIND["Назначение версии
сценария камере"] SRC["Внешние источники:
видеопотоки, кадры, архив"] --> INTAKE["Приём и подготовка
медиаданных"] ADMIN --> SRC BIND --> DIST["Распределение источников
между вычислительными нодами"] INTAKE --> DIST DIST --> RUN["Выполнение сценария:
модели и логика зон"] RUN --> COND{"Условия зоны
выполнены?"} COND -->|нет| DROP["Результат детекции
без регистрации нарушения"] COND -->|да| EVENT["Событие или нарушение
с медиаданными"] EVENT --> STORE["Журнал событий
и хранилище медиаданных"] STORE --> OPER["Просмотр, решение
и комментарии оператора"] STORE --> NOTIFY["Уведомления"] STORE --> STAT["Статистика и отчёты"] STORE --> INTEG["Передача во внешние
интеграционные интерфейсы"] OPER --> AUDIT["Аудит действий
пользователей"]

Схема 2.1 — Функциональный цикл компонента LPI-VAP-CORE.

2.2. Сведения о функциональных ограничениях на применение

Ограничение Условие применения
Типы источников и протоколы Поддерживаются приём потока по RTSP (в режимах TCP и UDP), периодическое получение отдельных кадров от внешних сервисов снятия кадров, приём трансляции HLS, внутренняя ретрансляция через медиасервер Платформы 4.0 и виртуальные камеры на основе загруженных видеозаписей. Подключение источников иных типов требует согласования и наличия соответствующего адаптера в составе поставки
Доступность источников Обработка возможна только при доступности источника, корректных параметрах подключения и достаточной пропускной способности сети. За период недоступности камеры или сервиса кадров компонент не восстанавливает пропущенные кадры и не формирует события задним числом, за исключением обработки загруженных архивных видеозаписей
Форматы медиаданных Изображения событий хранятся и выгружаются в форматах JPG и PNG, видеофрагменты — в формате MP4. Кодеки и параметры входного потока должны поддерживаться средствами приёма и декодирования компонента; экзотические кодеки и профили требуют проверки при вводе в эксплуатацию
Модели и сценарии Применяются только опубликованные версии моделей и сценариев, поступающие из компонентов LPI-VAP-MM и LPI-VAP-RS. Поддерживаются модели классификации, детекции и сегментации объектов. Новый тип задачи или логического блока требует поддержки в исполняющем контуре и повторной публикации версии сценария
Зоны и полигоны События формируются только для зон, для которых заданы условия в назначенной версии сценария. На изображении камеры создаётся не менее восьми связанных или независимых пиксельных полигонов; предельное число зон и полигонов на одну камеру для целевой поставки уточняется. Корректность разметки зон при изменении ракурса или положения камеры должна поддерживаться оператором
Число камер и лицензирование Количество подключаемых камер не ограничивается лицензионной политикой. Фактический предел определяется доступными вычислительными ресурсами, пропускной способностью сети и хранилищ и профилем опроса кадров (см. подраздел 2.3)
Вычислительные ресурсы Одновременно обрабатываемое число источников ограничено производительностью вычислительных нод и объёмом видеопамяти графических ускорителей. При исчерпании ресурсов новые источники не распределяются либо обрабатываются с увеличенным интервалом опроса; приоритеты и порядок вытеснения задаются настройками распределения нагрузки
Пользователи и одновременная работа Показатель одновременной работы установлен для не менее чем 200 пользователей при типовом профиле. Большее число одновременных сессий, а также массовые выгрузки и построение отчётов на больших выборках требуют пересчёта конфигурации технических средств
Отчётность Время формирования отчёта зависит от объёма выборки, наличия изображений и глубины периода. Предельные объём выборки и период отчёта для целевой поставки уточняются; выгрузка отчёта не отменяет ограничений разграничения доступа — в отчёт включаются только доступные пользователю данные
Хранение данных Глубина хранения событий, изображений и видеофрагментов ограничена объёмом хранилищ целевой поставки и настройками очистки. Сроки хранения по типам данных подлежат согласованию; при исчерпании хранилища приём новых данных должен быть защищён политикой очистки
Единое системное время Расписания опроса камер, сопоставление кадров и событий, отчётные периоды и записи аудита опираются на единое системное время. Рассинхронизация времени между серверами приводит к некорректной хронологии событий и ошибкам в отчётах
Разграничение доступа Операции выполняются аутентифицированными пользователями в соответствии с ролевой моделью. Наличие операции в программном интерфейсе не предоставляет права на её выполнение без соответствующего полномочия
Уведомления Отправка уведомлений возможна при доступности почтового сервера, корректных учётных данных и разрешённом сетевом доступе. Компонент отвечает за формирование и передачу уведомления и не гарантирует его доставку средствами внешних служб
Интеграционный обмен Передача событий и синхронизация идентификаторов камер возможны при доступности внешнего интеграционного интерфейса и согласованном формате обмена. При недоступности внешней системы сообщения накапливаются в очереди; глубина очереди, число повторных попыток и порядок обработки отказов определяются настройками целевой поставки
Рабочее место пользователя Работа выполняется через веб-браузер; отдельное клиентское приложение не поставляется. Для просмотра видеопотоков и записей необходим сетевой доступ к медиапортам Платформы 4.0, в том числе для WebRTC; блокировка этих портов средствами защиты сети делает просмотр невозможным при сохранении остальных функций
Граница назначения Компонент не выполняет загрузку и конвертацию моделей, разработку и отладку сценариев, исполнение мультимодальных языковых моделей и не заменяет внешние системы видеонаблюдения и архивирования. Неработоспособность смежного компонента или внешней системы ограничивает только связанные с ней функции

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

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

Показатель Требование Условия измерения
Время обработки события или нарушения — от возникновения в кадре до отображения в пользовательском интерфейсе Не более 10 секунд Штатный режим работы контура, доступность источника и вычислительной ноды, единое системное время на всех узлах
Задержка отклика пользовательского интерфейса Не более 5 секунд Типовые экранные формы (перечень камер, журнал событий, карточка события, информационная панель) при согласованном объёме данных и профиле нагрузки
Время формирования и выгрузки отчёта по зафиксированным событиям и нарушениям в форматах PDF и XLSX Не более 3 минут Выборка согласованного объёма; учитывается полный цикл от подтверждения параметров до получения файла
Количество одновременно работающих пользователей Не менее 200 Одновременные аутентифицированные сессии, выполняющие типовой профиль операций
Скорость обработки кадров на каждой вычислительной ноде Не менее 45 000 кадров в час Устойчивый режим обработки при назначенных сценариях и моделях; учитываются успешно обработанные кадры
Время обработки API-запроса, кроме первичной синхронизации Не более 3 секунд Операции программного интерфейса при штатной нагрузке; первичная синхронизация перечня камер с внешним источником исключается
Предельное число записей, выгружаемых в один отчёт Определяется параметрами поставки Выгрузка выборки журнала в форматах PDF и XLSX; при превышении выводится сообщение об ограничении
Время отправки события во внешнюю систему — от момента фиксации события в журнале Не более 5 секунд Доступность и штатное время отклика внешнего интеграционного интерфейса

Таблица 2.3.1 — Показатели назначения компонента LPI-VAP-CORE.

Дополнительно к таблице 2.3.1 целевыми требованиями установлены показатели масштаба: количество подключаемых камер не ограничивается лицензионной политикой, а при опросе одного кадра раз в две минуты обрабатываются кадры не менее чем от 6000 камер на инфраструктуре из мастер-ноды и четырёх вычислительных нод. Расчёт числа вычислительных нод, порядок масштабирования и характеристики оборудования приведены в разделе 4.

Показатели обеспечиваются при следующих условиях:

  1. конфигурация технических средств соответствует разделу 4: число и характеристики мастер-ноды и вычислительных нод, количество и модель графических ускорителей, параметры сети и хранилищ;
  2. системное время на всех узлах синхронизировано с единым источником, что обеспечивает единую хронологию кадров, событий и записей аудита;
  3. число камер, интервалы опроса и назначенные версии сценариев не превышают значений, на которые рассчитана конфигурация (подразделы 4.2 и 4.3);
  4. время обработки события отсчитывается от метки времени кадра, присвоенной при приёме медиаданных, до появления события в динамическом потоке и журнале интерфейса;
  5. задержка отклика интерфейса отсчитывается от действия пользователя до полной отрисовки экранной формы при штатном объёме отображаемых данных;
  6. время формирования отчёта отсчитывается от подтверждения параметров выгрузки до получения готового файла и зависит от объёма выборки, периода и наличия изображений;
  7. скорость обработки кадров относится к устойчивому режиму работы вычислительной ноды и учитывает только успешно обработанные кадры;
  8. время обработки API-запроса относится к штатной нагрузке и не включает первичную синхронизацию перечня камер с внешним источником;
  9. время отправки события во внешнюю систему отсчитывается от записи события в журнал до подтверждения приёма внешним интерфейсом и обеспечивается при штатном времени отклика этой системы.

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

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

3.1. Алгоритм программы

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

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

flowchart TB LOGIN["Вход пользователя,
роли и полномочия"] --> SETUP["Настройка объектов,
камер и зон"] SETUP --> SRC{"Источник
доступен?"} SRC -->|нет| DOWN["Статус «камера недоступна»,
запись в журнал ошибок,
повторные попытки"] DOWN -.-> SRC SRC -->|да| MEDIA["Приём видеопотока
или кадров"] SETUP --> SCEN["Назначение опубликованной
версии сценария камере"] SCEN --> DIST["Распределение источников
между вычислительными нодами"] MEDIA --> DIST DIST --> NODE{"Нода доступна
и имеет ресурс?"} NODE -->|нет| REBAL["Перераспределение камер
на доступные ноды"] REBAL -.-> DIST NODE -->|да| RUN["Выполнение сценария:
модели и логика зон"] RUN --> COND{"Условия зоны
выполнены?"} COND -->|нет| ONLY["Результат детекции
без регистрации нарушения"] COND -->|да| EVENT["Формирование события
с медиаданными"] EVENT --> STORE{"Хранилища
доступны?"} STORE -->|нет| RETRY["Сообщение остаётся в очереди,
повторная запись"] RETRY -.-> STORE STORE -->|да| JOURNAL["Журнал событий,
динамический поток, карточка"] JOURNAL --> DECIS["Решение оператора
и комментарии"] JOURNAL --> NOTIF["Уведомления"] JOURNAL --> REPORT["Статистика и отчёты"] JOURNAL --> EXT{"Внешняя система
доступна?"} EXT -->|нет| QUEUE["Накопление в очереди,
повторная отправка"] QUEUE -.-> EXT EXT -->|да| SENT["Событие передано
во внешнюю систему"] DECIS --> AUDIT["Аудит действий"]

Схема 3.1 — Общий алгоритм работы компонента LPI-VAP-CORE.

3.1.1. Аутентификация, авторизация и разграничение доступа

  1. Пользователь обращается к веб-интерфейсу; шлюз выдаёт клиентское приложение и маршрутизирует последующие запросы к сервисам компонента.
  2. Аутентификация выполняется во внешней системе единого входа по протоколу OIDC/OAuth 2.0 в режиме авторизационного кода: пользователь перенаправляется на адрес авторизации внешней системы с идентификатором зарегистрированного приложения, запрошенными разрешениями, адресом возврата и случайным идентификатором запроса, который защищает от перехвата и возвращается в ответе. При наличии действующей сессии внешняя система возвращает авторизационный код, иначе предварительно запрашивает учётные данные пользователя.
  3. Полученный авторизационный код обменивается на маркер доступа, маркер обновления и маркер идентификации. Сведения о пользователе и его групповых правах запрашиваются средствами аутентификации и авторизации внешней системы; доступ предоставляется при наличии соответствующего группового права. Сессионные данные размещаются в кэше, срок действия маркера доступа контролируется, а его продление выполняется по маркеру обновления без повторного входа пользователя. Маркер обновления предоставляется, если это предусмотрено параметрами зарегистрированного приложения.
  4. Каждый последующий запрос сопровождается маркером. Шлюз проверяет его действительность, определяет пользователя и передаёт контекст сервисам.
  5. Сервис разграничения доступа хранит назначенные роли, полномочия и область видимости — перечень объектов и камер, доступных пользователю. Проверка выполняется как для операций изменения, так и для выборок: пользователь получает только те объекты, камеры и события, которые входят в его область.
  6. Выполненные действия публикуются в топик аудита и сохраняются сервисом аудита с указанием пользователя, времени, вида операции и объекта изменения.
  7. Ветвления. Неуспешная аутентификация во внешней системе единого входа — отказ во входе и запись в журнал. Истёкший маркер доступа — продление по маркеру обновления либо повторный вход. Отсутствие требуемого группового права — отказ в доступе к компоненту. При недоступности внешней системы единого входа вход новых пользователей невозможен, действующие сессии продолжают работу до истечения срока действия маркера. При недоступности сервиса разграничения доступа операция не выполняется: отсутствие подтверждённого полномочия трактуется как отказ.

Последовательность входа пользователя приведена на схеме 3.2.

sequenceDiagram autonumber participant U as Пользователь participant GW as Шлюз API participant S as Внешняя система единого входа participant AC as Доступ и аудит U->>GW: Обращение к веб-интерфейсу GW-->>U: Перенаправление на авторизацию U->>S: Запрос авторизации alt Сессия единого входа отсутствует S-->>U: Запрос учётных данных U->>S: Учётные данные end S-->>U: Авторизационный код U->>GW: Передача кода GW->>S: Обмен кода на маркеры S-->>GW: Маркеры и групповые права GW->>AC: Роли, полномочия, область видимости AC-->>GW: Контекст доступа GW-->>U: Рабочая область GW->>AC: Запись действий в аудит

Схема 3.2 — Последовательность входа пользователя.

3.1.2. Управление иерархией объектов, камерами и зонами

  1. Пользователь создаёт и изменяет элементы иерархии (округ, адрес, объект) с произвольной глубиной вложенности. Структура хранится в транзакционном хранилище и используется для навигации, разграничения доступа, фильтрации событий и построения отчётов.
  2. При регистрации камеры указываются тип подключения и протокол передачи данных, параметры подключения, наименование, расположение, привязка к объекту, режим включения (постоянно или по расписанию) и интервал опроса кадров, а также набор категорий детекции.
  3. Изменения состава и параметров камер публикуются в топики добавления, обновления и удаления камеры. Их получают распределение нагрузки, приём медиаданных, обработка кадров, хранилище событий и статистика, что обеспечивает согласованное представление камеры во всех контурах.
  4. Типы зон ведутся как справочник; изменения публикуются отдельными сообщениями и доводятся до контуров, использующих зоны. Категории детекции объединяются в наборы (пресеты), назначаемые камерам.
  5. Зоны камеры создаются на её изображении в виде связанных или независимых пиксельных полигонов. Разметка сохраняется вместе с эталонным кадром и параметрами масштабирования; изменение зон публикуется сообщением об обновлении зон камеры и применяется исполняющим контуром без перезапуска остальных камер.
  6. Статусы поддерживаются автоматически: камера периодически подтверждает доступность сигналом heartbeat, исполняющий контур — состояние детекторов. Отсутствие подтверждения дольше заданного времени переводит камеру в статус «недоступна» и публикует соответствующее сообщение. Интерфейс получает обновления статусов и превью через WebSocket без перезагрузки страницы.
  7. Ветвления. Изменение параметров подключения приводит к переинициализации приёма медиаданных для этой камеры. Удаление камеры не удаляет ранее зарегистрированные события: они сохраняются со ссылкой на исторические сведения о камере. Конфликт наименований при синхронизации с внешним источником разрешается по правилам, описанным в п. 3.1.3.

  8. Камере назначается тип ракурса из справочника. Тип ракурса закрепляет за изображением камеры перечень промптов — проверок, выполняемых мультимодальной языковой моделью, — и пресетов. Изменение состава промптов у типа ракурса применяется ко всем камерам, которым он назначен.

3.1.3. Подключение и синхронизация источников медиаданных

  1. Для внешнего источника (система видеонаблюдения, сервис снятия кадров, хранилище архивных записей, интеграционный интерфейс) сохраняются адрес, параметры аутентификации, режим и интервал синхронизации, а также правила именования и привязки создаваемых камер к объектам.
  2. Первичная синхронизация получает полный перечень камер источника. Записи сопоставляются по внешнему идентификатору: отсутствующие создаются, изменившиеся обновляются, исчезнувшие из источника помечаются признаком отсутствия и не удаляются автоматически.
  3. Включение камер в обработку выполняется порциями с заданным интервалом, чтобы синхронизация большого перечня не создавала пиковую нагрузку на вычислительный контур и внешнюю систему.
  4. Последующая синхронизация выполняется периодически по расписанию и обрабатывает только изменения. Результаты и ошибки обмена фиксируются в журнале синхронизации.
  5. Приём медиаданных выполняется по типу подключения: поток RTSP принимается и декодируется медиасервером и публикуется для просмотра в интерфейсе (HLS и WebRTC); для камер с покадровым режимом обработчик кадров запрашивает изображение у внешнего сервиса с заданным интервалом и размещает его во временном хранилище; архивные фрагменты запрашиваются у внешнего хранилища по камере и интервалу времени.
  6. Ссылки на медиапотоки и кадры, выдаваемые внешними системами на ограниченный срок, обновляются до истечения их действия; при изменении ссылки обработка продолжается без перерегистрации камеры.
  7. Ветвления. Недоступность источника фиксируется в журнале ошибок камеры, переводит её в статус «недоступна» и порождает повторные попытки с заданной периодичностью; пропущенные за это время кадры не восстанавливаются. Ошибка аутентификации во внешней системе останавливает синхронизацию до исправления параметров, ранее полученный перечень камер сохраняется. Недоступность внешнего архива не влияет на приём текущих потоков.

3.1.4. Распределение нагрузки и выполнение видеоаналитики

  1. Для камеры включается видеоаналитика и назначается опубликованная версия сценария из версионного хранилища. Назначение сохраняется в карточке камеры и публикуется сообщением о составе сценариев камеры; отвязка выполняется тем же способом.
  2. Распределение нагрузки ведёт перечень вычислительных нод, их доступность, загрузку и весовые коэффициенты. Камеры распределяются между нодами; при добавлении камеры, изменении состава нод или превышении заданного порога рассогласования выполняется перебалансировка с ограничением частоты перераспределения.
  3. Вычислительная нода получает назначенные камеры, загружает исполняемый код версии сценария и исполняемые артефакты моделей из хранилища моделей, инициализирует конвейер обработки на графическом ускорителе и подтверждает готовность.
  4. Кадры поступают из потока, декодируемого медиасервером, либо из покадрового контура. Для каждого кадра выполняются модели классификации, детекции и сегментации, после чего результаты обрабатываются логическими блоками сценария с учётом зон камеры и заданных условий.
  5. Результаты публикуются в шину: детекции — отдельным потоком, нарушения — потоком событий. Дополнительно публикуются подтверждения работоспособности обработки, состояние детекторов камеры и метрики производительности.
  6. Перед публикацией нарушения применяется фильтр одиночных срабатываний: событие формируется при накоплении заданного числа подтверждений в пределах интервала. Параметры фильтра задаются настройками поставки.
  7. Ветвления. Прекращение подтверждений от ноды переводит её в недоступное состояние, а закреплённые камеры перераспределяются между оставшимися. Отсутствие свободного ресурса откладывает назначение камеры до освобождения мощностей. Ошибка загрузки модели или версии сценария фиксируется, камера помечается как необработанная, и обработка остальных камер продолжается. Недоступность источника обрабатывается по п. 3.1.3.

3.1.5. Формирование, хранение и обработка событий

Жизненный цикл события приведён на схеме 3.3.

flowchart TB DET["Результат сценария:
детекция или нарушение"] --> FILTER["Фильтрация
по правилам и категориям"] FILTER --> RULES["Применение правил
формирования нарушения"] RULES --> ADD["Команда регистрации события"] ADD --> ES["Хранилище событий:
запись, превью, медиаданные"] ES --> VIDEO["Запрос видеофрагмента
и привязка к событию"] VIDEO --> ES ES --> LLM["Дополнительная проверка
(LPI-VAP-MLLM, при включении)"] LLM --> ES ES --> WS["Динамический поток
и журнал событий"] WS --> CARD["Карточка события"] CARD --> DEC["Подтверждение или отклонение,
комментарии, история"] DEC --> ES ES --> OUT["Уведомления, статистика,
отчёты, внешние системы"]

Схема 3.3 — Жизненный цикл события и нарушения.

  1. Исполняющий контур публикует результат сценария с указанием камеры, зоны, категории, времени, кадра и координат обнаруженных областей.
  2. Фильтр событий отсеивает результаты, не подлежащие регистрации, и передаёт остальные на применение правил. Правила определяют вид нарушения, учитывают категории, зоны и заданные исключения и формируют команду регистрации события.
  3. Хранилище событий создаёт запись с идентификатором, привязкой к камере, зоне, объекту и категории, сохраняет размеченное изображение и превью в объектном хранилище, а карточку события — в транзакционном хранилище. Для выборок, статистики и отчётов записи дополнительно ведутся в аналитическом хранилище.
  4. В течение настраиваемого окна к событию добавляются дополнительные материалы: кадры, полученные позднее, и видеофрагмент. Видеофрагмент формируется по запросу к сервису подготовки видео, который возвращает ссылку на файл; при недоступности видеофрагмента событие остаётся действительным с изображениями.
  5. Похожие события одной камеры и категории могут объединяться в группу в пределах заданного временного окна, что уменьшает дублирование записей в журнале.
  6. При включённой дополнительной проверке событие передаётся компоненту обработки мультимодальных данных; полученный результат подтверждает, отклоняет или дополняет событие.
  7. Зарегистрированное событие немедленно публикуется в динамический поток интерфейса через WebSocket и становится доступным в журнале с сортировкой по дате и времени, камере, зоне, сценарию и решению и с фильтрацией по дате и времени, расположению, сценарию, категории и решению.
  8. Оператор открывает карточку события, просматривает изображение и видеофрагмент, подтверждает или отклоняет событие и добавляет комментарий. Решение и комментарии сохраняются вместе с историей изменений и автором.
  9. Очистка хранилища выполняется по заданным правилам: по сроку хранения и по предельному объёму, начиная с отклонённых и наиболее старых событий.
  10. Ветвления. Недоступность объектного хранилища не приводит к потере события: сообщение остаётся в очереди и повторяется, а карточка сохраняется без медиаматериалов до успешной записи. Недоступность аналитического хранилища ограничивает статистику и отчёты, не влияя на регистрацию событий. Переполнение хранилища обрабатывается политикой очистки.

3.1.6. Уведомления, статистика, отчёты и интеграционный обмен

  1. Правила уведомлений задают контролируемые объекты и виды нарушений, получателей, канал доставки по электронной почте и режим отправки — по факту события либо по расписанию.
  2. При регистрации события выполняется проверка правил. Для сработавшего правила формируется сообщение со сведениями о событии, изображением и ссылкой на карточку и передаётся соответствующей службе доставки.
  3. Периодические уведомления и рассылки формируются по расписанию за установленный период и отправляются тем же способом.
  4. Статистические показатели рассчитываются по зарегистрированным событиям в разрезе объектов, категорий детекции и периодов и используются информационной панелью и отчётными формами.
  5. Отчёт формируется по заданной пользователем выборке: параметры передаются генератору, события выбираются порциями, к ним добавляются изображения, после чего формируется файл PDF или XLSX, размещается в объектном хранилище и предоставляется пользователю. Состав отчёта уточняется пользователем — включать ли изображения. На число выгружаемых записей установлено ограничение, задаваемое параметрами поставки: при его превышении выгрузка не выполняется и пользователю предлагается сократить выборку. Ход выполнения отображается в интерфейсе. Отдельно поддерживаются экспорт карточки события с фотографией и выгрузка сведений по отображаемому перечню камер.
  6. Интеграционный обмен выполняется после фиксации события в журнале: событие передаётся во внешний интеграционный интерфейс с указанием идентификатора задачи и, при соответствующей настройке, только после подтверждения оператором. Параллельно поддерживается синхронизация идентификаторов камер между Платформой 4.0 и внешней системой. Все операции обмена фиксируются в журнале синхронизации.
  7. Ветвления. Недоступность почтового сервера приводит к повторным попыткам отправки и фиксации ошибки; событие в журнале при этом не изменяется. Недоступность внешнего интеграционного интерфейса приводит к накоплению сообщений в очереди и повторной отправке после восстановления связи. Формирование отчёта по большой выборке выполняется в фоновом режиме и не блокирует работу пользователя.

3.2. Используемые методы

Метод Где применяется Содержание
Ролевое разграничение доступа Вход пользователя, все прикладные операции Назначение пользователю ролей и полномочий, проверка полномочия при каждой операции, ограничение выборок областью видимости объектов и камер
Иерархическая организация объектов Структура объектов наблюдения Дерево элементов произвольной вложенности; наследование области видимости и признаков объекта при навигации, фильтрации и построении отчётов
Сопоставление и синхронизация справочников Обмен с внешними системами видеонаблюдения Сопоставление записей по внешнему идентификатору, инкрементальное обновление, пометка исчезнувших записей, порционное включение изменений
Событийно-ориентированный обмен Взаимодействие составных частей Публикация и подписка через брокер сообщений, группы потребителей, повторная обработка сообщений при сбое, разделение синхронных и асинхронных операций
Динамическая балансировка нагрузки Распределение источников по вычислительным нодам Учёт доступности, загрузки и весовых коэффициентов нод, контроль подтверждений работоспособности, ограничение частоты перебалансировки, перераспределение при отказе
Машинное зрение Обработка кадров на вычислительных нодах Классификация, детекция и сегментация объектов нейросетевыми моделями, исполнение на графических ускорителях, сопровождение объектов между кадрами при использовании соответствующих логических блоков
Геометрическая обработка зон Формирование нарушений в зонах Представление зон пиксельными полигонами, проверка вхождения обнаруженной области в зону, пересчёт координат при изменении разрешения кадра
Логическая обработка результатов Формирование событий и нарушений Применение условий сценария к результатам моделей, пороги уверенности, накопление подтверждений за интервал, подавление одиночных срабатываний, группировка похожих событий
Многоуровневое хранение данных Хранение конфигурации, событий и медиаданных Транзакционное хранилище для конфигурации и карточек, колоночное аналитическое хранилище для выборок и статистики, объектное хранилище для изображений, видеофрагментов и файлов отчётов, кэш и временное хранилище с ограниченным сроком жизни
Агрегирование статистики Информационная панель и отчёты Предварительный расчёт показателей по объектам, категориям и периодам, выполнение аналитических запросов к колоночному хранилищу
Порционное формирование документов Отчёты PDF и XLSX Выборка событий порциями, шаблонное построение документа, размещение результата в объектном хранилище, асинхронное выполнение с отображением прогресса
Идемпотентность интеграционных операций Обмен с внешними системами Использование внешних и внутренних идентификаторов, повторная отправка без дублирования, ведение журнала обмена и статусов передачи
Контроль состояния и наблюдаемость Камеры, ноды и сервисы Периодические подтверждения работоспособности, проверки готовности сервисов, сбор метрик и централизованное журналирование, автоматический перевод камеры или ноды в недоступное состояние
Потоковое обновление интерфейса Динамический поток событий, статусы камер Передача изменений клиенту по WebSocket без периодического опроса, обновление превью и состояний в реальном времени

3.3. Структура программы с описанием функций составных частей

Структурная схема компонента приведена на схеме 3.4. Сплошной границей выделены контуры LPI-VAP-CORE, внешние блоки относятся к смежным компонентам Платформы 4.0 и внешним системам заказчика.

flowchart TB USER["Рабочее место
пользователя"] --> GW["Веб-интерфейс
и шлюз API"] subgraph CORE["LPI-VAP-CORE"] direction TB GW --> ACC["Доступ и аудит"] GW --> CFG["Объекты, камеры,
зоны и справочники"] CFG --> SYNC["Синхронизация
источников"] CFG --> MED["Приём медиаданных"] MED --> LB["Распределение
и контроль"] LB --> NRI["Выполнение
версий сценариев"] NRI --> EVT["События,
решения, комментарии"] EVT --> VID["Видеофрагменты
и архив"] VID --> EVT EVT --> OUT["Уведомления,
статистика и отчёты"] EVT --> INTG["Интеграционный
обмен"] DATA[("Хранилища, брокер
сообщений, журналы")] ACC --- DATA EVT --- DATA end EXTCAM["Источники
медиаданных"] <--> SYNC EXTCAM <--> MED MMRS["LPI-VAP-MM,
LPI-VAP-RS"] --> NRI EVT <--> MLLM["LPI-VAP-MLLM"] OUT --> MAIL["Почтовый сервер"] INTG <--> EXTSYS["Внешние
интерфейсы"]

Схема 3.4 — Логическая структура LPI-VAP-CORE и связи с окружением.

Составная часть Назначение Основные входы Основные выходы и данные
ui-nginx, ui-react, ui-front-settings Выдача клиентского приложения, экранные формы рабочего места, маршрутизация запросов и параметры оформления интерфейса HTTP-запросы браузера, параметры оформления Экранные формы, запросы к шлюзу, потоковые обновления интерфейса
ui-rest-to-grpc Единый прикладной шлюз: приём HTTP-, GraphQL- и WebSocket-запросов, проверка маркера доступа, вызов внутренних сервисов по типизированному протоколу, публикация записей аудита Запросы пользователя и внешних клиентов, контекст сессии Вызовы сервисов, ответы интерфейсу, сообщения аудита
st-auth, st-access Учётные записи, взаимодействие с внешней системой единого входа при аутентификации, выдача и продление маркеров сессии, роли, полномочия и область видимости объектов и камер Авторизационный код и маркеры внешней системы единого входа, сведения о пользователе и его групповых правах, команды управления пользователями Маркеры доступа, решения о допуске операции, сообщения об изменении пользователей и ролей
st-audit Хранение и предоставление журнала действий пользователей Сообщения аудита из шлюза и сервисов Записи аудита, выборки для интерфейса
st-camera-storage, st-directory-storage Иерархия объектов, карточки камер и параметры подключения, зоны и пиксельные полигоны, справочники типов зон и категорий, наборы категорий камер Команды пользователя, данные синхронизации, статусы камер Записи конфигурации, сообщения об изменении камер, зон и справочников
st-offline-camera Контроль доступности камер и обработка загруженных видеозаписей как источников Подтверждения доступности, загруженные файлы Изменения статуса камеры, задания на обработку записей
st-camera-csvm-integration, dsync-camera-sync Подключение к внешним системам видеонаблюдения, первичная и периодическая синхронизация перечня камер, обновление параметров подключения и медиассылок Перечни камер и параметры внешней системы, расписание синхронизации Созданные и обновлённые камеры, журнал синхронизации, признаки отсутствующих записей
inf-mediaserver, mtx-mediamtx, mtx-mediamtx-proxy, inf-coturn Приём и декодирование потоков, публикация трансляций для интерфейса, ретрансляция и доставка видео в браузер Потоки RTSP и HLS, параметры камер Декодированные кадры для обработки, потоки HLS и WebRTC, метрики приёма и декодирования
inf-snapshot-processor, inf-image-storage, ds-data-temporary-storage Покадровый опрос камер по расписанию, приём и хранение кадров, временное хранение двоичных данных с ограниченным сроком жизни Расписания опроса, кадры внешних сервисов, изображения событий Кадры для обработки, превью камер, идентификаторы и ссылки на изображения
inf-load-balancer Распределение камер между вычислительными нодами, контроль состояния нод, перебалансировка, предоставление потоков просмотра и состояний камер Сообщения о камерах, состояния нод и медиасерверов Назначения камер нодам, состояния камер и детекторов, потоки просмотра
inf-nri-inference, inf-models-storage Исполнение назначенных версий сценариев с применением моделей, локальное хранение исполняемых артефактов моделей Назначения камер, версии сценариев, артефакты моделей, кадры Результаты детекции, сообщения о нарушениях, состояние обработки и метрики
inf-monitoring Контроль работоспособности контура видеоаналитики, состояний камер и детекторов, накопление диагностических сведений Подтверждения работоспособности, метрики, сообщения об ошибках Состояния камер и нод, диагностические сведения для интерфейса
st-event-filter, st-decision-matrix Фильтрация результатов и применение правил формирования нарушений, обработка отклонённых событий и особых категорий Результаты сценариев, справочники категорий и зон Команды регистрации событий, отфильтрованные результаты
st-event-storage, st-comments Регистрация событий, хранение карточек, изображений и видеофрагментов, группировка, очистка, решения и комментарии Команды регистрации, дополнительные материалы, решения оператора Журнал событий, динамический поток, медиаданные событий, история решений
va-video-archive, inf-report-video-extractor Формирование и хранение видеофрагментов событий, подготовка видеоматериалов для отчётов и архивных выборок Запросы на видеофрагмент, потоки и записи камер Файлы MP4 и ссылки на них, ответы о доступных фрагментах
st-event-alert2, st-report-email Применение правил уведомлений, формирование и доставка сообщений по электронной почте События, правила уведомлений, расписания Отправленные уведомления, статусы доставки, записи об ошибках
st-event-statistic, st-ex-statistics, st-dashboard-backend, st-report-pdf-xlsx-generator Расчёт агрегированных показателей, наполнение информационной панели, формирование и выгрузка отчётов PDF и XLSX, экспорт карточек событий События, параметры выборки и периода Показатели панели, файлы отчётов в объектном хранилище, сведения о ходе формирования
st-dit-integration, int-vizorlabs-integration, dsync-event-sync, dsync-sync-logger Передача событий во внешние интеграционные интерфейсы, синхронизация идентификаторов камер и справочника объектов капитального строительства, обмен между экземплярами Платформы, журнал обмена Зарегистрированные события, перечни камер, ответы внешних систем Сообщения внешним системам, статусы передачи, записи журнала обмена
db-postgres, узлы ClickHouse, ds-minio, Redis, inf-kafka Хранение конфигурации и карточек, аналитическое хранение событий, объектное хранение медиаданных и отчётов, кэш и временные состояния, обмен сообщениями Запросы сервисов компонента Сохранённые данные, результаты выборок, доставленные сообщения
log-loki Централизованный сбор и хранение журналов составных частей и вычислительных нод Журналы сервисов и узлов Журналы для анализа обслуживающим персоналом

Таблица 3.3.1 — Функции составных частей LPI-VAP-CORE.

Технические обозначения составных частей соответствуют схеме развёртывания Платформы 4.0; их состав и версии для целевой поставки фиксируются в формуляре.

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

Взаимодействующая программа или система Направление Передаваемые данные Протокол и инициатор Поведение при недоступности
Компонент управления моделями видеоаналитики (LPI-VAP-MM) В LPI-VAP-CORE Опубликованные версии моделей, исполняемые артефакты, метаданные и категории детекции Внутренний типизированный RPC и сообщения брокера; инициатор — публикация версии либо запрос вычислительной ноды Ранее полученные артефакты продолжают использоваться; новые версии не применяются до восстановления
Компонент среды разработки сценариев (LPI-VAP-RS) В LPI-VAP-CORE Опубликованные исполняемые версии сценариев и сведения об их составе Внутренний типизированный RPC и сообщения брокера; инициатор — назначение сценария камере либо запрос ноды Назначенные ранее версии продолжают исполняться; привязка новых версий недоступна
Компонент обработки мультимодальных данных (LPI-VAP-MLLM) Двустороннее Кадры и контекст зарегистрированного события; структурированный результат проверки и его категории Сообщения брокера и внутренний RPC; инициатор — хранилище событий либо расписание компонента Событие сохраняется без дополнительной проверки; регистрация и обработка не прекращаются
Внешняя система видеонаблюдения Двустороннее Перечни камер и их параметры, ссылки на потоки и кадры, сведения о ракурсах и объектах HTTPS API внешней системы, RTSP для потоков; инициатор — сервис синхронизации либо приём медиаданных Камеры переводятся в статус «недоступна», синхронизация повторяется по расписанию, ранее полученная конфигурация сохраняется
Сервис получения отдельных кадров В LPI-VAP-CORE Изображения камер по запросу и по расписанию опроса HTTPS; инициатор — обработчик кадров по расписанию камеры Кадры за период недоступности не восстанавливаются, опрос повторяется, статус камеры обновляется
Система хранения архивных видеозаписей Двустороннее Запросы фрагментов по камере и интервалу времени, полученные видеоматериалы HTTPS и потоковые протоколы; инициатор — просмотр архива пользователем или подготовка материалов события Просмотр архива и приложение видеофрагмента недоступны; текущая обработка не затрагивается
Внешний интеграционный интерфейс приёма событий Из LPI-VAP-CORE, с подтверждением Событие видеоаналитики с идентификатором задачи, категорией, временем, камерой и медиаматериалами; сопоставление идентификаторов камер Защищённый обмен по согласованному протоколу (HTTPS API или брокер сообщений внешней системы); инициатор — сервис интеграции после фиксации события Сообщения накапливаются в очереди и передаются повторно после восстановления; результат каждой попытки фиксируется в журнале обмена
Внешняя система единого входа Двустороннее Запрос авторизации, авторизационный код, маркеры доступа, обновления и идентификации, сведения о пользователе и его групповых правах HTTPS, протокол OIDC/OAuth 2.0; инициатор — компонент при входе пользователя и при продлении маркера Вход новых пользователей невозможен; действующие сессии работают до истечения срока действия маркера доступа
Почтовый сервер (SMTP) Из LPI-VAP-CORE Уведомления о событиях, отчёты, служебные сообщения SMTP; инициатор — сервисы уведомлений и отчётов Повторные попытки отправки, фиксация ошибки; событие и отчёт остаются доступными в интерфейсе
Рабочее место пользователя Двустороннее Экранные формы, команды управления, потоки событий и статусов, видеопотоки и файлы выгрузок HTTPS, GraphQL, WebSocket, HLS и WebRTC; инициатор — пользователь Работа сервисов продолжается; после восстановления соединения интерфейс получает актуальное состояние
Инфраструктурные сервисы Платформы 4.0 Двустороннее Конфигурация, события, медиаданные, сообщения, метрики и журналы Протоколы PostgreSQL, ClickHouse, S3, Kafka и Redis; инициатор — составные части компонента Операции с недоступным хранилищем повторяются; сообщения сохраняются в брокере до успешной обработки

4. Используемые технические средства

Компонент эксплуатируется на серверных технических средствах заказчика в составе Платформы 4.0. Целевое развёртывание выполняется в кластере Kubernetes: составные части поставляются контейнерными образами и размещаются на узлах кластера в соответствии с их назначением. Установка исполняемых частей компонента на рабочее место пользователя не требуется: работа выполняется через веб-браузер.

Узлы кластера разделены на два типа по назначению:

  • мастер-нода — управляющие и прикладные сервисы, общесистемные хранилища, брокер сообщений, веб-интерфейс и шлюз прикладных интерфейсов;
  • вычислительные ноды — приём и декодирование видеопотоков, покадровая обработка, исполнение версий сценариев с моделями видеоаналитики и подготовка видеофрагментов; требуют графических ускорителей;

Требования к техническим средствам заданы двумя уровнями. Количественные требования к ресурсам каждого типа узла установлены подразделом 4.2 по требованиям к инфраструктуре заказчика для позиции поставки LPI-VAP-CORE. Качественные требования, минимально допустимые версии программной среды и удельные величины для расчёта ёмкости приведены в подразделе 4.3 раздельно по типам узлов в форме «не ниже».

4.1. Серверные технические средства

4.1.1. Назначение узлов кластера

Тип узла Размещаемые составные части Определяющие ресурсы
Мастер-нода Веб-интерфейс и шлюз прикладных интерфейсов; доступ, полномочия и аудит; объекты, камеры, зоны и справочники; синхронизация источников; обработка и хранение событий; уведомления; статистика и отчёты; интеграционный обмен; общесистемные хранилища, брокер сообщений и централизованное журналирование Процессорные ядра и оперативная память прикладных сервисов и хранилищ; SSD для транзакционного и аналитического хранилищ; HDD большой ёмкости для медиаданных событий и отчётов
Вычислительная нода Приём и декодирование видеопотоков, публикация трансляций, покадровая обработка, исполнение версий сценариев с моделями видеоаналитики, подготовка видеофрагментов, контроль состояния обработки Графические ускорители и их видеопамять; процессорные ядра для декодирования и предобработки; оперативная и разделяемая память; SSD для локальных артефактов моделей и временных данных

Таблица 4.1.1 — Назначение узлов кластера.

Число вычислительных нод определяется требуемым числом камер и профилем их опроса (подраздел 4.2.3). Совмещение назначений мастер-ноды и вычислительной ноды на одном узле допускается при обеспечении суммарных ресурсов подраздела 4.2 и выполнении показателей назначения подраздела 2.3.

4.1.2. Схема развёртывания

Схема развёртывания приведена на схеме 4.1. Она показывает размещение составных частей по типам узлов кластера и внешние связи и не задаёт количество узлов и способ резервирования.

flowchart TB USERS["Рабочие места
пользователей"] SUDIR["Внешняя система
единого входа"] SRC["Источники
медиаданных"] subgraph MASTER["Мастер-нода"] direction TB GW["Веб-интерфейс
и шлюз API"] APPS["Прикладные сервисы:
доступ, камеры, события,
отчёты, интеграции"] DATA[("Хранилища
и брокер сообщений")] GW --> APPS --> DATA end subgraph COMPUTE["Вычислительные ноды (GPU)"] direction TB MEDIA["Приём и декодирование
видеопотоков"] NRI["Исполняющее ядро
видеоаналитики"] VIDEO["Подготовка
видеофрагментов"] MEDIA --> NRI --> VIDEO end SYS["Внешние системы
заказчика"] BACKUP["Резервное
копирование"] USERS --> GW SUDIR --> GW SRC --> MEDIA APPS --> MEDIA NRI --> APPS VIDEO --> DATA APPS --> SYS DATA --> BACKUP

Схема 4.1 — Развёртывание компонента по типам узлов кластера.

4.1.3. Требования к техническим средствам узлов

Группа технических средств Требование
Узлы кластера Физические или виртуальные серверы архитектуры x86-64, совместимые с «Московской серверной операционной системой», средствами оркестрации Kubernetes и поставляемыми контейнерными образами. Узлы объединяются в общую серверную сеть кластера
Оркестрация Кластер Kubernetes обеспечивает размещение составных частей по типам узлов, контроль их готовности, перезапуск при отказе и управление выделяемыми ресурсами. Размещение задаётся признаками узлов: мастер-нода, вычислительная нода
Виртуализация При использовании виртуализации ресурсы выделяются без переподписки и не ниже значений подраздела 4.2; для узлов с графическими ускорителями обеспечивается проброс ускорителя в режиме прямого доступа без разделения между виртуальными машинами
Графическая подсистема На вычислительных нодах устанавливаются графические ускорители, совместимые с согласованными версиями драйвера, средств предоставления ускорителей контейнерам и CUDA. Ускоритель используется совместно аппаратным декодированием и кодированием видеопотоков, исполнением моделей видеоаналитики и подготовкой видеофрагментов; распределение ускорителей между этими задачами задаётся параметрами развёртывания
Оперативная и разделяемая память Помимо оперативной памяти прикладных сервисов на вычислительной ноде выделяются область разделяемой памяти для передачи кадров между приёмом видеопотоков и исполняющим ядром и область в оперативной памяти для сегментов публикуемых трансляций
Дисковая подсистема Системные данные, данные хранилищ и медиаданные размещаются раздельно. Транзакционное и аналитическое хранилища, а также локальные артефакты моделей размещаются на SSD; объектное хранилище медиаданных, видеофрагменты и архивные материалы — на HDD требуемой ёмкости. Данные сохраняются при перезапуске контейнеров и узлов
Ресурсы контейнеров Для составных частей задаются запросы и пределы ресурсов, исключающие взаимное вытеснение приёма видеопотоков, исполнения сценариев и хранилищ
Сетевое оборудование Обеспечиваются приём видеопотоков от источников, обмен между узлами кластера, доступ пользователей по HTTPS и WebSocket, доставка трансляций (HLS и WebRTC), связность с внешними системами заказчика и с внешней системой единого входа
Синхронизация времени Все узлы синхронизируются с единым источником точного времени: от этого зависят хронология событий, расписания опроса камер, отчётные периоды и записи аудита
Средства резервного копирования Резервированию подлежат транзакционное и аналитическое хранилища, объектное хранилище медиаданных и конфигурация развёртывания. Восстанавливаемые из внешних источников данные (локальные артефакты моделей, сегменты трансляций, временные кадры) допускается исключить

Таблица 4.1.2 — Требования к техническим средствам узлов кластера.

Количественные значения по группам таблицы 4.1.2 установлены подразделом 4.2 (минимальные ресурсы по типам узлов) и таблицей 4.3.1 (требования «не ниже» по типам узлов) и в настоящем подразделе не повторяются.

4.1.4. Размещение данных

Группа данных Требование к размещению Назначение
Конфигурация и прикладные данные Постоянный том на SSD мастер-ноды Учётные записи, роли и полномочия, иерархия объектов, камеры, зоны и полигоны, справочники, правила уведомлений, параметры источников, карточки событий
Аналитическое хранилище событий и статистики Постоянный том на SSD мастер-ноды Выборки журнала событий, агрегированные показатели информационной панели и отчётов
Объектное хранилище медиаданных Постоянный том большой ёмкости на HDD Изображения событий и превью, видеофрагменты нарушений, файлы сформированных отчётов
Архивные видеоматериалы Отдельный том большой ёмкости на HDD Хранение записей и подготовленных фрагментов при использовании функции видеоархива
Локальные артефакты моделей и сценариев Том на SSD вычислительной ноды Исполняемые артефакты опубликованных версий моделей и код версий сценариев, загружаемые перед обработкой
Временные кадры и состояния Оперативная память и SSD Временное хранение кадров с ограниченным сроком жизни, кэш сессий и рабочие состояния сервисов
Сегменты трансляций и разделяемая память Оперативная память вычислительной ноды Публикация сегментов HLS для просмотра в интерфейсе и передача декодированных кадров исполняющему ядру без сетевого обмена
Состояние брокера сообщений Постоянный том на SSD мастер-ноды Хранение сообщений обмена до их обработки потребителями
Журналы Постоянный том мастер-ноды с регламентом очистки Централизованно собираемые журналы составных частей
Резервные копии Внешнее по отношению к узлам хранилище Восстановление данных в соответствии с политикой резервного копирования заказчика

Таблица 4.1.3 — Размещение данных компонента на технических средствах.

4.2. Минимальная конфигурация серверного оборудования

Минимальные ресурсы приведены по типам узлов кластера. Итоговые значения по компоненту (подраздел 4.2.3) соответствуют требованиям к инфраструктуре заказчика для позиции поставки LPI-VAP-CORE.

4.2.1. Мастер-нода

Ресурс Минимальное требование
Процессорные ядра x86 Не менее 48
Оперативная память Не менее 128 ГБ
Дисковое пространство SSD Не менее 1000 ГБ
Дисковое пространство HDD Не менее 5000 ГБ
Графические ускорители Не требуются

Таблица 4.2.1 — Минимальные ресурсы мастер-ноды.

Ресурсы мастер-ноды определяются числом камер и объектов, темпом поступления событий, глубиной хранения медиаданных и профилем отчётности. Ёмкость HDD рассчитывается по удельным величинам п. 4.3.2 и установленным срокам хранения.

4.2.2. Вычислительная нода

Ресурс Минимальное требование на одну ноду
Процессорные ядра x86 Не менее 14
Оперативная память Не менее 128 ГБ
Дисковое пространство SSD Не менее 1000 ГБ
Графические ускорители Не менее 4 шт. класса NVIDIA T4 (или эквивалент) с характеристиками по таблице 4.2.3

Таблица 4.2.2 — Минимальные ресурсы вычислительной ноды.

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

Характеристика ускорителя Минимальное значение
Объём видеопамяти 16 ГБ
CUDA Compute Capability 7.5
Количество CUDA-ядер 2 560
Количество Tensor Cores 300
Пропускная способность видеопамяти 300 ГБ/с
Аппаратная поддержка вычислений FP16, INT8

Таблица 4.2.3 — Минимальные характеристики графического ускорителя вычислительной ноды.

Одна вычислительная нода обеспечивает обработку не менее 45 000 кадров в час (подраздел 2.3), что соответствует примерно 1500 камерам при опросе одного кадра раз в две минуты.

4.2.3. Суммарная конфигурация и масштабирование

Ресурс Мастер-нода Вычислительная нода (1 шт.) Итого минимально
Процессорные ядра x86 48 14 62
Оперативная память, ГБ 128 128 256
Дисковое пространство HDD, ГБ 5000 5000
Дисковое пространство SSD, ГБ 1000 1000 2000
Графические ускорители класса NVIDIA T4 4 4

Таблица 4.2.4 — Суммарная минимальная конфигурация серверного оборудования LPI-VAP-CORE.

Минимальная конфигурация соответствует одной вычислительной ноде. Производительность обработки масштабируется числом вычислительных нод.

4.3. Требования к узлам целевой конфигурации и параметры проектирования

Подраздел устанавливает требования, которые не нормированы подразделом 4.2: качественные требования к узлам, минимально допустимые версии программной среды, удельные величины для расчёта ёмкости и перечень параметров, которые определяются проектом поставки. Требования приведены раздельно по типам узлов кластера и сформулированы в форме «не ниже»: указанные значения подтверждены проверкой работоспособности компонента в полном составе составных частей и являются минимально допустимыми для целевой поставки.

4.3.1. Требования к узлам по типам

Характеристика Мастер-нода Вычислительная нода
Тип узла Физический сервер либо виртуальная машина с выделенными без переподписки ресурсами Физический сервер либо виртуальная машина с выделенными без переподписки ресурсами и прямым доступом к графическим ускорителям
Процессорные ядра, оперативная память и дисковое пространство Не ниже таблицы 4.2.1 Не ниже таблицы 4.2.2
Разделяемая память Не нормируется Не менее половины оперативной памяти ноды
Область обмена кадрами и сегментов трансляций Не нормируется Не менее 4 ГБ в оперативной памяти ноды
Графические ускорители Не требуются Не менее четырёх ускорителей класса NVIDIA T4 с характеристиками по таблице 4.2.3
Драйвер и среда исполнения графической подсистемы Не применяется Драйвер NVIDIA — не ниже 580.76.05, среда CUDA в контейнерных образах — не ниже 12.6, при совместимости со средствами предоставления ускорителей контейнерам
Операционная система «Московская серверная операционная система» «Московская серверная операционная система»
Сетевой интерфейс Не ниже 1 Гбит/с; при профиле выше расчётного — 10 Гбит/с Не ниже 1 Гбит/с; при профиле выше расчётного — 10 Гбит/с и отдельный сегмент сети для приёма видеопотоков
Синхронизация времени Единый источник точного времени по протоколу NTP; расхождение между узлами — не более 1 секунды Единый источник точного времени по протоколу NTP; расхождение между узлами — не более 1 секунды

Таблица 4.3.1 — Требования к узлам целевой конфигурации, не нормированные подразделом 4.2.

Число вычислительных нод определяется профилем камер (п. 4.2.3).

4.3.2. Удельные величины для расчёта конфигурации

Удельные величины применяются при расчёте ёмкости хранилищ и пропускной способности. Показатели производительности вычислительной ноды и соответствующее ей число камер приведены в подразделах 2.3 и 4.3.

Величина Значение Применение при проектировании
Средний размер сохранённого изображения события Около 100 КБ при разрешении около 1100 × 800 точек Расчёт ёмкости объектного хранилища медиаданных мастер-ноды
Битрейт публикуемой трансляции Около 2,1 Мбит/с при длительности сегмента 2 секунды и глубине плейлиста 2 сегмента Расчёт пропускной способности каналов к рабочим местам и объёма области сегментов на вычислительной ноде
Частота обрабатываемых кадров одной камеры в потоковом режиме Не более 10 кадров в секунду Расчёт нагрузки на вычислительную ноду
Аппаратное декодирование видеопотоков Выполняется средствами графического ускорителя Учёт совместного использования ускорителя декодированием и исполнением моделей
Запас свободного места на томах хранилищ Не менее 20 % Расчёт ёмкости SSD и HDD

Таблица 4.3.2 — Удельные величины для расчёта конфигурации.

Ёмкость объектного хранилища медиаданных рассчитывается как произведение ожидаемого числа событий в сутки, суммарного размера сохраняемых материалов одного события (изображение — не менее 100 КБ, при подготовке видеофрагмента дополнительно его размер) и установленного срока хранения, с запасом не менее 20 %. Пропускная способность каналов к рабочим местам рассчитывается по числу одновременно просматриваемых трансляций и их битрейту.

4.3.3. Параметры, определяемые проектом поставки

Параметр Что требуется определить Как используется
Профиль камер Количество камер, типы подключения, разрешение и частота кадров, интервалы опроса Определяет число вычислительных нод по п. 4.2.3 и пропускную способность сети приёма потоков
Профиль событий Ожидаемое число событий в сутки и доля событий с видеофрагментами Определяет ёмкость хранилищ и нагрузку на мастер-ноду
Сроки хранения Сроки хранения событий, изображений, видеофрагментов, архивных записей, записей аудита и журналов обмена Определяют ёмкость хранилищ и параметры очистки
Пользователи Число одновременных пользователей, интенсивность просмотра трансляций, периодичность и объём отчётов Определяет ресурсы мастер-ноды и пропускную способность каналов

Таблица 4.3.3 — Параметры, определяемые проектом поставки.

Конфигурация рассчитывается по параметрам таблицы 4.3.3 и удельным величинам таблицы 4.3.2: определяются число вычислительных нод, ёмкость хранилищ и параметры сети, обеспечивающие показатели подраздела 2.3.

5. Вызов и загрузка

Компонент вызывается двумя способами. Пользователь обращается к веб-интерфейсу Платформы 4.0 через браузер; установка программ на рабочем месте не требуется. Серверные составные части запускаются администратором штатными средствами развёртывания целевой поставки и работают постоянно.

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

5.1. Способ вызова программы

5.1.1. Вызов пользователем

  1. Пользователь открывает в браузере адрес веб-интерфейса Платформы 4.0. Адрес является параметром целевой поставки.
  2. Загружается клиентское приложение, после чего пользователь перенаправляется на страницу входа внешней системы единого входа, где вводит учётные данные. При наличии действующей сессии возврат в интерфейс выполняется без повторного ввода.
  3. При успешной аутентификации и наличии группового права доступа открывается главная страница. Состав доступных разделов и операций определяется ролью и полномочиями учётной записи, а состав отображаемых объектов и камер — назначенной областью видимости.
  4. Из главной страницы выполняется переход к разделам: иерархия объектов и перечень камер в табличном и плиточном представлении, карточка камеры с трансляцией, зонами и назначенными сценариями, динамический поток событий, журнал событий и нарушений, карточка события, информационная панель, отчёты, справочники типов зон и категорий, пользователи и роли, журнал аудита, настройки источников медиаданных и правил уведомлений.
  5. Признаками успешной загрузки являются: отображение дерева объектов и плиток камер с актуальными статусами и превью, поступление новых событий в динамический поток, наличие записей в журнале за выбранный период и воспроизведение трансляции в карточке камеры.
  6. Сессия завершается выходом пользователя либо по истечении срока действия маркера доступа; после этого требуется повторный вход.

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

5.1.2. Запуск серверных составных частей

Условия запуска:

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

Запуск выполняется штатными средствами развёртывания целевой поставки: конфигурация кластера применяется, после чего оркестратор размещает составные части на узлах в соответствии с их назначением. Составные части поднимаются группами в следующем порядке; между группами выполняется проверка готовности:

  1. транзакционное хранилище; при первом запуске создаются базы данных и учётные записи сервисов, при последующих — применяются миграции схем;
  2. средства сбора метрик и журналов;
  3. брокер сообщений;
  4. объектное хранилище и временное хранилище двоичных данных;
  5. прикладные сервисы: аутентификация и разграничение доступа, аудит, объекты, камеры, зоны и справочники, обработка и хранение событий, уведомления, статистика и отчёты;
  6. вычислительный контур: распределение нагрузки, хранилище исполняемых артефактов моделей, приём и декодирование видеопотоков, покадровая обработка, исполняющие ядра видеоаналитики, контроль состояния;
  7. сервисы ретрансляции и доставки видео в интерфейс;
  8. сервисы синхронизации источников и интеграционного обмена;
  9. веб-интерфейс и шлюз прикладных интерфейсов.

Порядок запуска и остановки приведён на схеме 5.1.

flowchart TB G1["1. Транзакционное хранилище
создание баз данных и применение миграций"] G2["2. Средства сбора метрик и журналов"] G3["3. Брокер сообщений"] G4["4. Объектное хранилище и временное хранилище
двоичных данных"] G5["5. Прикладные сервисы
доступ и аудит, объекты, камеры и зоны,
события, уведомления, статистика и отчёты"] G6["6. Вычислительный контур
распределение нагрузки, хранилище артефактов моделей,
приём видеопотоков, исполняющие ядра, контроль состояния"] G7["7. Сервисы ретрансляции и доставки видео"] G8["8. Синхронизация источников
и интеграционный обмен"] G9["9. Веб-интерфейс и шлюз прикладных интерфейсов"] CHK{"Проверка готовности
группы пройдена?"} RST["Перезапуск сервиса средствами оркестратора;
запуск следующих групп приостановлен"] OK["Компонент готов к работе"] G1 --> G2 --> G3 --> G4 --> G5 --> G6 --> G7 --> G8 --> G9 --> CHK CHK -->|нет| RST RST --> CHK CHK -->|да| OK

Схема 5.1 — Порядок запуска серверных составных частей (остановка выполняется в обратном порядке).

Готовность подтверждается штатными проверками: для транзакционного хранилища — готовность принимать соединения, для кэша и брокера — ответ на служебный запрос, для прикладных сервисов — собственная проверка готовности контейнера. Сервис, не прошедший проверку, перезапускается средствами оркестратора; запуск последующих групп при этом не выполняется до восстановления зависимости.

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

Остановка выполняется в обратном порядке: сначала веб-интерфейс и прикладные сервисы, затем вычислительный контур и брокер сообщений, последним — транзакционное хранилище, чтобы клиенты успели корректно завершить соединения. Обновление версии выполняется заменой контейнерных образов в конфигурации кластера с последующим запуском в том же порядке; необходимые изменения схем данных применяются при старте соответствующих сервисов.

5.2. Входные точки в программу

5.2.1. Веб- и программные входные точки

Входная точка Назначение
Корневой маршрут веб-интерфейса Выдача клиентского приложения и перенаправление на страницу входа внешней системы единого входа
Маршрут возврата после аутентификации Приём авторизационного кода внешней системы единого входа и завершение входа; адрес возврата регистрируется во внешней системе при подключении приложения
Маршруты параметров интерфейса и оформления Загрузка конфигурации интерфейса, настроек и графических элементов до и после аутентификации
Маршрут прикладного шлюза /api/… Единая точка вызова операций компонента; маршрут строится по схеме «домен — сервис — операция» и обслуживает как экранные формы, так и внешних программных клиентов
Маршрут GraphQL прикладного шлюза Запросы выборок и мутаций пользовательского интерфейса
Маршрут WebSocket /api/ws/… Динамический поток событий, изменения статусов камер и детекторов, прогресс формирования отчётов и иные оперативные уведомления
Маршруты трансляций контура видеоаналитики Выдача плейлистов и сегментов HLS для потока камеры и потока с результатами обработки
Маршрут установления сеанса WebRTC Просмотр трансляции с минимальной задержкой; дополнительно используется служба TURN/STUN
Маршруты выгрузки файлов Получение сформированных отчётов, экспортированных карточек событий и медиафайлов из объектного хранилища
Маршрут сервиса архивных видеоматериалов Просмотр и получение архивных фрагментов
Вход приёма видеопотоков Приём потоков RTSP от источников и внутренняя ретрансляция; порт определяется параметрами поставки
Топики брокера сообщений Программные входные точки асинхронного обмена: команды по камерам, зонам и справочникам, результаты обработки, команды регистрации и изменения событий, задания уведомлений и отчётов, записи аудита, сообщения синхронизации
Маршруты метрик и панели наблюдения Административные точки контроля состояния составных частей и вычислительных нод

Таблица 5.2.1 — Входные точки компонента.

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

5.2.2. Порядок загрузки пользовательской сессии

  1. Браузер получает клиентское приложение и параметры оформления интерфейса. Эта часть загружается до аутентификации и не содержит прикладных данных.
  2. Пользователь аутентифицируется во внешней системе единого входа; полученный авторизационный код обменивается на маркер доступа, маркер обновления и маркер идентификации. Маркер доступа сохраняется в браузере и передаётся с каждым последующим запросом, продление выполняется по маркеру обновления.
  3. Загружается профиль пользователя: роли, полномочия, доступная область объектов и камер, настройки интерфейса.
  4. Загружаются справочники (типы зон, категории детекции, виды нарушений), иерархия объектов и перечень камер с текущими статусами и превью в объёме области видимости пользователя.
  5. Устанавливается соединение WebSocket; интерфейс подписывается на динамический поток событий, изменения статусов камер и детекторов и уведомления о ходе выполнения длительных операций.
  6. При открытии карточки камеры запрашивается трансляция (HLS или WebRTC), при открытии журнала — выборка событий с учётом фильтров и области видимости, при открытии информационной панели — агрегированные показатели.
  7. По истечении срока действия маркера выполняется его обновление; при неуспехе сессия завершается и запрашивается повторный вход.
  8. При недоступности отдельного сервиса интерфейс отображает доступные данные и признак недоступности соответствующего раздела: отсутствие трансляции не препятствует работе с журналом событий, недоступность статистики не влияет на регистрацию событий. Соединение WebSocket восстанавливается автоматически, а после восстановления интерфейс получает актуальное состояние.

5.2.3. Объём программы и использование памяти

Объём компонента определяется составом контейнерных образов целевой поставки, объёмом накопленных событий и медиаданных и сроками их хранения. Ниже приведён перечень составляющих объёма; их количественные значения определяются по контрольной сборке и фиксируются ведомостью целевой версии.

Составляющая Пояснение
Контейнерные образы компонента, всего Суммарный объём образов всех составных частей на узле с совмещёнными ролями
Образы вычислительного и медиаконтура Приём и декодирование видеопотоков, ретрансляция, покадровая обработка, исполняющее ядро видеоаналитики, хранение артефактов моделей, подготовка видеофрагментов, контроль состояния
Образы прикладных сервисов и веб-интерфейса Пользователи и доступ, аудит, объекты, камеры, зоны и справочники, события и решения, уведомления, статистика и отчёты, синхронизация источников, интеграционный обмен, веб-интерфейс и шлюз
Образы инфраструктурных сервисов Транзакционное и аналитическое хранилища, брокер сообщений, объектное и временное хранилища, веб-шлюз, централизованное журналирование
Клиентское приложение Несжатые статические ресурсы, загружаемые браузером при первом открытии; фактически передаваемый объём меньше за счёт сжатия и кэширования
Локальные артефакты моделей и код версий сценариев на вычислительной ноде Объём определяется составом опубликованных версий, поступающих из смежных компонентов
Постоянные данные прикладных сервисов Изображения событий, видеофрагменты, файлы отчётов и рабочие каталоги; объём растёт с числом событий и сроком их хранения
Метаданные в транзакционном хранилище Учётные записи, объекты, камеры, зоны, справочники, карточки событий
Временные и рабочие данные вычислительного контура Буферы кадров и фрагментов, ожидающих обработки и сохранения
Журналы составных частей Объём определяется установленной глубиной хранения; требуется регламент ротации и очистки, объём растёт пропорционально числу составных частей и уровню журналирования

Таблица 5.2.3 — Составляющие объёма программы и данных компонента.

Основной режим получения медиаданных в целевом контуре — периодическое получение отдельных кадров (снимков) от систем видеонаблюдения заказчика; приём и декодирование видеопотоков применяются для камер, подключаемых непосредственно. От выбранного режима зависят распределение нагрузки между мастер-нодой и вычислительными нодами, объём временных данных и загрузка сети, но не состав контейнерных образов.

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

Свободное место на узлах должно одновременно покрывать текущую и устанавливаемую версии образов, постоянные данные, прирост до следующего обслуживания, журналы и эксплуатационный резерв. Удаление предыдущей версии до подтверждения работоспособности новой не должно рассматриваться как способ уменьшить требуемый резерв.

6. Входные данные

6.1. Характер и организация входных данных

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

Группа входных данных Источник Способ поступления Периодичность
Команды управления и параметры операций Пользователь через веб-интерфейс, внешний программный клиент Запросы прикладного шлюза (HTTP, GraphQL) По действию пользователя или внешней системы
Учётные данные, роли, полномочия и области видимости Внешняя система единого входа (аутентификация и групповые права), администратор компонента Обмен по протоколу OIDC/OAuth 2.0, запросы прикладного шлюза При входе пользователя и по действию администратора
Иерархия объектов, камеры, зоны и расписания опроса Пользователь, синхронизация с внешней системой видеонаблюдения Запросы прикладного шлюза, сообщения синхронизации По действию пользователя, по расписанию синхронизации
Видеопотоки Камеры и системы видеонаблюдения Приём потока по RTSP или ретрансляция Непрерывно, пока камера включена
Отдельные кадры Внешние сервисы получения кадров Запрос изображения по расписанию опроса камеры С заданным интервалом опроса
Справочник объектов капитального строительства Внешняя система заказчика Синхронизация перечня объектов и их зданий По расписанию синхронизации
Архивные видеозаписи Внешние системы хранения архива, загруженные пользователем файлы Запрос фрагмента по камере и интервалу времени, загрузка файла По запросу пользователя или при подготовке материалов события
Опубликованные версии сценариев и моделей LPI-VAP-RS, LPI-VAP-MM Внутренний типизированный обмен и сообщения брокера При публикации версии и при назначении её камере
Результаты обработки и служебные сообщения вычислительного контура Исполняющие ядра, приём медиаданных, распределение нагрузки Сообщения брокера Непрерывно в темпе обработки
Решения по событиям, комментарии и правила уведомлений Пользователь Запросы прикладного шлюза По действию пользователя
Параметры выборок, фильтров и отчётов Пользователь, расписание отчётности Запросы прикладного шлюза, задания по расписанию По действию пользователя и по расписанию
Справочники категорий, типов зон и видов нарушений Компоненты Платформы 4.0, администратор Сообщения брокера, запросы прикладного шлюза При изменении справочника
Данные внешних интеграционных интерфейсов Внешние системы заказчика Согласованные программные интерфейсы и сообщения По расписанию обмена и по событию
Результаты мультимодальной обработки LPI-VAP-MLLM Сообщения брокера и внутренний обмен По завершении проверки события

Таблица 6.1.1 — Группы входных данных компонента.

Конфигурационные данные организованы в виде связанных наборов: объект — камера — зона — категории — назначенная версия сценария. Медиаданные организованы по камерам и упорядочены по времени. Событийные сообщения содержат идентификатор сообщения, обеспечивающий однократную обработку при повторной доставке.

Маршруты поступления входных данных приведены на схеме 6.1.

flowchart TB U["Пользователь"] S["Внешняя система
единого входа"] EXT["Внешние системы
и справочники"] CAM["Камеры, сервисы кадров,
архивы видеозаписей"] COMP["Смежные компоненты
Платформы 4.0"] GW["Веб-интерфейс
и шлюз API"] INTAKE["Приём и подготовка
медиаданных"] BUS["Брокер сообщений"] APP["Прикладные сервисы:
проверка полномочий, контроль
состава и форматов"] STORE[("Хранилища")] U --> GW S --> GW EXT --> GW CAM --> INTAKE COMP --> BUS GW --> APP INTAKE --> BUS BUS --> APP APP --> STORE

Схема 6.1 — Маршруты поступления входных данных.

6.2. Предварительная подготовка входных данных

До начала обработки должны быть выполнены следующие условия.

  1. Компонент зарегистрирован как приложение во внешней системе единого входа: согласованы идентификатор приложения, разрешённые адреса возврата, запрашиваемые разрешения и состав передаваемых сведений о пользователе. Пользователям предоставлены групповые права доступа к компоненту, назначены роли, полномочия и области видимости объектов и камер.
  2. Сформирована иерархия объектов наблюдения, соответствующая предметной структуре заказчика.
  3. Обеспечена сетевая доступность источников медиаданных и внешних систем с серверов Платформы 4.0, согласованы реквизиты доступа и правила фильтрации трафика.
  4. Заполнены параметры подключения камер: тип подключения, адрес источника, реквизиты доступа, интервал опроса кадров, режим работы и расписание, привязка к объекту, расположение.
  5. Выполнена синхронизация перечня камер с внешней системой видеонаблюдения; установлено соответствие внутренних и внешних идентификаторов камер.
  6. Актуализированы справочники: типы зон, категории детекции и виды нарушений; камерам назначены необходимые наборы категорий.
  7. Выполнена разметка зон на изображении камеры: созданы пиксельные полигоны, указаны типы зон и параметры, необходимые логике сценария.
  8. В компонентах LPI-VAP-MM и LPI-VAP-RS опубликованы версии моделей и сценариев, применяемые для контролируемых нарушений; опубликованная версия сценария назначена камере.
  9. Развёрнуты и готовы вычислительные ресурсы: доступны вычислительные ноды с графическими ускорителями, загружены исполняемые артефакты моделей.
  10. Проверены форматы и параметры медиаданных: кодек, разрешение и частота кадров источника поддерживаются средствами приёма и декодирования; для покадрового режима подтверждены формат и размер получаемого изображения.
  11. Настроены правила уведомлений и параметры внешних служб доставки, а также параметры интеграционного обмена, включая идентификатор задачи и условия передачи событий.
  12. Синхронизировано системное время на серверах компонента и, по возможности, на источниках медиаданных.

Данные, не прошедшие проверку при вводе (незаполненные обязательные поля, недопустимые значения перечислений, некорректная геометрия полигонов, недоступный адрес источника), отклоняются с сообщением об ошибке и не принимаются к обработке.

6.3. Формат входных данных

Формат Где применяется Источник Обязательность и ограничения
HTTP-запрос с телом в JSON Операции управления пользователями, объектами, камерами, зонами, правилами и отчётами Веб-интерфейс, внешний программный клиент Обязателен для операций изменения; состав полей определяется программным интерфейсом операции
Запрос GraphQL Выборки и изменения данных пользовательского интерфейса Веб-интерфейс Структура запроса ограничена схемой прикладного шлюза
Сообщение WebSocket Подписка интерфейса на оперативные обновления и подтверждения Веб-интерфейс Устанавливается после аутентификации; передаётся в текстовом виде
Типизированное сообщение брокера Обмен между составными частями: команды по камерам и зонам, результаты обработки, регистрация и изменение событий, задания уведомлений и отчётов, аудит, синхронизация Составные части компонента, смежные компоненты Схема сообщения определяется описанием интерфейса; сообщение содержит идентификатор для однократной обработки
Параметры подключения источника Регистрация камеры и внешней системы Пользователь, синхронизация Обязательны адрес и тип подключения; реквизиты доступа хранятся в защищённом виде и не отображаются в открытом виде
Видеопоток RTSP Приём потока камеры Камера, система видеонаблюдения Кодек, разрешение и частота кадров должны поддерживаться средствами декодирования
Трансляция HLS Приём потока от источников, публикующих сегментированные трансляции Внешняя система видеонаблюдения Доступность плейлиста и сегментов на всё время обработки
Изображение JPG или PNG Кадры покадрового режима, загружаемые изображения Внешний сервис кадров, пользователь Размер и разрешение должны соответствовать ограничениям целевой поставки
Видеофайл MP4 Архивные записи и загружаемые видеоматериалы Внешний архив, пользователь Кодек и контейнер должны поддерживаться средствами обработки
Геометрия зоны Разметка зон камеры Пользователь Упорядоченный набор точек полигона в пикселях кадра; полигон должен быть замкнутым и непустым
Идентификаторы Все виды входных данных Компонент, внешние системы Целочисленный внутренний идентификатор и (или) UUID; внешний идентификатор источника — строка
Метка времени Медиаданные, события, расписания, выборки Источники и составные части Дата и время с указанием часового пояса либо число секунд от начала эпохи; обязательна для событий и кадров
Параметры выборки и фильтрации Журнал событий, статистика, отчёты Пользователь Период, объекты, камеры, сценарии, категории, решения; ограничения на объём выборки задаются целевой поставкой

Таблица 6.3.1 — Форматы входных данных.

6.4. Описание входных данных

6.4.1. Пользователи, роли, полномочия и иерархия объектов

Данные Состав
Учётная запись Идентификатор пользователя во внешней системе единого входа, имя входа, отображаемое имя, адрес электронной почты, признак активности, групповые права, полученные при аутентификации, и назначенные в компоненте роли. Состав сведений, получаемых от внешней системы единого входа, приведён в п. 6.4.7
Роль и полномочия Наименование роли, перечень разрешённых операций и разделов, признак административной роли
Область видимости Перечень объектов и камер, доступных пользователю; наследуется по иерархии объектов
Элемент иерархии объектов Идентификатор и UUID, наименование, тип объекта, ссылка на родительский элемент, признаки наличия дочерних элементов и камер, сведения о размещении (адрес и описание), признак синхронизации с внешним источником, признак удаления

6.4.2. Камеры, источники подключения и зоны

Данные Состав
Камера Идентификатор и UUID, наименование, номер и описание, признак включения, тип подключения (перечисление), тип ракурса, привязка к зданию и стороне объекта капитального строительства, параметры подключения источника, привязка к объекту наблюдения, сведения о размещении (адрес, описание точки установки, ракурс), признак записи, признак отключения видеоаналитики, внешний идентификатор и признак синхронизации, дополнительные параметры
Параметры обработки камеры Интервал опроса кадров, порог реакции на движение, минимальный размер контролируемого объекта, дополнительные параметры сценария, назначенный набор категорий детекции
Расписание работы камеры Режим включения (постоянно или по расписанию), дни недели, время начала и окончания интервала
Тип зоны Наименование и идентификатор типа, параметры зоны и параметры взаимодействия, признак действительности
Зона камеры Ссылки на камеру и тип зоны, геометрия полигона в пикселях кадра, наименование, параметры, используемые логикой сценария
Набор категорий Наименование и описание набора, связанная модель, состав первичных и вторичных категорий детекции, нарушений и событий, признаки включения и цвет отображения

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

6.4.3. Видеопотоки, кадры и архивные записи

Данные Состав
Видеопоток Адрес источника и режим передачи, кодек, разрешение, частота кадров, признак наличия звука; поток принимается непрерывно на всё время работы камеры
Кадр видеопотока Изображение и метка времени приёма, идентификатор камеры, разрешение; кадр передаётся исполняющему ядру для обработки
Отдельный кадр покадрового режима Изображение в формате JPG или PNG, метка времени получения, идентификатор камеры, признак качества изображения, идентификатор во временном хранилище
Архивная запись Идентификатор камеры, начало и окончание интервала, ссылка на фрагмент или файл, формат и параметры видео
Загруженная видеозапись Файл MP4, наименование, привязка к камере или виртуальному источнику, параметры обработки

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

6.4.4. Сценарии, модели и команды вычислительного контура

Данные Состав
Назначение версии сценария Идентификатор камеры, идентификатор и номер опубликованной версии сценария, состав используемых моделей и их версий, параметры логических блоков, привязка к типам зон и категориям
Исполняемые артефакты модели Идентификатор модели и версии, формат артефакта, категории детекции, параметры предобработки
Команды управления обработкой Включение и отключение видеоаналитики для камеры или набора камер, добавление, изменение и удаление камеры в вычислительном контуре, изменение зон и наборов категорий
Назначение источников вычислительным ресурсам Идентификатор камеры, идентификатор вычислительной ноды, признак и время назначения, команда перераспределения
Служебные сообщения состояния Подтверждения работоспособности камеры, детектора, приёма медиаданных и вычислительной ноды; сообщения о недоступности камеры; сведения о загрузке и метрики обработки

6.4.5. События, решения и правила уведомлений

Данные Состав
Сообщение о результате обработки Идентификатор сообщения, идентификатор камеры, метки времени начала и окончания, идентификаторы модели и версии сценария, первичная и вторичная категории, зона, оценка уверенности, координаты обнаруженных областей (левая верхняя и правая нижняя точки в пикселях кадра), ссылки на кадр и фрагменты изображения
Дополнительные материалы события Дополнительные кадры, полученные после регистрации, ссылка на видеофрагмент, сведения о размере сохранённых данных
Результат мультимодальной проверки Идентификатор промпта, структурированный ответ и его категории, признак подтверждения или отклонения события
Решение пользователя Идентификатор события, статус подтверждения или отклонения, автор решения, время, признак принятых мер; при отклонении — причина
Комментарий Идентификатор события, текст комментария, автор и время; комментарии образуют историю обсуждения события
Правило уведомления Наименование, контролируемые объекты и камеры, категории и виды нарушений, получатели или роли получателей, канал доставки, режим отправки (по событию или по расписанию), параметры расписания

6.4.6. Интеграционные, справочные и управляющие данные

Данные Состав
Справочник категорий Идентификатор и наименование первичной и вторичной категории, вид (детекция, нарушение, событие), цвет отображения, признак включения, связь с моделью
Справочник типов зон Идентификатор и наименование типа, параметры зоны и взаимодействия, признак действительности
Справочник типов ракурсов Идентификатор типа ракурса, перечень закреплённых за ним промптов и перечень пресетов
Справочник объектов капитального строительства Уникальный идентификационный номер (УИН), перечень зданий и их сторон, застройщик, генеральный подрядчик, группа компаний, принадлежность, номер надзорного дела
Параметры синхронизации источника Адрес и реквизиты внешней системы, интервал синхронизации, размер порции при включении камер, правила именования и привязки к объектам, признак обязательности параметров подключения
Соответствие идентификаторов Внутренний идентификатор камеры или объекта, внешний идентификатор системы заказчика, время последней синхронизации, статус сопоставления
Параметры отчёта и выборки Период, объекты, камеры, сценарии, категории, статусы решений, формат выгрузки, состав включаемых материалов
Команды и данные внешних интерфейсов Идентификатор задачи, сведения о контролируемом объекте, справочные данные внешней системы, подтверждения приёма переданных событий
Контекст запроса Идентификатор пользователя и сессии, роль, область видимости, признак источника операции (интерфейс или программный клиент)
Служебные признаки Идентификатор сообщения для однократной обработки, признак повторной отправки, идентификатор трассировки операции, время формирования

6.4.7. Сведения о пользователе, получаемые от внешней системы единого входа

Состав сведений определяется разрешениями (scope), согласованными при регистрации приложения во внешней системе единого входа.

Разрешение Получаемые сведения
openid Маркер идентификации, подтверждающий проведение аутентификации по спецификации OpenID Connect 1.0
profile Уникальный идентификатор пользователя, имя входа в домен, фамилия, имя, отчество, служебный адрес электронной почты
employee Организация, подразделение, должность, служебный телефон, служебный адрес электронной почты
userinfo Уникальный идентификатор, фамилия, имя, служебный адрес электронной почты в наименованиях атрибутов OpenID Connect

Таблица 6.4.1 — Сведения о пользователе по запрашиваемым разрешениям.

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

6.5. Способ кодирования входных данных

Вид данных Способ кодирования
Текст Кодировка UTF-8 без ограничений на язык; наименования и комментарии передаются как строки
Структурированные сообщения прикладных интерфейсов JSON (в том числе в запросах и ответах GraphQL и в сообщениях WebSocket)
Сообщения обмена между составными частями Типизированные сообщения, описанные средствами Protocol Buffers, либо JSON — в соответствии с описанием интерфейса
Идентификаторы Целые числа для внутренних идентификаторов, UUID для сообщений и глобально уникальных объектов, строки для внешних идентификаторов систем заказчика
Время Дата и время с указанием часового пояса при хранении и обмене через прикладные интерфейсы; число секунд от начала эпохи — в сообщениях контура обработки. Интервалы расписаний задаются днями недели и временем начала и окончания
Логические признаки Значения «истина» и «ложь»
Перечисления Числовые или строковые константы, определённые описанием интерфейса и справочниками (тип камеры, режим работы, статус решения, вид категории)
Координаты областей и полигонов Целые значения в пикселях кадра; прямоугольная область задаётся координатами левой верхней и правой нижней точек; полигон — упорядоченным набором точек
Оценка уверенности и числовые параметры Вещественные значения; оценка уверенности приводится к диапазону от 0 до 1
Изображения Форматы JPG и PNG; передаются файлом, ссылкой или идентификатором во временном хранилище, при необходимости — в виде строки в кодировке Base64
Видеоматериалы Контейнер MP4 с поддерживаемым кодеком; передаются ссылкой на файл в объектном хранилище или во внешней системе
Реквизиты доступа Передаются только по защищённому соединению, хранятся в защищённом виде, в ответах прикладных интерфейсов, журналах и выгрузках не воспроизводятся

Таблица 6.5.1 — Способы кодирования входных данных.

7. Выходные данные

7.1. Характер и организация выходных данных

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

Группа выходных данных Получатель Способ предоставления Хранение
Результаты операций с пользователями, ролями и полномочиями Пользователь, внешний программный клиент Ответы прикладного шлюза Постоянно в транзакционном хранилище
Доступная пользователю иерархия объектов и перечень камер Веб-интерфейс, программный клиент Ответы прикладного шлюза Постоянно
Состояния камер, детекторов и вычислительных нод Веб-интерфейс, средства мониторинга Сообщения WebSocket, ответы прикладного шлюза, метрики Оперативно; история — в средствах мониторинга
Распределение источников между вычислительными нодами Составные части компонента, средства мониторинга Сообщения брокера, программный интерфейс распределения нагрузки Оперативно и в состоянии распределения
Одновременный просмотр нескольких камер Веб-интерфейс Раскладка видеостены с выбранными камерами, полноэкранный режим Не сохраняется; состав камер раскладки задаётся пользователем
Видеотрансляции камеры и результата обработки Веб-интерфейс Потоки HLS и WebRTC Не сохраняется, кроме архивных записей
События и нарушения Веб-интерфейс, смежные компоненты, внешние системы Динамический поток WebSocket, выборки журнала, сообщения брокера Постоянно в транзакционном и аналитическом хранилищах
Медиаданные событий Веб-интерфейс, отчёты, внешние системы Ссылки на объектное хранилище, выгрузка файлов Постоянно до истечения срока хранения или очистки
Решения, комментарии и история обработки события Веб-интерфейс, отчёты, внешние системы Ответы прикладного шлюза, сообщения брокера Постоянно
Уведомления Пользователи и группы получателей Электронная почта Состояние отправки — постоянно
Агрегированные статистические показатели Веб-интерфейс, отчёты Ответы прикладного шлюза Рассчитываются по хранимым событиям
Отчёты и экспортируемые карточки событий Пользователь Файлы в объектном хранилище со ссылкой на выгрузку До истечения установленного срока хранения
Записи журнала аудита Пользователь с соответствующим полномочием Выборки прикладного шлюза Постоянно
Интеграционные сообщения и журнал обмена Внешние системы, обслуживающий персонал Согласованные интерфейсы внешних систем, выборки журнала Постоянно
Диагностические сведения: метрики, журналы, сообщения об ошибках Обслуживающий персонал Средства мониторинга и журналирования, ответы прикладного шлюза По правилам ротации и хранения

Таблица 7.1.1 — Группы выходных данных компонента.

Выходные данные формируются с учётом области видимости пользователя: в выборках, отчётах и уведомлениях приводятся только объекты, камеры и события, доступные получателю.

Маршруты предоставления выходных данных приведены на схеме 7.1.

flowchart TB STORE[("Хранилища")] APP["Прикладные сервисы:
формирование результатов
в объёме области видимости"] ONLINE["Оперативные
результаты"] FILES["Выгружаемые
результаты"] PUSH["Передаваемые
результаты"] OPER["Пользователь"] SYS["Внешние системы
и смежные компоненты"] ADMIN["Обслуживающий
персонал"] STORE --> APP APP --> ONLINE APP --> FILES APP --> PUSH ONLINE --> OPER FILES --> OPER PUSH --> OPER PUSH --> SYS PUSH --> ADMIN

Схема 7.1 — Маршруты предоставления выходных данных.

7.2. Формат выходных данных

Формат Что представляется Получатель Примечания
Ответ прикладного шлюза в JSON Результаты операций, выборки объектов, камер, событий, показателей и записей аудита Веб-интерфейс, программные клиенты Содержит признак успешности, данные и, при отказе, описание ошибки
Ответ GraphQL Выборки и результаты изменений пользовательского интерфейса Веб-интерфейс Структура ответа соответствует запросу
Сообщение WebSocket в JSON Новое событие, изменение статуса камеры или детектора, ход выполнения операции Веб-интерфейс Передаётся в момент появления изменения
Типизированное сообщение брокера Зарегистрированное событие, изменение статуса и решения, команды и подтверждения между составными частями Составные части, смежные компоненты Схема определяется описанием интерфейса
Плейлист и сегменты HLS Трансляция потока камеры и потока с результатами обработки Веб-интерфейс Публикуются на время просмотра
Поток WebRTC Просмотр трансляции с минимальной задержкой Веб-интерфейс Требует доступности службы TURN/STUN
Изображение JPG или PNG Исходный и размеченный кадры события, превью события и камеры Веб-интерфейс, отчёты, внешние системы Превью формируется уменьшенной копией кадра
Видеофайл MP4 Видеофрагмент события, архивный фрагмент Веб-интерфейс, отчёты, внешние системы Формируется по запросу и сохраняется в объектном хранилище
Документ PDF Отчёт по выборке событий, экспорт карточки события Пользователь Содержит изображения и сведения о событиях
Книга XLSX Отчёт по выборке событий в табличном виде Пользователь Пригодна для дальнейшей обработки
Сообщение электронной почты Уведомление о событии, рассылка отчёта Получатели правил уведомлений Содержит сведения о событии, изображение и ссылку на карточку
Метрики и журналы Состояние составных частей, вычислительных нод и обработки Средства мониторинга Публикуются в формате систем сбора метрик и журналов

Таблица 7.2.1 — Форматы выходных данных.

7.3. Описание выходных данных

7.3.1. Пользователи, права доступа и аудит

Данные Состав
Результат операции с учётной записью Идентификатор, имя входа, отображаемое имя, адрес электронной почты, признак активности, назначенные роли, время создания и изменения
Роли и полномочия Перечень ролей, состав разрешённых операций и разделов, признак административной роли
Область видимости пользователя Перечень доступных объектов и камер, применяемый ко всем выборкам, отчётам и уведомлениям
Результат входа Признак успешности, маркер доступа и маркер обновления с ограниченным сроком действия, полученные по результатам обмена с внешней системой единого входа, сведения о групповых правах, профиль пользователя и настройки интерфейса
Запись журнала аудита Идентификатор, дата и время, идентификатор пользователя, сервис, вид действия, текстовое описание операции, сетевой адрес источника запроса, дополнительные сведения об изменении

7.3.2. Иерархия, камеры и состояния вычислительного контура

Данные Состав
Дерево объектов Элементы иерархии с наименованием, типом, признаками наличия дочерних элементов и камер, сведениями о расположении; состав ограничен областью видимости пользователя
Плитка камеры Наименование, объект, статус активности, статус детекторов, обновляемое превью кадра, признак включённой видеоаналитики
Карточка камеры Идентификаторы, наименование, номер и описание, объект, расположение, тип подключения, параметры обработки, расписание, назначенные версии сценариев, перечень зон и наборов категорий, состояние приёма медиаданных, ссылки на трансляции
Зона камеры Наименование и тип зоны, геометрия полигона, параметры, признак действительности
Состояние камеры и детекторов Признак доступности источника, время последнего подтверждения, признак обработки камеры, сведения об ошибках приёма
Состояние вычислительного контура Перечень вычислительных нод и их доступность, назначение камер узлам, показатели приёма и декодирования потоков, сведения о перераспределении источников

7.3.3. События, нарушения и связанные медиаданные

Данные Состав
Сообщение динамического потока Идентификатор события, камера и объект, зона, категория, дата и время, ссылка на превью; передаётся сразу после регистрации
Запись журнала событий Идентификатор, камера, расположение, зона, версия сценария и модель, первичная и вторичная категории, дата и время начала и окончания, статус решения, признак принятых мер, наличие видеофрагмента, размер сохранённых данных
Карточка события Полный состав записи журнала, исходный и размеченный кадры, дополнительные кадры, видеофрагмент, обнаруженные области с координатами и оценкой уверенности, сведения о зоне и категории, комментарии и история решений
Результаты детекции Перечень обнаруженных объектов: категория, оценка уверенности, прямоугольная область на кадре, связанная зона, фрагмент изображения объекта
Решение по событию Статус подтверждения или отклонения, автор, дата и время, признак принятых мер, комментарий, для автоматической проверки — источник решения
История обработки Последовательность изменений статуса и комментариев с указанием автора и времени
Медиаданные события Размеченное изображение, исходный кадр, превью, видеофрагмент; предоставляются ссылкой на объектное хранилище с ограниченным сроком действия и доступны для выгрузки

7.3.4. Уведомления, статистика и отчёты

Данные Состав
Результат применения правила уведомления Сработавшее правило, событие, перечень получателей, канал доставки, время формирования
Уведомление Сведения о событии (камера, объект, зона, категория, дата и время), изображение события и ссылка на карточку в интерфейсе
Состояние доставки Признак успешной отправки, число попыток, сведения об ошибке доставки
Показатели информационной панели Количество событий и нарушений в разрезе объектов, категорий детекции и периодов, распределение по решениям, динамика за выбранный интервал
Отчёт по выборке событий Параметры выборки (период, объекты, камеры, сценарии, категории, решения), перечень событий с изображениями и сведениями о решениях, итоговые показатели; формируется в форматах PDF и XLSX
Экспортированная карточка события Сведения о событии и его изображения в виде отдельного документа
Выгрузка по перечню камер Сведения об отображаемых камерах и их состояниях в виде файла
Состояние формирования отчёта Признак выполнения, прогресс, ссылка на готовый файл либо описание ошибки

7.3.5. Интеграционные сообщения, результаты операций и ошибки

Данные Состав
Сообщение о событии во внешнюю систему Идентификатор события и идентификатор задачи, камера и её внешний идентификатор, объект, категория, дата и время, статус решения, ссылки на изображение и видеофрагмент
Сообщение синхронизации камер Соответствие внутренних и внешних идентификаторов, состав созданных, изменённых и отсутствующих записей, время выполнения
Журнал обмена Направление, вид операции, внешняя система, результат, число попыток, описание отказа, время
Результат пользовательской или программной операции Признак успешности, идентификатор созданного или изменённого объекта, изменённые значения
Сообщение об ошибке Категория ошибки (недопустимые входные данные, отсутствие полномочия, объект не найден, недоступность зависимого сервиса или внешней системы, внутренняя ошибка), понятное описание и, при необходимости, идентификатор операции для обращения в службу сопровождения

Сообщения об ошибках, предоставляемые пользователю, не содержат внутренних сетевых адресов, имён служебных узлов, реквизитов доступа и иных сведений о внутреннем устройстве контура. Развёрнутая техническая диагностика доступна обслуживающему персоналу в журналах и средствах мониторинга.

7.4. Способ кодирования выходных данных

Вид данных Способ кодирования
Текст Кодировка UTF-8; наименования, описания и комментарии приводятся на языке интерфейса
Структурированные ответы и сообщения JSON — для ответов прикладного шлюза, GraphQL и WebSocket; типизированные сообщения Protocol Buffers либо JSON — для обмена между составными частями
Идентификаторы Целые числа для внутренних идентификаторов, UUID для сообщений и событий, строки для внешних идентификаторов систем заказчика
Время Дата и время с указанием часового пояса; в интерфейсе отображается в часовом поясе, установленном для целевой поставки; в сообщениях контура обработки допускается число секунд от начала эпохи
Состояния и категории Строковые или числовые константы справочников: статус решения, статус камеры и детектора, вид категории, вид действия в аудите; наименования для отображения берутся из справочников
Координаты областей Целые значения в пикселях кадра: левая верхняя и правая нижняя точки прямоугольной области; полигоны зон — упорядоченные наборы точек
Оценка уверенности и агрегированные значения Вещественные значения; оценка уверенности — в диапазоне от 0 до 1; агрегированные показатели — целые количества и вычисленные доли
Изображения JPG и PNG; предоставляются ссылкой на объектное хранилище либо файлом при выгрузке; превью формируется уменьшенной копией с сохранением пропорций
Видеоматериалы Контейнер MP4 с поддерживаемым кодеком; предоставляются ссылкой или файлом
Отчётные документы PDF и XLSX; размещаются в объектном хранилище, пользователю передаётся ссылка на выгрузку
Ссылки на объекты хранилища Формируются на ограниченный срок действия; по истечении срока ссылка запрашивается заново, что исключает бессрочный внешний доступ к медиаданным
Метрики и журналы Формат систем сбора метрик и журналов, применяемых в составе поставки

Таблица 7.4.1 — Способы кодирования выходных данных.

Приложения

Приложение А (рекомендуемое). Контрольный состав конфигурации камеры

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

Проверяемая часть Что должно быть определено Критерий проверки
Объект наблюдения Элемент иерархии, к которому относится камера, и его расположение Объект существует, доступен ответственному пользователю и соответствует предметной структуре заказчика
Идентификация камеры Наименование, номер и описание, внутренний идентификатор и, при синхронизации, внешний идентификатор источника Наименование однозначно различает камеру в пределах объекта; внешний идентификатор сопоставлен без конфликтов
Подключение Тип подключения, адрес источника, реквизиты доступа, при необходимости — параметры ретрансляции Поток или кадр получены, статус камеры «доступна», реквизиты сохранены в защищённом виде
Расположение Координаты, высота и уровень размещения, привязка к объекту Камера отображается в дереве объектов и, при использовании карты, в корректной точке
Режим работы Постоянная работа или работа по расписанию, дни и интервал времени, интервал опроса кадров Режим соответствует назначению камеры; интервал опроса согласован с расчётной нагрузкой вычислительного контура
Зоны Типы зон и пиксельные полигоны на эталонном кадре, параметры зон Полигоны замкнуты, не выходят за границы кадра и соответствуют контролируемым участкам
Категории Назначенный набор категорий детекции и нарушений Все категории присутствуют в действующих справочниках
Видеоаналитика Признак включения обработки и назначенная опубликованная версия сценария Версия сценария опубликована, совместима с назначенными зонами и категориями, доступны требуемые версии моделей
Вычислительный ресурс Назначение камеры вычислительной ноде Камера распределена, нода доступна, обработка запущена
Уведомления и интеграции Правила уведомлений и передачи событий, относящиеся к объекту камеры Получатели и каналы заданы; при интеграционном обмене задан идентификатор задачи
Контроль результата Поступление событий и медиаматериалов В журнале появляются события камеры, доступны изображение и, при настроенной подготовке, видеофрагмент

Таблица А.1 — Контрольный состав конфигурации камеры.

Рекомендуемая последовательность ввода камеры в эксплуатацию приведена на схеме А.1.

flowchart TB OBJ["Объект наблюдения"] --> CAM["Регистрация камеры
и параметров подключения"] CAM --> CHECK{"Поток или кадр
получен?"} CHECK -->|нет| FIX["Проверка адреса, реквизитов
и сетевого доступа"] FIX --> CHECK CHECK -->|да| ZONES["Разметка зон
и назначение категорий"] ZONES --> SCEN["Назначение опубликованной
версии сценария"] SCEN --> ON["Включение видеоаналитики"] ON --> DIST["Распределение камеры
на вычислительную ноду"] DIST --> VERIFY["Контроль поступления
событий и медиаданных"] VERIFY --> RULES["Настройка уведомлений
и интеграционной передачи"]

Схема А.1 — Рекомендуемая последовательность ввода камеры в эксплуатацию.

Приложение Б (справочное). Жизненные циклы камеры и события

Жизненный цикл камеры в вычислительном контуре приведён на схеме Б.1.

flowchart TB REG["Зарегистрирована"] --> ENAB{"Видеоаналитика
включена?"} ENAB -->|нет| ONLY["Просмотр без обработки"] ENAB -->|да| ASSIGN["Назначена вычислительной ноде"] ASSIGN --> WORK["Обработка выполняется"] WORK -->|"нет подтверждений
от источника"| DOWN["Источник недоступен"] DOWN -->|"источник восстановлен"| WORK WORK -->|"нода недоступна"| REBAL["Перераспределение
на другую ноду"] REBAL --> WORK WORK -->|"обработка отключена"| ONLY ONLY --> DEL["Удалена (события сохраняются)"] WORK --> DEL

Схема Б.1 — Жизненный цикл камеры.

Жизненный цикл события приведён на схеме Б.2. Решение оператора не изменяет исходные результаты обработки: они сохраняются вместе с историей изменений статуса.

flowchart TB DETECT["Результат сценария"] --> RULES["Фильтрация и правила"] RULES -->|"условия не выполнены"| SKIP["Событие не регистрируется"] RULES -->|"условия выполнены"| REG["Событие зарегистрировано
(без решения)"] REG --> MEDIA["Добавление изображений
и видеофрагмента"] MEDIA --> CHECK{"Дополнительная проверка
включена?"} CHECK -->|да| LLM["Проверка результатом
мультимодальной обработки"] CHECK -->|нет| VIEW["Просмотр оператором"] LLM --> VIEW VIEW --> DEC{"Решение"} DEC -->|подтверждено| CONF["Подтверждено"] DEC -->|отклонено| REJ["Отклонено"] CONF --> SEND["Передача во внешнюю систему
и уведомления"] REJ --> CLEAN["Очистка по установленным правилам"] CONF --> REPORT["Включение в статистику и отчёты"]

Схема Б.2 — Жизненный цикл события.

Приложение В (справочное). Состояния и основные информационные потоки

В.1. Состояния объектов контроля

Объект Состояние Содержание и рекомендуемое действие
Камера Отключена Приём медиаданных не выполняется; камера доступна для настройки
Камера Доступна Медиаданные поступают, подтверждения работоспособности обновляются
Камера Недоступна Подтверждения не поступают дольше установленного времени; необходимо проверить источник, сеть и реквизиты доступа
Видеоаналитика камеры Не назначена Версия сценария не привязана; события не формируются
Видеоаналитика камеры Выполняется Назначенная версия сценария исполняется на вычислительной ноде
Видеоаналитика камеры Не выполняется Обработка остановлена из-за отсутствия ресурса, ошибки загрузки модели или недоступности источника; необходимо проанализировать диагностические сведения
Вычислительная нода Доступна Нода подтверждает работоспособность и принимает назначения камер
Вычислительная нода Недоступна Подтверждения не поступают; закреплённые камеры перераспределяются между оставшимися узлами
Событие Без решения (NO_STATUS) Событие зарегистрировано и ожидает рассмотрения
Событие В обработке (IN_PROGRESS) Событие взято в работу; решение ещё не зафиксировано
Событие Подтверждено (CONFIRMED) Нарушение подтверждено; событие включается в статистику, отчёты и, при настроенной интеграции, передаётся во внешнюю систему
Событие Отклонено (REJECTED) Событие признано ложным; учитывается при анализе качества и удаляется по установленным правилам очистки
Уведомление Сформировано Правило сработало, сообщение подготовлено к отправке
Уведомление Доставлено Служба доставки приняла сообщение
Уведомление Ошибка доставки Отправка не выполнена; фиксируется причина и число попыток
Интеграционная операция Ожидает передачи Сообщение находится в очереди на отправку
Интеграционная операция Передана Внешняя система подтвердила приём
Интеграционная операция Ошибка передачи Отправка не выполнена; операция повторяется, результат фиксируется в журнале обмена

Таблица В.1 — Состояния камер, обработки, событий, уведомлений и интеграционных операций.

В.2. Карта основных информационных потоков

Направление Содержание сообщения Отправитель Получатель
Вход Создание, изменение и удаление камеры, зон и наборов категорий Управление объектами и камерами Распределение нагрузки, приём медиаданных, обработка событий, статистика
Вход Подтверждения работоспособности камеры, детектора и вычислительной ноды Приём медиаданных, исполняющие ядра Распределение нагрузки, контроль состояния
Вход Кадры и результаты детекции Приём медиаданных, исполняющие ядра Обработка событий, интерфейс
Вход Опубликованные версии моделей и сценариев LPI-VAP-MM, LPI-VAP-RS Исполняющие ядра, управление камерами
Вход Результат мультимодальной проверки события LPI-VAP-MLLM Хранилище событий
Внутренний Команда регистрации события и добавления материалов Применение правил, подготовка видеофрагментов Хранилище событий
Внутренний Изменение статуса события, подтверждение и завершение Интерфейс, автоматическая проверка Хранилище событий, статистика, интеграции
Внутренний Записи журнала аудита Прикладной шлюз и сервисы Журнал аудита
Выход Динамический поток событий и изменения статусов Хранилище событий, контроль состояния Веб-интерфейс
Выход Уведомления о событиях Правила уведомлений Почтовый сервер
Выход Событие с идентификатором задачи и материалами Интеграционный обмен Внешняя интеграционная система
Выход Соответствие идентификаторов камер и результат синхронизации Синхронизация источников Внешняя система видеонаблюдения, журнал обмена
Выход Отчёты, экспортированные карточки событий и медиафайлы Формирование отчётов Пользователь, объектное хранилище

Таблица В.2 — Карта основных входных и выходных сообщений.

Приложение Г (обязательное при подготовке целевой поставки). Уточняемые сведения

До выпуска утверждаемой редакции документа должны быть определены значения таблицы Г.1.

Группа Требуется установить Документ, в котором фиксируется результат
Идентификация поставки Обозначение редакции Платформы 4.0, версия LPI-VAP-CORE, состав и версии контейнерных образов Формуляр и ведомость поставки
Системное ПО Версии «Московской серверной операционной системы», контейнерной среды, драйвера NVIDIA, CUDA и инфраструктурных сервисов Формуляр и инструкция по установке
Технические средства Число и назначение узлов кластера, модели процессоров и графических ускорителей, объёмы оперативной памяти и видеопамяти, дисковые и сетевые характеристики Спецификация технических средств
Топология и отказоустойчивость Распределение назначений узлов кластера (мастер-нода, вычислительные ноды) и размещение хранилищ, резервирование, поведение при отказе узла и порядок восстановления Схема развёртывания и план обеспечения непрерывности
Сетевое взаимодействие Доменные имена, адреса и порты входных точек, доверенные сертификаты, правила межсетевого доступа, параметры доставки видео, сетевая доступность внешней системы единого входа Схема соединений и требования безопасности
Подключение к внешней системе единого входа Идентификатор зарегистрированного приложения, разрешённые адреса возврата, запрашиваемые разрешения, состав передаваемых сведений о пользователе и групповые права доступа Заявка на подключение и модель доступа
Источники медиаданных Перечень внешних систем, протоколы и реквизиты подключения, параметры и периодичность синхронизации, правила именования и привязки камер Схема интеграций и инструкция администратора
Профиль камер Количество камер, типы подключения, разрешение, частота кадров и интервалы опроса, распределение по объектам Спецификация технических средств
Модели и сценарии Перечень применяемых моделей и версий сценариев, соответствие категориям и типам зон, порядок обновления версий Ведомость моделей и документы компонентов LPI-VAP-MM и LPI-VAP-RS
Справочники Состав типов зон, типов ракурсов, категорий детекции и видов нарушений, правила их изменения Описание структур данных и инструкция администратора
Интеграционный обмен Протоколы и форматы внешних интерфейсов, идентификатор задачи, условия передачи событий, параметры очередей и повторных попыток Спецификация интеграций
Ограничения нагрузки Предельные число камер, зон и полигонов, объём выборок и отчётов, число одновременных пользователей и просматриваемых трансляций Спецификация технических средств
Хранение данных Сроки хранения событий, изображений, видеофрагментов, архивных записей, записей аудита и журналов обмена; срок действия ссылок на объекты хранилища Регламент хранения данных
Роли и аудит Матрица прав на объекты, камеры, зоны, события, отчёты, пользователей и настройки; состав действий, регистрируемых в аудите Модель доступа и требования безопасности
Уведомления Параметры почтового сервера, правила формирования и адресации сообщений Инструкция администратора
Ошибки и повторы Каталог пользовательских сообщений об ошибках, тайм-ауты, число повторов и действия при недоступности зависимостей Спецификация API и руководство администратора
Резервное копирование Состав резервируемых данных, периодичность, сроки хранения копий, порядок проверки восстановления Регламент резервного копирования и восстановления

Таблица Г.1 — Сведения, уточняемые для целевой поставки.

Значения таблицы Г.1 не должны переноситься из контуров разработки без проверки. После утверждения сведения включаются в перечисленные документы, а в «Описание программы» вносятся только устойчивые характеристики компонента и ссылки на документы поставки.

Лист регистрации изменений

Изм. Изменённых листов Заменённых листов Новых листов Аннулированных листов Всего листов в документе № документа Входящий № сопроводительного документа Подпись Дата
Рабочая редакция 0.1 Все листы Определяется при выпуске DOCX/PDF Требуется присвоить при выпуске Требуется подпись ответственного исполнителя 31.08.2026

Таблица — Лист регистрации изменений

Рабочая редакция 0.1 отражает первоначальное заполнение документа в формате docs-as-code и не является зарегистрированным изменением утверждённого оригинала. При выпуске утверждаемой редакции необходимо:

  1. присвоить обозначение документа и формальный номер изменения;
  2. сформировать DOCX или PDF и указать фактическое число и номера листов;
  3. указать номер сопроводительного документа, если он оформляется;
  4. получить подписи ответственного исполнителя, проверяющего и нормоконтролёра в порядке, принятом для проекта;
  5. в последующих строках регистрировать только изменения утверждённого оригинала, а не отдельные технические коммиты Git.

История подготовки рабочей редакции сохраняется в Git. Она используется для трассировки исходного текста, но не заменяет оформленный лист регистрации изменений.