36267

Системы распределенной обработки информации

Доклад

Информатика, кибернетика и программирование

Возможность взаимодействия вычислительных систем при реализации распределенной обработки информации определяют как их способность к совместному использованию данных или к совместной работе с использованием стандартных интерфейсов. Распределённые системы обработки данных В современных сетевых информационных технологиях всё чаще используют распределённую обработку данных. Под распределённой обработкой данных понимают обработку приложений несколькими территориально разделёнными ЭВМ. При этом в приложениях связанных с обработкой базы данных...

Русский

2013-09-21

99 KB

163 чел.

Вопрос 6. Системы распределенной обработки информации.

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

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

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

Распределенная обработка информации обычно понимается как синоним распределенных вычислений. Важно отметить, что распределение (или разделение) не идентично параллелизму. Распределение видов обработки информации состоит в том, чтобы поручить их вычислительным машинам, наилучшим образом приспособленным к этому. Параллелизм же подразумевает понятие одновременности обработки информации. При этом распределение позволяет в ряде ситуаций проводить эффективную параллельную обработку информации при выполнении больших объемов параллельных вычислений. Таким образом, в общем случае распределение не подразумевает параллелизма, но возможность «распараллелить» распределенную обработку информации существует.

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

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

– обмен (программы различных систем посылают друг другу сообщения, как правило, файлы);

– разделение (имеется непосредственный доступ к ресурсам нескольких машин, например, совместное использование файлов);

– совместная работа (машины играют в реализации программы взаимодополняющие роли).

Целью распределенной обработки информации является оптимизация использования ресурсов и упрощение работы пользователя.

Распределённые системы обработки данных 

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

Под распределённой обработкой данных понимают обработку приложений несколькими территориально разделёнными ЭВМ. При этом в приложениях, связанных с обработкой базы данных, собственно управление базой данных может выполняться централизованно.

Распределенная обработка данных (Distributed Data Processing, DDP) - это методика выполнения прикладных программ группой систем. При этом пользователь получает возможность работать с сетевыми службами и прикладными процессами, расположенными в нескольких взаимосвязанных абонентских системах.

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

Функции распределённой среды включают службы:

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

Наиболее часто данные размещаются в БД. Ими обычно управляют локальные СУБД, то есть размещённые на том же компьютере. Когда несколько таких БД удалены друг от друга на большие расстояния, то возникает необходимость решения задач управления ими, то есть распределёнными БД. Для решения таких задач между ЭВМ с локальными СУБД и БД организуют сеть передачи данных по каналам связи, а в ней обеспечивают техническую и программную поддержку обмена данными. То есть в этом случае используют ПО, управляющее распределёнными базами данных, которые могут образовывать банки данных.

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

Распределённые базы данных (англ. "Distributed DataBase", DDB) представляют определённым образом связанные между собой БД, рассредоточенные на какой-либо территории (локально или регионально), обеспечивающие свободный обмен информацией и поиск данных в них.

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

При распределённой обработке работа с базой (представление данных, их обработка и др.) ведётся на компьютере клиента, а поддержание базы в актуальном состоянии – на сервере. При этом такие БД обычно располагаться на нескольких серверах – различных узлах компьютерной сети, а некоторые данные могут дублироваться.

Размещение частей общей БД бывает избыточным или безызбыточным. При избыточном размещении определяют степень дублирования частей (фрагментов) единой БД. Чтобы поддерживать целостность БД необходимо постоянно корректировать все её копии. Преимущества дублирования уменьшаются, когда увеличивается стоимость хранения её частей, что связано с необходимостью обеспечивать устойчивость системы.

Создание распределённых баз данных (РБД) вызвано попыткой одновременного решения двух задач: интеграции и децентрализации.

Интеграция подразумевает централизованное управление и ведение баз данных.

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

Выделяют однородные и неоднородные РБД. В неоднородных РБД используются различные СУБД. Основная проблема при этом заключается в сложности их интеграции.

3.2. Система управления распределёнными базами данных.

Доступ пользователей к РБД и администрирование ею осуществляются с помощью системы управления распределённой базой данных (СУРБД).

Система управления распределёнными базами данных (Distributed dataBase management system, DDBMS) - это система управления базами данных, расположенными в нескольких узлах информационной сети.

В СУРБД используется комбинация централизованного и локального способов хранения данных.

Для решения задач с распределёнными БД, во-первых, необходимо организовать между этими ЭВМ сеть передачи данных, то есть соединить их каналами связи. Затем обеспечивают техническую и программную поддержку обмена данными между ними, образуя тем самым сеть ЭВМ.

