DDS (Data Distribution Service) 数据分发服务-规范中文翻译_003

OMG Data Distribution Service(DDS)规范解读-Part1 DDS规范的目的可以概括为“在正确的时间将正确信息有效且稳健地传递到正确的位置。DCPS模型(Data-Centric Publish-Subscribe)被广泛应用到实时性的系统中Publisher–希望向此数据空间提供信息的应用程序声明其意图Subscriber–想要访问此数据空间部分的应用程序声明他们的意图数据模型被定义成数据结构体,每一个结构体都有 topic、typetopic:提供了唯一标识全局数据空间中的某些数据项的标识符。 阅读详情

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_003


2.以数据为中心的订阅发布(DCPS)

2.2 平台无关模型(Platform Independent Model ,PIM)

2.2.1概述和设计原理

2.2.1.2 概念大纲
2.2.1.2.1 概述

图 2 1 概述
图 2 1 概述

信息流借助以下实体:发送方的发布者(Publisher) 和 数据写入者(DataWriter);接收方的订阅者(Subscriber)和数据读取者(DataReader)。

  • 发布者是负责数据分发的对象。它可以发布不同数据类型的数据。数据写入者充当发布者的类型访问者。数据写入者是应用程序用来向发布者传递给定类型的数据对象的存在和数值的必需对象。当数据对象值通过适当的数据写者传递给发布者时,发布者有责任执行分发(发布者将根据自己的QoS或相应数据写入者的QoS执行此操作)。一次发布是通过数据写入者与发布者的关联定义的。此关联表明应用程序有发布数据的意图,该数据由发布者提供的上下文中的数据写入者进行描述。

  • 订阅者是负责接收已发布的数据并使其(根据订阅者的QoS)可用于接收应用程序的对象。它可以接收和分发不同特定类型的数据。应用程序必须使用附加到订阅者的某一类型的数据读取者访问接收的数据。因此,一次订阅是通过数据读取者与订阅者的关联定义的。该关联表明应用程序有订阅数据的意图,该数据由订阅者提供的上下文中的数据读取者进行描述。

  • **主题(Topic)**对象在概念上适合发布和订阅。订阅必须明确地引用发布,发布必须以这样的方式为订阅所知。主题旨在实现该目的:它关联名称(数据域中唯一),数据类型和与数据本身相关的QoS。除了主题QoS之外,与该主题相关联的数据写入者(DataWriter)的QoS和与数据写入者关联的发布者的QoS控制发布者这一方的行为,与此对应的主题,数据读取者(DataReader)和订阅者QoS控制订阅者这一方的行为。

当应用程序希望发布给定类型的数据时,它必须创建一个发布者(或使用已经创建的一个发布者)和一个具有所需发布的所有特征的数据写入者。类似地,当应用程序希望接收数据时,它必须创建订阅者(或重用已经创建的订阅者)和数据读取者来定义订阅。

2.2.1.2.2 整体概念模型

整体概念模型如图2.2所示。请注意,所有主要通信对象(实体的专业化)都遵循以下统一模式:

  • 支持QoS(由一些QoS策略组成);QoS为应用程序提供了一种通用机制,用于控制服务的行为并根据需要定制服务。每个实体 都支持其自己的专用QoS策略。完整的QoS策略列表及其含义在2.2.3小节中有详细描述。

  • 接受监听器(Listener); 监听器为中间件提供通用机制,以通知应用程序相关的异步事件,例如订阅的数据到达,违反QoS设置等事件。每个DCPS实体支持其自己的专用类型监听器。监听器与状态条件的变化有关。完整的状态条件在2.2.4小节,Listeners,Conditions和Wait-sets中有描述。

  • 接受状态条件(StatusCondition)(以及数据读取者的一组读取条件 对象); 条件(与WaitSet对象一起)为中间件和应用程序之间的备用通信方式提供支持(即,基于等待而不是基于通知)。完整的状态条件集在2.2.4小节,监听器,条件和等待集中描述。

所有这些DCPS实体都附属于域参与者(DomainParticipant)。 域参与者表示域中应用程序的本地成员身份。数据域是一个分布式的概念,它链接所有的应用程序,使得这些应用程序能够相互通信。它代表一个通信平面:只有附属于同一数据域的发布者和订阅者才可以相互通信。

数据域实体(DomainEntity)是一个中间对象,其唯一目的是声明域参与者 不能包含其他域参与成员。

图 2 2 DCPS概念模型
图 2 2 DCPS概念模型

在DCPS这一级,数据类型意味着信息将会以原子形式发送出去。

默认情况下,每一次数据更改都是单独且独立地传播,与其他更改不相关。但是,应用程序可能会要求发送方将多次修改当做一次完整的数据发送出去,并在接收方进行对应的解析。此功能将以发布者/订阅者(Publisher/Subscriber)为基础而实现。也就是说,这些关系只能在隶属于同一发布者(Publisher)的数据写入者(DataWriter)对象中指定,并在隶属于同一订阅者(Subscriber)的数据读取者(DataReader)对象中接收恢复。

根据定义,主题 对应单个数据类型。但是,多个主题可能指的是相同的数据类型。因此,主题 标识单个类型的数据,范围从单个实例到该给定类型的整个实例集合。通过假设的数据类型“Foo”进行展示,如图2.3所示。

图 2 3主题可以标识数据对象实例的集合
如果在同一主题下收集了一组实例,则必须区分不同的实例。通过指定某些数据字段为该数据集的关键字 来实现这种区分。必须向中间件告知关键字的描述(即,组成关键字的数据字段列表)。规则很简单:具有相同键值的不同数值表示同一数据实例的连续值,而具有不同键值的不同数值表示不同的数据实例。如果未提供关键字,则与主题 相关的数据集仅存在一个数据实例。
中间件需要知道主题并且该主题可能会进行数据传输。主题 对象是通过域参与者 提供的创建方法创建的。

发布者方面的交互方式很简单:当应用程序决定要使数据可供发布时,它会调用关联的数据写入者 的相应操作(这将触发其所属的发布者)。然而,在订阅者方面,还有更多选择:当应用程序忙于执行其他操作或应用程序只是等待该信息时,相关信息可能会到达。因此,根据应用程序的设计方式,异步通知或同步访问可能更合适。中间件允许两种交互模式,监听器(Listener)用于为同步数据访问提供回调,与一个或多个Condition对象关联的WaitSet提供异步数据访问。

相同的同步和异步交互模式也可用于访问某些改变,这些改变会影响中间件通信状态。例如,当中间件异步检测到不一致时,可能通过这两种方式进行通知。此外,使用内置主题这种方式,应用程序可以作为普通应用数据,通过内置的数据读取者提供可能与应用程序相关的其他中间件信息(例如现有主题的列表)。


译文连载

DDS规范-上一篇:DDS (Data Distribution Service) 数据分发服务-规范中文翻译_002
DDS规范-下一篇:DDS (Data Distribution Service) 数据分发服务-规范中文翻译_004
RTPS规范-译文连载:实时发布订阅协议(RTPS)DDS互操作网络协议规范-中文翻译_001

相关链接

DDS科普:一文读懂DDS(数据分发服务)
DDS定义:什么是DDS?
产品介绍:BLUE DCS分布式数据连接解决方案
产品试用: 海蓝云平台-Blue DCS
一文读懂“数据分发服务DDS”(Data Distribution Service,RTPS,OMG) DDS 数据分发服务(Data Distribution Service) 数据分发服务DDS(DataDistributionService)是对象管理组织(OMG)在HLA及CORBA等标准的基础上制定的新一代分布式实时通信中间件技术规范,DDS采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。DDS... 阅读详情

相关推荐

DDS (Data Distribution Service) 数据分发服务-规范中文翻译

翻译 DDS (Data Distribution Service) 数据分发服务-规范中文翻译_005 DDS (Data Distribution Service) 数据分发服务-规范中文翻译_005 2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independent Model ,PIM) 2.2.2 平台无关模型(PIM)描述 2.2.2.1 基础...

pony12的专栏 957

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_005

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_005 2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independent Model ,PIM) 2.2.2 平台无关模型(PIM)描述 2.2.2.1 基础设施模块 2.2.2.1.2 DomainEntity类 DomainEntity是所有DCPS实体的抽象基类...

DDS技术交流推广大本营 4022

DDS(data distribution service,数据分发服务)简介

DDS无需管理应用程序代码(您的代码)中的所有这些复杂性,而是直接为您实现受控,托管,安全的数据共享。因此,它可以实现更明智的决策,提供新的服务,增加收入来源,并降低成本。DDS中间件全面负责数据的分发(从生产者到消费者),以及数据的管理(例如为后期加入的应用程序维护非易失性(non-volatile)数据)。OMG DDS体系结构设计为可从小型设备扩展到云端,并且适用于非常大的设备系统.DDS通过扩展数千或数百万参与者,以超高速传输数据,管理成千上万的数据对象来实现物联网,并提供极高的可用性和安全性。

