Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы и средства передачи данных в автоматизированных системах. Учебное пособие
.pdf
1.5. Возможные архитектуры распределенных автоматизированных систем
21
При выполнении процесса обработки данных клиент должен сформировать запрос на сервер и, фактически, вызвать на выполнение ту или
иную процедуру. Это может быть, например, чтение файла, запись информации в кэш или сохранение записи в базу данных, поиск информации в
базе данных, получение информации от датчика, выдача управляющей последовательности на периферийное устройство, генерацию файла, печать
файла и так далее.
Сервер выполняет такой запрос за определенное время, называемое
временем отклика системы. Результаты выполнения запроса передаются
обратно клиенту. Если обработка запроса завершилась неудачно или возникла ошибка или большая задержка, то формируется код ошибки на стороне сервера или на стороне клиента.
Следует также отметить, что автоматизированные системы, да и системы общего характера, построенные по принципам «клиент-сервер», используют следующие типы программных соединений:
1) простое соединение клиент ‒ сервер с использованием протоколов
HTTP/HTTPS ‒ в этом случае клиент спрашивает, а сервер отвечает на за-
прос, а сам сервер не может что-либо передать на клиента, т.е. не может
быть инициатором запроса – это стандартный вид взаимодействия;
2) двухстороннее соединение клиент ‒ сервер по «сокетному» прото-
колу, при этом мы можем выделить socket-соединение по локальной сети и
websocket ‒ по сети интернет ‒ в этом случае и клиент может передать запрос на сервер и получить ответ, и сам сервер может передать запрос на
конкретного клиента и получить ответ ‒ это нестандартный вид двухстороннего взаимодействия в реальном времени;
3) оповещение клиент-серверной системы ‒ это каналы типа webhook
или push-нотификаций: в первом случае на сервере формируются точки доступа для приема запросов (уведомлений) извне без опроса этих внешних
систем (подсистема управления изменениями), а во втором случае ‒ это
уведомление подписанных клиентов со стороны сервера по специальным
протоколам через внешние службы.
Достоинствами архитектуры с выделенным сервером являются:
1) возможность использования сильной централизованной защиты,
централизованной системы управления и мониторинга;
2) простота разработки;

Глава 1. Основы систем передачи данных
22
3) возможность синхронизации;
4) в таких системах практически отсутствует ограничение на число
подключенных клиентов, все зависит только от мощности сервера;
5) простота управления;
6) центральное хранилище информации, включая файлы и базы дан-
ных, благодаря которому для пользователей становится возможна работа с
одними и теми же объектами (в режиме совместного редактирования или
комментирования), разграничение доступа и резервное копирование, причем резервирование данных упрощается, отсутствуют коллизии доступа к
одним и тем же ресурсам, проблемы «гонки» процедур записи и чтения,
проблемы версификации и актуальности хранимых данных уже становятся
не столь актуальными;
7) высокая и прогнозируемая скорость работы;
8) возможность использования дорогого оборудования, разделяя его
ресурсы между несколькими системами или пользователями;
9) выделенные серверы, если они оптимизированы, функционируют
в режиме разделения ресурсов быстрее, чем одноранговые узлы;
10) доступ к разделяемым ресурсам сети регламентируется в рамках
единой системы контроля доступа, а также централизованное управление
процессом авторизации и аутентификации пользователей, а также управления ролями;
11) освобождение пользователей от задачи ручного управления ресур-
сами и возможность применения групповых политик;
12) централизованное хранение и резервирование, предотвращающее
потерю данных на локальных клиентах и переносящие большинство проблем на сторону сервера.
К недостаткам серверных сетей можем отнести:
1) дорогое специализированное аппаратное обеспечение, которое
стоит намного дороже оборудования клиентов;
2) дорогие серверные ОС и дорогие клиентские лицензии (правда, в
случае использования Windows или других специально разрабатываемых
решений, что не является актуальным в случае использования Linux на сервере и ПО с открытым исходным кодом);
3) от сервера и его характеристик зависит быстродействие и надеж-
ность всей системы;

