CN114546448B - 一种车辆ota并行升级的方法和相关装置 - Google Patents
一种车辆ota并行升级的方法和相关装置 Download PDFInfo
- Publication number
- CN114546448B CN114546448B CN202210174102.XA CN202210174102A CN114546448B CN 114546448 B CN114546448 B CN 114546448B CN 202210174102 A CN202210174102 A CN 202210174102A CN 114546448 B CN114546448 B CN 114546448B
- Authority
- CN
- China
- Prior art keywords
- upgrade
- deployment
- object set
- controller
- upgrading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000005540 biological transmission Effects 0.000 claims abstract description 32
- 238000009434 installation Methods 0.000 claims abstract description 20
- 230000000977 initiatory effect Effects 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 4
- 238000004321 preservation Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011900 installation process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
- H04W8/245—Transfer of terminal data from a network towards a terminal
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种车辆OTA并行升级的方法,OTA应用接收到升级任务,根据升级任务里面的所有控制器升级对象生成升级对象集合;生成一个部署对象集合;遍历部署对象集合发起各个部署对象的升级包传输;遍历部署对象集合,将部署对象集合里面该部署对象剔除,等待下一个部署对象完成,直到部署对象集合中的部署对象个数为0;每遍历一个升级对象就通过系统创建子线程,每个子线程内发起该遍历升级对象的安装,直到遍历完成;OTA应用监听到有升级对象安装完成,遍历升级对象集合,将升级对象集合中的该升级对象剔除,继续等待下一个升级对象完成,直到遍历升级对象集合中的升级对象个数为0,全部升级完,统一发起控制器重启,车辆完成升级。
Description
技术领域
本发明涉及汽车通讯技术领域,具体涉及一种车辆OTA并行升级的方法和相关装置。
背景技术
目前车辆常用的升级方式大都采用串行升级方式,单个控制器升级时间由升级包大小、传输通道带宽和控制器响应速率、控制器内部存储等因素决定,现在市面上的燃油车基本上采用基于Can总线进行数据通信,Can总线的特点是抗干扰能力强,信号传输0稳定,但是由于控制器内部存储和芯片处理能力的影响,传输速率往往都比较低,导致控制器的升级时间过长,另外部分带系统的升级包,往往都比较大,部分还超过了1GB,导致下载、传输的时间都大大延长,串行升级情况下,升级对象越多,时间就越长,用户等待升级时间将大大增加,不仅升级体验差,同时升级时间过长也消耗了车辆更多的能源。
发明内容
针对上述现有技术的不足,本发明所要解决的技术问题是:如何提供一种并行升级的方法,同时发起多个车辆控制器升级,缩短升级时间的车辆OTA并行升级的方法。
为了解决上述技术问题,本发明采用了如下的技术方案:
一种车辆OTA并行升级的方法,包括以下步骤:
(1)OTA应用接收到升级任务,根据升级任务里面的所有控制器升级对象生成升级对象集合;
(2)OTA应用检测升级对象集合是否有需要先进行部署的升级对象,如果有,则将需要部署的升级对象筛选出来,生成一个部署对象集合;
(3)OTA应用检测部署对象集合是否存在,若存在,则遍历部署对象集合发起各个部署对象的升级包传输;
(4)OTA应用每次检测到有部署对象升级包传输完成,遍历部署对象集合,将部署对象集合里面该部署对象剔除,继续等待下一个部署对象完成,直到部署对象集合中的部署对象个数为0,即全部部署完成;
(5)OTA应用遍历升级对象集合,每遍历一个升级对象就通过系统创建子线程,在每个子线程内发起该遍历升级对象的安装,直到遍历完成;
(6)OTA应用监听到有升级对象安装完成,遍历升级对象集合,将升级对象集合中的该升级对象剔除,继续等待下一个升级对象完成,直到遍历升级对象集合中的升级对象个数为0,全部升级完,统一发起控制器重启,车辆完成升级。
作为优化,在步骤(3)中,所述OTA应用和所述控制器在传输过程中约定整个升级包的长度、哈希值和已传输的包长度,所述控制器通过整个升级包的大小和哈希值来校验整个升级包是否已经传输完毕,如果对端已经存在整个升级包,则直接回复传输成功。
作为优化,在步骤(4)中,遍历部署对象集合的时候,若出现部署对象传输失败,则重新发起对该部署对象的部署。
作为优化,在步骤(4)中,所述控制器在升级传输发起未完成的情况下,支持断电保存和断点续传,在存在整个升级包的情况下,直接回复传输成功,减少重传升级包的时间。
作为优化,在步骤(5)中,在升级过程中若出现升级对象安装失败,则再次发起该升级对象的安装。
作为优化,在步骤(5)中,若出现所述子线程被杀死的情况,则OTA应用从磁盘重新读取被中断的升级对象集合,继续发起未完成的控制器的升级任务。
本发明还公开了一种实现车辆OTA并行升级的方法的电子设备,包括存储器,配置为存储可执行指令;
处理器,配置为执行存储器中存储的可执行指令,以实现上述的所述车辆OTA并行升级的方法。
一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令执行上述的所述车辆OTA并行升级的方法。
综上所述,本发明的有益效果在于:本发明采用多线程并行执行,能充分利用车辆设备的处理器多核的优点,各个子线程可以同时在不同处理器核上运行,实现真正意义上的并行升级,缩短了升级时间。
附图说明
为了使发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
图1为本发明的流程框图;
图2为本发明中在升级情况下中断恢复的流程框图;
图3为本发明中OTA应用和单个控制器之间的升级协议图。
具体实施方式
下面结合附图对本发明作进一步的详细说明。
如图1所示,本具体实施方式中的一种车辆OTA并行升级的方法,包括以下步骤:
(1)OTA应用在升级前通过系统创建一个用于升级任务的子线程作为工作线程,子线程内部管理一个任务队列,按照先进先出的方式,其他子线程在完成升级任务后,向任务队列插入完成升级消息任务,工作线程循环查询任务队列内是否有任务存在,有任务就取出来在工作线程执行;OTA应用接收到升级任务,根据升级任务里面的所有控制器升级对象生成升级对象集合;
(2)OTA应用检测升级对象集合是否有需要先进行部署的升级对象,如果有,则将需要部署的升级对象筛选出来,生成一个部署对象集合,所述部署对象是指升级的控制器对象和OTA应用不在同一个设备上或者升级文件存储区域控制器应用无法访问且需要先进行应用间传输的;
(3)OTA应用检测部署对象集合是否存在,若存在,则遍历部署对象集合发起各个部署对象的升级包传输;
(4)OTA应用每次检测到有部署对象升级包传输完成,遍历部署对象集合,将部署对象集合里面该部署对象剔除,继续等待下一个部署对象完成,直到部署对象集合中的部署对象个数为0,即全部部署完成;
(5)OTA应用遍历升级对象集合,每遍历一个升级对象就通过系统创建子线程,在每个子线程内发起该遍历升级对象的安装,直到遍历完成;
(6)OTA应用监听到有升级对象安装完成,遍历升级对象集合,将升级对象集合中的该升级对象剔除,继续等待下一个升级对象完成,直到遍历升级对象集合中的升级对象个数为0,全部升级完,统一发起控制器重启,车辆完成升级。
并行安装过程中,大部分安装任务执行是在控制器内部执行,OTA应用参照图3的升级协议,安装过程中只需等待各个控制器安装结果回复,每装完一个并进行安装任务完成情况检测,OTA应用在并行过程中实际上并没有过多耗费资源操作,升级效率大大提升。
升级包传输过程需要占用传输两端大量的IO资源,硬件资源利用率较高,将升级包传输和安装分开控制,分阶段合理分配系统资源,可以提升升级的成功率,控制器在传输完升级包可以不立即发起升级,在OTA应用被中断情况下,OTA应用重启之后可以跳过传输,直接进行安装。
通过软件集合管理的方式,每次完成一个控制器任务,就剔除集合中该控制器对象,通过判断集合个数为0作为任务结束,这种执行方式既可以实现并行升级任务的管理,又可以减少每次遍历的次数。在升级对象足够多的情况下,能较大提升了OTA应用的执行效率。
本具体实施方式中,在步骤(3)中,所述OTA应用和所述控制器在传输过程中约定整个升级包的长度、哈希值和已传输的包长度,所述控制器通过整个升级包的大小和哈希值来校验整个升级包是否已经传输完毕,如果对端已经存在整个升级包,则直接回复传输成功。
本具体实施方式中,在步骤(4)中,遍历部署对象集合的时候,若出现部署对象传输失败,则重新发起对该部署对象的部署。
本具体实施方式中,在步骤(4)中,所述控制器在升级传输发起未完成的情况下,支持断电保存和断点续传,在存在整个升级包的情况下,直接回复传输成功,减少重传升级包的时间。
本具体实施方式中,在步骤(5)中,在升级过程中若出现升级对象安装失败,则再次发起该升级对象的安装。
本具体实施方式中,在步骤(5)中,如图2所示,若出现所述子线程被杀死的情况,则OTA应用从磁盘重新读取被中断的升级对象集合,继续发起未完成的控制器的升级任务。
一种实现车辆OTA并行升级的方法的电子设备,包括存储器,配置为存储可执行指令;
处理器,配置为执行存储器中存储的可执行指令,以实现上述的所述车辆OTA并行升级的方法。
一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令执行上述的所述车辆OTA并行升级的方法。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管通过参照本发明的优选实施例已经对本发明进行了描述,但本领域的普通技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。
Claims (8)
1.一种车辆OTA并行升级的方法,其特征在于:包括以下步骤:
(1)OTA应用接收到升级任务,根据升级任务里面的所有控制器升级对象生成升级对象集合;
(2)OTA应用检测升级对象集合是否有需要先进行部署的升级对象,所述部署的升级对象是指升级的控制器对象和OTA应用不在同一个设备上或者升级文件存储区域控制器应用无法访问且需要先进行应用间传输的,如果有,则将需要部署的升级对象筛选出来,生成一个部署对象集合;
(3)OTA应用检测部署对象集合是否存在,若存在,则遍历部署对象集合通过采用多线程并行执行的方式发起各个部署对象的升级包传输;
(4)OTA应用每次检测到有部署对象升级包传输完成,遍历部署对象集合,将部署对象集合里面该部署对象剔除,继续等待下一个部署对象完成,直到部署对象集合中的部署对象个数为0,即全部部署完成;
(5)OTA应用遍历升级对象集合,每遍历一个升级对象就通过系统创建子线程,在每个子线程内发起该遍历升级对象的安装,直到遍历完成;
(6)OTA应用监听到有升级对象安装完成,遍历升级对象集合,将升级对象集合中的该升级对象剔除,继续等待下一个升级对象完成,直到遍历升级对象集合中的升级对象个数为0,全部升级完,统一发起控制器重启,车辆完成升级。
2.根据权利要求1所述的一种车辆OTA并行升级的方法,其特征在于:在步骤(3)中,所述OTA应用和所述控制器在传输过程中约定整个升级包的长度、哈希值和已传输的包长度,所述控制器通过整个升级包的大小和哈希值来校验整个升级包是否已经传输完毕,如果对端已经存在整个升级包,则直接回复传输成功。
3.根据权利要求1所述的一种车辆OTA并行升级的方法,其特征在于:在步骤(4)中,遍历部署对象集合的时候,若出现部署对象传输失败,则重新发起对该部署对象的部署。
4.根据权利要求1所述的一种车辆OTA并行升级的方法,其特征在于:在步骤(4)中,所述控制器在升级传输发起未完成的情况下,支持断电保存和断点续传,在存在整个升级包的情况下,直接回复传输成功,减少重传升级包的时间。
5.根据权利要求1所述的一种车辆OTA并行升级的方法,其特征在于:在步骤(5)中,在升级过程中若出现升级对象安装失败,则再次发起该升级对象的安装。
6.根据权利要求1所述的一种车辆OTA并行升级的方法,其特征在于:在步骤(5)中,若出现所述子线程被杀死的情况,则OTA应用从磁盘重新读取被中断的升级对象集合,继续发起未完成的控制器的升级任务。
7.一种实现车辆OTA并行升级的方法的电子设备,其特征在于:包括存储器,配置为存储可执行指令;
处理器,配置为执行存储器中存储的可执行指令,以实现根据权利要求1至6中任意一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于:所述计算机程序指令执行上述权利要求1至6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210174102.XA CN114546448B (zh) | 2022-02-24 | 2022-02-24 | 一种车辆ota并行升级的方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210174102.XA CN114546448B (zh) | 2022-02-24 | 2022-02-24 | 一种车辆ota并行升级的方法和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114546448A CN114546448A (zh) | 2022-05-27 |
CN114546448B true CN114546448B (zh) | 2024-05-14 |
Family
ID=81677794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210174102.XA Active CN114546448B (zh) | 2022-02-24 | 2022-02-24 | 一种车辆ota并行升级的方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546448B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118550567A (zh) * | 2024-07-31 | 2024-08-27 | 比亚迪股份有限公司 | 升级方法及存储介质、平台、车辆 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572896A (zh) * | 2012-02-23 | 2012-07-11 | 中兴通讯股份有限公司 | 一种无线通讯系统升级方法及升级装置 |
CN111277477A (zh) * | 2020-01-13 | 2020-06-12 | 重庆邮电大学 | 一种支持车载多网段同时升级的fota系统 |
CN111279310A (zh) * | 2017-10-24 | 2020-06-12 | 华为国际有限公司 | 一种车载设备升级方法及相关设备 |
WO2021008184A1 (zh) * | 2019-07-18 | 2021-01-21 | 南京依维柯汽车有限公司 | 新能源汽车上的fota固件远程升级系统及其升级方法 |
CN112463190A (zh) * | 2020-11-24 | 2021-03-09 | 广州橙行智动汽车科技有限公司 | 一种车辆升级方法和装置 |
CN113534088A (zh) * | 2021-07-02 | 2021-10-22 | 中国船舶重工集团公司第七二四研究所 | 一种雷达信号多级并行软件化实时处理的设计方法 |
CN113741936A (zh) * | 2021-08-31 | 2021-12-03 | 重庆长安汽车股份有限公司 | 一种基于uds协议的并行刷写方法、装置、车辆及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9891907B2 (en) * | 2014-07-07 | 2018-02-13 | Harman Connected Services, Inc. | Device component status detection and illustration apparatuses, methods, and systems |
-
2022
- 2022-02-24 CN CN202210174102.XA patent/CN114546448B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572896A (zh) * | 2012-02-23 | 2012-07-11 | 中兴通讯股份有限公司 | 一种无线通讯系统升级方法及升级装置 |
CN111279310A (zh) * | 2017-10-24 | 2020-06-12 | 华为国际有限公司 | 一种车载设备升级方法及相关设备 |
WO2021008184A1 (zh) * | 2019-07-18 | 2021-01-21 | 南京依维柯汽车有限公司 | 新能源汽车上的fota固件远程升级系统及其升级方法 |
CN111277477A (zh) * | 2020-01-13 | 2020-06-12 | 重庆邮电大学 | 一种支持车载多网段同时升级的fota系统 |
CN112463190A (zh) * | 2020-11-24 | 2021-03-09 | 广州橙行智动汽车科技有限公司 | 一种车辆升级方法和装置 |
CN113534088A (zh) * | 2021-07-02 | 2021-10-22 | 中国船舶重工集团公司第七二四研究所 | 一种雷达信号多级并行软件化实时处理的设计方法 |
CN113741936A (zh) * | 2021-08-31 | 2021-12-03 | 重庆长安汽车股份有限公司 | 一种基于uds协议的并行刷写方法、装置、车辆及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
Vision Control Unit in Fully Self Driving Vehicles using Xilinx MPSoC and Opensource Stack.《2021 26th Asia and South Pacific Design Automation Conference (ASP-DAC)》.2021,1-7. * |
基于DoIP的汽车网络系统研究;陈博;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20211231;C035-61 * |
Also Published As
Publication number | Publication date |
---|---|
CN114546448A (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10274919B2 (en) | Method, device and computer program product for programming a plurality of control units | |
CN114546448B (zh) | 一种车辆ota并行升级的方法和相关装置 | |
CN103412786A (zh) | 一种高性能服务器架构系统及数据处理方法 | |
CN111026768A (zh) | 一种可实现数据快速装载的数据同步方法和装置 | |
WO2020147497A1 (zh) | 无人车数据传输方法、装置、系统及存储介质 | |
CN111343089B (zh) | 解决mac地址hash冲突导致洪泛问题的方法及系统 | |
CN112261142B (zh) | 一种rdma网络的数据重传方法、装置及fpga | |
CN111294377B (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
CN112596447B (zh) | Ecu刷写数据长度的确定方法、装置、电子设备及介质 | |
CN107967172B (zh) | 一种面向异构存储的Spark任务动态迁移方法和系统 | |
CN113656374A (zh) | 带有附件的业务报文的处理方法及装置 | |
CN111090513B (zh) | 车联网平台终端链路健康状态的检测方法及存储介质 | |
CN107506491B (zh) | 一种分布式文件系统的osd数据分发方法及装置 | |
CN112685147A (zh) | 中断响应方法、装置及可读存储介质 | |
CN118631919A (zh) | 设备能力获取方法、装置、客户端及存储介质 | |
CN103514126A (zh) | 一种数据的接收方法、系统以及装置 | |
CN109542662A (zh) | 一种内存管理方法、装置、服务器及存储介质 | |
CN117632196A (zh) | 一种ota升级方法、系统、电子设备及存储介质 | |
CN111782367A (zh) | 分布式存储方法及装置、电子设备、计算机可读介质 | |
CN116055477A (zh) | 一种大规模无人机集群文件部署方法和系统 | |
CN117891405A (zh) | 固态硬盘的读性能提升实现方法、装置和计算机设备 | |
CN117555648A (zh) | 入站过滤器更新方法、装置、电子设备、系统及存储介质 | |
CN114201291A (zh) | 一种机器人与云端通信的方法及硬件架构系统 | |
CN117971748A (zh) | 一种通信方法、转换电路及计算机设备 | |
CN117478618A (zh) | 网络数据的调度方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |