Реализация распределенной базы данных с удаленным доступом

Автор работы: Пользователь скрыл имя, 30 Ноября 2011 в 00:17, курсовая работа

Краткое описание

В дипломном проекте рассмотрены общие подходы к реализации распределенных систем обработки данных на базе технологии клиент-сервер, а также задача создания действующей информационной системы на примере системы автоматизации расчетов с абонентами АО «Связьинформ» РМ. Актуальность построения этой системы обусловлена резким ростом количества предоставляемых услуг связи, а также переходом некоторых районов на повременную систему тарификации разговоров.
В процессе написания дипломной работы автором велась разработка архитектуры информационной системы, механизма репликации данных, средств удаленного доступа и удаленного администрирования системы, структуры БД, а также некоторых компонентов клиентской части системы (справочной службы и картотеки абонентов).

Содержание работы

ВВЕДЕНИЕ 4
1. ОСНОВНЫЕ ПОДХОДЫ К ПРОЕКТИРОВАНИЮ РАСПРЕДЕЛЕННЫХ БАЗ ДАННЫХ 6
1.1 ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ 6
1.2 СЕРВЕР БАЗЫ ДАННЫХ 10
1.2.1 Технология и модели "клиент-сервер" 10
1.2.2 Механизмы реализации активного ядра 19
1.2.3 Хранимые процедуры 20
1.2.4 Правила (триггеры) 21
1.2.5 Механизм событий 21
1.3 ОБРАБОТКА РАСПРЕДЕЛЕННЫХ ДАННЫХ 22
1.4 ВЗАИМОДЕЙСТВИЕ С PC-ОРИЕНТИРОВАННЫМИ СУБД 30
1.5 ОБРАБОТКА ТРАНЗАКЦИЙ 33
1.6 СРЕДСТВА ЗАЩИТЫ ДАННЫХ В СУБД 37
1.7 ПРИМЕНЕНИЕ CASE-СРЕДСТВ ДЛЯ ИНФОРМАЦИОННОГО МОДЕЛИРОВАНИЯ В СИСТЕМАХ ОБРАБОТКИ ДАННЫХ . 41
2. РЕАЛИЗАЦИЯ РАСПРЕДЕЛЕННОЙ БАЗЫ ДАННЫХ С УДАЛЕННЫМ ДОСТУПОМ 43
2.1 АНАЛИЗ СУЩЕСТВУЮЩЕЙ СИСТЕМЫ 44
2.2 НОВАЯ СХЕМА ОБМЕНА ИНФОРМАЦИЕЙ 45
2.3 ВЫБОР ОПЕРАЦИОННОЙ СИСТЕМЫ 47
2.4 ВЫБОР СЕРВЕРА БАЗ ДАННЫХ 48
2.5 ВЫБОР СРЕДСТВ РАЗРАБОТКИ 55
2.6 ОРГАНИЗАЦИЯ ВЗАИМОДЕЙСТВИЯ МЕЖДУ СЕРВЕРАМИ 56
2.6.1 Выбор модели распределенной базы данных 56
2.6.2 Модель взаимодействия 56
2.6.3 Использование слоя RPC для распределенной обработки данных на платформе Windows NT 57
2.6.4 Компоненты Microsoft RPC 57
2.6.5 Механизм работы RPC 58
2.6.6 Организация логического канала передачи данных 61
2.7 ОРГАНИЗАЦИЯ ДОСТУПА УДАЛЕННЫХ ПОЛЬЗОВАТЕЛЕЙ 61
2.7.1 Необходимость удаленного доступа 61
2.7.2 Использование слоя RAS для удаленного доступа на платформе Windows NT 61
2.7.3 Обеспечение информационной безопасности при удаленном доступе 63
2.8 ПРОЕКТИРОВАНИЕ СТРУКТУРЫ БАЗЫ ДАННЫХ 63
2.9 СХЕМА РЕПЛИКАЦИИ ДАННЫХ 65
2.10 ПРОЕКТИРОВАНИЕ КОММУНИКАЦИОННОГО СЕРВЕРА 67
2.10.1 Постановка задачи 67
2.10.2 Архитектура коммуникационного сервера 68
2.10.3 Вспомогательное программное обеспечение 70
3. ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ 71
3.1 ПЛАН ВЫПОЛНЕНИЯ ДИПЛОМНОГО ПРОЕКТА 71
3.2 РАСЧЕТ ОЖИДАЕМОЙ ПРОДОЛЖИТЕЛЬНОСТИ ВЫПОЛНЕНИЯ РАБОТ И ИХ ДИСПЕРСИЙ 73
3.3 ПОСТРОЕНИЕ ЛЕНТОЧНОГО ГРАФИКА ВЫПОЛНЕНИЯ РАБОТЫ 74
3.4 ОПРЕДЕЛЕНИЕ ПЛАНОВОЙ СЕБЕСТОИМОСТИ НИР 76
ЗАКЛЮЧЕНИЕ 79
СПИСОК ЛИТЕРАТУРЫ 80

