1

ユーザーのファイル、マルチメディアなどで構成されるプロジェクト ページがあり、ユーザーがこれらすべてを 1 つの zip ファイルにエクスポートできるようにしたいと考えています。現在、これらすべてを保存するために unix と mysql を使用しています。主な目標は、すべてのファイルを zip ファイルにコンパイルしてすべての処理からロード/パフォーマンス時間を最小限に抑えることです。

私の考えは、zip ファイルを一時ディレクトリにキャッシュし、zip 内の各ファイルのすべての CRC チェックサムを個別のテキスト ファイルに保持することでした。ユーザーがエクスポートを試みるたびに、最初に各ファイルの CRC をチェックし、それをリストと比較してから、zip ファイルにファイルを追加または削除します。

しかし、私のもう1つの懸念は、多くのユーザーがいる可能性があるため、zipファイルが占有するスペースです.

私見、これはおそらくこれを行うための最もばかげた方法なので、この問題に対処するためのより良い方法を提案してもらえますか?

ありがとう〜codeNoobian

4

3 に答える 3

2

This reaks of premature optimization, just use a very light compression, aka 'fastest' and worry about the speed if it's actually a problem.

于 2008-11-17T01:49:57.243 に答える
0

一般的なサウンドファイルと画像ファイルは、そもそもかなりよく圧縮されていますね。ペイロードを調べて、圧縮で購入している金額を確認することをお勧めします。

于 2008-11-17T02:08:08.987 に答える
0

帯域幅/ダウンロード速度が問題にならない場合は、圧縮されていない tar ファイルを使用することをお勧めします。TAR は非常に単純な形式であるため、いくつかのファイルが変更されたときにそのセクションを更新するコードを簡単に作成できます。また、非圧縮のままにしておくと、サーバーの CPU 時間が大幅に短縮されます。

もちろん、圧縮しないままにしておくと、サーバー上で多くのストレージ スペースが必要になります。ただし、圧縮されていないため、ファイルのキャッシュ コピーを保持する必要がまったくなくなる可能性があります。十分に高速にビルドできる場合は、必要に応じてオンザフライでビルドできます。そうすれば、CRC の保存や TAR の更新について心配する必要もありません。

于 2008-11-17T01:41:40.490 に答える