СУРБД создаются таким образом, чтобы максимально обеспечить соблюдение принципа независимости прикладных программ от локализации данных в сети. При этом логическое представление распределённой БД и манипулирование данными для прикладной программы ничем не отличаются от работы пользователя с локальной базой. Такие СУРБД оснащены каталогами, в которых хранятся структура сети, информация о локальных СУРБД и базах данных, а также программным обеспечением, которое на основе этой информации управляет взаимодействием прикладной программы и конкретной локальной базой данных сети.

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

3.3. Распределенные банки данных (РБнД).

Если накапливаемая в сетях машиночитаемая (электронная) информация не размещается на одной ЭВМ, то доступ к подобным базам и банкам данных осуществляется с помощью сетевых СУБД. Они дают возможность безадресно обращаться к любым данным (аналогично обычным БД, расположенным на одной ЭВМ) и порой предоставляют пользователям новые, ранее неизвестные, возможности работы с информацией. При этом возникают новые проблемы, решение которых осуществляется путём использования новых технологий.

Основные выводы.

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

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

Обязательными свойствами открытых систем являются:

  1.  переносимость;
  2.  интероперабильность;
  3.  масштабируемость;
  4.  доступность программного и аппаратного обеспечения для развития и модернизации.

В открытых системах широко используются объектно-ориентированные и функционально-распределённые информационные технологии. На различных этапах анализа и синтеза систем возникают проблемы разбиения (декомпозиции) их на подсистемы, задач на подзадачи, а программного обеспечения – на отдельные программы и подпрограммы.

В объектно-ориентированных открытых системах декомпозиция системы на объекты осуществляется с учётом удобства последующего детального анализа, разработки и внедрения системы. Одним из наиболее важных критериев выделения компонентов открытой системы является минимизация числа аппаратно-зависимых её компонент. Объектно-ориентированный подход позволяет свести проектирование открытой системы к оптимальному синтезу функционально независимых компонент (объектов), совместно выполняющих заданные функции системы с требуемой эффективностью, и позволяет адаптировать систему к вновь появляющимся задачам за счёт набора специфических свойств (наследование и проч.). Таким образом, значительно снижаются затраты на разработку, внедрение и модификацию систем.

Объектно-ориентированный подход породил создание распределённой среды обработки данных, включающей системы обработки данных, информации и знаний.

Технология распределённой обработки данных представляет стандартный набор сетевых служб для выполнения прикладных процессов, рассредоточенных по группе абонентских систем (по гетерогенной сети). При этом создаются распределённые базы и банки данных. Обработка информации в базе ведётся на компьютере клиента, а поддержание базы в актуальном состоянии – на сервере. Доступ пользователей к БД и администрирование ею осуществляются с помощью системы управления распределённой базой данных (СУРБД).

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

Архитектуры БД.

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

  1.  Локальная

Локальная (персональная) архитектура СУБД означает, что БД и СУБД располагаются на одном и том же локальном компьютере.

  1.  Архитектура «файл-сервер»

Архитектура «файл-сервер» также является локальной, т.к. предназначена для локальной сети, включает приложение и СУБД, расположенные на компьютере пользователя, и файл БД, находящийся на локальном сервере.

  1.  Архитектура удаленных БД («клиент-сервер»)

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

Архитектура «клиент-сервер» может быть использована и в пределах локальной сети.

Удаленные БД называют также многопользовательскими.

СУБД в архитектурах «клиент-сервер» и «файл-сервер» позволяют работать с БД одновременно нескольким пользователям.

БД архитектуры «клиент-сервер» позволяют работать одновременно многим пользователям и предназначены для обработки информации большого объема, поэтому их называют также «промышленными».

Архитектура «клиент-сервер»

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

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

Здесь и далее в книге речь будет идти о частном случае архитектуры «клиент-сервер», а именно о приложениях баз данных, в которых сервером является мощная реляционная СУБД, такая как Microsoft SQL Server (back-end), а клиентом — приложение, созданное в среде Access 2000, которое использует данные с сервера (front-end).

Отличие архитектуры "клиент-сервер" от архитектуры "файл-сервер"

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

