典型的 SOME/IP 多绑定用例总结

news2024/11/21 14:21:12

SOME/IP 部署中 AP SWC 不自行打开套接字连接的原因

在典型的 SOME/IP 网络协议部署场景里,AP SWC 不太可能自己打开套接字连接与远程服务通信,因为 SOME/IP 被设计为尽可能少用端口。这一需求源于低功耗 / 低资源的嵌入式 ECU,并行管理大量 IP 套接字会在内存资源方面产生巨大成本,并且与非汽车 IT 对端口的使用模式相比,主要由 AUTOSAR CP 构成的车内网络以某种方式要求采用这种尽量少用端口的方法,这种情况并不常见。

架构特点及复用情况

通常这种需求催生了一种架构,即一个 ECU(网络端点)的所有 SOME/IP 流量通过一个 IP 端口进行路由,意味着不同本地应用程序(服务提供者或服务消费者)的 SOME/IP 消息使用一个套接字连接进行复用。在经典的 AUTOSAR(CP)中,这是个直观概念(比如 RTE),因为存在共享通信栈,整个通信都通过它进行,通过一个套接字对不同上层 PDU 进行复用是集成在 CP 的 SoAd 基本软件模块中的核心功能。对于有 POSIX 套接字 API 的 POSIX 兼容操作系统,多个应用程序的 SOME/IP 通信复用一个端口需要引入一个中央守护进程来管理相应端口,该进程起到在 SOME/IP 网络通信和本地通信之间架桥的作用。

通信路径相关情况

从图中可以看到,ara::com 应用程序中的服务代理通过(绿色线条)一个 SOME/IP 桥与远程服务实例 2 进行通信,有两点值得注意:

  • 通信路径颜色区分及原因
    将从应用程序到桥的通信路径(绿色)与从桥到服务实例 2 的通信路径(蓝色)用不同颜色表示,原因是两部分使用不同传输机制。第一部分(绿色)在代理和 SOME/IP 桥之间采用供应商特定实现,供应商不仅决定使用哪种技术(如管道、套接字、共享内存等),还决定该路径上使用哪种序列化格式(见 7.1 节)。这里涉及优化问题,在优化的 AP 产品中,若为绿色线条表示的通信路径使用不同序列化格式会导致低效,因为服务消费者中的服务代理传输数据时会先专有序列化,SOME/IP 桥要反序列化再重新序列化为 SOME/IP 序列化格式,即便有更精细的本地通信序列化方法也无益处,因为 SOME/IP 桥无法简单复制数据。
  • 服务发现和 SOME/IP 桥功能框画框原因
    在服务发现和 SOME/IP 桥功能块周围画了一个框,是因为在产品实现中,它们很可能被集成到一个组件(在一个守护进程)中运行,这两个功能高度相关。注册表(服务发现)部分由 ECU 本地部分(接收本地注册,为本地 FindService 请求提供服务)和网络相关功能(基于 SOME/IP 服务发现的提供 / 查找)组成,且注册表必须进行仲裁,这种仲裁从核心上来说也是一种桥接功能。

总之,对于示例场景,最终会使用一个多绑定设置,即便本地 ara::com 应用程序和 SOME/IP 桥节点通信的技术传输方式相同,但绑定的序列化部分是不同的。

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

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

相关文章

MySQL查询执行(八):Memory引擎

思考:两个group by语句都用了order bynull, 为什么使用内存临时表得到的语句结果里, 0这个值在最后一行; 而使用磁盘临时表得到的结果里, 0这个值在第一行? 答:答案对应第一小节:内…

canva 画图 UI 设计

起因, 目的: 来源: 客户需求。 目的: 用数据讲故事。 数据可以瞎编,图表一定要漂亮。 文件分享地址 读者可以在此文件的基础上,继续编辑。 效果图 过程: 我还是喜欢 canva. figma, 我用的时候,每每都想…

ES分词环境实战

文章目录 安装下载1.1 下载镜像1.2 单节点启动 防火墙设置异常处理【1】iptable链路中断 参考文档 参加完2024年11月软考,对ES的分词进行考查,前期有【 Docker 环境下安装部署 Elasticsearch 和 kibana】和【 Docker 环境下为 Elasticsearch 安装IK 分…

论文精读: PRB LiVSe2 Zigzag链序实验与理论计算

DOI: 10.1103/PhysRevB.108.094107 摘要节选 在具有轨道自由度的过渡金属化合物中,组成元素在低温下自组装形成分子的现象普遍存在。 在本研究中从实验和理论两方面讨论了钒二维三角形晶格层状LiVX2 (X O, S, Se)体系中出现的三…

修改一下达梦disql 提示符

经常用disql的有时某些信息希望提示一下,默认的只显示SQL> 为了方便使用,可以在 glogin.sql 中增加些内容。 vi $DM_HOME/bin/disql_conf/glogin.sql增加以下几行 set time on set lineshow offcol global_name new_value global_name SELECT ins…

【蓝桥杯备赛】123(前缀和的复杂应用)

5. 前缀和的复杂应用 5.1. 123(4 星) 5.1.1. 题目解析 这道题仍然是求一段区间的和,很容易能够想到前缀和找规律: 1------------------1 号块 1 2----------------2 号块 1 2 3--------------3 号块 1 2 3 4------------4 号…

机器学习—学习曲线