1.5. Возможные архитектуры распределенных автоматизированных систем
23
4) такие системы имеют меньшую гибкость по сравнению с одноран-
говой сетью;
5) для таких сетей нужен администратор сети;
6) возможность выхода из строя всей системы сразу при нарушении
работы центрального сервера.
Рассмотрим далее одноранговые архитектуры автоматизированных
систем.
Одноранговая архитектура в целом ‒ это особая концепция сетевой среды, в которой все ее распределяемые ресурсы рассредоточены по
абонентским системам, т.е. по различным узлам. При этом распределение
может быть как логическим, так и физическим.
Данная архитектура автоматизированных и информационных систем характеризуется еще и тем, что составляющие ее подсистемы и узлы
в принципе равноправны. Их обращение к смежным ресурсам является
симметричным.
Для специально спроектированных одноранговых автоматизированных систем характерно отсутствие централизованного управления.
В самой архитектуре не указывается отдельные выделенные физические или логические серверы – все они считаются однотипными. Вследствие этого такие сети часто называют децентрализованными.
Конечно, пользователи подобных систем могут успешно работать
с общими ресурсами: дисками, памятью, базами данных, датчиками и так
далее, ровно как и с устройствами типа принтеров, факсов, считывателей
кодов.
Одноранговые сети обычно распределяются по рабочим группам.
Состав групп может меняться, дополняясь новыми равноправными участниками или после удаления каких-либо узлов.
Также необходимо упомянуть, что существует предел возможностей
для доступа к ресурсу сразу большого числа клиентов. При превышении
такого предела может выделяться (создаваться) новая «ячейка» одноранговой сети более высокого уровня.
Примерами таких сетей для микропроцессорных устройств АС может служить ZigBee.
Преимуществами одноранговых сетей мы можем называть:
1) низкая стоимость как отдельного узла, так и целой сети;

Глава 1. Основы систем передачи данных
24
2) простота в развертывании;
3) отсутствие потребности в административных единицах системы
(т.е. нет четко выраженного единственного сервера);
4) устройствам дана возможность управлять разделением и распреде-
лением ресурсов, настраивая правила и используя «заготовки» конфигураций (шаблоны конфигураций);
5) возможность в работе не «оглядываться» на функционирование
других узлов и их доступность вообще, так как они все независимы;
6) высокая надежность системы к отказам.
Также можно выделить недостатки одноранговых сетей:
1) дополнительная нагрузка на вычислительные узлы из-за совмест-
ного использования ресурсов, а также необходимость внедрения систем
или модулей управления на каждом узле;
2) неспособность для отдельного узла обслуживать большое число
соединений, как это может делать сервер;
3) отсутствие централизованной организации информации, что за-
трудняет поиск данных, добавляет проблемы синхронизации, версификации данных, а также определения полномочий источника информации;
4) отсутствие единого места для хранения файлов, что усложняет об-
служивание системы и снижает надежность и сохранность информации;
5) необходимость администрирования собственных устройств поль-
зователями;
6) слабая система защиты ‒ классические методы здесь не подходят в
чистом виде, следовательно, всегда актуальна разработка и внедрение новых методов защиты данных;
7) возможность гарантированного подключения только ограничен-
ного числа рабочих станций (не более 10–20).
Рассмотрим далее гибридную архитектуру или клиент-серверные
АС более подробно.
В общем случае клиент-серверная архитектура состоит из следую-
щих основных компонентов:
1) сервер приложений;
2) множество клиентов;
3) различные физические и виртуальные сети и программное обеспе-
чение для коммуникаций.

