Что такое DDS?

Служба распределения данных (DDS) является стандартом промежуточного программного обеспечения, который идеально подходит для передачи данных производственного качества. В настоящее время широко используется в областях аэрокосмической и оборонной промышленности, автономных транспортных средств, а также в робототехнике, медицинских приборах и генерации степени. DDS использует коммуникационный шаблон публикации-подписки, чтобы создать децентрализованную, независимую от архитектуры, масштабируемую, асинхронную сеть. Чтобы узнать больше о том, как работает промежуточная платформа DDS, ознакомьтесь с концептуальным руководством DDS.

Концептуальное руководство по DDS

Это руководство охватывает следующие аспекты DDS:

Глобальные данные

В DDS сеть DDS упоминается как Глобальные данные Пространство.

Области

В Глобальном Пространстве Глобальных данных можно создать фрагмент сети, называемую Областью. Области идентифицируются именем Области и числовым идентификатором Области. В Глобальные данные Пространстве может быть одна или много Области.

Темы

В областях есть темы. Темы являются категориями, которые описывают тип данных, передаваемых в сети. Например, если у вас есть приложение, которое вы хотите использовать DDS для получения информации о погоде, темой может быть Температура. Области могут иметь одну или несколько тем. Если у вас есть одна и та же тема в разных областях, они считаются отдельными темами.

Издатели и подписчики

Приложения, использующие DDS, передаются участникам области, поскольку они участвуют в области. Приложения, которые отправляют данные, называются издателями, а приложения, которые получают данные, называются подписчиками. Участники области могут быть издателями, подписчиками или и тем, и другим.

DataReaders, DataWriters и выборки данных

Данные передаются и принимаются по сети DDS в качестве выборки данных, заданной типом данных DDS. Topic регистрирует тип данных DDS, а затем именуется Registered Type, чтобы указать тип данных, который должен использоваться для связи по этому разделу. Издатель использует DataWriter для отправки данных по сети DDS. У издателя может быть один или несколько DataWriters, которые публикуются в одной или нескольких темах. Абонент использует DataReader для приема данных из сети DDS. У абонента может быть один или несколько устройств DataReader, подписанных на одну или несколько тем.

Качество обслуживания (QoS)

В сложение возможности отправлять и получать данные, качество обслуживания (QoS), которое описывает качество передачи данных, может быть задано для темы, издателя или подписчика, или конкретных DataReaders или DataWriters. Известно, что DDS имеет несколько политик QoS, которые помогают обеспечить точный контроль за передачей данных. Можно назначить этим сущностям отдельные политики QoS или назначить набор политик QoS, называемый профилем QoS.

Реализация DDS

DDS определяется стандартом группы управления объектами (OMG). Стандарт предоставляет спецификации, которые объясняют, как должна быть сконфигурирована сеть DDS и как приложения должны использовать сеть DDS. Стандарт DDS реализован несколькими различными поставщиками DDS. Каждый поставщик может реализовать стандарт DDS с использованием языка программирования по своему выбору. Несмотря на различные низкоуровневые реализации, поставщики DDS могут взаимодействовать (приложение, использующее одного поставщика, может взаимодействовать с приложением другого поставщика), поскольку его поставщики реализуют стандарт DDS. Приложения DDS, состоящие из описанных выше определений (для примера, Областей, тем, Выборок данных, издателей, подписчиков), могут быть определены агностическим способом на языке программирования с помощью спецификаций XML или IDL. Эти спецификации XML и IDL обеспечивают возможность порта приложений DDS между различными поставщиками с различными реализациями языка программирования.