面向服务架构(SOA)介绍

在汽车电子电气架构还处于分布式时代时,汽车软件的开发方式主要是采用嵌入式软件进行开发,而随着汽车智能化程度的加深,更加复杂且多样的功能需求让汽车软件在复杂度上再上一层。在整车的自动驾驶方面,由于未来高阶自动驾驶能力的渗透,不同车型在其动力性及安全性方面将得到趋同,而智能化融合用车场景所带来的差异可与用户进行直接互动,将成为影响用户消费的关键。

在此复杂的环境背景之下,传统的软件开发方式由于灵活性差、开发周期长等原因,在汽车电子电气架构处于域融合/中央集成的环境之下,开始逐渐被面向服务架构(Service Oriented Architecture ,SOA)的软件开发设计方法取代。

一、SOA的定义

SOA是一种C/S (Client-Server,客户端/服务器)架构的软件设计方法,其通过采用分层的方式去强调构建松散耦合的架构,可在将软/硬件解耦的同时做到整车的应用功能与开发的车型也同步解耦。由于其应用软件是由独立的、模块化的软件(即服务)组成的,且服务之间采用独立的标准接口进行调用,因此当有整车功能的增加或更新需求时,可在无需改变现有控制单元中的软件模型的前提下,直接通过在中央计算平台去调用提前预埋好的API接口,以此实现对域内或跨域的ECU功能的控制从而实现整车相关功能的增加与更新,此方式即实现了跨域功能的调度与融合。

二、SOA架构的优点

SOA的主要优点为以下几个方面:

1、服务之间通过简单、精确定义的接口进行通信,不涉及底层编程接口和通信模型。

2、粗粒度性:粗粒度服务提供一项特定的业务功能,采用粗粒度服务接口的优点在于使用者和服务层之间不必再进行多次的往复,一次往复就足够了。

3、松耦合性:松耦合性要求SOA架构中的不同服务之间应该保持一种松耦合 的关系,也就是应该保持一种相对独立无依赖的 关系。这样的好处有两点,首先是具有灵活性,其次当组成整个应用程序的服务内部结构和实现逐步地发生变化时, 系统可以继续地独立存在。而紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个 应用程序进行某种形式的更改时 这种结构就显得非常脆弱。

4、位置透明性:位置透明性要求SOA系统中的所有服务对于其调用者来说都是位置透明的,也就是说,每个服务的调用者只需 要知道想要调用的是哪一个服务,但并不需要知道所调用服务的物理位置在哪。

5、协议无关性:协议无关性要求每一个服务都可以通过不同的协议来调用。

三、SOA在整车中的应用价值

1、功能服务化。在传统的汽车时代,由于整车功能与硬件、车型高度绑定,因此想要对其功能进行更新或增加都需要付出巨大的工作量,而在域/中央集成架构的发展下,各功能模块会将其对应的功能提前封装好,并对外提供标准化的接口以供功能之间的相互调用,通过此方式可对新功能或原有的功能进行更新迭代。

如在整车自动驾驶功能中,通过自动驾驶算法会对整车的行径路线进行最合理的规划,在汽车的行进过程中如有补能需求,算法可通过计算汽车当前点与最近可补能点之间的距离,然后提前协调热管理系统的工作让动力电池进入最佳的充电温度,以此让动力电池获得最佳的充电速度。在此过程中,便是自动驾驶域与动力域之间的跨域调度的典型应用。

2、升级简单化。由于SOA让软/硬件得以解耦,在有软件升级需求时可在不考虑硬件架构的前提下快速对软件进行需求范围内的更新,通过快速的、精准的软件更新让用户在软件迭代上获得更好的体验。

如在不同的节假日对整车的HMI进行合适的更新,以此让用户获得更加浓厚的节日体验,此方式便是在精准的小范围内对车机软件进行更新的应用案例。

3、信息安全化。通过具有高速率、高稳定性、高安全性的车载以太网作为整车主网络,以此来实现数据的安全传输。

4、高扩展性。通过预埋接口的方式,可针对多样化的用户需求快速开发相应的应用软件,让整车实现更高、更快地扩展应用。如可根据某一用户群体快速开发适合其功能的应用软件,而对于基础车型而言,其原本的服务并不需要做更新。

来源:综合网络

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/399610.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Unity3D网络游戏实战》正确收发数据流

TCP数据流 系统缓冲区 当收到对端数据时,操作系统会将数据存入到Socket的接收缓冲区中 操作系统层面上的缓冲区完全由操作系统操作,程序并不能直接操作它们,只能通过socket.Receive、socket.Send等方法来间接操作。当系统的接收缓冲区为空&…

RCE绕过技巧

目录 EVAL长度限制突破技巧 1.使用反引号 2.file_put_contents写入文件 3.php5.6变长参数usort回调后门 命令长度限制突破技巧 1.拼接文件名 无字母数字的webshell命令执行 1.取反码 2.上传临时文件 EVAL长度限制突破技巧 分析代码:首先传递一个param参数&…

OceanBase V4.3 列存引擎之场景问题汇总

在OceanBase 4.3版本发布后(OceanBase社区版 V4.3 免费下载),其新增的列存引擎,及行列混存一体化的能力,可以支持秒级实时分析,引发了用户、开发者及业界人士的广泛讨论。本文选取了这些讨论中较为典型的一…

企业应该如何准备 EcoVadis 审核?

