exponenta event banner

Что такое DDS?

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

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

В этом учебном пособии рассматриваются следующие аспекты DDS:

Глобальное пространство данных

В DDS сеть DDS называется глобальным пространством данных.

Области

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

Темы

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

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

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

Считыватели данных, записи данных и образцы данных

Данные отправляются и принимаются в сети DDS как образец данных, определяемый типом данных DDS. Тема регистрирует тип данных DDS, который затем называется зарегистрированным типом, чтобы указать тип данных, который должен использоваться для связи с этой темой. Издатель использует 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 между различными поставщиками с различными реализациями языка программирования.