1.5. Возможные архитектуры распределенных автоматизированных систем
25
Сервер выполняет свои основные функции, управляет хранением
данных, контролирует доступ и обеспечивает защиту этих данных, выполняет резервное копирование. Контролирует целостность данных. Реализует
бизнес-логику приложения. Отвечает на запросы клиента.
Сервер сети предоставляет ресурсы, услуги или вычислительные
возможности рабочим станциям клиентов или другим серверам.
В качестве клиентов сейчас могут выступать не только персональные или промышленные ЭВМ, но и телефоны, смартфоны, планшетные
устройства, различные носимые устройства, датчики, микропроцессоры и
другие подробные устройства.
Клиент предоставляет интерфейс для взаимодействия с пользователем, т.е. «отрисовывает» графическую оболочку, отображает элементы
управления и обрабатывает их сигналы, проводит валидацию данных, он
же формирует и отправляет запросы к серверу, получает и интерпретирует
ответы от него.
Клиент имеет возможность инициировать выполнение процедур на
стороне сервера и получать результаты их выполнения – такой принцип лежит в основе асинхронного или фонового выполнения задач и отложенных
процедур.
Основное «клиент-серверной» архитектуры – это возможность множеству клиентам взаимодействовать с одним и тем же сервером независимо
друг от друга. Этот принцип называется «система массового обслуживания».
По сути, количество одновременно подключенных клиентов к одному серверу определяет его «вычислительная мощность», скорость обработки запросов и число одновременно поддерживаемых соединений.
Сеть делает возможным взаимодействие между клиентом и сервером посредством сетевых протоколов.
Клиенты могут быть разными, например «толстые» или «тонкие».
«Толстый» клиент – это наиболее часто используемый на практике
вариант реализации клиент-серверной архитектуры, в котором основная
часть логики приложения реализуются на машине клиента.
Такая модель подразумевает присутствие в клиентском приложении
сразу и простой пользовательской логики, и сложной бизнес-логики. Здесь
следует упомянуть, что бизнес-логика приложения ‒ это его центр, самая
сложная часть. Обычная логика может быть стандартным библиотечным

Глава 1. Основы систем передачи данных
26
решением, а бизнес-логика всегда реализуется разработчиками отдельно от
обычной логики и от нее зависит ценность АС.
Серверная часть при описанном подходе обычно представляет собой
объединение сервера приложений и сервера базы данных, скрытые за
слоем, ограничивающим доступ к ресурсам в пределах разрешенного
(прокси-сервер).
Так как одним из основных назначений для любой системы является
работа с данными, то к описанной выше модели приложений зачастую применяют понятие приложения для удаленной работы с данными remote data
access или RDA.
«Тонкий» клиент (thin client) – это несколько другая концепция, в
рамках подхода «клиент-сервер». Здесь большинство бизнес-задач по обработке информации перенесено на сторону сервера, а пользователю предоставляется интерфейс взаимодействия с вынесенными функциями. Следует
отметить, что такая модель построения систем сейчас все более активно применяется в корпоративной среде. В первую очередь это происходит в связи с
широким распространением интернет-технологий, ростом числа потенциальных клиентов и расширением возможностей веб-браузеров, которые уже
спокойно заменяют широкий спектр программного обеспечения: от специализированных панелей управления до игровых платформ.
Из истории развития вычислительной техники известно, что тонкие
клиенты были просто бездисковыми станциями, не имеющими собственного постоянного хранилища данных и операционной системы – операционная система загружалась на сервере и клиенты имели к ней ограниченный доступ в режиме разделения ресурсов. Бездисковые станции были дешевыми и надежными, они имели время готовности к работе всего несколько секунд и были безопасными, так как возможность взлома или вирусной атаки сводилась к нулю.
В этой связи любое современное клиентское приложение нацелено
на реализацию презентационной логики, ну а сервер уже объединяет бизнес-логику и логику контролируемого доступа к ресурсам.
Сейчас ЭВМ совмещают принципы работы толстого и тонкого клиентов, так как на них присутствуют и приложения со сложной бизнес-логикой, и «легкие» оболочки для удаленных серверных систем, к которым
также можно отнести современные браузеры. Все больше ресурсов

