Управление и развитие
Управление данными
Агрегация данных
Цель:
- Долгосрочное хранение агрегированных данных для отчетов
- Уменьшение объема детальных данных
Агрегируемые данные:
- Статистика по альбомам (количество фото, тегов, времени обработки)
- Статистика по тегаторам (количество задач, времени работы, качества)
- Статистика по провайдерам (количество запросов, времени, ошибок)
Периодичность агрегации:
- Ежедневная агрегация для краткосрочных отчетов
- Еженедельная агрегация для среднесрочных отчетов
- Ежемесячная агрегация для долгосрочных отчетов
Удаление устаревших данных
Данные для удаления:
- Детальные записи обработки фото (после завершения обработки альбома)
- Детальные записи задач тегирования (после расчетов с тегаторами)
- Колбеки от провайдеров (после обработки)
Условия удаления:
- Альбом завершен и закрыт
- Прошло N дней/месяцев с момента завершения
- Выполнены расчеты с тегаторами
- Данные агрегированы для отчетов
Периодичность очистки:
- Еженедельная проверка и удаление устаревших данных
Хранение результатов
Долгосрочное хранение (в PhotoService):
- Персоны (лица)
- Теги (номера)
Краткосрочное хранение (в сервисе распознавания):
- Детали обработки фото
- История изменения статусов
- Результаты валидации
Агрегированное хранение:
- Статистика по альбомам
- Статистика по тегаторам
- Отчеты для взаиморасчетов
Нерешенные вопросы
Повторное распознавание
Вопросы:
- Нужны ли инструменты повторного распознавания альбома?
- Когда и как запускать повторное распознавание?
- При ошибке в разрядности
- При исправлении ошибки на стороне Athlete
- По запросу менеджера
Проблемы:
- Аналогичная проблема с повторной ручной разметкой
- Необходимость оплаты повторной работы тегаторов
Агрегация и удаление данных
Вопросы:
- Какие данные нужны длительно для отчетов и взаиморасчетов?
- Когда и по каким триггерам агрегировать данные?
- Когда можно безопасно удалять исходные данные?
Требуется:
- Уточнить у менеджеров требования к отчетам
- Определить периоды хранения данных
- Разработать стратегию агрегации
Приоритеты обработки
Вопросы:
- Нужен ли polling таблицы callback для учета приоритета?
- Готовы ли к усложнению реализации?
- Нужен ли polling таблицы фотографий с учетом приоритета при больших очередях?
Решение: Вопрос приоритетов выносится отдельно и прорабатывается после реализации основного функционала.
Валидация результатов
Вопросы:
- Считать ли кейс "несколько лиц, один номер после валидации" некорректным всегда?
- Или только в части сценариев?
- Как определить сценарии, когда это допустимо?
Переназначение фото при удалении плохой работы
Вопросы:
- Автоматически переназначать фото другому тегатору?
- Как определять "другого" тегатора?
- Учитывать ли специализацию тегаторов?
Статус: Перспективная доработка, требует проработки.
Прокидывание PhotographerId и ShootingDate
Вопросы:
- Как прокинуть эти данные из PhotoService?
- Точки интеграции и источник данных?
- Нужно ли хранить эти данные в сервисе распознавания?
Возможное решение: Хранить в json-поле записи фотографии, передавать в TagatorService или любому другому провайдеру при необходимости.
Миграция данных
Вопросы:
- Детальный план миграции данных
- Порядок шагов миграции
- Стратегия отката при проблемах
- Тестирование миграции
Разрядность на нашей стороне
Вопросы:
- Перенести учет разрядности на нашу сторону?
- Как это повлияет на взаиморасчеты с Athlete?
- Возможность перепроверки результатов без повторного распознавания
Текущее решение: Оставить разрядность на стороне Athlete для корректных взаиморасчетов.
Дальнейшие доработки
Единая база тегаторов
Цель:
- Использовать единую базу тегаторов для всех инстансов (MSP, ByMSP, Witisi)
- Упростить управление тегаторами
Статус: Требует проработки в контексте новой архитектуры.
Tenant или Project
Идея:
- Заменить понятие Tenant на Project
- Сделать сервис универсальным и независимым от Media
- Возможность использования сторонними продуктами
Статус: Перспективная доработка.
Улучшенная валидация
Возможности:
- Более строгая валидация при доступности всех результатов в одном месте
- Сравнение количества лиц и номеров
- Проверка соответствия лиц и номеров по другим фото альбома
Статус: Реализуется после основного функционала.