Архитектура#
Архитектура CARS API представлена на Рисунке (Рисунок 1).
Подробное описание архитектуры приведено в Таблице 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 обратно во внешнюю систему. |