Научная статья на тему 'Технологическая платформа массовой интеграции гетерогенных данных'

Технологическая платформа массовой интеграции гетерогенных данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
403
102
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПРЕДЕЛЕННЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ / ИНТЕГРАЦИЯ ГЕТЕРОГЕННЫХ ДАННЫХ / УПРАВЛЕНИЕ ДОСТУПОМ К ИНФОРМАЦИОННЫМ РЕСУРСАМ / Z39.50 / SRW/SRU / SRW / SRU / LDAP / DISTRIBUTED INFORMATION SYSTEMS / THE INTEGRATION OF HETEROGENEOUS DATA MANAGEMENT / ACCESS TO INFORMATION RESOURCES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Жижимов Олег Львович, Федотов Анатолий Михайлович, Шокин Юрий Иванович

Описана технологическая платформа массовой интеграции распределенных гетерогенных источников данных, поддерживающая создание и функционирование широкомасштабных информационных инфраструктур на основе подхода виртуальной интеграции данных, методов и технологий GRID. Платформа массовой интеграции позволит создавать глобальные инфраструктуры из десятков и сотен гетерогенных баз данных и решать стратегические задачи в области автоматизации различных форм распределенной деятельности по управлению, контролю, планированию на уровне крупных предприятий, отраслей, корпораций и государственных институтов. В основе технологической платформы находится программный комплекс с условным названием ZooSPACE, разрабатываемый в ИВТ СО РАН. Комплекс ZooSPACE строится на основе нескольких слабосвязанных распределенных подсистем, обеспечивающих конфигурирование (ZooSPACE-L), доступ к ресурсам (ZooSPACE-Z), пользовательские и административные Web-интерфейсы (ZooSPACE-W), сбор статистики (ZooSPACE-S) и мониторинг (ZooSPACE-M) всей системы. Обсуждается архитектура и состав каждой из подсистем.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Жижимов Олег Львович, Федотов Анатолий Михайлович, Шокин Юрий Иванович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

TECHNOLOGY PLATFORM FOR THE MASS INTEGRATION OF HETEROGENEOUS DATA

The article describes the technology platform of mass integration of distributed heterogeneous data sources that support the establishment and operation of large-scale information infrastructure based on virtual data integration approaches, methods and technologies GRID. Mass integration platform will allow you to create a global infrastructure of tens and hundreds of heterogeneous databases and is designed to address the strategic challenges of automating various forms of distribution of the management, control, planning at the level of large enterprises, industries, corporations and government institutions. At the core technology platform is a software system, code-named ZooSPACE, developed in ICT SB RAS. ZooSPACE complex built on the basis of several loosely coupled distributed subsystems that provide configuration (ZooSPACE-L), access to resources (ZooSPACE-Z), user and administrative WEB-interface (ZooSPACE-W), statistics gathering (ZooSPACE-S) and monitoring (ZooSPACE-M) of the system. We discuss the architecture and composition of each of the subsystems.

Текст научной работы на тему «Технологическая платформа массовой интеграции гетерогенных данных»

УДК 004

О. Л. Жижимов, А. М. Федотов, Ю. И. Шокин

Институт вычислительных технологий СО РАН пр. Акад. Лаврентьева, 6, Новосибирск, 630090, Россия

Новосибирский государственный университет ул. Пирогова, 2, Новосибирск, 630090, Россия

E-mail: zhizhim@mail.ru; fedotov@nsu.ru; shokin@ict.nsc.ru

ТЕХНОЛОГИЧЕСКАЯ ПЛАТФОРМА МАССОВОЙ ИНТЕГРАЦИИ ГЕТЕРОГЕННЫХ ДАННЫХ *

Описана технологическая платформа массовой интеграции распределенных гетерогенных источников данных, поддерживающая создание и функционирование широкомасштабных информационных инфраструктур на основе подхода виртуальной интеграции данных, методов и технологий GRID. Платформа массовой интеграции позволит создавать глобальные инфраструктуры из десятков и сотен гетерогенных баз данных и решать стратегические задачи в области автоматизации различных форм распределенной деятельности по управлению, контролю, планированию на уровне крупных предприятий, отраслей, корпораций и государственных институтов. В основе технологической платформы находится программный комплекс с условным названием ZooSPACE, разрабатываемый в ИВТ СО РАН. Комплекс ZooSPACE строится на основе нескольких слабосвязанных распределенных подсистем, обеспечивающих конфигурирование (ZooSPACE-L), доступ к ресурсам (ZooSPACE-Z), пользовательские и административные Web-интерфейсы (ZooSPACE-W), сбор статистики (ZooSPACE-S) и мониторинг (ZooSPACE-M) всей системы. Обсуждается архитектура и состав каждой из подсистем.

Ключевые слова: распределенные информационные системы, интеграция гетерогенных данных, управление доступом к информационным ресурсам, Z39.50, LDAP, SRW/SRU.

