Файл: Технология построения распределенных информационных систем (Принципы организации распределенной обработки информации).pdf
Добавлен: 04.07.2023
Просмотров: 350
Скачиваний: 2
Введение
система информация программный обеспечение
Одним из важнейших направлений интеграции сетевых технологий является распределенная обработка данных, позволяющая повысить эффективность удовлетворения информационной потребности пользователя и обеспечить гибкость и оперативность принимаемых им решений.
Под распределенной обработкой информации понимается комплекс операций с информацией (традиционно описываемый термином «обработка информации»), проводимый на независимых, но связанных между собой вычислительных машинах, предназначенных для выполнения общих задач.
Системы распределенной обработки информации (или распределенные вычислительные системы) в виде многомашинных вычислительных комплексов и компьютерных сетей представляют собой одну из наиболее прогрессивных форм организации средств вычислительной техники.
Появление и широкое распространение систем распределенной обработки информации обусловлено, с одной стороны, ускоренным развитием микроэлектроники, снижением стоимости вычислительных средств, увеличением их производительности при уменьшении габаритов, а с другой стороны — повышением требований к производительности, надежности и эффективности вычислительных систем, предъявляемых сферами их применения.
Важно отметить, что распределение (или разделение) не идентично параллелизму. Распределение видов обработки информации состоит в том, чтобы поручить их вычислительным машинам, наилучшим образом приспособленным к этому. Параллелизм же подразумевает понятие одновременности обработки информации. При этом распределение позволяет в ряде ситуаций проводить эффективную параллельную обработку информации при выполнении больших объемов параллельных вычислений. Таким образом, в общем случае распределение не подразумевает параллелизма, но возможность «распараллелить» распределенную обработку информации существует. Возможность взаимодействия вычислительных систем при реализации распределенной обработки информации определяют как их способность к совместному использованию данных или к совместной работе с использованием стандартных интерфейсов. Взаимодействие подразумевает понятие «открытых систем», то есть систем, способных к коммуникации в неоднородной среде. Взаимодействие между программами с точки зрения хронологии последовательно приобретало следующие формы:
— обмен (программы различных систем посылают друг другу сообщения, как правило, файлы);
— разделение (имеется непосредственный доступ к ресурсам нескольких машин, например, совместное использование файлов);
— совместная работа (машины играют в реализации программы взаимодополняющие роли).
Целью распределенной обработки информации является оптимизация использования ресурсов и упрощение работы пользователя.
Термин ресурс в данном случае используется в самом широком смысле: производительность обработки (производительность машин и систем), емкость запоминающих устройств, наличие периферийных устройств ввода и вывода информации. Эти ресурсы не обязательно должны быть сконцентрированы в одной вычислительной машине или системе. В соответствии с принципами совместной работы различных машин и систем при реализации распределенной обработки информации могут быть использованы ресурсы каждой из машин или систем.
Достоинствами распределенной обработки информации является:
- большое число взаимодействующих между собой пользователей;
- устранение пиковых нагрузок с централизованной базы данных за счет распределения обработки и хранения локальных баз данных на разных ЭВМ;
- возможность доступа пользователя к вычислительным ресурсам сети ЭВМ;
- обеспечение обмена данными между удаленными пользователями. Основные недостатки реализации распределенной обработки информации на сегодняшний день заключаются в ее зависимости от доступности, надежности, безопасности и характеристик сети.
-
Принципы организации распределенной обработки информации
-
Требования, предъявляемые к свойствам систем распределенной обработки информации
-
Для достижения целей реальной и эффективной распределенной обработки информации вычислительные системы должны обладать рядом важнейших свойств (атрибутов), основными из которых являются прозрачность, открытость, переносимость приложений, гибкость, масштабируемость, безопасность.
Под прозрачностью (transparency) понимают «незаметность» для пользователя внутренней работы системы, что достигается путем сокрытия от пользователя аспектов организации и реализации распределенной обработки информации. Пользователи распределенной системы должны обладать доступом к ресурсам, не задаваясь вопросами о взаимодействии между процессами, о физическом месте размещения ресурсов, о том, какой именно процесс обслуживает тот или иной запрос пользователя.
Под открытостью понимают использование синтаксических и семантических правил, основанных на стандартах. Правильный интерфейс обеспечивает возможность правильной совместной работы одного произвольного процесса, нуждающегося в интерфейсе, с другим произвольным процессом, представляющим интерфейс.
Переносимость приложений характеризует возможность приложения, выполненного для одной системы, работать в составе другой системы.
Гибкость характеризует легкость конфигурирования системы при изменении состава компонентов.
Масштабируемость, или расширяемость (scalability), означает способность распределенной системы увеличиваться в масштабах (возможность подключения к системе дополнительных компонентов) без влияния на работу существующих приложений и пользователей. Масштабируемость рассматривается по отношению к размеру (подключение дополнительных пользователей и ресурсов), к географическому положению (пространственное расположение пользователей и ресурсов), к административному устройству (управление в административно независимых организациях). Проблемы масштабируемости обычно связаны с «узкими» местами по обслуживанию (один сервер для множества клиентов), по данным (один файл с общей информацией), по алгоритмам (централизованный алгоритм и перегрузка коммуникационной сети).
Применение децентрализованных алгоритмов придает распределенной системе следующие характерные черты:
никто не обладает полной информацией о системе;
решения принимаются на основе локальной информации;
сбой в одном месте не вызывает нарушения работы алгоритма;
существования единого времени не требуется.
Требование масштабируемости является существенным препятствием на пути распространения систем, реализованных на базе локальных сетей, на уровень сетей глобальных.
Безопасность распределенных систем связана с обеспечением защиты ресурсов от атак со стороны враждебно настроенных пользователей. С целью повышения безопасности распределенные системы должны использовать защищенные каналы передачи данных, разрешать доступ к ресурсам только для авторизованных пользователей и допускать чтение передаваемых по сети данных только получателем.
-
-
Логические слои прикладного программного обеспечения вычислительных систем
-
Прикладное программное обеспечение (ПО) может быть представлено в виде набора из трех частей, обычно называемых слоями (или уровнями):
1) слой (уровень) логики (алгоритмов) представления, или презентационный слой;
2) слой (уровень) бизнес-логики (вычислительных и управляющих алгоритмов), или слой прикладной логики;
3) слой (уровень) логики доступа к данным, или слой управления ресурсами.
Каждая из указанных частей прикладного программного обеспечения вовсе не должна полностью соответствовать отдельному модулю программы, отдельной программе, процессу, функции или процедуре — такое разделение достаточно полезно, но не необходимо. Очень простые приложения часто способны собрать все три части в единственную программу, а подобное разделение соответствует функциональным границам.
Пользователи взаимодействуют с частью, называемой логикой представления, которая управляет доступом к приложению. Ее задача состоит в том, чтобы обеспечить средства для наиболее эффективного обмена информацией между пользователем и системой.
Бизнес-логика определяет, для чего, собственно, предназначено приложение. В зависимости от конкретных функциональных требований и сложности задач может быть полезным подразделить эту часть на несколько компонентов. В этом случае конкретная реализация каждого компонента может быть представлена в виде набора процедур (библиотеки), класса или классов объектов, отдельных программ. Разделение слоя бизнес-логики приложения по границам между программами обеспечивает потенциальную возможность распределения этой части для выполнения на разных вычислительных устройствах.
Алгоритмы доступа к данным исторически рассматривались как специфический для конкретного приложения интерфейс к механизму постоянного хранения данных наподобие файловой системы или системы управления базами данных (СУБД). При помощи этой части приложение управляет соединениями с базой данных и запросами к ней (перевод специфических для конкретного приложения запросов на язык базы данных, получение результатов и перевод этих результатов обратно в специфические для конкретного приложения структуры данных). К этой части относят только специфический для приложения интерфейс к СУБД, но не ее саму.
Разделение функциональных алгоритмов на логику представления, бизнес-логику и логику доступа к данным предполагает разные уровни абстракции в различных частях приложения. Разложение же приложения на части согласно различным уровням абстракции представляет иерархию, которую можно использовать, чтобы разделить одну программу на несколько одновременно исполняемых модулей. Процесс, реализующий один или несколько уровней в этой иерархии, не должен ничего «знать» об уровнях, расположенных выше или ниже. Поэтому, за исключением обмена информацией между процессами в различных слоях, каждый процесс независим и самодостаточен. Процесс на одном уровне не нуждается в прямом доступе к структурам данных, расположенным на другом уровне. Следовательно, процесс может быть легко выделен в отдельно исполняемую программу.
Представленное послойное разделение прикладного программного обеспечения минимизирует взаимодействие между составными элементами и потому служит основой для выделения компонентов, которые могут быть распределены для работы на нескольких вычислительных машинах.
-
-
Архитектурное построение систем распределенной обработки информации
-
Исторически первым вариантом архитектурного построения вычислительной системы была архитектура с централизованной обработкой информации, когда одна мощная универсальная ЭВМ являлась единственной платформой, выполняющей все слои логики приложения. Централизованная архитектура характеризуется рядом существенных достоинств: простота разработка приложений, легкость обслуживания и управления. Именно эти достоинства обеспечили широкое практическое применение и долгое существование вычислительных систем с централизованной обработкой информации.
Появление классов мини- и микро-ЭВМ, а особенно класса персональных компьютеров (ПК) привело к разработке архитектур с децентрализованной обработкой информации, функционирующих в рамках парадигмы построения сетей, называемой моделью клиент/сервер (client/server model). Клиентами (client) в данном случае считаются вычислительные машины, нуждающиеся в получении тех или иных услуг, а серверами (server) — вычислительные машины, которые эти услуги предоставляют.
Первой разновидностью такой архитектуры может считаться так называемая архитектура с разделением файлов, которая включает несколько машин-клиентов, связанных сетью с машиной-сервером — файловым сервером. Файловый сервер загружает файлы из разделяемого местоположения, а прикладные программы полностью исполняются на компьютерах-клиентах. Эта архитектура достаточно проста в реализации, однако метафора совместного использования файлов крайне ограничивает число параллельных пользователей ввиду того, что при увеличении количества клиентов производительность системы существенно сокращается из-за частых конфликтов обновления данных и необходимости передачи по сети больших объемов трафика, требующих экономически затратного повышения пропускной способности сети.
Результатом усовершенствования архитектуры с разделением файлов стала замена файлового сервера сервером баз данных. Вместо передачи файлов целиком он пересылает только ответы на запросы клиентов, уменьшая нагрузку на сеть.