Олег Шорин
Библиотеки и информационные ресурсы в современном мире науки, культуры, образования и бизнеса · 17 июня 2007 г. · RU
Логотип конференции

Применение технологий грида данных для организации электронного хранилища Российской государственной библиотеки

А.И. Вислый, Шорин О.Н.

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

Библиографическое описание: Шорин О.Н. Применение технологий грида данных для организации электронного хранилища Российской государственной библиотеки / А.И. Вислый, О.Н. Шорин // Библиотеки и информационные ресурсы в современном мире науки, культуры, образования и бизнеса : Электронное издание, Судак, 09–17 июня 2007 года / Государственная публичная научно-техническая библиотека России. – Судак: Государственная публичная научно-техническая библиотека России, 2007.

1. Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4.6. Аудит

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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