1. Общие сведения1.1 Обозначение и наименование программыНаименование программы – программное обеспечение «multimonitor (мультимонитор): Единая платформа контроля и управления системами видеонаблюдения и IoT».
Программное обеспечение предназначено для централизованного управления видеонаблюдением, мониторинга состояния оборудования и обработки инцидентов.
Основная задача ПО – обеспечить удобный доступ к видеопотокам и архивам камер, централизованный сбор и анализ данных с датчиков (IoT), а также эффективное управление и расследование инцидентов на объектах мониторинга.
Область применения – обеспечение безопасности и оперативного контроля объектов инфраструктуры.
1.2 Используемые языки программирования- C#
- HTML
- CSS
- JavaScript
- TypeScript
2. Функциональные характеристики2.1 Назначение и решаемые задачиПрограммное обеспечение «multimonitor (мультимонитор): Единая платформа контроля и управления системами видеонаблюдения и IoT» решает следующие задачи:
Видеонаблюдение и безопасность- Управление камерами — централизованное управление всеми камерами видеонаблюдения с возможностью группировки по локациям
- Настраиваемые виды — создание пользовательских компоновок камер для эффективного мониторинга различных зон
- Архивное хранение — доступ к архивным записям с возможностью поиска по времени и событиям
- Публичный доступ — возможность предоставления временного доступа к камерам для внешних пользователей
- Пресеты настроек — создание и применение шаблонов настроек камер для быстрой конфигурации
- Квоты ресурсов — управление доступными ресурсами для различных пользователей и организаций
Мониторинг и контроль оборудования с помощью интеграции с Wirenboard- Мониторинг температуры и влажности — непрерывный контроль климатических параметров в помещениях и холодильном оборудовании
- Контроль доступа — мониторинг открытия дверей с оповещением о превышении допустимого времени открытия
- Обнаружение протечек — своевременное выявление протечек воды для предотвращения ущерба
- Мониторинг электропитания — контроль состояния электропитания критически важного оборудования
- Интерактивные планы помещений — визуализация расположения датчиков и оборудования на планах этажей
Управление инцидентами- Автоматическое выявление инцидентов — система автоматически определяет нештатные ситуации на основе данных с датчиков
- Классификация по типам — категоризация инцидентов по типам (температура, влажность, доступ, протечки, электропитание)
- Фильтрация и поиск — удобный поиск инцидентов по местоположению, типу и времени
- Детальная информация — полная информация об инциденте, включая местоположение, затронутое оборудование и хронологию
- Оповещения — система уведомлений о возникновении новых инцидентов
Управление доступом и безопасность- Многоуровневая система прав — гибкое управление доступом пользователей к различным функциям системы
- Организационная структура — поддержка иерархической структуры организаций с разграничением доступа
- Ролевая модель — создание и настройка ролей с различными наборами прав
- Двухфакторная аутентификация — повышенный уровень безопасности при входе в систему с помощью TOTP
- Управление паролями — политики безопасности паролей и возможность принудительной смены пароля
- Многопользовательский режим — одновременная работа множества пользователей с разными уровнями доступа
2.2 Затрачиваемые ресурсы и требования к окружениюРекомендуется виртуальный или физический сервер со следующими характеристиками (минимальные системные требования):
Серверные ресурсы:- Процессор (CPU) – Intel Xeon 46XX (8 ядер по 2.2 ГГц) или более производительный аналог
- Оперативная память (RAM) – от 32 ГБ и выше
- Жёсткий диск (HDD/SSD) – SSD от 200 ГБ для быстрой работы с базой данных и файлами
- Графический адаптер (GPU) – не требуется
Программное окружение:- Операционная система – ALT Linux (рекомендуются стабильные версии с поддержкой безопасности) или Ubuntu.
- Docker (актуальная версия Docker Engine), который обеспечивает контейнеризацию приложения. Приложение запускается в Docker-контейнере, содержащем все необходимые зависимости (включая веб-сервер, СУБД, сервер приложений, библиотеки и пр.).
Сетевые требования:- Порты подключения – 80 и 443
- Доступ во внешнюю сеть – без ограничений, необходим для синхронизации с внешними системами (при реализации интеграции по запросу Заказчика) и удаленными устройствам (камеры, Wirenboard). При размещении во внутренней сети требуется настроить соответствующие правила межсетевого взаимодействия для выхода в Интернет.
2.3 Входная информация и выходные данныеВходная информация:- Данные учётных записей пользователей (логин, пароль, коды 2FA).
- Настройки прав доступа, ролей, квот ресурсов и организационной структуры.
- Конфигурации камер (адреса потоков, параметры архивирования, публичные ссылки).
- Данные от датчиков и устройств (температура, влажность, доступ, питание, протечки).
- Информация об инцидентах (тип, время, местоположение, связанное оборудование).
- Параметры поиска, фильтрации и подписки на обновления (списки камер, организаций, ролей, пользователей).
- Настройки системы и оборудования (пресеты камер, параметры этажей, помещений, холодильного оборудования).
Выходные данные:- Актуальное состояние объектов системы (списки камер, пользователей, ролей, организаций, устройств).
- Видео- и аудиопотоки с камер в реальном времени, а также архивные записи по заданным параметрам.
- Информация о текущих и прошедших инцидентах, включая классификацию и хронологию.
- Статусы оборудования и датчиков, отображаемые на интерактивных планах помещений.
- Уведомления о событиях (инциденты, изменения конфигураций, превышение квот).
- Публичные ссылки и доступы, сформированные для внешних пользователей.
- Отчёты и агрегированные данные для анализа (например, статистика по инцидентам или использованию ресурсов).
2.4 Основные функции (модули)Модуль аутентификации и авторизации:- Вход в систему с поддержкой 2FA, смена пароля, выход.
- Настройка двухфакторной аутентификации.
- Управление ролями и правами доступа пользователей.
Модуль управления организациями и пользователями:- Создание, редактирование и удаление организаций и пользователей.
- Назначение владельцев организаций, распределение ролей и квот.
- Управление структурой и иерархией доступа.
Модуль управления камерами:- Добавление, удаление и настройка камер, подключение/отключение потоков.
- Создание и применение пресетов, настройка публичного доступа.
- Просмотр и управление архивами, событийными записями.
Модуль просмотра и компоновки видеопотоков:- Создание и настройка видов (layout) для группировки камер.
- Быстрый доступ к камерам по дереву объектов.
- Подписка на обновления состояния камер и видов.
Модуль мониторинга оборудования (интеграция с Wirenboard):- Получение и отображение данных с датчиков (температура, влажность, питание, доступ, протечки).
- Визуализация расположения оборудования и датчиков на планах помещений.
Модуль управления инцидентами:- Автоматическое выявление, просмотр и фильтрация инцидентов по типу, времени и местоположению.
- Отображение детальной информации по каждому инциденту, включая хронологию событий.
Модуль уведомлений:- Получение системных уведомлений о событиях.
- Подписка на уведомления по выбранным категориям или объектам.
Модуль системных настроек:- Управление общими параметрами системы, миграциями базы данных.
- Настройка параметров помещений, этажей и оборудования.
2.5 Краткое описание операций пользователя- Вход в систему с использованием логина и пароля, при необходимости — ввод кода двухфакторной аутентификации.
- Просмотр доступных разделов системы (камеры, виды, организации, пользователи, инциденты, оборудование).
- Поиск и фильтрация объектов по заданным параметрам (тип, местоположение, статус).
- Просмотр видеопотоков с камер в реальном времени и архивных записей.
- Создание и настройка объектов системы (камеры, виды, организации, пользователи, роли, пресеты, квоты).
- Редактирование параметров и свойств существующих объектов.
- Управление доступом и правами пользователей.
- Просмотр данных с датчиков и оборудования на интерактивных планах помещений.
- Просмотр и обработка инцидентов, в том числе фильтрация и получение подробной информации.
- Получение уведомлений о событиях и изменениях в системе.
- Сохранение внесённых изменений и настроек в базе данных.