Multipar – Widerherstellungsdaten für Dateiübertragungen
Letztes Jahr kam es des Öfteren vor, dass ich gebeten wurde die eine oder andere virtuelle Maschine oder eine Menge an Videos, jemandem auf der anderen Seite der Erde zur Verfügung zu stellen. Bei Datenmengen weit jenseits der 50 GB, wurden die Dateien natürlich komprimiert und dann auf einem FTP-, Web- oder Fileserver zur Verfügung gestellt. Eigentlich hätte die Dateiübertragung, so lange sie auch immer gedauert hat, fehlerfrei übertragen werden müssen. Dafür garantieren schließlich schlaue Protokolle. Leider kamen die Daten dennoch korrumpiert an ihrem Zielort an, so dass sie nicht erfolgreich entpackt werden konnten. Tagelange Datenübertragung für die Katz. Wo auch immer der Fehler lag – in der schlechten Internetleitung des Ziels, einer fehlerhaften Encodierung oder kosmischer Urstrahlung – eine Lösung musste her und die hieß nicht „übertrag doch einfach nochmal“. Die Tauschbörsianer und Usenetkundigen kennen die Lösung des Problems, auch wenn sie sie vielleicht noch nicht wirklich wahrgenommen haben: Parity – Parität oder Wiederherstellungsinformationen. Das sind Archive, die Wiederherstellungsinformationen für Dateien (genauer gesagt eher eine forward error correction) durch die Anwendung des Reed-Solomon-Codes enthalten. Mittels dieser .par Dateien reparieren heutzutage die meisten Filesharing- oder auch Download Clients die Dateien bei Fehlern vollautomatisch. Aber wie kann man sie erstellen?
Für Windows Nutzer gab es bis vor Kurzem nur die Möglichkeit Kommandozeilentool par2cmdline oder Quickpar zu nutzen. Diese Programme implementieren den aktuellen PAR2 Standard zuverlässig, arbeiten jedoch langsam und nutzen bei weitem nicht die Möglichkeiten aktueller Prozessoren. Besser ist da MultiPar, welches vom Japaner Yutaka Sawada entwickelt wird. Das Quickpar wie ein Ei dem Anderen ähnelnde Programm lässt den Benutzer beliebige Dateien auswählen und einen Prozentsatz der Redundanz bestimmen. Damit können bei fehlerhafter Übertragung genau soviel Prozent der Slices (jede Datei wird bei der Behandlung mit PAR2 in Slices vorgegebener Größe geteilt) repariert oder sogar vollständig ersetzt werden, wie man vorher sich an Redundanz zugestanden hat. Den Geschwindigkeitsvorteil von MultiPar gegenüber QuickPar bemerkt man zwar erst so recht ab einer Menge an zu bearbeitenden Daten, aber dann zieht MultiPar unaufhaltsam davon :-).
Fazit
Den Mehraufwand bei der Erzeugung von Wiederherstellungsdaten sollte man bei großen Dateiübertragungen oder auch bei der Archivierung von Daten auf optischen Medien durchaus mal durch den Kopf gehen lassen. Besser als alles neu zu übertragen oder Dateien auf Grund irgendwelcher Lagerungsfehler zu verlieren wiegen diese paar Minuten Prozessorzeit allemal auf! Wer dennoch lieber eine Kommandozeilenanwendung hätte, der sollte sich mal phpar2 ansehen. Zwar wurde das Programm seit 2010 nicht weiter entwickelt, aber immerhin ist es Multithreading-fähig und laut Webseite „hochoptimiert“.
phpar2wurde am 14.11.2017 aktualisiert. phpar2 version 1.5
erstellt die Par2 noch schneller als Multipar!