SOA

SOMEIP技术详解

SOA

Posted by Jiayang Hu on September 9, 2025

SOME/IP协议简述

SOME/IP 协议是一个基于SOA架构的车载以太网应用层协议,并且被正式纳入了AUTOSAR规范。SOME/IP协议是架构在TCP/IP协议之上的应用层协议,它是一类轻量级的通信协议,通过定义SOME/IP报头(Header)来实现各类特性。 osi_structure osi_structure data_structure data_structure

基本类型

  1. 事件:通常表示一部分数据发生了更新,或者经过了特定的时间间隔。在基于事件的通信过程中,SOME/IP 协议提供了一种事件组机制,使服务消费方能从服务提供方处订阅所需信息。SOME/IP 协议允许开发人员基于自定义粒度的业务域创建事件组(Event group),每个事件组通常包含关系紧密的一系列事件。由服务提供方来提供事件组,以及事件组中所包含的事件,服务消费方只需订阅事件组,便能在事件组中的任意事件发生时,收到来自提供方的通知信息

  2. 方法:通常表示由服务提供方定义并执行的函数。方法允许由服务消费方进行 RPC调用。服务消费方与提供方之间基于RPC调用的通信有两种情况。由服务消费方发起的请求,如果收到返回值,则属于请求响应模式(Request-Response),如果未收到返回值,则属于发后即忘模式(Fire-Forget)。后者主要用于执行控制命令

  3. 字段:通常是由服务提供方长期管理的公共数据,并通过GET方法和SET方法提供标准的访问接口。字段也可以被消费方订阅,当字段数据被更新时,订阅者将收到事件通知

三种模式

注意: 这是最容易让人混淆的部分。​​Field并不是一种新的通信协议,而是SOME/IP为了更方便地管理“数据”而设计的一种高级抽象或模式。​​

它把两种基本功能组合在了一起:

  1. ​​Getter​​:一个​​RR Method​​,用于客户端主动读取当前值。

• 就像您问朋友:“现在室内温度是多少?”(问完他得回答你)

  1. ​​Setter​​:一个​​RR或FF Method​​,用于客户端主动设置新值。

• 就像您告诉朋友:“把温度设为24度。”(可以要求他回复“设好了”,也可以不要求回复)

  1. ​​Notifier​​:一个​​Event​​,用于服务端在值变化时自动通知订阅的客户端。

• 就像朋友承诺你:“温度一旦有变化,我马上主动告诉你。”

引用

[1]易雄宇.基于SOME/IP协议的车载以太网应用层任务调度方法研究[D].重庆大学,2023.DOI:10.27670/d.cnki.gcqdu.2023.001738.