SOME/IP 和 DDS 均已被纳入AUTOSAR AP的平台标准中。

SOME/IP 和 DDS是在不同的应用场景和不同的需求下诞生的技术,所以它们之间注定有很大的区别。

SOME/IP

SOME/IP的全称为:Scalable service-Oriented MiddlewarE over IP,是一种面向服务的传输协议。

严格地说,SOME/IP不是一款特定的产品,而是一种技术标准。

其最早由宝马在2012-2013年开发,并在2014年集成进AUTOSAR 4.2.1中。

当前,全球最大的商用SOME/IP产品供应商是Vector。

开源版的SOME/IP则是由Genivi协会来维护的。

DDS

DDS的全称为Data Distribution Service(数据分发服务),是由OMG发布的分布式通信规范,采用发布/订阅模型,提供多种QoS服务质量策略,以保障数据实时、高效、灵活地分发,可满足各种分布式实时通信的应用需求。

DDS将分布式网络中传输的数据定义为“主题”,将数据的产生和接收对象分别定义为“发布者”和“订阅者”,从而构成数据的发布/订阅传输模型。

各个节点在逻辑上无主从关系,点与点之间都是对等关系,通信方式可以是点对点、点对多、多对多等,在QoS的控制下建立连接,自动发现和配置网络参数。

DDS最早应用于美国海军,用于解决舰船复杂网络环境中大量软件升级的兼容性问题,后来扩展至航空、航天、船舶、国防、金融、通信、汽车等领域,包括作战系统、船舶导航和控制系统、船舶防御系统、无人机驾驶系统和地面控制系统、装甲车辆控制系统、仿真和培训系统、雷达处理和空中交通管理系统、金融系统等。

2018年,DDS首次被引进AUTOSAR AP,作为可选择的通信方式之一。2018年3月,DDS的主要提供者RTI公司宣布,AUTOSAR AP的最新版本(版本18-03)已经具有DDS标准的完整网络绑定。

OpenDDS 和 FastDDS

自动驾驶领域比较有影响力的开源DDS是由RTI原核心团队成员在欧洲创办的eProsima公司推出的FastDDS。

在eProsima将FastDDS的源代码开放出来后,用户可以直接在github上免费下载。

但FastDDS使用起来比较麻烦,这个时候,用户就需要通过向eProsima支付费用来取得支持。

OpenDDS 由位于圣路易斯和凤凰城的的Object Computing的 ACE/TAO 团队开发,它和FastDDS具有一定的相似性——两者都是基于RTPS实现的,面向数据的通信框架,遵循的是同一标准。这类框架的典型特征是去中心化,支持QoS机制,支持实时通信。通常会绑定如protobuf等序列化工具。

在许多情况下,FastDDS 、OpenDDS可以跟RTI的Connnext DDS互操作/通信。当然,具体还得看场景。比如开源DDS 的QoS(服务策略)有 23个,大家都用这23个QOS交互,那就能互操作;如果Connext用的是超出这23个自定义范围的QoS,那么开源DDS就解析不了。此外,如果用的是OMG没开源的DDS工具,那也没法互操作。

DDS VS Some/Ip

现阶段,SOME/IP 和 DDS是自动驾驶上用得最多的两类通信中间件。

共同点主要有:

  1. 都是面向服务的通信协议.
  2. 都采用了“以数据为中心”的发布和订阅模式.

对于数据吞吐量,从有效数据的占比来看,DDS和SOME/IP的性能没有明显的差别

差异性主要有:

  1. 资源占有大小不同
    SOME/IP强调通信,体量比较小.
    DDS功能更多,但体量比较大,需要裁剪后才能用于自动驾驶.
  2. 使用场景不同
    DDS是一套面向数据的访问系统,适合多节点、大数据交互的应用场景;
    SOME/IP是一套面向服务的访问系统,可以很方便地用于RPC(远程过程调用)以及变更通知。
  3. 灵活性、可伸缩性不同
    相较于SOME/IP,DDS引入了大量的标准内置特性,例如基于内容和时间的过滤、与传输无关的可靠性、持久性、存活性、延迟/截至时间监视、可扩展类型等。
  4. 订阅方和发布方是否强耦合
    在SOME/IP中,在正常数据传输前,client需要与server建立网络连接并询问server是否提供所需服务,在这个层面上,节点间仍然具有一定耦合性。服务的订阅方需要知道server在哪里,服务的发布方需要告知server提供哪种服务;
    在DDS标准下,每个订阅方或发布方只需要在自己的程序里面订阅或发布传感器数据就行了,不需要关心任何连接。可以理解为,在DDS中,服务订阅方和发布方的解耦更加彻底,需要什么数据,写一行代码就行了,不需要再去做绑定。
  5. 服务策略不同
    SOME/IP只有一个QoS,即可靠性的定义;
    RTI DDS和开源DDS里面分别有50多个和20多个QoS,这些QoS基本上能涵盖绝大多数可以预见到的智能驾驶场景。

DDS适用于自动驾驶域,而SOME/IP则可以延伸到整车域。

实际运用过程中,二者可以共存在一套系统中。

