2009-04-04 5 views
3

Je travaille sur un projet et l'une des exigences est le téléchargement et la visualisation de documents. J'ai décidé de stocker les documents sur le serveur web et non dans la base de données. La question que j'ai est la suivante: quelle est la bonne approche pour stocker un grand nombre de documents sur le serveur? Les documents téléchargés seront associés à un ID d'enregistrement dans la base de données. J'ai donc pensé à créer un dossier avec la même date que le fichier maître, puis le nom du fichier avec l'IDStocker des documents sur le serveur Web - meilleure approche

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

cela vous semble solide et intuitive? J'ai ajouté l'identifiant au fichier, au cas où il serait sorti du dossier pour une raison particulière. Y aurait-il un inconvénient à les stocker de cette façon? Nous recherchons simplement des commentaires et peut-être une meilleure solution.

+0

Je suis dans la même position, j'ai besoin de stocker des documents, mais certains de nos clients utilisent SQL Express comme base de données, donc je ne veux pas perdre de place. Avez-vous trouvé des articles ou reçu de bons commentaires d'autres endroits? – Aaron

+0

Quel OS est le serveur en cours d'exécution? Si vous utilisez Server 2003 (ou probablement 2008), vous disposez déjà d'une licence côté serveur pour SharePoint. Vous n'avez pas besoin de tout, il suffit d'implémenter une bibliothèque de documents. –

+0

Salut John, Où puis-je en savoir plus à ce sujet? Cela semble intéressant. – Todd

Répondre

0

Qu'en est-il un content management system comme OpenCMS

Vérifiez this list pour les autres.

+0

Je n'ai pas besoin de CMS pour cette application car je veux garder ce poids simple et léger. – Todd

+0

Quelle langue et quel cadre utilisez-vous? Il y a tous les niveaux de CMS depuis les bibliothèques simples jusqu'aux applications complètes. Quelque chose là-bas peut rendre votre système extensible à l'avenir, mais reste toujours hors de votre chemin. –

+0

im en utilisant asp.net. – Todd

1

Les fichiers sont-ils stockés dans des dossiers séparés et datés, par opposition à un référentiel de grande taille? Je recommanderais d'utiliser un référentiel de répertoire unique et d'avoir un gestionnaire de fichiers général. Les heures supplémentaires s'avéreront utiles.

L'ID d'enregistrement précédant le nom de fichier est une bonne idée si cela est pertinent pour le fichier. J'ai souvent ajouté un horodatage.

Nous avons construit plusieurs systèmes de stockage de fichiers en utilisant des fonctions FTP natives dans le langage (PHP) et utilisons la méthode d'ajout de timestamp et cela s'est avéré très efficace.

+0

Une raison pour les dossiers de fichiers serait pour la visualisation des fichiers du répertoire que ce soit à partir d'une page Web de l'application FTP. Si elles étaient toutes sauvegardées dans un seul répertoire en chargeant tous les fichiers, elles pourraient expirer un serveur, etc. – Todd

+0

Cela pourrait, vous avez raison. Je pense que la plupart des clients FTP ont tendance à s'arrêter après environ 4000. Je pense surtout à la facilité de trouver les fichiers par programmation. Si elles sont dans des répertoires multiples, surtout si elles sont ré-téléchargées, cela pourrait être lourd. – jerebear

1

J'utiliserais un système de fichiers plat, nommant les fichiers via une combinaison d'étiquette et d'identifiant d'enregistrement (générée?). Pas besoin de dossiers. Si vous souhaitez implémenter la gestion des versions, vous pouvez utiliser l'horodatage. J'ai vu quelques systèmes construits de cette façon qui fonctionnent très bien.

Si vous choisissez d'utiliser un système de dossiers de fichiers, soyez très pragmatique avec la mise en œuvre de votre nom de dossier, placement. Vous pouvez également combiner les deux options. Personnellement, je voudrais séparer votre processus de stockage/implémentation de vos processus d'application/d'accès et ne pas laisser une décision conduire l'autre. Utilisez la logique de l'application pour accéder aux fichiers. Rangez-les aussi efficacement que possible.

Par exemple, vous pouvez stocker vos fichiers de manière centralisée comme vous le souhaitez, puis utiliser une couche sémantique pour trouver vos fichiers de plusieurs façons (nom, sujet, type, etc.). Pensez au fonctionnement d'un système wiki.

Questions connexes