Навигация:  МОДУЛЬ "РЕПЛИКАЦИЯ" > ОПИСАНИЕ АЛГОРИТМОВ ОБРАБОТКИ ДАННЫХ >

Алгоритм формирования выгружаемых данных

Предыдущая страницаВернуться в начало главыСледующая страница

При выгрузке данных менеджер репликации последовательно обрабатывает все таблицы, у которых в настройках сущностей стоит признак Основная таблица (см. Настройка сущностей).

При выгрузке данных по запросу основной таблицей считается та, которая связана с запросом. В этом случае другие основные таблицы игнорируются.

На каждую основную таблицу накладываются SQL-условия фильтров, заданные в настройках сущности (см. Вкладка "Фильтр", Вкладка "Автофильтр", Вкладка "Условие"). При этом условие Фильтр добавляется всегда, условие Автофильтр накладывается, только если производится автоматическая выгрузка; условие По изменениям накладывается, если в параметрах выгрузки стоит опция Только изменения. Если в условиях есть ссылки на глобальные переменные, то вместо них подставляются соответствующие им значения. Все записи, удовлетворяющие этим условиям, добавляются в результирующую выгрузку.

Система умеет определять для любой локальной записи наличие изменений по сравнению с записью в удаленной базе. Это условие накладывается автоматически, если в настройках сущности включена опция Отслеживать изменения (см. Вкладка "Условие").

Для каждой полученной в результате записи основных таблиц производится анализ их записей в подтаблицах (см. Вкладка "Подтаблицы"). Все записи в подтаблицах обрабатываются точно так же, как и записи основных таблиц, и в конечном итоге тоже добавляются в результирующую выгрузку.

Затем обрабатываются все ссылки (см. Вкладка "Ссылки") для всех записей, попавших в результирующую выгрузку. В результат добавляются все записи-ссылки, которые удовлетворяют условиям Фильтр, заданным для соответствующих таблиц в настройках сущностей. Условие Автофильтр и условие По изменениям на ссылки не накладываются.

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

Далее этот файл передается сервису транспорта, который осуществляет его передачу на удаленный сервер.