1.5. Возможные архитектуры распределенных автоматизированных систем
27
работают «по удаленке» и это могут быть офисные пакеты, системы управления ресурсами и системами, игры, сложные программные системы.
Модель двух звеньев (two-tier model) – это также система типа
«клиент-сервер», но с небольшими отличиями. Клиент запрашивает данные у сервера по определенным протоколам, а сервер предоставляет данные согласно заложенным алгоритмам и бизнес-логике. Подобные модели
способны обеспечить нормальную работу только для ограниченного числа
клиентов. Т.е. нагрузка системы распределяется на «две стороны».
Основная проблема модели двух звеньев заключается в том, что мо-
дель двух звеньев в основном подходит для небольших программ, используемых на уровне рабочей группы с числом пользователей не более одной
сотни. К тому же в классических двухзвенных системах невозможно увеличить число обслуживаемых клиентов в связи с ограничениями архитектуры.
Многозвенная модель (three-tier model) – это еще одна популярная
система в семействе архитектур «клиент-сервер». Промежуточная она потому, что в ней присутствует дополнительное звено (например, ПЭВМ), которое помещается в цепи запросов-ответов между клиентом и сервером
стандартной модели двух звеньев. Здесь промежуточное звено исполняет
функции монитора транзакций или брокера для обработки объектных запросов. Фактически это просто еще одно пространство для выполнения
распределенной программы. Получается, что при помощи модели со многими звеньями разработчики системы могут обеспечивать обслуживания
большего числа клиентов, чем при использовании модели с двумя звеньями. Это происходит в основном за счет распределения функций и увеличения числа поддерживаемых соединений.
Далее рассмотрим принципы установления соединений для передачи данных в различных системах.
В компьютерных сетях применяются следующие основные технологии для передачи данных между узлами:
1) коммутация каналов;
2) коммутация сообщений;
3) коммутация пакетов.
Коммутация каналов работает в сетях общего пользования. Она
позволяет установить прямое соединение между узлами сети при помощи

Глава 1. Основы систем передачи данных
28
коммутаторов. Коммутаторы могут быть аппаратными или программными
и в любом случае выполняются в виде отдельных устройств.
Коммутация каналов позволяет организовать прямой поток пакетов
сетевого трафика от одних устройств к другим, но на установление соединения и прямую коммутацию требуется время. Поэтому такие сети себя
плохо чувствуют в ситуациях с высокой изменчивостью сети при необходимости частой перестройки направлений передачи данных и хорошо показывают себя в тех случаях, когда требуется установить соединение и потом использовать его долгое время.
При коммутации сообщений коммутаторы накапливают сообщения во внутреннем буфере и рассылают их с использованием доступной
информации о маршрутах к другим узлам сети.
Использование коммутации сообщений способно увеличить время
доставки сообщений за счет буферизации. Однако та же самая буферизация
сглаживает пиковые нагрузки в сети, повышает живучесть и дает возможность системе самовосстанавливаться после сбоев и нарушений работы
(например, посте обрыва соединения).
При коммутации пакетов громоздкие данные пользователя ‒ это мо-
гут быть, например, бинарные файлы, большие картинки и даже видеофайлы ‒ разбиваются на более мелкие порции ‒ пакеты, а потом собираются обратно. Этот процесс называется фрагментацией/дефрагментацией.
При этом каждый пакет содержит служебные поля, длину пакета, поле данных и поля проверки правильности передачи (для обнаружения ошибок).
При пакетной коммутации применяются следующие два способа передачи данных:
1) виртуальные каналы и пути;
2) режим дейтаграммы.
Под виртуальным каналом мы понимаем однонаправленное «виртуальное» соединение поверх реальных коммутаций. Такой канал создается
тогда, когда устанавливается и поддерживается соединение между разными узлами сети так, как будто бы по реальному выделенному каналу.
Естественно, что в данном случае физический канал передачи данных на
самом деле разделен между несколькими пользователями и не выделяется
для каждого в отдельности.

