Haben PAR2-Dateien eine innere Redundanz für Bitrot in Wiederherstellungsblöcken?

Haben PAR2-Dateien eine innere Redundanz für Bitrot in Wiederherstellungsblöcken?

Ich habe gerade ein wunderbar aussehendes Tool namens par2 gefunden. Es kann Fehlerkorrekturblöcke für jede gewünschte Datei generieren und diese verwenden, um später beschädigte Daten wiederherzustellen. Ich begann mich zu fragen, ob es Redundanz in den von par2 generierten Wiederherstellungsblockdateien selbst gibt. Das heißt, erkennt par2 Beschädigungen in seinen eigenen Wiederherstellungsdateien, bevor es versucht, Bitfehler in den Zieldatendateien zu korrigieren? Wie wirkt sich eine Beschädigung dieser par-Dateien auf den Wiederherstellungsprozess von Daten aus und gibt es auf diese Weise Redundanz?

Antwort1

Jede PAR2-Datei enthält 0 oder mehr Blöcke mit Wiederherstellungsdaten. Jeder Block hat eine Prüfsumme. Nur die guten Blöcke werden verwendet.
(Die erste PAR2-Datei eines Satzes hat normalerweise keine Blöcke. Sie enthält nur Metadaten über den gesamten Dateisatz.)

Zusätzlich enthalten die PAR2-Dateien auch Prüfsummen für die Blöcke in den eigentlichen Datendateien. So stellt das PAR-Programm fest, welche Blöcke in den Datendateien repariert werden müssen.

Sie können dies in der par2-Dateispezifikation nachlesen. Obwohl der eigentliche Algorithmus zur Berechnung der PAR-Daten recht komplex ist, ist das Dateiformat selbst ziemlich unkompliziert.
(Ich habe vor ein paar Jahren einfach so zum Spaß meinen eigenen Parser für PAR-Dateien geschrieben.)

Bitte beachten Sie: Versuchen SieMultiPar. Es handelt sich um die schnellste PAR2-Software auf dem Markt (kann auch GPU-Beschleunigung nutzen) und wird immer noch aktiv von Yutaka Sawada weiterentwickelt, dem Erfinder von PAR.

verwandte Informationen