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

19344
Coldblackice

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 in der Lage sein, zu „reparieren“ jedes ein beschädigtes .rarVolumen.

Wie ist das möglich? Ich verstehe nicht, wie ein Datenträger alle Daten haben könnte, um einzelne oder alle einzeln defekten Datenträger zu reparieren.

Ich vermute, dass es vielleicht möglich ist, anstelle der Volumes nicht "linear" aufzubrechen, wie ich mir vorstelle, wo jedes RAR-Volume unterschiedliche, individuelle Dateien des gesamten Pakets enthält; Vielmehr ist vielleicht eine .revReparatur möglich, wenn die RAR-Volumes sozusagen als eine zusammenhängende Datei aus Bits und Bytes betrachtet werden und möglicherweise CRC'ish-Zauberei (ah hem, "repair work") involviert ist, um beschädigte Bytes zu reparieren.

Ich verstehe nur nicht, wie Sie 9 Arbeitsvolumes mit einem beschädigten haben können, aber ein Wiederherstellungsvolume haben, das eines der Volumes reparieren kann . Wie kann ein Volume Daten aller Volumes speichern?

30
Korrekturcodes für das Löschen Vergleichen Sie mit http://en.wikipedia.org/wiki/Parchive Dan D. vor 11 Jahren 3

2 Antworten auf die Frage

53
Paul

Nehmen wir einen wirklich einfachen Fall.

Sie haben vier Volumes und ein Wiederherstellungsvolume 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 Wiederherstellungs-Volume enthält also das einzelne Bit 1.


Nehmen wir an, Volume 1 schlägt fehl.

Wenn wir die restlichen Volumes 2, 3 und 4 XOR mit dem Wiederherstellungsbit anstelle des ausgefallenen Volumes XOR machen, erhalten wir:

1 XOR 0 XOR 1 XOR 1 = 1 ^ 

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

Nehmen wir an, dass Volume 2 stattdessen gestorben ist, also ersetzen wir 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 Volume 3 oder 4 fehlgeschlagen ist, würden beide 1in dieser Gleichung produzieren.


Wenn also eines der Volumes ausfällt, kann das Wiederherstellungsvolume 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.

Um es klar zu sagen, gibt es Schemata, die es Ihnen ermöglichen, von mehreren Volume-Fehlern wiederherzustellen. Dietrich Epp vor 11 Jahren 4
Dies funktioniert nur, wenn Sie wissen, welches Gerät ausgefallen ist, oder? heinrich5991 vor 11 Jahren 0
@Heinrich5991 kennst du durch die interne CRC des Volumes ratchet freak vor 11 Jahren 1
21
David Schwartz

Stellen Sie sich vor, wenn das Wiederherstellungs-Volume die Summe der anderen Volumes enthält. Mit einer Liste von Nummern, denen eine fehlt, und ihrer Summe können Sie die fehlende Nummer jederzeit rekonstruieren.

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

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

Die Wiederherstellungsnummer ermöglicht es Ihnen, eine fehlende Nummer zu finden.

Einfach und gut - danke! Coldblackice vor 10 Jahren 0