0

Windows モバイル ユニットでは、私が取り組んでいるソフトウェアは、データベースとして sdf ファイルに依存しています。ソフトウェアが対象としているプラ​​ットフォームは「最適とは言えない」ものであり、時々ハード リセットが発生します。遠い昔、私たちはデータを失いました。データベースを閉じて、SDF ファイルを SD カードにコピーします。ユニットがハード リセットされた場合は、アプリ (SD カードにも) とデータベースを復元します。

復元については心配していません(まだ)。私たちが現在抱えている問題は、SDF が 7 MB 以上であり、SD カードへの書き込みが遅いため、「バックアップ」を行うのに非常に長い時間がかかることです。

私の上司は、ファイルの「チャンク」のハッシュを作成し、ハッシュの比較が != の場合にのみ宛先ファイルに書き込むことを提案しました。

そこで質問です。
ファイルのコピーが 1 つしかなく、元のファイルと比較できない場合、ファイルが変更されたかどうかをどのようにテストしますか。

私はちょっとしたブレインストーミングを狙っているだけです。

4

1 に答える 1

0

チャンクのハッシュをどこかに保存するだけです。ハッシュが何であるかがわかっている場合、比較する「バックアップ」コピーは必要ありません。明らかに、これは少なくとも 1 つのハッシュに対して鶏が先か卵が先かの問題を引き起こしますが、単一の「チャンク」をコピーすることは、はるかに小さな問題です。

ただし、提案されたアプローチにはまだパフォーマンスの問題があります。バッテリーを搭載した低速の CPU では、大きなファイルのハッシュは適切な操作ではないためです。

変更したファイルの部分を追跡し、バックアップが必要なときにそれらのセクションだけを更新するための詳細な制御ができないと思いますか?

于 2009-12-10T01:15:58.513 に答える