WikiDer > BagIt
BagIt представляет собой набор соглашений об иерархической файловой системе, предназначенный для поддержки дискового хранения и сетевой передачи произвольного цифрового контента. "Пакет" состоит из "полезной нагрузки" (произвольного содержимого) и "тегов", которые метаданные файлы, предназначенные для документирования хранения и передачи сумки. Требуемый файл тегов содержит манифест, в котором перечислены все файлы в полезной нагрузке вместе с соответствующими им. контрольная сумма. Название, BagIt, вдохновлен методом "вложить и сдать",[1] иногда называется «упаковать и пометить».
Пакеты идеально подходят для цифрового контента, который обычно хранится в виде коллекции файлов. Они также хорошо подходят для экспорта в архивных целях контента, который обычно хранится в структурах базы данных, которые принимающие стороны вряд ли поддержат. Опираясь на кроссплатформенность (Windows и Unix) соглашения об именах файловых систем, полезная нагрузка пакета может включать любое количество каталоги и подкаталоги (папки и подпапки). Пакет может указывать содержимое полезной нагрузки косвенно через файл "fetch.txt", в котором перечислены URL для контента, который можно получить по сети, чтобы заполнить корзину; просто распараллеливание (например, запуск 10 экземпляров Wget) может использовать эту функцию для очень быстрой передачи больших сумок. Преимущества сумок:
- Широкое распространение в электронных библиотеках (например, Библиотека Конгресса).
- Легко реализовать с помощью обычных инструментов файловой системы.
- Контент, созданный в виде файлов, нужно только скопировать в каталог полезной нагрузки.
- В сравнении с XML упаковка, контент не нужно кодировать (например, Base64), что экономит время и место для хранения.
- Полученный контент готов к использованию в знакомом дереве файловой системы.
- Легко реализовать быструю передачу данных по сети за счет параллельного запуска обычных инструментов передачи.
Технические характеристики
Сумка В настоящее время определяется в RFC 8493.[2] Он определяет простое соглашение об именах файлов, используемое цифровое курирование сообщество для упаковки произвольного цифрового контента, чтобы его можно было надежно транспортировать через оба физических носителя (привод жесткого диска, CD-ROM, DVD) и сетевые переводы (FTP, HTTP, rsync, так далее.). Сумка также используется для управления цифровое сохранение контента с течением времени. Обсуждение спецификации и ее будущих направлений происходит на Список обсуждений Digital Curation.
Спецификация BagIt построена вокруг понятия «сумка». Сумка называется каталог файловой системы который минимально содержит:
- каталог «данных», который включает полезную нагрузку или файлы данных, содержащие сохраняемый цифровой контент. Файлы также можно помещать в подкаталоги, но пустые каталоги не поддерживаются.
- по крайней мере, один файл манифеста, в котором перечислены имена файлов, присутствующие в каталоге «данных», а также их контрольные суммы. Особый алгоритм контрольной суммы включен как часть имени файла манифеста. Например, файл манифеста с MD5 контрольная сумма называется «manifest-md5.txt»
- файл «bagit.txt», который идентифицирует каталог как мешок, версию спецификации BagIt, которой он придерживается, и кодировка символов используется для файлов тегов
При получении пакета часть программного обеспечения может проверить файл манифеста, чтобы убедиться, что файлы полезной нагрузки присутствуют и их контрольные суммы верны. Это позволяет идентифицировать случайно удаленные или поврежденные файлы. Ниже приведен пример минимального пакета myfirstbag, который включает два файла с полезной нагрузкой. Содержимое файлов тегов включено под их именами.
myfirstbag / | - данные | - 27613-ч | - изображения | - q172.png | - q172.txt | - manifest-md5.txt | 49afbd86a1ca9f34b677a3f09655eae9 data / 27613-h / images / q172.png | 408ad21d50cef31da4df6d9ed81b01a7 data / 27613-h / images / q172.txt - bagit.txt Версия BagIt: 0.97 Кодировка символов файла тегов: UTF-8
В этом примере полезная нагрузка состоит из Переносимая сетевая графика файл изображения и Оптическое распознавание символов текстовый файл. В целом идентификация и определение форматы файлов выходит за рамки спецификации BagIt; Атрибуты файла также выходят за рамки.
Спецификация допускает несколько дополнительных файлов тегов (в дополнение к манифесту). Их кодировка символов должна быть указана в «bagit.txt», который сам всегда должен быть закодирован в UTF-8. В спецификации определены следующие необязательные файлы тегов:
- файл «bag-info.txt», в котором подробно описаны метаданные для пакета, с использованием пар ключ / значение, разделенных двоеточиями (аналогично Заголовки HTTP)
- файл манифеста тегов, в котором перечислены файлы тегов и связанные с ними контрольные суммы (например, «tagmanifest-md5.txt»)
- «fetch.txt», в котором перечислены URL-адреса, из которых файлы полезной нагрузки могут быть извлечены дополнительно или для замены файлов полезной нагрузки в каталоге «данных»
До версии 15 черновик также описывал, как сериализовать сумку в архивный файл, Такие как ZIP или же ТАР. Начиная с версии 15, сериализация больше не является частью спецификаций, но не по техническим причинам, а только из-за объема и направленности спецификации.
История
Спецификация BagIt возникла в результате сотрудничества между Библиотека Конгресса и Калифорнийская цифровая библиотека при передаче цифрового контента, созданного в рамках Национальная программа по инфраструктуре и сохранению цифровой информации. Истоки идеи восходят к работе, выполненной в Университет Цукуба по модели «вложить и депонировать» для взаимного депонирования архивных ресурсов для обеспечения долгосрочного цифровое сохранение.[3] Практика использования манифестов и контрольных сумм - довольно распространенная практика, о чем свидетельствует их использование в ZIP (формат файла), то Deb (формат файла), а также на публичных FTP-сайтах.
В 2007 г. Калифорнийская цифровая библиотека необходимо для передачи нескольких терабайт контента (в основном Веб-архивирование данные) в Библиотека Конгресса. Спецификация BagIt позволяла упаковывать контент в «пакеты» с метаданными пакета и манифестом с подробными контрольными суммами файлов, которые позже проверялись при получении пакетов. Спецификация была написана как IETF проект Джон Кунце в декабре 2008 года, где он претерпел несколько изменений, прежде чем был выпущен как RFC.[2] В 2009 г. Библиотека Конгресса выпустил видео, в котором описывается спецификация и связанные с ней варианты использования.[4][5] В 2018 году версия 1.0 была опубликована как RFC инженерной группой Интернета.
Смотрите также
Рекомендации
- ^ «Модель сотрудничества между архивными системами для повышения надежности хранения с помощью метода хранения и хранения» (PDF). 2005. Архивировано с оригинал (PDF) на 2016-03-05. Получено 2015-05-07.
- ^ а б "Формат упаковки файлов BagIt (версия 1.0)". Получено 29 октября 2018.
- ^ Табата, Коичи. «Модель сотрудничества между архивными системами для повышения надежности хранения с помощью метода хранения и хранения» (PDF). Архивировано из оригинал (PDF) 26 июля 2011 г.. Получено 12 октября 2010.
- ^ BagIt: передача цифрового контента для сохранения. Библиотека Конгресса. 2009 г.. Получено 12 октября 2010.
- ^ «BagIt: Передача цифрового контента для сохранения (стенограмма)» (PDF). Библиотека Конгресса. 2009 г. В архиве (PDF) из оригинала 10 октября 2010 г.. Получено 12 октября 2010.
внешняя ссылка
- RFC 8493: каноническая спецификация BagIt
- BagIt на GitHub: последняя рабочая копия спецификации с исходными файлами для публикации в IETF.
- Digital Curation Группа Google: где больше всего обсуждается использование спецификации и ее дальнейшее развитие.
- Спецификация BagIt из Калифорнийской цифровой библиотеки: CDL обнаружил, что наличие локальной документации по спецификации BagIt помогает в целях разработки.
- Спецификация BagIt из Библиотеки Конгресса: аналогично Библиотека Конгресса предоставила доступ к снимку спецификации.