Файл: Тема 28. Распределенная обработка данных..pdf

Добавлен: 20.10.2018

Просмотров: 573

Скачиваний: 9

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Тема 28. Распределенная обработка данных.  

Модели «клиент-сервер» 

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

компьютерах, при этом сама база может быть централизованной (размещаться 

на  одном  компьютере)  или  децентрализованной  (занимать  несколько 

компьютеров). 

Параллельный 

доступ 

нескольких 

пользователей 

к 

централизованной базе данных называется распределенной обработкой данных. 

Параллельный  доступ  нескольких  пользователей  к  децентрализованной  БД  – 

распределенная база данных. 

Модель «клиент-сервер» разделяет процесс решения программной задачи 

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

некоторые  услуги  у  сервера,  а  сервер  обеспечивает  их  выполнение. 

Предполагается, что серверный процесс одновременно обслуживает множество 

клиентских процессов. 

Стандартное  интерактивное  приложение  в  общем  случае    выполняет 

функции следующих видов: 

1.  функции ввода и отображения данных (представительские функции); 

2.  функции обработки данных; 

3.  функции управления данными. 

Представительские  функции  реализуют  графический  интерфейс 

пользователя. 

Функции обработки данных определяют алгоритмы решения прикладных 

задач. 

Управление данными – хранение и управление базами данных (СУБД). 

Возможные  распределения  функций  интерактивного  приложения  между 

процессами клиент и сервер: 

 

 

Представление  Обработка 

данных 

Управление 
данными 

Распределенное 
представление 

Клиент 
Сервер 

сервер 

сервер 


background image

Удаленное 
представление 

Клиент 

сервер 

сервер 

Распределенная 
обработка 

Клиент 

клиент 
сервер 

сервер 

Удаленное управле- 
ние данными 

Клиент 

клиент 

сервер 

Распределенное уп- 
равление данными 

Клиент 

клиент 

клиент 
сервер 

 

В  модели  распределенного  представления  основная  часть  работы 

выполняется  на  сервере,  клиент  работает  в  режиме  терминала  и  реализует 

только часть представительских функций. 

Модель  удаленного  представления  принято  называть  моделью  сервера 

баз данных. 

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

алгоритмов и на клиенте, и на сервере. 

Удаленное управление принято называть удаленным доступом к данным. 

Распределенное  управление  данными  -  антипод  распределенного 

представления: большая часть обработки происходит на клиенте. 

Модель удаленного доступа к данным 

 

 

 

 

 

 

 

База  данных  хранится  на  сервере,  там  же  находится  ядро  СУБД.  На 

клиенте реализуются функции представления и обработки. Клиент обращается 

к серверу с запросами на SQL. 

Достоинством  модели  является  большое  число  СУБД,  поддерживающих 

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

Представление 
_____________ 
Обработка 

Управление 
данными 
____________ 
СУБД 

 

БД 

запросы 

ответы 

клиент 

сервер 

Рис. 28.1. Модель удаленного доступа к данным. 


background image

функций  обработки  разных  приложений,  сложность  разработки  приложений, 

пассивность сервера. 

 Модель сервера баз данных 

 

 

 

 

 

 

 

 

 

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

(рис.  28.2).  Обработка  данных  разделена  между  клиентом  и  сервером.  Со 

стороны сервера обработка поддерживается хранимыми процедурами, которые 

хранятся  в  базе  данных  и  управляются  СУБД.  Клиентское  приложение 

запускает хранимую процедуру и получает запрошенные данные. 

Контроль  состояния  БД  выполняется  с  использованием  триггеров  – 

процедур,  автоматически  запускаемых  при  возникновении  некоторых 

состояний. Триггеры могут вызывать хранимые процедуры. 

В  этой  модели  сервер  активен,  он  может  быть  инициатором  обработки 

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

Недостаток модели – большая загрузка сервера. 

Модель сервера приложений 

 

 

 

 

 

 

Представление 
 
 

Хранимые 
процедуры 
____________ 
Триггеры 
____________ 
СУБД 

 

БД 

Вызов 
процедур 

ответы 

клиент 

сервер 

Рис. 28.2. Модель сервера БД. 

Представление 
 
 

Обработка 

 

БД 

Вызов 
процедур 

ответы 

клиент 

сервер 
приложений 

Управление 
данными 
 
 

сервер БД 

Рис. 28.3. Модель сервера приложений. 


background image

Это  трехуровневая  модель  -  функции  приложения  распределены  между 

тремя процессами: клиентом, сервером приложений и сервером БД (рис. 28.3). 

Клиент  выполняет  функции  представления.  Серверы  приложений 

реализуют  общие  функции  для  клиентов,  поддерживают  распределенные 

транзакции.  Серверы  баз  данных  обеспечивают  создание  и  ведение  БД, 

поддерживают целостность данных. 

Модель  более  гибкая,  чем  двухуровневая.  Преимущества  модели 

особенно проявляются в случае сложной обработки данных. 

 

 

Базы данных в Internet и intranet 

Intranet  

Технология  intranet  –  это  технология  Internet,  перенесенная  в  среду 

локальных вычислительных систем (корпоративных информационных систем). 

Корпоративные  системы  intranet,  в  отличие  от  систем  «клиент-сервер», 

ориентированы  не  на  данные,  а  на  информацию  в  ее  окончательном  и 

пригодном для использования неквалифицированным пользователем виде. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Навигатор 

Навигатор 

Навигатор 

Сервер БД 

… 

Генерация 
информации 

Доставка 
информации 

Представление 
информации 

Информационная 
система 
intranet 

Рис. 28.4. Информационная система intranet. 


background image

Отличительные черты технологии intranet: 

 

на сервере порождается информация, а не данные; 

 

при  обмене  между  клиентом  и  сервером  используется  протокол 

открытого стандарта; 

 

прикладная  система  находится  на  сервере,  поэтому  на  компьютере-

клиенте достаточно иметь навигатор. 

Доступ к базам данных в Internet 

 

 

 

 

 

 

 

 

 

Программы WWW могут иметь доступ к БД как со стороны сервера, так и 

со стороны клиента (рис. 28.5).   

При  доступе  со  стороны  сервера  обращение  к  БД  обычно  производится 

путем вызова Web-сервером внешних программ в соответствии с соглашениями 

одного  из  интерфейсов:  CGI  (интерфейс  общего  шлюза),  API  (интерфейс 

прикладного  программирования).  Внешние  программы  взаимодействуют  с 

сервером БД на SQL. Они пишутся на обычных языках программирования или 

на  специализированных  языках  типа  Perl  или  PHP.  Такие  программы 

называются  CGI-сценариями  или  CGI-скриптами.  Для  поддержания  этого 

механизма  на  стороне  клиента  в  состав  HTML-документа  включается  форма 

для представления запросов к БД. 

Доступ в соответствии с интерфейсом CGI включает следующие шаги: 

1.  Запрос  клиентом  у  сервера  страницы,  содержащей  форму  с 

обращением к БД. 

SQL-запрос 

Web-клиент 

JAVA-апплет 

Web-сервер 

Сервер БД 

SQL-запрос 

Web-клиент 

Web-сервер 

CGI-сценарий 

Сервер БД 

Рис. 28.5. Базы данных в Internet.