Размещение большого количества файлов в файловой системе
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 20.07.09 11:55
Оценка:
Приветствую.

На входе имеем поступление большого (на практике — бесконечного) количества всевозможных файлов. Я могу точно определить только кто текущий владелец файла (это string) и получить информацию о самом файле. Остальная информация, как например, версия файла или автор файла, определяется не всегда, поэтому не рассматриваю.
Примечание1: файл может быть один, а владельцев — несколько.
Примечание2: хоть я и не рассматриваю версию файла, тем не менее, от одного владельца может поступить файл с тем же именем, который можно рассматривать как следующая версия. И было бы не плохо, если бы старые версии тоже сохранялись.

Вопрос: как лучше (исходя из разных приоритетов) организовать структуру каталогов в файловом хранилище для хранения поступающих файлов?

Примечание2: необходимо использовать БД (хотя, думаю, это и так очевидно).

Одним из ответов на мой вопрос является следующий пример (используется в реальной системе, но возможны неточности в описании).
Всем файлам соответствует какой-либо хэш. Значения хэшей — последовательны. Я не уточнял, поэтому не понял, чей это хэш: самого файла или какого-то объекта, с которым связан этот файл. Исходя из этого хэша создаются каталоги, причём: первые два символа хэша — название дириктории 1-го уровня, вторая пара символов — название дирриктории 2-го уровня, третья пара символов — дириктория 3-го уровня, в которую уже помещается сам файл. Ссылки на файлы хранятся в БД. В итоге получается, что в дирикториях 3-го уровня находится по одинаковому количеству файлов.

Есть лучше варианты?
Спасибо.
Вселенная бесконечна как вширь, так и вглубь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.