2009-04-04 4 views
3

Ich arbeite an einem Projekt und eine der Anforderungen ist das Hochladen und Anzeigen von Dokumenten. Ich habe beschlossen, die Dokumente auf dem Webserver und nicht in der Datenbank zu speichern. Die Frage, die ich habe, ist diese ... Was ist ein guter Ansatz zum Speichern einer großen Anzahl von Dokumenten auf dem Server? Die hochgeladenen Dokumente werden mit einer Master-ID in der Datenbank verknüpft. Daher habe ich darüber nachgedacht, einen Ordner mit dem gleichen Datum wie den Master zu erstellen und dann den Dateinamen mit der folgenden ID voranzuzählen:Dokumente auf Webserver speichern - bester Ansatz

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

Enthält diese solide und intuitiv sein? Ich habe die ID zu der Datei hinzugefügt, falls sie jemals aus irgendeinem Grund aus dem Ordner bewegt wird. Wäre es ein Nachteil, sie so zu lagern?

Nur auf der Suche nach Feedback und vielleicht eine bessere Lösung.

+0

Ich bin in der gleichen Position, ich muss Dokumente speichern, aber einige unserer Kunden führen SQL Express als die DB, so dass ich keinen Platz verschwenden möchte. Haben Sie Artikel gefunden oder gute Rückmeldungen von anderen Orten erhalten? – Aaron

+0

Auf welchem ​​Betriebssystem läuft der Server? Wenn Sie Server 2003 (oder wahrscheinlich 2008) ausführen, verfügen Sie bereits über eine serverseitige Lizenz für SharePoint. Sie brauchen nicht alles, implementieren Sie einfach eine Dokumentenbibliothek. –

+0

Hallo John, Wo kann ich mehr darüber lesen? Das klingt interessant. – Todd

Antwort

0

Was ist mit einem content management system wie OpenCMS

prüfen this list für andere.

+0

Benötigen Sie kein CMS für diese Anwendung, wie ich dieses einfache und leichte Gewicht behalten möchte. – Todd

+0

Welche Sprache und welchen Rahmen verwenden Sie? Es gibt alle Ebenen von CMS von einfachen Bibliotheken bis hin zu vollständigen Anwendungen. Etwas da draußen kann Ihr System in der Zukunft erweiterbar machen, aber trotzdem nicht im Weg stehen. –

+0

ich benutze asp.net. – Todd

1

Ist es sinnvoll, die Dateien in separaten, datierten Ordnern im Gegensatz zu einem großen Repository zu speichern? Ich würde empfehlen, ein einzelnes Verzeichnis-Repository zu verwenden und einen allgemeinen Datei-Handler zu haben. Überstunden werden sich als nützlich erweisen.

Die Datensatz-ID vor dem Dateinamen ist eine gute Idee, wenn sie für die Datei relevant ist. Ich habe oft einen Zeitstempel vorangestellt.

Wir haben mehrere Dateispeichersysteme mit nativen FTP-Funktionen in der Sprache (PHP) erstellt und verwenden die Zeitstempel-Prepend-Methode und es hat sich als sehr effektiv erwiesen.

+0

Ein Grund für die Dateiordner wäre die Dateiansicht des Verzeichnisses, ob von einer Webseite der FTP-App. Wenn sie alle in ein einziges Verzeichnis ausgelagert wurden und alle Dateien geladen wurden, konnte es zu einem Timeout auf dem Server usw. kommen. – Todd

+0

Das konnte, du hast Recht. Ich denke, die meisten FTP-Clients neigen dazu, nach etwa 4000 zu stoppen. Ich denke meistens nur an die Leichtigkeit, die Dateien programmatisch zu finden. Wenn sie sich in mehreren Verzeichnissen befinden, besonders wenn sie neu hochgeladen werden, könnte das mühsam sein. – jerebear

1

Ich würde ein flaches Dateisystem verwenden, die Dateien über einige (generierte?) Label und Record ID-Kombination benennen. Keine Notwendigkeit für Ordner. Wenn Sie die Versionierung implementieren möchten, können Sie den Datumsstempel verwenden. Ich habe ein paar Systeme auf diese Weise gebaut gesehen, die gut funktionieren.

Wenn Sie sich entscheiden, ein Datei-Ordner-System zu verwenden, sehr pragmatisch mit der Umsetzung Ihrer Ordnerbenennung, Platzierung. Sie können auch die beiden Optionen kombinieren.

Persönlich würde ich Ihren Speicherprozess/Ihre Implementierung von Ihren Anwendungs-/Zugriffsprozessen trennen und nicht zulassen, dass eine Entscheidung die andere steuert. Verwenden Sie Anwendungslogik, um auf die Dateien zuzugreifen. Speichern Sie sie so effizient wie möglich.

Zum Beispiel können Sie Ihre Dateien zentral speichern, wie Sie möchten, und dann eine semantische Ebene verwenden, um Ihre Dateien auf verschiedene Arten zu finden (Name, Thema, Typ usw.). Denke darüber nach, wie ein Wiki-System funktioniert.

Verwandte Themen