Введение

Глобальной целью работы является исследование способов интеграции распределенных источников данных и создание научного задела в области распределенных информационных систем и баз данных в целях разработки инструментальной платформы (далее -платформа массовой интеграции), поддерживающей создание и функционирование широкомасштабных информационных инфраструктур на основе подхода виртуальной интеграции баз данных. Платформа массовой интеграции позволит создавать глобальные инфраструктуры из десятков и сотен гетерогенных баз данных и решать стратегические задачи в области автоматизации различных форм распределенной деятельности. Более узкой целью работы является разработка принципов и программных средств виртуальной интеграции распределенных источников данных на основе международных стандартов и рекомендаций для создания масштабных информационных инфраструктур, предназначенных для виртуализации доступа к данным различных систем управления базами данных (СУБД) с использованием единых правил и политик.

* Работа выполняется при финансовой поддержке Министерства образования и науки Российской Федерации (грант № 2012-07.514.11.4130), а также при частичной поддержке РФФИ (проекты № 12-07-00472, 13-07-00859).

Жижимов О. Л., Федотов А. М., Шокин Ю. И. Технологическая платформа массовой интеграции гетерогенных данных // Вестн. Новосиб. гос. ун-та. Серия: Информационные технологии. 2013. Т. 11, вып. 1. С. 24-41.

ISSN 1818-7900. Вестник НГУ. Серия: Информационные технологии. 2013. Том 11, выпуск 1 © О. Л. Жижимов, А. М. Федотов, Ю. И. Шокин, 2013

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

Исходя из общей и частной целей, с учетом анализа литературных источников и многолетней практики авторов в области создания программных комплексов для организации доступа к гетерогенным информационным ресурсам и базам данных [1-4], наиболее оптимальной архитектурой платформы массовой интеграции баз данных представляется архитектура слабосвязанных самодостаточных узлов некой распределенной информационной системы. Здесь и далее эта система будет идентифицироваться под кодовым названием ZooSPACE, в котором «SPACE» отражает распределенность системы, создающей некое пространство, в котором могут функционировать информационные узлы и сервисы, обеспечивая самосогласованный доступ к информационным ресурсам и базам данных. «Zoo» подчеркивает некоторую преемственность предлагаемых решений по отношению к разработанным коллективом исполнителей ранее программных комплексов в области обеспечения унифицированного доступа к гетерогенным базам данных. В первую очередь имеется в виду программный комплекс ZooPARK, разные версии которого успешно эксплуатируются в России и в ближнем зарубежье на протяжении последних 13 лет [5].

Следует отметить, что проблема интеграции данных, как реальной, так и виртуальной, находящихся под управлением различных СУБД, изучается в мире уже давно. В этом направлении разработаны и успешно реализованы многие модели и технологии. Еще в 80-х гг. прошлого века был разработан и документирован стандарт ANSI Z39.50 (Information Retrieval (Z39.50): Application Service Definition and Protocol Specification), последняя ревизия которого вышла в 2003 г. 1 Позднее ANSI-стандарт был утвержден как стандарт ISO-23950. Спецификации этого стандарта включают описание механизмов, структур и процедур доступа к базам данным безотносительно к их физической и логической реализации. Позднее идеология Z39.50 была перенесена на идеологию Web-сервисов и архитектуру SOA. Это привело к созданию протокола SOAP/SRW и SRU, которые упрощали разработку конечных приложений, так как использовали технологии HTTP/XML (вместо ASN.1/BER), сохраняя общие принципы Z39.50 по абстрагированию от структур конечных СУБД и предоставляя универсальный способ доступа к данным для поиска и извлечения информации. Именно эти технологии сегодня используются во всем мире для интеграции данных из различных СУБД при построении действительно универсальных систем. На сегодняшний день в мире не существует технологии отличной от технологии Z39.50 и SRW/SRU, которые бы, с одной стороны, обладали требуемым потенциалом для интеграции данных различных СУБД и, с другой стороны, имели серьезную базу промышленной эксплуатации реальных информационных систем.

Общая инфраструктура ZooSPACE

Инфраструктура ZooSPACE реализуется на произвольном количестве слабосвязанных самодостаточных узлов, функционирующих в соответствии с единой политикой. Взаимодействие узлов между собой осуществляется посредством сетевых протоколов прикладного уровня на основе транспортного протокола TCP/IP (рис. 1).

1 ANSI/NISO Z39.50-2003. Information Retrieval (Z39.50): Application Service Definition and Protocol Specification. Bethesda, Maryland: NISO Press, 2002.

Рис. 1. Инфраструктура узлов ZooSPACE

Количество узлов в ZooSPACE не нормируется и может быть любым. Система ZooSPACE может состоять из одного-единственного узла.

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

