Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » ICEECC | QuickPAR | MultiPAR | RSC32 и др.

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Открыть новую тему     Написать ответ в эту тему

persicum

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Программы данного раздела служат для обнаружения и исправления ошибок, возникающих при передаче данных и их долговременном хранении. Как правило, восстановление возможно, если суммарный объем повреждений в искаженных файлах вместе с объемом полностью утраченных файлов не превышает объем корректирующей информации, которая заблаговременно дописывается на носитель.
 
 
Контроль целостности без возможности восстановления
 
RHash
Описание: замечательная кроссплатформенная консольная утилита для вычисления огромного количества криптографически-стойких hash-функций, в том числе и используемых в p2p сетях. Программы этой группы не способны к исправлению данных сами по себе, но способны указывать на ситуации, когда необходимо воспользоваться резервной копией или перекачать файл заново
 
Домашняя страница: https://github.com/rhash/RHash
Страница для скачивания: http://sourceforge.net/projects/rhash/files/rhash/
 
RapidCRC Unicode
Описание: профессиональное средство для расчета hash-функций, в том числе и современных быстрых многопоточных функций blake2sp и blake3.
 
Домашняя страница: https://www.ov2.eu/programs/rapidcrc-unicode
Страница для скачивания: https://www.ov2.eu/programs/rapidcrc-unicode
 
CHK Hash Sum
Описание: портативная утилита для контроля целостности файлов с поддержкой Юникода и перетягивания.  
 
Домашняя страница: https://compressme.net/
Страница для скачивания: https://compressme.net/
 
 
8-битные коды Рида-Соломона
 
DVDisaster
Описание: Программа для защиты данных на оптических дисках CD, DVD и BD путём добавления к нему избыточной информации.
 
Домашняя страница: https://sourceforge.net/projects/dvdisaster/
Страница для скачивания: https://sourceforge.net/projects/dvdisaster/files/dvdisaster/
 
 
16-битные коды Рида-Соломона
 
WinRAR
Описание: популярный архиватор, начиная с версии 5.0 создает до 65535 томов восстановления. Кроме того, использует коды RS и для добавления информации восстановления к архивам, выгодно отличаясь от всех других архиваторов.
 
Домашняя страница: http://www.win-rar.ru/
Страница для скачивания: https://www.win-rar.com/download.html?&L=4
 
MultiPAR
Описание: Мощная программа для защиты файлов от повреждений. Одновременно работает в 32- и 64-разрядном окружении. Поддержка многопоточности, Юникода, русского языка. Использует ускорение AVX2 и вычисления GPU. Постоянно обновляется.
 
Домашняя страница: http://hp.vector.co.jp/authors/VA021385/
Страница для скачивания: http://www.vector.co.jp/soft/dl/winnt/util/se460801.html
 
ICEECC
Описание: программа во многом аналогична MultiPAR, но появилась на несколько лет раньше. Русский язык отсутствует. Не обновлялась с 2009 года. На сегодня работает примерно в 5 раз медленнее, чем MultiPAR.
 
Домашняя страница: http://www.ice-graphics.com/ICEECC/IndexR.html
Страница для скачивания: http://www.ice-graphics.com/ICEECC/DownloadR.html
 
 
32-битные коды Рида-Соломона
 
RSC32
Описание: консольная утилита для контроля целостности файлов с использованием hash-функций CRC32, CRC64, MD5, SHA1, SHA256, Tiger и blake2sp. Реализация эффективных 32-разрядных кодов Рида-Соломона позволила оперировать сотнями тысяч и миллионами блоков без драматического влияния на быстродействие. Использует FAR Manager как свой GUI
 
Страница для скачивания: https://disk.yandex.ru/d/yFtikZtmyWuQ1w
 


Схожая тема: ZIDRAV и CRC Recovery 2005

Всего записей: 462 | Зарегистр. 27-06-2007 | Отправлено: 11:35 18-07-2007 | Исправлено: persicum, 11:39 29-10-2021
persicum

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Алгоритм везде один. Отличия в том, где хранить избыточность - в отдельном файле или незаметно присоединять к образу того же диска. RS03 - обновленный вариант того и другого.
 
Избыточность дизастера в 15% исправляет только 7% ошибок, вторая половина по классической теории идет на отыскание мест ошибок.

