автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.01, диссертация на тему:Алгоритмы репликации данных в распределенных системах обработки информации

кандидата технических наук
Белоусов, Всеволод Евгеньевич
город
Пенза
год
2005
специальность ВАК РФ
05.13.01
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Алгоритмы репликации данных в распределенных системах обработки информации»

Автореферат диссертации по теме "Алгоритмы репликации данных в распределенных системах обработки информации"

На правах рукописи

БЕЛОУСОВ Всеволод Евгеньевич

АЛГОРИТМЫ РЕПЛИКАЦИИ ДАННЫХ В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ ОБРАБОТКИ ИНФОРМАЦИИ

Специальность 05.13.01 - Системный анализ, управление и обработка информации

Автореферат диссертации на соискание ученой степени кандидата технических наук

ПЕНЗА 2005

Работа выполнена на кафедре «Информационно-вычислительные системы» Пензенского государственного университета.

Научный руководитель - доктор технических наук, профессор

Шахов Э. К.

Официальные оппоненты: доктор технических наук, профессор

Макарычев П. П.;

кандидат технических наук, доцент Гурьянов Л. В.

Ведущее предприятие - ОАО ННПП "Рубин", г. Пенза.

Защита диссертации состоится « »_2005 г., в «_» часов,

на заседании диссертационного совета Д 212.186.04 в Пензенском государственном университете по адресу: 440026, г. Пенза, ул. Красная, 40.

С диссертацией можно ознакомиться в библиотеке Пензенского государственного университета.

Автореферат разослан «___»_2005 г.

Ученый секретарь диссертационного совета доктор технических наук,

профессор Смогунов В. В.

1006-ч 14616

21740?6

Общая характеристика работы

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

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

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

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

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

- Классификация распределенных систем по отношению к использованию постоянных хранилищ информации.

- Систематизация подходов к выполнению репликации данных.

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

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

- Разработка и исследование модели подсистемы управления потоками клиентских заявок в условиях множественной параллельной работы клиентских модулей системы.

Методы исследования.

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

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

Научная новизна работы состоит в следующем.

1. Систематизированы методы выполнения репликации данных между массивами хранения информации в распределенных системах.

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

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

возможность отслеживания результатов тиражирования информации в рамках системы.

4. Разработан алгоритм определения подмножества информационных объектов, подлежащих тиражированию в рамках одного сеанса репликации.

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

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

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

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

Реализация и внедрение результатов. Результаты проведенного исследования использованы в ходе разработки распределенного механизма репликации справочных данных, который был успешно внедрен в промышленную эксплуатацию в рамках подсистемы «Платежи населения» АС «София-ВМС» в Пензенском ОСБ № 8624 СБ РФ. Результаты внедрения и эксплуатации подтвердили эффективность разработанных в ходе исследования подходов и методов и позволили

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

Результаты внедрения подтверждены соответствующим документом.

На защиту выносятся следующие положения:

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

2. Метод организации хранения информации, необходимой для оперативного и точного отбора данных, подлежащих репликации;

3. Метод построения инфраструктуры прикладного уровня распределенной системы в виде системы массового обслуживания;

4. Алгоритм порционной выборки больших наборов записей из базы данных;

5. Алгоритм реализации информационного обмена с учетом использования современных средств организации распределенного хранения и обработки данных.

Апробация работы. Основные результаты диссертационной работы докладывались и обсуждались на научно-технических конференциях профессорско-преподавательского состава Пензенского государственного университета (2000-2004), международных научно-технических конференциях «Университетское образование» (Пенза, 1999-2000), «Проблемы автоматизации и управления в технических системах» (Пенза, 2004).

Публикации. По теме диссертации опубликовано 9 печатных работ.

Структура и объем работы. Диссертационная работа состоит из введения, четырех глав, заключения, списка используемой литературы, включающего в себя 100 наименований, и двух приложений. Основной текст изложен на 164 страницах, содержит 5 таблиц и 48 рисунков, 2 приложения.

Содержание работы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

П /14

где N - общее число объектов в справочнике; п - число объектов, модифицированных с момента последнего обновления данных; V -интенсивность модификации объектов справочника; / - время, прошедшее с момента последнего обновления данных.

Как видно из соотношения (1), в момент завершения процедуры синхронизации (/ = 0) вероятность р = 0, что свидетельствует об абсолютной актуальности данных. Поскольку величина р линейно зависит от времени, для обеспечения высокой степени актуализации данных требуется обеспечить выполнение сеансов репликации с периодичностью, позволяющей предотвратить рост величины р выше определенного критического уровня.

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

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

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

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

Исходя из обозначенных требований к механизму репликации сформулировано описание наиболее эффективной в контексте поставленной задачи стратегии репликации.

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

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

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

