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

Архитектура Сервиса#

Схема взаимодействия компонентов#

LUNA CLEMENTINE 2.0 обладает микросервисной архитектурой, где каждый компонент (сервис или система) предоставляет доступ к независимой группе функций Сервиса. Реализована возможность раздельной поставки функционала.

Схема взаимодействия компонентов представлена на рисунке (Рисунок 1).

Схема взаимодействия компонентов Сервиса
Рисунок 1. Схема взаимодействия компонентов Сервиса

Компоненты Сервиса, а также описание их назначения и взаимодействия с продуктами VisionLabs представлены в Таблице 1.

Таблица 1. Компоненты Сервиса и продукты VisionLabs

Название компонента/системы Описание взаимодействия
FACESTREAM 5
FaceStream 5 FaceStream 5 необходим для работы с источниками событий. FaceStream 5 осуществляет несколько функций: чтение видеопотоков; обработка видеопотоков (выполняется поиск и сопровождение лиц и тел в видеопотоке, пока они не покинут кадр или не будут перекрыты); отсылка изображений лиц в виде HTTP-запросов во внешние компоненты
LUNA Streams LUNA Streams необходим для работы с видеопотоками. LUNA Streams осуществляет несколько функций: настройка параметров видеопотока (тип потока, адрес источника потока, параметры фильтрации и т. д.); создание видеопотока. Параметры устанавливаются путем отправки запросов с телом в формате JSON в сервис LUNA Streams. FaceStream 5 берет настройки из LUNA Streams для дальнейшей обработки.
LUNA PLATFORM 5
LUNA Licenses LUNA Licenses содержит информацию о доступных лицензируемых возможностях и их ограничениях, предоставляет информацию об условиях лицензии компонентам LP5: дату окончания лицензии максимально допустимое количество созданных лиц с биометрическими шаблонами; информацию о доступности Liveness; возможность работы с телами, оценки соответствия изображения стандарту ISO/IEC 19794-5, работы с LUNA Index Module, количество потоков для работы LUNA Streams. LUNA Licenses необходим для работы компонентов Сервиса и их взаимодействия с компонентами LP5
LUNA API Предоставляет интерфейс RESTful для взаимодействия с другими компонентами LP5. Основной интерфейс доступа для работы с LP5. Получает запросы, распределяет задачи между другими компонентами LP5
БД luna_events База данных компонента LUNA Events. Предназначена для: хранения всех созданных событий; хранения биометрических шаблонов, созданных для событий.
LUNA CLEMENTINE 2.0
CLEMENTINE API Компонент предоставляет интерфейс для взаимодействия LUNA CLEMENTINE 2.0 со всеми компонентами, отраженными на схеме взаимодействия компонентов. Nginx-сервер необходим для маршрутизации запросов
CLEMENTINE UI Графический интерфейс, обеспечивает передачу информации между пользователем и программно-аппаратными компонентами LUNA CLEMENTINE 2.0
CLEMENTINE AUTH Компонент обеспечивает работу с учетными записями пользователей
БД clementine_auth База данных компонента CLEMENTINE AUTH. Предназначена для: хранения данных учетных записей пользователей; хранения данных для аутентификации; частичной авторизации за счет хранения роли пользователя (непосредственно авторизация запросов не проводится)
CLEMENTINE DEPARTMENTS Компонент обеспечивает работу с отделениями, привязку к отделениям источников событий и пользователей
БД clementine_departments База данных компонента CLEMENTINE DEPARTMENTS. Предназначена для: хранения идентификаторов отделений и источников событий; хранения названий отделений; хранения данных о группировке источников событий, отделений и пользователей
VL NOTIFIER Компонент обеспечивает работу с уведомлениями: отправка уведомлений в интерфейс Сервиса; отправка уведомлений на email; отправка уведомлений в Telegram
УЧЕТ РАБОЧЕГО ВРЕМЕНИ
VL TIMETRACKER Компонент обеспечивает работу с отчетами о приходах, уходах, рабочей активности персон (например, сотрудников компании): создание отчетов

Для более подробной информации о компонентах LP5 см. «VisionLabs LUNA PLATFORM 5. Руководство администратора».