Сетевое многопользовательское приложение строится по принципу файл-серверной архитектуры. Данные в виде одного или нескольких файлов размещаются на файловом сервере. Файловый сервер принимает запросы, поступающие по сети от компьютеров-клиентов, и передает им требуемые данные. Однако обработка этих данных выполняется на компьютерах-клиентах. На каждом из компьютеров запускается полная копия процессора обработки данных Jet Engine. Любая копия Jet независимо управляет файлами MDB, содержащими данные. Единственная связь между этими независимыми действиями — файл блокировок (файл, который имеет имя, совпадающее с именем файла приложения, но с расширением Idb), который обязательно создается для каждого файла базы данных с расширением mdb. При этом каждая копия Jet выполняет изменения индексов, работу с системными таблицами и другие функции, входящие в компетенцию СУБД.

В архитектуре «клиент-сервер» сервер базы данных не только обеспечивает доступ к общим данным, но и берет на себя всю обработку этих данных. Клиент посылает на сервер запросы на чтение или изменение данных, которые формулируются на языке SQL. Сервер сам выполняет все необходимые изменения или выборки, контролируя при этом целостность и согласованность данных, и результаты в виде набора записей или кода возврата посылает на компьютер клиента.

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

Архитектура «клиент-сервер» позволяет устранить все указанные недостатки. Кроме того, она позволяет оптимальным образом распределить вычислительную нагрузку между клиентом и сервером, что также влияет на многие характеристики системы: стоимость, производительность, поддержку.

Распределение функций в архитектуре «клиент-сервер»

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

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

Основные функции серверной СУБД — обеспечение надежности, согласованности и защищенности данных, управление запросами клиентов, быстрая обработка SQL-запросов.

Вся логика работы приложения — прикладные задачи, бизнес-правила — в двух-звенной архитектуре распределяются разработчиком между двумя процессами: клиентом и сервером (рис. 1).

Сначала большая часть функций приложения решалась клиентом, сервер занимался только обработкой SQL-запросов. Такая архитектура получила название "толстый клиент — тонкий сервер". Появление возможности создавать на сервере хранимые процедуры, т. е. откомпилированные программы с внутренней логикой работы, привело к тенденции переносить все большую часть функций на сервер. Сервер становился все более «толстым», а клиент — «утоньшался». Такое решение имеет очевидные преимущества, например его легче поддерживать, т. к. все изменения нужно вносить только в одном месте — на сервере. Однако язык, на котором пишутся хранимые процедуры, не является достаточно мощным и гибким, чтобы на нем было удобно реализовывать сложную логику приложения.

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

Тогда возникла тенденция поручить выполнение прикладных задач и бизнес-правил отдельному компоненту приложения (или нескольким компонентам), которые могут работать как на специально выделенном компьютере — сервере приложений, так и на том же компьютере, где работает сервер базы данных. Так возникли трехзвенные и многозвенные архитектуры «клиент-сервер». Появилось специальное программное обеспечение (ПО) промежуточного слоя, которое должно обеспечить совместное функционирование множества компонентов такого многокомпонентного приложения. Такие приложения являются гибкими, масштабируемыми, но сложными в разработке.

Далее в данной главе мы будем говорить только о двухзвенных приложениях «клиент-сервер», в которых клиент, реализованный на базе Access 2002, непосредственно обращается с запросами к серверу базы данных. Промежуточное ПО в данном случае только транслирует эти запросы и результирующие наборы записей между клиентом и сервером и не реализует никаких функций приложения.

Достоинства и недостатки различных архитектур приложений БД

Достоинство архитектуры «файл-сервер» состоит в возможности одновременной многопользовательской обработки одной БД.

Архитектура «файл-сервер» не эффективна, особенно для решения задач по обработке больших массивов информации, т.к.:

  1.  Выполнение запроса к БД, хранящейся на сервере, происходит в локальной копии данных на Вашем ПК. Перед выполнением любого запроса данные копии обновляются в полном объеме.
  2.  Обеспечение целостности БД производится из приложений. В результате возможно нарушение физической и логической целостности данных, т.к. разные приложения могут производить контроль целостности разными взаимоисключающими способами, или вовсе не производить контроля.

Приложение "клиент-сервер" формирует запрос к серверу на языке SQL. Удаленный сервер принимает запрос и переадресует его SQL-серверу БД (спец. программа, управляющая БД с помощью команд SQL). SQL-сервер выполняет запрос и возвращает результат.

Достоинства архитектуры "клиент-сервер":

  1.  Снижается нагрузка на сеть за счет уменьшения объема данных в пакетах, посылаемых по сети.
  2.  Повышается степень безопасности данных за счет жесткого контроля целостности.
  3.  Снижаются требования к аппаратному обеспечению пользователя.

Многозвенная архитектура "клиент-сервер"

