点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
01
什么是DDS
DDS是一系列标准,它指定了分布式应用程序可用于交换实时数据的API、协议和安全机制。应用程序所使用的软件应用程序编程接口(API)是基于一个安全的、服务质量(QoS)感知的“以数据为中心的发布订阅”(DCPS)模型。这意味着应用程序只需要关注它们希望产生或使用的数据,以及所需的QoS。DDS基础设施负责处理其余的部分。由于DDS是作为一个“基础设施”解决方案实现的,因此可以添加它作为任何软件应用程序的通信接口。
02
DDS的特点
数据中心(Data Centricity)
DDS最重要的特性是以数据为中心,这与其他许多通信中间件不同。DDS的数据共享以Topic为单元,应用程序能够通过Topic判断包含的数据类型,而不必依赖其他上下文信息。同时,DDS能够按照用户定义的方式自动地存储、发布或订阅数据,使应用程序能够像访问本地数据一样进行数据的写入或读取。
DDS 数据中心
全局数据空间(Global Data space)
DDS实现的数据共享可以被理解为一个抽象的全局数据空间,无论应用程序是用哪种开发语言编写,或者在哪种操作系统上运行,都可以以相同的方式访问这个全局数据空间,就像访问本地存储空间一样。当然,全局数据空间只是一个抽象概念,在实际实现中,数据仍然被分别存储在每个应用程序的本地空间中。在系统运行时,数据是按需传输或存储的,数据的发布者只发送订阅者需要的数据,而订阅者只接收并存储本地应用程序当前所需的数据。
全局数据空间
服务质量(Quality of service)
DDS还提供了高度灵活的QoS(Quality of Service)策略,以满足用户对数据共享方式的不同需求,例如可靠性和故障处理等。对于对数据安全性要求较高的系统,DDS还提供了精细的数据安全控制,包括应用程序身份认证、权限控制和数据加密等。
动态发现(Dynamic Discovery)
类似于SOME/IP-SD,DDS提供了数据发布者和订阅者的动态发现机制,这意味着用户无需手动配置通信节点的地址或其他属性信息,因为它们在运行过程中会自动发现对方并自动完成相关配置,实现了即插即用的功能。
可扩展架构(Scalable Architecture)
DDS可应用于边缘计算、雾计算和云计算领域。在边缘计算中,DDS可以实现高速实时的设备间通信。在中间系统中,DDS提供健壮可靠的QoS和内容感知的信息流。DDS提供可扩展的信息访问和数据分发手段,用于集成信息系统,将各系统接入云端。
OMG DDS的适用范围广泛,涵盖了从小型设备到云计算系统等超大型系统。DDS能够以超高速传输数据并同时管理数千个数据对象,提供极高的可用性和安全性,非常适用于物联网。通过提供一个标准的通信层,DDS屏蔽了底层复杂性,简化了分布式系统的开发。
可扩展架构
安全(Security)
DDS为关键任务的工业物联网环境提供了全面的安全保护机制,跨系统、跨供应商,覆盖从边缘设备到云端的安全性需求。
DDS提供了身份验证、访问控制、数据加密和数据完整性等安全机制,以确保数据分发的安全性。这些安全机制是在点对点对等架构上实现的,不会影响实时通信的性能。
与SOME/IP有什么区别
SOME/IP和DDS是目前在域控最常用的两类通信中间件,它们都是面向服务的通信协议,并采用以数据为中心的发布/订阅模式。然而,SOME/IP和DDS在许多方面也存在差异。
举个例子:好比我们饿了,去饭店吃饭(读取数据)。SOME/IP这个饭店怎么营业呢?
再看看DDS饭店是如何营业的呢?
从上面两个饭店我们可以看出,SOME/IP饭店需要在来客人后(取数据时),现做现卖,而DDS饭店,不会等客人来,会做好所有的饭菜,当客人来之后,直接就可以用(快餐)。如果客人不急,这两个饭店都可以满足客人的需求,但是当客人很着急时,DDS饭店就能为客人提供更好的服务。但是DDS也有一个问题,提前做的饭菜(当然数据不存在放坏的情况)得有地方放,没放的地方就不行了——这个地方叫全局数据空间。
整个DDS都是围绕着这个全局数据空间进行设计,全局数据空间放在哪里,成为了设计中的关键。
03
总结
DDS为信息交换和应用程序集成创建了一个简单而强大的体系结构。它和SOME/IP存在直接的竞争关系,但由于它们在应用领域、灵活性和服务策略等方面存在差异,整车厂可以根据需求选择适合的通信中间件,甚至可以同时使用二者。这也是为什么AUTOSAR AP既支持SOME/IP也支持DDS的原因。
来源:汽车以太网技术研究室
精品活动推荐
更多文章