

17. МОДЕЛЬ РАСПРЕДЕЛЁННОЙ ОБРАБОТКИ ИНФОРМАЦИИ
Распределенная обработка данных
Распределенная обработка данных - методика выполнения прикладных программ
Сущность ее
· удаленный запрос, например, команда
· удаленная трансакция
· распределенная трансакция, дающая возможность использования нескольких серверов
Для распределенной обработки осуществляется сегментация прикладных программ
Сегментация осуществляется с помощью специального инструментального программного обеспечения
В результате сегментации каждая выделенная часть программы включает управление данными
Передача данных
Удаленный вызов процедур работает аналогично местному вызову процедур и обеспечивает организацию обработки данных
Выполнение удаленного вызова процедур является дорогостоящей операцией, ибо на все время
Распределенные базы данных
Распределенные базы данных
Задачей СУРБД является обеспечение функционирования распределенной базы данных
В СУРБД
Модели обработки данных
При планировании обработки данных могут рассматриваться три модели:
· обработка в одноранговой локальной сети;
· централизованная обработка;
· обработка в модели клиент/сервер.
При любой обработке имеются три основных уровня манипулирования данными:
· хранение данных;
· выполнение приложений, т.е. выборка и обработка данных для нужд прикладной задачи;
· представление данных и результатов обработки конечному пользователю.
При обработке в одноранговой сети все три уровня, как правило, выполняются на одном - персональном - рабочем месте. В современных технологиях применения вычислительной техники персональная обработка информации, когда все данные и средства их обработки сосредоточены в пределах одного рабочего места, и обмен данными между рабочими местами не происходит или выполняется эпизодически (например, средствами электронной почты), постепенно уходит в прошлое. Современные информационные, управленческие, офисные системы в большей или меньшей степени ориентируются на многопользовательскую обработку, при которой данные доступны (возможно, одновременно доступны) многим пользователям с разных рабочих мест. Соображения эффективности и надежности требуют централизации процессов хранения и обработки данных.
И централизованная обработка, и модель клиент/сервер в равной мере используют преимущества централизации. Различие между этими двумя моделями состоит в том, что при централизованной обработке представление информации конечному пользователю также выполняется средствами центральной вычислительной системы - на ее терминалах (неинтеллектуальных), подключенных к вычислительной системе через порты/каналы ввода-вывода. В модели же клиент/сервер терминалы, представляющие информацию, являются интеллектуальными - самостоятельными вычислительными системами (обычно персональными компьютерами) и связаны с сервером через сетевые средства.
Хотя централизованная обработка обеспечивает большую эффективность в сопровождении системы и в скорости обмена, предпочтительной все же представляется модель клиент/сервер, к числу достоинств которой следует отнести прежде всего гибкость - возможность строить клиентские рабочие места на разных платформах и в разных операционных средах и, таким образом, гибко приспосабливать возможности интеллектуального терминала к стоящим перед данным рабочим местом задачам.
При перемещении большей части функций манипулирования данными на высокопроизводительный и высоконадежный сервер могут быть обеспечены следующие преимущества:
· экономия вычислительных ресурсов всей системы в целом;
· экономия ресурсов средств коммуникаций;
· обеспечение работы всех пользователей с одной и той же копией данных;
· предотвращение фатальных конфликтов между клиентами при обращении их к одним и тем же данным;
· обеспечение надежного администрирования базы данных, в т.ч. резервного копирования и разграничения доступа к данным.
Распределение функций манипулирования данными между клиентом и сервером может быть различным, как показано на рисунке 1.
Вариант файлового сервера предполагает, что сервер выполняет только хранение данных. При необходимости вся единица хранения данных (файл) пересылается клиенту, и всю дальнейшую работу с данными (в том числе и выборку) выполняет клиент. Этот вариант требует значительных ресурсов как вычислительных (так как на каждом рабочем месте должна размещаться копия обрабатываемых данных и все средства их обработки), так и коммуникационных (так как по сети передаются файлы целиком). Кроме того, этот вариант либо ограничивает одновременный доступ клиентов блокировкой файлов, либо приводит к неидентичности копий информации у разных клиентов. В предельном случае вариант файлового сервера сводится к персональной обработке данных, пусть и в среде локальной сети.
Рис. 1.
Вариант сервера базы данных предполагает, что на сервер возлагается выполнение одной из самых трудоемких функций логики приложения - выборки из базы данных только тех записей, которые необходимы для решения конкретной задачи. В этом случае экономятся ресурсы вычислительной системы и обеспечивается действительно многопользовательский доступ. Вместе с тем, в зависимости от сложности оставшейся части логики приложения, объем клиентской части ресурсов может все еще оставаться достаточно большим. Вариант сервера базы данных особенно эффективен в системах со специализированными рабочими местами, так как позволяет подобрать аппаратные и операционные среды рабочих мест в наиболее точном соответствии с решаемыми задачами.
Вариант сервера приложений предполагает, что вся или почти вся логика
приложений выполняется на сервере, а в клиентскую часть передаются лишь
результаты обработки. Клиентская часть, таким образом, ответственна только за представление результатов конечному пользователю. Такой вариант предъявляет повышенные требования к ресурсам сервера, но объемы ресурсов клиентов могут быть минимальны. Такой вариант позволяет также легко организовать гетерогенную систему, в которой разные клиенты будут работать в разных
операционных средах, так как объем программного обеспечения, который нужно переписать, чтобы адаптировать клиента к новой среде, относительно невелик - это только часть, зависимая от средств визуализации на данном рабочем месте. В предельном случае модель сервера приложений, однако, сводится к централизованной обработке.
Технологии распределенных вычислений.
Программное обеспечение (ПО) организации распределенных вычислений называют программным обеспечением промежуточного слоя (Middleware). Новое направление организации распределенных вычислений в сетях Internet-Intranet основано на создании и использовании программных средств, которые могут работать в различных аппаратно-программных средах. Совокупность таких средств называют многоплатформенной распределенной средой - МРС (сrossware).
Находят применение технологии распределенных вычислений RPC (Remote Procedure Call), ORB (Object Request Broker), MOM (Message-oriented Middleware), DCE (Distributed Computing Environment), мониторы транзакций, ODBC.
RPC - процедурная блокирующая синхронная технология, предложенная фирмой Sun Microsystems. Вызов удаленных программ подобен вызову функций в языке С. При пересылках на основе транспортных протоколов TCP или UDP данные представляются в едином формате обмена XDR. Синхронность и блокирование означают, что клиент, обратившись к серверу, для продолжения работы ждет ответа от сервера.
Для систем распределенных вычислений разработаны специальные языки программирования, для RPC это язык IDL (Interface Definition Language), который дает пользователю возможность оперировать различными объектами безотносительно к их расположению в сети. На этом языке можно записывать обращения к серверам приложений. Другой пример языка для систем распределенных вычислений - NewEra в среде Informix.
RPC входит во многие системы сетевого программного обеспечения.
ОRB - технология объектно-ориентированного подхода, включает 13 пунктов (служб). Основные службы:
· служба именования, присваивает объектам уникальные имена, в результате пользователь может искать объект в сети;
· служба обработки транзакций, осуществляет управление транзакциями из приложений или из операционных систем;
· служба событий, обеспечивает асинхронное распространение и обработку сообщений о событиях;
· служба обеспечения безопасности - поддержки целостности данных.
При применении ORB (в отличие от RPC) в узле-клиенте хранить сведения о расположении серверных объектов не нужно, достаточно знать расположение в сети программы-посредника ORB. Поэтому доступ пользователя к различным объектам (программам, данным, принтерам и т.п.) существенно упрощен. Посредник должен определять, в каком месте сети находится запрашиваемый ресурс, направлять запрос пользователя в соответствующий узел, а после выполнения запроса возвращать результаты пользователю.
MOM - также объектная технология. Связь с серверами асинхронная. Это одна из наиболее простых технологий, включает команды "послать" и "получить", осуществляющие обмен сообщениями. Отличается от E-mail реальным масштабом времени. Однако могут быть варианты МОМ с очередями, тогда режим on-line необязателен и при передаче не требуется подтверждений, т.е. опора на протокол IP без установления соединения.
Распределенная среда обработки данных
(Distributed Computing Environment (DCE*)) - технология распределенной обработки данных
Она не противопоставляется другим технологиям (RPC, ORB), а является средой для их использования.
Среда DCE*
Табл. Основные компоненты DCE*.
№ п/п | Служба | Выполняемые функции |
1. | Имена | База Данных (БД) имен пользователей и средств, предназначенных для доступа пользователей к сетевым службам. |
2. | Удаленный доступ | Технология, обеспечивающая взаимодействие двух прикладных программ, расположенных в различных абонентских системах. |
3. | Защита данных | Программное Обеспечение (ПО) разрешения на доступ к ресурсам системы или сети. |
4. | Многопоточность | Программы, обеспечивающие одновременное выполнение нескольких задач. |
Системы, имеющие программы распределенной среды, соответственно, являются серверами
Каждый сервер имеет свою группу клиентов.
Среда имеет трехступенчатую архитектуру
Функции, выполняемые средой, включают прикладные службы
· каталогов
· интерфейса
· удаленного вызова процедур
· обслуживания файлов;
· безопасности данных
· времени
Программное Обеспечение (ПО)
Функционирование распределенной среды требует выполнения ряда административных задач. К ним, в первую очередь, относятся средства:
· регистрации и контроля за лицензиями пользователей
· унифицированных интерфейсов прикладных программ;
· обеспечения безопасности данных;
· инвентаризации программного и технического обеспечения
С точки зрения логического управления среда обработки данных
· контроля права работы с прикладными программами и базами данных;
· каталогов, назначающих адреса
· времени, синхронизирующей часы систем;
· лицензии, отслеживающей использование видов сервиса
Распределение прикладных процессов по ячейкам защищает от сбоев