Oleg Shorin
Libraries and information resources in the modern world of science, culture, education and business · June 17, 2007 · RU
Conference logo

Application of the Grid Data Technologies at the Digital Book Depository of Russian State Library

A.I. Visly, O.N. Shorin

Abstract: This paper is dedicated to the project of Russian State Library distributed depository using the grid data technologies. The task of this project is to consolidate the Library's available disk space. The main difficulty on this way is to ensure permanent availability of data in conditions of unreliable storage media (computers may go down occasionally, and the data may be deleted or corrupted) and to reach such an extent of transparency for the users that will make their work with the depository no more complicated than with the file systems.

Citation: Shorin O.N. Application of the Grid Data Technologies at the Digital Book Depository of Russian State Library / A.I. Visly, O.N. Shorin // Libraries and information resources in the modern world of science, culture, education and business : Electronic edition, Sudak, 09–17 June 2007 / Russian National Public Library for Science and Technology. – Sudak: Russian National Public Library for Science and Technology, 2007.

1. Введение

В последнее время со стороны науки и бизнеса проявляется повышенный интерес к способу консолидации и хранения данных на основе распределенных хранилищ. Этот интерес обусловлен с одной стороны тенденциями науки и бизнеса к укрупнению и распределенности, а с другой – существенным увеличением объема серийных дисковых накопителей при снижении их удельной стоимости одновременно со значительным ростом быстродействия средств коммуникации. Для библиотек вопросы, связанные с консолидацией и хранением данных, приобретают особую актуальность в связи с интенсивным сканированием фондов и их переводом в электронный вид.

В работе предлагается программное решение для организации распределенного хранилища, позволяющее объединить простаивающее дисковое пространство рабочих станций, серверов, RAID-массивов и других ресурсов хранения информации, имеющихся в РГБ, в так называемое «виртуальное хранилище» и использовать его для надежного хранения электронных фондов. Основным преимуществом распределенного способа хранения перед централизованным является возможность постепенного наращивания хранилища по мере необходимости, что позволяет:

  • снизить риск потери вложенных средств при единовременном развертывании системы,
  • избежать необходимости вложения всей стоимости системы сразу,
  • уменьшить общие затраты на реализацию системы,
  • использовать уже имеющиеся ресурсы хранения.

Использование грид-технологий при создании распределенных хранилищ дает:

  • возможность интеграции разнородных ресурсов хранения и источников данных,
  • интероперабельность системы,
  • автономность ресурсов хранения,
  • возможность использования простаивающих ресурсов хранения,
  • распределение нагрузки на ресурсы хранения,
  • высококачественное обслуживание (QoS),
  • надежность хранения данных,
  • постоянную доступность данных.

В следующей главе рассмотрены требования к программному обеспечению, необходимые для функционирования распределенного хранилища.

2. Требования к депозитарию

Основным требованием к депозитарию является обеспечение сохранности хранящихся в нем данных и оперативного доступа к ним в условиях их хранения на свободном дисковом пространстве имеющихся устройств. При этом необходимо учитывать автономность ресурсов хранения. В отдельные моменты времени они могут быть недоступны, а данные, хранящиеся на них, могут быть удалены или испорчены пользователями, имеющими к ним доступ.

Кроме того, депозитарий должен обеспечивать:

  • залповый и единичный ввод данных,
  • управление метаданными,
  • поиск данных по метаданным,
  • взаимодействие с внешними автоматизированными системами,
  • защиту данных от несанкционированного доступа,
  • поддержку многофайловых объектов данных,
  • сохранение различных версий одного и того же объекта данных.

3. Архитектура депозитария

Депозитарий представляет собой распределенную систему, использующую архитектуру «клиент-сервер» с элементами взаимодействия «точка-точкa» (point-to-point). Система состоит из сервера метаданных, сервера депозитария, нескольких агентов, соответствующих ресурсам хранения, и пользовательских интерфейсов (Рис. 1).

Depository architecture
Рис. 1. Архитектура депозитария

Сервер метаданных представляет собой сервер реляционной СУБД, в которой хранятся все метаданные. Метаданные включают информацию о различных объектах: объектах данных, пользователях, ресурсах и т. п. Сервер депозитария осуществляет аутентификацию и авторизацию пользователей, запрос информации об объектах депозитария и управление объектами данных. Отметим, что для повышения надежности и равномерного распределения нагрузки система может иметь несколько серверов, при этом все серверы депозитария взаимодействуют с одним и тем же сервером метаданных. Настройкой и управлением депозитария занимается администратор депозитария. В его функции входит:

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

