Acabo de encontrar una herramienta maravillosa llamada par2. Puede generar bloques de corrección de errores para cualquier archivo que desee y usarlos para luego recuperar datos corruptos. Empecé a preguntarme si hay alguna redundancia en los archivos de bloque de recuperación generados por par2. Es decir, ¿par2 reconoce la corrupción en sus propios archivos de recuperación antes de intentar corregir errores de bits en los archivos de datos de destino? ¿Cómo afecta la corrupción de esos archivos par al proceso de recuperación de datos? ¿Existe alguna redundancia de esta manera?
Respuesta1
Cada archivo PAR2 contiene 0 o más bloques de datos de recuperación. Cada bloque tiene una suma de comprobación. Sólo se utilizan los bloques buenos.
(El primer archivo PAR2 de un conjunto generalmente no tiene ningún bloque. Solo contiene metadatos sobre todo el conjunto de archivos).
Además, los archivos PAR2 también contienen sumas de verificación para los bloques en los archivos de datos reales. Así es como el programa PAR determina qué bloques del archivo de datos necesitan reparación.
Puede leer más sobre eso en la especificación del archivo par2. Aunque el algoritmo real para calcular los datos PAR es bastante complejo, el formato del archivo en sí es bastante sencillo.
(Escribí mi propio analizador para archivos PAR hace unos años, sólo por el gusto de hacerlo).
Tenga en cuenta: Pruebemultipar. Es el software PAR2 más rápido que existe (también puede usar aceleración de GPU) y todavía lo desarrolla activamente Yutaka Sawada, el tipo que inventó PAR.