2010-07-21 5 views
1

C'est un modèle que j'ai vu sur les sites Web qui permettent aux utilisateurs de télécharger du contenu comme des images avant. Par exemple, pourquoi http://upload.wikimedia.org/wikipedia/commons/7/70/Example.png au lieu de http://upload.wikimedia.org/wikipedia/commons/Example.png?Pourquoi trier les fichiers générés automatiquement en fonction du hachage?

Y a-t-il une raison pratique à cela, ou est-ce juste une cargaison-culte?

Répondre

3

De nombreux systèmes de fichiers ne fonctionnent pas très bien lorsqu'il y a des centaines de milliers de fichiers dans le même répertoire. Il faut beaucoup de temps pour rechercher un fichier dans le répertoire.

Pour éviter ce problème, les fichiers sont répartis dans une hiérarchie de dossiers. Pour obtenir une distribution égale, vous devez hacher le nom de fichier ou le contenu - quelque chose qui identifie le fichier - et utiliser des parties de ce hachage pour déterminer dans quel dossier le fichier doit être placé. C'est de là que vient le 7/70: le préfixe du hachage en deux étapes, créant une hiérarchie à deux niveaux. Les fichiers sont donc répartis sur 256 dossiers différents, ce qui signifie que vous avez beaucoup moins de fichiers dans chaque dossier, ce qui améliore les performances du système de fichiers.

0

Il y a deux raisons évidentes:

  • Pour éviter le chargement des fichiers trop dans un seul répertoire
  • Il le rend facile d'éviter les collisions de noms de fichiers, sans renommer le fichier original
Questions connexes