车内的中间件协议:是面向服务还是以数据为中心或是RESTful.docVIP

车内的中间件协议:是面向服务还是以数据为中心或是RESTful.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
车内的中间件协议:是面向服务,还是以数据为中心,或是RESTful? 以太网技术引入汽车工业,不仅大大增加了可用带宽,而且在汽车环境中建立起了基于IP的通信。以太网最初的应用是跟车外交互的诊断,尤其是ECU刷写。传统的动力域、车身域和底盘域继续使用传统总线技术,例如CAN、LIN和FlexRay,并采用基于信号的方式来配置通信。不过,将更多的通信转移到以太网上,充分利用以太网的技术优势是很有意义的。 汽车工业引入了一个新的以太网物理层(“车载以太网”/100BASE-T1)和第一个汽车中间件协议:SOME/IP(Scalable service-Oriented MiddlewarE over IP)。一段时间以来,对来自于IT行业和物联网(IoT)领域的协议的讨论越来越多。这些协议的主要特点是以数据为中心,包括DDS(Data Distribution Service)和MQTT(Message Queuing Telemetry Transport Protocol)。REST(REpresentational State Transfer)也适用于个别的应用场景。然而,REST缺少一个对于工程控制系统很重要的特性:不能以事件触发的方式(on Event)发送数据。如果不支持这种特性,协议就不可能在汽车领域得到广泛的应用,这就是为什么本文不再进一步讨论REST的原因。 本文将对MQTT、DDS和SOME/IP进行概述讨论,比较它们在车内通信的适用性,并尝试回答如下问题: 01 起源和通信规范 MQTT于1999年发布,自2013年起由OASIS组织进行管理。MQTT的两个主要版本是3.1.1版(在ISO/IEC标准20922中发布)和后续2019年发布的第5版本。MQTT的主要优点是资源需求低和在不可靠网络中的适用性,这使其在物联网领域很受欢迎。MQTT依赖于一个中央“服务器”(Broker),它会在发送者(Publisher)和接收者(Subscriber)之间传递信息(Topic)。节点可以在某些主题下发送报文,也可以订阅接收某些主题下的报文。MQTT使用TCP作为传输协议(如图1)。 Figure1:System logic of communication of the MQTT protocol communication with quality of service (QoS)parameters DDS同样使用发布者-订阅者的模式,并且不需要“服务器”就可以进行交互(如图2)。第一版DDS规范由OMG在2004年发布的,当前最新版本是1.4。在DDS中,通信可以是单播形式也可以是多播形式,这就是为什么TCP和UDP两者都可以作为传输协议。当采用多播形式的时候,UDP比TCP更加高效。和MQTT相比,DDS首要考虑的是动态传输和灵活性,以及在拥有很多节点的系统内的适用性。 Figure2:System logic of communication of the DDS protocol? SOME/IP于2013年发布,是唯一专门为汽车应用开发的协议。在SOME/IP中,服务的提供者和使用者彼此直接关联,没有中央“服务器”。SOME/IP将数据和功能都封装在服务中,Method、Event和Field被用于描述服务接口(如图3)。SOME/IP和DDS一样,采用单播和多播通信,并且通常是基于UDP的。 Figure3:System logic of communication of the SOME/IP protocol? 02 通信设计和要素 在基于信号的通信领域,信号是周期性发送,或者事件触发的。远程过程调用(RPC)的本地通信机制或本机动态订阅机制不支持变更通知。如果需要,可以在应用层手动模拟实现变更通知,而SOME/IP与生俱来可以支持此机制。事件触发的数据传输同样也是MQTT和DDS通信的基础。而对于这两种协议,虽然RPC(MQTT Version 5)的必要性也被意识到了,但是它们不能直接支持RPC,而是需要通过转发和返回通道来组合多个主题去实现。 MQTT协议规定了字节数组最大长度为256M字节,有效数据(UTF8编码字符串)的序列化和反序列化可以由发送方和接收方自主处理。DDS提供的数据有详细类型和专用传输协议,然而和MQTT一样,它也会涉及字节数组的序列化。SOME/IP详细定义了数据类型,同时定义了支持的数据类型的序列化。SOME/IP允许基于其4 字节长度字段的数据报文的有效负载高达4GB。 数据或者服务的发布者和订阅者如何找到彼此呢?在动态系统中,这是一个基本问题,尤其是在有多个实例(即有多个数据提供者)的情况下。SOME/IP采用“服务发现”来解决这一问题。“服务发现”是一种在运行

文档评论(0)

play + 关注
实名认证
文档贡献者

分享有帮助的文档

1亿VIP精品文档

相关文档