Сетевое железо - статьи

       

Алгоритм rsync


Алгоритм rsync:

  1. Beta разбивает файл B на блоки длиной L (последний блок может быть меньше L байт) и вычисляет две сигнатуры Rb и Sb для каждого блока, после чего пересылает эти сигнатуры к Alpha .
  2. Alpha вычисляет сигнатуры Ra для блоков длинной L , для каждого байтового смещения. После чего сравнивает их с Rb .
  3. Для блоков, чьи R сигнатуры совпали, Alpha вычисляет Sa и сравнивает с Sb .
  4. Если S сигнатуры совпадают, Alpha отсылает уведомление с номером совпавшего блока, в противном случае Alpha пересылает один байт.
  5. Beta получает номера совпавших блоков из B или одиночные байты из файла A и на основе этих данных создаёт копию файла A .
  6. Важно понимать, что ключом алгоритма является создание двух сигнатур - быстрой и стойкой. Быстрая ( R ) используется как фильтр (на компьютере Alpha она вычисляется для каждого байтового смещения!). Стойкая ( S ) используется для более точной проверки.


    Алгоритм rsync.



    Содержание раздела