Хранение документов на веб-сервере - лучший подход - PullRequest
3 голосов
/ 04 апреля 2009

Я работаю над проектом, и одним из требований является загрузка и просмотр документов. Я решил хранить документы на веб-сервере, а не в базе данных. Вопрос, который у меня возникает, заключается в следующем ... каков хороший подход к хранению большого количества документов на сервере? Загруженные документы будут связаны с идентификатором основной записи в базе данных, поэтому я подумал о создании папки с той же датой, что и у основной записи, а затем предварительно сопоставил имя файла с идентификатором, например

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

Кажется ли это твердым и интуитивно понятным? Я добавил идентификатор в файл, если он по какой-либо причине был перемещен из папки. Не будет ли недостатком хранить их таким образом?

Просто ищу отзывы и, возможно, лучшее решение.

Ответы [ 3 ]

1 голос
/ 04 апреля 2009

Есть ли смысл хранить файлы в отдельных папках с датой, в отличие от большого хранилища? Я бы порекомендовал использовать один репозиторий каталогов и иметь общий обработчик файлов. Сверхурочно это окажется полезным.

Идентификатор записи, предшествующий имени файла, является хорошей идеей, если он относится к файлу. Я часто добавлял метку времени.

Мы создали несколько систем хранения файлов, использующих собственные функции FTP в языке (PHP), и используем метод предварительной отметки времени, и он доказал свою эффективность.

1 голос
/ 04 апреля 2009

Я бы использовал плоскую файловую систему, называя файлы с помощью некоторой (сгенерированной?) Метки и комбинации идентификаторов записей. Нет необходимости в папках. Если вы хотите реализовать управление версиями, вы можете поставить отметку даты и времени. Я видел пару систем, построенных таким образом, которые отлично работают.

Если вы решите использовать систему файловых папок, будьте очень прагматичны в реализации именования и размещения папок. Вы также можете объединить два варианта.

Лично я бы отделил ваш процесс / реализацию хранилища от ваших приложений / процессов доступа и не позволил бы одному решению влиять на другое. Используйте логику приложения для доступа к файлам. Храните их максимально эффективно.

Например, вы можете хранить свои файлы централизованно, как хотите, а затем использовать семантический слой, чтобы найти ваши файлы несколькими способами (имя, тема, тип и т. Д.). Подумайте, как работает система вики.

0 голосов
/ 04 апреля 2009

А как насчет системы управления контентом , как OpenCMS

Проверьте этот список для других.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...