Организация удаленного доступа к распределенным базам данных. Содержание Введение 3 Основные подходы к проектированию распределенных баз данных 5
![]()
|
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. Механизм реализации этой программы выходит за рамки данного дипломного проекта. |