Смекни!
smekni.com

Организация удаленного доступа к распределенным базам данных (стр. 13 из 19)

· Вызывает необходимые функции из библиотеки времени выполнения RPC для отсылки запроса с параметрами на сервер.

Заглушка сервера выполняет следующие шаги:

· Библиотека времени выполнения RPC принимает запрос и вызывает процедуру заглушки сервера

· Заглушка сервера принимает параметра из буфера и конвертирует их из формата NDR в формат, процедуры сервера.

· Заглушка вызывает необходимую процедуру на сервере.


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

· Удаленная процедура возвращает данные заглушке сервера

· Заглушка сервера конвертирует возвращаемые параметры в формат NDR и возвращает их функции библиотеки времени выполнения RPC

· Библиотечные функции передают данные через сеть на клиентский компьютер

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

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

· Заглушка клиента конвертирует данные из формата NDR в формат, используемый клиентским приложением

· Приложение клиента продолжает свою работу.

Для Microsoft Windows и Windows NT библиотеки времени выполнения используются двумя путями: как статическая библиотека, линкуемая в приложение; и библиотека, реализованная как DLL.

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

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


2.6.6 Организация логического канала передачи данных

Другой компонент модели - среда передачи данных может быть реализована несколькими способами. В простейшем случае она может быть построена на базе асинхронных каналов связи с использованием протоколов PPP (Point to Point Protocol), а также на базе существующих сетей X.25. На системный сервис можно также возложить ответственность за установление логического канала между серверами.

В случае каналов X.25 для установления соединения используется специальная каналообразующая аппаратура (коммутаторы X.25).

Решением начального уровня может служить удаленный доступ по протоколу PPP (Point to Point Protocol). Организация удаленного доступа по асинхронным каналам связи по протоколу PPP рассмотрена ниже.

2.7 Организация доступа удаленных пользователей

2.7.1 Необходимость удаленного доступа

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

2.7.2 Использование слоя RAS для удаленного доступа на платформе
Windows NT

На платформе Windows NT задача удаленного доступа по протоколу PPP решается с помощью сервера RAS (Remote Access Server - сервер удаленного доступа). Сервер RAS - это процесс, который принимает и обрабатывает запросы клиентов на подключение через асинхронные линии и передачу данных. Схема взаимодействия удаленного клиента с сервером RAS приведена на рис.2.4.

Рис.2.4. Схема удаленного доступа с использованием RAS.

В качестве транспортного протокола могут использоваться протоколы TCP/IP, IPX/SPX, NetBIOS. Подключение клиента через сервер удаленного доступа абсолютно прозрачно, т.е. клиент может работать с удаленными серверами так, как если бы он находился в локальной сети.

В системе Windows NT существует программный интерфейс приложений (Application Program Interface), который позволяет установить логический канал с удаленной сетью по асинхронному соединению. Он носит название RAS API (Remote Access Service API).

Сервис удаленного доступа (RAS) позволяет удаленным пользователям получить доступ к одному или нескольким RAS серверам также, как и по локальной сети.

Win32 RAS позволяет RAS-клиенту установить соединение, получить информацию о существующих соединениях и завершить соединение. Связь осуществляется по протоколам PPP или SLIP. В качестве транспортного протокола могут быть использованы стеки TCP/IP, IPX/SPX и NetBIOS.

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

Учитывая то, что информация на серверах баз данных носит коммерческий характер, особую роль играет вопрос её защиты от несанкционированного доступа. Система Windows NT имеет сертификат соответствия уровню безопасности C2 Министерства обороны США. Данный уровень безопасности предполагает обязательную идентификацию пользователей системы для определения прав доступа к отдельным ресурсам системы. Удаленный вход в сеть также требует соответствующих привилегий, кроме того, все попытки удаленного доступа обязательно фиксируются в журнале событий. В систему Windows NT встроена возможность шифрования трафика в каналах передачи данных, таким образом злоумышленник, имеющий возможность перехвата данных в каналах связи, не получает доступа к жизненно важным данным (пароли и имена пользователей, финансовая информация).

Одним из способов ограничения доступа удаленных пользователей к ресурсам сети является использования так называемых серверов-барьеров (FireWalls) на стыке внутренней и внешней (какой в данном случае является удаленный пользователь) сетей. В данном случае можно гибко регулировать права удаленного пользователя на доступ к отдельным компьютерам в сети. Кроме того, серверы-барьеры скрывают топологию сети от внешнего пользователя. На платформе Windows NT функции сервера-барьера выполняет продукт Microsoft Proxy Server. Одним из побочных эффектов использования этого класса продуктов является экономия IP-адресов.

2.8 Проектирование структуры базы данных

Построим информационную модель системы расчета с абонентами.

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

· Клиент (абонент, владелец телефона)

· Услуга

· Подразделение

· Начисление

· Телефонный разговор, подлежащий повременной тарификации

· Начисление за повременные разговоры (за один день)

· Оплата

· Категория клиента

· Проведенные расчеты

IDEF1X-диаграмма взаимодействия между этими сущностями представлена в Приложении 6.

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

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

· Клиент (владелец телефона)

· Услуга

· Подразделение

· Начисление

· Постоянное начисление

· Категория клиента

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

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


Суть данной модели такова:

1. Каждая сущность характеризуется набором состояний, изменяющихся во времени.

2. Каждое состояние характеризуется набором атрибутов сущности, а также датой начала и датой окончания состояния.

3. Сущность однозначно идентифицируется своим внешним ключом и актуальной датой.

4. Дочерние таблицы ссылаются на сущность по её внешнему ключу.

5. При смене состояния внешний ключ не меняется.

Целостность данных обеспечивается с помощью триггеров на сервере.

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

· Картотека абонентов

· Начисления

· Повременный учет

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

SQL-скрипт для генерации базы данных представлен в Приложении 1.

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

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

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

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