1

特定の種類の空間データを格納する 32000 を超えるバイナリ ファイルがあります。ファイル名でデータにアクセスします。ファイルのサイズは 0 ~ 400kb です。これらのファイルのコンテンツに、さまざまな時点でランダムにアクセスできる必要があります。32000 以上の個別のデータ ファイルをモバイル デバイスにインストールするという考えは好きではありません (ファイルの合計サイズが 100 MB 未満であっても)。ファイルを 1 つの構造にマージして、必要なデータにすばやくアクセスできるようにしたいと考えています。これを行うための最良の方法は何かについての提案が欲しいです。提案には、データにアクセスするための C/C++ ライブラリが必要であり、商用のクローズド ソース アプリケーションに問題なく含めることができる自由なライセンスが必要です。

これまでに考えたことは、すべてを sqlite データベースに格納することだけですが、これが最善の方法であるかどうか、または迅速なルックアップ時間で BLOB データを格納するために考慮に入れる必要がある考慮事項はわかりません (つまり、どのスキーマを使用するか)。

4

1 に答える 1

0

自分で巻いてみませんか?

あなたの要件は非常に単純で簡単に聞こえます。すべてを単一のバイナリ ファイルにバンドルし、先頭にインデックスを追加して、どのファイルがどこから始まり、どのくらいのビットであるかを示します。

最大 30 行の C++ コード。必要に応じて実装を交換できるように、適切なインターフェイスを設計するのに 10 分ほど費やしてください。

もちろん、データが読み取り専用の場合です。途中で変更する必要がある場合は、すぐに毛むくじゃらになります。

于 2012-05-21T21:23:09.913 に答える