Перейти к основному содержимому

Управление и развитие

Управление данными

Агрегация данных

Цель:

  • Долгосрочное хранение агрегированных данных для отчетов
  • Уменьшение объема детальных данных

Агрегируемые данные:

  • Статистика по альбомам (количество фото, тегов, времени обработки)
  • Статистика по тегаторам (количество задач, времени работы, качества)
  • Статистика по провайдерам (количество запросов, времени, ошибок)

Периодичность агрегации:

  • Ежедневная агрегация для краткосрочных отчетов
  • Еженедельная агрегация для среднесрочных отчетов
  • Ежемесячная агрегация для долгосрочных отчетов

Удаление устаревших данных

Данные для удаления:

  • Детальные записи обработки фото (после завершения обработки альбома)
  • Детальные записи задач тегирования (после расчетов с тегаторами)
  • Колбеки от провайдеров (после обработки)

Условия удаления:

  • Альбом завершен и закрыт
  • Прошло N дней/месяцев с момента завершения
  • Выполнены расчеты с тегаторами
  • Данные агрегированы для отчетов

Периодичность очистки:

  • Еженедельная проверка и удаление устаревших данных

Хранение результатов

Долгосрочное хранение (в PhotoService):

  • Персоны (лица)
  • Теги (номера)

Краткосрочное хранение (в сервисе распознавания):

  • Детали обработки фото
  • История изменения статусов
  • Результаты валидации

Агрегированное хранение:

  • Статистика по альбомам
  • Статистика по тегаторам
  • Отчеты для взаиморасчетов

Нерешенные вопросы

Повторное распознавание

Вопросы:

  • Нужны ли инструменты повторного распознавания альбома?
  • Когда и как запускать повторное распознавание?
    • При ошибке в разрядности
    • При исправлении ошибки на стороне Athlete
    • По запросу менеджера

Проблемы:

  • Аналогичная проблема с повторной ручной разметкой
  • Необходимость оплаты повторной работы тегаторов

Агрегация и удаление данных

Вопросы:

  • Какие данные нужны длительно для отчетов и взаиморасчетов?
  • Когда и по каким триггерам агрегировать данные?
  • Когда можно безопасно удалять исходные данные?

Требуется:

  • Уточнить у менеджеров требования к отчетам
  • Определить периоды хранения данных
  • Разработать стратегию агрегации

Приоритеты обработки

Вопросы:

  • Нужен ли polling таблицы callback для учета приоритета?
  • Готовы ли к усложнению реализации?
  • Нужен ли polling таблицы фотографий с учетом приоритета при больших очередях?

Решение: Вопрос приоритетов выносится отдельно и прорабатывается после реализации основного функционала.

Валидация результатов

Вопросы:

  • Считать ли кейс "несколько лиц, один номер после валидации" некорректным всегда?
  • Или только в части сценариев?
  • Как определить сценарии, когда это допустимо?

Переназначение фото при удалении плохой работы

Вопросы:

  • Автоматически переназначать фото другому тегатору?
  • Как определять "другого" тегатора?
  • Учитывать ли специализацию тегаторов?

Статус: Перспективная доработка, требует проработки.

Прокидывание PhotographerId и ShootingDate

Вопросы:

  • Как прокинуть эти данные из PhotoService?
  • Точки интеграции и источник данных?
  • Нужно ли хранить эти данные в сервисе распознавания?

Возможное решение: Хранить в json-поле записи фотографии, передавать в TagatorService или любому другому провайдеру при необходимости.

Миграция данных

Вопросы:

  • Детальный план миграции данных
  • Порядок шагов миграции
  • Стратегия отката при проблемах
  • Тестирование миграции

Разрядность на нашей стороне

Вопросы:

  • Перенести учет разрядности на нашу сторону?
  • Как это повлияет на взаиморасчеты с Athlete?
  • Возможность перепроверки результатов без повторного распознавания

Текущее решение: Оставить разрядность на стороне Athlete для корректных взаиморасчетов.

Дальнейшие доработки

Единая база тегаторов

Цель:

  • Использовать единую базу тегаторов для всех инстансов (MSP, ByMSP, Witisi)
  • Упростить управление тегаторами

Статус: Требует проработки в контексте новой архитектуры.

Tenant или Project

Идея:

  • Заменить понятие Tenant на Project
  • Сделать сервис универсальным и независимым от Media
  • Возможность использования сторонними продуктами

Статус: Перспективная доработка.

Улучшенная валидация

Возможности:

  • Более строгая валидация при доступности всех результатов в одном месте
  • Сравнение количества лиц и номеров
  • Проверка соответствия лиц и номеров по другим фото альбома

Статус: Реализуется после основного функционала.