【软件定义汽车】SOA协议DDS和Some/IP对比相关推荐

  1. SOA协议DDS和Some/IP对比

    SOME/IP 和 DDS 均已被纳入AUTOSAR AP的平台标准中. SOME/IP 和 DDS是在不同的应用场景和不同的需求下诞生的技术,所以它们之间注定有很大的区别. SOME/IP SOME ...

  2. 【数据分发服务DDS】软件定义汽车【三】-SOA 基础软件框架与参考实现

    引言 上一篇文章对智能汽车软件的范围.软硬件升级.SOA的内涵进行了介绍,本篇将围绕 SOA的实现细节,重点阐述以下问题: SOA 基础软件框架 SOA 参考实现 SOA 实现所需相关技术 一.SOA ...

  3. 【数据分发服务DDS】软件定义汽车【二】- 面向服务的架构设计

    引言 上一篇文章主要介绍了电子电气架构.车载操作系统.基础软件平台等之间的关系,以及软件定义汽车的基本概念,本篇将继续深入,重点阐述三个问题: 智能电动汽车软件范畴 软件+硬件升级的基础 面向服务的软 ...

  4. 软件定义汽车时代下,智能汽车软件架构逐步向 SOA 演进

    软件将成为智能汽车差异化的核心,汽车软件架构逐步向 SOA 演进.而相较于传统汽车,智能汽车能为车主创造丰富的.可感知的价值以及全新的驾驶体验,这是当前不同汽车形成差异化的关键,而软件则是汽车智能化的 ...

  5. 【数据分发服务DDS】软件定义汽车【四】-行业现状

    引言 思绪乱飞导致失眠,索性打开电脑记录了下来,前几篇主要写技术,本篇主要介绍一下行业现状,介绍技术和数据是相对客观的,但是谈观点就会有我自己的主观意识在里面,所以这方面仅供大家参考,主要包含以下内容 ...

  6. 【数据分发服务DDS】软件定义汽车【一】- 概述

    摘要: 软件定义汽车(Software Defined Vehicles, SDV),软件改变着汽车的DNA,毫无疑问,软件对于汽车的重要性不言而喻,从2016年开始,自动驾驶的大潮来临之际,软件定义 ...

  7. 软件定义汽车 新一代技术发展

    引言 作为一个技术的爱好者,搞算法,玩芯片,攒系统,并不只是工作,也是自己所追求的很重要的部分.写这个系列,是为了梳理这几年的所学.所思.所想,从而形成一个完整的知识体系,也供大家参考.这是一个横向跨 ...

  8. gvdp哪个工厂用_@汽车工程师,软件定义汽车合集,值得收藏阅读...

    软件定义汽车(Software Defined Vehicles, SDV),软件改变着汽车的DNA,毫无疑问,软件对于汽车的重要性不言而喻,从2016年开始,自动驾驶的大潮来临之际,软件定义汽车已经 ...

  9. 软件定义汽车产业生态创新白皮书

    1 什么是软件定义汽车 1.1 驱动因素 汽车"新四化"的发展需要软件的加持 据大众汽车公开披露信息,未来平均每辆普通汽车软件代码量超 1 亿行.在电动化.智能化和网联化等的发展推 ...

最新文章

  1. fragment之间通信
  2. 个人电脑装tesla v100 需要注意的事项
  3. 关于WEB ServiceWCFWebApi实现身份验证之WebApi篇
  4. 高可用性、负载均衡的mysql集群解决方案
  5. C# .Net中的类型转换(5)
  6. SJCcopula matlab,时变copula的matlab程序
  7. Hilbert变换简要剖析
  8. 计算机组成原理笔记 半导体随机存储器RAM和ROM
  9. 微信小程序:蓝牙通讯,搜索、发送与接收
  10. ic 主动均衡_分享几种锂电池均衡电路的工作原理
  11. 300句子与7000单词
  12. 总结VS下opencv无法正常显示图片的几种问题及其解决方案
  13. mk16i android 8,索爱MK16i评测:机身做工优良
  14. 迈向太赫兹时代:解决通讯业三大痛点 BNET开创6G时代
  15. 百度,你大爷回来了!谷歌宣布AI重返中国,首席扛把子竟是个华人小姐姐
  16. 语音识别数据增强方法(google2019年7月论文)
  17. 基于C++实现的股票大数据的统计分析与可视化
  18. 四年级经典奥数题及答案解析
  19. 第四届中国区块链开发大赛,权威投资机构将直接对接获奖团队
  20. k8s的“前端”——ingress

热门文章

  1. 揭秘:恒生电子到底是干什么的
  2. 概论_第4章__期望的定义和性质
  3. 你能猜出这些水果到底是啥吗?
  4. Java基础_107. private 关键字的使用
  5. 【C语言期末/实践/大作业】成绩管理系统日程表管理系统
  6. 用x264和ffmpeg将YUV编码为.h264(1)
  7. 思科--使用VTP(vlan trunking protocol)[思科私有协议]进行交换机管理
  8. 游戏缺少steam_api.dll解决方法-无法找到steam_api.dll怎么办
  9. 1python软件的下载官网是_学Python软件下载-学Python软件官方版下载v1.0-upan
  10. HC32F460 实现模拟U盘导入python脚本在19264点阵屏上绘图--U盘模式