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

Архитектура Access#

Общая схема работы#

Схема работы Access и описание представлены ниже (Рисунок 1) и (Таблица 3).

Схема работы Access
Рисунок 1. Схема работы Access

Таблица 3. Описание схемы Access.

Компонент Описание
Пользователи Пользователь Access, занимающийся настройкой компонентов и отслеживание их работы.
Access Совокупность программных средств управления, позволяющих реализовать совместную работу продуктов VisionLabs и различных систем контроля и управления доступом (СКУД).
Access UI Графический интерфейс Access.
Access BackEnd BackEnd Access, отвечающий за работу с внешними компонентами, взаимодействием с UI.
Access backend server Набор библиотек, объединяющий модули Access и UI.
Rabbit MQ Брокер сообщений, обеспечивающий передачу событий между Access backend server и Worker.
Redis Система хранения данных в виде структур для обеспечения работоспособности Access.
JSON-хранилище Файл settings.json для хранения настроек интеграций и учетных записей пользователей.
Worker Сервис, обеспечивающий выполнение задач модулей в фоновом режиме.
Модуль «Пайплайн» Модуль Access, обеспечивающий основную логику и взаимодействие модуйлей.
Модуль «Устройства» Модуль Access, содержащий библиотеки для подключения внешних устройств к Access.
Модуль «Сервисы» Модуль Access, содержащий библиотеки для подключения внешних сервисов к Access.
Модуль «Контроллеры» Модуль Access, содержащий библиотеки для работы с внешними контроллерами и преобразователями.
Внешние устройства Подключаемые камеры, терминалы и тепловизоры, передающие видеопоток для дальнейшей обработки. Полный список доступных устройств см. в Руководстве пользователя.
Внешние сервисы СКУД, КБС или продукты VisionLabs, которые могут быть использованы в интеграции. Полный список доступных СКУД и продуктов VisionLabs см. в Руководстве пользователя.
Внешние контроллеры Внешние контроллеры (например, преобразователи дял контроллеров СКУД), используемые в интеграциях.

Диаграммы последовательности работы Access#

Взаимодействие внутренних компонентов Access#

Взаимодействие и описание компонентов Access на примере типовой интеграции источник видеосигнала + LUNA PLATFORM 5 (LP5) + Sigur (Рисунок 2) и (Таблица 4).

Взаимодействие компонентов
Рисунок 2. Взаимодействие компонентов

Таблица 4. Описание диаграммы последовательности

Шаг Описание
(1) Человек подошел к турникету с целью прохода, лицо человека зафиксировал терминал.
(2) Терминал передал фото человека в модуль «Устройства»
(3) Модуль устройства передает в модуль Пайплайны данные о лице для дальнейшей обработки.
(4) Модуль Пайплайн обрабатывает фото согласно внутренним настройкам.
(5) Модуль Пайплайн передает данные о проходе в модуль Сервис для дальнейшей обработки.
(6) Модуль Сервис отправляет запрос во внешний сервис (LP5) на идентификацию лица.
(7) Внешние сервис (LP5) производит идентификацию.
(8) Внешние сервис (LP5) возвращает ответ о результате распознавания и идентификации лица.
(9) Модуль Сервисы передает в модуль Пайплайн данные о распознавании.
(10) Модуль Пайплайны возвращает ответ в Модуль устройство о результате распознавания.
(11) Модуль Устройства возвращает данные о имени человека у терминала для отображения имени и сообщения об успешной идентификации на экране терминала
(12) Модуль Пайплайны передает в модуль Пайплайн данные о распознавании в модуль Сервисы.
(13) Модуль Сервисы передает данные о распознавании во Внешние сервис (Sigur)
(14) Внешний сервис (Sigur) выполняет обработку результата распознавания согласно внутренним инструкциям. В случае успешного распознавания отправляет сигнал на открытие турникета.
(15) Внешний сервис (Sigur) возвращает результат обработки в Модуль Сервисы.
(16) Модуль Сервисы передает в модуль Пайплайн данные об обработке.
(17) Модуль Пайплайны отправляет запрос в Redis на сохранение данных о проходе в JSON-хранилище.
(18) Redis создает задачу на сохранение информации в JSON-хранилище.
(19) Redis передает задачу в Access backend server для реализации
(20) Access backend server отправляет данные в JSON-хранилище для сохранения информации о проходе.
(21) Access backend server отправляет в Access UI данные для отображения результата прохода в раздел логирование.
(22) Access backend server возвращает в Redis информацию о выполнении задачи.