Содержимое работы - 1 файл

РЕАЛИЗАЦИЯ РАСПРЕДЕЛЕННОЙ БАЗЫ ДАННЫХ С УДАЛЕННЫМ ДОСТУПОМ.doc

— 1.41 Мб (Скачать файл)

      Системы Windows NT появились на рынке достаточно давно, но широкое распространение они получили только с момента выхода версии 3.5.

В них  реализована вытесняющая многозадачность, что делает эти системы хорошей основой для серверов приложений. Системы на базе Windows NT отвечают требованиям уровня безопасности C2 Министерства обороны США, что позволяет их использовать в самых ответственных приложениях. Windows NT функционирует как на платформе Intel, так и на RISC платформах, что дает возможность легко наращивать мощность системы по мере увеличения потока данных. Так как в качестве клиентских мест в системе будут использоваться компьютеры под управлений Windows 95/Windows 3.11, использование Windows NT  в качестве сервера позволит создать целостную информационную систему. Следует учитывать также и наличие достаточно большого количества программистов, имеющих опыт работы с Windows 95, которые могут после дополнительной подготовки разрабатывать серверные части приложений под управлением Windows NT.

      Учитывая  тенденции развития рынка операционных систем в качестве платформы для  реализации информационной системы  выбрана Windows NT 4.0.