1.6. Модель взаимодействия открытых систем
29
Альтернативой такому подходу служит режим дейтаграммы. Он получается тогда, когда каждый отдельный пакет из набора, содержащего
данные пользователя, передается между узлами совершенно независимо
друг от друга, как будто бы это абсолютно разные транзакции.
Большинство рассмотренных технологий управления соединениями
в сетевых средах автоматизированных систем подчиняются правилам,
установленным специальной системой стандартов, правил и технологий,
которая известна как модель взаимодействия открытых систем или open
systems interconnection (OSI).
1.6. Модель взаимодействия открытых систем
Модель OSI сейчас уже является классикой, так как ее основные
пункты были разработана и опубликованы еще в 70-х гг. Первый публичный выпуск состоялся благодаря Международной организации по стандартизации или International Organization for Standardization (ISO).
Поэтому данная система стандартов носит название OSI/ISO. Она задумывалась как руководство для разработки многих сетевых стандартов.
В этой системе описаны правила создания и использования технологий, а
также программного и аппаратного обеспечения информационного обмена.
Эта модель сейчас является базовой для любого разработчика и применяется для разделения сетевых коммуникаций на отдельные уровни.
Современная модель OSI/ISO позволяет выделить основные сетевые
функции на следующие уровни:
1) прикладной уровень или уровень приложения;
2) представительский уровень или иначе – уровень представления;
3) сеансовый уровень;
4) транспортный уровень;
5) сетевой уровень;
6) уровень управления линией передачи данных;
7) физический уровень или уровень физической передачи сигналов.
Каждый уровень модели объединяет в себе стандарты и правила для
различных этапов взаимодействия сетевых служб, приложений и устройств.
Службы работают по правилам, известным под названием «протоколы». Следовательно, на каждом «уровне» работает свое подмножество
протоколов сетевой модели.

Глава 1. Основы систем передачи данных
30
Существуют частные и обобщенные правила (общие протоколы или
семейства протоколов), которые ставят перед собой одну цель: обеспечение работоспособности целой группы систем передачи данных. Эти семейства протоколов нам известны: TCP/IP, HTTP/HTTPS, FTP и так далее.
Рассмотрим уровни и семейства модели OSI/ISO более подробно.
Физический уровень модели OSI/ISO описывает организацию и особенности обслуживания конкретных линий и каналов для передачи данных,
определяя электрические, механические и функциональные параметры.
Стандарты этой группы описывают конкретные характеристики проводных
и беспроводных каналов передачи данных, оптические линии связи, принципы представления бинарных цифровых данных в аналоговой форме.
Целью использования стандартов данного уровня на практике является разработка, производство и внедрение физических интерфейсов, необходимых для физического соединения аппаратуры.
Другими словами, физический уровень:
1) описывает установку и разрыв соединения на уровне аналоговых и
цифровых сигналов;
2) определяет принципы передачи аналоговых сигналов, в которых
представлены цифровые данные;
3) определяет способы подключения и прослушивания каналов и
определения их состояния;
4) определяет способы идентификации каналов;
5) регламентирует способы мониторинга и оповещения о появлении
отказов или коллизий.
Канальный уровень, или Уровень управления линией передачи
данных, регламентирует стандарты, в которых описано, как формируются
кадры данных, как разделяются блоки информации, как в них размещаются
пользовательские пакеты данных и как в конечные пакеты добавляют дополнительную управляющую информацию.
Документально стандарты канального уровня регламентируют, как
следует выполнять следующие функции:
1) организацию, установление, управление, расформирование ка-
нальных соединений и идентификацию их портов;
2) передачу блоков данных;
3) обнаружение и исправление частных ошибок;
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
