Организация структуры данных для программы резервного копирования, подскажете что почитать, где посмотреть примеры?
Всем здравствуйте! В рамках самообучения, захотелось попробовать написать что-нибудь прикладное и нужное. Решено попробовать написать небольшую систему резервного копирования, отсюда вопрос: Какие варианты организации хранения резервных копий существуют? Tar и Zip конечно мне известны, и библиотеки для работы с ними существуют для всех языков, но хотелось бы разобраться именно в создании собственных структур данных. Может быть кто-нибудь подскажет где можно посмотреть подобные и подробные примеры, или почитать про принципы организации подобных структур данных?
Исходники на данный момент начал изучать, и в частности Bacula. Мне вот что непонятно на данный момент, все данные (у Bacula) пишутся в один файл на диске, каким образом при восстановлении происходит определение где заканчивается один файл и начинается другой? Существуют какие-то мета-данные где хранятся позиции зарезервированных объектов или есть более оптимальные способы?
HedgehogJim: Хранение 64-битной длины исходного файла - просто и эффективно. При компрессии может храниться и длина сжатых данных. Оптимальнее ничего не придумать, IMHO.
Своих структур лучше не создавать, ибо в случае повреждения архива избыточной информации для восстановления может и хватить, а у вас врядли будет она заложена.
Ну и к тому же, архиваторы пишут по 10/20 лет, проходя через все грабли, а вам оно нужно?
Спасибо за ответ! Т.е. ваше мнение, лучше взять тот же Tar за основу и уже вокруг него организовывать резервное копирование всего и вся, с удобной конфигурацией и управлением?