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

Система DataPackets

DataPacket (пакет данных) — это единичная запись данных в системе aiWarmUp. Каждый DataPacket представляет одну сущность: компанию, контакт, результат поиска или любую другую единицу информации, которая проходит через воронка.

Все данные в системе существуют только в виде DataPackets. Когда процессор выполняет свою работу, он читает входные пакеты и создает выходные. Таким образом, весь поток данных в воронке — это цепочка пакетов, связанных между собой.

Каждый пакет содержит следующие компоненты:

  • Payload (данные) — основное содержимое пакета в формате “ключ-значение”. Например, для компании это может быть companyName, inn, address, revenue и другие поля.
  • Метаданные — служебная информация: дата создания, идентификатор процессора-создателя, идентификатор запуска.
  • Статус — текущее состояние обработки пакета.
  • Ссылка на родительский пакет — идентификатор входного пакета, на основе которого был создан текущий. Это позволяет отслеживать всю цепочку обработки от начального поиска до финального результата.

Каждый пакет проходит определённый жизненный цикл:

  1. created (создан) — пакет только что создан процессором. Он содержит данные и готов к передаче на обработку следующему процессору в цепочке.
  2. processed (обработан) — следующий процессор в цепочке успешно обработал этот пакет и создал на его основе один или несколько выходных пакетов.
  3. error (ошибка) — при обработке пакета возникла ошибка. Пакет сохраняется с описанием ошибки, а обработка остальных пакетов продолжается.
  4. filtered (отфильтрован) — пакет не прошёл условия фильтрации и был исключён из дальнейшей обработки.

Статусная модель позволяет точно понять, что произошло с каждой записью на каждом этапе воронки.

Каждый процессор создаёт выходные пакеты на основе входных. Принцип работы:

  • Поисковый процессор получает на вход запрос и создаёт по одному пакету на каждый найденный результат.
  • Обогащающий процессор получает пакет с базовыми данными и создаёт новый пакет с дополненной информацией.
  • Фильтрующий процессор получает пакеты и создаёт выходные только для тех, которые прошли условия. Остальные получают статус filtered.
  • ИИ-процессор получает пакет, обрабатывает его через модель и создаёт пакет с результатом анализа.

Выходной пакет всегда ссылается на входной через parent_packet_id. Благодаря этому можно проследить полную историю обработки любой записи.

Для просмотра данных процессора откройте его страницу данных. Таблица отображает все DataPackets, созданные этим процессором:

  • Каждая строка таблицы соответствует одному DataPacket.
  • Столбцы формируются автоматически на основе полей в payload.
  • Статус пакета отображается цветовой индикацией: зелёный для обработанных, красный для ошибок, серый для отфильтрованных.

Таблица поддерживает постраничную навигацию для работы с большими объёмами данных.

В таблице данных доступны инструменты фильтрации и сортировки:

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

Данные из таблицы можно экспортировать для дальнейшей работы. Подробнее об экспорте читайте в разделе Экспорт данных.

При необходимости пакеты можно удалить. Доступны следующие варианты:

  • Удалить все пакеты процессора — полная очистка данных процессора. Это полезно, если нужно перезапустить процессор с новыми настройками.
  • Удалить пакеты с потомками — удаляет выбранные пакеты и все пакеты, созданные на их основе в последующих процессорах. Используйте с осторожностью, так как это затронет данные в нижестоящих процессорах.
  • Удалить только текущие пакеты — удаляет пакеты только текущего процессора, не затрагивая данные в других процессорах.

Перед удалением система показывает количество затронутых пакетов и запрашивает подтверждение.

DataPackets образуют древовидную структуру через ссылки на родительские пакеты. Один пакет поискового процессора может породить десятки пакетов обогащения, каждый из которых порождает пакеты фильтрации и так далее.

Эта структура позволяет:

  • Проследить, из какого исходного запроса получен конкретный результат.
  • Понять, на каком этапе произошла ошибка или фильтрация.
  • Получить доступ к данным любого предка через механизм цепочечных данных (chain data).

Подробнее о передаче данных между процессорами читайте в разделе Связывание процессоров.