Близкий аналог алгоритма Rsync
От: Shipilin Россия  
Дата: 07.07.10 13:28
Оценка:
Здравствуйте господа знатоки!
Существует небезызвестный я думаю алгоритм Rsync, который уже обсуждался в паре топиков...
Подробности можно посмотреть например здесь:
здесь

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

Чтобы не изобретать велосипед, хотел спросить: не делал ли кто что-то подобное?
(Пишу на С++, хотя это и не важно)
Вы не умничайте, вы пальцем покажите...
Re: Близкий аналог алгоритма Rsync
От: LuciferSaratov Россия  
Дата: 07.07.10 13:44
Оценка:
Здравствуйте, Shipilin, Вы писали:

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


Unison это умеет.
http://www.cis.upenn.edu/~bcpierce/unison/index.html
 -diff xxx          command for showing differences between files
Re: Близкий аналог алгоритма Rsync
От: dilmah США  
Дата: 07.07.10 15:18
Оценка: +1
S>Чтобы не изобретать велосипед, хотел спросить: не делал ли кто что-то подобное?


http://www.daemonology.net/bsdiff/
Re: Близкий аналог алгоритма Rsync
От: K13 http://akvis.com
Дата: 08.07.10 05:41
Оценка:
S>Чтобы не изобретать велосипед, хотел спросить: не делал ли кто что-то подобное?
S>(Пишу на С++, хотя это и не важно)

Зависит от размера файла.
Например, для получения патча к DVD-образу удалось использовать только xdelta3.
bsdiff и прочие умные алгоритмы часто имеют потребности по памяти, на порядок превышающие размер данных.

Поэтому пришлось пожертвовать эффективностью — зато работает.
Re[2]: Близкий аналог алгоритма Rsync
От: Shipilin Россия  
Дата: 08.07.10 05:58
Оценка:
Здравствуйте, LuciferSaratov, Вы писали:

LS>Unison это умеет.

LS>http://www.cis.upenn.edu/~bcpierce/unison/index.html

Спасибо за ответ.
По описанию похоже на то что нужно. Сейчас пошарился, с ходу не нашел описания алгоритма, не подскажете где посмотреть? Очень нужно! Именно сам алгоритм, а не прога.
Вы не умничайте, вы пальцем покажите...
Re[2]: Близкий аналог алгоритма Rsync
От: Shipilin Россия  
Дата: 08.07.10 06:05
Оценка:
Здравствуйте, K13, Вы писали:

K13>Зависит от размера файла.

K13>Например, для получения патча к DVD-образу удалось использовать только xdelta3.
K13>bsdiff и прочие умные алгоритмы часто имеют потребности по памяти, на порядок превышающие размер данных.

K13>Поэтому пришлось пожертвовать эффективностью — зато работает.


Файлы будут размера до 10-15 мб, но совершенно разные по данным, могут быть и текстовые и бинарные.
Вы не умничайте, вы пальцем покажите...
Re[2]: Близкий аналог алгоритма Rsync
От: Shipilin Россия  
Дата: 08.07.10 06:06
Оценка:
Здравствуйте, dilmah, Вы писали:

D>http://www.daemonology.net/bsdiff/


Думаю...
Вы не умничайте, вы пальцем покажите...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.