Всего записей: 462 | Зарегистр. 27-06-2007 | Отправлено: 21:58 05-08-2011
DimitriusXZ

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RS01 и RS02 хранят информацию восстановления в отдельном файле.
RS03 может хранить в отдельном файле и в образе.
Но какое принципиальное отличие в расчете файла коррекции ошибок?
Параметры во все трех алгоритмах то разные...  
И что такое корни?

Всего записей: 831 | Зарегистр. 17-01-2010 | Отправлено: 22:22 06-08-2011
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброй ночи, DimitriusXZ
Посмотрите документацию  http://dvdisaster.net/en/qa33.html
Я так понял, что  
RS01-пишет в файл(не защищенный от повреждения)  
RS02- пишет в конец образа (частично защищенное)
RS03- может работать и так и так. Разница в поддержке многопроцессорности и дополнительной защищенности информации коррекции (рекурсией?).
 
Корни - у меня не хватает знаний математики, для того что бы понять и осознать теорию.  
Корень функции F(x) — это такое значение ее аргумента х, при котором выполняется условие F(x) = 0
http://en.wikipedia.org/wiki/Reed–Solomon_error_correction
http://dvdisaster.net/papers/rs03.pdf
Может и разберетесь...
 
Параметры -  для RS01 указываешь процент избыточности, для  RS02 - конечный желаемый размер образа и он сам расчитывает избыточность, для RS03 указываешь процент избыточности или он сам подбирает размер образа. По моему это одно и то же.
Вроде как так...

Всего записей: 1891 | Зарегистр. 07-08-2002 | Отправлено: 00:31 07-08-2011
persicum

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DimitriusXZ
Принципиальных различий нет. Везде берется 230 секторов и вычисляется 20 проверочных секторов или около того. Из них исправлено может быть только половина, а остальные входят в группу поддержки, так сказать. Сектора разбросаны по диску случайно, поэтому перегрузки кодов ридасоломона обычно быть не должно. Интересна скорость, за сколько RS03 сделает 20% от DVD? Этот новый формат уже доступен для скачивания?

Всего записей: 462 | Зарегистр. 27-06-2007 | Отправлено: 12:31 07-08-2011
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброе утро, persicum
RS03 доступен уже около двух лет, но еще считается экспериментальным.
Работает шустренько, 4,4 гига 128 sectors prefetch 2 threads  20% избыточности (43 root) -11 минут  10%(23 root) - 8 минут.

Всего записей: 1891 | Зарегистр. 07-08-2002 | Отправлено: 14:24 07-08-2011
DimitriusXZ

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В параметрах выбор образа как хранилища файла коррекции только в RS03...
А самое важное в параметрах и не задается - количество блоков, количество блоков восстановления...

Всего записей: 831 | Зарегистр. 17-01-2010 | Отправлено: 14:38 07-08-2011
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день, DimitriusXZ
Не знаю, не знаю...  
У меня в Dvdisaster 0.79 (devel-3) RS02 так и называется "расширенный образ".
Но я чаще пользовался 0.72.1 - не скажу название, но там тоже RS02 дописывает образ (и только образ).  
В  RS03 просто можно выбрать то ли в файл, то ли в образ (т.е. он будет работать как RS01 или RS02).
В документации на RS03 сказано, что он разбивает конечный размер (исходный образ + информация для восстановления) на 255 "слоев" (блоков?). Т.е для стандартной избыточности 14,3%(32 root) получается  
255/1.143=223 блока информации и 255-223=32 блока восстановления. Значит root - количество блоков восстановления.  А количество блокой информации 255-root.
А в целом - то, что уже говорил persicum

Цитата:
Везде берется 230 секторов и вычисляется 20 проверочных секторов или около того

Только вместо "секторов" "блоки".

Всего записей: 1891 | Зарегистр. 07-08-2002 | Отправлено: 15:14 07-08-2011 | Исправлено: Alex_Piggy, 15:14 07-08-2011
persicum

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DimitriusXZ
Как я уже намекал, блоков там только 256, и это число изменить нельзя, так как кодек всего лишь 8-битный. Однако, Disaster способен исправлять ошибки внутри блоков используя оставшуюся половину избыточности, в то время как ICEECC и RSC32 не способны исправлять ошибки внутри блоков, а пересчитывают блоки целиком независимо от того, сколько там реально повреждено.
 

