Синхронизация данных это компьютерные сети

Обновлено: 03.07.2024

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

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

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

Таким образом, для точной работы цифровых каналов и сетей необходимо выполнять, во-первых, протокольные методы синхронизации (битовой или цикловой) и, во-вторых, осуществлять чисто физическую синхронизацию взаимодействующих устройств. Для этого на сети необходим очень точный тактовый генератор. Так, главный тактовый генератор имеет атомный эталон частоты, стабильность которого равна 10 11 Гц. При такой стабильности ошибки, связанные с синхронностью и синфазностью, встречаются столь редко, что средний коэффициент ошибок остается в допустимых пределах.

Вопросы для самопроверки

1. Можно ли цифровые сигналы передавать по аналоговым каналам связи?

2. Может ли пропускная способность канала быть ниже ширины спектра канала?

3. Для восстановления сигнала необходимо знать значение несущей частоты и значения гармоник. Верно ли это утверждение, если да, то сколько гармоник необходимо знать?

4. Какая пропускная способность канала является основой для цифрового телефонного сигнала?

5. Зачем используется кодирование информации перед передачей ее по каналам связи?


GoodSync


Например, утилита GoodSync настолько универсальна, что способна работать и как обычная программа для резервного копирования, и как посредник между локальным ПК и облачными сервисами для синхронизации данных, а также как инструмент для работы с файлами на двух компьютерах, внося изменения в данные, если они совершались на любом из 2-х ПК. Соответственно вы всегда будете работать с актуальным файлом. Соединение между компьютерами пользователя осуществляется напрямую, функцией GoodSync Connect, то есть без использования облачных сервисов.

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

Любителям автоматизации задач, можно настроить расписание синхронизации данных с ПК. Например перед завершением работы с ПК или в определенное время. GoodSync способна самостоятельно перезаписать старый файл его новой редакцией при необходимости. Если у вас появятся сомнения в правильности передачи файлов по сети, то программа позволяет сравнить контрольные суммы файлов.

PureSync


Виды синхронизаций, реализованные в утилите:

  • обычное резервное копирование
  • синхронизация данных между 2-мя папками
  • автоматический импорт фотографий с камеры
  • перенос файлов с одного ПК на другой

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

Allway Sync


Allway Sync оправдывает свое название и предлагает самый большой выбор мест для хранения синхронизированных данных:

  • папка на локальном компьютере
  • локальная сеть
  • внешний накопитель (USB жесткий диск, флешка)
  • оптический носитель (CD, DVD)
  • FTP-сервер и SFTP-cepвep Allway Sync
  • поддержка облачных хранилищ: Dropbox, SkyDrive, Google Drive и др.
  • поддержка Яндекс.Диск с помощью протокола Web-DAV

Конечно, используя программу Allway Sync можно создать обычный архив данных. Для обеспечения безопасности утилита способна архивировать и шифровать файлы, копируемые между источниками. Удалив файлы с одного их них, программа переместит данные в специальную папку _SYNCAPP или заданную пользователем директорию, которые вы можете восстановить из интерфейса Allway Sync. Также как и PureSync, данная утилита обладает функцией автосинхронизации, работой по расписанию и активацией по определенному системному действию.

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

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

Объект синхронизатор

Сценарий синхронизации будет определять, каким функционалом будет обладать ваш синхронизатор. Если синхронизация подразумевает только одну «главную» копию и будет выполняться полным замещением содержимого другой, то подойдет простой вариант вида импортер/экспортер. Если же планируется выполнять синхронизацию наборов независимых записей, то придется делать более сложную реализацию синхронизатора.

Базовый класс

Создайте базовый класс синхронизатора, определяющий общее для всех наследников поведение и интерфейс методов, свойств и событий. Назовем такой класс, например, SynchronizerBase. Такой класс может определять строго определенный порядок вызовов абстрактных методов для выполнения основных необходимых действий синхронизации в нужной последовательности. Функционал будет расширяться путём наследования. Наличие базового класса освободит вас от дублирования кода. Такие общие операции, как инициализация внутренних структур и свойств, могут быть реализованы один раз в этом классе.

