Я только что узнал о .rev
файлах с WinRAR - где , если у вас есть 10 частей объем с RAR, например, плюс один .rev
(восстановление) объем - .rev
объем будет иметь возможность «исправить» любые один коррумпированные .rar
громкости.
Как это возможно? Я не понимаю, как один том может иметь все данные для исправления любого / всех отдельно разбитых томов.
Я предполагаю, что, возможно, возможно, что тома не будут разбиты «линейно», как я себе представляю, где каждый том RAR содержит отдельные, отдельные файлы целого, упакованные внутри; скорее, возможно, .rev
исправление возможно, когда тома RAR рассматриваются как один непрерывный файл битов и байтов, так сказать, и что, возможно, существует какое-то колдовство CRC (ах, «ремонтные работы»), задействованное для исправления поврежденных байтов.
Но я просто не понимаю, как вы можете иметь 9 рабочих томов с 1 поврежденным, но иметь том для восстановления, который может восстановить любой из этих томов. Как один том может хранить данные «всех» томов?
источник
Ответы:
Давайте возьмем действительно простой случай.
У вас есть четыре тома и том восстановления, каждый из которых содержит 1 бит информации:
Том восстановления будет содержать результат каждого из этих битов XOR d вместе:
Итак, наш том восстановления содержит единственный бит
1
.Теперь, скажем, том 1 не удается.
Если мы XOR оставшихся томов 2, 3 и 4 с битом восстановления вместо сбойного тома, мы получим:
Итак, это говорит нам о том, что объем 1 содержится
1
, так как он является результатом уравнения.Давайте представим, что том 2 умер вместо этого, поэтому мы заменим его значение в уравнении битом восстановления:
Итак, мы знаем, что объем 2 содержится
0
, так как он является результатом уравнения.Если том 3 или 4 потерпит неудачу, они оба произведут
1
в этом уравнении.Таким образом, если какой-либо из томов вышел из строя, том восстановления можно использовать для восстановления данных на основе оставшихся томов. Вероятно, это самая простая форма исправления ошибок, которую вы можете иметь. Если два тома вышли из строя, вы ничего не сможете восстановить.
источник
Для действительно простого способа понять, как это может быть, представьте, если том восстановления содержит сумму других томов. Со списком чисел, отсутствующим одним из них и их суммой, вы всегда можете восстановить отсутствующее число.
Например, рассмотрим эти две цифры, 13, 88, 17, 43. Если вы знали, что было одно пропущенное число, а последние две цифры суммы всех чисел равны 81, вы можете найти пропущенное число. 13 + 88 + 17 + 43 = 161. Единственное двузначное число, которое вы можете добавить к этому, чтобы число, заканчивающееся на 81, было 20.
Скажем, у вас было 20, а вам не хватает 43. 13 + 88 + 17 + 20 = 138. Единственное двузначное число, которое вы можете добавить к этому, чтобы сделать число, заканчивающееся на 81, - 43.
Таким образом, номер восстановления позволяет найти любой пропущенный номер.
источник