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

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

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

Архитектура CARS API

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

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

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

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

Диаграмма последовательности взаимодействия компонентов HTTP REST Server и Vehicle Engine для получения атрибутов ТС представлена на Рисунке (Рисунок 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 обратно во внешнюю систему.