2.4 Выбор  сервера баз данных

 

      Основные  требования, предъявляемые к серверу баз данных таковы: 

  • Хорошая масштабируемость
  • Высокая производительность
  • Легкость в администрировании
  • Наличие мощных инструментов для разработки приложений
  • Низкая цена рабочего места
 

      В настоящее время на рынке серверов баз данных представлено множество систем. Среди них Oracle, Informix, Sybase, Open Ingres, IBM DB2, Borland InterBase, Microsoft SQL Server и др.

      Одна  из особенностей поставленной задачи - установка серверов баз данных в районах Республики Мордовия. При  этом особую роль играет отсутствие в местах установки серверов квалифицированных администраторов, способных управлять базой данных. Таким образом, одним из основных требований к серверу баз данных наряду с высокой производительностью и хорошей масштабируемостью является простота администрирования. Кроме того, сервер должен поддерживать распределенные базы данных.

      Исходя  из сравнительных характеристик  данных серверов баз данных в качестве платформы для реализации корпоративной  информационной системы был выбран сервер Borland InterBase 4.0 для Windows NT.

      Borland InterBase Workgroup Server - сервер реляционных  баз данных, оптимизированный для  реализации технологии upsizing (укрупнения) многопользовательских приложений.

      Версия InterBase 4.0 - сервера, традиционно доступного на всех основных UNIX-платформах (IBM, Sun, HP), оптимизирована для использования на Novell NetWare и Windows NT и обладает рядом функций, обязательных для современного SQL-сервера баз данных. К таким функциям относятся наличие хранимых процедур, расширенная поддержка триггеров, декларативная ссылочная целостность и т.д. Эти функции соответствуют стандарту ANSI/ISO SQL92 или, где возможно, проекту SQL3.

      Важной  особенностью InterBase является поддержка технологии C/S Express. Это особенно полезно при использовании InterBase 4.0 в качестве upsizing средства, т.к. позволяет сохранить привычную навигационную нотацию файл-серверной модели при переходе к архитектуре C/S.

      Возможность обеспечивать как навигационный, так  и SQL доступ к данным, является уникальной и делает InterBase 4.0, привлекательным средством для построения информационных систем различного масштаба - от небольшой рабочей группы до целого предприятия.

      Borland InterBase Workgroup Server обладает рядом свойств,  позволяющих решать задачи оперативной обработки транзакций и обеспечивать режим поддержки принятия решений. Среди таких свойств важнейшими являются технология многоверсионности (Versioning Engine), поддержка распределенных баз данных и наличие нестандартных типов данных.

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

      Если  в процессе работы длинной транзакции, такой как получение архивной копии базы данных, будут внесены изменения в базу данных, это не нарушит целостный вид архивной копии, так как эта транзакция имеет дело с предыдущей версией записи. Таким образом, транзакция по чтению никогда не конфликтует с транзакцией по записи.

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

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

      Технология  построения InterBase позволяет создавать  распределенные базы данных и обеспечивает возможность для приложения-клиента  открыть необходимое количество БД, что обеспечивается механизмом двухфазной фиксации транзакций (two-phase commit).

      Помимо  общепринятых типов данных, таких  как алфавитно-цифровая информация, даты и т.д., InterBase обладает возможностью работы с неструктурированными данными, сохраняя их в виде объектов типа BLOB (Binary Large Objects - большие двоичные объекты). В виде BLOB может быть сохранена любая двоичная информация: изображения, оцифрованный звук, исполняемые модули программ. Особенностью реализации BLOB в InterBase является сегментированный доступ к ним, что позволяет увеличить производительность прикладных систем.

      Другим  нетрадиционным типом данных, допустимым в InterBase, является многомерный массив. В InterBase в качестве поля записи может  быть сохранен массив произвольных данных (кроме BLOB) с размерностью от 1 до 16. Наличие  такого типа данных позволяет эффективно строить приложения, работающие в финансовой, промышленной и научно-исследовательской области.

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

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

  • Unique and Primary Key (уникальный первичный ключ) - гарантирует уникальность значения ключевого поля записи;
  • Referential Integrity (ссылочная целостность) - гарантирует соответствие значения ключевого поля записи подчиненной таблицы значению ключевого поля в главной таблице;
  • Check Constraint (ограничение допустимости) - гарантирует, что правило допустимости, связанное с данным ограничением, истинно для каждой записи в таблице;
  • Domain (домен) - позволяет создать новые подтипы с описанием допустимых значений и значений по умолчанию.
  • Хранимые процедуры - хранимые процедуры InterBase соответствуют проекту ANSI/ISO SQL 3. В хранимых процедурах допустимы конструкции begin....end, if...then...else, while, for, when и т. д. Внутри хранимых процедур может быть предусмотрена обработка исключений. Исключения затем могут быть обработаны, используя оператор WHEN. Хранимые процедуры могут быть вложенными, а также рекурсивными, т.е. вызывать сами себя.
 

      Триггеры - В InterBase возможно явное указание порядка выполнения триггеров, если триггерное условие выполняется для нескольких триггеров одновременно.

      Сигнализаторы событий. InterBase полностью поддерживает механизм оповещения о событиях в базе данных.

      PC-клиенты  подключаются к InterBase 4.0 с помощью  технологии интегрированного интерфейса  к базам данных (Integrated Database Application Programming Interface - IDAPI) фирмы Borland, которая  является общей технологией промежуточного уровня, используемой в таких программных продуктах Borland, как Paradox и dBASE. Сегодня IDAPI поддерживает связь c dBASE и Paradox через ориентированный на интерактивную работу интерфейс, а подключение к InterBase, Oracle и Sybase - через ориентированный на работу с наборами интерфейс SQL (Borland SQL Link).

      Альтернативным  способом доступа к данным InterBase может быть технология ODBC. В комплект поставки InterBase входит ODBC драйвер, а  все IDAPI-приложения имеют возможность  взаимодействовать с ODBC-совместимым источником данных.

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

      Подобные  функциональные возможности требуют  наличия двух компонентов: драйвера и сервера, который может отвечать на команды персонального приложения. С помощью InterBase 4.0 сервер базы данных поддерживает две модели взаимодействия с сервером. С использованием Express Link, InterBase 4.0 может функционировать, как подлинный сервер для клиентов Paradox и dBASE с непосредственной поддержкой в механизме базы данных таких средств, как перемещение по записям и их обновление. Через динамические и встроенные вызовы SQL InterBase 4.0 может также поддерживать операционную среду для традиционных SQL-приложений.

      Таким образом, InterBase 4.0 поддерживает две интерфейсных операционных среды:

       

  • Технологию Express Link (использующую IDAPI) с поддержкой таких персональных инструментов, как dBASE, Paradox и другие продукты Windows на базе IDAPI.
  • SQL, позволяющую реализовать доступ на базе статических или динамических операторов SQL.
 

