Серверы и ИИ: практическое применение

Durable Subscriptions: подтвердить сохранение очередей после перезапуска

Запросить

Подписка и восстановление. SetSubscriptionDurable: До создания MonitoredItems. Сервер и клиент: Согласованный срок, очереди, идентификаторы. После перезапуска: Последовательности и явные пропуски.
Подписка и восстановление. Схема поясняет описанный механизм; условия и границы проверки приведены в тексте.

Обычные очереди OPC UA для надёжной доставки обычно находятся в памяти. Перезапуск сервера способен удалить их. Если проект требует продолжить сбор после длительного отсутствия клиента или перезапуска, нужно подтвердить поддержку Durable Subscriptions, а не только увеличить обычный интервал ожидания.

SetSubscriptionDurable вызывают до создания MonitoredItems в этой подписке и в контексте владеющей ею сессии. Сервер сообщает согласованную длительность. Реализация должна поддерживать предусмотренное сохранение настроек и очередей, а также TransferSubscriptions. Клиенту нужны сохранённые идентификаторы, handles и последний подтверждённый номер последовательности.

Даже durable-режим не является обещанием абсолютной сохранности при любом отказе. Спецификация допускает потерю данных при некорректном завершении или отключении питания. Поэтому частоту сохранения и допустимый разрыв оценивают по документации и испытаниям конкретного сервера, без приравнивания подписки к бесконечному архиву.

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

Основание — OPC Foundation OPC 10000-4, v1.05.07, 2026-04-15, разделы 6.8. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Клиент, сервер и физический объект не испытывались. Приведён проектный критерий проверки, а не отчёт о выполненной настройке.

Запросить

К разборам: Серверы и ИИ