DISS — различия между версиями

Материал из Deeptown Manual
Перейти к: навигация, поиск
(Новая: DISS (''Distributed Information Storage System'') -- распределенная ФС Диптауна. Данная ФС была разработана учитывая специфи...)
 
м
 
Строка 1: Строка 1:
DISS (''Distributed Information Storage System'') -- распределенная ФС Диптауна. Данная ФС была разработана учитывая специфику проекта и его потребности. В основу был положен принцип полной абстракции данных как таковых, от места их расположения а также от конкретной иерархии файлов.  
+
DISS (''Distributed Information Storage System'') распределенная ФС Диптауна. Данная ФС была разработана учитывая специфику проекта и его потребности. В основу был положен принцип полной абстракции данных как таковых, от места их расположения а также от конкретной иерархии файлов.  
  
 
== Файлы ==
 
== Файлы ==
  
С точки зрения DISS, файл -- это некоторая сущность, фигурирующая в рамках графа ФС. При этом, с файлом ассоциирован некоторый поток данных, который представляет своего рода дескриптор к данным этого файла. Это означает, что физически, данные могут располагаться где угодно: как на локальной машине, так и на сервере, на другом конце Земли.  
+
С точки зрения DISS, файл это некоторая сущность, фигурирующая в рамках графа ФС. При этом, с файлом ассоциирован некоторый поток данных, который представляет своего рода дескриптор к данным этого файла. Это означает, что физически, данные могут располагаться где угодно: как на локальной машине, так и на сервере, на другом конце Земли.  
  
 
Файлы могут быть как специального типа, так и общего. К специальным типам файлов относятся:
 
Файлы могут быть как специального типа, так и общего. К специальным типам файлов относятся:
Строка 25: Строка 25:
 
== Метаинформация ==
 
== Метаинформация ==
  
С каждым файлом дополонительно может быть ассоциирована метаинформация -- набор строк, так или иначе отражающих содержимое файла; например в случае с файлом текстуры, там может быть указан ее тон, текстовое описание материала и т. д. При этом, файловая система позволяет получать доступ к файлам путем поиска по метаинформации.
+
С каждым файлом дополонительно может быть ассоциирована метаинформация набор строк, так или иначе отражающих содержимое файла; например в случае с файлом текстуры, там может быть указан ее тон, текстовое описание материала и т. д. При этом, файловая система позволяет получать доступ к файлам путем поиска по метаинформации.
  
 
== Монтирование ==
 
== Монтирование ==
Строка 35: Строка 35:
 
Предположим, у нас есть DVD диск, содержащий БД объектов диптауна, который можно использовать, чтобы не качать имеющиеся файлы из сети. Однако, получаемые файлы из сети надо куда то сохранять. В обычном случае пришлось бы заводить отдельную директорию для кеша, в которую помещать новые и обновленные файлы.  
 
Предположим, у нас есть DVD диск, содержащий БД объектов диптауна, который можно использовать, чтобы не качать имеющиеся файлы из сети. Однако, получаемые файлы из сети надо куда то сохранять. В обычном случае пришлось бы заводить отдельную директорию для кеша, в которую помещать новые и обновленные файлы.  
  
В случае DISS это делается польностью прозрачно. При этом, DVD диск кладется "в самый низ", и монтируется только для чтения. Поверх него монтируется некоторый локальный носитель, доступный для записи. При этом, все файлы, находящиеся в верхней директории будут перекрывать файлы на DVD. Перекрытие происходит если версия файла больше чем версия файла на DVD. Если на DVD лежит файл, которого нет в локальной директории, то он и будет виден пользователю. При попытке чтения этого файла, будет прочитан файл с DVD. При записи -- будет создан файл в оверлее, в который будет производиться запись.
+
В случае DISS это делается польностью прозрачно. При этом, DVD диск кладется "в самый низ", и монтируется только для чтения. Поверх него монтируется некоторый локальный носитель, доступный для записи. При этом, все файлы, находящиеся в верхней директории будут перекрывать файлы на DVD. Перекрытие происходит если версия файла больше чем версия файла на DVD. Если на DVD лежит файл, которого нет в локальной директории, то он и будет виден пользователю. При попытке чтения этого файла, будет прочитан файл с DVD. При записи будет создан файл в оверлее, в который будет производиться запись.

Текущая версия на 17:15, 18 июня 2008

DISS (Distributed Information Storage System) — распределенная ФС Диптауна. Данная ФС была разработана учитывая специфику проекта и его потребности. В основу был положен принцип полной абстракции данных как таковых, от места их расположения а также от конкретной иерархии файлов.

Содержание

[править] Файлы

С точки зрения DISS, файл — это некоторая сущность, фигурирующая в рамках графа ФС. При этом, с файлом ассоциирован некоторый поток данных, который представляет своего рода дескриптор к данным этого файла. Это означает, что физически, данные могут располагаться где угодно: как на локальной машине, так и на сервере, на другом конце Земли.

Файлы могут быть как специального типа, так и общего. К специальным типам файлов относятся:

  • ссылка
  • сокет
  • FIFO буфер
  • мутекс
  • адрес потока
  • ...

[править] Потоки

Потоки данных в Диптауне так же предоставляют абстракцию от конкретного протокола передачи данных, будь то FTP, HTTP или любой другой протокол. Пользователь работает с потком данных просто производя операции записи и/или чтения, а конкретная реализация сама разбирается, какие реальные действия необходимо выполнять. Это позволяет добиться большой гибкости. Например, выполнив единственную команду в оболочке диптауна

cat bz2:http://deeptown.org/pub/sample.bz2 > 7z:ftp://example.com/incoming/sample.7z

мы выполняем сразу 4 действия. По протоколу HTTP получаем BZ2 архив, распаковываем его, запаковываем его в другой формат (7z) а затем отправляем его на FTP сервер.

А вот так, буквально в одну строчку, можно отправить email на некоторый адрес:

echo "Hello world!" > mailto:someone@example.com[Subject=Hello]

[править] Метаинформация

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

[править] Монтирование

Идеология монтирования DISS ближе всего к UnionFS. Это означает, что граф ФС представляет из себя совокупность нескольких "слоев", наложенных друг на друга. Каждый слой представляется одним конкретным носителем. При монтировании еще одного носителя поверх текущего дерева, происходит перекрытие одноименных файлов.

[править] Примеры использования

Предположим, у нас есть DVD диск, содержащий БД объектов диптауна, который можно использовать, чтобы не качать имеющиеся файлы из сети. Однако, получаемые файлы из сети надо куда то сохранять. В обычном случае пришлось бы заводить отдельную директорию для кеша, в которую помещать новые и обновленные файлы.

В случае DISS это делается польностью прозрачно. При этом, DVD диск кладется "в самый низ", и монтируется только для чтения. Поверх него монтируется некоторый локальный носитель, доступный для записи. При этом, все файлы, находящиеся в верхней директории будут перекрывать файлы на DVD. Перекрытие происходит если версия файла больше чем версия файла на DVD. Если на DVD лежит файл, которого нет в локальной директории, то он и будет виден пользователю. При попытке чтения этого файла, будет прочитан файл с DVD. При записи — будет создан файл в оверлее, в который будет производиться запись.

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
информация
документация
Инструменты