面向服务架构(SOA)介绍

news2024/9/20 6:03:49

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

在此复杂的环境背景之下,传统的软件开发方式由于灵活性差、开发周期长等原因,在汽车电子电气架构处于域融合/中央集成的环境之下,开始逐渐被面向服务架构(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.coloradmin.cn/o/1986914.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript constructor原型原型继承

constructor 在 JavaScript 中,构造函数是一种特殊的函数,使用 new 关键字来调用,用于创建对象实例。JavaScript 中的构造函数通常通过 function 关键字定义。 例如: function Person(name, age) {this.name name;this.age a…

C语言预处理:开启编程新境界

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C语言学习 贝蒂的主页:Betty‘s blog 1. 预处理符号 在C语言中,我们可以通过一些预定义符号查看文件的…

vue中post请求返回二进制流文件下载

1 .调用接口返回的如下图所示,此时看到是一个流文件 2.不管是get请求还是post请求都需要加上 下面这行代码 responseType: "blob", 3.我们自行二次封装的axios可能会导致乱码现象,建议直接用axios调用接口请求 4.关于Excel导出 POI 响应头设置 Content-Type: applica…

Tomcat高可用集群(实例详解)

一.环境准备 虚拟机的版本:VMware-workstation-full-15.5.6-16341506.exe系统镜像版本:CentOS-6.10-x86_64-bin-DVD1.iso,全新安装,桌面版,可上网系统内存大小:1GB系统硬盘大小:20GB连接工具版…

《决胜B端 产品经理升级之路》 知识点总结

什么是b端产品? b端产品是指面向企业或组织的经营管理问题,旨在解决企业规模、成本、效率、品质和风控等方面的产品。这些产品主要帮助企业提高运营效率、降低成本、改善品质和控制风险等。b端产品适用于各种行业和企业类型,可以为企业带来深…

WordPress原创插件:disable-gutenberg禁用古腾堡编辑器和小工具

WordPress原创插件:disable-gutenberg禁用古腾堡编辑器和小工具 disable-gutenberg插件下载:https://download.csdn.net/download/huayula/89616495

【zlm】针对单个设备的音频的编码的设置

目录 结论 原理 测试 结论 为了防止zlm音频配置里设置成opus优先,在国标推流时,调用push时,默认加上codecpcma 如下 https://10.60.100.196:10443/index/api/webrtc?applive&streamtest&typepush&codecpcma 原理 测试 …

ASP.Net Core设置接口根路径的方法

使用asp.net core开发微服务项目,需要给每个服务设置不同的根路径,这样既能使用网关转发请求,又方便对单个服务进行测试,保证请求路径的统一。 设置方法需要使用中间件,在Program.cs添加如下代码 app.UsePathBase(&qu…

量化投资基础(四)之AR、MA、ARMA与ARIMA模型

点赞、关注,养成良好习惯 Life is short, U need Python 量化投资基础系列,不断更新中 1 引言 时间序列经典模型主要有: 自回归模型(Auto Regressive,AR)移动回归模型(Moving Average,MA&…

无线领夹麦克风哪个品牌好,哪款领夹式麦克风性价比高

随着自媒体行业的蓬勃发展,内容创作者对高质量音频设备的需求日益增长。无线领夹麦克风,凭借其便携性、高音质与灵活性,正逐渐成为视频制作、直播互动及日常Vlog记录的标配工具。其兴起不仅反映了创作者对专业录音品质的追求,也体…

Web安全学习

1 计算机网络与协议 1.1 网络基础 1.1.1 计算机通信网的组成 计算机网络由通信子网和资源子网组成。 通信子网:负责数据的无差错和有序传递,其处理功能包括差错控制、流量控制、路由选择、网络互连等。 资源子网:是计算机通信的本地系统环境…

全球油价与棕榈油市场波动

一、油价暴跌与经济衰退担忧 周一(8月5日)欧盘时段,油价暴跌,两大主要基准油价均下跌逾2%,触及八个月低点。油价的急剧下跌主要是由于人们担心全球最大的石油消费国美国可能陷入衰退。全球疲弱的经济数据加剧了人们对燃…

绿色精益生产新潮流:环保也能成为竞争力!

在当今这个快速变化且竞争激烈的市场环境中,企业面临着前所未有的挑战。为了保持竞争力并实现可持续发展,企业必须不断探索和采用更高效、更灵活的生产管理方式。精益生产,作为一种源自日本丰田汽车公司的生产哲学,凭借其消除浪费…

Animate软件基本概念:组和文本

这里继续介绍Animate软件中的基本概念,组和文本两个概念。 FlashASer:AdobeAnimate2021软件零基础入门教程https://zhuanlan.zhihu.com/p/633230084 FlashASer:实用的各种Adobe Animate软件教程https://zhuanlan.zhihu.com/p/675680471 Fl…

Go - 10. * 值类型和指针类型的差异

目录 一.引言 二.接收者类型 三.代码示例 1.指针接收者 2.值接收者 3.运行结果对比 4.代码修改 5.刨根问底 四.总结 一.引言 go 语言中 func (c *Title) 和 func (c Title) 两个方法的传参差一个 * 号,二者的区别是一个是指针类型,一个是值类型…

scratch水仙花数 2024年6月scratch四级 中国电子学会图形化编程 少儿编程等级考试四级真题和答案解析

目录 scratch水仙花数 一、题目要求 1、准备工作 2、功能实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、p…

深度学习入门(一):感知机与输入数据

单层感知机与多层感知机 单层感知机(Single-Layer Perceptron)和多层感知机(Multi-Layer Perceptron,简称MLP)是神经网络的基本形式,用于执行各种机器学习任务,包括分类和回归。它们都基于早期…

赚他10个亿...

体育竞技 & 商业价值 虽然昨天遭受了全球黑一,但四年一度的奥运会还是要关注的。 不知道最近大家是否有关注巴黎奥运会,印象深刻的项目又是哪个? 截止于发稿前,目前「金牌榜」上,中国以微弱优势位于第一&#xff0…

CDGA/CDGP数据治理证书:含金量高,职场竞争力提升的明智之选

在当今这个数据驱动的时代,数据已成为企业最宝贵的资产之一,而高效、合规的数据治理则是挖掘数据价值、驱动业务增长的关键。随着企业对数据治理重视程度的不断提升,拥有专业数据治理知识和技能的人才变得尤为稀缺。在此背景下,CD…

win10批量修改文件名,记得保存文件

打开需要修改的文件夹新建文本内容如下 DIR . /B>文件列表.csv 并另存为bat文件,注意编码,双击bat文件生成Excel 打开Excel 填写你的文件名至B列,如我需要在文件名前面都加上spi5_公式D1&A1 C列输入"REN "&"""&q…