На каждый ресурс хранения, соответствующий некоторому объему дискового пространства, отводимого под депозитарий, устанавливается агент. Сервер депозитария взаимодействует с агентами для передачи объектов данных между ресурсами. Агент осуществляет управление демоном, который контролирует целостность данных, хранящихся на данном ресурсе хранения. У ресурса хранения имеется владелец – администратор ресурса хранения, который определяет, какой объем дискового пространства выделить для нужд депозитария.

Библиотекари могут работать с депозитарием как с помощью специального программного обеспечения – интерфейса библиотекаря, так и используя веб-браузер. В функции библиотекаря входит:

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

4. Функции администратора депозитария

4.1. Управление ресурсами

Администратор депозитария создает (регистрирует на сервере депозитария) ресурсы хранения. Для этого администратор указывает уникальную пару: адрес ресурса хранения и порт. Уже зарегистрированные ресурсы хранения могут быть модифицированы или заблокированы администратором депозитария.

4.2. Управление политикой репликации

Политика репликации состоит в определении количества реплик, которые должны создаваться для всех объектов депозитария (степень дублирования), а также принципа распределения реплик по ресурсам хранения.

4.3. Резервное копирование/восстановление депозитария

С помощью интерфейса администратора депозитария можно создать резервную копию депозитария. Резервная копия необходима для восстановления работоспособности депозитария в случае форс-мажорных обстоятельств. Администратор может создать резервную копию всего депозитария полностью, либо включить в резервную копию лишь те объекты, которые не вошли в предыдущую копию.

В любой момент времени администратор может восстановить содержимое депозитария из заранее созданной резервной копии. Для этого необходимо указать путь к файлам резервной копии и запустить процесс восстановления.

4.4. Управление пользователями

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

Пользователями депозитария являются администраторы ресурсов и библиотекари, которые в свою очередь разделяются на библиотекарей-писателей, библиотекарей-читателей и административного библиотекаря (существует в единственном экземпляре). Тип библиотекаря, а также его права на чтение данных из различных коллекций (для библиотекарей-читателей) задаются и изменяются администратором депозитария. В таблице приводятся возможности библиотекарей в зависимости от типа:

библиотекарь-читательбиблиотекарь-писательадминистративный библиотекарь
поиск данных+++
скачивание данных только из тех коллекций, к которым есть доступ ++
изменение метаданных-++
создание версий-++
загрузка данных-++
работа с коллекциями--+

4.5. Управление метаданными

Метаданные содержат информацию, ассоциированную с каждым объектом данных, необходимую для обеспечения поиска. Метаданные хранятся в базе метаданных. В метаданные входит информация о логических атрибутах объектов данных:

  • автор,
  • аннотация,
  • идентификатор,
  • ключевое слово,
  • коллекция,
  • название,
  • системный номер,
  • тип.

Список метаданных может быть расширен администратором депозитария.

4.6. Аудит

Администратор имеет возможность просмотреть информацию о деятельности пользователей и о событиях, происходивших в депозитарии, среди которых:

  • загрузка объекта данных,
  • доступ к объекту данных,
  • репликация объекта данных,
  • создание и модификация группы пользователей,
  • создание и модификация физического ресурса,
  • подключение и отключение физического ресурса,
  • попытка несанкционированного доступа к депозитарию.

Администратор может получить данную информацию, как в графическом виде, так и в текстовом. При этом администратор депозитария может получить как абсолютное количество событий за некоторый период в прошлом с подробной информацией о каждом событии (Рис. 2), так и сравнить количество подобного рода событий с аналогичными периодами в прошлом.

User activity audit
Рис. 2. Аудит активности пользователей

5. Функции библиотекаря

Для работы с депозитарием библиотекарь может использовать один из двух интерфейсов: веб-интерфейс или специальное приложение – интерфейс библиотекаря. Для использования веб-интерфейса библиотекарю необходимо с помощью веб-браузера зайти на веб-сайт депозитария. Для использования приложения библиотекарю необходимо установить это приложение на свой компьютер. Веб-интерфейс и приложение обладают сходным функционалом, но приложение, как видно из рисунка 1, работает с сервером депозитария напрямую, поэтому некоторые операции в приложении работают немного быстрее. Рекомендуется пользоваться приложением, если библиотекарь собирается использовать залповую загрузку данных в депозитарий.

