Терминология

Предикт — некий результат вычислений модели машинного обучения.

Сервис Предиктов — внешний сервис машинного обучения, который принимает на вход информацию о слайде, скачивает его, генерирует результат (напр. маску или другую геометрию), загружает результат в FileStorage и отправляет результат в PACS OneCell.

PACS OneCell — сервис платформы OneCell, который хранит предикты, а также отдаёт результат в браузер.

FileStorage — сервис-прослойка между хранилищем S3 и другими сервисами. Через него происходит загрузка файлов, а также их скачивание.

FileKey — уникальный идентификатор файла в FileStorage в формате UUID.

Apache Kafka — сервис для обмена сообщениями между сервисами (message broker).

Коммит — подтверждение транзации.

Топик — именованный канал сообщений в Apache Kafka.

Введение

Данный документ описывает взаимодействие внешнего сервиса предиктов с PACS OneCell.

Обмен данными происходит по Apache Kafka. Каждому Сервису Предиктов будет выделено два Топика - входящий и исходящий. Сервис Предиктов должен принимать сообщения из входящего топика, обрабатывать их и отправлять ответ в исходящий.

При этом, Сервис Предиктов должен производить Коммит чтения входящего сообщения только после обработки входящего сообщения. Это нужно для того, чтобы при аварийном завершении сервиса предиктов сообщение было гарантировано обработано другим экземпляром сервиса предиктов. Auto-Commit должен быть выключен, подтверждение транзакций должно проходить явно после обработки входящего сообщения.

Взаимодействие сервиса предиктов с PACS OneCell

Для каждого Сервиса Предиктов будет передано название двух Топиков — входящего и исходящего, а также настройки для подключения к брокеру сообщений Apache Kafka.

Сервис должен читать входящий Топик и ожидать сообщения JSON, согласно схеме данных PredictInputMessage. Любые неизвестные сервису поля во входящем JSON должны игнорироваться.

После генерации предикта, сервис должен сохранить его в формат GeoJSON и сжать с помощью GZIP в формат filename.geojson.gz. Далее, сжатый файл должен быть загружен на FileStorage, а Сервис Предиктов должен будет отправить результаты в исходящий топик.

Форматы данных