Олег Мухтаров, Роман Харьковский, Сергей Цуприков
Перед любой крупной компанией, деятельность которой связана с большими потоками документов и обработкой данных, неизбежно встают проблемы обеспечения сохранности и секретности информации. Для предотвращения потерь оперативных данных используются системы резервного копирования (Backup), позволяющие быстро восстановить работу информационной системы после аварии. В отличие от резервного копирования корпоративный архив данных предназначен для долговременного хранения больших объемов как хорошо структурированной, так и неструктурированной информации. Построение системы хранения данных и корпоративного архива позволяет организациям:
- экономить рабочее время персонала за счет упрощения и ускорения поиска информации в больших ранее разрозненных архивах;
- упростить процесс архивирования, восстановления и управления хранением взаимосвязанных данных в большой распределенной сети, в том числе и с компьютерами разных типов;
- исключить потери важной информации, обеспечив надежное и гарантированное хранение критически важных данных;
- разграничить права доступа пользователей и обеспечить секретность информации;
- исключить простои в результате достижения высокой степени готовности корпоративных данных;
- снизить расходы на создание и поддержку архивов благодаря комбинации разных типов носителей;
- поддержать рост бизнеса за счет масштабирования при увеличении объемов хранимых данных и возрастании числа источников их появления;
- архивировать информацию из любых баз данных и файловых систем.
Работа крупной компании существенно зависит от решения указанных проблем, для преодоления которых фирма ЛАНИТ (www. lanit.ru) разработала систему “Архивный сервер” - средство для построения единого архива данных компании. Система предназначена для организации эффективной работы с любыми видами корпоративной информации, хранящейся в электронном виде, независимо от структуры и формы ее хранения. Источниками поступления и потребителями этой информации могут быть любые компьютеры и устройства, подключенные к вычислительной сети предприятия.
История создания и назначение системы
Выполнение проекта “Архивный сервер” началось с предложения ГУ ЦБ по Тульской области разработать мультиплатформную систему, обеспечивающую повышенную скорость поиска и надежность хранения данных с использованием магнитооптических накопителей. В настоящее время система функционирует также в ГУ ЦБ по Белгородской и Иркутской областям, планируется ее внедрение в ряде других организаций.
Корпоративный архив данных на основе “Архивного сервера” используется и как хранилище индивидуальных данных, и как коллективный разделяемый ресурс нескольких групп пользователей в областных ГУ, ГРКЦ и РКЦ. Одна из задач проекта - уменьшение объемов оперативных БД расчетной системы путем перевода устаревших данных в архив с возможностью загрузки при необходимости отдельных данных, что позволяет существенно уменьшить время технологических операций с расчетной БД, а также повысить скорость обработки запросов. Другая задача архива - сохранение данных с рабочих станций сотрудников с целью перевода важных данных в помещения с защитой более высокого класса. Внедрение “Архивного сервера” позволило организовать универсальную службу архивирования, решающую задачи автоматизации и централизации процессов хранения и поиска структурированной и неструктурированной информации, хранящейся в таблицах баз данных и файлов, порожденных автоматизированной расчетной системой, другими автоматизированными системами, разнообразными офисными приложениями, файлами сканированных изображений бумажных документов, файлов почтовых систем, хранения различных документов и т. д.
Первая версия программно-аппаратного комплекса была выпущена еще в конце 1996 г.
Сейчас поставляется версия “Архивный сервер” уровня предприятия, планируется выпуск версии для рабочих групп, полностью совместимой по форматам данных, но не обладающей некоторыми возможностями.
Описание системы
Решение задач, возникающих при построении электронного хранилища информации, позволило специалистам ЛАНИТа предложить свой подход к организации корпоративного архива данных, обеспечивающий поддержку следующего набора функций:
- всесторонняя защита физической и информационной сохранности данных, размещенных в корпоративном архиве, включая контроль доступа, аудит действий пользователей, защиту от вторжений по локальной сети и сети Internet, любую степень дублирования хранимой информации;
- четкая классификация всех хранимых данных по различным логическим признакам (времени поступления в архив, имени владельца, прикладному описанию и др.), что существенно ускоряет поиск, исключает потерю информации и облегчает пользование архивом;
- возможность реализации конкретных, специфических для организации стратегий сетевого архивирования, включая диалоговый и пакетный режимы;
- дублирование всех своих узлов для обеспечения надежности работы, повышения производительности и распределения нагрузки. В случае отказа основного сервера обеспечивается автоматическое и прозрачное для пользователей переключение на запасной сервер приложения без необходимости установки кластерного ПО;
- хранение информации на различных типах устройств: жестких магнитных дисках, дисковых массивах, перезаписываемых оптических дисках, дисках с однократной записью (WORM) и магнитных лентах с возможностью автоматического монтирования дисков и лент, хранящихся в библиотеке;
- прозрачное и автоматическое управление распределением данных в иерархии устройств хранения различной цены, скорости и вместимости с любым требуемым уровнем резервирования хранимой информации;
- обеспечение интерфейсными средствами API для интеграции программных средств “Архивного сервера” с внешними программными системами на любых программно-аппаратных платформах заказчика (например, автоматизированными банковскими системами, системами управления делопроизводством, электронной почты, защиты информации и т. д.).
Изначально планировалось создание максимально универсальной системы для оперативной работы с большими архивами разнородных данных с использованием разнообразных устройств первичного и вторичного хранения. Ориентация на Unix-платформы однозначно следовала из необходимости обеспечения надежности в гетерогенной корпоративной среде, состоящей из различных СУБД, операционных и файловых систем.
Одним из основных преимуществ системы является масштабируемость, что подразумевает неограниченное количество подключаемых баз данных, внешних устройств, пользователей. Это достигается благодаря трехзвенной архитектуре: тонкий клиент - сервер приложений - сервер БД (БД используется как хранилище семантического индекса архива). При увеличении объемов данных и/или числа пользователей масштабирование всей системы обеспечивается за счет добавления в онлайновом режиме новых серверов, архивных устройств и физических носителей. Кроме того, такая архитектура позволяет достичь высокой скорости обработки данных. Например, по скорости передача архивных файлов по обычной сети Ethernet 10 Мбит/с по протоколу TCP/IP сравнима с передачей ПО NFS.
Хотелось бы отметить, что даже при наличии множества разнородных носителей поиск информации в больших архивах происходит по семантическому индексу в базе данных на основе карточек-описаний, поэтому его длительность максимально сокращена, ведь нет необходимости последовательно сканировать десятки или сотни жестких дисков, магнитооптических тарелок, лент.
В системе “Архивный сервер” изначально заложена защита физической и информационной сохранности данных, а поддержка любого требуемого уровня резервирования данных (т. е. количества зеркальных копий) позволяет достичь высокой степени их готовности. Администратор при создании архива (финансовой отчетности, пластиковых карт, изображений и др.) сам определяет число копий и тип носителей. При этом ни одна транзакция не завершится до тех пор, пока серверным ПО не будет создано требуемое количество копий нужных файлов в заранее определенных местах.
Архитектура и компоненты системы
Единицами хранения в системе “Архивный сервер” выступают Объекты баз данных и Файлы.
Под Объектами баз данных в данном случае подразумевается любая прикладная или системная информация из БД Informix, Oracle или другой БД, требующая регулярного архивирования. Это могут быть строки таблиц с любыми уровнями отношения, например балансовые данные, авизо, платежные поручения, счета, электронные документы (представленные строками таблиц БД) и т. д.
Архивируемые Файлы - это почтовые файлы электронных платежей (сообщений), входящие/исходящие электронные документы или их графические изображения, различные отчеты и журналы, в том числе так называемые лог-файлы, файлы электронных таблиц, офисных приложений и других прикладных программ.
Пример 1 (с файлами). Предположим, что расчет зарплаты, обслуживание платежей или работа с ценными бумагами реализованы средствами FoxPro (или любой другой файловой СУБД). В данном случае можно организовать отдельные Архивы, назвать их “Зарплата”, “Платежи”, “Ценные бумаги” и сохранять там с некоторой периодичностью файлы DBF и индексные файлы. При этом в любой момент можно получить весь набор файлов из выбранного Архива за указанную дату, или описание файлов, или перечень всех порций файлов по датам их архивирования.
Пример 2 (с таблицами). Если вышеуказанные (или любые другие) приложения реализованы в СУБД Informix или Oracle, точно так же можно организовать Архивы и сохранять в них фрагменты или целые таблицы с нужной периодичностью. Процедура записи/чтения табличных данных в Архив настраивается SQL-выражениями. Конвертирование таблиц БД в файлы “Архивный сервер” производит автоматически. При запросе пользователя на чтение архивных данных за указанную дату произойдет обратное автоматическое конвертирование файлов в таблицы БД.
Ниже рассмотрены основные компоненты предлагаемых ЛАНИТ систем электронных архивов. Как правило, корпоративный архив данных включает автоматизированные рабочие места персонала (клиентская часть), имеющего доступ к архиву на запись/чтение, серверное ПО, набор специализированных серверов и консоль администратора архива.
Клиентская часть
Клиентская часть обеспечивает взаимодействие системы с клиентами с помощью графического интерфейса в диалоговом режиме, утилит командной строки в пакетном режиме или любых существующих или вновь создаваемых пользовательских приложений посредством специализированного интерфейса прикладного программирования (API). Клиентская часть создана на базе клиентской части монитора транзакций Tuxedo/WS и реализована на платформах Windows 3.x, 95, NT, MS-DOS, Unix.
Таким образом, “клиентом” системы могут выступать как пользователи персональных рабочих станций, так и серверы сети. В первом случае запись/чтение данных в/из архива может происходить в диалоговом режиме с использованием графического интерфейса либо эту работу будет выполнять фоновый процесс в пакетном режиме. Например, он будет дважды в день отправлять в архив набор файлов по выбранному критерию (в зависимости от настроек). Возможно применение API и встраивание функций работы с архивом в создаваемое прикладное ПО. Во втором случае, если “клиент” системы - это прикладной или системный процесс на сервере, также возможны варианты: либо взаимодействие с корпоративным архивом данных происходит через запуск утилит командной строки в пакетном режиме с использованием конфигурационных файлов, либо с помощью API реализуется специфическая стратегия архивирования и доступа к данным.
Серверная часть
Серверная часть разработана для Unix-платформ на базе монитора обработки транзакций BEA Tuxedo и баз данных Informix, Oracle (существует серверная реализация для IBM AIX, HP HP-UX, Sun Solaris, готовится версия для WindowsNT, предусмотрен перенос более чем на 25 серверных ОС, включая SNI SINIX, SCO UNIX и т. д.). Физически серверная часть системы может функционировать на одном компьютере, но для обеспечения высокой производительности и надежности архива целесообразно рассредоточение серверов и включение в состав архива избыточных устройств, дублирующих функции каждого из серверов.
Применение монитора транзакций BEA Tuxedo обусловлено требованием многоплатформности и тем, что надежное выполнение операций в многомашинной конфигурации может быть выполнено только в рамках транзакций, которые обеспечат откат всех действий в случае неудачи. Кроме того, управление из единого центра обеспечивает создание управляемой системы в многомашинной конфигурации.
Внедрение
Внедрение технологии “Архивный сервер” включает процессы создания всеобъемлющей архивной технологии (что и куда архивировать, как и сколько хранить), специализированных клиентских мест (если стандартные не годятся), а также период обучения персонала и инсталляции самого комплекса. Первый этап может занять 3 - 6 недель, а второй - всего 2 - 4 дня.
При этом многоплатформный программный интерфейс (API) системы открыт и клиенты могут написать свои приложения для работы с системой. Техническая поддержка каждого является обязательной, с ее условиями можно ознакомиться, обратившись по адресу: http://solutions.lanit.ru/tuxedo/arcserv.htm.
Особенности разработки
При проектировании рассматривалось два подхода к организации хранения электронных документов. Первый состоит в том, что собственно тело документов хранится в файловой системе. Второй предусматривает хранение документов в реляционной или специализированной БД.
Изначально система “Архивный сервер” была создана на базе СУБД Oracle, так как у заказчика системы имелась эта БД. Но по мере преобразования системы из заказной в тиражируемую возникла потребность в поддержке дополнительных аппаратных и программных платформ. Была выбрана СУБД Informix. Такой выбор обусловлен, в частности, тем, что эта СУБД поддерживает механизмы распределенных транзакций и двухфазной фиксации (протокол XA/Open), а также просто интегрируется с продуктами промежуточного уровня (например, монитором транзакций TUXEDO).
В настоящее время ядро системы базируется на следующем ПО:
- монитор обработки транзакций BEA TUXEDO 5.x, 6.x;
- СУБД Informix OnLine Dynamic Server версии 7.14 и выше. Кроме того, используется Informix CLI (Call Level Interface) и препроцессор Informix ESQL /C для преобразования исходного кода на языке Си;
- СУБД ORACLE (Server или Enterprise Edition) 7.x и выше, Pro*C, OCI (ORACLE Call Interface).
На клиентских местах используются тонкие клиенты, которые никак не зависят от типа используемой СУБД и интегрируются со средствами разработки.
Перспективы
ЛАНИТ планирует добавить в “Архивный сервер” новые функции:
- контроль структуры и содержимого информации при ее поступлении в архив на соответствие правилам, заранее заданным администратором;
- полнотекстовый поиск;
- готовые шлюзы для интеграции с программными системами, например MS Exchange, Lotus и др.;
- интеграция с приложениями через интерфейсы прикладного программирования;
- поддержка новых серверных платформ и устройств хранения.
К авторам, сотрудникам компании ЛАНИТ, можно обратиться по телефону: (095) 267-3038.