Поток создания и обновления связей

Основной поток создания/обновления связей

  1. Стартовый сегмент потока: [RELATION_UPSERT_START] - обеспечивает базовую валидацию исходного контекста (наличие связи, проверку существования левого и правого концов связи, корректность статуса записи обновляемой связи). Выполняет настройку исходного контекста.

  2. Сегменты типа Point:

    • [RELATION_UPSERT_ACCESS] - выполняет проверку прав пользователя на создание/обновление связи;

    • [RELATION_UPSERT_MEASURED] - нормализует измеряемые атрибуты связи перед сохранением;

    • [RELAТION_UPSERT_PERIOD_CHECK] - проверяет корректность границ периода актуальности создаваемой/обновляемой связи.

  3. Сегмент типа Selector: [RELATION_UPSERT_SELECTOR] - определяет по какой ветви потока исполнения пойдет процесс создания/изменения связи: черновик [DRAFT] или регулярный поток [REGULAR].

  4. Финишный сегмент: [RELATION_UPSERT_FINISH] - возвращает результат создания/обновления связи.

Ветвь потока [DRAFT]:

  • [RELATION_UPSERT_MODBOX] - выполняет подготовку внесенных изменений перед вычислением обновленного таймлайна связи;

  • [RELATION_UPSERT_TIMELINE] - вычисляет обновленный таймлайн связи. Применяет внесенные изменения к текущему таймлайну связи, вычисляет периоды актуальности, создает эталонную запись связи;

  • [RELATION_UPSERT_DRAFT] - выполняет сохранение/обновление черновика связи;

  • [RELATION_UPSERT_POSTPROCESSING] - выполняет постобработку атрибутов связи. Вычисляет отображаемые значения для атрибутов типа “Перечисление” и “Ссылка на справочник”, заполняет шаблоны ссылок на веб-ресурсы;

Ветвь потока [REGULAR]:

  • [RELATION_UPSERT_VALIDATE] - выполняет валидацию атрибутов создаваемой/обновляемой связи и проверяет согласованность данных.

  • [RELATION_UPSERT_INDEXING] - вычисляет изменения в поисковом индексе при создании/обновлении связи.

  • [RELATION_UPSERT_PERSISTENCE] - применяет изменения, вычисленные при создании/обновлении связи, в базу данных и поисковый индекс.

Потоки выполнения

Рисунок 1 - Пример готового потока выполнения