Многозвенная архитектура "клиент-сервер" предполагает разбиение приложения-клиента на два звена: "тонкий" клиент, располагающийся на компьютере пользователя, и сервер приложений, находящийся на удаленном сервере, УБД и СУБД по-прежнему располагаются на удаленном компьютере.

В случае немногозвенной архитектуры "клиент-сервер" клиент называется "толстым", так как он содержит в себе все функции по обработке БД.

В случае многозвенной (обычно применяют трехзвенную) архитектуры "клиент-сервер" в приложение, называемое "сервером приложений", выносят ряд общих правил обработки БД, называемых бизнес-правилами.

Для обработки удаленных данных большого объема самой эффективной является архитектура "клиент-сервер". Для ее организации используется специальная технология обработки данных и специальные программные средства.


 

А также другие работы, которые могут Вас заинтересовать

52524. Елементи методики роботи вихователя з колективом класу. Ділова гра 105.5 KB
  МЕТА: Озброєння вихователів школи навичками відбору та використання оптимальних форм та методів роботи з колективом класу; Вдосконалення організаторських здібностей. Обладнання: схеми на яких показані взаємовідношення командира лідера із членами колективу при індивідуальній груповій колективній формах роботи. Завдання: Визначте яка форма роботи зображена на схемі.
52525. Година спілкування 9 клас. Україна – наш спільний дім 512.5 KB
  Ознайомити учнів з основними державотворчими подіями становлення незалежної України вивчення основних засад демократичного та суспільного ладу України її досягнень за останні роки. Узагальнити і систематизувати знання дітей про державні символи нашої Вітчизни: герб прапор гімн Основний Закон України Конституцію. 1 Удосконалювати вміння добирати прикметники до іменника Україна утворювати множину іменників – назв мешканців міст України. Вдосконалювати в учнів навички виразного читання поезій про державні прапор...
52526. Природа - нам як рідний дім 45 KB
  Привітання: Усміхнемось сонечку: Здрастуй золоте Усміхнемось квітоньці: Хай вона росте Усміхнемось дощику: Лийся мов з відра Гостям усміхнемося: Зичим їм добра Вихователь. Андрію бажаю тобі Вихователь. Вихователь.
52527. Подорож країною динозаврів. Трикутники 323.5 KB
  Дидактична мета: В ході уроку забезпечити засвоєння учнями основних понять трикутника та його елементів вчити застосовувати їх при розвязуванні задач. Питання можуть бути такими: Що називається трикутником Назвати елементи трикутника; Означити види трикутника за сторонами; і т. Учні дають усні відповіді на питання: Що називається висотою трикутника Де знаходиться точка перетину висот у трикутнику Скільки висот у трикутнику Особливості висот трикутника. Що є точкою перетину медіан трикутника Скільки медіа у...
52528. Discover Britain 6.3 MB
  I want to draw your attention to the blackboard where the quotation from John Clarke is written: “He that travels far knows much”. I think these words can be the motor of our lesson. Let’s try to prove that Clarke was really right. What do you think about this quotation? How do you understand these words? What is your opinion?
52529. Дисидентський рух на Україні в період загострення кризи радянської системи (ІІ половина 60-х – початок 80-х років) 152 KB
  Стус Мета: освітня познайомити учнів із методами боротьби дисидентів проти тоталітарного режиму на Україні із формами переслідувань радянською владою інакодумців людей що викривали злочини СРСР і критикували політичний курс тоталітарного суспільства; розвиваюча зясувати які проблеми піднімали українські дисиденти у своїй діяльності яким чином поширювали інформацію про тоталітарну систему в СРСР простежити розвиток дисидентства на Україні від часу виникнення до його апогею...
52530. Дисидентський рух 60-х – 80-х рр. ХХ ст. в Україні 1.09 MB
  Мета: розкрити процес зародження дисидентського руху; зясувати мету та основні цілі дисидентів; ознайомити школярів із провідними учасниками дисидентського руху; розглянути причини придушення дисидентства; розвивати вміння синтезувати матеріал; критично оцінювати історичні події; виховувати в учнів почуття патріотизму інтерес та повагу до історичного минулого своєї країни до борців за незалежність України. Оголошення теми та завдань уроку План до уроку Зародження дисидентського руху Мета та основні цілі дисидентів Діяльність...
52532. Meet Disney Heroes 92.47 KB
  T: (divides pupils into two teams. Teams choose the names for them). Now I’m going to tell you the names of some colour and you will pick up the flag with this colour.) Each pupil can get one point for his team.