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