Дополнительным плюсом такого подхода будет являться то, что вы получите единый стройный API для всех реализуемых впоследствии наследников.

Разделение обязанностей

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

Таким образом, вы можете создать несколько наследников, например, ImportSynchronizer и ExportSynchronizer, реализующих основную логику синхронизации для каждого из сценариев. Эти классы могут остаться абстрактными, если в дальнейшем вы планируете реализовывать их конкретных наследников для различных наборов данных.

Например, в XtraScheduler у нас получилась следующая схема базовых классов:


Выделение алгоритмов в подклассы

Чтобы не делать объект синхронизатора слишком нагруженным, имеет смысл организовать архитектуру, отделив реализацию алгоритма синхронизации от интерфейса самого синхронизатора. Выделите подкласс в классе-синхронизаторе, не забыв при этом наладить взаимодействие между этими объектами.

Операции над объектами наборов данных
  • создать новую копию объекта на целевом наборе на основании объекта из исходного набора данных;
  • обновить соответствующий объект в целевом наборе с учетом изменений объекта в исходном наборе;
  • удалить «лишние» объекты на целевом наборе, которые отсутствуют в исходном.


Описанные действия должны быть реализованы в том или ином виде в каждом из наследников вашего синхронизатора. При этом необходимо учесть важный момент, какую копию данных считать «главной». В зависимости от выбора исходный и целевой наборы могут меняться местами. Именно поэтому классы ImportSynchronizer и ExportSynchronizer будут выполнять противоположные действия над наборами данных.

Поддержка событий

Несомненно, при выполнении любого действия над объектами наборов пользователь захочет иметь возможность получить доступ к этим объектам «до» и «после» выполнения операции. Организуйте пару событий Synchronizing и Synchronized в базовом классе.

Определите аргументы обработчика событий SynchronizingEventArgs и SynchronizedEventArgs и добавьте туда поля и свойства для соответствующих объектов из синхронизируемых наборов. В случае, когда в базовом классе это невозможно сделать сразу, воспользуйтесь наследованием аргументов и сделайте недостающие свойства в наследниках.

Рассмотрите необходимость наличия событий на обработку исключений. Например, вы можете реализовать событие OnException и перенаправлять полученные исключения туда. Дайте возможность пользователю решать — стоит ли продолжать процесс синхронизации после возникновения исключения. Дополните аргументы события всей необходимой информацией.

Сохранность данных

Поддержите для выполнения каждой операции над объектами наборов возможность отмены. Это можно сделать путём добавления свойства Cancel в аргументы события SynchronizingEventArgs.

Будьте уверены, что это обязательно пригодится для выполнения сценария «объединения» двух независимых наборов данных, когда имеет смысл отменять все операции на удаление при выполнении сначала синхронизации сначала в одну сторону, а потом в другую.

Покрытие всех сценариев манипуляции с объектами

Предусмотрите ситуацию не только отменять предложенное «по умолчанию» действие над объектом, но и дать возможность выполнить другую возможную операцию.

Например, добавьте в аргументы дополнительное свойство SynchronizeOperation < Create, Replace, Delete >и дайте пользователю возможность указать желаемое значение. Тем самым, вы получите возможность удалить объект на целевом наборе данных вместо замещения его копией из исходного набора.

Такой подход даёт возможность более точно обрабатывать «конфликты правок» в наборах данных.

Элементы UI
Кэшировние данных

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

Параметризация набора данных

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

Решением будет являться написание провайдера исходных данных с возможностью пользователю «подсунуть» свой провайдер, определяющий свою логику. При этом синхронизатор должен получать данные не напрямую, а через провайдер. В этом случае придётся использовать описанное выше кэширование данных внутри синхронизатора.

Завершение процесса

Предусмотрите возможность завершить процесс синхронизации по желанию пользователя. К примеру, заведите метод Terminate в базовом классе SynchronizerBase. Такая функция может быть полезна, когда при синхронизации больших наборов данных возникло исключение или объект набора не удовлетворяет неким условиям и необходимо немедленно прервать дальнейшее выполнение. В таком случае пользователю уже не придётся дожидаться окончания процесса.

Расширяемость

