2009-04-04 5 views
3

私はプロジェクトで作業していますが、要件の1つはドキュメントのアップロードと表示です。私は文書をデータベースに保存するのではなく、Webサーバーに保存することを決めました。私が持っている質問は、これは...サーバーに多数のドキュメントを格納するための良いアプローチは何ですか?アップロードされたドキュメントはデータベース内のマスターレコードIDに関連付けられますので、マスタと同じ日付のフォルダを作成し、ファイル名の前にこのようなIDを付けることを考えましたWebサーバーにドキュメントを保存する - ベスト・アプローチ

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

これは固体で直感的なように見えるのか?私は特定の理由のためにフォルダから移動されたときにIDをファイルに追加しました。このように保管することに不利な点はありますか?

フィードバックをお探しの方がいいかもしれません。

+0

私は同じ位置にいるので、文書を保存する必要がありますが、一部のクライアントはSQL ExpressをDBとして実行するので、スペースを無駄にしたくありません。あなたは記事を見つけましたか、他の場所から良いフィードバックを受けましたか? – Aaron

+0

サーバはどのOSで動作していますか? Server 2003(またはおそらく2008年)を実行している場合は、既にSharePoint用のサーバー側ライセンスがあります。すべてを必要とせず、ドキュメントライブラリを実装するだけです。 –

+0

こんにちはJohn、 どこでこれについて詳しく読むことができますか?これは興味深いようです。 – Todd

答えて

0

何他の人のためのcontent management system

OpenCMSなどのチェック this listについて。

+0

私はこのシンプルかつ軽量にしたいので、このアプリケーションにはCMSは必要ありません。 – Todd

+0

どの言語とフレームワークを使用していますか?シンプルなライブラリから完全なアプリケーションまで、CMSのすべてのレベルがあります。そこに何かがあなたのシステムを将来的には拡張可能にするかもしれませんが、あなたの道を離れてください。 –

+0

imはasp.netを使用しています。 – Todd

1

大きなリポジトリではなく、別々の日付のフォルダにファイルを保存することには何か価値はありますか?私は単一のディレクトリリポジトリを使用し、一般的なファイルハンドラを持つことをお勧めします。それは有用であることが証明されます。

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

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

+0

ファイルのフォルダの1つの理由は、FTPアプリケーションのWebページからのディレクトリのファイル表示用です。すべてのファイルをロードしている1つのディレクトリにすべてのファイルをダンプした場合、サーバなどがタイムアウトする可能性があります。 – Todd

+0

それは正しいかもしれません。私はほとんどのFTPクライアントが約4000の後に停止する傾向があると思います。私は、主にプログラムでファイルを見つけることの容易さを考えています。彼らが複数のディレクトリにいる場合、特に再アップロードされた場合は面倒です。 – jerebear

1

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

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

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

たとえば、ファイルを集中的に保存してから、セマンティックレイヤーを使用して複数の方法(名前、トピック、種類など)を見つけることができます。 wikiシステムの仕組みを考えてみましょう。