Механизм репликации

 

Общие сведения о механизме репликации

 


Механизм репликации позволяет организовать работу системы сразу на нескольких серверах. Это бывает необходимо, когда организация имеет распределенную структуру или сеть филиалов, которые должны работать с информационной системой, но для которых доступ к центральному серверу в режиме оn-line невозможен из-за отсутствия линий связи или из-за их недостаточной пропускной способности. Кроме того, распределение системы по нескольким серверам при наличии большого количества пользователей, имеющих доступ к системе, позволяет уменьшить нагрузку на центральный сервер и тем самым увеличить производительность системы.

Рассмотрим пример организации с территориально-распределенной структурой:

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

В механизме репликации IS-Builder выделяется две категории серверов – главный и вторичные. Каждый сервер, за исключением центрального, может иметь один главный сервер и множество вторичных серверов. Обмен данными может производиться только между главным и вторичным серверами; вторичные серверы могут обмениваться между собой данными только через главный сервер. Вторичный сервер содержит некоторое подмножество данных информационной системы, а главный сервер содержит данные всех вторичных серверов.

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

Существует два способа разграничения данных между главным и вторичными серверами:

·         по компонентам («вертикальное» разграничение) – позволяет задать перечень доступных компонент для каждого вторичного сервера;

·         по фильтраторам («горизонтальное» разграничение) – позволяет задать перечень доступных записей в компоненте.

Существует два типа сеансов обмена данными между главным и вторичными серверами:

·         обмен измененными данными;

·         обмен полными данными.

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

·         подготовка пакета репликации (измененные данные) на вторичном сервере для главного сервера;

·         транспортировка пакета репликации на главный сервер;

·         прием пакета репликации на главном сервере;

·         подготовка пакета репликации (измененные данные) на главном сервере для вторичного сервера;

·         транспортировка пакета репликации на вторичный сервер;

·         прием пакета репликации на вторичном сервере.

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

Средства переноса пакетов репликации могут быть любыми – электронная почта, средства удаленного доступа к серверу или просто перенос файлов на дискетах или CD.

Существует несколько методов проведения репликации:

·         проведение репликации в ручном режиме – бывает необходимо при первоначальной настройке процесса репликации, в случае возникновения каких-нибудь проблем или когда серверы не могут обмениваться пакетами репликации автоматически (например, серверы находятся вне локальной сети, и нет доступа в Интернет). При проведении репликации в ручном режиме можно последовательно проводить передачу и прием данных, контролируя и устраняя все возникающие ошибки;

·         проведение репликации в автоматическом режиме. Возможны варианты:

·         автоматическая репликация с помощью компонент репликации (подробнее см. раздел «Настройка автоматической репликации с помощью компонент репликации» главы «Настройка репликации»);

·         автоматическая репликация по электронной почте (подробнее см. раздел «Настройка автоматической репликации по электронной почте» главы «Настройка репликации»).

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

Задачей репликации является полная синхронизация данных между серверами информационной системы при условии разрешения всех конфликтных ситуаций. Подробнее о конфликтах и способах их разрешения см. главу «Конфликтные ситуации».

 

 

 

 

См. также:

·         Действие в репликации;

·         Каталог репликации;

·         Архивация данных;

·         Механизм работы агента репликации.