Для обеспечения возможности выполнения репликации по текущему состоянию необходимо организовать в серверной базе данных хранение дополнительной информации, позволяющей однозначно определять рамки подмножества данных, подлежащих репликации в текущем сеансе. Для решения этой задачи предлагается метод расширения структуры базы данных, который заключается в добавлении двух таблиц, позволяющих хранить информацию о дате и времени модификации каждого объекта, а также о дате и времени последней загрузки каждого объекта на конкретное рабочее место (рис. 1). Представленная на рис. 1 таблица МатЕп1:11уЬа81Мо<Н{у находится с главной таблицей справочника - МатЕ1гё1у - в отношении типа «один-к-одному». Подобный способ расширения структуры базы данных, исключающий модификацию существовавших ранее объектов, обеспечивает сохранение работоспособности приложений, ориентированных на работу с исходной структурой данных.

РК ЗхеШ

/\ttrtbute1

АМЬЫег

/\ttributeN

РК.РК1

8УЯ1Р

СЭДеМос! ПтеМос)

^ « >4-

PK.FI« 5У11Р

РК С1)еп1Ш

ОМеирсДОе

Т1теир<1а1е

Рис. 1

В процессе определения рамок подмножества объектов, подлежащих репликации в текущем сеансе, производится, в первую оче-

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

R = стС/г'ел//£>=идент.раб.места (ClientLastUpdate). (2)

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

S = MainEntityLastModijy о R. (3)

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

1) в отношении MainEntityLastModijy содержится информация для всех объектов справочника без исключения;

2) в отношении ClientLastUpdate содержится информация о репликации каждого объекта на данное рабочее место.

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

1) иметь структуру, идентичную структуре отношения S;

2) включать информацию, относящуюся ко всем без исключения объектам справочника, - объекты, для которых отсутствуют записи в MainEntityLastModijy и ClientLastUpdate, будут содержать пустые значения (NULL) в соответствующих атрибутах отношения.

Чтобы сформировать отношение, удовлетворяющее этим условиям, необходимо внести в схему формирования отношения S следующие изменения. Во-первых, в выражении (3) операцию простого соединения необходимо заменить операцией левостороннего внешнего соединения:

5, = MainEntityLastModijy » R. (4)

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

MainEntity. Множество идентификаторов определяется следующим образом:

1 = n{sysiD} {MainEntity), (5)

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

S2=L» MainEntityLastModify » R . (6)

Введем бинарный оператор 9, реализующий сравнение составных параметров дата-время:

истина, момент (datel, timeY)

позже (date!, time!)

(date\, time\)Q(date2, time!) =

(7)

ложь, момент (date\,time\)

не позже {date!,time!)

Введем унарный оператор \{date, time):

(истина, момент {date, time) не определен,

(8)

ложь, момент (date, time) определен.

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

(S2). (9)

ИЛИ XDateModJimeMod) ИЛИ \(DateUpdate,TimeUpdate)

Выражение (9) определяет алгоритм формирования выборки подмножества данных, подлежащих тиражированию в сеансе репликации.

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

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

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

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

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

I

х 8.

с 8 я

3

а

п х

а

Рис. 2

Показано, что при равновероятном распределении таблиц между транзакциями вероятность бесконфликтного распределения

(Ш)

* ' и пГ (">-»)! (я-")!

где к - число транзакций на чтение; п - число транзакций на запись; т - число таблиц в базе данных.

