Файл: Распределенная технология обработки информации (Основные понятия распределенной обработки информации).pdf
Добавлен: 28.04.2023
Просмотров: 577
Скачиваний: 6
Однозвенная архитектура - архитектура с централизованной обработкой информации.
Двухзвенная архитектура - это приложение разделено на две части: клиентскую и серверную. Мы знаем, что прикладное программное обеспечение в двухзвенной архитектуре, на стороне клиента содержит логику представления, а логика доступа к данным и сама база данных находятся на стороне сервера. Алгоритмы бизнес-логики, размещены или на стороне сервера, или частично на машине клиента вместе с логикой представления. Если на стороне клиента лишь части логики представления, но достаточной для работы клиента, то данная модель используется для современных архитектур терминальных, бездисковых, рабочих станций.
Трехзвенная архитектура, как двухзвенная, поддерживает концепцию клиент-сервер, но и мы знаем – она же и делит систему по функциональным границам между тремя слоями; логикой представления, бизнес-логикой и логикой доступа к данным. В трехзвенной архитектуре появилось дополнительное звено, и им является сервер приложений, для решения бизнес-логики. Данная архитектура отделяет прикладную логику от пользовательского интерфейса. Многозвенная архитектура используется при наличии большого количества программных ресурсов. Мы выделяем следующие архитектуры; архитектуру с несколькими процессами и многопоточная архитектуру. Архитектура с несколькими процессами - это когда несколько файлов работают одновременно. Данные системы выделяются хорошей масштабируемостью, но требуют значительных расходов памяти. Память каждого экземпляра приложения выделяется отдельно. Такая архитектура при наличии развитого механизма взаимодействия процессов и полагается на операционную систему при разделении процессорного времени между отдельными экземплярами приложения. Многопоточная архитектура - эта архитектура использует только один исполняемый файл, с несколькими потоками исполнения. Преимущество – это минимальные требования к оборудованию, чем для архитектуры с несколькими процессами. Сервер берет разделение времени между отдельными потоками, давая преимущество одних задач над другими задачами. Поэтому отпадает необходимость в сложном механизме взаимодействия процессов. Сервер информационной сети должен соответствовать его функциональному назначению и потребностям сети. Если мы будем использовать подход открытых систем, тогда надо использовать логические серверы. Логический сервер в открытой системе, если его переместить на отдельный компьютер, то не потребуется настройка как самого сервера, но и прикладных программ. При мульти-серверной архитектуре, мы видим многопроцессорные платформы, которые обрабатывают параллельно запросы, несколькими процессорами. Для этого порядка необходимо дополнительное звено, которое должно распределять загрузку между процессорами. Еще распределение запросов зависит от операционной системы, мы должны знать, сможет ли она поддерживать потоковую обработку и имеются ли средства для управления приоритетами задач. При данной архитектуре можно повысить оперативность, если база данных расположена на нескольких физических носителях, тогда запрос запускает ряд серверных процессов, которые независимо выполняют одинаковую последовательность действий, зависящую от самого запроса и имея данные, принадлежащие разным сегментам базы. Результаты соединяются и передаются клиенту-этот подход распараллеливания называют моделью горизонтального параллелизма. При конвейерной технологии, запрос разбивается на взаимосвязанные по результатам подзапросы, каждый из них обслуживается отдельным серверным процессом, которые обрабатываются отдельно друг от друга. Результат объединяется и передается клиенту. Этот подход распараллеливания называют моделью вертикального параллелизма. Специфика архитектуры-один к одному заключается в том, что к клиентам поступают одинаковые запросы, для обработки каждого, запускается отдельный процесс, который выполняет одинаковые действия и использует такие же ресурсы.
Механизмами распределенной обработки информации являются: удаленная процедура-модель RPC, транзакционные мониторы. Удаленное обращение к методам объектов – модель RMI, брокеры объектов – COBRA, взаимодействие на основе обмена сообщениями-MOM.
Модель удаленных процедур - RPC состоит в расширении понятного механизма передачи управления и данных внутри программы, которая работает на одной машине, на передачу управления и данных через сеть. Удаленный вызов процедур предназначен для процедуры быстрой организации распределенных вычислений. Данная модель эффективна в приложениях, где используется интерактивная связь между удаленными компонентами с небольшим временем ответов и относительно малым количеством передаваемых данных. Эти приложения называют RPC-ориентированными, их особенностями являются асимметричность и синхронность. Механизм удаленной процедуры, его организация работы с процессами на нескольких разных машинах, не отличается от работы на одной машине. Механизм удаленного вызова является основной технологией, которая реализуется при построении распределенных приложений на основе архитектуры клиент-сервер. В данной архитектуре берется за основу – модель распределенных ресурсов. Она работает на механизме удаленных вызовов. Одним основным компонентом технологии клиент-сервер является интерфейс. Он реализует операции от сервера к клиенту.
Мониторы обработки транзакций - это программные системы, которые управляют информационно-вычислительными ресурсами в распределенной системе. Эти программные системы являются открытой средой для решения вопроса разработки и управления мобильными приложениями, ориентированными на оперативную обработку распределенных транзакций. Мониторы обработки транзакций TPM, обеспечивают мультиплексный доступ к ресурсам для параллельных пользователей. Механизм TPM - это технология распределенных систем, которая является универсальной для выполнения определенных операций вычислительными машинами. Данная технология является - технологией промежуточного программного обеспечения. Это программное обеспечение реализуется на основе автоматизированной поддержки приложений, оформленных в виде последовательности транзакций. Данный механизм привлекает возможность декомпозиций приложений по нескольким уровням с определенными функциями и стандартными интерфейсами, поэтому можно строить модифицируемые системы со стройной и целостной архитектурой. Транзакционный монитор поддерживает выполнение распределенных транзакций на основе модуля RPC. Поэтому данный вызов удаленных процедур независим. При работе сервера, выполняющего удаленную процедуру, которая вызывает другой сервер, нет способа отличить ошибку. Транзакционный вызов может быть подтвержден, если имеются гарантии, что каждый из вызовов завершился успешно. При прерывании группы вызовов, эффект останется таким же, как и прерывании одного из вызовов. Данные вызовы, мы видим, как единое целое, а инфраструктура RPC решает их атомарность. Транзакция может включать функциональность, безопасность и аутентификацию, компиляторы переходников, поддержку работы с транзакционными вызовами, ведение журнальных записей, восстановление, блокировку, управление процессами и приоритетами, балансировку нагрузки, репликацию, управление ресурсами. Такое программное обеспечение, ориентированно на обмен сообщениями. Поэтому модель приложения может обмениваться сообщениями.
Технология RMI, представляет сетевое программирование на более высокий уровень. RMI относительно проста в использовании, но является мощной технологией и использует язык JAVA. Данная технология может разрабатывать распределенные JAVA‑программы, также, как и при разработке нераспределенных программах. Эта программа использует распределенные JAVA‑объекты также, как и локальные объекты. Модель RMI было создано для распределенной объектной модели JAVA, которая интегрируется в язык программирования и локальную объектную модель. На этой основе создана система, которая обладает безопасностью и устойчивостью.
Брокеры объектов CORBA используются в информационных технологиях для написания распределенных приложений. Ее механизм позволяет использовать различные языки программирования. CORBA – это прикладная программа. У Архитектуры CORBA имеется три основных блока: IDL – язык описания интерфейсов, ORB – брокер объектных запросов, IIOP – стандартный протокол обмена данными для CORBA, реализованный на базе TCP/IP. CORBA-приложения состоят из объектов, отдельных модулей программного обеспечения, объединяющих функциональность и данные. Она является стандартом для построения распределенных приложений, когда компьютеры через удаленный доступ вызывают программные методы и объекты друг друга. Они в узлах сети взаимодействуют друг с другом. Основные отличие этой технологии от других: объекты находятся в разных местах сети, они взаимодействуют с объектами CORBA на других платформах, объекты используют разный язык программирования, который поддерживает интерфейс.
Обмен сообщениями MOM - это системы промежуточного слоя. Сущность в том, что модели - приложения обмениваются сообщениями. Данные системы используют API-интерфейсы, которые изолируют их от взаимодействия с операционными системами и сетевыми протоколами. Эта модель поддерживает синхронные и асинхронные способы. Обмен сообщениями происходит: с передачей сообщений, c очередями сообщений и публикацией-подпиской. Системы с передачи сообщений, общаясь с поддерживающими данный механизм системами - обеспечивают непосредственное взаимодействие приложений друг с другом путем отправки и получения сообщения. При этом программные модули устанавливается логическое соединение. Сообщения обмениваются в синхронном и асинхронном режиме.
Таким образом, нами в данной главе описаны характеристики архитектур и механизмов, дан их анализ и возможностей для областей применения. Предложены модели архитектур и механизмов для решения поставленных задач. Проанализированы возможности приведенных выше архитектур и механизмов для достижения поставленной цели.
3. Технологии распределенной обработки информации.
Распределенная обработка информации строится на технологиях: клиент-сервер, объектного связывания, репликации. Клиент-сервер является технологией открытых систем. Принцип открытых систем-это независимость пользователя от поставщика. Пользователь, придерживаясь стандартов открытых систем, используя продукты разных фирм может увеличить мощность системы. Подход открытых систем обеспечивает решение вопроса аппаратных и программных средств. Технология обработки информации построена на реализации баз данных. Эта модель позволяет решить вопрос повышения скорости обработки информации. Технология клиент-сервер, заменила технологию файл-сервер. Она впитала особенности однопользовательских систем с достоинствами крупных компьютерных систем. Система управления базами данных-это набор программ, позволяющих создавать и поддерживать базу данных в рабочем состоянии. Она имеет: ядра, язык и интерфейс клиента. При данной технологии серверы находятся на мощных машинах, приложение клиентов, использующих язык на слабых машинах. Программа клиента, запросы хранятся от системы управления базами данных отдельно. Технология клиент – сервер распределенных систем базируется на отсутствии центрального узла. Технология поддерживает обработку данных и обеспечивает клиенту доступ к базе данных, и доступ к централизованной базе данных. Данные хранятся на локальном узле, на удалённом узле, обоих узлах. Если сравнить модели клиент-сервер –двухуровневую и трехуровневую. Двухуровневая модель-это модель, где база данных состоит из таблиц локальных баз данных. Эти базы данных находятся на одном узле и там находится сервер баз данных, а прикладные программы расположены на клиентских узлах. Трёхуровневая модель-эта модель, где база данных состоит из таблиц локальных баз данных, они расположены на одном узле. Сами программы доступа к данным и часть прикладных программ находятся на другом узле, а клиентские приложения на клиентских узлах. Сервер баз данных призван решать следующие задачи: управление именами в распределенной среде, оптимизация запросов, управление транзакциями. Интерфейс сервера использует язык SQL. Протокол удаленного вызова процедур необходим в системах управления базами данных. При механизме удаленных процедур перераспределяются функции между клиентской и серверной частями системы. При нем скрываются различия между взаимными компьютерами. Эта технология позволяет большому количеству пользователей иметь доступ к данным. Технология клиент-сервер разработана с расчетом на клиента и сервер, которые размещены на одной электронно-вычислительной машине. Эта технология совпадает с централизованной системой управления базами данных. Поэтому распределенная обработка и распределенная система управления базами данных в этой модели не поддерживаются. Если модель клиент-сервер направлена на централизованное распределение, то при этой технологии клиент имеет доступ к информации удаленного сервера, данные считываются, доступ к данным возможен с помощью удаленных транзакций и запросов.
Технология репликации-это, процесс создания и воспроизведения нескольких копий данных, которые находятся и на нескольких узлах. Задачей репликации распределенной системы считается поддержка копии фрагмента на нескольких узлах. Фрагменты приложений воспроизводятся, исходя из особенностей использования базы данных. Проектирование происходит на основе ряда показателей: узла запуска, частоты запуска приложений и производительности транзакций приложений. Фрагменты при данной технологии делятся по разным узлам для достижения своих целей: локальности ссылок, надежности, уровня производительности. В основу ссылок фрагмент, работающий с несколькими узлами, на которых находятся его реплики. Если произошел сбой на узле, то копия будет находится на другом узле. Базы данных могут делится на разные фрагменты, непересекающиеся друг с другом, каждый фрагмент находится на одном из узлов системы. Уровень локальных ссылок может быть высоким, если на узлах находятся фрагменты данных. Копия баз данных находится на каждом узле системы. Поэтому при полной репликации –локальность ссылок, надежность и производительность системы является высокой. Фрагментация необходима для повышения результативности работы системы. На каждом из фрагментов, должен находится один из элементов данных, что является гарантией сохранения информации. Необходимость создания механизма репликации – заключается в обеспечении доступа пользователя к данным, в то время, когда он в этом нуждается. Существует два вида репликации: синхронная и асинхронная. Синхронной репликацией называют условия, когда копии реплицируемых данных обновляются одновременно с изменением исходной копии, при помощи протокола двухфазной фиксации транзакций. Асинхронная репликация – это обновление целевых баз данных после выполнения обновления исходной базы данных. При технологии репликации данных, пользователи могут работать независимо друг от друга с копиями, расположенными в базах данных –данными. Реплика –это копия баз данных. Клиент серверные информационные системы уступают по производительности информационными системам репликации данных. Основа технологии репликации распределенных данных – это копирование данных из одной базы данных в другую синхронно или асинхронно. К функциям относится: масштабируемость, трансформация, репликация объектов, механизм подписки, средства схемы репликации. Другими словами, это обработка малых и больших объемов данных, реализация данных в гетерогенных системах на нескольких платформах, репликация индексов и хранимых процедур, предоставление пользователям создание данных и объектов для репликации, оформление подписки на данные необходимые для репликации. В данной технологии имеются ряд схем владениями данных, к ним можно отнести: ведущий-ведомый, рабочий поток, повсеместное обновление. При схеме ведущий-ведомый асинхронно реплицируемые данные находятся на одном из узлов и обновляются только на нем. Схема рабочего потока разрешает делится реплицируемыми данными от одного сайта к другому. У этих моделей существуют схожие моменты, в заданный отрезок времени один из узлов может обновлять данные. Схема повсеместного обновления создает равные условия, когда множество узлов обновляются на реплицируемых данных. Технология позволяет использование файла журнала восстановления базы данных, позволяющего снизить уровень нагрузки на систему. Файл журнал для изменений исходных данных, передает полученные изменения, не касаясь нормальной работы исходной системы. При этом система управления базами данных работает как внешний сервер или может быть частью системы управления базами данных. Другим методом может быть триггер базы данных. Триггер базы данных имеет хорошую гибкость и создает моментальный снимок, но пользователю необходимо написания триггерных процедур. Если множество узлов вносят изменения в реплицируемые данные, то применяется метод, который дает возможность выявлять конфликтующие данные и восстанавливать согласованность информации в базе. Репликационные системы реализуют дублирование ресурсов. При этом система воспроизведет присущие ей свойства. Прозрачность репликации, показывает, что пользователю не надо знать о репликации фрагментов. Прозрачность репликации воспроизводит прозрачность реплик. Она разрешает производить и уничтожать дубликаты, в разное время, в соответствии с заданной программой. В централизованной базе данных, каждый элемент распределенной базы имеет свое имя. Данная технология позволяет строить распределенные информационные системы с элементами централизации, по стоимости ниже, чем клиент-серверные технологии. Поэтому описанная нами технология репликации - является наиболее подходящей технологией для минимизации сетей и является наиболее перспективной для отказоустойчивости. [14, C.89,90], [18, C.34] Мы исходим из следующих условий, решение вопроса минимизации сети возможно, если процесс оптимизации запросов и их выполнения будут распределенными. [7, C.32] Распределенные системы имеют способность хранения информации о репликации, у этих систем есть централизованное хранение информации. Они обладают свойствами полной репликации. Возможны и другие варианты в распределенных сетях, к примеру, головной каталог –это сеть локальных каталогов. Если предположить, что мы будем использовать первичную копию, при параллельном способе, [21, C.1] который обладает механизмом блокировки, то тогда у нас каждый узел отвечает за блокировку объектов. Мы при данном подходе, с учетом блокировки узла первичной копии и если учитывать, что все копии объекта – это единый объект, то получается, что общее число сообщений у нас минимизировано. Продолжая, тему репликации и анализируя возможные неисправности оборудования, сбои в работе программных средств. [20, C.28] Для решения вопроса отказоустойчивости систем, становится возможным, применения метода резервирования узла. [8, C.1] Этот метод позволяет использовать копии данного объекта и решить вопрос восстановления потерянной информации после поломки оборудования. Способ приведенный выше позволил предложить решение проблемы – отказоустойчивости и тем самым ответить решением проблемы, на вторую часть поставленной задачи. Вывод: поставленные нами задачи выполнены. Цель минимизации сетей и отказоустойчивости в распределенной обработки информации достигнута. Эта стало возможным после изучения каждой технологической модели, именно изучение их и позволило найти способы решения проблемы.