Синхронизация (информатика)

Поделись знанием:
Перейти к: навигация, поиск

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

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

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

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

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

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

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

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

Напишите отзыв о статье "Синхронизация (информатика)"



Литература

  • Downey, Allen B. [greenteapress.com/semaphores/ The little book of semaphores]. (англ.)
  • Шляхтина С. [www.compress.ru/article.aspx?id=11440&iid=449 Синхронизация данных] // КомпьютерПресс. — 2005. — № 7.

Отрывок, характеризующий Синхронизация (информатика)

В то время как он говорил это, в глазах его и выражении всего лица было больше чем сухость – была враждебность, которую тотчас же заметил Пьер. Он подходил к сараю в самом оживленном состоянии духа, но, увидав выражение лица князя Андрея, он почувствовал себя стесненным и неловким.
– Я приехал… так… знаете… приехал… мне интересно, – сказал Пьер, уже столько раз в этот день бессмысленно повторявший это слово «интересно». – Я хотел видеть сражение.
– Да, да, а братья масоны что говорят о войне? Как предотвратить ее? – сказал князь Андрей насмешливо. – Ну что Москва? Что мои? Приехали ли наконец в Москву? – спросил он серьезно.
– Приехали. Жюли Друбецкая говорила мне. Я поехал к ним и не застал. Они уехали в подмосковную.


Офицеры хотели откланяться, но князь Андрей, как будто не желая оставаться с глазу на глаз с своим другом, предложил им посидеть и напиться чаю. Подали скамейки и чай. Офицеры не без удивления смотрели на толстую, громадную фигуру Пьера и слушали его рассказы о Москве и о расположении наших войск, которые ему удалось объездить. Князь Андрей молчал, и лицо его так было неприятно, что Пьер обращался более к добродушному батальонному командиру Тимохину, чем к Болконскому.
– Так ты понял все расположение войск? – перебил его князь Андрей.
– Да, то есть как? – сказал Пьер. – Как невоенный человек, я не могу сказать, чтобы вполне, но все таки понял общее расположение.
– Eh bien, vous etes plus avance que qui cela soit, [Ну, так ты больше знаешь, чем кто бы то ни было.] – сказал князь Андрей.
– A! – сказал Пьер с недоуменьем, через очки глядя на князя Андрея. – Ну, как вы скажете насчет назначения Кутузова? – сказал он.
– Я очень рад был этому назначению, вот все, что я знаю, – сказал князь Андрей.
– Ну, а скажите, какое ваше мнение насчет Барклая де Толли? В Москве бог знает что говорили про него. Как вы судите о нем?
– Спроси вот у них, – сказал князь Андрей, указывая на офицеров.
Пьер с снисходительно вопросительной улыбкой, с которой невольно все обращались к Тимохину, посмотрел на него.
– Свет увидали, ваше сиятельство, как светлейший поступил, – робко и беспрестанно оглядываясь на своего полкового командира, сказал Тимохин.
– Отчего же так? – спросил Пьер.
– Да вот хоть бы насчет дров или кормов, доложу вам. Ведь мы от Свенцян отступали, не смей хворостины тронуть, или сенца там, или что. Ведь мы уходим, ему достается, не так ли, ваше сиятельство? – обратился он к своему князю, – а ты не смей. В нашем полку под суд двух офицеров отдали за этакие дела. Ну, как светлейший поступил, так насчет этого просто стало. Свет увидали…
– Так отчего же он запрещал?
Тимохин сконфуженно оглядывался, не понимая, как и что отвечать на такой вопрос. Пьер с тем же вопросом обратился к князю Андрею.
– А чтобы не разорять край, который мы оставляли неприятелю, – злобно насмешливо сказал князь Андрей. – Это очень основательно; нельзя позволять грабить край и приучаться войскам к мародерству. Ну и в Смоленске он тоже правильно рассудил, что французы могут обойти нас и что у них больше сил. Но он не мог понять того, – вдруг как бы вырвавшимся тонким голосом закричал князь Андрей, – но он не мог понять, что мы в первый раз дрались там за русскую землю, что в войсках был такой дух, какого никогда я не видал, что мы два дня сряду отбивали французов и что этот успех удесятерял наши силы. Он велел отступать, и все усилия и потери пропали даром. Он не думал об измене, он старался все сделать как можно лучше, он все обдумал; но от этого то он и не годится. Он не годится теперь именно потому, что он все обдумывает очень основательно и аккуратно, как и следует всякому немцу. Как бы тебе сказать… Ну, у отца твоего немец лакей, и он прекрасный лакей и удовлетворит всем его нуждам лучше тебя, и пускай он служит; но ежели отец при смерти болен, ты прогонишь лакея и своими непривычными, неловкими руками станешь ходить за отцом и лучше успокоишь его, чем искусный, но чужой человек. Так и сделали с Барклаем. Пока Россия была здорова, ей мог служить чужой, и был прекрасный министр, но как только она в опасности; нужен свой, родной человек. А у вас в клубе выдумали, что он изменник! Тем, что его оклеветали изменником, сделают только то, что потом, устыдившись своего ложного нарекания, из изменников сделают вдруг героем или гением, что еще будет несправедливее. Он честный и очень аккуратный немец…