Alex_Piggy
,
11 минут для 256 блоков это не слишком шустро =)))
попробуйте rsc32 -wrr256-20 -tm3 . Или -wrr500-50 -tm4. Вот как нормальные коды работают на одном ядре с малым числом блоков. Вот избавлю скоро эти коды от свапежа и тогда дизастеру несдобровать!  
 
>Только вместо "секторов" "блоки".  
 
Нет-нет, у дизастера система сложнее, чем просто блоки. Он имеет 256 блоков. Однако эти блоки особенные, они имеют еще и подблоки в виде секторов по 2048 байт, которые могут исправляться независимомо от других секторов в блоке.
 
Чем хороши подблоки - позволяют исправлять раздробленные ошибки вплоть до отдельных секторов.
Чем плохи подблоки - на выходе могут получаться недолеченные, не на 100% исправленные файлы.
 
Короче говоря, дизастер имеет 256 блоков, каждый из которых состоит из 10000 подблоков размером с сектор 2048 байт. Подблоки исправляются по отдельности. При этом возможна ситуация, что одни подблоки будут исправлены, а другие не могут быть исправлены. На выходе получаем недолеченный файл. Поэтому ICEECC и RSC32 не используют подблоки в своих алгоритмах, а используют только целые блоки, которые гарантируют исправление инфoрмации, если оно возможно, на 100%.

Всего записей: 462 | Зарегистр. 27-06-2007 | Отправлено: 15:53 07-08-2011 | Исправлено: persicum, 12:24 08-08-2011
DimitriusXZ

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, RS02 дописывает образ. И только, не иначе.

Всего записей: 831 | Зарегистр. 17-01-2010 | Отправлено: 01:22 09-08-2011
persicum

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DimitriusXZ
Попробовал я как то защитить DVD-ROM методом RS01 во внешний файл, так энтот дизастер обматерил меня самыми последними словами...

Всего записей: 462 | Зарегистр. 27-06-2007 | Отправлено: 09:15 09-08-2011
DimitriusXZ

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сегодня целый день промучился с RSC32.exe. Пытался использовать bat-файлы.
Задача: Создать файл коррекции ошибок для образа. Алгоритм - Fit to DVD.
Особенность - временные файлы в и все остальное отдельном месте.
И ничего у меня не получилось. Убил только кучу времени. FarMenu.txt тоже не помог.
Убедительная просьба к автору - не посылать в FAR и не отнекиваться, мол от
документации будет только хуже, а хотя бы выложить алгоритм работы с  
программой и желательно + к нему примеры.

Всего записей: 831 | Зарегистр. 17-01-2010 | Отправлено: 22:36 09-08-2011
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день
persicum
Есть у него такие глюки... Говорит, не секторная файловая система. При этом если снять образ ImgBurn, то подхватывает как миленький. Так и обрабатывал. Еще б если командная строка у dvdisastera была...
 
DimitriusXZ
Попробуйте, пожалуйста следующее:
(fittodvd практически не пользовался, чаще fittodisk +-ds4460M т.к. не всегда хватало места под файловую на диске.)

Код:
 
if not exist c:\temp\rsc32test\Recovery_data md c:\temp\rsc32test\Recovery_data
if not exist c:\temp\rsc32test\Swap_1 md c:\temp\rsc32test\Swap_1
if not exist c:\temp\rsc32test\Swap_2 md c:\temp\rsc32test\Swap_2
if not exist c:\temp\rsc32test\Recovered md c:\temp\rsc32test\Recovered
 
rsc32 -r -wtc:\temp\rsc32test\Recovery_data
rsc32 -mu100M -wrr10000-fittodisk-c:\temp\rsc32test\Recovery_data -ds400M -wrkc:\temp\rsc32test\Swap_1
rsc32 -mu100M -rrrc:\temp\rsc32test\Recovery_data -wrkc:\temp\rsc32test\Swap_1 -wr2c:\temp\rsc32test\Swap_2 -poc:\temp\rsc32test\Recovered
 

Это для проверки работы с директориями. Запускаете батчик из папки с любым файлом (желательно 100<file_size<400 ,скажем 300 метров). У меня вроде работает ожидаемо...  
Добавлено можно добавить -ya,что бы он не переспрашивал каждое действие.
Добавлено2 исправил ошибки с -mu100, --wrk2, недописанным путем, и пропущенным дефисом для rrr . Вроде ж и проверял все...

