Wie ist es möglich, dass WinRAR jedes Volume mit einer .rev-Datei reparieren kann?


31

Ich habe gelernt, über .revDateien mit WinRAR - wo , wenn Sie ein 10-teiligen RAR Volumen haben, zum Beispiel plus eins .rev(recovery) Volumen - das .revVolumen wird auf „fix“ jedes Lage sein , ein beschädigtes .rarVolumen.

Wie ist das möglich? Ich verstehe nicht, wie ein Volume alle Daten haben könnte, um alle einzeln defekten Volumes zu reparieren.

Ich würde vermuten, dass es vielleicht möglich ist, die Volumes nicht "linear" aufzuteilen, wie ich es mir vorstelle, wobei jedes RAR-Volume unterschiedliche, einzelne Dateien des Ganzen enthält. Aber vielleicht .revist eine Reparatur möglich, wenn die RAR-Volumes sozusagen als eine fortlaufende Datei von Bits und Bytes betrachtet werden und möglicherweise eine zauberhafte CRC-Operation (ah hem, "repair work") erforderlich ist, um beschädigte Bytes zu reparieren.

Aber ich verstehe einfach nicht, wie Sie 9 Arbeitsvolumes mit einem beschädigten haben können, aber ein Wiederherstellungs-Volume, das eines der Volumes reparieren kann . Wie kann ein Volume Daten von "allen" Volumes speichern?


3
Löschkorrekturcodes. Vergleiche mit en.wikipedia.org/wiki/Parchive
Dan D.

Antworten:


55

Nehmen wir einen ganz einfachen Fall.

Sie haben vier Volumes und ein Wiederherstellungs-Volume mit jeweils 1 Bit Information:

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

Das Wiederherstellungsvolumen würde das Ergebnis jedes dieser Bits XOR d zusammen enthalten:

1 XOR 0 XOR 1 XOR 1 = 1

Unser Wiederherstellungsvolumen enthält also das einzelne Bit 1.


Nehmen wir an, Volume 1 schlägt fehl.

Wenn wir die verbleibenden Volumes 2, 3 und 4 mit dem Wiederherstellungsbit anstelle des ausgefallenen Volumes XOR-verknüpft haben, erhalten wir Folgendes:

1 XOR 0 XOR 1 XOR 1 = 1
^

Dies sagt uns also, dass Band 1 enthalten ist 1, da es das Ergebnis der Gleichung ist.

Stellen wir uns stattdessen vor, dass Volume 2 gestorben ist, und ersetzen seinen Wert in der Gleichung durch das Wiederherstellungsbit:

1 XOR 1 XOR 1 XOR 1 = 0
      ^

Wir wissen also, dass Band 2 enthalten ist 0, da es das Ergebnis der Gleichung ist.

Wenn Band 3 oder 4 ausfielen, würden beide 1in dieser Gleichung produzieren.


Wenn also eines der Volumes ausfällt, kann das Wiederherstellungs-Volume verwendet werden, um die Daten basierend auf den verbleibenden Volumes zu rekonstruieren. Dies ist wahrscheinlich die einfachste Form der Fehlerkorrektur, die Sie haben können. Wenn zwei Volumes fehlgeschlagen sind, können Sie nichts wiederherstellen.


4
Es gibt Schemata, mit denen Sie mehrere Datenträgerfehler beheben können.
Dietrich Epp

Dies funktioniert nur, wenn Sie wissen, welches Gerät ausgefallen ist, nicht wahr?
heinrich5991

1
@ heinrich5991 kennst du durch den internen CRC des Volumen
Ratschenfreaks vom

21

Stellen Sie sich vor, dass das Wiederherstellungs-Volume die Summe der anderen Volumes enthält, um auf einfache Weise zu verstehen, wie dies geschehen könnte. Mit einer Liste von Zahlen, von denen eine fehlt, und deren Summe können Sie die fehlende Zahl jederzeit rekonstruieren.

Betrachten Sie zum Beispiel diese zweistelligen Zahlen 13, 88, 17, 43. Wenn Sie wissen, dass eine Zahl fehlt und die letzten beiden Ziffern der Summe aller Zahlen 81 sind, können Sie die fehlende Zahl finden. 13 + 88 + 17 + 43 = 161. Die einzige zweistellige Zahl, die Sie hinzufügen können, um eine Zahl zu erstellen, die auf 81 endet, ist 20.

Angenommen, Sie hatten die 20 und hatten die 43 nicht. 13 + 88 + 17 + 20 = 138. Die einzige zweistellige Zahl, die Sie hinzufügen können, um eine Zahl zu erstellen, die auf 81 endet, ist 43.

Somit können Sie mit der Wiederherstellungsnummer eine beliebige fehlende Nummer finden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.