qq_41854911的博客 9887

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_007

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_007 2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independent Model ,PIM) 2.2.2 平台无关模型(PIM)描述 2.2.2.2 域模块 2.2.2.2.1 DomainParticipant类 2.2.2.2.1.7 create_conten...

DDS技术交流推广大本营 1564

【DIY】使用STM32及PID算法实现一个磁悬浮玩具

今天教大家来做一个磁悬浮玩具。

小白白学电子 1万+

【数据分享】中国371个城市的坡度矢量数据和excel数据

在城市发展的进程中,地形地貌始终是影响规划决策的关键因素,而坡度作为表征地表倾斜程度的核心指标,更是贯穿于城市建设、生态保护等诸多环节。本文将全面解读中国 371 个城市坡度数据的相关情况,包括数据概况、生成流程、应用场景等内容,为读者呈现一份详尽的坡度数据指南。

qq_39719713的博客 1844

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_001

DDS (Data Distribution Service) 数据分发服务-规范中文翻译-1 1. 概论 1.1 引言 DDS规范为分布式应用的通信和集成提供了一套以数据为中心的发布订阅(DCPS)通信模型,规范同时定义了应用接口和通信语义(行为和服务质量),在信息产生者与匹配的消费者之间提供了一条高效的信息传输通道。 DDS规范的目的概括来说就是“为实现在正确的时间将正确的信息传递到正确的目的...

DDS技术交流推广大本营 6万+

Ubuntu 22.04蓝牙开关秒关?别慌,可能是这个Intel固件文件在搞鬼

本文深入解析Ubuntu 22.04蓝牙开关秒关问题,指出Intel固件文件缺失是常见原因,并提供详细修复方案。通过确认硬件型号、检查固件文件及智能替代方案,帮助用户快速解决蓝牙故障,提升系统稳定性。

weixin_30247307的博客 757

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_002

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_002 2.以数据为中心的订阅发布(DCPS) 2.1.概述 本节描述了DCPS。 DCPS定义应用程序用于发布和订阅数据对象值的功能。 它允许: 发布应用程序以标识要发布的数据对象,然后为这些对象提供值。 订阅应用程序以识别他们感兴趣的数据对象,然后访问其数据值。 应用程序,用于定义主题,将类型信息附加...

DDS技术交流推广大本营 5397

pytorchDataLoader中调整数据长度不一致问题(lstm等)

数据长度不一致 用pytorch做rnn的时候,如果输入数据不一样长,可以用两种方式解决。 一种是自定义collate方法, #自定义collate_fn dataloader.DataLoader(dataset,4,True,collate_fn=my_collate) 然后里面写数据和标签载入方式即可 def my_collate(batch): data = [item[0] for item in batch] target = [item[1] for item in batc

weixin_48174100的博客 7771

从零构建个性化AI助手:基于Mem0与本地大模型的记忆化实践

本文详细介绍了如何利用Mem0与本地大模型构建个性化AI助手,实现记忆化应用结构的实践方法。从开发环境搭建、记忆存储机制到个性化交互实现,提供了完整的解决方案和代码示例,帮助开发者在本地环境中创建能记住用户习惯和偏好的智能助手。

weixin_29214335的博客 470

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_004

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_004 2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independent Model ,PIM) 2.2.2 平台无关模型(PIM)描述 DCPS由五大模块组成。 图 2 4 DCPS模块分类 基础设施模块定义了抽象类和由其他模块细化的接口。它还为中间件提供了两种...

DDS技术交流推广大本营 5386

数据库系统概论课后习题答案(第五版 王珊、萨师煊)

第1章 绪论 1 .试述数据、数据库、数据库系统、数据库管理系统的概念。 答: ( l )数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统中数据的概念是广义的。早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。现代计算机能存储和处理的对象十分广泛,表

早知晓的博客 11万+

DDS (Data Distribution Service) 数据分发服务-规范中文翻译-1

Preface 序言 声明:本人非专业翻译,如有错误可留言。 如上所述,OMG规范处理中间件,建模和垂直领域框架。所有OMG正式的规格都可以从这个网址获取: http://www.omg.org/spec 其他相关文档目录 OMG Document Number: formal/2015-04-10 Standard document URL: http://www.omg.org...

xinqingwuji的博客 1万+

深入解析:使用Python进行T矩阵散射计算的完整指南