Всего записей: 1891 | Зарегистр. 07-08-2002 | Отправлено: 23:34 09-08-2011 | Исправлено: Alex_Piggy, 02:44 10-08-2011
DimitriusXZ

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вроде бы требует файл FHash.RSC32...
Может быть, потому, что я пытаюсь его использовать для одного файла?
А для работы с одним файлом?
И какой будет запуск для проверки и (или) восстановления?

Всего записей: 831 | Зарегистр. 17-01-2010 | Отправлено: 01:48 10-08-2011 | Исправлено: DimitriusXZ, 01:52 10-08-2011
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Прошу прощения, неправильно выразился.
Это bat файл для проверки команд размещения  файлов RSC32. Он берет в работу все файлы в текущей директории и результирующую информацию распределяет по разным местам.
Подробное описание строк:
Добавлено. Нашел у себя ошибку/опечатку . Не  "-ms100", а  "-ms100M". Он из-за этого не запускается ("слишком мало памяти"). В остальном все работает нормально. Попробуйте строки из подробного объяснения, заменив пути на свои.
Добавлено. Ошибка оказалась не одна. Вроде исправил все. Тысяча извинений.

Всего записей: 1891 | Зарегистр. 07-08-2002 | Отправлено: 02:27 10-08-2011 | Исправлено: Alex_Piggy, 02:46 10-08-2011
persicum

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Есть у него такие глюки... Говорит, не секторная файловая система. При этом если снять образ ImgBurn, то подхватывает как миленький. Так и обрабатывал. Еще б если командная строка у dvdisastera была...  

 
Спасибо за совет! Попробую снять образ со штампованной алюминивой болванки и только потом дизастер. Хотя странно, что у него изначально нет DVD-ROM в поддержке, просто идиотизм. Можно подумать они не портятся =)))
 
На счет коммандной строки все OK - консольный модуль там есть, причем есть подозрение, что именно он и вызывается из GUI.  
 
Добавлено:
Alex_Piggy
Уважаемый Alex_Piggy!
Благодарю вас за то, что вы очень хорошо разобрались с программой RSC32. Лишь пара замечаний.
1) ключ -wt лучше дополнить ключом -md2, то есть заменить алгоритм CRC32 на CRC64, поскольку CRC32 уж очень рапространен, как и методы его подгона, да и не имеет большого смысла для файлов >4G. Думаю, потери в быстродействии будут малозаметными.
 
2) ключ -crr не проверяет файлы как таковые, а проверяет только контрольные суммы блоков. Файлы можно изрубить в капусту, но ключ -crr этого не заметит, он только говорит, возможно ли восстановление или нет. А быстрый ключ -rt как раз и проверяет контрольные суммы на уровне файлов и говорит, нужно ли восстановление или нет. Для заюзывания время от времени или после переноски достаточно ключа -rt
 
3) если нужно чтобы по ключу -po отправились все файлы, как вылеченные, так и хорошие изначально, есть ключ -ra
 
Может также возникнуть вопрос, для чего я должен терпеть весь этот свапеж и мучиться с ключами -wrk и -wr2, если дизастеру или какой еще проге это не нужно? Это потому, что RSC32 способна извлекать блоки из любого мусора, не делая предварительно предположений что они должны идти аккуратненько подряд или второй должен идти обязательно раньше десятого и так далее. Можно например поколоть ISO-образ на 100 кусков rar'ом без сжатия, некоторые куски стереть, оставшиеся куски склеить в произвольном порядке. И назвать эту мешанину ISO. И RSC32 как нефиг делать может найти там все целые блоки и восстановить оригинальный ISO. Ситуация кошмарная для дизастера. Из этой каши можно извлечь и заголовки в случае чего...
 
Добавлено:
Ну и еще. В батник лучше добавить чтото вроде - bn%1, чтобы придать файлам восстановления осмысленные имена.

Всего записей: 462 | Зарегистр. 27-06-2007 | Отправлено: 10:32 10-08-2011
persicum

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DimitriusXZ
Для работы с одним файлом
rsc32 -wtc:\mydir -md2 имяфайла -bnимяфайла
rsc32 -wrr100000-fittodisk-c:\mydir -ds4650m -wrkс:\myswap -bnимяфайла
 
лечение:
rsc32 -rrrc:\mydir -wrkc:\myswap -bnимяфайла -poc:\mynewdir

