ГОСТ Р 54708—2011
Приложение Е
(справочное)
DCP структура двунаправленной связи
Это приложение обрисовывает в общих чертах предложение о структуре двунаправленной связи общего
назначения, основанной на протоколе распределения и коммуникации (DCP).
П р и м е ч а н и е 1 — Основа DCP структуры дпя двунаправленной связи, представленная в этом приложе
нии. — только информативная и доступна для использования любым приложением на основе DCP. Однако, любое
приложение на основе DCP может выбрать собственную обработку двунаправленных связей через DCP. полагаясь
только на использование основного уровня передачи (например. TCP/IP), либо расширяя определение этой
струк туры согласно своим индивидуальным требованиям.
П р и м е ч а н и е 2 — Структура для двунаправленной связи, основанной на DCP. не дает никаких рекомен
даций относительно выбора времени (ретрансляции оставшихся без ответа или неподтвержденных запросов, мак
симального перерыва между запросом и ответом и т. д.). Определение перерывов очень сильно зависит от специ фики
приложения и условий эксплуатации. Так как структура DCP для двунаправленной связи должна подходить для
широкого спектра приложений, определение перерывов относится к техническим требованиям конкретного
приложения, использующего эту DCP структуру дпя двунаправленной связи.
Е.1 Типовые требования связи
Этот раздел выделяет некоторые общие подходы для связи на базе DCP. на которых базируется следующая
DCP структура для двунаправленной связи.
Е.1.1 Транзакции
Основусвязи составляют транзакции (протоколы обмена). Транзакции включают в себя:
- одно сообщение запроса (специальный DCP пакет), посланное от ’клиента" на "’сервер’:
- различное количествосообщений ответа (специальные DCP пакеты), посланные от "сервера" к "клиенту".со
ссылкой на сообщение запроса.
Е.1.2 Классы транзакций
Send Transaction — транзакция передачи:
“Клиент" посылает информацию на "сервер". Fetch
Transaction — транзакция выборки: "Клиент"
запрашивает информацию от ‘сервера*.
Subscribe/Unsubscribe Transaction: Delivery Transaction — транзакция подлиски/отказа от подписки;
транзакция доставки:
Запрос на "сервер" инициирует доставку информации.
"Клиент* подписывается на информацию, предлагаемую "сервером".
"Сервер* впредьбудетдоставлятьинформацию "клиенту"каждый раз. когда будутдоступны (новые)данные
"Сервер’ останавливает доставкуданных на явную командуотказа от подписки или, например, при пропада
нии переподписки (перерыв).
Е.1.2.1
Транзакция передачи
Типичные примеры типов транзакций передачи:
- команды.
установить частоту, выключитьчерез 5минут, полить цветы и т. д.;
- уведомления.
новый пользователь только загрузился, огонь на пятом этаже, саморазрушение активировано и не может
быть остановлено.
Типичные примеры потоковых коммуникаций:
- “клиент* посылает команду "серверу" и не требует подтверждения; связь заканчивается немедленно,
успешный прием команды не может быть проверен;
- “клиент* посылает команду ’серверу" и требует подтверждения приема, ’сервер’ посылает уведомление
подтверждения приема:
- “клиент* посылает команду "серверу* и требует подтверждения обработки запроса: приложение на "серве
ре" по команде запускает процесс и уведомляет "клиента".
Потенциальные типы ответа:
- нет ответа;
- подтверждение приема сообщения запроса;
- уведомление остатусах обработки "сервером* (принятая команда, обработанная команда, ошибка выпол-
ненияУОК (правильно)и т. д.) — возможные состояния определены в соответствии с приложением.
24