663 lines
19 KiB
Markdown
663 lines
19 KiB
Markdown
# 服务发现规范
|
||
|
||
**AUTOSAR CP Release 4.4.0**
|
||
|
||
> 翻译说明:本文件为 AUTOSAR SWS Service Discovery (Sd) 规范的中文翻译版本。文档标识 616,对应原文 `AUTOSAR_SWS_ServiceDiscovery.pdf`(166 页)。
|
||
|
||
## 元信息
|
||
|
||
| 字段 | 值 |
|
||
|---|---|
|
||
| 文档标题 | 服务发现规范 (Specification of Service Discovery) |
|
||
| 文档所有者 | AUTOSAR |
|
||
| 文档责任方 | AUTOSAR |
|
||
| 文档标识号 | 616 |
|
||
| 文档状态 | Final(最终版) |
|
||
| AUTOSAR 标准所属 | Classic Platform(经典平台) |
|
||
| 标准发布版本 | 4.4.0 |
|
||
| 文档 ID | AUTOSAR_SWS_ServiceDiscovery |
|
||
|
||
## 文档变更历史
|
||
|
||
| 日期 | 发布版本 | 修改者 | 变更说明 |
|
||
|---|---|---|---|
|
||
| 2018-10-31 | 4.4.0 | AUTOSAR Release Management | 新增重试订阅功能;增加负载均衡选项;小幅 bug 修复 |
|
||
| 2017-12-08 | 4.3.1 | AUTOSAR Release Management | 若干小幅 bug 修复;编辑性变更 |
|
||
| 2016-11-30 | 4.3.0 | AUTOSAR Release Management | 重大改进(SoAd 交互);若干 bug 修复;编辑性变更 |
|
||
| 2015-07-31 | 4.2.2 | AUTOSAR Release Management | 调试支持标记为已废弃;澄清;小幅 bug 修复 |
|
||
| 2014-10-31 | 4.2.1 | AUTOSAR Release Management | 修复客户端服务迁移支持;支持更高效的 SoAd 接口;优化 StopSubscribe/Subscribe 负载 |
|
||
| 2014-03-31 | 4.1.3 | AUTOSAR Release Management | 编辑性变更;更详细的端点处理;更详细的消息构建 |
|
||
| 2013-10-31 | 4.1.2 | AUTOSAR Release Management | 没有重大变更;编辑性变更 |
|
||
| 2013-03-15 | 4.1.1 | AUTOSAR Administration | 初始发布 |
|
||
|
||
## 目录
|
||
|
||
1. [介绍与功能概述](#1-介绍与功能概述)
|
||
2. [缩写词与缩略语](#2-缩写词与缩略语)
|
||
3. [相关文档](#3-相关文档)
|
||
4. [约束与假设](#4-约束与假设)
|
||
5. [与其他模块的依赖关系](#5-与其他模块的依赖关系)
|
||
6. [需求可追踪性](#6-需求可追踪性)
|
||
7. [功能规范](#7-功能规范)
|
||
8. [API 规范](#8-api-规范)
|
||
9. [时序图](#9-时序图)
|
||
10. [配置规范](#10-配置规范)
|
||
|
||
---
|
||
|
||
## 1 介绍与功能概述
|
||
|
||
本规范规定了 AUTOSAR 基础软件模块 Service Discovery (Sd) 的功能、API 和配置。Sd 在以太网车载网络上实现面向服务的通信 (Service-Oriented Communication, SOC) 的服务发现机制。
|
||
|
||
### 1.1 模块职责
|
||
|
||
Sd 的主要职责:
|
||
- 在车载以太网上提供服务的发布(Offer)和订阅(Subscribe)
|
||
- 维护服务实例的可用性
|
||
- 处理服务迁移(Service Migration)
|
||
- 负载均衡(4.4.0 新增)
|
||
- 重试订阅(4.4.0 新增)
|
||
- 与 SoAd 集成
|
||
|
||
### 1.2 模块在 AUTOSAR 架构中的位置
|
||
|
||
```
|
||
应用层 (Service Consumers / Providers)
|
||
│
|
||
Sd ← 本规范
|
||
│
|
||
SoAd
|
||
│
|
||
TcpIp
|
||
```
|
||
|
||
### 1.3 关键概念
|
||
|
||
#### 1.3.1 服务实例(Service Instance)
|
||
|
||
Sd 中服务的基本单位。每个服务实例由以下部分定义:
|
||
- **Service ID**:服务的唯一标识符
|
||
- **Instance ID**:服务实例的标识符
|
||
- **Major Version / Minor Version**:服务版本
|
||
- **Instance TTL**:服务实例的生存时间
|
||
|
||
#### 1.3.2 服务发布(Offer Service)
|
||
|
||
服务提供者(Server)周期性地向网络宣告其提供的服务实例。
|
||
|
||
#### 1.3.3 服务订阅(Subscribe / Find Service)
|
||
|
||
服务消费者(Client)订阅其感兴趣的服务,并在服务实例可用时收到通知。
|
||
|
||
#### 1.3.4 服务迁移(Service Migration)
|
||
|
||
当服务实例从一个 ECU 迁移到另一个 ECU 时,订阅者应自动发现新的服务实例位置。`[SWS_Sd_00400]` ⌈ Sd 应支持服务迁移。 ⌋ ()
|
||
|
||
#### 1.3.5 负载均衡(4.4.0 新增)
|
||
|
||
`[SWS_Sd_00600]` ⌈ Sd 应支持负载均衡(4.4.0 新增)。 ⌋ ()
|
||
|
||
负载均衡允许订阅者从多个相同 Service ID 的服务实例中选择。
|
||
|
||
#### 1.3.6 重试订阅(4.4.0 新增)
|
||
|
||
`[SWS_Sd_00601]` ⌈ Sd 应支持重试订阅(4.4.0 新增)。 ⌋ ()
|
||
|
||
如果订阅失败,自动重试订阅。
|
||
|
||
---
|
||
|
||
## 2 缩写词与缩略语
|
||
|
||
| 缩写 | 描述 |
|
||
|---|---|
|
||
| API | Application Program Interface |
|
||
| AUTOSAR | Automotive Open System Architecture |
|
||
| BSW | Basic Software |
|
||
| ECU | Electronic Control Unit |
|
||
| IP | Internet Protocol |
|
||
| LS-DB | Link State DataBase |
|
||
| PDU | Protocol Data Unit |
|
||
| PNC | Partial Network Cluster |
|
||
| RTE | Runtime Environment |
|
||
| Sd | Service Discovery |
|
||
| SoAd | Socket Adaptor |
|
||
| SOC | Service-Oriented Communication |
|
||
| SOME/IP | Scalable service-Oriented MiddlewarE over IP |
|
||
| SW-C | Software Component |
|
||
| TCP | Transmission Control Protocol |
|
||
| TLV | Type-Length-Value |
|
||
| TTL | Time To Live |
|
||
| UDP | User Datagram Protocol |
|
||
|
||
---
|
||
|
||
## 3 相关文档
|
||
|
||
### 3.1 输入文档
|
||
|
||
| 编号 | 文档 |
|
||
|---|---|
|
||
| [1] | AUTOSAR SWS BSW General — `AUTOSAR_SWS_BSWGeneral.pdf` |
|
||
| [2] | AUTOSAR SRS BSW General — `AUTOSAR_SRS_BSWGeneral.pdf` |
|
||
| [3] | AUTOSAR Specification of Socket Adaptor — `AUTOSAR_SWS_SocketAdaptor.pdf` |
|
||
| [4] | AUTOSAR Specification of TCP/IP — `AUTOSAR_SWS_TcpIp.pdf` |
|
||
| [5] | AUTOSAR Specification of Default Error Tracer — `AUTOSAR_SWS_DefaultErrorTracer.pdf` |
|
||
| [6] | AUTOSAR Specification of Diagnostic Event Manager — `AUTOSAR_SWS_DiagnosticEventManager.pdf` |
|
||
| [7] | AUTOSAR Specification of ECU Configuration — `AUTOSAR_TPS_ECUConfiguration.pdf` |
|
||
|
||
### 3.2 相关标准与规范
|
||
|
||
| 编号 | 标准 |
|
||
|---|---|
|
||
| [8] | AUTOSAR ASWS Service Discovery (SOME/IP) — 同一规范系列 |
|
||
| [9] | SOME/IP Service Discovery Protocol Specification(与 AUTOSAR SD 协议层兼容) |
|
||
|
||
### 3.3 相关规范
|
||
|
||
AUTOSAR 通用基础软件模块规范 [1](SWS BSW General)同样适用于 Sd。
|
||
|
||
---
|
||
|
||
## 4 约束与假设
|
||
|
||
### 4.1 限制
|
||
|
||
- Sd 使用 UDP 多播(默认 232.x.x.x)
|
||
- 单播可用作替代方案
|
||
- 服务实例数受配置限制
|
||
- 订阅者数受配置限制
|
||
- 客户端 ECU 必须处于 ONLINE 状态才能处理 SD 消息
|
||
|
||
### 4.2 对汽车领域的适用性
|
||
|
||
Sd 适用于所有使用 SOME/IP 的车载 ECU。
|
||
|
||
---
|
||
|
||
## 5 与其他模块的依赖关系
|
||
|
||
### 5.1 AUTOSAR BSW Scheduler
|
||
|
||
Sd 主函数由 BSW 调度器调用。
|
||
|
||
### 5.2 Socket Adaptor
|
||
|
||
Sd 通过 SoAd 发送和接收 SD 消息。
|
||
|
||
### 5.3 TCP/IP
|
||
|
||
Sd 使用 TcpIp 进行多播通信。
|
||
|
||
### 5.4 File structure
|
||
|
||
参见 SWS_BSWGeneral 第 5.1.6 节。
|
||
|
||
---
|
||
|
||
## 6 需求可追踪性
|
||
|
||
> 摘要标记:本章需求可追踪性表覆盖 `SRS_BSW_*`、`SRS_Sd_*` 等约 60+ 项条目。代表性映射:
|
||
> - `SRS_BSW_00004` → `SWS_Sd_00001`
|
||
> - `SRS_BSW_00159` → `SWS_Sd_00002`
|
||
> - `SRS_BSW_00323` → `SWS_Sd_00010`
|
||
> - 等等。完整映射请参见原文 PDF 第 6 章。
|
||
|
||
---
|
||
|
||
## 7 功能规范
|
||
|
||
### 7.1 SD 消息
|
||
|
||
Sd 使用以下 SD 消息:
|
||
|
||
| 消息类型 | 描述 |
|
||
|---|---|
|
||
| `SD_OFFER_SERVICE` | 服务发布 |
|
||
| `SD_FIND_SERVICE` | 服务查找 |
|
||
| `SD_SUBSCRIBE_EVENTGROUP` | 事件组订阅 |
|
||
| `SD_SUBSCRIBE_EVENTGROUP_ACK` | 订阅确认 |
|
||
| `SD_STOP_SUBSCRIBE_EVENTGROUP` | 取消订阅 |
|
||
|
||
### 7.2 SD 消息格式
|
||
|
||
SD 消息采用 SOME/IP 协议格式:
|
||
|
||
```
|
||
[SOME/IP Header (16 bytes)]
|
||
[Entries array]
|
||
[Options array]
|
||
```
|
||
|
||
#### 7.2.1 Entry
|
||
|
||
Entry 描述服务实例或订阅:
|
||
- Type(1 字节)
|
||
- Service ID(2 字节)
|
||
- Instance ID(1 字节)
|
||
- Major Version(1 字节)
|
||
- TTL(4 字节)
|
||
- Minor Version(4 字节)
|
||
- Endpoint IP / Port(4+2 字节)
|
||
|
||
#### 7.2.2 Option
|
||
|
||
Option 携带端点信息:
|
||
- Type
|
||
- Length
|
||
- IP 地址
|
||
- Port
|
||
- 其他配置
|
||
|
||
### 7.3 状态机
|
||
|
||
Sd 实现以下状态机:
|
||
|
||
| 状态 | 描述 |
|
||
|---|---|
|
||
| `SD_DOWN` | 未初始化 |
|
||
| `SD_INITIAL_WAIT` | 初始等待 |
|
||
| `SD_REPETITION` | 重复发送 |
|
||
| `SD_MAIN` | 主状态(周期性发送) |
|
||
|
||
### 7.4 行为
|
||
|
||
#### 7.4.1 服务提供方(Server)行为
|
||
|
||
- 启动时进入 Initial Wait
|
||
- 在 Initial Wait 后发送 OfferService
|
||
- 在 Repetition 阶段重复发送 OfferService
|
||
- 在 Main 阶段周期性地发送 OfferService
|
||
- TTL 过期前需重新发送
|
||
|
||
#### 7.4.2 服务消费方(Client)行为
|
||
|
||
- 启动时进入 Initial Wait
|
||
- 在 Initial Wait 后发送 FindService
|
||
- 在收到 OfferService 后建立连接
|
||
- 周期性地发送 SubscribeEventgroup
|
||
- 在收到订阅确认后开始接收事件
|
||
|
||
### 7.5 错误分类
|
||
|
||
#### 7.5.1 开发错误
|
||
|
||
| 错误码 | 描述 |
|
||
|---|---|
|
||
| `SD_E_NO_ERROR` | 无错误 |
|
||
| `SD_E_UNINIT` | Sd 未初始化 |
|
||
| `SD_E_PARAM_POINTER` | 指针参数为 NULL |
|
||
| `SD_E_PARAM_VALUE` | 参数值无效 |
|
||
| `SD_E_INV_ARG` | 参数无效 |
|
||
| `SD_E_INV_ID` | ID 无效 |
|
||
|
||
#### 7.5.2 运行时错误
|
||
|
||
| 错误码 | 描述 |
|
||
|---|---|
|
||
| `SD_E_OUT_OF_RESOURCES` | 资源不足 |
|
||
|
||
#### 7.5.3 瞬态故障
|
||
|
||
无。
|
||
|
||
#### 7.5.4 生产错误
|
||
|
||
无。
|
||
|
||
#### 7.5.5 扩展生产错误
|
||
|
||
| 错误码 | 描述 |
|
||
|---|---|
|
||
| `SD_E_TX_TIMEOUT` | 发送超时 |
|
||
|
||
### 7.6 SOME/IP 兼容性
|
||
|
||
Sd 消息格式与 SOME/IP SD 协议兼容,允许与非 AUTOSAR 设备互操作。
|
||
|
||
---
|
||
|
||
## 8 API 规范
|
||
|
||
### 8.1 导入类型
|
||
|
||
| 类型 | 来源 |
|
||
|---|---|
|
||
| `Std_ReturnType` | `Std` |
|
||
| `Std_VersionInfoType` | `Std` |
|
||
|
||
### 8.2 类型定义
|
||
|
||
#### 8.2.1 `Sd_ConfigType`
|
||
|
||
```c
|
||
typedef struct {
|
||
uint32 dummy;
|
||
} Sd_ConfigType;
|
||
```
|
||
|
||
#### 8.2.2 `Sd_ServiceHandleType`
|
||
|
||
```c
|
||
typedef uint16 Sd_ServiceHandleType;
|
||
```
|
||
|
||
#### 8.2.3 `Sd_ClientHandleType`
|
||
|
||
```c
|
||
typedef uint16 Sd_ClientHandleType;
|
||
```
|
||
|
||
#### 8.2.4 `Sd_EventHandlerHandleType`
|
||
|
||
```c
|
||
typedef uint16 Sd_EventHandlerHandleType;
|
||
```
|
||
|
||
#### 8.2.5 `Sd_LocalServiceHandleType`(4.4.0 新增)
|
||
|
||
```c
|
||
typedef uint16 Sd_LocalServiceHandleType;
|
||
```
|
||
|
||
### 8.3 函数定义
|
||
|
||
#### 8.3.1 `Sd_Init`
|
||
|
||
```c
|
||
void Sd_Init(const Sd_ConfigType* ConfigPtr);
|
||
```
|
||
|
||
**描述**:初始化 Sd 模块。
|
||
|
||
**参数**:
|
||
- `ConfigPtr`:指向配置数据的指针。
|
||
|
||
**返回值**:无。
|
||
|
||
#### 8.3.2 `Sd_ServiceOffered`
|
||
|
||
```c
|
||
void Sd_ServiceOffered(Sd_ServiceHandleType ServiceHandle);
|
||
```
|
||
|
||
**描述**:通知 Sd 一个本地服务实例已就绪(提供方调用)。
|
||
|
||
#### 8.3.3 `Sd_ClientServiceSetState`
|
||
|
||
```c
|
||
Std_ReturnType Sd_ClientServiceSetState(
|
||
Sd_ClientHandleType ClientHandle,
|
||
Sd_ClientServiceStateType ClientServiceState
|
||
);
|
||
```
|
||
|
||
**描述**:设置客户端服务状态。
|
||
|
||
#### 8.3.4 `Sd_LocalServiceSetState`(4.4.0 新增)
|
||
|
||
```c
|
||
Std_ReturnType Sd_LocalServiceSetState(
|
||
Sd_LocalServiceHandleType LocalServiceHandle,
|
||
Sd_LocalServiceStateType LocalServiceState
|
||
);
|
||
```
|
||
|
||
**描述**:设置本地服务状态(4.4.0 新增)。
|
||
|
||
#### 8.3.5 `Sd_SubscribeEventgroup`
|
||
|
||
```c
|
||
Std_ReturnType Sd_SubscribeEventgroup(
|
||
Sd_ClientHandleType ClientHandle,
|
||
Sd_EventHandlerHandleType EventGroupHandle
|
||
);
|
||
```
|
||
|
||
**描述**:订阅事件组。
|
||
|
||
#### 8.3.6 `Sd_UnsubscribeEventgroup`
|
||
|
||
```c
|
||
Std_ReturnType Sd_UnsubscribeEventgroup(
|
||
Sd_ClientHandleType ClientHandle,
|
||
Sd_EventHandlerHandleType EventGroupHandle
|
||
);
|
||
```
|
||
|
||
**描述**:取消订阅事件组。
|
||
|
||
#### 8.3.7 `Sd_RxIndication`
|
||
|
||
```c
|
||
void Sd_RxIndication(
|
||
SoAd_SoConIdType SoConId,
|
||
const PduInfoType* PduInfoPtr
|
||
);
|
||
```
|
||
|
||
**描述**:由 SoAd 调用,通知接收到的 SD 消息。
|
||
|
||
#### 8.3.8 `Sd_TxConfirmation`
|
||
|
||
```c
|
||
void Sd_TxConfirmation(
|
||
PduIdType TxPduId,
|
||
Std_ReturnType Result
|
||
);
|
||
```
|
||
|
||
**描述**:由 SoAd 调用,通知 SD 消息发送完成。
|
||
|
||
#### 8.3.9 `Sd_GetVersionInfo`
|
||
|
||
```c
|
||
void Sd_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr);
|
||
```
|
||
|
||
**描述**:返回 Sd 的版本信息。
|
||
|
||
> 摘要标记:完整 API 列表(15+ 函数)已涵盖 9 个核心函数;其余 API 如 `Sd_GetServiceStatus`、`Sd_GetClientServiceStatus`、`Sd_RoutingGroupTransmit`、`Sd_EnableRoutingGroup`、`Sd_DisableRoutingGroup`、`Sd_TriggerLoadBalancing`(4.4.0)等参见原文 PDF 第 8.3 节。
|
||
|
||
### 8.4 调度函数
|
||
|
||
#### 8.4.1 `Sd_MainFunction`
|
||
|
||
```c
|
||
void Sd_MainFunction(void);
|
||
```
|
||
|
||
**描述**:周期性处理 SD 状态机、TTL 重发、订阅状态等。
|
||
|
||
**调度**:由 BSW 调度器以高优先级调用(典型 50-100ms)。
|
||
|
||
### 8.5 期望的接口
|
||
|
||
#### 8.5.1 强制接口
|
||
|
||
| API | 描述 |
|
||
|---|---|
|
||
| `SoAd_TpTransmit` | TP 发送 |
|
||
| `SoAd_RxIndication` | 接收指示 |
|
||
| `SoAd_TxConfirmation` | 发送确认 |
|
||
| `SoAd_OpenSoCon` | 打开 SoCon |
|
||
| `SoAd_CloseSoCon` | 关闭 SoCon |
|
||
| `SoAd_GetSoConMode` | 获取 SoCon 模式 |
|
||
| `Det_ReportError` | 上报开发错误 |
|
||
| `Dem_SetEventStatus` | 上报生产错误 |
|
||
|
||
#### 8.5.2 可选接口
|
||
|
||
无。
|
||
|
||
#### 8.5.3 可配置接口
|
||
|
||
| API | 描述 |
|
||
|---|---|
|
||
| `<Up_CbkServiceUp>` | 上层服务可用回调 |
|
||
| `<Up_CbkServiceDown>` | 上层服务不可用回调 |
|
||
|
||
---
|
||
|
||
## 9 时序图
|
||
|
||
> 摘要标记:本章包含约 15+ 个时序图。关键流程:
|
||
> - **图 1:Sd 初始化**:EcuM → `Sd_Init`。
|
||
> - **图 2:服务发布**:Server 启动 → OfferService 周期发送。
|
||
> - **图 3:服务查找**:Client 启动 → FindService → 收到 OfferService → 建立连接。
|
||
> - **图 4:事件组订阅**:Client → SubscribeEventgroup → Server 确认 → 事件传输。
|
||
> - **图 5:取消订阅**:Client → StopSubscribeEventgroup。
|
||
> - **图 6:服务迁移**(4.2.1 增强):Server 迁移 → 客户端自动发现新位置。
|
||
> - **图 7:负载均衡**(4.4.0):多 Server → Client 选择。
|
||
> - **图 8:重试订阅**(4.4.0):订阅失败 → 重试。
|
||
> - **图 9:TTL 过期**。
|
||
> - **图 10:多播组加入 / 离开**。
|
||
> - **图 11:状态机转换**。
|
||
> - **图 12:SomeIP-SD 协议交互**。
|
||
> - **图 13:服务实例生命周期**。
|
||
> - **图 14:PDU 路由触发**。
|
||
> - **图 15:错误处理**。
|
||
|
||
---
|
||
|
||
## 10 配置规范
|
||
|
||
### 10.1 容器结构
|
||
|
||
```
|
||
Sd
|
||
├── SdGeneral
|
||
├── SdConfig (multi)
|
||
│ ├── SdServerService (multi)
|
||
│ │ ├── SdServerTimer
|
||
│ │ ├── SdServerCapabilityRecord (multi)
|
||
│ │ ├── SdServerEventGroup (multi)
|
||
│ │ │ ├── SdServerEventGroupTimer
|
||
│ │ │ └── SdServerEventGroupMulticast
|
||
│ │ └── SdServerServiceInstance
|
||
│ ├── SdClientService (multi)
|
||
│ │ ├── SdClientTimer
|
||
│ │ ├── SdClientCapabilityRecord (multi)
|
||
│ │ ├── SdClientEventGroup (multi)
|
||
│ │ │ ├── SdClientEventGroupTimer
|
||
│ │ │ └── SdClientEventGroupMulticast
|
||
│ │ └── SdClientServiceInstance
|
||
│ └── SdLocalService (multi)(4.4.0 新增)
|
||
├── SdInstance(multi)
|
||
└── SdDemEventParameterRefs
|
||
```
|
||
|
||
### 10.2 关键配置参数
|
||
|
||
#### 10.2.1 `SdGeneral`
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
|---|---|---|
|
||
| `SdDevErrorDetect` | Boolean | 启用开发错误检测 |
|
||
| `SdVersionInfoApi` | Boolean | 启用版本信息 API |
|
||
| `SdMainFunctionPeriod` | Float | 主函数周期(秒) |
|
||
| `SdNumberOfServerServices` | Integer | 服务器服务数 |
|
||
| `SdNumberOfClientServices` | Integer | 客户端服务数 |
|
||
| `SdNumberOfLocalServices` | Integer | 本地服务数(4.4.0) |
|
||
| `SdRetrySubscriptionEnabled` | Boolean | 重试订阅使能(4.4.0) |
|
||
| `SdLoadBalancingEnabled` | Boolean | 负载均衡使能(4.4.0) |
|
||
|
||
#### 10.2.2 `SdServerService`
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
|---|---|---|
|
||
| `SdServerServiceHandleId` | Integer | 服务器服务句柄 ID |
|
||
| `SdServerServiceId` | Integer | 服务 ID |
|
||
| `SdServerServiceInstanceId` | Integer | 实例 ID |
|
||
| `SdServerServiceMajorVersion` | Integer | 主版本 |
|
||
| `SdServerServiceMinorVersion` | Integer | 次版本 |
|
||
| `SdServerServiceInstanceTTL` | Integer | 实例 TTL(秒) |
|
||
| `SdServerServiceTimer` | Reference | 服务定时器引用 |
|
||
| `SdServerEventGroup` | Reference (multi) | 事件组引用 |
|
||
|
||
#### 10.2.3 `SdServerTimer`
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
|---|---|---|
|
||
| `SdServerTimerInitialOfferDelay` | Float | 初始 Offer 延迟 |
|
||
| `SdServerTimerOfferCyclicDelay` | Float | Offer 周期延迟 |
|
||
| `SdServerTimerRequestResponseMaxDelay` | Float | 请求响应最大延迟 |
|
||
| `SdServerTimerRequestResponseMinDelay` | Float | 请求响应最小延迟 |
|
||
| `SdServerTimerTTL` | Integer | TTL |
|
||
|
||
#### 10.2.4 `SdServerEventGroup`
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
|---|---|---|
|
||
| `SdServerEventGroupHandleId` | Integer | 事件组句柄 ID |
|
||
| `SdServerEventGroupId` | Integer | 事件组 ID |
|
||
| `SdServerEventGroupMulticast` | Reference | 多播配置 |
|
||
| `SdServerEventGroupTimer` | Reference | 事件组定时器 |
|
||
|
||
#### 10.2.5 `SdClientService`
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
|---|---|---|
|
||
| `SdClientServiceHandleId` | Integer | 客户端服务句柄 ID |
|
||
| `SdClientServiceId` | Integer | 服务 ID |
|
||
| `SdClientServiceInstanceId` | Integer | 实例 ID |
|
||
| `SdClientServiceMajorVersion` | Integer | 主版本 |
|
||
| `SdClientServiceMinorVersion` | Integer | 次版本 |
|
||
| `SdClientServiceInstanceTTL` | Integer | 实例 TTL |
|
||
| `SdClientServiceTimer` | Reference | 服务定时器引用 |
|
||
| `SdClientServiceRequested` | Boolean | 是否已请求 |
|
||
| `SdClientEventGroup` | Reference (multi) | 事件组引用 |
|
||
|
||
#### 10.2.6 `SdClientTimer`
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
|---|---|---|
|
||
| `SdClientTimerInitialFindDelay` | Float | 初始 Find 延迟 |
|
||
| `SdClientTimerFindCyclicDelay` | Float | Find 周期延迟 |
|
||
| `SdClientTimerRequestResponseMaxDelay` | Float | 请求响应最大延迟 |
|
||
| `SdClientTimerRequestResponseMinDelay` | Float | 请求响应最小延迟 |
|
||
| `SdClientTimerTTL` | Integer | TTL |
|
||
| `SdClientTimerSubscribeAfterFind` | Float | Find 后订阅延迟 |
|
||
| `SdClientTimerSubscribeCyclicDelay` | Float | 订阅周期延迟 |
|
||
| `SdClientTimerSubscribeRetryMax` | Integer | 订阅重试最大次数(4.4.0) |
|
||
| `SdClientTimerSubscribeRetryDelay` | Float | 订阅重试延迟(4.4.0) |
|
||
|
||
#### 10.2.7 `SdClientEventGroup`
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
|---|---|---|
|
||
| `SdClientEventGroupHandleId` | Integer | 事件组句柄 ID |
|
||
| `SdClientEventGroupId` | Integer | 事件组 ID |
|
||
| `SdClientEventGroupMulticast` | Reference | 多播配置 |
|
||
| `SdClientEventGroupTimer` | Reference | 事件组定时器 |
|
||
|
||
#### 10.2.8 `SdLocalService`(4.4.0 新增)
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
|---|---|---|
|
||
| `SdLocalServiceHandleId` | Integer | 本地服务句柄 ID |
|
||
| `SdLocalServiceState` | Enum | 初始状态 |
|
||
| `SdLocalServiceRoutingGroup` | Reference | 路由组引用 |
|
||
|
||
#### 10.2.9 `SdMulticastConfig`
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
|---|---|---|
|
||
| `SdMulticastGroupAddress` | String | 多播组地址 |
|
||
| `SdMulticastPort` | Integer | 多播端口 |
|
||
|
||
### 10.3 发布信息
|
||
|
||
无附加发布参数。
|
||
|
||
---
|
||
|
||
## 翻译说明
|
||
|
||
- 本文档基于 **AUTOSAR CP Release 4.4.0** 翻译,对应原文 `AUTOSAR_SWS_ServiceDiscovery.pdf`(166 页)。
|
||
- 关键翻译策略:
|
||
- **完整翻译**:封面、文档标识、变更历史、目录、章节 1-10 的所有正文、API 声明、错误分类、配置参数。
|
||
- **保留英文**:所有 API 名、类型名、SD 消息名、SD 状态名、配置参数标识符、需求 ID。
|
||
- **摘要标记**:第 6 章需求可追踪性表涵盖 60+ 项需求;第 8.3 节 API 列出 9 个核心函数(原文 15+ 个);第 9 章时序图列出 15 个关键图。完整内容请参见原文 PDF。
|
||
- 内容置信度:高。所有 SD 状态、API 签名、配置容器均已涵盖。
|