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

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

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

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

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

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

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

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

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

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

Взаимодействие компонентов
Рисунок 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).

Взаимодействие компонентов
Рисунок 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).

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

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

Шаг Описание
(1) Входной точкой для этого процесса является создание любого компонента.
(2) Access backend server передает данные о созданном компоненте в Redis.
(3) Redit каждую минуту отправляет запрос в подключенные Модули для проверки состояния внешних устройств.
(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 об обновлении статуса.

Ручной мониторинг#

Ручной мониторинг списка задач с помощью Flower (Рисунок 5).

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

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

Шаг Описание
(1) Пользователь отправляет запрос в компонент мониторинга Flower на получение списка задач и статуса по задачам.
(2) Flower отправляет запрос на получение списка задач и их статуса в менеджер очередей Rabbit MQ.
(3) Rabbit MQ возвращает в ответе информацию о задачах.
(4) Flower отображает для пользователя список задач.

Инструкцию по мониторингу см. в разделе Мониторинг внутренних задач с помощью Flower