Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2010-10-04 10:41:10

vitaliy1978
Участник
Зарегистрирован: 2010-05-11
Сообщений: 45
Рейтинг :   
Сайт

Что такое DSN?

При просмотре кода upload.class.php, в частности функции file_upload, встречается такой флаг DSN. Объясните внятно и понятно, что это такое, и для чего в контексте системы он нужен? Смутные подозрения что это что-то навроде эмуляции CDN, хотя возможно я заблуждаюсь...

Не в сети

#2 2010-10-04 10:45:23

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Что такое DSN?

Это прикрепленные к новости файлы

Не в сети

#3 2010-10-04 11:44:01

vitaliy1978
Участник
Зарегистрирован: 2010-05-11
Сообщений: 45
Рейтинг :   
Сайт

Re: Что такое DSN?

Wolverine пишет:

Это прикрепленные к новости файлы

А к чему тогда комментарий в коде файла:
// DSN - Data Storage Network. Store data in BTREE if requested ?

Не в сети

#4 2010-10-04 12:41:58

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Что такое DSN?

В общих чертах:

Если в вызове функции file_upload  флаг dns будет установлен в true, то структурой хранения является  http://ru.wikipedia.org/wiki/B-дерево
Например, как в addnews.php это используется для прикрепленных фалов (можешь прикрепить парочку и посмотреть структуру каталога dns)

$up = $fmanager->file_upload(array('dsn' => true, 'linked_ds' => 1, 'linked_id' => $id, 'type' => 'file', 'http_var' => 'userfile', 'http_varnum' => $i));

Если флаг не установлен, то используется обычная заливка, как например в uprofile.php

$up = $fmanage->file_upload(array('type' => 'avatar', 'http_var' => 'newavatar', 'replace' => 1, 'manualfile' => $userROW['id'].'.'.strtolower($_FILES['newavatar']['name'])));

Чуть выше есть поясняющий комментарий:

 // * dsn        - FLAG: store data (files/images) in Data Storage Network (BTREE)
98	    // *** IS SET:
99	    //   * linked_ds - id of data storage to link this file
100	    //   * linked_id - id of item in data stodage to link this file
101	    // *** IS NOT SET:
102	    //   * replace    - 'replace if present' flag
103	    //   * randprefix    - add random prefix to file
104	    //   * randname    - make a random file name

Не в сети

#5 2010-10-04 12:58:24

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Что такое DSN?

vitaliy1978 пишет:

При просмотре кода upload.class.php, в частности функции file_upload, встречается такой флаг DSN. Объясните внятно и понятно, что это такое, и для чего в контексте системы он нужен? Смутные подозрения что это что-то навроде эмуляции CDN, хотя возможно я заблуждаюсь...

К CDN'у оно не имеет никакого отношения smile
DSN - это маленькое нововведение, которое "раскидывает" файлы по каталогам. Благодаря этому двиг не начнёт колбасить в случае, когда файлов будет больше 3-4k (сейчас файлы хранятся в одном каталоге, картинки - в другом. и когда их много, операционка начинает чувствовать себя неуютно, а за ней те же проблемы начинаются и у двига).

Сейчас в DSN'е хранятся только прикреплённые к новостям файлы.

Не в сети

Подвал раздела

Работает на FluxBB