• ZooSPACE-L обеспечивает функционирование справочной и административной подсистемы ZooSPACE. Она интегрирует совокупность LDAP-серверов узлов, функционирующих в соответствии с единой для всех политикой и хранящих в виде единой иерархической базы данных (системный каталог ZooSPACE, далее - каталог ZooSPACE) всю конфигурационную и административную информацию ZooSPACE. Все LDAP-серверы подсистемы ZooSPACE-L связаны правилом двусторонней репликации каталога ZooSPACE по сетевому протоколу LDAP(S). Количество LDAP-серверов в ZooSPACE-L не нормировано. Общую функциональность может обеспечить один-единственный сервер LDAP. Количество LDAP-серверов ZooSPACE-L может не совпадать с количеством узлов ZooSPACE (рис. 2).

• ZooSPACE-Z обеспечивает функционирование подсистемы доступа к базам данных системы ZooSPACE. Она интегрирует совокупность Z39.50 и SRW/SRU серверов узлов, функционирующих в соответствии с единой для всех политикой. В качестве серверов Z39.50 и SRW/SRU планируется использовать модифицированный сервер ZooPARK (разработка исполнителей настоящего Проекта), обладающий необходимой функциональностью. Предварительное название сервера - ZooPARK-ZS. Количество серверов ZooPARK-ZS в ZooSPACE-Z не нормировано. Общую функциональность может обеспечить один-единственный сервер ZooPARK-ZS. Количество серверов ZooPARK-ZS в подсистеме ZooSPACE-Z может не совпадать с количеством узлов ZooSPACE. Каждый сервер ZooPARK-ZS в ZooSPACE-Z взаимодействует с подсистемой ZooSPACE-L по протоколу LDAP/LDAPS для получения конфигурационной и административной информации из каталога ZooSPACE. Аутентификация и авторизация всех пользователей ZooSPACE-Z также происходит в подсистеме ZooSPACE-L. Каждый сервер ZooPARK-ZS в ZooSPACE-Z предоставляет интерфейсы доступа к данным по протоколам Z39.50 и SRW/SRU в соответствии со спецификациями этих протоколов и обеспечивает взаимодействие с серверами СУБД, которые

Рис. 2. Инфраструктура подсистемы ZooSPACE-L

по отношению к подсистеме ZooSPACE-Z являются внешними, но могут использовать политику аутентификации и авторизации своих пользователей в подсистеме ZooSPACE-L. Одной из обязательных функцией серверов ZooPARK-ZS является возможность переадресовывать запросы на доступ к данным на другие серверы ZooPARK-ZS подсистемы ZooSPACE-Z, а также на серверы Z39.50 и SRW/SRU, не входящие в ZooSPACE-Z, по соответствующим протоколам.

• ZooSPACE-M обеспечивает функционирование системы мониторинга всех компонент ZooSPACE.

• ZooSPACE-S обеспечивает функционирование подсистемы сбора статистики работы всех компонент ZooSPACE.

• ZooSPACE-W обеспечивает функционирование подсистемы ZooSPACE.

Типовой узел ZooSPACE

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

• Типовой сервер реплицируемых каталогов на основе технологий LDAP, поддерживающий специфические схемы данных.

• Типовой сервер Z39.50/HTTP/SOAP/SRW доступа к данным с набором необходимых динамических модулей (провайдеров данных) для доступа к конечным СУБД. Сервер поддерживает внешние интерфейсы HTTP, SOAP/SRW, SRU, Z39.50.

• Модули динамических провайдеров данных для различных целевых СУБД:

✓ MS SQL Server;

✓ PostgreSQL;

✓ MySQL;

✓ Oracle;

✓ Z-Remote (провайдер данных для доступа к другим серверам Z39.50);

✓ SRW-Remote (провайдер данных для доступа к другим серверам SRW/SRU).

• Типовой шлюз HTTP-Z39.50 + SOAP/SRW и набор пользовательских и административных Web-интерфейсов для доступа к инфраструктуре ZooSPACE.

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

Подсистема ZooSPACE-L

Подсистема ZooSPACE-L является неотъемлемой частью платформы ZooSPACE. Ее задача - обеспечивать функционирование справочной и административной подсистемы и интегрировать совокупность LDAP-серверов узлов [6-9], функционирующих в соответствии с единой для всех политикой и хранящих в виде единой иерархической базы данных (системный каталог ZooSPACE, далее - каталог ZooSPACE) всю конфигурационную и административную информацию ZooSPACE. При этом все LDAP-серверы подсистемы ZooSPACE-L должны быть связаны правилом двусторонней репликации каталога ZooSPACE по сетевому протоколу LDAP(S). Количество LDAP-серверов в ZooSPACE-L не нормировано. Общую функциональность может обеспечить один-единственный сервер LDAP. Количество LDAP-серверов ZooSPACE-L может не совпадать с количеством узлов ZooSPACE.