Если распределение таблиц между транзакциями не является равновероятным и известны вероятности {р[\х и , где р\соответствует вероятности того, что вновь стартовавшая транзакция на чтение обратится к /-й таблице, а р™ - вероятности того, что вновь

стартовавшая транзакция на запись обратится к /-й таблице, то вероятность бесконфликтного распределения определяется по следующей формуле:

/

т-т-1 т-гн-2 т-пьЗ т

I р7 £ $ I р?.... I Д

/=1 7=1+1 /=у'+1 «=Г+1

• (11)

V*/,

V*,

При п > т вероятность бесконфликтного распределения Р(к, п, т) = 0.

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

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

предлагается метод двухфакторной декомпозиции множества прикладных компонентов системы.

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

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

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

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

Полису

База данных

Рис. 3

Время пребывания заявки в подобной системе складывается из времени диспетчеризации и времени обслуживания серверным приложением:

Т = Т,+Т0. (12)

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

(13)

Среднее время ожидания в очереди пропорционально среднему числу заявок, находящихся в очереди в момент поступления новой заявки:

04)

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

_ 1 --

соотношение (13) можно переписать в виде

- _ _ 7.+1

Применение аналогичных рассуждений к описанию работы каждого серверного приложения позволяет переписать равенство (12) в виде:

(15)

(16)

/-0

л

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

Экспериментальное исследование модели системы управления потоками заявок подобного вида производилось в системе имитационного моделирования GPSS World Student Version 4.3.5. Задача эксперимента заключалась в том, чтобы путем имитации рабочего процесса в СМО определить значения характеристики эффективности и устойчивости работы СМО в стационарном режиме при различных значениях конфигурационных параметров.

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

Реализация эффективного механизма репликации данных выполнена в рамках подсистемы «Платежи населения» АС «София-ВМС» и внедрена в эксплуатацию в Пензенском ОСБ № 8624 СБ РФ, что подтверждается соответствующим документом. В подсистеме «Платежи населения» ведется справочник получателей, который хранится в центральной базе данных системы. Ведение справочника осуществляется через модуль «АРМ бухгалтера», функционирующий в онлайновом режиме. Модуль «АРМ контролера», функционирующий в филиалах отделения, работает в полуавтономном режиме. Рост объема информации, хранимой в справочнике получателей, привел к тому, что частое обновление справочника в филиалах путем полной перезагрузки стало невозможно, поскольку эта процедура отнимала слишком много времени. Внедрение программного механизма репликации, разработанного в соответствии с полученными в настоящей работе методами, позволило существенным образом сократить временные затраты на осуществление тиражирования информации. При использовании метода полной перезагрузки данных процедура обновления занимала до 1 часа, в то время как синхронизация при использовании усовершенствованного механизма репликации занимает не более S минут. Это позволяет выполнять обновление данных с любой периодичностью, обеспечивая необходимый уровень актуализации данных.

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

Были протестированы следующие системы хранения данных: СУБД Paradox (взаимодействие через механизм BDE), СУБД Firebird 1.5 Super Server (взаимодействие через собственный API СУБД посредством компонентов для систем Borland С++ Builder / Borland Delphi), СУБД Microsoft Access XP (взаимодействие через интерфейс ADO.NET), СУБД Microsoft SQL Server 2000 Desktop Edition (взаимодействие через интерфейс ADO.NET).

Также были исследованы характеристики производительности следующих распределенных компонентных технологий DCOM и СОМ+.

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

Результаты измерений, выполненных на компьютере Intel Celeron 2.6 MHz 256 MB RAM, приведены в табл. 1.

Таблица 1

СУБД Среднее значение, мс Среднеквадратическое отклонение, мс

Paradox 31 17.36

Firebird 1.5 (ad hoc queries) 305 73.41

Firebird 1.5 (stored procedures) 203 40.38

Access 318 23.90

MS SQL Server 2000 (ad hoc queries) 113 63.21

MS SQL Server 2000 (stored procedures) 104 61.80

Результаты эксперимента свидетельствуют, что из перечисленных систем наибольшим быстродействием обладает Paradox 7.0 - система, принадлежащая, по сложившемуся мнению, к устаревшему поколению СУБД. Тем не менее, в условиях работы с локальными данными Paradox обеспечивает наивысшую производительность.

Результаты исследования, представленные в табл. 2, показывают, что технология DCOM, будучи менее отягощена различными средствами администрирования, по производительности выигрывает по сравнению с технологией СОМ+ при выполнении аналогичных операций примерно в 1,3 раза. В то же время, результаты эксперимента свидетельствуют, что компоненты СОМ+, использующие средства платформы Microsoft.NET Framework, по производительности выигрывают по сравнению с аналогичными компонентами Win32.

Таблица 2

Тип сервера Среднее значение, мс Среднеквадратическое отклонение, мс

DCOM 937 27.02

СОМ+ (С++) 1437 52.92

СОМ+ (С#) 1234 55.74

Результаты произведенных экспериментов были учтены при выборе технических средств реализации механизма репликации.

Общая архитектура механизма репликации данных реализована в виде многокомпонентного распределенного приложения, использующего в процессе функционирования средства технологий СОМ, СОМ+ и ADO.NET. В качестве информационного ядра системы использована база данных под управлением Microsoft SQL Server 2000 Enterprise Edition. Для организации взаимодействия клиентских приложений с серверной частью путем обмена сообщениями были использованы средства системы Microsoft Message Queuing.

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

В заключении приводятся основные результаты и выводы.

В приложении А представлено описание модели системы управления потоками заявок на языке вРБв.

В приложении Б представлен акт о внедрении разработанного механизма репликации данных.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

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

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

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

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

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

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

6. Результаты проведенного исследования использованы при решении практической задачи реализации автоматизированного информационного обмена в рамках распределенной системы автоматизации банковских работ. Разработанный комплекс программных компонентов внедрен в промышленную эксплуатацию в Пензенском ОСБ № 8624 СБ РФ. Результаты внедрения разработанного механизма репликации справочных данных позволили в значительной мере повысить скорость и надежность информационного обмена в рамках распределенной системы, что подтверждает эффективность разработанных в ходе исследования подходов и методов.

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

Основные публикации по теме диссертация

1. Белоусов В. Е. Автоматизация процесса репликации между базами данных, имеющими сходную логическую структуру // Системный анализ, управление и обработка информации: Науч.-техн. сб. статей: 2005 год, вып. № 1. - Пенза: ИИЦ ПТУ, 2005. - С. 31-35.

2. Белоусов В. Е. Организация репликации справочных данных в распределенных системах обработки информации // Проблемы автоматизации и управления в технических системах: Тр. Междунар. на-уч.-техн. конф. / Под ред. д. т. н., профессора М. А. Щербакова. -Пенза: ИИЦ ПТУ, 2004. - С. 195-198.

3. Белоусов В. Е. Основные принципы разработки библиотеки манипулирования данными / В. Е. Белоусов, С. В. Винничек // Университетское образование: Материалы IV Междунар. науч.-метод. конф. -Пенза: ИИЦ ПГУ, 2000. - С. 17-19.

4. Белоусов В. Е. Особенности построения системы массового обслуживания в рамках среднего уровня распределенной системы обработки информации // Системный анализ, управление и обработка информации: Науч.-техн. сб. статей: - Пенза: ИИЦ ПГУ. - Вып. № 1. -2005.-С. 23-31.

5. Белоусов В. Е. Применение СОМ-объектов для взаимодействия приложений с базами данных // Вооружение, безопасность, конверсия: Материалы конференции 17-19 октября 2003 г. Ч. П. - Пенза: Изд-во Пенз. гос. ун-та, 2004. - С. 175-179.

6. Белоусов В. Е. Применение методов объектно-ориентированного проектирования при разработке прикладных сервисов репликации данных // Системный анализ, управление и обработка информации: Науч.-техн. сб. статей. - Пенза, ПГУ, 2005. - С. 16-22.

7. Белоусов В. Е. Результаты сравнительного анализа производительности настольных систем хранения данных // Системный анализ, управление и обработка информации: Науч.-техн. сб. статей. - Пенза, ИИЦ ПГУ, 2005.-С. 7-16.

8. Белоусов В. Е. Система обработки метеорологических данных / В. Е. Белоусов, В. В. Белоусова И Университетское образование. Материалы III Междунар. науч.-метод. конф. - Пенза: ИИЦ ПГУ, 1999.-С. 23-25.

9. Белоусов В. Е. Частное решение задачи репликации данных в распределенных системах обработки информации // Вооружение, безопасность, конверсия: Материалы конференции 17-19 октября 2003 г. Ч. II. - Пенза, Изд-во Пенз. гос. ун-та, 2004. - С. 180-187.

Белоусов Всеволод Евгеньевич

Алгоритмы репликации данных в распределенных системах обработки информации

Специальность 05.13.01 - Системный анализ, управление и обработка информации

Редактор Т. В. Веденеева Технический редактор Н. А. Вьялкова Корректор Ж. А. Лубенцова Компьютерная верстка Р. Б, Бердниковой

ИД №06494 от 26.12.01 Сдано в производство 12.05.05. Формат 60х84'/16. Бумага писчая. Печать офсетная. Усл. печ. л. 1,39. Заказ 324. Тираж 100.

Издательство Пензенского государственного университета. 440026, Пенза, Красная, 40.

л

f*

ти i

> *

»1272 е

РНБ Русский фонд

2006-4 14616

Оглавление автор диссертации — кандидата технических наук Белоусов, Всеволод Евгеньевич

Введение.

Глава 1. Проблема организации надежного механизма синхронизации данных в распределенных системах обработки информации.

1.1 Обзор развития современных технологий создания распределенных вычислительных систем.

1.2 Особенности построения и развертывания многоуровневых систем.

1.3 Классификация распределенных вычислительных систем.

1.4 Обоснование необходимости выполнения репликации данных в распределенных системах.:.

1.5 Анализ современных программных средств и методов, применяемых для репликации данных в распределенных системах.

1.6 Задача репликации данных в контексте обеспечения работоспособности полуавтономного модуля распределенной системы.

Глава 2. Разработка архитектуры усовершенствованного механизма репликации данных.

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

2.2 Обоснование выбора методики проектирования программной архитектуры.

2.3 Разработка программной модели усовершенствованного механизма репликации.

2.4 Особенности проектирования модели данных.

Глава 3. Оптимизация параллельного доступа к ресурсам системы в условиях массового обслуживания клиентских приложений.

3.1 Разработка инфраструктуры управления потоками заявок.

3.2 Построение математической модели, описывающей работу подсистемы управления потоками заявок.

3.3 Исследование влияния параметров конфигурации на характер работы системы.

Глава 4. Применение результатов исследования в решении практической задачи.

4.1 Описание задачи.

4.2 Исследование эффективности систем хранения данных и распределенных программных технологий.

4.3 Техническая реализация механизма репликации данных.

4.4 Анализ результатов внедрения.

Введение 2005 год, диссертация по информатике, вычислительной технике и управлению, Белоусов, Всеволод Евгеньевич

Актуальность исследования.

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

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

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

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

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

Цели и задачи исследования.

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

- Классификация распределенных систем по отношению к использованию постоянных хранилищ информации.

- Систематизация подходов к выполнению репликации данных.

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

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

- Разработка и исследование модели подсистемы управления потоками клиентских заявок в условиях множественной параллельной работы клиентских модулей системы.

Объект исследования.

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

Предмет исследования.

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

Методологическая и теоретическая основа исследования.

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

Информационная база исследования.

В числе информационных источников использованы данные из научных книг, статей, научно-технических публикаций в сети Интернет, а также результаты собственных расчетов и проведенных экспериментов.

Научная новизна исследования.

1. Систематизированы методы выполнения репликации данных между массивами хранения информации в распределенных системах.

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

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

4. Разработан алгоритм определения подмножества информационных объектов, подлежащих тиражированию в рамках одного сеанса репликации.

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

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

Практическая значимость работы.

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

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

Апробация работы.

Основные результаты диссертационной работы докладывались и обсуждались на научно-технических конференциях профессорско-преподавательского состава Пензенского государственного университета (2000 - 2004), Международных научно-технических конференциях «Университетское образование» (Пенза, 1999 - 2000), «Проблемы автоматизации и управления в технических системах» (Пенза, 2004).

По теме диссертации опубликовано 10 печатных работ.

Реализация и внедрение.

Результаты проведенного исследования использованы в ходе разработки распределенного механизма репликации справочных данных, который был успешно внедрен в промышленную эксплуатацию в рамках подсистемы «Платежи населения» АС «София-ВМС» в Пензенском ОСБ №8624 СБ РФ. Результаты внедрения и эксплуатации подтвердили эффективность разработанных в ходе исследования подходов и методов и позволили констатировать, что разработанное программное обеспечение обладает высокой надежностью и отказоустойчивостью.

Результаты внедрения подтверждены соответствующим документом.

На защиту выносятся следующие положения.

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

2. Метод организации хранения информации, необходимой для оперативного и точного отбора данных, подлежащих репликации;

3. Метод построения инфраструктуры прикладного уровня распределенной системы в виде системы массового обслуживания;

4. Алгоритм порционной выборки больших наборов записей из базы данных;

5. Алгоритм реализации информационного обмена с учетом использования современных средств организации распределенного хранения и об/ работки данных.

Объем и структура работы.

Диссертационная работа состоит из введения, четырех глав, заключения, списка используемой литературы, включающего в себя 100 наименований, и двух приложений. Основной текст изложен на 164 страницах, содержит 5 таблиц и 48 рисунков, 2 приложения.

Заключение диссертация на тему "Алгоритмы репликации данных в распределенных системах обработки информации"

ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ

1. Получены экспериментальные результаты сравнительного анализа быстродействия ряда СУБД, используемых для организации настольного хранения данных, свидетельствующие, что система Paradox 7.0, относящаяся, по современным понятиям, к числу наиболее примитивных систем хранения данных, обладает максимальным быстродействием среди рассмотренных СУБД.

2. Получены экспериментальные результаты сравнительного анализа быстродействия ряда распределенных компонентных технологий, свидетельствующие, в частности, что наибольшим быстродействием и устойчивостью работы обладают компоненты DCOM. Кроме того, эксперименты подтверждают, что компоненты СОМ+, функционирующие на базе платформы .NET Framework, обладают более высоким быстродействием по сравнению с аналогичными компонентами, функционирующими на базе Win32.

3. Предложен эффективный подход интеграции модулей, выполненных в различных системах программирования, на основе использования стандартных средств технологии СОМ.

4. Разработаны алгоритмы реализации процесса передачи информации, позволившие повысить надежность распределенного хранения и обработки данных за счет:

- использования распределенных транзакций;

- разделения во времени этапов выборки и передачи информации.

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

- повышение быстродействия;

- снижение трафика;

- минимизация вероятности коллизий при параллельном доступе к ресурсам системы;

- повышение степени актуализации данных на узлах-потребителях репликации.

167

Заключение

Результаты выполненной работы позволяют сделать следующие выводы.

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

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

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

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

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

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

7. Результаты проведенного исследования использованы при решении практической задачи реализации автоматизированного информационного обмена в рамках распределенной системы автоматизации банковских работ. Разработанный комплекс программных компонентов внедрен в промышленную эксплуатацию в Пензенском ОСБ № 8624 СБ РФ. Акт, подтверждающий внедрение, приведен в приложении Б. Результаты внедрения разработанного механизма репликации справочных данных позволили в значительной мере повысить скорость и надежность информационного обмена в рамках распределенной системы, что подтверждает эффективность разработанных в ходе исследования подходов и методов.

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

Библиография Белоусов, Всеволод Евгеньевич, диссертация по теме Системный анализ, управление и обработка информации (по отраслям)

1. Авен О.И. и др. Оценка качества и оптимизация вычислительных систем / О.И. Авен, Н.Н.Гурин, Я.А.Коган. М.: Наука, 1982. - 464 с.

2. Акивис М.А., Гольдберг В.В. Тензорное исчисление. — М.: Наука, 1972.-352 е., ил.

3. Александров В.В. и др. Автоматизированная обработка информации на языке предикатов / В.В.Александров, Г.А.Булкин, А.О.Поляков. -М.: Наука, 1982. 103 е., ил.

4. Бакаев А.А. и др. Методы организации и обработки баз знаний / А.А.Бакаев, В.И.Гриценко, Д.Н.Козлов. Киев, Наукова думка, 1993. - 150 е., ил.

5. Балыбердин В.А. Оценка и оптимизация характеристик систем обработки данных. М.: Радио и связь, 1987. - 176 е., ил.

6. Барский А.Б. Параллельные процессы в вычислительных системах: планирование и организация. М.: Радио и связь, 1990. - 255 е., ил.

7. Башарин Г.П. и др. Анализ очередей в вычислительных сетях: теория и методы расчета / Г.П.Башарин, П.П.Бочаров, Я.Н.Коган. М.: Наука, 1989.-336 с.

8. Белоусов В.Е. Автоматизация процесса репликации между базами данных, имеющими сходную логическую структуру. // Системный анализ, управление и обработка информации: науч.-тех. сборник статей: 2005 год, вып. № 1. Пенза, ПТУ, 2005. - с. 31-35.

9. Белоусов В.Е. Применение СОМ-объектов для взаимодействия приложений с базами данных. // Вооружение, безопасность, конверсия: Материалы конференции 17-19 октября 2003 г. Ч. II. -Пенза, Изд-во ПГУ, 2004. с. 175-179.

10. Белоусов В.Е. Применение методов объектно-ориентированного проектирования при разработке прикладных сервисов репликации данных. // Системный анализ, управление и обработка информации: науч.-тех. сборник статей: 2004 год. Пенза, ПГУ, 2005. - с. 16-22.

11. Белоусов В.Е. Результаты сравнительного анализа производительности настольных систем хранения данных. // Системный анализ, управление и обработка информации: науч.-тех. сборник статей: 2004 год. Пенза, ПГУ, 2005. - с. 7-16.

12. Белоусов В.Е. Частное решение задачи репликации данных в распределенных системах обработки информации. // Вооружение, безопасность, конверсия: Материалы конференции 17-19 октября 2003 г. Ч. II. Пенза, Изд-во ПГУ, 2004. - с. 180-187.

13. Белоусов В.Е., Белоусова В.В. Система обработки метеорологических данных. // Университетское образование. Материалы III международной научно-методической конференции. Пенза, Изд-во ПГУ, 1999. - с.23-25.

14. Белоусов В.Е., Винничек С.В. Основные принципы разработки библиотеки манипулирования данными. // Университетское образование. Материалы IV международной научно-методической конференции. Пенза, Изд-во ПГУ, 2000. - с. 17-19.

15. Богуславский Jl.Б. Управление потоками данных в сетях ЭВМ. М.: Энергоатомиздат, 1984. - 168 е., ил.

16. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. — М.: Финансы и статистика, 1989. 350 е., ил.

17. Бойко В.В., Савинков В.М. Проектирование информационной базы автоматизированных систем на основе СУБД. М.: Финансы и статистика, 1982. - 174 е., ил.

18. Брандт Д.Р. Architectures. Экзамен экстерном (экзамен 70-100). — СПб.: Питер, 2001. - 432 е.: ил.

19. Буч Г. Объектно-ориентированное проектирование с примерами применения: Пер. с англ. М.: Конкорд, 1992. 288 е., ил.

20. Быков А. Выбор технологии репликации данных Электронный ресурс. / itc.ua Электрон, дан. - , 2004. - Режим доступа: http://itc.ua/article.phtml7ID-16619, свободный. - Загл. с экрана. - яз. рус.

21. Бьелетич ILL, Мэйбл Г. и др. Microsoft SQL Server 2000. Энциклопедия пользователя: Пер. с англ./Шарон Бьелетич, Грег Мэйбл и др. К.: ДиаСофт, 2001.-688 с.

22. Васильев В.В., Кузьмук В.В. Сети Петри. Параллельные алгоритмы и модели многопроцессорных систем. Киев: Наукова думка, 1990. -212 е., ил.

23. Вейценбаум Дж. Возможности вычислительных машин и человеческий разум: от суждений к вычислениям / Пер. с англ. М.: Радио и связь, 1982. - 368 с.

24. Вирт Н. Алгоритмы и структуры данных / Пер. с англ. М.: Мир, 1989.-360 е., ил.

25. Гаврилова Т.А. Базы знаний интеллектуальных систем. СПб.: Питер, 2001.-384 е., ил.

26. Гилула М.М. Множественная модель данных в информационных системах. М.: Наука, 1992. - 207 с.

27. Глас Р. Руководство по надежному программированию / Пер. с англ. -М.: Финансы и статистика, 1982. 256 с.

28. Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. М.: Наука, 1966. - 432 е., ил.

29. Гольц Г. Рабочие станции и информационные сети / Пер. с англ. М.: Машиностроение, 1990. -239 е., ил.

30. Гома X. UML. Проектирование систем реального времени, параллельных систем и распределенных приложений: Пер. с англ. -М.: ДМК Пресс, 2002. 704 е.: ил.

31. Гудман С., Хидетниеми С. Введение в разработку и анализ алгоритмов / Пер. с англ. -М.: Мир, 1981.-366 е., ил.

32. Джексон Г. Проектирование реляционных баз данных для использования с микро ЭВМ / Пер. с англ. М.: Мир, 1991. - 252 с.

33. Евдокимов А. Проблемы репликации распределенных баз данных Электронный ресурс. / chat.ru — Электрон, дан. , 2004. - Режим доступа: http://replication.chat.ru, свободный. - Загл. с экрана. - яз. рус.

34. Жожикашвили В.А., Вишневский В.М. Сети массового обслуживания. Теория и применение к сетям ЭВМ. М.: Радио и связь, 1988. - 191 е., ил.

35. Ивченко Г.И. и др. Сборник задач по математической статистике: Учеб. Пособие для втузов/Г.И. Ивченко, Ю.И. Медведев, А.В. Чистяков-М.: Высшая школа, 1989. -255 е., ил.

36. Ивченко Г.И. и др. Теория массового обслуживания: Учеб. пособие для вузов/ Г.И.Ивченко, В.А.Каштанов, И.Н.Коваленко. М.: Высшая школа, 1982. - 256 е., ил.

37. Карповский Е.Я., Чижов С.А. Надежность программной продукции. -Киев: Тэхника, 1990. 158 е., ил.

38. Кинг Д. Создание эффективного программного обеспечения / Пер. с англ. М.: Мир, 1991.-287 с.

39. Клейнрок J1. Вычислительные системы с очередями. М.: Мир, 1979. - 600 е., ил.

40. Клейнрок J1. Теория массового обслуживания. Пер. с англ./Пер. И.И. Грушко; ред. В.И. Нейман. М.: Машиностроение, 1979. - 432 е., ил.

41. Климов Г.П. Стохастические системы обслуживания. — М: Наука, 1966.-244 е., ил.

42. Клир Дж. Системология. Автоматизация решения системных задач / Пер. с англ. М.: Радио и связь, 1990. - 538 е., ил.

43. Кнут Д. Искусство программирования. Том 1. Основные алгоритмы, 3-е изд.: Пер. с англ.: Уч. пос. М.: Издательский дом "Вильяме", 2000. -720 е.: ил.

44. Кнут Д. Искусство программирования. Том 2. Основные алгоритмы, 3-е изд.: Пер. с англ.: Уч. пос. М.: Издательский дом "Вильяме", 2000. -832 е.: ил.

45. Кнут Д. Искусство программирования. Том 2. Основные алгоритмы, 3-е изд.: Пер. с англ.: Уч. пос. М.: Издательский дом "Вильяме", 2000. -832 е.: ил.

46. Козлик Г.А. и др. Оптимизация обработки информации в системах управления / Г.А.Козлик, Ю.В.Бондарь, И.А.Кириллов. Киев, Тэхника, 1989.- 158 с.

47. Корн Г., Корн Т. Справочник по математике (для научных работников и инженеров). — М.: Наука, 1973. 832 е., ил.

48. Краус М. и др. Сбор данных в управляющих вычислительных системах / М.Краус, Э.Кучбах, О.-Г. Вошнис; Пер. с нем. М.: Мир, 1987.-296 е., ил.

49. Линьков В.М. Нумерационные методы в проектировании систем управления данными. Пенза, Изд-во ПГТУ, 1994. - 155 с.

50. Липаев В.В. Надежность программного обеспечения АСУ. — М.: Энергоиздат, 1981.- 240 е., ил.

51. Ложе И. Информационные системы: методы и средства / Пер. с фр. -М.: Мир, 1979. 632 е., ил.

52. Макарь О. Многофилиальный банк и смарт-репликация данных Электронный ресурс. / bizcom.ru Электрон, дан. - , 2004. - Режим доступа: http://www.bizcom.ru/technologies/2001 -03/07.html, свободный - Загл. с экрана. - яз. рус.

53. Маклин С., Нафтел Дж., Уильяме К. Microsoft .NET Remoting/Пер. с англ. М.: Русская редакция, 2003. - 384 е.: ил.

54. Мартяшин А.И. и др. Преобразователи электрических параметров для систем контроля и измерения/А.И. Мартяшин, Э.К. Шахов, В.М. Шляндин. М.: Энергия, 1976. - 392 е., ил.

55. Мейер Д. Теория реляционных баз данных: Пер. с англ. М.: Мир, 1987.-608 е., ил.

56. Мендельсон Э. Введение в математическую логику / Пер. с англ. — М.: Наука, 1984.-312 е., ил.

57. Муса Дж. Д. Измерение и обеспечение надежности программных средств. ТТИЭР, т. 68, №9, сентябрь 1980. - с. 113 - 154.

58. Мушик Э., Мюллер П. Методы принятия технических решений: Пер. с нем. М.: Мир, 1990.-208 е., ил.

59. Нагао М. и др. Структуры и базы данных / М.Нагао, Т.Катаяма, С.Уэемура; Пер. с яп. М.: Мир, 1986. - 198 е., ил.

60. Новиков О.А., Петухов С.И. Прикладные вопросы теории массового обслуживания. — М.: Советское радио, 1969. — 400 е., ил.

61. Оберг Р.Дж. Технология СОМ+. Основы и программирование. : Пер. с англ. : Уч. пос. М.: Вильяме, 2000. - 480 е.: ил.

62. Овчаров Л.А. Прикладные задачи теории массового обслуживания. -М.: Машиностроение, 1969. 324 е., ил.

63. Озкарахан Э. Машины баз данных и управление базами данных / Пер. с англ. М.: Мир, 1989. - 695 е., ил.

64. Полонников Р.И., Никандров А.В. Методы оценки показателей надежности программного обеспечения. СПб.: Политехника, 1992. — 77 с.

65. Поспелов Д.А. Моделирование рассуждений: опыт анализа мыслительных актов. — М.: Радио и связь, 1989. — 182 е., ил.

66. Программное обеспечение неоднородных распределенных систем: анализ и реализация / Г.П.Васильев, В.Е.Горский, В.И.Шяукулис, Н.М. Саух. М.: Финансы и статистика, 1986. - 158 е., ил.

67. Проектирование интегрированных баз данных / А.Л.Стогний, В.Э.Вольфенгаген, В.А.Кушнир и др. Киев, Тэхника, 1987. - 143 с.

68. Райзберг Б.А. Диссертация и ученая степень. Пособие для соискателей. М.: ИНФРА-М, 2002. - 400 с.

69. Реклейтис Г. и др. Оптимизация в технике: В 2-х кн. Кн. 1. Пер. с англ. / Г.Реклейтис, А.Рейвиндран, К.Рэгсдел М.: Мир, 1986. - 352 е., ил.

70. Реклейтис Г. и др. Оптимизация в технике: В 2-х кн. Кн. 2. Пер. с англ. / Г.Реклейтис, А.Рейвиндран, К.Рэгсдел М.: Мир, 1986. - 320 е., ил.

71. Рихтер Дж. Программирование на платформе Microsoft .NET Framework /Пер. с англ. М.: Русская редакция, 2002. - 512 е.: ил.

72. Рубашкин В.Ш. Представление и анализ смысла в информационных системах. -М.: Наука, 1989. 189 е., ил.

73. Саати Т., Керис К. Аналитическое планирование. Организация систем: Пер. с англ. М.: Радио и связь, 1991. - 224 е., ил.

74. Савельев Л.Я. Комбинаторика и вероятность. Новосибирск: Наука, 1975.-424 е., ил.

75. Санблэд С., Санблед П. Разработка масштабируемых приложений для Microsoft Windows. Мастер-класс. (Пер. с англ.) М.: Русская редакция, 2002. -416с.: ил.

76. Сборник задач по теории вероятностей, математической статистике и теории случайных функций. Под ред. Свешникова А.А. — М.: Наука, 1970.-656 е., ил.

77. Страуструп Б. Язык программирования С++, 3-е изд./Пер. с англ. -СПб.; М.: Невский диалект БИНОМ, 1999. - 991 е., ил.

78. Трауб Дж., Вожьняковский X. Общая теория оптимальных алгоритмов / Пер. с англ. М.: Мир, 1983. - 382 с.

79. Уилсон С.Ф., Мэйплс Б., Лэндгрейв Т. Принципы проектирования и разработки программного обеспечения. Учебный курс MCSD / Пер. с англ. 2-е изд., испр. - М.: Русская редакция, 2002. - 736 е.: ил.

80. Феллер В. Введение в теорию вероятностей и ее приложения. Том I. -М.: Мир, 1967.-498 с.

81. Феллер В. Введение в теорию вероятностей и ее приложения. Том И. — М.: Мир, 1967.-752 с.

82. Характеристики качества программного обеспечения / Б.Боэм, Дж.Браун, Х.Каспар и др.; Пер. с англ. М.: Мир, 1981. - 206 с.

83. Хотка Д. Oracle9i: Пер. с англ./Дэн Хотка СПб.: ДиаСофтЮП, 2002. - 560 с.

84. Цаленко М.Ш. Моделирование семантики в базах данных. М.: Наука, 1989.-286 е., ил.

85. Цикритзис Д., Лоховски Ф. Модели данных / Пер. с англ. М.: Финансы и статистика, 1985. - 343 е., ил.

86. Шишонок Н.А., Репкин В.Ф., Барвинский Л.Л. Основы теории надежности и эксплуатации радиоэлектронной техники. — М.: Советское радио, 1964. 552 е., ил.

87. Шрайбер Т.Дж. Моделирование на GPSS / Пер. англ. М.: Машиностроение, 1980. - 592 е., ил.

88. Baldwin С., Nolan С. Message Queuing: A Scalable, Highly Available Load-Balancing Solution Электронный ресурс. / msdn.microsoft.com

89. Электрон, дан. -, 2004. Режим доступа: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmqqc/html/msmq.asp, свободный. — Загл. с экрана. - яз. англ.

90. DCE описание и ссылки Электронный ресурс. / termin.narod.ru -Электрон, дан. 2004-. - Режим доступа:http://termin.narod.ru/d/DCE.htm, свободный. Загл. с экрана. - яз. рус.

91. DCE FAQ Электронный ресурс. / opengroup.org Электрон, дан. -, 2004. — Режим доступа: http://www.opengroup.org/tech/dce/info/faq-mauney.html, свободный. - Загл. с экрана. - яз. англ.

92. DCE Portal Электронный ресурс. / opengroup.org Электрон, дан. -, 2004. — Режим доступа: http://www.opengroup.org/dce/, свободный. — Загл. с экрана. - яз. англ.