智能汽车车用基础软件平台关联技术
(2) 主要功能
SOME/IP-SD 有两个主要功能:
一是应用程序之间传达自己的服务或获取对方的服务是否可用。二是向其他应用程序订阅服务,也 就是通过 SOME/IP-SD 对服务进行订阅,然后再用 SOME/IP 里的 Notification 类型消息发布订阅内容。
SOME/IP-SD 报文主要有以下几类:
① OfferService:Server 服务 Ready 并满足服务发布条件后,主动发出 OfferService 报文,告知组播内其他节点,该服务已经启动,可以创建服务连接。
② FindService:当 Client 在网络中未收到相关服务的 OfferService 报文或者暂时未收到,而 Client 又需要访问该服务,那么 Client 可以发送 FindService 报文主动寻找服务,如果 Server 服务 Ready,会回复 OfferService 报文。
③ StopOfferService:当 Server 发现服务不可用,不满足服务发布条件时,会主动发送 StopOffer- Service 报文,告知组播内其他节点,该服务已不可用,停止服务支持。
④ Subscribe:事件组的交互采用 “订阅- 发布” 机制,当 Client 收到 OfferServic 报文之后,通过发送 Subscribe 报文主动跟 Server 订阅相关事件组。
⑤ SubscribeACK/SubscribeNACK:当 Server 收到 Client 的订阅报文之后,需要先行判断是否符合可订阅的条件,如果该 Client 满足事件组订阅条件,则发送 SubscribeACK,告知 Client 订阅成功。当事件组内的事件准备就绪之后,Server 会以约定好的形式发送相关事件给成功订阅的 Client。如果该Client 不符合事件组订阅条件,Server 会直接回复 SubscribeNACK,告知订阅不成功。
⑥ StopSubscribe :当 Client 订阅某个事件组之后,发现后续并不在需要该事件组的数据了,可发送 StopSubscribe 报文向 Server 取消订阅相应事件。
(3) 通信行为
服务端和客户端的通信行为如图 4.5-5 所示,包含以下几个阶段:
图4.5-5 SOME/IP协议服务端和客户端的通信行为阶段
⑦ 服务端通信行为:
服务端通信行为如图 4.5-6 所示。
图4.5-6 服务S端通信行E为
a. Down Phase
在这个阶段,Service 是不可用的,即服务端无法提供服务。
b. Initial Wait Phase
· 当服务准备完毕 (Available) 后,进入此阶段。
· 如果此阶段收到 Find Service 报文,服务端忽略此消息,不做任何处理。
· 如果服务不可用了,将返回进入 Down Phase。
· 此阶段需要定义时间参数 INITIAL_DELAY_Min 和 INITIAL_DELAY_Max,初始化时间取其之间的随机值,当定时器超时后,发送第一帧 OfferService,标志着进入下一个阶段。
c. Repetition Phase
· 为了让客户端快速找到有哪些 Service,此阶段重复发送 OfferService,重复次数由 REPETI- TIONS_MAX 决定。
· 发送间隔以 REPETITIONS_base_DELAY 为基本时间,每发送一次,间隔是前一间隔的 2 倍。
· 如果收到某客户端的 FindService,不影响当前阶段的发送计数和计时,延迟一定时间 (REQUEST_ RESPONSE_DELAY) 后,单独发送单播 OfferService 给服务请求端。
· 如果收到 SubscribeEventgroup 后,发送单播 Ack/Nack,启动此订阅Entry 的 TTL 计时器。
· 如果收到 StopSubscribeEventgroup 后,停止此订阅 Entry 的 TTL 计时器。
· 如果服务不可用,离开此阶段进入 Down Phase,并发送 StopOfferService 通知所有客户端。
d. Main Phase
· 此阶段将周期性发送 OfferService,周期时间为CYCLIC_OFFER_DELAY。
· 如果收到某客户端的 FindService,不影响发送计数,延迟一定时间 (REQUEST_RESPONSE_ DELAY) 后,发送单播 OfferService 给服务请求端。
· 如果收到 SubscribeEventgroup 后,发送单播 Ack/Nack,启动此订阅Entry 的 TTL 计时器。
· 收到 StopSubscribeEventgroup 后,停止此订阅 Entry 的 TTL 计时器。
· 如果服务不可用,离开此阶段进入 Down Phase,并发送 StopOfferService。
服务端状态机转换图如图 4.5-7 所示。
图4.5-7 服务端S状态机转E换图
⑧ 客户端通信行为
客户端通信行为如图 4.5-8 所示。
图4.5-8 客户端通信行为
-
汽车测试网V课堂
-
微信公众号
-
汽车测试网手机站
编辑推荐
最新资讯
-
谱尼集团河南总部大厦落成并正式入驻运营
2024-11-26 21:30
-
谱尼测试集团山东区域总部大厦落成仪式圆满
2024-11-26 21:26
-
一图读懂丨谱尼测试2024年半年度报告
2024-11-26 21:25
-
谱尼测试获评“2024年苏州市服务业数字化转
2024-11-26 21:24
-
谱尼测试上海电磁兼容实验室扩能投运
2024-11-26 21:23