Основой подсистемы ZooSPACE-L (см. рис. 2) должна стать совокупность LDAP-сер-веров, единообразно сконфигурированных. При этом, ввиду стандартизации собственно протокола LDAP и требований к LDAP-сервисам и LDAP-службам, конкретная реализация LDAP-сервера является не очень существенной.

Таблица l

Программные компоненты узла ZooSPACE

№ Компонента Количество на узел Системное

min max название

l Сервер LDAP O - OpenLDAP / OpenDS / ApacheDS и др.

2 Сервер Z39.50/SRW/SRU O - ZooPARK-ZS

3 Сервер HTTP O - ZooPARK-ZS / Apache Web Server

4.l Модуль доступа к базам данных MS SQL Server O l ZS-MSSQL

4.2 Модуль доступа к базам данных Oracle O l ZS-Oracle

4.3 Модуль доступа к базам данных MySQL O l ZS-MySQL

4.4 Модуль доступа к базам данных PostgrsSQL O l ZS-PostgreSQL

4.5 Модуль доступа к базам данных CDS/ISIS O l ZS-ISIS

4.6 Модуль доступа к удаленным серверам Z39.50 l * l ZS-RemoteZ

4.7 Модуль доступа к удаленным серверам SRW/SRU l * l ZS-Remote S

4.8 Модуль доступа к базам данных ИРБИС-64 O l ZS-IRBIS64

4.9 Модуль доступа к базам данных через внешние приложения O l ZS-SHELL

5 Сервер мониторинга O l ZooMON-ZS

6 Сервер сбора статистики O l ZooSTAT-ZS

* Не может быть меньше количества серверов ZooPARK-ZS.

Можно сформулировать основные требования, которые предъявляются к подсистеме ZooSPACE-L и образующим ее серверам LDAP:

• соответствие спецификациям LDAP v.3;

• возможность работы по защищенному протоколу LDAPS;

• возможность работы в распределенной среде;

• аутентификация пользователей в соответствии с различными схемами;

• управление доступом к данным на основе групп и шаблонов;

• поддержка двунаправленных репликаций данных;

• поддержка пользовательских схем данных;

• поддержка интерфейсов DSML (необязательно);

• реализация для различных ОС (Linux, Windows 2003/2008, Solaris *86).

Перечисленным требованиям удовлетворяют многие популярные LDAP-серверы, в том

