3

私はプロジェクトに取り組んでおり、要件の1つはドキュメントのアップロードと表示です。ドキュメントをデータベースではなくWebサーバーに保存することにしました。私が持っている質問はこれです…サーバーに大量のドキュメントを保存するための良いアプローチは何ですか?アップロードされたドキュメントはデータベース内のマスターレコードIDに関連付けられるため、マスターと同じ日付のフォルダーを作成し、ファイル名の前に次のようなIDを付けることを検討しました。

2009-4-3
 234
  234-document.pdf
  234-courtrecord.pdf

これは堅実で直感的に見えますか?特別な理由でフォルダから移動された場合に備えて、ファイルにIDを追加しました。このように保管することに不利な点はありますか?

フィードバックとおそらくより良い解決策を探しています。

4

3 に答える 3

1

私はフラットファイルシステムを利用し、いくつかの(生成された?)ラベルとレコードIDの組み合わせを介してファイルに名前を付けます。フォルダは必要ありません。バージョニングを実装したい場合は、日時スタンプを使用できます。私は、このように構築されたいくつかのシステムがうまく機能するのを見てきました。

ファイルフォルダシステムを使用することを選択した場合は、フォルダの名前付け、配置の実装を非常に実用的にしてください。2つのオプションを組み合わせることもできます。

個人的には、ストレージプロセス/実装をアプリケーション/アクセスプロセスから分離し、一方の決定が他方の決定を左右しないようにします。アプリケーションロジックを使用してファイルにアクセスします。できるだけ効率的に保管してください。

たとえば、ファイルを必要に応じて一元的に保存し、セマンティックレイヤーを使用して、複数の方法(名前、トピック、タイプなど)でファイルを検索できます。ウィキシステムがどのように機能するかを考えてみてください。

于 2009-04-04T03:56:39.453 に答える
1

大規模なリポジトリとは対照的に、ファイルを個別の日付付きフォルダーに保存することに価値はありますか? 単一のディレクトリ リポジトリを使用し、一般的なファイル ハンドラを用意することをお勧めします。時間の経過とともに、それは有用であることが証明されます。

ファイルに関連する場合は、ファイル名の前にレコード ID を付けることをお勧めします。私はしばしばタイムスタンプを先頭に追加しました。

言語 (PHP) 内のネイティブ FTP 関数を使用していくつかのファイル ストレージ システムを構築し、タイムスタンプ プリペンド メソッドを使用しており、非常に効果的であることが証明されています。

于 2009-04-04T03:47:13.733 に答える
0

OpenCMSのようなコンテンツ管理システムはどうですか

他の人のためにこのリストをチェックしてください。

于 2009-04-04T03:15:45.870 に答える