Организация удаленного доступа к распределенным базам данных
Рефераты >> Программирование и компьютеры >> Организация удаленного доступа к распределенным базам данных

Рис.2.6. Организация репликации данных.

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

Рис.2.7. Подробная схема репликации данных.

Схема репликации приведена на рис.2.7. Рассмотрим процесс передачи изменений подробнее:

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

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

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

4. Сервер подписки принимает измененную запись и модифицирует соответствующим образом таблицу на своей стороне.

5. Если в процессе изменения записи был сгенерирован новый ключ, то он передается на сервер репликации.

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

При передаче изменений коммуникационным сервисом используется протокол двухфазной фиксации транзакций (Two-phase commit transactions), что позволяет застраховаться от ошибок.

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

2.10 Проектирование коммуникационного сервера

2.10.1 Постановка задачи

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

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

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

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

4. Учитывая разнородность сети необходимо обеспечить возможность подключения пользователей по нескольким протоколам: TCP/IP, Named Pipes, IPX/SPX, NetBIOS.

2.10.2 Архитектура коммуникационного сервера

Учитывая специфику платформы Windows NT коммуникационный сервер построен по архитектуре системного сервиса (System Service). Для разработки коммуникационного сервера применялась среда разработчика Microsoft Developer Studio 4.2/Visual C++ Enterprise Edition.

Архитектура сервера представлена в Приложении 2.

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

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

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

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

· void TaskProc(void) - основной поток - реализует необходимую функциональность.

· void Terminate(void) - функция для принудительного останова задачи (например при останове сервера)

Информация о пользовательских задачах хранится в реестре Windows NT

(ключ HKEY_LOCAL_MACHINE\SOFTWARE\Svyazinform\CommService\Tasks, рис.2.8).

Рис.2.8. Конфигурация задач коммуникационного сервера в реестре Windows NT.

Ядро cервера построено по многопоточной архитектуре и включает в себя следующие модули:

· Модуль инициализации - основная точка входа сервиса - регистрирует сервис в диспетчере сервисов.

· Модуль управления сервисом - реализует функции запуска и останова сервера.

· Планировщик задач - осуществляет запуск пользовательских задач в заданное время.

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

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

2.10.3 Вспомогательное программное обеспечение

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

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

Для удаленного конфигурирования пользовательских задач разработано клиентское приложение «Менеджер задач коммуникационного сервера».

Данная программа позволяет управлять списком пользовательских задач (именами модулей и временем запуска). Главное окно программы представлено на рис.2.9.

Рис.2.9. Главное окно программы конфигурирования коммуникационного сервера.

Разработка программы велась с помощью пакета Microsoft Visual C++ 4.2. Механизм реализации этой программы выходит за рамки данного дипломного проекта.

3. Технико-экономическое обоснование

Целью дипломного проекта было создание информационной системы для автоматизации расчетов с абонентами АО «Связьинформ» РМ.

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

3.1 План выполнения дипломного проекта

В соответствие с темой дипломного проекта определяются этапы НИР и их содержание. Этапы НИР необходимо максимально детализировать.

Таб.4.1. Этапы НИР.

№ n/n

Этап и содержание работы

Длительность цикла, дн.

Трудоемкость в % от общей трудоемкости

Исполнитель

1

2

3

4

5

1

Постановка задачи и составление технического задания

5

3,1

И1, Р, Д

2

Составление плана и календарного графика работы

1

0,7

Д, Р

3

Подбор и изучение технической документации и литературы

14

10,55

Д, Р

4

Написание вводной части и литературного обзора

5

4,35

Д

5

Информационное моделирование системы

28

20,25

Д, Р

6

Разработка коммуникационного сервера

12

6,28

Д

7

Отладка коммуникационного сервера

18

8,35

Д, Р


Страница: