Распределенная обработка информации в системах клиент-сервер. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Распределенная обработка информации в системах клиент-сервер.



 

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

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

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

1. Сервер. Сервер - это процесс, реализующий некоторую сетевую службу. Существует второе определение сервера, как ЭВМ, осуществляющая управление доступом к ресурсам сети. Эти два определения не противоречат друг другу, а первое определение является даже более общим. С точки зрения первого определения, второе определение можно перефразировать, как ЭВМ, на которой работает процесс, реализующий сетевую службу предоставления доступа к ресурсам сети;

2. Клиент. Клиент - это процесс, запрашивающий службы у серверов. Взаимодействие клиента и сервера осуществляется в режиме «запрос-ответ».

Прикладные программы типа «клиент-сервер» принято делить на три логических уровня:

1. Уровень пользовательского интерфейса - обычно реализуется на рабочих станциях (клиентских ЭВМ). Этот уровень содержит средства взаимодействия (интерфейса) пользователя и прикладной программы.

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

3. Уровень данных - содержит программы обеспечения доступа к данным и их сохранности. Обычно уровень данных реализуется на серверах.

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

 

 

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

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

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

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

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

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

 

 

Одноранговые сети.

 

Однора́нговая, децентрализо́ванная или пи́ринговая (от англ. peer-to-peer, P2P — равный к равному) сеть — это оверлейная компьютерная сеть, основанная на равноправии участников. В такой сети отсутствуют выделенные серверы, а каждый узел (peer) является как клиентом, так и сервером. В отличие от архитектуры клиент-сервера, такая организация позволяет сохранять работоспособность сети при любом количестве и любом сочетании доступных узлов. Участниками сети являются пиры.

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

Каждый пользователь в одноранговой сети является одновременно сетевым администратором. Это означает, что каждый пользователь в сети управляет доступом к ресурсам, расположенным на его компьютере.

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

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

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

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

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

Преимущества одноранговых сетей:

- легкость в установке и настройке;

- независимость отдельных машин от выделенного сервера;

- возможность пользователем контролировать свои собственные ресурсы;

- сравнительная дешевизна в приобретении и эксплуатации;

- отсутствие необходимости в дополнительном программном обеспечении, кроме операционной системы;

- отсутствие необходимости иметь отдельного человека в качестве выделенного администратора сети.

Недостатки одноранговых сетей:

- необходимость помнить столько паролей, сколько имеется разделенных ресурсов;

- необходимость производить резервное копирование отдельно на каждом компьютере, чтобы защитить все совместные данные;

- падение производительности при доступе к разделенному ресурсу, на компьютере, где этот ресурс расположен;

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

 

 



Поделиться:


Последнее изменение этой страницы: 2016-08-26; просмотров: 726; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.55.14 (0.017 с.)