Ⅰ 数据分发服务(DDS)介绍
随着智能网联汽车的兴起,DDS(Data Distribution Service)作为新一代分布式实时通信协议,推动了“软件定义汽车”的产业理念的普及。实现软件定义汽车和软件驱动创新,汽车软件架构正向更高层次的“面向服务(SOA)”演进。DDS具有高实时性、可靠性和开放式体系结构,以及发布/订阅端的非耦合性能。
DDS是一种中间件协议和API标准,由Object Management Group(OMG)组织制定。它用于数据密集型实时应用程序的可靠、高性能和可伸缩的数据交换。DDS定义了一种面向发布-订阅(Pub-Sub)的模式,用于通过网络分发高速数据,并且能够处理数据传输的可靠性、传输优先级、安全性等多个方面。在软件架构中,DDS处在应用程序层、运行环境层、基础软件层,以API、数据总线(话题)、协议栈形式出现。
DDS的通信模型称为DCPS(Data Distribution Service on the Publish-Subscribe)模型。在DDS中,数据交换以Topic(话题)为通信单元,应用程序通过Topic判断所需数据,所有话题在DDS的DataBus(数据总线)上活动。DDS能够按照用户应用程序定义的策略(QoS)自动存储、发布或订阅数据,应用程序透明访问或存储数据,无需关心数据实际位置。
在自动驾驶领域,DDS的实时特性非常适合车端自动驾驶系统。系统中存在感知、预测、决策和定位模块,需要高速和频繁的交换数据。借助DDS,可以满足这些通信需求。威蓝科技自研的DDS Test Suite测试平台解决了DDS仿真测试问题。
DDS DCPS RTPS协议参考规范的测试覆盖范围包括:DDS-RTPS协议测试、QoS配置测试、故障注入测试、功能测试、SOA测试、性能测试。在自动驾驶系统中,DDS和SOME/IP两类面向服务的通信协议的差异主要体现在通信模型、API、QoS策略、传输层协议、安全性、资源需求、AUTOSAR支持等方面。在实时特性、数据交换效率和可靠性方面,DDS具有明显优势。