企业准备 EcoVadis 审核可以参考以下步骤: 注册:在网上注册并提供公司的相关信息,包括法律实体名称、国家和地区、企业规模和行业等。如果是受客户邀请参加评估,需按照邀请邮件中的链接进行注册,并确保客户能随时获知评…

安卓默认混淆规则文件的区别

在 Android 项目中,ProGuard 是一个优化和混淆代码的工具。proguard-android-optimize.txt 和 proguard-android.txt 是两个用于配置 ProGuard 的默认规则文件,如图下 它们有以下区别: proguard-android-optimize.txt: 优化:这个配…

Django中事务的基本使用

1. Django事务处理 事务(Transaction): 是一种将多个数据库操作组合成一个单一工作单元的机制. 如果事务中的所有操作都成功完成, 则这些更改将永久保存到数据库中. 如果事务中的某个操作失败, 则整个事务将回滚到事务开始前的状态, 所有的更改都不会被保存到数据库中. 这对于…

系统编程 day10 进程2

进程创建之后: 1.任务-----子进程与父进程干的活差不多 2.父进程创建出子进程之后,子进程做的与父进程完全不同 shell程序-----bash----- 以上为进程运行的过程中,典型的两种应用场景 能够改变子进程的执行效果的函数是exec函数族 l和v&a…

【网盘系统3.0版本】百度云盘手动cookie获取,添加到扫码系统管理平台。

一.获取cookie步骤 1.谷歌浏览器选择开发者模式。 2.选择网路,过滤接口main 3.选择request head,cookie列表里面可查看二.添加到管理平台。 1.登录管理平台,输入账户和密码 2.选择账户设置,添加cookie。 4.复制卡密链接&#xf…

LVS实验的三模式总结

文章目录 LVS的概念叙述NAT工作模式实战案例**思想:**NAT工作模式的优点NAT工作模式的缺点 NAT工作模式的应用场景大致配置 route:打开路由内核功能 部署DR模式集群案例工作思想:大致工作图如下思路模型 具体配置与事实步骤补充 防火墙标签解…

c++编程(20)——类与对象(6)继承

欢迎来到博主的专栏——c编程 博主ID:代码小豪 文章目录 继承继承与权限访问 基类和派生类基类和派生类的赋值兼容转换基类与派生类的类作用域派生类与基类的构造函数基类与派生类拷贝构造函数 继承与静态成员final关键字 面向对象编程的核心思想是封装、继承和多态…

计算机网络408考研 2021

2021 计算机网络408考研2021年真题解析_哔哩哔哩_bilibili 1 1 11 1 1 11

解决No module named ‘tensorflow‘

import tensorflow as tf ModuleNotFoundError: No module named tensorflow 安装合适的tensorflow版本 先查看自己的python版本 或者输入指令;python --version 安装兼容的tensorflow版本,安装指定版本的tensorflow pip install tensorflow-gpu2.3.0…

Qt | QSQLite内存数据库增删改查

点击上方"蓝字"关注我们 01、演示 参数随便设置 查询 修改 右键菜单是重点 手动提交,点击Submit All

【Docker】基础篇

系列综述: 💞目的:本系列是个人整理为了云计算学习的,整理期间苛求每个知识点,平衡理解简易度与深入程度。 🥰来源:材料主要源于–Docker视频教程从入门到进阶,docker视频教程详解–…

【云原生】高可用集群KEEPALIVED(理论篇)

一、高可用集群 1.1 集群类型 LB:Load Balance 负载均衡 LVS/HAProxy/nginx(http/upstream, stream/upstream)HA:High Availability 高可用集群数据库、RedisSPoF: Single Point of Failure,解决单点故障HPC: High Performance computing 高性能集群 1.2 系统可用…

车身域测试学习、CANoe工具实操学习、UDS诊断测试、功能安全测试、DTC故障注入测试、DBC数据库、CDD数据库、CAN一致性测试、ECU刷写测试

每日直播时间:(直播方式:腾讯会议)周一到周五:20:00-23:00周六与周日:9:00-17:00 进腾讯会议学习的,可以关注我并后台留言 直播内容:&…

OKnews加密货币资讯:现货比特币ETF市场动荡,价格大幅下跌

OKnews加密货币资讯网8月13日讯:现货比特币ETF 市场近期的动荡给加密货币行业带来了冲击,导致比特币 (BTC) 未能维持其在关键的60,000美元大关之上的地位。该数字货币在过去24 小时内下跌了 3.65%,跌至58,515 美元。市场波动加剧以及对美国经…

人脸操作:从检测到识别的全景指南

人脸操作:从检测到识别的全景指南 在现代计算机视觉技术中,人脸操作是一个非常重要的领域。人脸操作不仅包括检测图像中的人脸,还涉及到人脸识别、表情分析、面部特征提取等任务。这些技术在各种应用中发挥着关键作用,从社交媒体…

中国科技统计年鉴,数据覆盖1991-2022年多年份

基本信息. 数据名称: 中国科技统计年鉴 数据格式: excel 数据时间: 1991-2022年 数据几何类型: xlsx 数据坐标系: WGS84 数据来源:国家统计局 数据预览: 数据可视化.

(kali关怀版)kali调整字体图标显示大小

字体大小调整(图标字体) 字体在左上角搜apprence 图标大小调整 图标在桌面右键点apprence 任务栏大小调整 任务栏在上面右键,选择panel preference 终端字体大小调整 终端字体用ctrl和加号减号进行缩放 属于是kali关怀版了:) 还可指定锁屏和休眠时间&#…