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

Поток выполнения создания/обновления активов выполняет базовую проверку параметров актива и исходного контекста.

Поток выполнения вставки/обновления актива

  • Стартовый сегмент [RECORD_UPSERT_START] - Начинает процесс вставки/обновления актива.

  • Сегмент типа Point [RECORD_UPSERT_ACCESS] - Проверяет права текущего пользователя на вставку/обновление актива, согласно системным ролям.

  • Сегмент типа Point [RECORD_UPSERT_MEASURED] - Проверяет единицы измерения значений атрибутов вставляемого/обновляемого актива.

  • Сегмент типа Point [RECORD_UPSERT_PERIOD_CHECK] - Проверяет периоды актуальности вставляемого актива.

  • Сегмент типа Point [RECORD_UPSERT_MODBOX] - Сохраняет новую модификацию записи в контекст вставки/обновления актива.

  • Сегмент типа Point [RECORD_UPSERT_TIMELINE] - Вычисляет текущий и следующий таймлайн вставляемого/обновляемого актива. В потоке выполнения сегмент должен находиться ПОСЛЕ сегмента, сохраняющего новую модификацию актива - [RECORD_UPSERT_MODBOX].

  • Сегмент типа Point [RECORD_UPSERT_DRAFT_ID] - Создает ID черновика актива, если это необходимо.

  • Сегмент типа Connector [RELATIONS_DELETE_CONNECTOR] - Удаляет связи текущего актива.

  • Сегмент типа Connector [RELATIONS_UPSERT_CONNECTOR] - Создает/обновляет связи текущего актива.

  • Сегмент типа Connector [CLASSIFICATION_DELETE_CONNECTOR] - Удаляет классификации текущего актива.

  • Сегмент типа Connector [CLASSIFICATION_UPSERT_CONNECTOR] - Создает/обновляет классификации текущего актива.

  • Сегмент типа Selector [RECORD_UPSERT_SELECTOR] - Определяет, по какой ветви потока исполнения пойдет процесс: черновик [DRAFT] или регулярный поток [REGULAR].

  • Финишный сегмент [RECORD_UPSERT_FINISH] - Завершает процесс вставки/обновления актива.

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

  • Сегмент типа Selector [RECORD_UPSERT_DRAFT_DQ_SELECTOR] - Определяет, по какой ветви потока исполнения пойдет процесс: фаза черновика [DRAFT_PHASE] или регулярная фаза [REGULAR].

    • Фаза черновика [DRAFT_PHASE] добавляет к основному потоку еще 3 сегмента выполнения:

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

      • [RELATION_UPSERT_CONTINUE_CONNECTOR] - Создает/обновляет связи текущего актива.

      • [CLASSIFICATION_UPSERT_CONTINUE_CONNECTOR] - Создает/обновляет классификации текущего актива.

  • Сегмент типа Point [RECORD_UPSERT_DRAFT] - Создает/обновляет черновик актива с указанием соответствующей операции черновика.

  • Сегмент типа Point [RECORD_UPSERT_DRAFT_REFRESH] - Обновляет информацию об активе в черновике, которую обновляют в кэше и других временных хранилищах.

  • Сегмент типа Point [RECORD_UPSERT_DRAFT_WORKFLOW_REFRESH] - Запускает переиндексацию процессов и задач бизнес-процессов, относящихся к обновляемому черновику актива, с целью обновления отображаемого значения объекта.

  • Сегмент типа Point [RECORD_UPSERT_POSTPROCESSING] - Выполняет пост-обработку вставляемого/обновляемого актива.

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

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

  • Сегмент типа Point [RECORD_UPSERT_VALIDATE] - Выполняет валидацию актива, в случае если актив невалиден, выбрасывает исключение.

  • Сегмент типа Point [RECORD_UPSERT_INDEXING] - Подготавливает данные вставляемого/обновляемого актива для индексации. В потоке выполнения сегмент должен находиться ПОСЛЕ сегмента, вычисляющего таймлайн актива [RECORD_UPSERT_TIMELINE].

  • Сегмент типа Point [RECORD_UPSERT_LOB_SUBMIT] - Планирует прием атрибутов-файлов актива.

  • Сегмент типа Point [RECORD_UPSERT_TRANSITION] - Фиксирует/обновляет список переходов состояний актива (например, удаление или восстановление).

  • Сегмент типа Point [RELATION_UPSERT_CONSTRAINTS] - Проверяет ограничения связей при обновлениях актива.

  • Сегмент типа Point [CLASSIFICATION_UPSERT_CONSTRAINTS] - Проверяет ограничения классификации при обновлениях актива.

  • Сегмент типа Connector [RELATION_UPSERT_CONTINUE_CONNECTOR] - Создает/обновляет связи текущего актива.

  • Сегмент типа Connector [CLASSIFICATION_UPSERT_CONTINUE_CONNECTOR] - Создает/обновляет классификации текущего актива.

  • Сегмент типа Point [RECORD_UPSERT_PERSISTENCE] - Выполняет финальную фазу вставки/обновления актива - перенос данных в постоянное хранилище.

  • Сегмент типа Point [RECORD_UPSERT_REFRESH] - Обновляет информацию об активе из кэша или других временных хранилищ.

  • Сегмент типа Point [RECORD_UPSERT_POSTPROCESSING] - Выполняет пост-обработку вставляемого/обновляемого актива.

  • Сегмент типа Connector [RECORD_UPSERT_MATCHING_CONNECTOR] - Позволяет встраивать сегмент для сохранения данных сопоставления в момент сохранения изменений актива и запускать правила сопоставления для них.

  • Сегмент типа Point [RECORD_AUDIT_EVENT] - Обрабатывает успешные действия с активом данных и передает их в аудит или любому другому потребителю данных через домен сообщений. Сегмент желательно размещать в потоке выполнения в секции для обычных сегментов как можно позже.

  • Сегмент типа Fallback [RECORD_AUDIT_FALLBACK] - Обрабатывает ошибки выполнения потока, если основная логика потока (Start, Point и Connector) завершилась с ошибкой. Обрабатывает неуспешные действия с активом и передает их в аудит или любому другому потребителю данных через домен сообщений. Сегмент нужно размещать в потоке выполнения в секции для сегментов - обработчиков ошибок.

