全面解读DDS和TSN融合技术及其测试方案 (上)软件定义汽车对网络通信技术的影响|DDS的关键特性|DDS的以数据为中心|DDS的平台无关|基于DDS实现的SOA架构

在这里插入图片描述

本文分上下篇,此篇为上篇,文末附下篇链接:)



软件定义汽车对网络通信技术的影响

在这里插入图片描述

图 1: 汽车电子电气架构演进趋势

十多年来,汽车电子电气架构架构在不断升级的应用需求的推动下快速演进。从智能网联、自动驾驶、智能座舱,到软件定义汽车、OTA 升级等新兴应用层出不穷,上层应用的创新必将催生电子电气架构的相应变革,后者是前者实现的重要基础。

回溯十多年前,当时典型的架构就是中央网关加上若干 CAN 节点的拓扑结构。后来随着域控制器、主干网络、集中式架构等概念的引入,区域控制器和高性能计算单元开始崭露头角。

在这股变革浪潮中,值得重点关注的是一个趋势——功能上移。早期的分布式架构中,整车功能分散布局在十余个 ECU 之中。然而,这种分散布局在快速迭代和频繁升级的大潮下,显然无法很好适应需求。过于分散加剧了 ECU 间耦合,任何局部变动都可能引发整车级连锁反应,迭代升级效率大打折扣。

为解决这一困境,后来引入了域控制器概念,将分散的 ECU 功能进行整合,实现集中管理和高效升级。更进一步,功能继续上移集中至中央高性能计算平台,从根本上解决了分散布局导致的迭代低效问题,有力支持软件快速迭代升级的需求。
在这里插入图片描述

图 2: 标准化的基础软件和硬件平台

功能上移的本质,是应用软件向上移动,而底层基础软件和硬件平台则可标准化,实现长周期维护。简单来说,这可以称为“软硬分离”,或“应用软件与基础软件/硬件平台分离”。

在这种软件快速迭代升级的大趋势下,应用软件对基础软硬件平台提出了新的需求。

首先是动态性需求。为实现快速开发新车型,有必要赋予基础平台一定的动态灵活性,这也是过去十年 SOA 架构飞速发展的原因之一。动态化的平台,就像搭乐高积木一样,可让 OEM 厂商快速为系统增加新的功能。

其次,更为重要的是实时性需求。这是汽车与消费电子的根本差别所在。作为交通工具,汽车的首要任务是确保驾驶员、乘客和行人的安全。要实现这一点,基础软硬件必须具备足够的实时响应能力、可靠性和确定性,才能有力承载关键应用。

那么DDS 如何满足上述各方面需求呢?

DDS 的关键特性

首先从通信模式的角度来看。很多人习惯将 DDS 与 SOME/IP 进行对比,但实际上两者遵循的是完全不同的通信模式,有不同的应用场景。
在这里插入图片描述

图 3: DDS 通信模式

DDS 是典型的发布订阅 (Pub-Sub) 通信模型,更像一种面向信号的通信方式。大家熟知的 CAN 总线实际上也是发布订阅模型,只不过 DDS 版的发布订阅要更加灵活。
在这里插入图片描述

图 4: SOME/IP 的通信模式

而客户端服务器模型 (Client-Server),又称 SOA 模型,则是在发布订阅模型基础上的进一步抽象。

在发布订阅模型中,发布者和订阅者交互的是独立的消息 (Message)。但在 SOA 模型里,客户端和服务端交互的数据则赋予了新的语义,如请求消息、响应消息、事件消息等。

表面上 SOA 模型看似更高级,但实际上两种模式并无优劣之分,只是各有适用的场景。

发布订阅模型更适合大量简单的实时数据分发场景,如传感器数据、车辆状态数据的分发。此外,发布端和订阅端也是相对解耦的,双方无需关注对方的位置状态,笔者稍后将详解 DDS 在这方面的优势。

而客户端服务器模型的限制则更多。首先要求数据流向明确,需有一中央节点,其他节点 (客户端) 只与该节点通信,客户端节点之间无直接交互。其次,通信模式是请求-响应式的,如数据库查询、文件服务等。再者,数据和计算资源均集中在服务端。
在这里插入图片描述

图 5: SOA 的典型发展过程(图片来源于AEC 2024《Is SOME/IP the right solution for the next 10 years of vehicles》)

因此,SOA 通信模型的适用场景是比较有限的。如果数据流不符合该模型,使用 SOA 反而会增加设计和开发的负担。事实上,近年一些 OEM 在第一代车载以太网量产后便急于追求整车 SOA 化,但开发效率未能显著提升,反而增加了不少成本。

DDS 的以数据为中心

DDS 的一个重要特性是“以数据为中心”。

过去在介绍 SOA 时,人们常说其一大特点是解耦。但解耦并非 SOA 的专利,DDS 同样能够实现解耦。

与 SOA 中的服务、请求、响应等复杂概念不同,DDS 世界中只有“数据”这一核心要素。应用程序可以像访问数据库一样,自由收发数据,而无需关注数据来源去向。发布端只需把数据“丢给”DDS,不必理会接收者情况;订阅端则直接从 DDS “拿走”所需数据,不问数据发布方。这种“充分解耦”的模式,甚至超越了 SOA。

