Архитектура Access#
Общая схема работы#
Схема работы Access и описание представлены ниже (Рисунок 1) и (Таблица 3).
Таблица 3. Описание схемы Access.
| Компонент | Описание |
|---|---|
| Пользователи | Пользователь Access, занимающийся настройкой компонентов и отслеживание их работы. |
| Access | Совокупность программных средств управления, позволяющих реализовать совместную работу продуктов VisionLabs и различных систем контроля и управления доступом (СКУД). |
| Access UI | Графический интерфейс Access. |
| Access Backend | Backend Access, отвечающий за работу с внешними компонентами, взаимодействием с UI. |
| Access backend server | Набор библиотек, объединяющий модули Access и UI. |
| RabbitMQ | Брокер сообщений, обеспечивающий передачу событий между 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 с помощью RabbitMQ. |
| (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 отправляет задачу в RabbitMQ для постановки задачи в очередь. |
| (5) | RabbitMQ возвращает ответ о постановки задачи в очередь. |
| (6) | RabbitMQ отправляет запрос на проверку состояния компонента в соответствующий модуль (Устройства/Сервисы/Контроллеры), указанного в настройках компонента. |
| (7) | Модуль Устройства/Сервисы/Контроллеры перенаправляет запрос на проверку состояния во внешние устройство/сервис/контроллер. |
| (8) | Внешние устройство/сервис/контроллер возвращает ответ о состоянии активности. |
| (9) | Модуль Устройства/Сервисы/Контроллеры возвращает ответ о состоянии внешнего устройство/сервис/контроллер. |
| (10) | (Alt создание пайплайна) RabbitMQ отправляет запрос в Модуль Пайплайн на проверку состояния компонентов, указанных в настройках пайплайна. |
| (11) | (Alt создание пайплайна) Модуль Пайплайн перенаправляет запрос на проверку состояния в модули Устройства/Сервисы/Контроллеры, которые указаны в настройках пайплайна. |
| (12) | (Alt создание пайплайна) Модули Устройства/Сервисы/Контроллеры возвращают ответ о доступности компонентов. |
| (13) | (Alt создание пайплайна) Модуль Пайплайны возвращает ответ о состоянии. |
| (14) | RabbitMQ возвращает результат задачи в 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 обновляет индикатор статуса активности компонента. |