一种使pipe理大量文件的目录可pipe理的方法是将文件分类到以文件名称中的渐进字符命名的子目录中。
例如:
- a8debcdcf0d2302ccde5a43bb1fb385e81098342.jpg - 91ff48de8cfc6468bdc2115cf87cfb6547eee713.jpg - 99d002e2065cdf02bd6d04bf29a8230564719b76.jpg ...
上面的文件被分类到子目录,类似于这个:
- 一个/
- 8 /
- a8debcdcf0d2302ccde5a43bb1fb385e81098342.jpg
- 9 /
- 1 /
- 91ff48de8cfc6468bdc2115cf87cfb6547eee713.jpg
- 9 /
- 99d002e2065cdf02bd6d04bf29a8230564719b76.jpg
这种方法有几种变化,例如使用不同数量的字符来命名子目录,或使用散列或其他algorithm来确定每个文件的path。
这种组织文件的方法是否有正式的名称?
我一直称它为散列组合。
有这样的结构要记住一些事情:
它似乎只是被称为“哈希目录结构”,例如在http://michaelandrews.typepad.com/the_technical_times/2009/10/creating-a-hashed-directory-structure.html :
在访问期间如何保持高水平的性能,如何存储大量文件? 一种解决scheme是文件名散列。
它被称为B-Tree (与二叉树无关)。