大家可能会问,DDS 中是否也存在一个中央节点,和 SOA 架构类似? 从逻辑上讲,确实存在一个虚拟的“全局数据空间”。但这并非 SOA 中的“服务器”概念,两者指向不同层次。DDS 中的“服务”,仅指数据分发服务,属底层功能,负责数据发现、存储、发布等,不涉及业务逻辑;而 SOA 中的“服务”则指应用层的业务服务,如空调、音乐等。这是须明确区分的两个概念。另外,尽管 DDS 逻辑上有“全局数据空间”,但在物理实现上它仍是分布式的,并不存在真实的服务器节点,因此不存在单点故障和性能瓶颈隐患。

在这里插入图片描述

图 6: DDS 的以数据为中心的概念以及解耦

上图可以很好地解释 DDS 发布订阅双方的解耦关系。一开始整个系统处于空闲状态,发布端第一个“唤醒”,开始发布数据。此时网络中尚无接收者,但没关系,发布端只管把数据“丢给”DDS 即可,随后自己进入休眠。等到有订阅端上线需要数据时,直接从 DDS“拿走”所需数据即可,根本无需在意数据源头。这种“充分解耦”模式靠 DDS 的内置 QoS (服务质量)实现,这能够使 DDS 的耦合程度比 SOA 更低。因为在 SOA 的请求-响应通信中,客户端和服务端必须同时在线,而 DDS 并不一定要求如此。

DDS 的平台无关

DDS 的另一大特性是平台无关性。这里的“平台”泛指操作系统、传输协议等底层依赖。DDS 实现平台无关的方式是,尽量不依赖于平台的独有复杂功能,而将这些功能需求自己实现,然后通过统一的标准化接口对外提供服务。
在这里插入图片描述

图 7: DDS 的平台无关

因此,DDS 的可移植性非常良好,只要有基本的 UDP 通信支持,就可以运行 DDS。事实上,DDS 与 UDP 被认为是最佳拍档,因为 UDP 最为简单,几乎没有 QoS 保证。而 DDS 则希望底层协议尽可能简单,因为诸如 QoS 等复杂功能需求,DDS 自身已实现并对应用开放。

不过,DDS 这种“自力更生”的做法,也带来了一个印象 —— 在很多人眼里,DDS 显得过于“重”、过于复杂,资源开销较大。笔者认为这是一种取舍:DDS 一边提供了丰富特性、标准统一接口和平台无关性,作为代价,另一边就是较高的资源开销和软件复杂度。这是一种权衡,没有绝对的对错。

基于 DDS 实现的 SOA 架构

SOA在现代车载分布式系统中扮演着至关重要的角色。SOA 提供了一种灵活、可扩展的方法来设计和实现复杂的分布式系统,使得不同的服务能够独立开发、部署和维护,同时又能无缝地协同工作。

通过在 DDS 之上实现 SOA,我们似乎可以结合 DDS 的数据中心特性和 SOA 的服务中心特性,既能够利用DDS的适用于大量实时数据分发的特性,又具备了SOA的灵活、可扩展,便于管理的优势。

前文提到 DDS 并非 SOA 架构,与 SOME/IP 等技术有所不同。但通过一定手段,DDS 确实可以支持类 SOA 的通信模式。
在这里插入图片描述

图 8: DDS-RPC(图片来自 https://www.omg.org/spec/DDS-RPC )

OMG 发布了 DDS-RPC 标准规范,其中给出了一个参考实现。做法是在 DDS Topic 的基础上再封装一层,对于请求报文,添加包含客户端 GUID (全局唯一 ID) 和序列号的报文头,以让服务端识别来源和追踪序列。服务端回复时,将服务端 ID、序列号及原请求头复制到响应报文头中,使客户端能对应到之前的请求。
在这里插入图片描述

图 9: 基于 DDS 实现 SOA 时存在的问题

虽然 DDS 可以大致模拟 SOA,但仍有些特性缺失,比如真正意义上的服务发现功能。DDS 虽然也有发现机制 (SPDP/SEDP),但仅提供通信端点层面的发现,无法发现应用层业务服务。不过,DDS 本身提供了良好扩展性,DDS-RPC 框架使用者可自行开发所需的服务发现功能。

另一个限制是,一旦将 DDS 用于请求-响应模式的 RPC 通信,很多 QoS 特性将不再适用。

综合考虑,将 DDS 用作 SOA 通信框架或 SOME/IP 的替代方案时,我们需要全面权衡其优势与挑战。DDS 与 SOA 的结合无疑能带来诸多优点,如高性能的实时数据分发与灵活的服务架构的融合。然而,这种整合也伴随着显著的成本和潜在缺陷:

  • 技术实现方面,我们可能需要自行解决一系列额外的技术问题。
  • 功能应用方面,这种使用方式可能会限制 DDS 原有的一些独特优势。
  • 资源消耗方面,DDS 较高的系统资源占用可能成为一个不容忽视的负担。

因此,在做出技术路线的选择之前,我们必须审慎评估其带来的收益是否足以抵消相应的成本和潜在风险。

全面解读DDS和TSN融合技术及其测试方案 (下):DDS与TSN的融合|实时性是系统性问题|通过 TSN 改善 DDS 时间控制|通过 TSN 改善 DDS 的传输延迟和优先级|OMG DDS-TSN|针对 DDS -TSN 的系统级测试

在这里插入图片描述

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值