Поток формирования кластеров запрашиваемого актива

  1. Стартовый сегмент [RECORD_GET_START] - Начинает процесс получения кластеров для запрашиваемого актива.

  2. Сегмент типа Point: [RECORD_READ_ACCESS] - Проверяет права текущего пользователя на получение актива согласно системным ролям.

  3. Сегмент типа Point: [RECORD_GET_DIFF] - Получает разницу ревизий актива.

  4. Сегмент типа Point: [RECORD_GET_VISTORY] - Получает историю изменений актива.

  5. Сегмент типа Point: [RECORD_GET_ATTRIBUTES_POSTPROCESSING] - Выполняет пост обработку получаемого актива.

  6. Сегмент типа Point: [RECORD_GET_SECURITY_POSTPROCESSING] - Фильтрует атрибуты получаемого актива по правам доступа.

  7. Сегмент типа Point: [RECORD_AUDIT_EVENT] - Пример сегмента успешных действий с активом, которые могут быть сообщены в аудит или любому другому потребителю данных через домен сообщений. Сегмент желательно размещать в потоке выполнения в секции для обычных сегментов как можно позже.

  8. Сегмент типа Connector [RELATIONS_GET_CONNECTOR] - Позволяет встраивать сегмент для получения данных о связях.

  9. Сегмент типа Connector [CLASSIFICATION_GET_CONNECTOR] - Позволяет встраивать сегмент для получения данных о классификациях.

  10. Сегмент типа Connector [RECORD_GET_QUALITY_CONNECTOR] - Получает вычисленные ошибки правил качества для запрашиваемого актива.

  11. Сегмент типа Connector [RECORD_GET_MATCHING_CONNECTOR] - Позволяет встраивать сегмент для получения данных сопоставления для запрашиваемого актива.

  12. Финишный сегмент [RECORD_GET_FINISH] - Завершает процесс получения кластеров для запрашиваемого актива.

Поток пакетного сохранения изменений актива

  1. Стартовый сегмент [BATCH_RECORD_UPSERT_START] - Начинает процесс пакетной вставки/обновления актива.

  2. Сегмент типа Point: [BATCH_RECORD_GET_PROCESS] - Получает записи из пакета.

  3. Сегмент типа Point: [BATCH_RECORD_AUDIT_EVENT] - Пример сегмента успешных пакетных действий с активом, которые могут быть сообщены в аудит или любому другому потребителю данных через домен сообщений. Сегмент желательно размещать в потоке выполнения в секции для обычных сегментов как можно позже.

  4. Сегмент типа Connector [RELATIONS_GET_CONNECTOR] - Позволяет встраивать сегмент для получения данных о связях.

  5. Сегмент типа Connector [BATCH_RECORD_UPSERT_MATCHING_CONNECTOR] - Позволяет встраивать сегмент для сохранения/удаления данных сопоставления при выполнении пакетного сохранения изменений актива.

  6. Финишный сегмент [BATCH_RECORD_UPSERT_FINISH] - Завершает процесс пакетной вставки/обновления актива.

Поток пакетного удаления актива

  1. Стартовый сегмент [BATCH_RECORD_DELETE_START] - Начинает процесс пакетного удаления актива.

  2. Сегмент типа Point: [BATCH_RECORD_DELETE_MULTI_DRAFT] - Создает/продолжает родительский мультичерновик для удаления группы активов. Сегмент обязателен для поддержки массового согласования.

  3. Сегмент типа Point: [BATCH_RECORD_DELETE_PROCESS] - Обрабатывает удаление активов из пакета, собирает статистику по результатам обработки.

  4. Сегмент типа Point: [BATCH_RECORD_DELETE_DRAFT_SKIP] - Пропускает оставшуюся часть потока выполнения, если этот поток начал удаление из существующего массового черновика. Сегмент обязателен для поддержки массового согласования.

  5. Сегмент типа Point: [BATCH_RECORD_DELETE_PERSISTENCE] - Выполняет удаление активов из пакета, которые были успешно обработаны в точке [BATCH_RECORD_DELETE_PROCESS].

  6. Сегмент типа Point: [BATCH_RECORD_AUDIT_EVENT] - Пример сегмента успешных пакетных действий с удалением данных, которые могут быть сообщены в аудит или любому другому потребителю данных через домен сообщений. Сегмент желательно размещать в потоке выполнения в секции для обычных сегментов как можно позже.

  7. Финишный сегмент [BATCH_RECORD_DELETE_FINISH] - Завершает процесс пакетного удаления актива.