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

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

Архитектура 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 обратно во внешнюю систему.