3

さまざまな長さの多くのファイルをブロック指向のメディア (固定サイズ、たとえば 1024 バイト) に保存しています。ファイルを読み戻すと、各ブロックが欠落しているか、正しい (ビット エラーなどがない) かのいずれかになります。欠落しているブロックはランダムであり、欠落しているブロックに順序があるとは限りません。欠落しているブロックの数が何らかのしきい値を下回っている限り、ファイル全体を再構築できるようにしたいと考えています。これはおそらくエンコード方式によって異なります。

私が見た文献のほとんどは、データ ストリーム内の一連のビット エラーを扱っているため、当てはまらないようです。

簡単な方法は、一度に N ブロックを取得し、N ブロックの XOR を含むブロックを格納することです。N ブロックの 1 つが欠落しているが、チェック ブロックが欠落していない場合、欠落しているブロックを再構築できます。

この問題に適した誤り訂正方式はありますか? 文献やコードへのリンクを歓迎します。

4

3 に答える 3

2

Reed-Solomon コードを調べます。

http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction

于 2008-11-17T22:47:59.607 に答える
1

検索を開始するのに最適な場所は、parchive ParityVolumeSetの仕様です。発生する最大の問題は、各ブロックに必要なオーバーヘッドメタデータです。さらに、その仕様は圧縮されたアーカイブファイルを対象としています。

もう1つの優れたリンクは、2.0形式のparchiveドキュメントです(parchive 1.0に基づいていますが、よりブロック指向です)。2.0がPAR1.0でどのように改善されたかの詳細については、 QuickParを参照してください。

于 2008-11-18T02:48:50.510 に答える