Судовые отчёты двум береговым получателям: как определить результат доставки для каждого
Один судовой отчёт может быть нужен эксплуатационной службе и другому согласованному получателю. Добавление второго адреса не решает автоматически вопросы ответственности, подтверждения и повторов. Нужно определить, что считается завершением доставки каждому участнику и как видна частичная готовность. Такой подход полезен при проектировании телеметрии без привязки к конкретному протоколу или сервису.
Разделить рабочие задачи получателей
Для каждой стороны указывают, зачем ей нужен отчёт, какой состав данных достаточен и в какой срок ожидается результат. Два получателя могут использовать одну запись по-разному: одному нужно оперативное наблюдение, другому — согласованная история для анализа. Поэтому одинаковый срок и одинаковый формат не следует назначать автоматически.
Также подтверждают допустимость предоставления сведений каждой стороне и её право получать соответствующий состав. Наличие технической возможности пересылки не является основанием отправлять весь судовой поток любому новому адресату. Этот метод не устанавливает правовую модель обмена и не заменяет действительные договорённости.
Выбрать место разветвления
Возможны разные проектные схемы: судно передаёт каждой стороне отдельно либо согласованный береговой узел принимает запись и распределяет её дальше. Выбор влияет на зависимости. Во втором случае успешная доставка до общего узла ещё не подтверждает получение конечными сторонами. В первом каждый путь требует собственного наблюдаемого результата.
В схеме показывают источник, промежуточные узлы и конечных получателей. Нельзя рисовать два конечных экрана как независимые каналы, если оба зависят от одного общего участка. Требуемую независимость формулируют отдельно и подтверждают составом, а не количеством стрелок.
Сохранить идентичность исходного отчёта
Каждому исходному отчёту нужен способ однозначно сопоставить его состояния на разных путях. Это не обязательно означает конкретный формат номера: решение выбирают по возможностям системы. Важно, чтобы повторная передача не превращалась в новое фактическое наблюдение и чтобы подтверждение одного отчёта не закрывало другой с похожим временем.
Если получатели получают разные представления записи, сохраняют связь с исходным отчётом и версией преобразования. Например, сокращённая оперативная сводка и полный архив могут относиться к одному событию, но содержать разный набор полей. Их нельзя считать побайтово одинаковыми только по общему идентификатору происхождения.
Показать частичный результат
В условном примере отчёт Р42 должен быть получен сторонами А и Б. А подтвердила предусмотренное получение, а по Б результат пока неизвестен. Тогда состояние отчёта не следует без уточнения сворачивать в общее «доставлен». Полезнее показывать завершение по А и открытый результат по Б.
Если общая задача требует обе стороны, она остаётся незавершённой до выполнения согласованного критерия. Если для разных функций установлены разные критерии, их сохраняют раздельно. Отсутствие подтверждения само по себе не определяет, можно ли повторять отправку: это зависит от принятого способа обработки неопределённости и защиты от дублей.
Проверить повторы и недоступность адресно
Приёмочная программа включает обычную доставку, согласованный повтор и ситуацию, когда один путь временно недоступен. Проверки выполняют на разрешённых данных и средствах, не вмешиваясь произвольно в действующую связь. Для каждой стороны наблюдают правильную запись, понятный статус и сохранение истории.
После восстановления проверяют не только количество полученных записей, но и их состав: совпадающее число строк ещё не доказывает отсутствие пропуска и лишнего дубля. Действия по одному получателю не должны незаметно изменять уже подтверждённую историю другого. Неизвестные исходы сохраняют для адресного разбора.
Итог проекта содержит задачи сторон, схему разветвления, связь идентификаторов и критерии завершения. Он не является подтверждением реальной доставки или гарантией отказоустойчивости. Его практический результат — возможность честно ответить, кто именно получил нужные сведения и какая часть согласованного обмена ещё не завершена.