Может случиться так, что пользователь захочет синхронизировать свойства, отличные от тех, которые синхронизирует ваш компонент. Предоставьте возможность определять это на уровне задания пользовательских свойств или объектов и предоставьте всё необходимое API для этого.

Дайте возможность пользователям наследоваться от вашего синхронизатора для переопределения какой-либо функциональности. Предусмотрите это при проектировании классов и методов.

Вспомогательные классы

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

Очень надеемся, что приведённый выше «сборник советов» поможет вам наилучшим образом определить объём необходимой вам функциональности перед написанием синхронизатора и даст возможность избежать ошибок в процессе его реализации.

Основы синхронизации

Если непосредственного соединения нет, то данные могут быть синхронизированы с помощью устройства-посредника (Intermediate Storage Device, ISD), которое используется для переноса информации между двумя компьютерами во время процедуры синхронизации. Таким устройством может быть дискета, съемный жесткий диск, папка на FTP-сервере, USB Flash drive и др. В этом случае данные синхронизируются в несколько этапов: сначала с одного компьютера файлы упаковываются и отсылаются на устройство-посредник, а затем на другом компьютере они принимаются, благодаря чему и осуществляется синхронизация. Так выглядит однонаправленная синхронизация. Если необходимо осуществить двунаправленную синхронизацию, то названные операции повторяются, но уже в обратном порядке.

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

Типовые задачи, которые можно решать при помощи синхронизации

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

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

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

Централизованное обновление информации

Обновление сайта и поддержка актуальности зеркал сайта

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

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

Создание резервных копий данных

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

Сравнение данных

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

Синхронизация персональной информации

Программы для синхронизации данных

Backer 6.4

Разработчик: Cordes Development

Размер дистрибутива: 3,9 Мбайт

Цена: 39 долл.

Работа под управлением: Windows 2000/XP/2003 Server

Backer 6.4

Программа ведет подробную статистику всех проведенных синхронизаций с отображением их на экране и с сохранением в лог-файле, который в любой момент можно просмотреть.

Планировщик позволяет автоматически запускать ту или иную задачу синхронизации по расписанию, например при запуске или закрытии Windows, в определенные часы и дни недели. Backer может работать параллельно с другими программами и не мешать текущей работе, однако при синхронизации больших объемов данных лучше выбирать для этого ночные часы, когда компьютер не применяется для других целей. При этом программу будет нетрудно настроить так, что после выполнения поставленной задачи она закроет все окна, выйдет из Windows и выключит компьютер. Кроме того, запланированные задачи синхронизации сохраняются в профилях и могут загружаться вместе с Windows, а часто используемые профили можно поместить в особый список Top 12, что позволяет запускать процесс синхронизации нажатием одной из кнопок: F1, F2… F12. Кроме функциональных клавиш, Backer поддерживает огромное количество разнообразных клавиатурных комбинаций, которые помогают значительно ускорить работу с программой.

SyncBack (SyncBackSE 3.2.7 и SyncBack 3.2.3)

Разработчик: 2BrightSparks Pte Ltd

Работа под управлением: Windows 98/Me/NT/2000/XP/2003

SyncBack (SyncBackSE 3.2.7 и SyncBack 3.2.3)

Расширенная версия SyncBackSE в дополнение к вышеперечисленному имеет еще множество интересных особенностей. Например, режим Fast Backup позволяет более чем в 15 раз сократить временные затраты на резервирование файлов на различные внешние устройства и FTP-серверы, а сравнение файлов реализовано не только в классическом варианте, то есть по дате и размеру, но и с учетом контрольных сумм, что позволяет обнаружить даже малейшие изменения.

SyncBackSE поддерживает новые стандарты FTP (что увеличивает совместимость с FTP-серверами) и обеспечивает:

  • автоматическое определение точного часового пояса FTP-сервера;
  • поддержку XCRC, обеспечивающую дополнительный контроль во время передачи данных;
  • поддержку сетевых протоколов безопасности SSLv2, SSLv3 и TLS, позволяющую синхронизировать файлы в зашифрованной форме;
  • реализацию MODE Z-компрессии, которая дает возможность значительно сократить время передачи файлов (правда, данный режим поддерживается не всеми FTP-серверами).

SmartSync Pro 2.10.0.825