5.1. Загрузка данных

Загрузка данных в депозитарий состоит из двух шагов. На первом шаге библиотекарь выбирает те файлы, которые он хочет загрузить в депозитарий. Вместе с данными библиотекарь может выбрать файлы библиографического описания в формате MARC21. Библиотекарь может указать, чтобы некоторые метаданные, такие как, например, автор или название, были взяты из файла библиографического описания. На втором шаге загрузки библиотекарь должен ввести метаданные, описывающие загружаемые файлы. После этого происходит непосредственная передача данных на ресурсы хранения.

Также библиотекарь может использовать залповую загрузку данных. Для этого ему необходимо создать xml-файл с описанием файлов, которые он хочет загрузить, и их метаданных. После этого для загрузки он может указать данный файл.

5.2. Поиск данных

Поиск данных в депозитарии осуществляется по метаданным. Библиотекарь может использовать различные операции сравнения: ==, !=, >, <, ≥, ≤, содержит, не содержит, начинается, не начинается. Простые поисковые запросы библиотекарь может объединять в сложные с помощью логических операций «И» и «ИЛИ».

5.3. Редактирование метаданных

После того как библиотекарь нашел объект данных, он может отредактировать его метаданные, если у него есть на это соответствующие права. Редактирование метаданных аналогично второму шагу загрузки данных.

5.4. Скачивание данных

Если у библиотекаря есть права, он может скачать один или несколько найденных объектов данных. Более того, библиотекарь может отредактировать скаченный объект данных и загрузить его обратно в депозитарий, указав при этом, что новый загруженный объект данных является версией уже имеющегося в депозитарии объекта данных.

6. Обеспечение надежного хранения

Одним из главных вопросов, которые возникают при создании распределенного хранилища, является надежность хранения данных. В депозитарии надежность хранения достигается с помощью совокупности различных методов.

С одной стороны, используется дублирование хранимых данных на нескольких ресурсах. Администратор депозитария с помощью интерфейса администратора депозитария указывает то количество реплик, которое необходимо хранить для каждого объекта данных. Уникальный метод динамической репликации данных, реализованный в депозитарии, воссоздает необходимо количество реплик в случае отключения одного или нескольких ресурсов хранения.

С другой стороны, на каждом ресурсе хранения работает демон, который следит за целостностью хранимых на ресурсе данных. В случае модификации реплики на ресурсе локальным пользователем, данная реплика будет удалена с данного ресурса. Она будет восстановлена на другом ресурсе из оставшихся реплик с помощью механизма динамической репликации. Таким образом, осуществляется миграция данных с ненадежных ресурсов хранения на надежные.

7. Заключение

В настоящей работе рассмотрен способ консолидации и хранения данных на основе распределенных хранилищ. Этот способ является подходящим для большинства современных предприятий, кроме того, он экономически выгоден и обладает рядом преимуществ по сравнению с централизованными способами. Основной результат работы реализация распределенного хранилища – депозитария для Российской государственной библиотеки (РГБ) с помощью технологий грида данных. Цель проекта – разработка программного решения, позволяющего задействовать свободное дисковое пространство рабочих станций, серверов, RAID-массивов и других ресурсов хранения информации, имеющихся в РГБ, для надежного хранения электронных фондов, которые постоянно пополняются. В работе рассмотрена архитектура предлагаемого решения, основные компоненты, а также пользовательские интерфейсы для работы с депозитарием.

В рамках представленного в работе подхода были решены следующие вопросы. Во-первых, достигнута такая степень прозрачности хранилища для пользователя, что работа с ним является не сложнее, чем с привычными файловыми системами, а время доступа к данным, находящимся в депозитарии, практически не зависит от места их расположения. Во-вторых, обеспечен надежный и оперативный доступ к хранимым данным в условиях ненадежности части ресурсов хранения: в отдельные моменты времени компьютеры могут выключаться, а данные могут быть удалены или испорчены. Для этого разработан метод динамической репликации, состоящий в поддержании постоянного числа реплик всех объектов данных депозитария.