Организация удаленного доступа к распределенным базам данных. Содержание Введение 3 Основные подходы к проектированию распределенных баз данных 5
Скачать 0.97 Mb.
|
2.9 Схема репликации данныхТиражирование данных в системе построено по схеме с одним сервером подписки (центральный сервер) и множеством серверов репликации (районы). Рис.2.6. Организация репликации данных. Данные на центральном сервере доступны только для чтения чтобы избежать конфликтов по модификации записи. Рис.2.7. Подробная схема репликации данных. Схема репликации приведена на рис.2.7. Рассмотрим процесс передачи изменений подробнее:
При передаче изменений коммуникационным сервисом используется протокол двухфазной фиксации транзакций (Two-phase commit transactions), что позволяет застраховаться от ошибок. При синхронизации данных подобным методом процесс репликации может быть прерван в любой момент времени и продолжен позднее с той же точки. Данная особенность позволяет использовать такую схему тиражирования даже на очень плохих каналах связи. 2.10 Проектирование коммуникационного сервера2.10.1 Постановка задачиДля решения задач репликации, резервного копирования, удаленного доступа и удаленного управления на сервере баз данных необходим процесс, планирующий запуск процессов и обрабатывающий подключения удаленных пользователей. Основные требования, предъявляемые к коммуникационному серверу таковы:
2.10.2 Архитектура коммуникационного сервераУчитывая специфику платформы Windows NT коммуникационный сервер построен по архитектуре системного сервиса (System Service). Для разработки коммуникационного сервера применялась среда разработчика Microsoft Developer Studio 4.2/Visual C++ Enterprise Edition. Архитектура сервера представлена в Приложении 2. Для обеспечения наращиваемости системы проведено разделение функциональности сервера на две части:
Пользовательские задачи реализованы в виде многопоточных DLL. Каждая пользовательская задача должна обеспечивать две точки входа:
Информация о пользовательских задачах хранится в реестре 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. Механизм реализации этой программы выходит за рамки данного дипломного проекта. |