Разработчик: SmartSync Software

Размер дистрибутива: 1,91 Мбайт

Цена: 35 долл.

Работа под управлением: Windows 95/98/Me/NT/2000/XP/2003

SmartSync Pro 2.10.0.825

Программа обеспечивает синхронизацию данных как между папками одного и того же компьютера, так и между папками сетевого или удаленного ПК; имеется поддержка двунаправленной синхронизации. В случае синхронизации данных с удаленным компьютером в SmartSync Pro предусмотрены три варианта:

  • создание сжатых резервных копий на любых съемных носителях информации (дискетах, CD, DVD, USB Flash drive, ZIP и др.) с последующим восстановлением с них информации на удаленном компьютере;
  • отправка сжатой резервной копии по электронной почте с возможностью разбивки ее на части и последующим восстановлением на удаленном компьютере;
  • отправка данных на удаленный компьютер через FTP-сервер.

Программа поддерживает русский язык, имеет достаточно простой интерфейс и позволяет работать с мастером, что делает ее доступной для новичков. Кроме того, SmartSync Pro поддерживает горячие клавиши, может запускаться при загрузке операционной системы и сворачиваться в трей, автоматически учитывает при синхронизации часовые пояса, а также отличается большой скоростью работы.

Synchromagic Pro 4.0

Разработчик: Rose City Software

Размер дистрибутива: 2,17 Мбайт

Цена: 29,95 долл.

Работа под управлением: Windows 98/Me/NT/2000/XP/2003 Server

Synchromagic эффективна для синхронизации данных между рабочим и домашним компьютером, а также между стационарным компьютером и ноутбуком. Возможна синхронизация через FTP, что удобно, например, для автоматического обновления Web-сайта. В Windows XP дополнительно поддерживается режим синхронизации с промежуточным сохранением данных на CD-R/RW. Кроме того, в Synchromagic очень удобно организовано сравнение директорий без их синхронизации.

Synchromagic Pro 4.0

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

WebSynchronizer 1.3.62

Разработчик: ReGet Software

Размер дистрибутива: 1,3 Мбайт

Цена: 300 руб.

Работа под управлением: Windows 9x/Me/2000/XP

WebSynchronizer 1.3.62

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

WebSynchronizer умеет возобновлять прерванную синхронизацию с места обрыва и обеспечивает надежность и безопасность синхронизации. Последнее достигается за счет:

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

vuBrief 5.3

Разработчик: VU-Software

Размер дистрибутива: 3,2 Мбайт

Цена: бесплатно

Работа под управлением: Windows 98/Me/NT/2000/XP

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

vuBrief может функционировать в двух режимах: визуальном, когда пользователь работает с программой вручную, и скрытом, когда программа сворачивается в трей и работает на фоне других программ по предварительно установленному расписанию. Для определения задач программы, выполняемых по расписанию, применяется встроенный планировщик задач. Программа обеспечивает защиту синхронизируемых данных и Backup-архивов при помощи шифрования.

vuBrief 5.3

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

  • Синхронизация (от др.-греч. σύγχρονος — одновременный) в информатике обозначает одно из: синхронизацию процессов, либо синхронизацию данных, либо процесс синхронизации передачи данных.

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

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

Тем не менее, есть ряд частных способов, применимых в тех или иных случаях:

* Наиболее простой способ: предполагают, что изменения вносились лишь в одну из копий — «рабочую» — и другая копия просто перезаписывается её содержимым. Этот способ реализуют большинство приложений синхронизации; в силу необратимости делаемых изменений пользователю даётся выбор, какую копию считать «главной».

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

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

Обрабатывать конфликты правок: автоматически (если возможно), иначе — вручную. Этот, наиболее общий способ применяется только если указанные выше упрощённые недопустимы — например, в системах контроля версий. Так, CVS при обнаружении двух независимых изменений объявляет о «конфликте» и либо (в простых случаях) разрешает его автоматически, либо предоставляет пользователю разрешить его вручную. В этих случаях конфликтов стараются просто избегать — например, распределением областей компетенции.Одним из механизмов синхронизации данных является репликация, которая в частности находит применение для синхронизации содержимого баз данных.

Читайте также: