fdbus和vsomeip的对比

近日发现,在智能座舱系统里核间通讯,有项目团队使用了fdbus这一开源项目作为解决方案,于是特意调研了下。

一. 核间通讯

无论是虚拟化平台上的,HOST系统和GUEST系统,亦或是硬隔离方案里的2个OS(跑在不同的核上),都有强烈的相互通讯交换数据的需求。一般情况下,两个操作系统之间,是存在了以太网连接的。

1. 套接字通讯

最初的想法是,基于TCP/IP的socket通讯。但直接使用socket通讯,需要很多的经验,对套接字通讯很熟悉,后期维护成本可能比较高;

2. SOME/IP协议

当然目前SOME/IP协议的开源实现很少,仅VSOMEIP一家而已;

3. fdbus开源项目

fdbus似乎是突然冒出来的开源项目,但在智能座舱行业里,已经在很多的实际量产项目里使用了。

二. fdbus和vsomeip的比较

这里试图比较下。但事先声明下,笔者并没有实际使用fdbus量产项目的经验,只是个人的一些分析和理解。

名称作用范围跨平台同步请求安全底层
vsomeip车载网络linux/Android发送消息都是异步的socket
fdbus车载网络/互联网linux/andorid/window/qnx支持支持(开发中)socket

1. 跨平台

vsomeip官方宣传仅支持Linux和android系统的,如果需要在qnx系统里运行,需要自己移植;

2. 同步请求

vsomeip的发送消息的API,返回值是void,无法判断是否发送成功,这个给调试和后期维护带来很大的困扰。只能通过输出vsomeip协议栈内部的调试信息来辅助判断消息发送是否成功;

3. 作用范围

SOMEIP协议,本身就车载以太网网络内部ECU之间的消息通讯,天生就不支持互联网,也不支持同一操作系统内部的IPC通讯。当然,VSOMEIP的实现是支持同一系统内的IPC通讯的。

但FDBUS是支持互联网的,同时,也可以在系统内部用做IPC通讯。

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

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

相关文章

【Java -jar】无主清单文件 命令行启动失败问题

问题原因:打包后在jar包中的META-INF中的MANIFEST.MF中的信息有误。找不到类加载器和主运行文件等信息。 解决思路:可以判定为不是简单的package到本地,而是在pom.xml缺少了打包信息,添加如下信息,打包后执行java -ja…

SpringMVC---详细介绍+使用

文章目录 什么是SpringMVC?使用SpringMVCSpringMVC创建和连接创建连接RequestMapping的基础使用 获取参数返回数据返回静态页面返回非页面的普通数据(text/html)返回JSON对象请求转发或者请求重定向 什么是SpringMVC? SpringMVC它…

【ES】--Elasticsearch的索引别名和主副分片

目录 一、ES的别名二、ES的分片三、ES的别名的增删改查3.1、创建别名/分片的代码示例3.2、CRUD代码示例 一、ES的别名 为什么使用ES别名? 灵活的扩容。 动态的滚动查询。 例如“在不同的索引创建窗口”。 进行索引分组。 使用别名过滤器来屏蔽文档,他们…

【Spring】14 ApplicationEventPublisherAware 接口

文章目录 1. 简介2. 作用3. 使用3.1 创建并实现接口3.2 配置 Bean 信息3.3 创建启动类3.4 启动3.5 工作流程图 4. 应用场景总结 Spring 框架为开发者提供了丰富的扩展点,其中之一是 Bean 生命周期中的回调接口。本文将专注介绍一个与事件发布相关的接口 Applicatio…

【SQLite】SQLite数据库简单使用与Navicat安装-加密

Sqlite为免安装数据库,安装步骤总结: 官网下载Sqlit数据库,官网下载地址:https://www.sqlite.org/download.html 下载: sqlite-dll-win64-x64-3390400.zip或者32位sqlite-dll-win32 sqlite-tools-win-x64-3440200.zip或者32位sqlite-tools-wi…

Opencv入门五 (显示图片灰度值)

源码如下&#xff1a; #include <opencv2/opencv.hpp> int main(int argc, char** argv) { cv::Mat img_rgb, img_gry, img_cny; cv::namedWindow("Example Gray",cv::WINDOW_AUTOSIZE); cv::namedWindow("Example Canny", cv::WINDOW_…

java获取时间相差8小时的各种情况

1&#xff1a;三种时间差错情况 1-1&#xff1a;java的new date&#xff08;&#xff09;获取的时间和本地时间相差8小时&#xff0c;解决方法 //可以main启动方法设置 TimeZone.setDefault(TimeZone.getTimeZone("GMT8"));1-2&#xff1a;存入mysql数据库的时候时间…

数据结构算法-二分查找算法

引言 二分查找算法 我们应该也不陌生 就在分治法把他说得彻彻底底了 但分而治之算法思想 只是算法的部分 递归 和循环那个效率高呢 很明显循环 所以不必要多说 直接干 二分查找算法核心思路 二分查找算法是一种在有序数组中查找特定元素的搜索算法。 它的核心思路是每次查找…

若依vue前端 报错error:0308010C:digital envelope routines::unsupported一步到胃的解决方法

第一步: 直接打开package.json 第二步: 直接替换scripts的内容为下面的内容 "scripts": {"dev": "SET NODE_OPTIONS--openssl-legacy-provider && vue-cli-service serve","build:prod": "SET NODE_OPTIONS--openssl-leg…

无源晶振电路中两端电阻和电容的作用

无源晶振电路中两端电阻和电容的作用是什么&#xff0c;今天晶发电子就详细讲讲&#xff0c;具体如下&#xff1a; 一、并联电阻的作用 配合IC内部电路组成负反馈、移相&#xff0c;使放大器工作在线性区。 并联降低谐振阻抗&#xff0c;使无源晶振易启动。 并联电阻取值大小…

【深度学习】语言模型与注意力机制以及Bert实战指引之二

文章目录 前言 前言 这一篇是bert实战的完结篇&#xff0c;准备中。

BeanPostProcessor 接口的概述

目录 作用与功能 主要方法 使用场景 注意事项 结论 作用与功能 BeanPostProcessor 是 Spring 框架提供的一个扩展接口&#xff0c;允许开发者在 Spring 容器的 bean 创建过程中&#xff0c;即实例化及初始化阶段&#xff08;依赖注入之后&#xff09;&#xff0c;插入自定…

StringBad的构造函数和解析函数

// pass by value-程序清单 12.3 vegnews.cpp // vegnews.cpp -- using new and delete with classes // compile with strngbad.cpp #include <iostream> using std :: cout: finclude "strngbad.h"void callmel (StringBad 6): // pass by reference void ca…

Excel_VBA实现:弹出对话框进行打开另存(附FileDialog 属性)

excel_vba可实现弹窗进行人机交互&#xff0c;本案例实现弹窗选择需要打开的excel文件&#xff0c;选择文件后打开该文件&#xff0c;然后弹窗提示该文件另存为路径及目录&#xff0c;代码如下&#xff1a; Sub 打开文件对话框() On Error Resume Next With Application.FileD…

【vCenter Converter】VMware vCenter Converter Standalone 理论, 下载与安装要求

目录 1. vCenter Converter 概述1.1 作用与特征&#xff08;1&#xff09;性能和可靠性&#xff08;2&#xff09;互操作性&#xff08;3&#xff09;管理 2. 下载 vCenter Converter Standalone3. 安装 vCenter Converter Standalone3.1 系统要求&#xff08;1&#xff09;支持…

邦芒支招:9个职场有效沟通技巧

在职场中&#xff0c;高效沟通是至关重要的。以下是一些建议&#xff0c;帮助你在工作职场中实现高效沟通&#xff1a; 1、明确目标&#xff1a;在开始沟通之前&#xff0c;确保你清楚自己的目标和期望结果。明确你的沟通目的&#xff0c;以便在沟通过程中保持专注和针对性。 2…

文件消失但是有占用内存的恢复方法

文件消失但占用内存是一个常见的问题&#xff0c;通常是由于文件系统错误或病毒攻击引起的。在这种情况下&#xff0c;文件虽然从目录结构中消失&#xff0c;但它们仍然占用存储空间。本文将分析这一问题的原因&#xff0c;并探讨解决该问题的几种方法。 文件消失但占用内存的原…

C++ opencv RGB三通道提升亮度

#include <iostream> #include <iomanip> #include<opencv2//opencv.hpp> using namespace std; using namespace cv; //函数adjustBrightness用于图片增加亮度 void adjustBrightness(cv::Mat& image, int targetBrightness) { // 获取图像的通道数…

android11-开机自启脚本

1. 编写myshell脚本 diff --git a/device/rockchip/rk356x/ok3568_r/myshell.sh b/device/rockchip/rk356x/ok3568_r/myshell.sh new file mode 100644 index 0000000000..c78b6d93bd --- /dev/nullb/device/rockchip/rk356x/ok3568_r/myshell.sh-0,0 1,4 #!/vendor/bin/shec…

抢先看!Salesforce Spring ‘24中的10个亮点功能!

Spring 24来临在即&#xff0c;Preview Orgs已上线。在Spring 24中&#xff0c;将会为管理员、开发人员和顾问带来更多新功能。在这片云计算的海洋里&#xff0c;一些亮点功能总能在Salesforce生态系统中引起强烈反响。本篇文章为学习者们盘点了Spring 24中的10个亮点功能&…