2016-11-07 5 views
0

多くの重複排除ライブラリまたはアプリケーションでは、ファイルバイナリからチャンクを切断する高速ハッシュアルゴリズムにRabin Karpローリングハッシュアルゴリズムが適用されています。
私の質問は、なぜRabin Karpアルゴリズムがチャンクのカットによく使われるのでしょうか?
私はそれが高速のハッシュアルゴリズムを圧延知っているが、私の質問はより基本的です。
チャンクをカットする方法はたくさんあります。
たとえば、1バイト(mod演算なし)を値と比較してチャンクをカットすると、平均で256バイトのチャンクになります。
9ビットを比較すると、平均で512バイトのチャンクになります。
Rabin Karpなどのローリングハッシュアルゴリズムと同様のハッシュ結果を持たない最後の数ビットを単純に比較しませんか? Rabin-Karpアルゴリズムと重複排除の関係

ラビンカープローリングハッシュは、異なるサイズの部分にファイルをカットチャンキングアルゴリズムである

  • インデックスをチャンキング

  • 答えて

    0

    は、変数がDEDUPチャンキングサイズのために、我々は2つのステップを持っています。次に、重複排除を行うので、データチャンクをインデックス化/照会する必要があります。一般的な方法は、チャンクのハッシュ値を計算し、そのハッシュをチャンクとしてチャンクに格納します。 Rabin Karpアルゴリズムでは、ハッシュとデータチャンクを同時に取得するので、すべてが簡単です。

    最後の数ビットを比較してファイルを分割する方法について述べましたが、これらのチャンクのインデックスを作成するにはどうすればよいでしょうか?したがって、ハッシュを計算する必要があります。

    希望すると、これが役立ちます。

    関連する問題