0

私が取り組んでいるソフトウェアは、サーバーに保存されている非常に多くのファイルを出力します。実行中に、1 つのファイルが破損しました。これらのファイルは操作にとって重要であるため、これは発生しません。したがって、これが二度と起こらないように、ファイルにエラー修正を追加する方法を考え出そうとしています。

kブロックのデータとmブロックのパリティをエンコードし、最大m個の欠落ブロックを再構築できるReed-Solomonについて調べました。私が考えているのは、データ ストリームを取得してこれらのブロックに分割し、それらを順番にディスクに格納することです。最初はデータ ブロック、次にパリティ ブロックです。ファイル全体が保存されるまで繰り返します。もちろん、k、m、およびブロック サイズは、調査して操作する必要がある変数です。

ただし、Reed-Solomon では、どのブロックが破損しているかを知る必要があると理解しています。どうすればそれを知ることができますか?私の考えでは、ブロックを作成するときに、各ブロックに単純なエラー検出コードを追加する必要があります。そうしないと、ブロックが破損しているかどうかを知ることができません。CRC32か何かのように。

これを正しく理解しましたか、それともこれを達成するためのより良い方法はありますか?

4

1 に答える 1