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

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

Архитектура CARS_API представлена на рисунке ниже (Рисунок 1).

Архитектура CARS_API
Рисунок 1. Архитектура CARS_API

Подробное описание архитектуры приведено в Таблице 2.

Таблица 2. Описание архитектуры сервиса CARS_API

Компонент Описание
Источники Источники запросов на получение атрибутов ТС и ГРЗ:
- Ручной запрос пользователя (подробнее в разделе API-запросы);
- Внешняя система. Может быть использована CARS_Analytics или любая система заказчика.
Балансировщик нагрузки Сервис для распределения запросов и ответов между несколькими запущенными копиями CARS_API и внешней системой аналитики и сбора информации. CARS_API поддерживает работу только с Nginx.
HTTP REST Server Сервис, отвечающий за обмен информацией с внешними системами и за обработку запросов. Обрабатывает полученный запрос: декодирует полученное изображение во внутренний формат, доступный для распознавания атрибутов, и последовательно запускает каждый классификатор. После получения атрибутов ТС и ГРЗ от классификаторов отправляет ответ в формате JSON обратно потребителю.
Vehicle Engine Библиотека, содержащая методы обработки изображения ТС и ГРЗ (подробнее в разделе Настройка).

Диаграмма взаимодействия HTTP REST Server и Vehicle Engine#

Диаграмма последовательности взаимодействия компонентов HTTP REST Server и Vehicle Engine для получения атрибутов ТС представлена на рисунке ниже (Рисунок 2).

Диаграмма последовательности получения атрибутов ТС
Рисунок 2. Диаграмма последовательности получения атрибутов ТС

Подробное описание шагов диаграммы приведено в Таблице 3.

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

Шаг Описание
1 Запрос на обработку изображения отправляется на HTTP REST Server в формате JSON, содержащего информацию о закодированных в формате Base64 изображениях ТС и ГРЗ, методе обработки изображения и списке классификаторов
2 Функция проверки наличия классификатора сверяет список заданных классификаторов со списком доступных
3 HTTP REST Server вызывает метод обработки изображения для каждого классификатора из заданного списка отдельно. Обработка по каждому переданному классификатору запускается последовательно
4 Vehicle Engine обрабатывает изображения в соответствии с вызванным методом
5 Vehicle Engine возвращает данные в HTTP REST Server для каждого переданного классификатора по очереди
6 HTTP REST Server формирует ответ и отправляет его в формате JSON обратно во внешнюю систему