Синхронизировать структуру каталогов с firebase, игнорируя содержимое при сохранении иерархии - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь написать небольшое электронное приложение, которое синхронизирует структуру каталогов определенной папки с Firebase, игнорируя фактическое содержимое.И изо всех сил пытаюсь разработать стратегию с низким значением ovrhead, когда пользователь переименовывает, удаляет или перемещает дочерние элементы.

Я собираюсь использовать что-то подобное для схемы

contenst = {
    f1 : {
        name : 'Folder 1',
        type : 'dir',
        parent : null
    },
    f2 : {
        name : 'cat.jpg',
        type : 'file',
        parent : 'f1'
    },
    f3 : {
        name : 'Subfolder a',
        type : 'dir',
        parent : 'f1'
    },
    f4 : {
        name : 'dog.jpg',
        type : 'file',
        parent : 'f3' 
    }
}

Это приведенная выше структура каталоговв простом виде.

+-- Folder1
    |-- cat.jpg
    +-- Subfoler_a
        |--dog.jpg

Теперь при запуске приложения каждый раз мне приходится повторно синхронизировать структуру каталогов, сохраняя использование полосы пропускания как можно ниже.

Конечно, я мог бы простопрочитайте весь каталог и перезапишите серверный каталог, но это будет довольно дорого, если есть тысячи файлов.

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

Одним из решений является загрузка сохраненного снимка сервера и вычисление различий с локальной структурой.Это снова означает загрузку всего дерева.

Есть ли лучшее решение для этого.

Как видно из названия вопроса, мне нужно только синхронизировать структуру.Содержимое файла не имеет значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...