Как это возможно, что WinRAR может восстановить любой том одним файлом.rev?

Я только что узнал о .rev файлы с WinRAR - где, если у вас есть том RAR с 10 частями, например, плюс один .rev (восстановление) объем - .rev Том сможет "починить" любой испорченный .rar объем.

Как это возможно? Я не понимаю, как один том может иметь все данные для исправления любого / всех отдельно разбитых томов.

Я предполагаю, что, возможно, возможно, что тома не будут разбиты "линейно", как я себе представляю, где каждый том RAR содержит отдельные отдельные файлы целого, упакованные внутри; а точнее возможно .rev восстановление возможно, когда тома RAR рассматриваются как один непрерывный файл битов и байтов, так сказать, и что, возможно, существует какое-то колдовство CRC (ага, "ремонтные работы"), задействованное для исправления поврежденных байтов.

Но я просто не понимаю, как вы можете иметь 9 рабочих томов с 1 поврежденным, но иметь том для восстановления, который может восстановить любой из этих томов. Как один том может хранить данные "всех" томов?

2 ответа

Решение

Давайте возьмем действительно простой случай.

У вас есть четыре тома и том восстановления, каждый из которых содержит 1 бит информации:

         ========================================================
Volumes: = Volume 1 = Volume 2 = Volume 3 = Volume 4 = Recovery =
         =----------=----------=----------=----------=----------=
   Bits: =    1     =    0     =    1     =    1     =     1    =
         ========================================================

Том восстановления будет содержать результат каждого из этих битов XOR d вместе:

1 XOR 0 XOR 1 XOR 1 = 1

Итак, наш том восстановления содержит один бит 1,


Теперь, скажем, том 1 не удается.

Если мы XOR оставшихся томов 2, 3 и 4 с битом восстановления вместо сбойного тома, мы получим:

1 XOR 0 XOR 1 XOR 1 = 1
^

Итак, это говорит нам о том, что том 1 содержал 1, так как это результат уравнения.

Давайте представим, что том 2 умер вместо этого, поэтому мы заменим его значение в уравнении битом восстановления:

1 XOR 1 XOR 1 XOR 1 = 0
      ^

Итак, мы знаем, что том 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.

Таким образом, номер восстановления позволяет найти любой пропущенный номер.

Другие вопросы по тегам