Архитектура Access#
Общая схема работы#
Схема работы Access и описание представлены ниже (Рисунок 1) и (Таблица 3).
Таблица 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. |
PersonStorage | Локальное хранилище, хранящее связь между персонами СКУД и их биометрическими данными. Используется для синхронизации данных между системами контроля доступа и биометрическими системами (LP, КБС) или внешними сервисами. |
JSON-хранилище | Файл settings.json для хранения настроек интеграций и учетных записей пользователей. |
Worker | Сервис, обеспечивающий выполнение задач модулей в фоновом режиме. |
Модуль «Пайплайн» | Модуль Access, обеспечивающий основную логику и взаимодействие модулей. |
Модуль «Устройства» | Модуль Access, содержащий библиотеки для подключения внешних устройств к Access. |
Модуль «Сервисы» | Модуль Access, содержащий библиотеки для подключения внешних сервисов к Access. |
Модуль «Контроллеры» | Модуль Access, содержащий библиотеки для работы с внешними контроллерами и преобразователями. |
Внешние устройства | Подключаемые камеры, терминалы и тепловизоры, передающие видеопоток для дальнейшей обработки. Полный список доступных устройств см. в Руководстве пользователя. |
Внешние сервисы | СКУД, КБС или продукты VisionLabs, которые могут быть использованы в интеграции. Полный список доступных СКУД и продуктов VisionLabs см. в Руководстве пользователя. |
Внешние контроллеры | Внешние контроллеры (например, преобразователи для контроллеров СКУД), используемые в интеграциях. |
Диаграммы последовательности работы Access#
Взаимодействие внутренних компонентов Access#
Взаимодействие и описание компонентов Access на примере типовой интеграции источник видеосигнала + LUNA PLATFORM 5 (LP5) + Sigur (Рисунок 2) и (Таблица 4).
Таблица 4. Описание диаграммы последовательности
Шаг | Описание |
---|---|
(1) | Человек подошел к турникету с целью прохода, лицо человека зафиксировал терминал. |
(2) | Терминал передал фото человека в модуль «Устройства» |
(3) | Модуль устройства передает в модуль Пайплайны данные о лице для дальнейшей обработки. |
(4) | Модуль Пайплайн обрабатывает фото согласно внутренним настройкам. |
(5) | Модуль Пайплайн передает данные о проходе в модуль Сервис для дальнейшей обработки. |
(6) | Модуль Сервис отправляет запрос во внешний сервис (LP5) на идентификацию лица. |
(7) | Внешние сервис (LP5) производит идентификацию. |
(8) | Внешние сервис (LP5) возвращает ответ о результате распознавания и идентификации лица. |
(9) | Модуль Сервисы передает в модуль Пайплайн данные о распознавании. |
(10) | Модуль Пайплайны возвращает ответ в Модуль устройство о результате распознавания. |
(11) | Модуль Устройства возвращает данные о имени человека у терминала для отображения имени и сообщения об успешной идентификации на экране терминала |
(12) | Модуль Пайплайны передает данные о распознавании в модуль Сервисы. |
(13) | Модуль Сервисы передает данные о распознавании во Внешние сервис (Sigur) |
(14) | Внешний сервис (Sigur) выполняет обработку результата распознавания согласно внутренним инструкциям. В случае успешного распознавания отправляет сигнал на открытие турникета. |
(15) | Внешний сервис (Sigur) возвращает результат обработки в Модуль Сервисы. |
(16) | Модуль Сервисы передает в модуль Пайплайн данные об обработке. |
(17) | Модуль Пайплайны передает данные в Access backend server с помощью Rabbit MQ. |
(18) | Access backend server отправляет в Access UI данные для отображения результата прохода в разделе Логирование. |
Создание компонента#
Схема создания компонента в Access UI и описание (Рисунок 3) и (Таблица 5).
Таблица 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).
Таблица 6. Описание диаграммы последовательности
Шаг | Описание |
---|---|
(1) | Входной точкой для этого процесса является создание любого компонента. |
(2) | Access backend server передает данные о созданном компоненте в Redis. |
(3) | Redis передает данные о созданном компоненте в Worker, который каждую минуту отправляет запрос в подключенные Модули для проверки состояния внешних устройств. |
(4) | Модули перенаправляют запрос на проверку подключения к внешним компонентам. |
(5) | Внешние компоненты возвращают ответ о состоянии подключения, если ответ на запрос не был получен, то модуль считает подключенное устройство отключенным. |
(6) | Модуль записывает данные о состоянии компонента в Redis. |
(7) | Access backend server получает данные о состоянии компонентов из Redis. |
(8) | Access UI запрашивает статус активности компонента у Access backend server |
(9) | Access UI обновляет индикатор статуса активности компонента. |