基于Bsdiff差分算法的汽车OTA升级技术研究(学习)

news2024/12/24 20:45:18

摘要

针对汽车OTA整包升级时,用户下载时间长,升级时间长,设备服务器端压力大等问题,本文提出了一种基于Bsdiff差分算法的汽车OTA升级技术。该算法能够对比新旧版本的差异,进行差分文件下载,减少软件包的下载量,提高用户满意度,在保证安全性的前提下实现更为轻量化的升级。

引言

在未来汽车竞争中,车载软件将占据未来汽车创新的90%,这一数据也充分的体现了软件对未来的影响,相比于从前,嵌入式软件更加复杂,迭代速度更快,嵌入式软件对于整体嵌入式系统性能越来越重要。

OTA(Over-the-Air Technology)空中数据下载技术,在智能手机上通过使用无线移动电话通信的空中下载接口可以进行数据远程管理,是一种无线技术。

作为一个智能终端,不可避免地需要对运行时的问题进行及时调整修复,并不断加入新的功能特性。随着系统新功能的加入,用户应用程序的大量下载,系统升级活动越来越频繁。若每次升级都采取整包升级的方式,每次都要下载数据量巨大的升级包,不仅降低系统的实时性,同样设备服务器也将承受巨大压力。

汽车OTA差分升级系统架构

在这里插入图片描述

  • 首先是最上层的云端,主要负责升级的交互工作,进行OTA的管理与服务,升级包的检测下载和OTA文件分发等流程。
  • 其次是管端,通过4G网络建立终端与服务器之间的安全连接,确保全新的、待更新的固件安全地传输到车辆。
  • 终端负责实施哥哥软件更新到汽车。

升级包是在升级任务中,用于真正下载和安装部署的文件。升级包由若干个文件组成,数量庞大。在FOTA升级中的整包下载过程中,需要逐个文件进行下载,每个文件会进入等待序列等待下载,前一个文件下载成功后则进入下载队列。所以整包下载一般耗时较长。

在这里插入图片描述
需要检测到对应软件包已经更新,然后通知下载任务开始。在传输初始阶段,需要上传第一个文件(版本信息文件),车辆对当前文件进行信息检测。当车端监测成功并接收文件后,服务器端将继续传送第二个文件,然后车端继续判断再接收。以此方式反复,直到最后一个文件接收完毕,完成升级包的下载功能。

在这里插入图片描述
从版本V1到V2的升级包下载,只需要分析其中差分部分,完成下载并升级。差分下载不但可以完成相邻版本之间的升级,跨版本也可以完成,只是时间略有增加,但整体相对整包下载更少。

汽车OTA差分升级流程

汽车OTA差分升级一般分为三步:

  1. 生成差分更新包
  2. 传输差分更新包
  3. 安装更新

汽车OTA差分升级流程共分为四点:

  1. 服务器端向终端发送版本检测请求进行升级包的检测,如果服务器端版本与终端版本一致,则提示无新版本需要更新,否则进行升级包的发送。
  2. 当检测到新的版本,应继续检测之前是否下载过,如果曾经下载过,进行OTA断点续传功能,否则全新下载。
  3. 升级。

实验方案与升级

差分升级性能主要指升级时间,升级时间主要包括如下三部分:

  1. 下载时间Td。
  2. 校验时间Tc。
  3. 数据擦写时间Tr。

升级时间Tu = Td + Tc + Tr。

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

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

相关文章

bat批处理启动jar包

echo off title “gwjy_sc(86)” java -jar -Xms512m -Xmx1024m -XX:MaxNewSize512m -XX:MaxPermSize512m gwjy_sc.jar --spring.config.localapplication.yml exit

Spring Bean的作用域和生命周期

文章目录 1. Bean的作用域2. Spring的生命周期3. Bean的生命周期4. 相关注解总结 1. Bean的作用域 Bean 的作用域指的是 Bean 在 Spring 容器中的行为(Bean 实例创建及生命周期),它的行为是由 Spring 来管理的,可以根据具体情况选…

urllib爬虫模块

urllib爬取数据 import urllib.request as request# 定义url url "https://www.baidu.com" #模拟浏览器发起请求获取响应对象 response request.urlopen(url)""" read方法返回的是字节形式的二进制数据 二进制--》字符串 解码 decode( 编码的格式…

基于粒子群改进深度信念网络的回归分析,基于PSO-DBN的回归分析

目录 背影 DBN神经网络的原理 DBN神经网络的定义 受限玻尔兹曼机(RBM) 粒子群算法的原理 DBN的粒子群改进深度信念网络的回归分析 基本结构 主要参数 数据 MATALB代码 结果图 展望 背影 DBN是一种深度学习神经网络,拥有提取特征,非监督学习的能力,是一种非常好的分类算…

猿辅导《暑假一本通》:28天科学规划,帮助孩子保持学习状态

一直以来,有效利用寒、暑假期查漏补缺、解决偏科问题、初步养成好的自主学习习惯等是很多家长对学生的期望。但当前市面上教辅品类繁多,内容质量却参差不齐。据北京开卷统计数据显示,2022年前三季度零售市场上的教辅图书超过8000种&#xff0…

[NDK]从Opengles到Vulkan-基础篇(9)-视口相关

关于绘制调用的流程 我们可以看到整个流程步骤 1 光栅化2 裁剪测试3 多重采样4 深度测试5 模板测试6 混合7 抖动8 输出帧数据 这一节会涉及到裁剪测试 ##关于视口 我们需要先了解以下四个概念 1.屏幕:即计算机的整个屏幕大小。 2.窗口:即屏幕中的某一个窗口,可放大缩小和移…

通讯商二要素Api接口验证真伪

随着互联网的普及和各种社交平台、电商平台、金融平台的发展,许多业务都需要用户进行实名认证,这也就涉及到了手机号码和姓名的验证问题。为了解决这个问题,现在有很多运营商提供的二要素API接口能够进行手机号码和姓名的验证,本文…

使用Pandas进行数据清理的入门示例

数据清理是数据分析过程中的关键步骤,它涉及识别缺失值、重复行、异常值和不正确的数据类型。获得干净可靠的数据对于准确的分析和建模非常重要。 本文将介绍以下6个经常使用的数据清理操作: 检查缺失值、检查重复行、处理离群值、检查所有列的数据类型…

Qt打包程序 windeployqt

Qt Creator运行直接生成的可执行性程序不能直接使用,原因是缺少依赖库。直接运行会报错: 为可执行文件添加图标 为可执行文件添加 icon 图标的方法很简单,将事先准备好的 icon 图标拷贝到程序对应的文件夹中,然后在 pro 工程文…

Java课题笔记~ JSTL

使用EL表达式已经实现了页面输出显示的优化,为什么还需要使用JSTL呢? 这是因为使用EL表达式无法实现逻辑处理,如循环、条件判断等,因此还需要与Java代码混合使用,而JSTL则可以实现逻辑控制,从而进一步优化…

中小企业选择Zoho CRM的五大优点

一款适用于中小企业的CRM客户关系管理软件,它可以帮助企业提高销售效率,改善营销效果,优化业务流程,实现业绩增长。下面说说,中小企业为什么要选择Zoho CRM? 1、多种版本定价 CRM需要提供了多种定价方案&…

三相电机的烧毁原因以及如何保护

三相电动机,具有一定的过载能力,短时间过载对电动机的影响不大,但是,电动机的电流长时间超过额定电流,就会使电动机严重发热而损坏,如果电动机定子绕组内部发生短路,也会使绕组电流增加而烧毁电…

07 - 深入浅出HashMap的设计与优化

在上一讲中提到过 Collection 接口,那么在 Java 容器类中,除了这个接口之外,还定义了一个很重要的 Map 接口,主要用来存储键值对数据。 HashMap 作为我们日常使用最频繁的容器之一,相信你一定不陌生了。今天我们就从 …

Java SpringBoot Vue智能停车系统

基础环境 JDK1.8、Maven、Mysql、IntelliJ IDEA 内置功能 系统管理:角色管理、接口管理、系统菜单、全局配置 账号管理:用户管理、合作单位 系统监控:监控大屏、日志监控 财务管理:订单列表 停车记录:停车记录 车辆管…

再不学就晚了!学习嵌入式的五个好处

学习嵌入式技术带来的好处不仅限于提高就业竞争力,还能为你提供其他各种各样的潜在优势。种一棵树最好的时间是十年前,其次就是现在,是时候立刻开始学习嵌入式技术了! 1. 多样的就业机会 嵌入式技术已经广泛应用于各行各业&#x…

基于STM32CUBEMX驱动TMOS模块STHS34PF80(4)----中断获取信号

基于STM32CUBEMX驱动TMOS模块STHS34PF80----4.中断获取信号 概述样品申请视频教程参考Demo参考程序中断中断生成设置中断开启存在检测中断输出配置中断管脚主程序测试结果 概述 HS34PF80的数据准备信号提供了一种机制,允许设备在新的测量数据可读取时通知系统&…

86. 分隔链表

86. 分隔链表 题目-中等难度示例1. 新建两链表,根据x值分类存放,最后合并 题目-中等难度 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保…

【Spring源码】小白速通解析Spring源码,从0到1,持续更新!

Spring源码 参考资料 https://www.bilibili.com/video/BV1Tz4y1a7FM https://www.bilibili.com/video/BV1iz4y1b75q bean的生命周期 bean–>推断构造方法(默认是无参构造,或指定的构造方法)–>实例化成普通对象(相当于ne…

【Vue3】Vue3 UI 框架 | Element Plus —— 创建并优化表单

安装 # NPM $ npm install element-plus --save // 或者(下载慢切换国内镜像) $ npm install element-plus -S// 可以选择性安装 less npm install less less-loader -D // 可以选择性配置 自动联想src目录Element Plus 的引入和注入 main.ts import…

S7-200 Smart 的多种端口及通讯方式

每个S7-200 SMART CPU都提供一个以太网端口和一个RS485端口(端口0),标准型CPU额外支持SB CM01信号板(端口1),信号板可通过STEP 7-Micro/WIN SMART软件组态为RS232通信端口或RS485通信端口。 CPU 通信端口引脚分配 1.S7-200 SMART CPU 集成的 RS485 通信…