Котлоагрегаты

Другие объекты

Разное

Вопросы по АТП (автоматизации технологических процессов)

Designed by:
Joomla Templates

Архитектура «клиент-сервер».

 

Архитектура «клиент-сервер» является доминирующий технологией распределенной обработки данных. Клиентом и сервером будем называть процессы (программы или приложения), работающие одновременно на одном или разных сетевых компьютерах, и взаимодействующих между собой определенным образом. Клиент посылает серверу запрос на получение данных или выполнение какой-либо работы: например запрос к серверу базы данных, задание серверу резервного копирования дисков и т.п. Сервер, получив от клиента запрос, выполняет соответствующие действия и посылает клиенту ответ. Например, сервер базы данных находит нужные записи и посылает их клиенту. Сервер резервного копирования вводит в действие механизм выгрузки данных на магнитную ленту или магнитооптическое дисковое устройство и сообщает клиенту о запуске процедуры. Процедура обмена между клиентом и сервером, состоящая из трех действий: посылка запроса, выполнение запроса, прием ответа, - называется транзакцией. Транзакция называется завершенной, если выполнены все три действия. Если же на одном из трех этапов произошел сбой, транзакция останется незавершенной. Если транзакция не завершилась – происходит откат к состоянию данных до транзакции. За правильное выполнение отката транзакции отвечает сервер. Например, если сервер базы данных получил от клиента запрос на обновление записей в нескольких файлах и перед аварийным отключением электропитания успел выполнить только часть работы, после восстановления ему необходимо восстановить состояние базы данных на момент начала незавершенной транзакции. Топология системы с архитектурой "клиент-сервер", может быть различной: система, состоящая из одного клиента и одного сервера; в системе может быть несколько клиентов, работающих с одним сервером, или несколько клиентов, работающих одновременно с несколькими серверами. Приложение может иметь либо только одну из функций: функцию клиента или сервера, либо обе функции, т.е. выступать и в качестве клиента и в качестве сервера. Приложения, использующие технологию динамического обмена данных DDE, выступают как клиенты или серверы (или одновременно как клиенты и серверы). При этом взаимодействие между ними - это ни что иное, как транзакции.

Основные режимы и команды обмена по DDE

Состав команд, выполняемых в DDE связях для реализации обмена данными, и их синтаксис определяется назначением и возможностями приложения, поддерживающего обмен по DDE. В общем случае всегда выполняется открытие и закрытие канала, посылка запроса, выполнение запроса и т.д. Выполняемые команды определяют режим DDE связи.

Имеется три всегда используемых режима связи:

  1. Режим REQUEST. Для DDE-клиента это режим запроса данных у сервера, а для DDE-сервера – режим ответа (посылки данных по запросу клиента).
  2. Режим POKE. В этом режиме DDE-клиент управляет данными на сервере, а DDE-сервер изменяет значения по командам клиента.
  3. Режим ADVISE. В этом режиме DDE-клиент принимает данные, посылаемые сервером, а DDE-сервер посылает данные по своей инициативе.

Каждая команда имеет ряд параметров, отражающих источник или приемник данных, тему обмена, и собственно данные. Кроме этого синтаксис команды зависит от размещения приложений: обмен на локальной машине или сетевой динамический обмен данными. В ТМ5 используется следующий синтаксис параметров команды: <server>|<topic>!<item> <data>. Здесь server – это имя DDE-сервера, topic – тема запроса, item – имя канала, а data – посылаемое значение. Формат для имени сервера зависит от размещения приложений. При локальном обмене здесь записывается RTM<nnn>, где <nnn> - номер узла, к которому адресован запрос, а при сетевом - \\<NAME>\NDDE$, где <NAME> - имя компьютера, где работает МРВ. В качестве темы запроса при локальном обмене в режиме ADVISE указывается GET, а в режимах POKE и REQUEST – обозначения атрибутов каналов, а при сетевом - RTM<nnn>$, где <nnn> - номер узла, к которому адресован запрос. Значение параметра data приводится в формате числа с плавающей запятой. Оно присутствует только в режиме POKE.