Основываясь на конкретных потребностях, приложение может свободно сочетать эти модели.

      Для взаимодействия с сервером персональное приложение на PC, включая Paradox и dBASE, может  вызывать администратор IDAPI. Сами функции IDAPI по характеру выполняемой ими работы подразделяются на функции перемещения и функции SQL. Вызовы SQL в IDAPI основаны на спецификации X-Open Call Level Interface, в то время как расширения вызовов персональных приложений IDAPI предназначены для реализации характерной технологии программирования персональных приложений. Для получения общей рабочей среды некоторые вызовы используются совместно как в режиме SQL, так и в режиме перемещения. Режим взаимодействия приложения с сервером InterBase 4.0 обычно определяется режимом текущего вызова IDAPI. Использование SQL или режима перемещения прозрачно для пользователя.

      Для поддержки ориентированного на записи доступа обычно требуется выполнение на промежуточном уровне трансляции, преобразующей запросы персонального приложения в команды SQL. Например, чтобы открыть индексный курсор, транслирующий уровень строит оператор SQL с предложением Order By, соответствующим столбцам индекса, а затем выполняет его на сервере. Фильтрующие выражения завершаются предложением Where сгенерированного оператора SQL. Сервер реляционной базы данных эмулирует через SQL семантику данных работающего с упорядоченной информацией персонального приложения, что ведет к заметному снижению производительности.

      Позволяя  открывать курсоры для таблиц и индексов без использования  операторов SQL, InterBase 4.0 с помощью  многопользовательской среды клиент-сервер обеспечивает производительность, близкую  к производительности локального персонального  приложения. Это означает, что когда курсор открывается для таблицы, то записи возвращаются в естественном порядке, а когда он открывается для индекса, то они возвращаются в отсортированном порядке.

      Важным  аспектом дизайна InterBase 4.0 является прямая, осуществляемая на уровне механизма базы данных поддержка подобных операций перебора. Для более быстрой выборки записей из таблиц и индексов InterBase 4.0 использует специальные структуры данных, алгоритмы и протоколы. Для подготовки и выполнения таких операций операторы SQL не требуются, поэтому отпадает необходимость в промежуточных транслирующих модулях, а буферизация результирующего набора сводится с минимуму. Кроме того, к данным параллельно могут обращаться как пользователи Express Link, так и SQL.

      Закладка - это метка записи относительно ее позиции среди других записей. Механизм InterBase 4.0 поддерживает закладки непосредственно на уровне сервера, позволяя использовать вызовы для установки, получения и сравнения закладок. Закладка действует в течение всего подключения к базе данных и допустима даже после закрытия исходного курсора и завершения первоначальной транзакции. Используя внутренние идентификаторы записи, InterBase 4.0 поддерживает быстрые операции с закладками.

Информация о работе Реализация распределенной базы данных с удаленным доступом