Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как реализовать хранение файлов?
|
|||
|---|---|---|---|
|
#18+
В системе ведения проектов необходимо реализовать поддержку хранения файлов. Файлы могут быть любыми - в основном это файлы офисных приложений, но не только. Размеры, соответственно могут достигать единиц и десятков мегабайт. Но операций не много - один менеджер может за день добавить/изменить до десятка файлов. Варианты: 1. Хранить в базе UNC пути к файлам. Однако тогда проблема с получением файлов клиентами - им нужен доступ к данным папкам. 2. Хранить сами файлы в базе. Тут проблема - размеры файлов всё-таки велики имхо. Хотя можно хранить какую-то хистори... А как вы решаете подобные проблемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 09:09 |
|
||
|
Как реализовать хранение файлов?
|
|||
|---|---|---|---|
|
#18+
Когда-то решал подобную задачу. Пути хранил в базе. Сами файлы в shared folder на файловом сервере (Необязательно сервер БД) В базе хранил отдельно путь к общей папке и для каждого файла относительный путь внутри этой папки. Это делало возможным безболезненный перенос хранилища файлов на другой сервер. С правами хуже. Если не все имеют доступ ко всем документам, придётся придумывать механизм защиты. Создавайте группы пользователей, назначайте права. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 09:19 |
|
||
|
Как реализовать хранение файлов?
|
|||
|---|---|---|---|
|
#18+
А я сейчас сбацал системку - файлы в самой базе храню. Конечно пухнет база, и загрузка чуть помедленнее, зато с правами все ОК, зато механизм транзакцию могу использовать, историю вести и т.п. Правда, файлы невелеки - до десяти МБ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 10:08 |
|
||
|
Как реализовать хранение файлов?
|
|||
|---|---|---|---|
|
#18+
Va1entin Когда-то решал подобную задачу. Пути хранил в базе. Сами файлы в shared folder на файловом сервере (Необязательно сервер БД) В базе хранил отдельно путь к общей папке и для каждого файла относительный путь внутри этой папки. Это делало возможным безболезненный перенос хранилища файлов на другой сервер. Окей. Тогда как выглядит технология работы: 1. Пользователь в ворде создаёт новый файл. Client.doc 2. Затем с помощью клиента или апп-сервера (ещё не решено с трехзвенкой) файл переносится в хранилище. Фолдер, куда имеет доступ пользователи (причем все) 3. Второй пользователь руками лезет в фолдер и что-то меняет... приплыли... В принципе было бы неплохо, если бы аппсервер сам лазил на хранилище, и раздавал клиентам. Только как это реализовывать - хз :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 10:16 |
|
||
|
Как реализовать хранение файлов?
|
|||
|---|---|---|---|
|
#18+
Дык, просто все. Писал про это. Юзеру грузишь tmp - копию, запускаешь Word как сервер автоматизации, только перехватываешь попытки сохранения. Вот и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 10:33 |
|
||
|
Как реализовать хранение файлов?
|
|||
|---|---|---|---|
|
#18+
MGRВторой пользователь руками лезет в фолдер и что-то меняет... приплыли... Назначайте права на файлы на уровне файловой системы для пользователей/групп пользователей. Только придётся подумать, как это лучше сделать. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 10:35 |
|
||
|
Как реализовать хранение файлов?
|
|||
|---|---|---|---|
|
#18+
Можно и tmp-копию. Я высвечивал документы через web-интерфейс, вопрос стоял немного по-другому. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 10:39 |
|
||
|
Как реализовать хранение файлов?
|
|||
|---|---|---|---|
|
#18+
Вариант для размышления, так как сам я этого не делал: Документы хранить в базе, отдавать и принимать изменения через WebDAV? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 11:42 |
|
||
|
Как реализовать хранение файлов?
|
|||
|---|---|---|---|
|
#18+
А чего мудрить-то? Самое простое хранить файлы в БД как блобы. Доступ происходит к файлам только через СУБД, т.е. бесконтрольно никто ничего не поменяет. И все. Организовать и реализовать правила доступа на чтение/запись для клиентов. Можно организовать для этого дела отдельную БД и сервер, если не хотите смешивать котлеты с мухами. Если речь идет о десятках МБ, то для нормальной СУБД это не проблема вообще. У нас, например, есть такая база, там хранится несколько разных софтов, и через нее осуществляется обновление рабочего софта на клиентах. Ни скорость работы, ни объемы базы не вызывают вопросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 11:43 |
|
||
|
Как реализовать хранение файлов?
|
|||
|---|---|---|---|
|
#18+
MGR1. Хранить в базе UNC пути к файлам. Однако тогда проблема с получением файлов клиентами - им нужен доступ к данным папкам. 2. Хранить сами файлы в базе. Тут проблема - размеры файлов всё-таки велики имхо. Хотя можно хранить какую-то хистори... А как вы решаете подобные проблемы?1. Можно организовать доступ, например, по FTP. 2. При грамотно спроектированной БД хранить файлы в ней (и добавлять/обновлять/читать) не проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 20:07 |
|
||
|
Как реализовать хранение файлов?
|
|||
|---|---|---|---|
|
#18+
Хранить как блобы хорошо, если это мелкие thumbnail типа avatаров. Когда это большие файлы - база распухает неимоверно и без особой надобности на это. Тут вопрос - чем отдаюца документы? Скриптами .aspx ? Тогда сложить документы в каталог, к которому доступ пользователи напрямую не имеют. Создать табличку DOCS с именем файла, правами и выдранными текстом (для fulltext indexing например) - в случае если это .doc, .txt или похожий текстовый формат. Документ создавать, отдавать, изменять и удалять - скриптом Убиваем несколько зайцев сразу: 1) юзеры получают только те документы, на которые имеют права ибо скрипт делает проверку прежде чем отдать документ; 2) база и transaction log не пухнет по 10-20 мб по каждому update/insert; 3) имеем текстовое содержание документа для поиска ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2005, 20:59 |
|
||
|
Как реализовать хранение файлов?
|
|||
|---|---|---|---|
|
#18+
Denis A.Когда это большие файлы - база распухает неимоверно и без особой надобности на это. Чем определяется имоверность и надобность? :) Denis A. 1) юзеры получают только те документы, на которые имеют права ибо скрипт делает проверку прежде чем отдать документ; Достигается штатными средствами СУБД Denis A. 2) база и transaction log не пухнет по 10-20 мб по каждому update/insert; Ну, и пухнут. :) Документы же пишем. А насчет лога - это смотря какую СУБД юзать. Возьми что - либо вроде InterBase, там никаких логов нет: версионник. Denis A. 3) имеем текстовое содержание документа для поиска ;) Одно другому не мешает :). Слава богу, прошли уже времена, когда об объеме базы приходилось заботиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2005, 22:36 |
|
||
|
Как реализовать хранение файлов?
|
|||
|---|---|---|---|
|
#18+
Делали и так и так. Оба подхода имеют достоинства и недостатки. У нас веб-приложения. Там , гдле скорость критична - пришлось хранить в файлах. Но это плохо, так как во-первых, с многопользовательским доступом на изменения не очнеь красиво получается, а , во-вторых, не просто реализовать распределенную систему, так как для этого приходится делать отдельное хранилище, а это ресурсы (финансовые прежде всего). Хотя естественно есть решения. Но с файлами в базе - было бы проще. Но тут скорость страдает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2005, 08:09 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32962226&tid=1545976]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 279ms |
| total: | 451ms |

| 0 / 0 |
