-
Notifications
You must be signed in to change notification settings - Fork 11
VUFS General Description (Release 1.0)
Virtual Union Filesystem release version 1.0.
Пока пишем по-русски
VUFS в проекте ariADDna является уровнем абстракции поверх файловой системы устройства пользователя и внешних облачных сервисов хранения данных. Главная задача VUFS - это обеспечение единообразного доступа к виртуальным файлам на различных облачных провайдерах. Хранение данных в задачи не входит. VUSF представляет собой древовидный ациклический граф в узлах которого находятся виртуальные файлы.
Главная структурная единица, которой оперирует VUFS. По существу представляет собой файл или директорию, содержащий в себе метаданные: атрибуты файла пользователя, данные о чанках, на которые поделен пользовательский файл, в том числе ссылки на места их хранения, либо список файлов если это директория.
Алгоритм утилизации емкостей облачных дисков под нужды хранения пользовательских файлов и поддержания заданного уровня доступности файлов. VUFS поддерживает три уровня доступности: Union - храниние без резервной копии, Mirror - хранение с одной резервной копией, High - хранение с двумя резервными копиями.
Чанк (или часть) - фрагмент исходного пользовательского файла, объемом 5 242 880 байт (5 Мб). VUFS хранит чанки на доступных облачных провайдерах, согласно стратегии размещения, в единой папке ariaddna_storage в корне диска облачного провайдера. Все чанки хранятся в указанной папке как простой набора файлов с именами равными их UUID. Каждый отдельно взятый чанк выглядит как самостоятельный файл, однако, его невозможно однозначно интерпретировать, поскольку это всего лишь последовательность байтов определенной длинны, считанная из файла пользователя. Чанки хранятся только на облачных провайдерах, на клиентском устройстве всегда храниться только файлы пользователя (собранные из чанков ранее). Созданием чанков для новых файлов на облачных провайдерах занимается клиентское приложение по команде с сервера ariADDna.
Примечание: в первом релизе размер чанка строго фиксирован.
Поскольку для каждого устройства поддерживается свой профиль на сервере ariADDna, то корнем файловой системы является root (/) для систем Mac и Linux, и скрытая системная точка монтирования всех файловых систем для Windows. Можно сказать что по умолчанию древовидная структура пути в VUFS повторяет абсолютные пути на устройстве клиента. Однако используя клиентское приложение ariADDna пользователь может переназначить привязки путей. Сам маппинг путей храниться в локальной базе на клиентском устройстве и в профиле этого устройства на сервере ariADDna. Для нового устройства пользователя создается новый профиль с привязками путей VUFS по умолчанию.
Стандартный файл на файловой системе устройства пользователя. В контексте VUFS файл может быть двух типов: файл, как структура данных определенного типа, и папка, как файл, который группирует однотипные/разнотипные структуры данных. Изменение на файловой системе устройства пользователя контролирует специальный сервис в клиентском приложении и в случае детектирования изменений уведомляет сервер ariADDna.
Определенные параметры, характеризующие файл пользователя и помогающие человеку идентифицировать его. Эти параметры которые необходимо сохранять, передавать и отслеживать. Их список приводится ниже:
- UID владельца
- GID группы владельца
- ACL (по наличию)
- дата и время создания
- дата и время модификации
- размер
- тип
- имя
- путь относительно корня
- ?
© 2018, ariADDna project