[devel] rsync_roll

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пн Май 26 12:38:46 MSD 2008


On Mon, May 26, 2008 at 11:15:53AM +0400, Alexey Tourbin wrote:
> 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-
>         ^     ^   ^     ^  ^   ^   ^    ^

Кажется, я начинаю понимать простые вещи.  Значение суммы зависит только
от последних 4096 байтов.  Значит, как только 4096 байтов в DATA-DATA-
совпали, то процесс "сходится" и ближайшее обнуление суммы будет
синхронным.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/01ba9c7a/attachment-0002.bin>


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