Главная страница
Навигация по странице:

  • Ядро сервера

  • Пользовательские задачи

  • Организация удаленного доступа к распределенным базам данных. Содержание Введение 3 Основные подходы к проектированию распределенных баз данных 5


    Скачать 0.97 Mb.
    НазваниеСодержание Введение 3 Основные подходы к проектированию распределенных баз данных 5
    Дата06.11.2018
    Размер0.97 Mb.
    Формат файлаdoc
    Имя файлаОрганизация удаленного доступа к распределенным базам данных.doc
    ТипРеферат
    #55505
    страница13 из 20
    1   ...   9   10   11   12   13   14   15   16   ...   20

    2.9 Схема репликации данных



    Тиражирование данных в системе построено по схеме с одним сервером подписки (центральный сервер) и множеством серверов репликации (районы).

    Рис.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. Механизм реализации этой программы выходит за рамки данного дипломного проекта.
    1   ...   9   10   11   12   13   14   15   16   ...   20


    написать администратору сайта