Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы и средства передачи данных в автоматизированных системах. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
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) обнаружение и исправление частных ошибок;
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]