汽车以太网端到端连接设计&面向服务的架构
1. 面向服务的架构 - SOA
1.1 背景
1)汽车网络创新:汽车以太网&IP
—— 更快&单播/多播/广播支持
—— 逻辑&动态配置
2)系统/软件领域的创新:面向服务的架构(SOA)
—— 服务:可重用,可远程访问,可独立维护
—— 应用程序可以使用服务,而不管服务位置在哪里
—— 通过运行在汽车以太网&IP上部的SOA中间件提供的服务
图1. 面向服务的架构
1.2 受益点
标准接口&位置透明度:
—— 降低制造&测试成本
—— 缩短车辆开发&互联车辆的服务时间
—— 有效处理模型/选项—— 可扩展性
图2. 两种形式对比
2 . 端到端面向服务的架构
2.1 面临的挑战与解决方法
挑战
1)传统车内网络(IVN)
—— 传统车内网络(例如CAN)将与以太网至少要共存一段时间
—— SOA不能直接应用到这些传统的车内网络上
2)需要与外部设备进行服务级别的互操作
—— 与内部网络(IVN)不同的外部网络特性
—— 更重要的安全问题
3)需要有效处理服务相关的信息
—— 频繁的添加和更新
—— 应该可以从许多相关方获得
4)从分布式系统的本质看SOA的安全性及其他问题
—— 应该容易找到服务,但只能由允许的ECU来找到
—— 服务应该易于访问,但只能由授权的服务使用者访问
—— 可能会出现互操作性和资源问题
对应的解决方法
1)传统车内网络(IVN):
→ 传统IVN的信息/功能通过SOA适配器转换为“服务”
2)需要与外部设备进行服务级别的互操作
→ 通过SOA网关实现服务级别的透明度
3)从分布式系统的本质看SOA的安全性及其他问题
→ 使用SD代理的集中式服务发现(SD)架构
→ 可通过服务路由器访问安全性或资源关键型服务
注:SD- Service Discovery
2.2 整体架构
1)端到端的面向服务的架构
—— 扩展的服务级别透明度和集成的服务设计
图3. 端到端服务级别的透明度
2.3 SOA适配器
1)传统的车内网络
—— 许多ECU仍基于传统的IVN(如CAN)工作
—— 大部分车辆信息/功能来自传统IVN
—— 这些应可供基于以太网的ECU上的新应用程序访问
2)SOA适配器
—— 将信息/功能从传统IVN转换为“服务”,对于这些服务任何基于以太网的ECU上的应用程序都可以轻松访问
—— 在以太网端,服务是在SOME /IP协议之上提供的
—— 可在传统IVN和基于以太网的IVN之间的“桥接ECU”上实现,如域控制单元、区域控制器等—— 也可以仅通过以太网接口在非桥接ECU上实现
—— SOA适配器提供的服务可以动态更改
图4. CAN网络桥接ECU上的SOA适配器(示例)
2.4 SOA网关
1)外部网络上的外部设备
—— 车辆需要与外部设备(例如云服务器和智能设备)进行交
—— ADAS和其他联网汽车服务的互通需求变得越来越大
—— 与IVN相比,外部网络具有不同的特征:可用性、带宽、延迟、成本等。
—— 外部连接的协议通常不同于IVN的连接协议
—— 通过外部网络进行交互时会存在更高的安全性问题
2)SOA网关
—— 处理与外部设备/网络交互有关的问题
—— 在需要时转换协议和转换服务
—— 缓存外部信息以处理外部网络的可用性和成本问题
—— 应用策略并执行服务级别的访问控制
—— 应该在具有外部连接功能的ECU上实现
图5. 用于云服务器交互的SOA网关(示例)
2.5 SD代理和服务路由器
1)SD代理
可以使用SD代理实现集中式SD
—— 服务发现消息通过一个称为“ SD代理”的中央S/W模块进行交换。
—— SOME/IP-SD消息也可用于ECU与SD代理之间的通信
集中式SD可以解决分布式SD方法的安全性和流量问题
—— 只能由允许的ECU查找并订阅每种服务
—— 可以有效监视服务可用性和搜索/订阅尝试
图6. 使用SD代理实现集中式
SD注:SD- Service Discovery
2)服务路由器
SOA的分布式特性带来的问题可以使用服务路由器来处理
—— 服务只能通过服务路由器使用
—— 服务路由可以应用于选定的服务,例如,具有高安全级别的服务,非时间关键型服务,跨域使用服务
—— SD代理可以有效地实现服务路由
—— 可以有效地处理安全和资源问题
—— 可以基于域,ECU,服务甚至方法来控制服务访问。
—— 也可以动态应用策略,例如,取决于IDS模块
图7. 服务路由器的应用
3 用例 - 电池状态检查和通知
1)案例1:检查电池状态并通知用户
图8. 检查电池状态并通知用户
“电池检查APP”具有两项服务
—— 获得电池状态信息:订阅“Noti_BatteryStatus”
—— 检查电池状态
—— 通知用户,如果电池电量低:调用“Send_Noti2User”
2)案例2:添加向用户的手机发送通知消息的功能
图9. 添加向用户的手机发送通知消息的功能
“使用者通知服务”APP:
—— 检测驾驶员不在车内:检查“点火开关”状态和“门锁定/解锁”状态
—— 通过外部网络(蓝牙或SMS)向用户的手机发送通知:调用“ Send_Noti2Device”
“Ext. Device Comm.Service”APP:
—— 检测用户的手机未通过蓝牙连接
—— 向手机发送SMS:调用“ Send_SMS2Device”(由云后台通过SoA 网关提供)
3)案例3:将命令(从外部设备)发送到车辆传统系统
图10. 将命令(从外部设备)发送到车辆传统系统
云功能:
—— 获取用户的点火开关打开命令以重新充电
—— 远程点火:调用“点火开关”(由SoA适配器通过SoA 网关提供)
4 小结
-
汽车以太网&IP带来了汽车系统/软件架构的创新:面向服务的架构(SOA)
-
SoA概念可以扩展到从传统ECU到外部设备的端到端范围
-
SoA适配器和SoA 网关可以分别用于传统设备和外部设备
-
通过使用SD代理和服务路由器等其他SoA实体,可以有效地管理SoA
-
端到端SoA支持快速高效地部署各种互联汽车服务
-
其他功能(例如变体处理或即插即用)也可以从端到端SoA中受益
-
SoA和SDN的联合设计正在进行中