2010-06-09 5 views
1

Je dois ajouter une fonctionnalité de gestion de documents dans mon logiciel. Les documents seront regroupés par nom d'entreprise et nom du projet.Suggestions de conception pour créer une structure de gestion de documents à l'aide de partages masqués

Les dossiers doivent être accessibles par l'application en utilisant les numéros d'identification des clients/projets, mais aussi facilement consultés par l'utilisateur final en utilisant Windows Explorer.

Les clients et les projets seront stockés dans une base de données.

Je pense que le logiciel créera les dossiers en utilisant le nom convivial, puis en utilisant un partage caché avec le numéro d'identification pour que le logiciel puisse accéder aux fichiers.

La structure du dossier serait quelque chose comme ça

--Company 1 (Company-1234$) 
    -- Project 101 (Project-101$) 
    -- Project 102 (Project-102$) 
    -- Project 103 (Project-103$) 
-- Company 2 (Company-5678$) 
    -- Project 201 (Project-201$) 
    -- Project 202 (Project-202$) 
    -- Project 203 (Project-203$) 

Ainsi, dans l'exemple ci-dessus il y aurait une société appelée « Société 1 » avec un ID de « 1234 ».
Lorsque vous parcourez les dossiers à l'aide de l'Explorateur Windows l'utilisateur verrait

\\ ServerName \ Documents \ Company1

et vous pouvez également accéder au même dossier de

\\ ServerName \ Documents \ Company-1234 $

En utilisant le partage caché, si le nom de la société change ou son renommé pour une raison quelconque, il ne casse pas le lien dans l'application parce qu'il utilise le partage caché basé sur l'ID qui ne change jamais.

Est-ce que le fait d'avoir des centaines (peut-être des milliers) ou des partages cachés sur un serveur offre un énorme impact sur les performances?

Est-ce que quelqu'un a des suggestions ou des alternatives pour fournir cette fonctionnalité?

Répondre

0

Je pense que la solution que vous avez esquissée est généralement bonne pour un petit nombre de partages, mais l'administration de 1000 parts n'est pas triviale, donc si elle devient énorme, je dirais une solution de base de données.

Vous serez toujours régi par un facteur en ce qui concerne la performance. Que ce soit la vitesse du réseau/la capacité, la vitesse/temps de recherche du disque dur sur le serveur, etc

Questions connexes