[devel] rsync_roll

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пн Май 26 11:15:53 MSD 2008


On Mon, May 26, 2008 at 12:11:46AM +0400, Alexander Myltsev wrote:
> 2008/5/25 Alexey Tourbin <at на altlinux.ru>:
> >> http://ozlabs.org/~rusty/gzip.rsync.patch2, на который ссылаются как
> >> Джефф, так и Эгмонт.
> > Что делает этот патч?  Почему "это работает"?
> >
> > Когда сумма принимает определённое значение (а именно, когда
> > sum % RSYNC_WIN == 0) то в конце окна принимается решение
> > "сборосить блок" и заново инициализировать процедуру сжатия.
> >
> > Это означает, что в этой точке как бы начинается "новый файл",
> > который gzip будет жать отдельно; если в двух разных входных
> > потоках в точке обнуления суммы несжатые данные идут одинаковые,
> > то и сжатые данные пойдут одинаковые.
> 
> Ну да, это и требуется. Благодаря этому точечное изменение в несжатых
> данных влияет только на конечное число блоков.

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

  ABCD-ABCD-ABCD-ABCD-DATA-DATA-DATA-DATA-DATA-		data
   ^     ^   ^  ^     ^    ^   ^   ^    ^		sync
      XYZ-XYZ-XYZ-XYZ-DATA-DATA-DATA-DATA-DATA-
        ^     ^   ^     ^  ^   ^   ^    ^

Какие математические свойства суммы гарантируют, что при появлении
совпадающих данных DATA-DATA- оба процесса суммирования, которые до
этого находились в разных состояниях, достаточно быстро "сойдутся"?

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

Прошу подробнее про стабильность или ссылку.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080526/bae4e8ef/attachment-0002.bin>


Подробная информация о списке рассылки Devel