Создание компонента#

Схема создания компонента в Access UI и описание (Рисунок 3) и (Таблица 5).

Взаимодействие компонентов
Рисунок 2. Взаимодействие компонентов

Таблица 5. Описание диаграммы последовательности

Шаг Описание
(1) Пользователь заполняет данные нового объекта (устройства, сервиса, пайплайна или контроллера) в Access UI.
(2) Access UI отправляет запрос на Access backend server на создание компонента.
(3) Access backend server создает компонента и формирует задачу на проверку состояния подключенного компонента.
(4) Access backend server отправляет задачу в Rabbit MQ для постановки задачи в очередь.
(5) Rabbit MQ возвращает ответ о постановки задачи в очередь.
(6) Rabbit MQ отправляет запрос на проверку состояния компонента в соответствующий модуль (Устройства/Сервисы/Контроллеры), указанного в настройках компонента.
(7) Модуль Устройства/Сервисы/Контроллеры перенаправляет запрос на проверку состояния во внешние устройство/сервис/контроллер.
(8) Внешние устройство/сервис/контроллер возвращает ответ о состоянии активности.
(9) Модуль Устройства/Сервисы/Контроллеры возвращает ответ о состоянии внешнего устройство/сервис/контроллер.
(10) (Alt создание пайплайна) Rabbit MQ отправляет запрос в Модуль Пайплайн на проверку состояния компонентов, указанных в настройках пайплайна.
(11) (Alt создание пайплайна) Модуль Пайплайн перенаправляет запрос на проверку состояния в модули Устройства/Сервисы/Контроллеры, которые указаны в настройках пайплайна.
(12) (Alt создание пайплайна) Модули Устройства/Сервисы/Контроллеры возвращают ответ о доступности компонентов.
(13) (Alt создание пайплайна) Модуль Пайплайны возвращает ответ о состоянии.
(14) Rabbit MQ возвращает результат задачи в Access backend server.
(15) Access backend server сохраняет данные в JSON-хранилище.
(16) Access backend server отправляет в Access UI данные для отображения результата создания компонента.
(17) Access UI отображает созданные компонент с активным статусом для пользователя.

Автоматический мониторинг#

Схема автоматического мониторинга состояния компонентов и описание (Рисунок 4) и (Таблица 6).

Взаимодействие компонентов
Рисунок 2. Взаимодействие компонентов

Таблица 6. Описание диаграммы последовательности

Шаг Описание
(1) Входной точкой для этого процесса является создание любого компонента.
(2) Access backend server передает данные о созданном компоненте в Redis.
(3) Redis каждую минуту отправляет запрос в подключенные Модули для проверки состояния внешних устройств.
(4) Модули перенаправляют запрос на проверку подключения к внешним компонентам.
(5) Внешние компоненты возвращают ответ о состоянии подключения, если ответ на запрос не был получен, то модуль считает подключенное устройство отключенным.
(6) Модуль возвращает ответ о состоянии компонента.
(7) Redis передает данные о состоянии компонентов в Access backend server.
(8) Access backend server сохраняет данные в JSON-хранилище.
(9) Access backend server отправляет в Access UI данные для отображения статуса активности компонента.
(10) Access UI обновляет индикатор статуса активности компонента.
(11) Access UI возвращает ответ в Access backend server об обновлении статуса.