在物理学和工程学中,散射是一个至关重要的概念。当波(无论是光波、声波还是其他类型的波)遇到一个障碍物时,它会在多个方向上散开。为了理解和预测这种行为,我们需要进行数学建模和计算。其中,T矩阵方法是一种非常有效的工具。在开始计算之前,我们需要定义一些基础函数。"""计算T矩阵的一个元素。参数:- wave_vector: 波矢- scatterer_position: 散射体的位置- scatterer_properties: 散射体的性质(如大小、形状等)返回:- T矩阵的一个元素。

qq_38334677的博客 1054

什么是DHCP Snooping?如何配置DHCP Snooping?

功能描述防护类型防御伪造 DHCP 服务器、避免地址冲突、增强网络安全性使用场景企业园区网、校园网、大型局域网配合机制IP Source Guard、DAI、防止 ARP 欺骗部署难度⭐⭐(简单)“DHCP Snooping,是内网 DHCP 安全防护的第一道门神。” 🛡️。

网络技术联盟站 1267

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_009

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_009 2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independent Model ,PIM) 2.2.2 平台无关模型(PIM)描述 2.2.2.2 域模块 2.2.2.2.2 DomainParticipantFactory类 此类的唯一目的是创建和销毁Domai...

DDS技术交流推广大本营 2343

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_016

2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independent Model ,PIM) 2.2.2 平台无关模型(PIM)描述 2.2.2.4 发布模块 2.2.2.4.2 DataWriter 类 DataWriter类允许应用程序设置给定主题下发布的数据的值。 DataWriter只附加到一个充当它的工厂的Publisher。 DataWriter只与一个主题(Topic)绑定,因此只与一种数据类型绑定。主题(Topic)必须在DataWriter创建之前存

DDS技术交流推广大本营 1843

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_008

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_008 2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independent Model ,PIM) 2.2.2 平台无关模型(PIM)描述 2.2.2.2 域模块 2.2.2.2.1 DomainParticipant类 2.2.2.2.1.19 assert_livel...

DDS技术交流推广大本营 1667

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_011

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_011 2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independent Model ,PIM) 2.2.2 平台无关模型(PIM)描述 2.2.2.3 主题定义(Topic-Definition)模块 主题定义模块由以下类组成: TopicDescription ...

DDS技术交流推广大本营 1416

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_006

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_006 2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independent Model ,PIM) 2.2.2 平台无关模型(PIM)描述 2.2.2.2 域模块 DCPS域模块由以下类组成: DomainParticipant DomainParticipantFa...

DDS技术交流推广大本营 4008

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_010

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_010 2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independent Model ,PIM) 2.2.2 平台无关模型(PIM)描述 2.2.2.2 域模块 2.2.2.2.3 DomainParticipantListener 接口 这是一个可以由应用程序提供的类...

DDS技术交流推广大本营 1392

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_015

2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independent Model ,PIM) 2.2.2 平台无关模型(PIM)描述 2.2.2.4 发布模块 2.2.2.4.1 Publisher类 2.2.2.4.1.7 lookup_datawriter 此方法查找获取之前创建成功的属于发布者(Publisher)的DataWriter,需要查找的DataWriter主题为topic_name。如果不存在此类DataWriter,则方法将返回“nil”。 如果Pub

DDS技术交流推广大本营 1554

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_013

2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independent Model ,PIM) 2.2.2 平台无关模型(PIM)描述 2.2.2.3.5 TopicListener接口 由于Topic是一种实体(Entity),因此它具有关联监听器的能力。在这种情况下,关联的监听器应该具有具体类型TopicListener。 2.2.2.3.6 TypeSupport接口 TypeSupport接口是一个抽象接口,必须根据应用程序使用的具体类型进行定制。 此接口要求DDS

DDS技术交流推广大本营 1713

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_014

2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independent Model ,PIM) 2.2.2 平台无关模型(PIM)描述 2.2.2.3.5 TopicListener接口 2.2.2.4 发布模块 图 2 9 DCPS发布模块的类模型 DCPS发布模块由以下类组成: Publisher DataWriter PublisherListener DataWriterListener 2.2.2.4.1 Publisher类 发布者(Publisher)类是

DDS技术交流推广大本营 1514

DDS (Data Distribution Service) 数据分发服务-规范中文翻译_012

2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independent Model ,PIM) 2.2.2 平台无关模型(PIM)描述 2.2.2.3 主题定义(Topic-Definition)模块 2.2.2.3.3 ContentFilteredTopic类 ContentFilteredTopic类是TopicDescription类的一种特殊化,允许基于内容的订阅。 ContentFilteredTopic描述了一种更复杂的订阅场景,这种情况下订阅者不一定要收到此

DDS技术交流推广大本营 1693
上一篇: DDS (Data Distribution Service) 数据分发服务-规范中文翻译_002
下一篇: DDS (Data Distribution Service) 数据分发服务-规范中文翻译_004
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值