Какой самый надежный способ копирования архивов с использованием двоичных различий в общих папках Windows SMB?
Я искал самый быстрый способ скопировать некоторые файлы WAR и JAR для огромных развертываний программного обеспечения между системами Windows. Ясно, что многопоточная робокопия или любая реализация протокола rsync предложат некоторое увеличение производительности, но я хотел бы знать, есть ли лучший вариант.
Я не ищу какое-либо решение для резервного копирования с графическим интерфейсом, которое искажает имена файлов или копирует файлы в архивы инкрементных резервных копий.
Мне интересно, есть ли у кого-нибудь опыт копирования общих сетевых ресурсов Windows между доменами с помощью бинарных дельт или различий. Я рассматривал такие технологии, как репликация DFS и rdiff-backup (которые, как мне кажется, не позволяют обрабатывать архивы в Windows). Я хотел бы услышать от других, кто оценил эти типы технологий для копирования между системами Windows. Мне нужно узнать, какое двоичное решение для дельта-копирования является наиболее жизнеспособным и доверяете ли вы ему в критических развертываниях программного обеспечения, где каждый бит должен совпадать.
2 ответа
Теоретически нет гарантии, что вы можете передать сообщение, и оно не было изменено. Никакой алгоритм хеширования / подписи не может обеспечить 100% уверенности в том, что данные не были закалены. Тем не менее, вы можете иметь вероятность, близкую к 100%, что данные не повреждены, если вы используете хороший алгоритм хеширования.
Таким образом, чем больше файлов, тем больше данных вы передаете, у вас больше шансов изменить некоторые данные, не нарушая хеш.
Практически вы увидите больше проблем от человеческих ошибок - таких как ошибки программирования, чем измененных файлов с одинаковым хешем.
Если речь идет о развертывании программного обеспечения и вы хотите передать двоичные дельты в ситуации, когда вам известно предыдущее состояние, вы можете взглянуть на xdelta - это не графический интерфейс и не протокол передачи, но он очень эффективно создает двоичные дельты и может использоваться в сценарии распространения программного обеспечения.