числе распространяемые на основе лицензий открытого ПО. В настоящем Проекте основной акцент сделан на программное обеспечение OpenLDAP (http://www.openldap.org), однако все нижеизложенное справедливо и для других LDAP-серверов.

Для любого LDAP-сервера основой функционирования всей инфраструктуры ZooSPACE является иерархический каталог, содержащий всю необходимую для ZooSPACE информацию. Ниже описывается структура и содержание этого каталога.

Структура информационного дерева. Информация в каталоге организована по иерархическому принципу. Основные узлы дерева каталога отражают функциональные аспекты реализации платформы ZooSPACE.

Каждый узел каталога идентифицируется по иерархическому текстовому имени (в терминологии LDAP - DN), отражающему полный перечень вышестоящих по иерархии каталога узлов с указанием их имен и типов.

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

dn: ou=ZooSPACE, dc=ru

Т

dc=ru

О

гЁЩ Ой

рз

ou=ZooSPACE

_I_

iHà Éïfà Éfà

u=Profile d

ou=Groups ou=Persons ou=Profiles

_L

ëëë Éïfà ëEë

cn=SB RAS cn=Domain1 cn=Domain2 _

ëëë

cn=Admins cn=. . . . cn=zs-bib1 cn=zs-nti1 cn=zs-dc1 cn=AttributeSets cn=Schemas cn=TagSets cn=DServers cn=ACLS

m

cn=Bib-1 cn=CIMI-attset cn=... cn=qdc cn=gils cn=... cn=elib-1 cn=elib-2 cn=elib-3

Рис. 3. Верхние уровни каталога ZooSPACE

Первый уровень дерева ZooSPACE (рис. 3) включает узлы, содержащие описание пользователей ZooSPACE (ou=Persons), групп и ролей пользователей ZooSPACE (ou=Groups) и профилей доступа к данным (ou=Profiles). Другие узлы этого уровня содержат описание доменов ZooSPACE. При этом в каталоге должен присутствовать хотя бы один домен (на рис. 3 это домены SB RAS, Domainl и Domain2). Количество доменов в каталоге не ограничено. Каждый домен содержит описание своей конфигурации серверов, баз данных и политик доступа к ресурсам на втором уровне дерева ZooSPACE. Описание узлов второго уровня для каждого домена представлено в табл. 2.

Узлы второго уровня для домена

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Таблица 2

Узел Содержание

cn=AtributeSets Содержит описание наборов поисковых атрибутов в соответствии с Z39.50, каждому из которых соответствует свой узел на уровне 3. На рис. 4 показана структура ветки дерева с описанием набора поисковых атрибутов Б1Ь-1. Аналогичную структуру имеют ветки дерева каталога для других наборов

cn=TagSets Содержит ветку каталога с описанием наборов меток в соответствии с Z39.50 (рис. 5), каждому набору из которых соответствует свой узел на уровне 3

cn=Schemas Содержит описание схем в соответствии с Z39.50, каждой из которых соответствует свой узел на уровне 3 (см. рис. 3)

cn=DServers Содержит узлы (рис. 6), каждый из которых соответствует хосту в инфраструктуре ZooSPACE

cn=ACLS Содержит описание списков управления доступом, каждому из которых соответствует свой узел на уровне 3 (рис. 7)

ou=1 Use

cn=Bib-1

_I_

ou=2 Relation

ou=3 Position

ou=4 Structure

ou=5 Truncation

ou=6 Completeness

cn=1

cn=2

cn=3

cn=1

cn=2

cn=3

cn=1

cn=2

cn=3

cn=1

cn=2

cn=3

cn=1

cn=2

cn=3

cn=1

cn=2

cn=3

Рис. 4. Структура узла описания набора поисковых атрибутов Bib-1

cn=..

cn=TagSets

сп=Тав5е1й сп=Тав5еИ\/1

Ш1е

СП—1

сп=2

сп=3

сп=1

сп=2

сп=3

сп=С1МНав5е1

cn=Zthes-tagset

сп=1

сп=2

сп=3

сп=1

сп=2

сп=3

Рис. 5. Структура узла описания набора меток

§

сп=еПЬ-1

сп=05егуегБ

сп=еПЬ-2

гБНс^+гзРО!!

си^РеМеуаИг^о

сш=йа1аЬа5е5

J_

хт1+дс1с

ои=Ргоу1с1ег5

I_

ъ

сп=еПЬ-3

гзНс^+гзРоЛ

ои=5Ие11

|Щ, |Щ, т.

сп=Б1а1

cn=dspace сп^гшй сп=..

сп=1б1з cn=PostgreSQL сп=1гЬ15б4

сп=КЕАЭ сп=\Л/ШТЕ

Рис. 6. Структура узла описания хостов

àùà

ou=ACLS

wliv

ф ¿ф £ф ф

cn=adminsl cn=ICTSBRAS cn=nsu cn=...

Рис. 7. Структура узла описания списков управления доступом

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

Для ZooSPACE определена дополнительная схема, в которой прописаны необходимые для формирования каталога ZooSPACE классы и атрибуты. Это определение схемы представлено в виде текстового файла в формате LDIF, который доступен по адресу http://elib.sbras.ru/ZooSPACE/etc/81zoospace.ldif.

Описание объектов каталога. В соответствии с правилами описания объектов LDAP-ка-талогов каждый узел каталога порожден от определенного класса и обладает некоторыми атрибутами. Описание классов и атрибутов каталога ZooSPACE приведено в определении схемы (см. выше).

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

К счастью, технология LDAP содержит описание механизмов синхронизации локальных каталогов методом репликаций.

Современные реализации механизмов репликаций, в основе которых лежит LDAP Sync (RFC4533), для наиболее распространенных серверов LDAP в состоянии обеспечить достаточно широкие возможности по выбору необходимого варианта конфигурации системы репликаций. Для системы ZooSPACE-L наиболее приемлемым может оказаться механизм двунаправленных репликаций с несколькими главными серверами (Multi-Master) (рис. 8). Этот механизм дает некоторые преимущества по сравнению с механизмом однонаправленных репликаций:

• при отказе любого поставщика другой поставщик продолжит принимать обновления;

• избежание ситуации, когда отказ одной точки приводит к нарушению работы всей системы;

• серверы-поставщики могут располагаться в нескольких разных участках сети, в том числе глобально-разнесенных;

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

Рис. 8. Схема двунаправленных репликаций серверов 7ооБРЛСЕ-Ь

Узел 1

Z39.50

Узел 2

•о. HTTP

1

V. V 139.50 БИМ

ZooPARK-ZS

Рис. 9. Инфраструктура подсистемы 7ооБРЛСЕ-7

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

К сожалению, эта схема не лишена недостатков. Может оказаться, что более простой вариант будет более жизнеспособным. Поскольку переход с одной схемы репликаций на другую не связан с большими накладными расходами, выбор требуемой схемы будет сделан в процессе развертывания 2оо8РЛСЕ. Во всяком случае, 2оо8РЛСЕ-Ь будет допускать любую схему репликаций.

Обеспечение безопасности. Поскольку подсистема ZooSPACE-L основана на спецификациях промышленного стандарта LDAP и строится на базе проверенных практикой серверов LDAP, безопасность подсистемы обеспечивается мерами безопасности, заложенными в технологию LDAP.

Подсистема ZooSPACE-Z

Подсистема ZooSPACE-Z обеспечивает доступ к базам данных ZooSPACE. Она интегрирует совокупность Z39.50 и SRW/SRU 2 серверов узлов, функционирующих в соответствии с единой для всех политикой. В качестве серверов Z39.50 и SRW/SRU планируется использовать модифицированный сервер ZooPARK, обладающий необходимой функциональностью. Рабочее название сервера - ZooPARK-ZS. Количество серверов ZooPARK-ZS в ZooSPACE-Z не нормировано. Общую функциональность может обеспечить один-единственный сервер ZooPARK-ZS. Количество серверов ZooPARK-ZS в подсистеме ZooSPACE-Z может не совпадать с количеством узлов ZooSPACE (рис. 9). Каждый сервер ZooPARK-ZS в ZooSPACE-Z взаимодействует с подсистемой ZooSPACE-L по протоколу LDAP/LDAPS для получения конфигурационной и административной информации из каталога ZooSPACE. Аутентификация и авторизация всех пользователей ZooSPACE-Z также происходит в подсистеме ZooSPACE-L. Каждый сервер ZooPARK-ZS в ZooSPACE-Z предоставляет интерфейсы доступа к данным по протоколам Z39.50 и SRW/SRU в соответствии со спецификациями этих протоколов и обеспечивает взаимодействие с серверами СУБД, которые по отношению к подсистеме ZooSPACE-Z являются внешними, но могут использовать политику аутентификации и авторизации своих пользователей в подсистеме ZooSPACE-L. Одной из обязательных функцией серверов ZooPARK-ZS является возможность переадресовывать запросы на доступ к данным на другие серверы ZooPARK-ZS подсистемы ZooSPACE-Z, а также на серверы Z39.50 и SRW/SRU, не входящие в ZooSPACE-Z, по соответствующим протоколам.

Сервер ZooPARK-ZS. В качестве основного сервера доступа к данным для платформы ZooSPACE используется сервер ZooPARK-ZS. Архитектура этого сервера (рис. 10) позволяет обеспечить требуемую функциональность. В процессе своей работы этот сервер постоянно обращается к подсистеме ZooSPACE-L. В свою очередь к серверам ZooPARK-ZS, образующим подсистему ZooSPACE-Z, постоянно обращаются серверы подсистем ZooSPACE-W, ZooSPACE-S и ZooSPACE-M.

В соответствии с техническим заданием к серверу доступа к гетерогенным данным предъявляются следующие требования:

• поддержка спецификаций Z39.50 v3;

• поддержка спецификаций SOAP/SRW и SRU;

• конфигурирование через каталоги LDAP;

• поддержка поисковых запросов RPN-1 (PQF), CQL;

• поддержка параллельного поиска в многобазовом окружении;

• извлечение информации в различных схемах и форматах данных;

• возможность расширения списка поддерживаемых схем и форматов;

• возможность расширения списка поддерживаемых поисковых атрибутов;

• взаимодействие с конечными СУБД посредством динамических модулей (провайдеры данных) с использованием единого интерфейса (API);

• возможность переадресации запросов на другие серверы Z39.50/ SRW/SRU;

• аутентификация клиентов через каталог LDAP;

• реализация для различных ОС (Linux, Windows 2003/2008, Solaris *86, FreeBSD).

Эта функциональность (и даже более) обеспечивается модернизированным сервером ZooPARK v.5 (ZooPARK-ZS).

2 SRU (Search/Retrieve via URL). URL: http://www.loc.gov/standards/sru/

Рис. 10. Архитектура сервера 7ооРАКК-78: основные блоки

Как и для базового сервера ZooPARK, доступ к базам данных для сервера ZooPARK-ZS реализован через единый для всех типов поддерживаемых СУБД интерфейс (интерфейс провайдера данных). При этом вся логика взаимодействия с конкретной СУБД локализована в специальном модуле - провайдере данных, который представляет собой динамически загружаемую библиотеку, причем загрузка этой библиотеки происходит на этапе выполнения по мере обращения. Такой режим загрузки модулей не требует перезагрузки сервера при изменении модулей. Для каждого типа СУБД требуется свой провайдер данных.

Реализация такого подхода позволяет удовлетворить требованиям для провайдера данных:

• возможность взаимодействия с конечной СУБД в соответствии с ее спецификациями;

• обеспечение конвертации внешних запросов в синтаксис и семантику целевой СУБД;

• обеспечение конвертации извлекаемой из целевой СУБД информации во внешние структуры данных;

• реализация для различных ОС (Linux, Windows 2003/2008, Solaris *86, FreeBSD).

Схематично доступ к базам данных сервера ZooPARK-ZS представлен на рис. 11.

Таким образом, каждый провайдер данных для сервера ZooPARK-ZS должен:

• представлять собой динамически загружаемый модуль;

Ядро сервера ZooPARK-ZS

Интерфейс провайдеров данных

Доступ к LDAP

ZS-MSSQL

ZS-MySQL

ZS-Oracle

ZS-PostgreSQL

ZS-ISIS

ZS-IRBIS64

ZS-SHELL

ZS-RemoteZ

ZS-RemoteS

MS SQL Server

MySQL Server

Oracle Server

PostgreSQL Server

Файловая система ОС

Сервер ИРБИС-64

Командный процессор ОС

Сервер Z39.50

Сервер SRW/SRU

Рис. 11. Доступ к данным сервера ZooPARK-ZS

Рис. 12. Архитектура типового модуля провайдера данных

• иметь точки входа для выполнения основных процедур (init, search, present, scan, explain, close);

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

• конвертировать запросы на поиск информации в синтаксисе RPN-1 в синтаксис целевой СУБД;

• посылать конвертированные запросы к целевой СУБД;

• принимать ответы от СУБД, обрабатывать диагностику;

• конвертировать ответы целевой СУБД в ответы для ядра сервера ZooPARK-ZS;

• возвращать ядру конвертированную информацию;

• взаимодействовать с подсистемой ZooSPACE-L.

Исходя из этих требований, структура каждого провайдера данных должна быть примерно одинакова, за исключением специфических свойств, характерных для конкретной целевой СУБД. Во всяком случае, структура провайдеров данных для реляционных СУБД будет отличаться только использованием различных библиотек для доступа к СУБД в соответствии со структурой типового провайдера данных (рис. 12).

Загрузка сервера. Для обеспечения централизованного управления серверами ZooPARK-ZS вся конфигурационная информация каждого сервера ZooSPACE-Z хранится в каталоге ZooSPACE и управляется подсистемой ZooSPACE-L (см. выше).

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

После установления связи с одним из серверов ZooSPACE-L ZooPARK-ZS считывает нужную для загрузки конфигурацию, включающую список открываемых на прослушивания портов, список доступных провайдеров данных, список доступных баз данных и т. д. После проверки полученной информации и выполнения штатных действий сервер переходит в режим прослушивания, предварительно послав в ZooSPACE-L информацию о своей готовности. Флаг готовности этого сервера доступен в каталоге ZooSPCAE в соответствующем атрибуте ветки данного сервера. При отсутствии связи с подсистемой ZooSPACE-L (с любым из указанных в аргументах командной строки серверов) сервер ZooPARK-ZS инициирует состояние ошибки при загрузке и прекращает работу.

Подсистема ZooSPACE-W

Подсистема ZooSPACE-W предназначена для предоставления административных и пользовательских Web-интерфейсов для доступа к ZooSPACE (рис. 13) и должна включать как минимум один Web-сервер. Формально функции Web-сервера сформулированы в требованиях к шлюзу HTTP-Z39.50/SRW/SRU:

• предоставление пользовательских и административных графических Web-интерфейсов для доступа к данным ZooSPACE;

• аутентификация пользователей через LDAP;

• взаимодействие только с актуальными серверами (узлами) ZooSPACE.

Каждый сервер подсистемы ZooSPACE-W хранит одинаковый набор программного обеспечения, реализующий необходимую функциональность для формирования Web-ин-терфейсов и внутренней обработки данных. Клиент может обращаться к любому из серверов без потери функциональности. Наличие нескольких серверов в подсистеме ZooSPACE-W повышает уровень доступности серверов и минимизирует трафик между разными узлами.

Программное обеспечение Web-сервера должно состоять из нескольких блоков.

• Блок Z, реализующий интерфейсы доступа к подсистеме ZooSPACE-Z, должен обеспечивать поиск и представление данных из различных СУБД в соответствии с выбранным профилем.

• Блок L реализует интерфейсы доступа к подсистеме ZooSPACE-L. Доступ только для администраторов. Блок содержит функции авторизации пользователей. Фактически этот блок реализует интерфейсы для просмотра и модернизации каталога ZooSPACE.

Рис. 13. Взаимодействие серверов 7ооБРЛСЕ-Ш с другими подсистемами 7ооБРЛСЕ

Рис. 14. Вид административного интерфейса системы

• Блок S, реализующий интерфейсы доступа к подсистеме ZooSPACE-S. Возможны разные уровни доступа. Интерфейсы предназначены для просмотра статистики работы ZooSPACE.

• Блок M, реализующий интерфейсы доступа к подсистеме ZooSPACE-M. Возможны разные уровни доступа. Интерфейсы предназначены для просмотра результатов мониторинга различных компонент ZooSPACE.

Каждый из перечисленных блоков представляет собой программную компоненту, реализованную на PHP и выполняющуюся в среде Web-сервера Apache. При этом задействованы дополнительные PHP-модули для LDAP, Z39.50 и SRW/SRU.

Предполагается разработка простых по дизайну интерфейсов ZooSPACE-W (рис. 14).

Подсистема ZooSPACE-S

Подсистема ZooSPACE-S, в которой реализован сбор информации о событиях, происходящих в распределенной системе ZooSPACE, подробно рассмотрена в статье, которая продолжает описание ZooSPACE, начатое в настоящей работе [10].

Подсистема ZooSPACE-M

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

Заключение

В настоящий момент пилотный проект работы технологической платформы интеграции источников данных состоит из 4-х узлов: ИВТ СО РАН (центральный узел), НГУ, ГПНТБ СО РАН и ТомскНЦ СО РАН. Система объединяет более 60 источников разнородных данных (базы данных, электронные каталоги, информационные хранилища, данные ДДЗ, файловые архивы и т. п.), содержащих более 40 млн записей.

Список литературы

1. Жижимов О. Л., Пестунов И. А., Федотов А. М. Структура сервисов управления метаданными для разнородных информационных систем // Электронные библиотеки: российский научный электронный журнал. Т. 15, № 6.

2. Жижимов О. Л., Амельченко С. А. Информационная система проекта «Электронная Сибирь»: сервисы управления данными // Вестн. ДВО РАН. 2012. № 2. С. 123-128.

3. Жижимов О. Л., Мазов Н. А. Принципы построения распределенных информационных систем на основе протокола Z39.50. Новосибирск, 2004. 361 с.

4. Шокин Ю. И., Федотов А. М., Жижимов О. Л. Технология распределенных информационных систем // Современные информационные технологии для научных исследований: Материалы конф. Магадан, 2008. С. 18-21.

5. Жижимов О. Л., Мазов Н. А. Серверный комплекс ZooPARK - итог 10-летней эксплуатации // Библиотеки и информационные ресурсы в современном мире науки, культуры, образования и бизнеса: Материалы XVI Междунар. конф. М.: ГПНТБ России, 2009.

6. Созыкин А. В., Масич Г. Ф., Масич А. Г., Бездушный А. Н. Вопросы интеграции информационных и сетевых служб. Варианты использования LDAP каталогов // Электронные библиотеки: перспективные методы и технологии, электронные коллекции: Тр. VI Всерос. науч. конф. Пущино, 2004.

7. Федотов А. М., Шокин Ю. И., Жижимов О. Л., Молородов Ю. И. Служба директорий LDAP как единая информационная среда // Открытое и дистанционное образование. 2007. № 4 (28). С. 31-41.

8. Барахнин В. Б., Жижимов О. Л., Степанов Ю. Ю., Федотов А. М. LDAP-каталог организации как ядро корпоративной распределенной информационной системы // Инновационные недра Кузбасса. IT-технологии: Сб. науч. тр. Кемерово, 2008. С. 226-232.

9. Жижимов О. Л., Федотов А. М. Модели управления доступом к распределенным информационным ресурсам // Электронные библиотеки: перспективные методы и технологии, электронные коллекции: Тр. IX Всерос. науч. конф. Переславль-Залесский: Изд-во «Университет города Переславля», 2007. С. 301-304.

10. Жижимов О. Л., Лобыкин А. А., Турчановский И. Ю., Паньшин А. А., Чудинов С. А. Автоматизированная система сбора статистической информации о событиях в распределенной информационной системе // Вестн. Новосиб. гос. ун-та. Серия: Информационные технологии. 2013. Т. 11, вып. 1. С. 42-52.

Материал поступил в редколлегию 26.02.2013

O. L. Zhizhimov, A. M. Fedotov, Yu. I. Shokin TECHNOLOGY PLATFORM FOR THE MASS INTEGRATION OF HETEROGENEOUS DATA

The article describes the technology platform of mass integration of distributed heterogeneous data sources that support the establishment and operation of large-scale information infrastructure based on virtual data integration approaches, methods and technologies GRID. Mass integration platform will allow you to create a global infrastructure of tens and hundreds of heterogeneous databases and is designed to address the strategic challenges of automating various forms of distribution of the management, control, planning at the level of large enterprises, industries, corporations and government institutions. At the core technology platform is a software system, code-named ZooSPACE, developed in ICT SB RAS. ZooSPACE complex built on the basis of several loosely coupled distributed subsystems that provide configuration (ZooSPACE-L), access to resources (ZooSPACE-Z), user and administrative WEB-interface (ZooSPACE-W), statistics gathering (ZooSPACE-S) and monitoring (ZooSPACE-M) of the system. We discuss the architecture and composition of each of the subsystems.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Keywords: distributed information systems, the integration of heterogeneous data management, access to information resources, Z39.50, LDAP, SRW / SRU.

i Надоели баннеры? Вы всегда можете отключить рекламу.