ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 814
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
22 ность ресурсов в случае возникновения частичного отказа, но и помо- гает балансировать нагрузку между компонентами системы, тем са- мым увеличивая производительность. Кэширование представляет со- бой особую форму репликации, когда копия ресурса создается в непосредственной близости от пользователя, использующего этот ре- сурс. Разница заключается лишь в том, что репликация инициируется владельцем ресурса, а кэширование – пользователем при обращении к этому ресурсу.
Однако стоит отметить, что наличие нескольких копий ресурса приводит к другим сложностям, а именно к необходимости обеспечи- вать их непротиворечивость (англ. consistency), что, в свою очередь, может отрицательно сказаться на масштабируемости системы. Таким образом, распространение и репликация позволяют распределить по- ступающие в систему запросы по нескольким ее компонентам, в то время как кэширование уменьшает количество повторных обращений к одному и тому же ресурсу.
Кэширование призвано не только снижать нагрузку на компо- ненты распределенной системы, но и позволяет скрывать от пользо- вателя задержки коммуникации при обращении к удаленным ресур- сам. Подобные технологии, скрывающие задержки коммуникации, важны для достижения географической масштабируемости системы.
К ним, в частности, еще можно отнести механизмы асинхронной свя- зи, в которых клиент не блокируется при обращении к удаленной службе, а получает возможность продолжить свою работу сразу после обращения. Позже, когда будет получен ответ, клиентский процесс сможет прерваться и вызвать специальный обработчик для заверше- ния операции.
Сложности разработки распределенных систем
Реализация перечисленных выше свойств распределенных си- стем на практике представляет непростую задачу. Основные сложно- сти вытекают именно из того факта, что компоненты распределенной системы территориально удалены друг от друга и выполняются на не-
23 зависимых компьютерах в сети. Игнорирование этого обстоятельства на этапе проектирования и разработки соответствующего программ- ного обеспечения часто приводит к существенным проблемам в функционировании распределенной системы.
В этой связи еще в 90-х годах прошлого века сотрудник компа- нии Sun Microsystems Питер Дейч в своей статье «Восемь заблужде- ний относительно распределенных вычислений» сформулировал ос- новные ошибки, которые допускают при создании распределенных приложений. Он писал: «По существу, каждый, кто впервые создает распределенное приложение, делает следующие предположения. Все они, в конце концов, оказываются ложными, и все вызывают большие неприятности. Вот эти восемь заблуждений:
1. Сеть является надежной.
2. Задержки передачи сообщений равны нулю.
3. Полоса пропускания не ограничена.
4. Сеть является безопасной.
5. Сетевая топология неизменна.
6. Систему обслуживает только один администратор.
7. Издержки на транспортную инфраструктуру равны нулю.
8. Сеть является однородной».
Важно отметить, что перечисленные предположения как раз и отличают разработку традиционных локальных приложений и систем от распределенных в том смысле, что для нераспределенных прило- жений большинство из этих допущений остается верным, а пробле- мы, возникающие при нарушении любого из них, скорее всего, не бу- дут проявляться. Большая же часть принципов, лежащих в основе распределенных систем, имеет непосредственное отношение к пере- численным предположениям. Поэтому в области распределенных вычислений рассматриваются методы и алгоритмы, позволяющие ре- ализовывать распределенные системы, при условии того, что хотя бы одно из представленных допущений является ложным. Например, по- нятно, что надежных сетей не существует, что, в свою очередь, при- водит к невозможности достижения абсолютной прозрачности отка- зов. Другим примером может являться необходимость принимать во
24 внимание доступную полосу пропускания и ненулевую задержку об- мена сообщениями в сети при реализации и использовании механиз- мов репликации.
1.2. Базовая модель и метод «клиент-сервер»
Современная информационная сеть - это сложная распределен- ная в пространстве техническая система, представляющая собой функционально связанную совокупность программно-технических средств обработки и обмена информацией и состоящая из территори- ально распределенных информационных узлов (подсистем обработки информации) и физических каналов передачи информации их соеди- няющих. Такая система в совокупности определяет физическую структуру ИС.
Физическая структура ИС характеризует физическую организа- цию технических средств ИС и описывает множество пространствен- но (территориально) распределенных подсистем (информационных узлов), реализующих ту или иную совокупность информационных процессов и оснащенных программно-аппаратными средствами их реализации, соединенных физическими каналами передачи информа- ции (каналами связи), обеспечивающими взаимодействие этих подси- стем.
Информационная структура ИС - определяется потребностями отдельных ИП в обмене информацией и представляется совокупно- стью пространственно распределенных информационных узлов, ис- пытывающих потребность взаимосвязи, и путей доставки информа- ции между ними.
Маршрутная структура ИС описывает множество адресуемых элементов сети (информационных узлов, информационных процес- сов) и множество реализованных путей доставки информации между этими элементами.
Примером маршрутной структуры для сети передачи данных
(ПД) может служить план распределения сообщений (ПРС), пред- ставляющий собой совокупность таблиц маршрутов всех узлов сети
25
ПД и определяющий для множества узлов сети множество реализо- ванных маршрутов доставки пакетов.
Архитектура ИС абстрагируясь от конкретной физической реа- лизации элементов сети и конкретной физической структуры, обоб- щает информационную, логическую, маршрутную структуры, опре- деляет модель ИС, основные компоненты данной модели и функции выполняемые ими. Определяют также понятие функциональной ар- хитектуры сети как часть общей архитектуры, которая для конкрет- ной модели в целом и ее компонент в частности, определяет их функ- циональную наполненность и принципы функционирования. Физиче- ская структура в свою очередь конкретизирует архитектуру для кон- кретной информационной сети, построенной с применением конкрет- ных комплексов технических средств и заданных вариантов реализа- ции программно - технических средств.
Примером хорошо проработанной и стандартизованной между- народной организацией стандартов (МОС) функциональной архитек- туры ИС, описывающей правила реализации только подмножества функций взаимосвязи (функций телекоммуникационной сети) при взаимодействии ИП, выполняющих функции содержательной обра- ботки информации в территориально распределенных узлах инфор- мационной сети, является семиуровневая архитектура эталонной мо- дели взаимосвязи открытых систем (ЭМВОС).
Последние десятилетия информационные системы строятся по сетевой технологии и на концепции баз данных. Как показывает ми- ровой опыт, это направление останется доминирующим и в ближай- шей перспективе, а изменения возможны лишь в подходах к его реа- лизации. Наиболее передовой технологией построения баз данных является технология «клиент-сервер» (рис. 1.1). Клиент-сервер - это не только архитектура, это – новая парадигма, пришедшая на смену устаревшим концепциям. Суть ее заключается в том, что клиент (ис- полняемый модуль) запрашивает те или иные сервисы в соответствии с определенным протоколом обмена данными. При этом нет необхо- димости в использовании прямых путей операционной системы: кли- ент их «не знает», ему «известны» лишь имя источника данных и дру-
26 гие специальные сведения, используемые для авторизации клиента на сервере. Сервер, который физически может находиться на том же компьютере, а может – на другом конце земного шара, обрабатывает запрос клиента и, произведя соответствующие манипуляции с дан- ными, передает клиенту запрашиваемую порцию данных.
Рис.1.1. Архитектура технологии «клиент-сервер»
Эволюционно сложилось несколько моделей и методов данной технологии:
модель и метод файлового сервера (File Server - FS);
модель и метод доступа к удаленным данным (Remote Data
Access - RDA);
модель и метод сервера базы данных (DataBase Server -
DBS);
модель и метод сервера приложений (Application Server -
AS).
Модель файлового сервера (FS-модель) является базовой для локальных сетей персональных компьютеров (рис. 1.2). Исторически
– это первая архитектура информационных систем. Как исполняемые модули, так и данные размещаются в отдельных файлах операцион- ной системы. Доступ к данным осуществляется путем указания пути
(path) и использования файловых операций (открыть, считать, запи- сать). Для хранения данных используется выделенный сервер (от- дельный компьютер), который и является файловым сервером. Ис- полняемые модули хранятся либо на рабочих станциях, либо на фай- ловом сервере. В последнем случае упрощается процедура их адми-
27 нистрирования, но при этом возрастают требования к надежности се- ти.
Суть модели заключена в следующем. Один из компьютеров в сети считается файловым сервером и предоставляет услуги по обра- ботке файлов другим компьютерам. Файловый сервер работает под управлением сетевой операционной системы и осуществляет доступ к информационным ресурсам (то есть к файлам). На других компьюте- рах в сети функционирует приложение. Протокол обмена представля- ет собой набор низкоуровневых вызовов, обеспечивающих приложе- нию доступ к файловой системе на файл-сервере. FS-модель послу- жила фундаментом для расширения возможностей персональных си- стем управления базами данных (СУБД) в направлении поддержки многопользовательского режима. В таких системах на нескольких персональных компьютерах выполняется как прикладная программа, так и копия СУБД, а базы данных содержатся в разделяемых файлах, которые находятся на файловом сервере. Когда прикладная програм- ма обращается к базе данных, СУБД направляет запрос на файловый сервер. В этом запросе указаны файлы, где находятся запрашиваемые данные. В ответ на запрос файловый сервер направляет по сети тре- буемый блок данных. СУБД, получив его, выполняет над данными действия, которые были декларированы в прикладной программе.
К недостаткам модели относят высокий сетевой трафик (пере- дача множества файлов, необходимых приложению), узкий спектр операций манипуляции с данными, отсутствие адекватных средств безопасности доступа к данным (защита только на уровне файловой системы) и т.д.
1.3. Модификации модели и метода «клиент-сервер»
Модель и метод доступа к удаленным данным
Более технологичные метод и модель доступа к удаленным дан- ным (RDA-модель) (рис. 1.2) существенно отличаются от FS модели
28 характером доступа к информационным ресурсам. Это обеспечивает- ся операторами специального языка (например, SQL-Structured Query
Language). Клиент направляет запросы к информационным ресурсам
(например, к базам данных) по сети удаленному компьютеру. На нем функционирует ядро СУБД, которое обрабатывает запросы, выполняя предписанные в них действия, и возвращает клиенту результат, оформленный как блок данных. При этом инициатором манипуляций с данными выступают программы, выполняющиеся на компьютерах- клиентах, в то время как ядру СУБД отводится пассивная роль – об- служивание запросов и обработка данных. Такое распределение обя- занностей между клиентами и сервером базы данных не догма – сер- вер БД может играть более активную роль, чем та, которая предписа- на ему традиционной парадигмой.
RDA-модель избавляет от недостатков, присущих как системам с централизованной архитектурой, так и системам с файловым серве- ром. Сервер БД освобождается от несвойственных ему функций; про- цессор или процессоры сервера целиком загружаются операциями обработки данных, запросов и транзакций. Это становится возмож- ным благодаря отказу от терминалов и оснащению рабочих мест ком- пьютерами, которые обладают собственными локальными вычисли- тельными ресурсами, полностью используемыми программами пе- реднего плана. С другой стороны, резко уменьшается загрузка сети, так как по ней передаются от клиента к серверу не запросы на ввод- вывод (как в системах с файловым сервером), а запросы на языке
SQL, их объем существенно меньше.
Основное достоинство RDA-модели – унификация интерфейса
«клиент-сервер» в виде языка SQL.
Модель и метод сервера базы данных
Наряду с RDA-моделью все большую популярность приобрета- ет перспективная модель и метод сервера базы данных (DBS - мо- дель) (рис. 1.2). Ее основу составляет механизм хранимых процедур
– средство программирования SQL-сервера. Процедуры хранятся в
29 словаре базы данных, разделяются между несколькими клиентами и выполняются на том же компьютере, где функционирует SQL-сервер.
Язык, на котором разрабатываются хранимые процедуры, представ- ляет собой процедурное расширение языка запросов SQL и уникален для каждой конкретной СУБД.
Достоинства DBS-модели очевидны: это возможность центра- лизованного администрирования прикладных функций, снижение трафика (вместо SQL-запросов по сети направляются вызовы храни- мых процедур), возможность разделения процедуры между несколь- кими приложениями, экономия ресурсов компьютера за счет исполь- зования единожды созданного плана выполнения процедуры. К недо- статкам модели можно отнести ограниченность средств, используе- мых для написания хранимых процедур, которые представляют собой разнообразные процедурные расширения SQL, не выдерживающие сравнения по средствам и функциональным возможностям с языками третьего поколения, такими как C, С++ или Pascal. Сфера их исполь- зования ограничена конкретной СУБД, в большинстве СУБД отсут- ствуют возможности отладки и тестирования разработанных храни- мых процедур.
На практике часто используется смешанные модели, когда под- держка целостности базы данных и некоторые простейшие приклад- ные функции поддерживаются хранимыми процедурами (DBS- модель), а более сложные функции реализуются непосредственно в прикладной программе, которая выполняется на компьютере-клиенте
(RDA-модель).
Модель и метод сервера приложений
В модели сервера приложений (AS-модели) процесс, выполня- ющийся на компьютере-клиенте, как обычно отвечает за интерфейс с пользователем. Прикладные функции выполняются сервером прило- жения. Все операции над информационными ресурсами выполняются сервером баз данных. RDA- и DBS-модели опираются на двухзвен- ную схему разделения функций. В AS-модели реализована трехзвен-