Всего записей: 462 | Зарегистр. 27-06-2007 | Отправлено: 16:54 10-08-2011 | Исправлено: persicum, 16:58 10-08-2011
persicum

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
RS03 доступен уже около двух лет, но еще считается экспериментальным.

 
Наконец добрался до RS03. Что могу сказать?  
Сам кодек RS03 даже на многих ядрах и 128-bit SSE работает раз в ШЕСТЬ медленнее того кодека, что в RSC32. Однако, RSC32 тратит половину времени совершенно впустую на свапеж, в результате преимущество уменьшается до ТРЕХ раз. Короче говоря, на обсчет блюра 25G дизастер тратит 45 мин, а RSC32 тратит 15 мин, причем львиная доля этого времени уходит на свапежи, сами коды тратят только 6 мин (загрузка проца 60%), или 3 мин чистого процессорного времени.
 
Абстрактные матрицы кодирования в Дизастере и RSC32 очень разные. В первом это 10млн символов в строке, из них только 255 ненулей, а остальные нули. Во втором 1млн символов и нет ни одного нуля, все ненули. Что надежнее??? Возможны мнения.
 
 
Добавлено:

Цитата:
или 3 мин чистого процессорного времени.

Поэтому хорошая программа должна была бы защищать блюр за несколько минут и одно прочтение, но в условиях нехватки памяти у 32-бит OS это сделать нелегко...

Всего записей: 462 | Зарегистр. 27-06-2007 | Отправлено: 10:22 18-08-2011
pkbasu



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вскользь посмотрел asm-овский листинг кода, импортируемые функции.
До алгоритма свопежа не докопался. Искал упоминание в импортируемых функциях "CreateFileMapping", которая указывает, что файл нужно спроецировать в память и файл, который по мере надобности будет подгружаться в память самой системой.
Чего не использовали "CreateFileMapping"? Эта функция появилась c win2000.
Или "ручками" управлять свопежем куда проще и понятнее + управлять можно количеством оперативки, выделенной для работы?

Всего записей: 36 | Зарегистр. 18-06-2009 | Отправлено: 06:25 05-09-2011
persicum

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pkbasu
 
В общем случае коды рида-соломона требуют случайный доступ к содержимому файлов. Для данных размером несколько гигабайт это потребует многие часы дерганий головками жесткого диска, да и SSD диски практически ничем не лучше - все устройства разве что кроме RAM рассчитаны в основном на последовательный доступ.
 
Свапеж - это один из методов превращения задачи со случайным доступом в задачу со строго последовательным доступом. Другой способ - это написание специальных инкрементальных кодов рида-соломона, как это сделано в ICEECC. Но в ICEECC время исполнения будет инкрементироваться вместе с этими самыми кодами. Можно задать конфигурацию, в которой ICEECC будет работать очень быстро, например 1GByte/s, но можно задать и такую, что создание и/или лечение займет несколько суток. В RSC32 такое невозможно - всегда уложится в несколько минут/десятков минут в независимости от конфигурации. Это одно из благотворных влияний свапежа.
 
Я не вижу чем FileMapping может помочь если нужно случайно зачитывать скажем 10G небольшими порциями.
 
Исследуйте, ковыряйте - если профессионалы сделают лучше - буду очень рад. Только какой продукт не взять (кроме DVDisaster)- этим занимаются исключительно маргиналы - так чего с них взять? Но задача в DVDisaster сильно облегченная - невозможность прочесть сектор сразу вызывает erasure с известным положением, сдвигов быть не может, блоков только 256, а не тысячи-миллионы - можно зачитывать в память большими кусками, и так далее.    

Всего записей: 462 | Зарегистр. 27-06-2007 | Отправлено: 09:33 06-09-2011
DimitriusXZ

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Для работы с одним файлом  
rsc32 -wtc:\mydir -md2 имяфайла -bnимяфайла  
rsc32 -wrr100000-fittodisk-c:\mydir -ds4650m -wrkс:\myswap -bnимяфайла  
 
лечение:  
rsc32 -rrrc:\mydir -wrkc:\myswap -bnимяфайла -poc:\mynewdir

 
Благодарю persicum.

Всего записей: 831 | Зарегистр. 17-01-2010 | Отправлено: 18:02 09-09-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Компьютерный форум Ru.Board » Компьютеры » Программы » ICEECC | QuickPAR | MultiPAR | RSC32 и др.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru