За последние 24 часа нас посетили 18217 программистов и 1637 роботов. Сейчас ищут 1594 программиста ...

Организация файлового хранилища, нужен инженерный подход

Тема в разделе "Решения, алгоритмы", создана пользователем eurobax, 28 мар 2012.

  1. eurobax

    eurobax Активный пользователь

    С нами с:
    25 ноя 2009
    Сообщения:
    8
    Симпатии:
    0
    Нужно организовать на сайте файловое хранилище для облака. Вопрос в том, как это сделать грамотно, безопасно и удовлетворить еще следующие условия:
    - у каждого юзера будет своя папка для хранения файлов
    - каждый юзер может создавать внутри произвольную структуру папок и файлов
    - юзер может поделиться любым файлом, указав ссылку на него

    Если решать задачу очень узко и влоб, то самый простой пример, это организовать так:
    1. Есть системная папка users/
    2. Для каждого юзера создается папка с его guid, например users/83u239j8wqjf8wkd03234/
    3. Внутри - все как в обычной файловой системе - нешифрованные названия подпапок и файлов.
    Пример файла будет users/83u239j8wqjf8wkd03234/Отчеты/Оборотка за 21.02.2012.xls
    Внутри организации это еще сойдет, но для облака, примитивно.
    Какие есть идеи?
     
  2. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    а файловую систему решил NFS использовать?
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    каждый файл на диске должен лежать под именем http://www.php.ru/manual/function.uniqid.html

    а в бд уже его имяи прочие данные. миме-тип не забудь
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    "примитивно" ))) сделай хотя бы примитивно.
    облако подразумевает кучу серверов, по которым распределяется нагрузка. если ты задаешь такие вопросы, до облаков тебе как … до облаков

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