学习曲线是帮助理解学习算法如何工作的一种方法,作为它所拥有的经验的函数。 绘制一个符合二阶模型的学习曲线,多项式或二次函数,画出交叉验证错误Jcv,以及Jtrain训练错误,所以在这个曲线中,横轴将是Mtrai…

数据库基础(MySQL)

1. 数据库基础 1.1 什么是数据库 存储数据用文件就可以了,为什么还要弄个数据库? 文件保存数据有以下几个缺点: 文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便 数据库存储介质: 磁盘内存 为…

2024年11月HarmonyOS应用开发者基础认证全新题库

注意事项:切记在考试之外的设备上打开题库进行搜索,防止切屏三次考试自动结束,题目是乱序,每次考试,选项的顺序都不同 更新时间:2024年11月1日 这是基础认证题库,不是高级认证题库注意看清楚标…

静态时序分析--时序约束

目录 1.时钟约束1.1创建时钟1.2.生成时钟1.3虚拟时钟1.4 最小时钟脉宽 2.I/O延时约束2.1设置输入延时2.2设置输出延时 3.I/O环境建模约束3.1输入驱动建模3.2输出负载建模 4.时序例外4.1多周期路径设置(multicycle path)4.2伪路径设置(false_p…

51单片机基础05 实时时钟-思路及代码参考2、3

目录 一、思路二 1、原理图 2、代码 二、思路三 1、原理图 2、代码 一、思路二 所有设定功能相关的操作均在矩阵键盘进行实现&#xff0c;并在定时器中扫描、计数等 1、原理图 2、代码 #include <AT89X52.h> //调用51单片机的头文件 //------------------…

【C++篇】深入剖析C++ Vector底层源码及实现机制

文章目录 须知 &#x1f4ac; 欢迎讨论&#xff1a;如果你在学习过程中有任何问题或想法&#xff0c;欢迎在评论区留言&#xff0c;我们一起交流学习。你的支持是我继续创作的动力&#xff01; &#x1f44d; 点赞、收藏与分享&#xff1a;觉得这篇文章对你有帮助吗&#xff1…

【代码pycharm】动手学深度学习v2-04 数据操作 + 数据预处理

数据操作 数据预处理 1.数据操作运行结果 2.数据预处理实现运行结果 第四课链接 1.数据操作 import torch # 张量的创建 x1 torch.arange(12) print(1.有12个元素的张量&#xff1a;\n,x1) print(2.张量的形状&#xff1a;\n,x1.shape) print(3.张量中元素的总数&#xff1…

鸿蒙HarmonyOS开发:一次开发,多端部署(工程级)三层工程架构

文章目录 一、工程创建1、先创建出最基本的项目工程。2、新建common、features、 products 目录 二、工程结构三、依赖关系1、oh-package.json52、配置ohpm包依赖 四、引用ohpm包中的代码1、定义共享资源2、在common模块index文件中导出3、在phone模块oh-package.json5文件中引…

NLP论文速读(EMNLP 2023)|工具增强的思维链推理

论文速读|ChatCoT: Tool-Augmented Chain-of-Thought Reasoning on Chat-based Large Language Models 论文信息&#xff1a; 简介&#xff1a; 本文背景是关于大型语言模型&#xff08;LLMs&#xff09;在复杂推理任务中的表现。尽管LLMs在多种评估基准测试中取得了优异的成绩…

uniapp vue3小程序报错Cannot read property ‘__route__‘ of undefined

在App.vue里有监听应用的生命周期 <script>// 只能在App.vue里监听应用的生命周期export default {onError: function(err) {console.log(AppOnError:, err); // 当 uni-app 报错时触发}} </script>在控制台打印里无意发现 Cannot read property ‘__route__‘ of …

第17章 子查询

一、介绍子查询 1.1 介绍 子查询指一个查询语句嵌套在另一个查询语句内部的查询&#xff0c;这个特性从MySQL 4.1开始引入。 SQL 中子查询的使用大大增强了 SELECT 查询的能力&#xff0c;因为很多时候查询需要从结果集中获取数据&#xff0c;或者需要从同一个表中先计算得出一…

蓝队技能-应急响应篇日志自动采集日志自动查看日志自动化分析Web安全内网攻防工具项目

知识点&#xff1a; 1、应急响应-系统日志收集-项目工具 2、应急响应-系统日志查看-项目工具 3、应急响应-日志自动分析-项目工具 演示案例-蓝队技能-工具项目-自动日志采集&自动日志查看&自动日志分析 系统日志自动采集-观星应急工具(Windows系统日志) SglabIr_Co…

【西瓜书】线性判别分析-LDA

线性判别分析&#xff08;Linear Discriminant Analysis&#xff0c;简称LDA&#xff09;是一种经典的线性学习方法。在二分类问题上&#xff0c;因为最早由Fisher提出&#xff0c;也称“Fisher判别分析”。 严格说来&#xff0c;LDA 与 Fisher判别分析稍有不同&#xff0c;LDA…

Photino:通过.NET Core构建跨平台桌面应用程序,.net国产系统

一、Photino.NET简介&#xff1a; 最近发现了一个不错的框架 Photino.Net 一份代码运行&#xff0c;三个平台 windows max linux &#xff0c;其中windows10,windows11,ubuntu 18.04,ubuntu 20.04 已测试均可以。mac 因为没有相关电脑没有测试。 github:https://github.com/t…