Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Evgenij M. Baldin                    2:5020/400     19 Jan 2001  16:39:02
 To : All
 Subject : Re: Recovery record
 -------------------------------------------------------------------------------- 
 
 Добрый день
 
 Alexander Pevzner <pzz@pzz.msk.ru> wrote:
 
 : EMB>  ТЗ: есть бинарный файл - требуется уметь этот файл восстанавливать
 : EMB>  при
 : EMB> небольших его повреждениях (то есть копирование само собой - хороший
 : EMB> способ борьбы с повреждениеми, но хочется дополнительной уверенности)
 
 : Hу если про файл ничего дополнительно не известно, кроме того, что
 : он большой и бинарный, то копирование - единственный метод. 
 
  Я не спец, но можно реализовать например следующую схему:
 Бьём файл на N блоков - для каждого из блоков считаем контрольную сумму - 
 например на все байты блока говорим XOR - получаем N байтов, то есть если 
 какой-то из блоков попорчен, то мы это сможем узнать - вероятность, что 
 попортится так, что XOR останется тем же 1/256 - можно для очистки 
 совести взять четыре байта под контрольную сумму. 
 
 Теперь берем все блоки и с помощью XOR формируем N+1 блок 
 
 Если у нас  испортилось не более одного блока (если сгинул весь файл, то 
 это фатально - вопрос про не сильные потери - например замялась лента в 
 магнитофоне), то мы с помощью контрольного байта узнаем этот блок и 
 восстановливаем его путем XOR на дополнительный блок с использованием всех 
 не порченных блоков.
 
 Этот метод можно усложнить путем создания например двух резервных блоков - 
 чет/нечет, изменением размеров блоков и т.д.
 
 Hо наверняка есть более изощренные способы - вопрос где про них можно 
 прочитать/спросить
 : Можно
 : еще посоветовать посчитать и сохранить md5-ю сумму, как способ быстро
 : проверить, что файл не менялся/правильно прочелся и т.п.
 
 Это что? Где про это можно почитать/спросить
 
 С уважением
   Евгений
 -- 
 ---------------------------------------------------------------------------
                   Budker Institute of Nuclear Physics
                      e-mail: E.M.Baldin@inp.nsk.su
                    tel.:   7(3832)361388(h),394227(w)
              WWW: http://www.inp.nsk.su/~baldin
 ---------------------------------------------------------------------------
 --- ifmail v.2.15dev5
  * Origin: BINP, Novosibirsk, Russia (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Recovery record   Evgenij M. Baldin   19 Jan 2001 16:39:02 
 Re: Recovery record   Vyacheslav Burdjanadze   22 Jan 2001 15:54:39 
Архивное /ru.linux/88439f2779c5.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional