CN113672258A - 车辆的***升级方法、装置、计算机设备和存储介质 - Google Patents
车辆的***升级方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113672258A CN113672258A CN202110934812.3A CN202110934812A CN113672258A CN 113672258 A CN113672258 A CN 113672258A CN 202110934812 A CN202110934812 A CN 202110934812A CN 113672258 A CN113672258 A CN 113672258A
- Authority
- CN
- China
- Prior art keywords
- storage area
- upgrading
- version file
- vehicle
- external storage
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000001960 triggered effect Effects 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 19
- 238000012800 visualization Methods 0.000 claims description 19
- 230000000007 visual effect Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种车辆的***升级方法、装置、计算机设备和存储介质。方法包括:接收云平台推送的新版本文件,并将新版本文件刷写至第一外部存储区;对新版本文件进行一致性校验;若校验新版本文件的一致性结果无误,将当前版本文件刷写至第二外部存储区,以覆盖第二外部存储区中存储的旧版本文件;当获得基于用户触发升级操作生成的升级指令时,将第一外部存储区中的新版本文件刷写至内部存储区;对内部存储区中的新版本文件进行检测,以确定***升级结果;若***升级结果表征升级成功,将新版本文件刷写至第二外部存储区,以覆盖第二外部存储区中存储的当前版本文件。采用本方法能够提高车辆***升级的效率。
Description
技术领域
本申请涉及车辆技术领域,特别是涉及一种车辆的***升级方法、装置、计算机设备和存储介质。
背景技术
OTA(Over-the-Air Technology,空中下载技术)可以实现车辆***的在线更新与升级。目前的车辆***的升级方式主要是通过CAN(Controller Area Network,控制器局域网络)总线对控制器进行刷写,然而这种方式的刷写速度慢,刷写时间长,造成升级的效率低下。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高车辆***升级效率的车辆的***升级方法、装置、计算机设备和存储介质。
一种车辆的***升级方法,所述方法包括:
接收云平台推送的新版本文件,并将所述新版本文件刷写至第一外部存储区;
对所述新版本文件进行一致性校验;
若校验所述新版本文件的一致性结果无误,将当前版本文件刷写至第二外部存储区,以覆盖所述第二外部存储区中存储的旧版本文件;
当获得基于用户触发升级操作生成的升级指令时,将所述第一外部存储区中的新版本文件刷写至内部存储区;
对所述内部存储区中的新版本文件进行检测,以确定***升级结果;
若***升级结果表征升级成功,将所述新版本文件刷写至第二外部存储区,以覆盖所述第二外部存储区中存储的当前版本文件。
在其中一个实施例中,所述方法还包括:若校验所述新版本文件的一致性结果有误,将所述第二外部存储区中存储的旧版本文件刷写至内部存储区,运行所述旧版本文件以使所述车辆的***版本回退。
在其中一个实施例中,所述方法还包括:在校验所述新版本文件的一致性结果无误后,生成升级提示,并将所述升级提示传输至所述车辆的可视化装置中,以利用所述可视化装置提示用户进行升级;以及,当用户基于所述升级提示触发升级操作时,生成升级指令。
在其中一个实施例中,所述方法还包括:若***升级结果表征升级失败,将所述第二外部存储区中存储的当前版本文件重新刷写至内部存储区,并删除所述第一外部存储区中存储的新版本文件。
在其中一个实施例中,所述对所述内部存储区中的新版本文件进行检测,以确定***升级结果,包括:
获取所述内部存储区中的新版本文件的第一版本号,以及获取在接收云平台推送的新版本文件时获取的新版本文件的第二版本号;
比较所述第一版本号与第二版本号的一致性;
若所述第一版本号与第二版本号一致,确定所述***升级结果为升级成功;
若所述第一版本号与第二版本号不一致,确定所述***升级结果为升级失败。
在其中一个实施例中,所述方法还包括:将升级结果传输至所述车辆的可视化装置中,以利用所述可视化装置向用户可视化展示升级结果。
在其中一个实施例中,所述方法还包括:将所述升级结果传输至所述云平台,以供云平台依据所述升级结果对所述车辆的***版本号进行更新,并将更新后的***版本号存储至云数据库中。
一种车辆的***升级装置,所述装置包括:
接收模块,用于接收云平台推送的新版本文件,并将所述新版本文件刷写至第一外部存储区;
处理模块,用于对所述新版本文件进行一致性校验;
所述处理模块,还用于若校验所述新版本文件的一致性结果无误,将当前版本文件刷写至第二外部存储区,以覆盖所述第二外部存储区中存储的旧版本文件;
所述处理模块,还用于当获得基于用户触发升级操作生成的升级指令时,将所述第一外部存储区中的新版本文件刷写至内部存储区;
所述处理模块,还用于对所述内部存储区中的新版本文件进行检测,以确定***升级结果;
所述处理模块,还用于若***升级结果表征升级成功,将所述新版本文件刷写至第二外部存储区,以覆盖所述第二外部存储区中存储的当前版本文件。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收云平台推送的新版本文件,并将所述新版本文件刷写至第一外部存储区;
对所述新版本文件进行一致性校验;
若校验所述新版本文件的一致性结果无误,将当前版本文件刷写至第二外部存储区,以覆盖所述第二外部存储区中存储的旧版本文件;
当获得基于用户触发升级操作生成的升级指令时,将所述第一外部存储区中的新版本文件刷写至内部存储区;
对所述内部存储区中的新版本文件进行检测,以确定***升级结果;
若***升级结果表征升级成功,将所述新版本文件刷写至第二外部存储区,以覆盖所述第二外部存储区中存储的当前版本文件。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收云平台推送的新版本文件,并将所述新版本文件刷写至第一外部存储区;
对所述新版本文件进行一致性校验;
若校验所述新版本文件的一致性结果无误,将当前版本文件刷写至第二外部存储区,以覆盖所述第二外部存储区中存储的旧版本文件;
当获得基于用户触发升级操作生成的升级指令时,将所述第一外部存储区中的新版本文件刷写至内部存储区;
对所述内部存储区中的新版本文件进行检测,以确定***升级结果;
若***升级结果表征升级成功,将所述新版本文件刷写至第二外部存储区,以覆盖所述第二外部存储区中存储的当前版本文件。
上述车辆的***升级方法、装置、计算机设备和存储介质,通过将新版本文件刷写至第一外部存储区,在新版本校验无误的条件下,将当前版本文件刷写至第二外部存储区进行备份,并根据用户的升级指令将之前存储在第一外部存储区的新版本文件刷写至内部存储区,以进行升级操作;当***升级成功后,将新版本文件刷写至第二外部存储区进行备份,从而完成本次的车辆***升级。相较于通过CAN总线对控制器进行刷写的方式,本申请通过将第一外部存储区的新版本文件刷写至内部存储区,能够显著提高刷写速度,提高了车辆***升级的效率。
附图说明
图1为一个实施例中车辆的***升级方法的应用环境图;
图2为一个实施例中车载终端的内部结构图;
图3为一个实施例中车辆的***升级方法的流程示意图;
图4为一个实施例中对所述内部存储区中的新版本文件进行检测,以确定***升级结果的步骤的流程示意图;
图5为一个实施例中车辆***升级的流程示意图;
图6为一个实施例中车辆的***升级装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的车辆的***升级方法,可以应用于如图1所示的应用环境中。其中,车载终端110与云平台120网络连接。车载终端110可以接收云平台120发送的数据,从而执行车辆的***升级、回退、以及备份等操作。车载终端110也可以向云平台120上传数据,从而执行升级结果上报、回传、以及备份等操作。示例性地,车载终端110包括车机、车载TBox(Telematics Box,通常称为车联网***)等。云平台120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
其中,对车辆的升级通常指的是对车辆控制器的升级,例如通过对车辆控制器的刷写操作,实现对车辆控制器的程序或配置数据进行更新和管理。其中,刷写操作指的是通过车载终端基于数据通行协议对车辆控制器的数据读写操作,数据通行协议包括但不限于CAN等。其中,车辆控制器包括但不限于发动机管理***(Engine Management System,EMS)、整车控制器(Vehicle Control Unit,VCU)、车身控制器(Body Control Module,BCM)、车辆网关(Gateway)、以及混合动力汽车整车控制器(Hybrid Control Unit,HCU)等中的一种或多种。
其中,车辆的整车架构如图2所示,例如EMS、VCU、以及TCU(仅列举作为示例)通过CAN总线与车载TBox进行数据交互,车载TBox与车机通过USB进行通信。在本申请实施例中,对所欲升级的控制器的存储区域进行了改进。例如在图2中,以EMS为例,本申请实施例对EMS内的存储区域进行拓展,通过拓展额外的两个片外存储区域(即图中的片外存储区1和片外存储区2),显著降低了车辆上控制器的成本,同时,在***升级时更加安全、可靠,便于在升级出现问题时回退。在一些实施例中,外部存储区又称为片外存储区、或片外Flash等;内部存储区又称***运行区、片内存储区、片内Flash等。
在本申请实施例中,为了以示区分,将拓展设置的两个外部存储区分别称为第一外部存储区和第二外部存储区。需要说明的是,上述术语“第一”和“第二”在本申请中用来描述不同的外部存储区,但是这些外部存储区不应当被这些术语限制。这些术语仅用来将一个外部存储区与另一个外部存储区进行区分。例如,第一外部存储区可以被称作第二外部存储区,并且类似地,第二外部存储区可以被称作第一外部存储区,而不脱离各种所描述的实施例的范围,但是除非上下文以其他方式明确指出,否则它们不是同一个外部存储区。类似的情况还有第一版本号和第二版本号。
在一个实施例中,如图3所示,提供了一种车辆的***升级方法,以该方法应用于图1中的车载终端为例进行说明。本实施例中,该方法包括以下步骤:
步骤S302,接收云平台推送的新版本文件,并将新版本文件刷写至第一外部存储区。
具体地,在车辆***常规升级、或车辆***当前的版本存在问题需要补丁升级的场景下,车载终端通过网络接收云平台推送的新版本文件,并在接收到新版本文件后,将新版本文件刷写至第一外部存储区中。通过将新版本文件刷写至第一外部存储区中进行备份,而非直接进行升级,能够避免在新版本文件存在问题时直接利用其进行升级,有效地保护了车辆控制器。
在一些实施例中,车载终端通过OTA实现与云平台的数据传输与数据交互,例如,车载终端通过OTA与云平台通信连接,并下载云平台下发的新版本文件。OTA组件可以集成于车载终端内或车辆的中央网关内。其中,中央网关是车辆网络***的核心控制装置,具有协调不同结构和特征的CAN总线网络及其他数据网络之间的协议转换和数据交换等功能。
步骤S304,对新版本文件进行一致性校验。
其中,一致性校验指的是对车载终端所获得的新版本文件与发布商(例如汽车制造商)发布的新版本文件进行校验,以确定两个文件是否一致。一致性校验的目的在于确保车载终端获得的新版本文件是正确的版本,而没有被注入例如病毒、木马程序等破坏程序。
具体地,车载终端对刷写至第一外部存储区的新版本文件进行一致性校验。示例性地,车载终端通过数字签名来验证新版本文件的一致性。例如,车载终端通过加密算法对新版本文件生成相应的加密值,并将该加密值与发布商提供的加密值进行比较,从而确定两个文件是否一致。
若车载终端校验新版本文件的一致性结果有误,说明该新版本文件存在问题,例如在网络传输过程中出现损坏或者丢失,或者文件中存在病毒等。此时,车载终端可以向云平台上报,也可以重新进行下载。
在一些实施例中,若校验新版本文件的一致性结果有误,将第二外部存储区中存储的旧版本文件刷写至内部存储区,运行旧版本文件以使车辆的***版本回退。
其中,第二外部存储区中存储有车辆控制器当前运行版本的上个版本的文件,称为旧版本文件。具体地,若车载终端校验新版本文件的一致性结果有误,车载终端将第二外部存储区中存储的旧版本文件刷写至内部存储区,并运行内部存储区中的旧版本文件以使车辆的***版本回退。
上述实施例中,在车载终端通过一致性校验确定新版本文件存在问题,不能据此进行升级、同时车载终端当前运行的版本存在重大问题的情况下,通过将第二外部存储区中的旧版本文件刷写至内部存储区,实现***回退,增加了车辆***的安全性,防止因升级失败导致车辆不能正常行驶,同时避免了车辆在无法升级的情况下运行存在问题的当前版本而导致的安全隐患。
步骤S306,若校验新版本文件的一致性结果无误,将当前版本文件刷写至第二外部存储区,以覆盖第二外部存储区中存储的旧版本文件。
若车载终端校验新版本文件的一致性结果无误,说明新版本文件没有问题,车载终端可以根据该新版本文件进行***升级。具体地,车载终端将当前运行的版本文件(简称为当前版本文件)刷写至第二外部存储区,以覆盖第二外部存储区中存储的旧版本文件,从而实现对当前版本文件进行备份,以用于在后续升级失败的情况下能够据此进行回退。
在一些实施例中,车载终端在校验新版本文件的一致性结果无误后,生成升级提示,并将升级提示传输至车辆的可视化装置中,以利用可视化装置提示用户进行升级;以及,当用户基于升级提示触发升级操作时,生成升级指令。
其中,升级提示用于提示用户可以对车辆进行升级,包括但不限于文字提示、图案提示、声音提示、以及语音提示等中的一种或多种。具体地,车载终端在校验新版本文件的一致性结果无误后,生成升级提示,并将升级提示传输至车辆的可视化装置中,从而通过可视化装置提示用户进行升级。其中,可视化装置包括但不限于显示屏及全息投影等。例如,车载终端将升级提示传输至车载终端的显示屏上,提示用户进行升级。在一些实施例中,可视化装置还可以是与车载终端通信连接的便携式电子设备,例如笔记本电脑、智能手机、平板电脑、智能手表、以及AR/VR/MR装置等。例如,车载终端通过无线通信(例如Wi-Fi、4G/5G/6G、以及蓝牙等)或有线通信将升级提示发送至便携式电子设备上,通过便携式电子设备的显示装置提示用户进行升级。
根据可视化装置提示的升级提示,用户可以触发升级操作,从而令车载终端执行***升级。示例性地,基于升级提示,用户对车载终端的显示屏进行触控操作、或对车载终端进行语音指示等,从而触发升级操作;相应地,车载终端基于用户触发升级操作生成升级指令,该升级指令用于指示车载终端执行***升级。又如,用户在便携式电子设备上触发升级操作,例如,在便携式电子设备的可触控显示屏上提供的“是否进行***升级”的选项中,选择“是”的虚拟按钮,由此,便携式电子设备基于用户的触发操作,生成升级指令,并将升级指令发送至车载终端,以令车载终端根据该升级指令执行***升级。
上述实施例中,通过车载终端生成升级提示,并将升级提示传输至车辆的可视化装置中,能够向用户可视化地提示车辆需要进行升级,便于用户及时获知车辆的***情况,同时便于用户自行选择合适的时间进行升级,提高了用户体验;同时,在用户触发升级操作后再执行升级操作,避免在没有用户指示的情况下自行升级可能存在的安全隐患。
步骤S308,当获得基于用户触发升级操作生成的升级指令时,将第一外部存储区中的新版本文件刷写至内部存储区。
具体地,当车载终端获得基于用户触发升级操作而生成的升级指令时,依据该升级指令执行后续的升级操作,将之前刷写至第一外部存储区中的新版本文件刷写至内部存储区。
步骤S310,对内部存储区中的新版本文件进行检测,以确定***升级结果。
具体地,当车载终端将新版本文件刷写至内部存储区后,车载终端对内部存储区中的新版本文件进行检测,即检测新版本文件是否刷写成功,从而确定***升级结果。
在一些实施例中,如图4所示,车载终端对内部存储区中的新版本文件进行检测,以确定***升级结果,包括:
步骤S402,获取内部存储区中的新版本文件的第一版本号,以及获取在接收云平台推送的新版本文件时获取的新版本文件的第二版本号;
步骤S404,比较第一版本号与第二版本号的一致性;
步骤S406,若第一版本号与第二版本号一致,确定***升级结果为升级成功;
步骤S408,若第一版本号与第二版本号不一致,确定***升级结果为升级失败。
具体地,车载终端提取刷写至内部存储区中的新版本文件的第一版本号,并且,车载终端获取新版本文件的第二版本号,其中,新版本文件的第二版本号是车载终端在接收云平台推送的新版本文件时同时获取的。其中,版本号包括软件版本号、以及标定数据版本号等中的一种或多种。车载终端比较第一版本号与第二版本号的一致性;若第一版本号与第二版本号一致,确定***升级结果为升级成功;反之,若第一版本号与第二版本号不一致,确定***升级结果为升级失败。
在一些实施例中,车载终端可以获取接收新版本文件时的软件版本号,并提取刷写至内部存储区的新版本文件的软件版本号,并比较两个软件版本号是否一致。若两个软件版本号一致,则确定***升级结果为升级成功;若两个软件版本号不一致,则确定***升级结果为升级失败。
在一些实施例中,车载终端可以获取接收新版本文件时的标定数据版本号,并提取刷写至内部存储区的新版本文件的标定数据版本号,并比较两个标定数据版本号是否一致。若两个标定数据版本号一致,则确定***升级结果为升级成功;若两个标定数据版本号不一致,则确定***升级结果为升级失败。
在一些实施例中,车载终端可以获取接收新版本文件时的软件版本号和标定数据版本号,并提取刷写至内部存储区的新版本文件的软件版本号和标定数据版本号。若软件版本号和标定数据版本号均一致,则确定***升级结果为升级成功;若软件版本号和标定数据版本号中有至少一类版本号不一致,则确定***升级结果为升级失败。
上述实施例中,通过车载终端检测刷写至内部存储区的新版本文件的版本号与一开始接收的新版本文件的版本号是否一致,从而检测刷写是否成功,能够及时发现刷写失败的情况;并且在接收的新版本文件无误的情况下,由于第一外部存储区对新版本文件做了备份,能够在刷写失败的情况下利用第一外部存储区进行重新刷写,避免了重新从云平台下载新版本文件的繁琐步骤,提高了***升级的速度和效率。
步骤S312,若***升级结果表征升级成功,将新版本文件刷写至第二外部存储区,以覆盖第二外部存储区中存储的当前版本文件。
具体地,若车载终端检测新版本文件刷写成功,确定***升级结果表征升级成功时,车载终端将新版本文件刷写至第二外部存储区进行备份,并覆盖之前刷写至第二外部存储区中并由第二外部存储区存储的当前版本文件。
上述车辆的***升级方法,通过对控制器存储区进行改进,设置第一外部存储区和第二外部存储区,而非对内部存储区进行拓展,显著地降低了车辆控制器的硬件成本。通过将新版本文件存储在第一外部存储区,在新版本校验无误的条件下,将当前版本文件刷写至第二外部存储区进行备份,并根据用户的升级指令将之前存储在第一外部存储区的新版本文件刷写至内部存储区,以进行升级操作;当***升级成功后,将新版本文件刷写至第二外部存储区进行备份,从而完成本次的车辆***升级。相较于通过CAN总线对控制器的内部存储区进行刷写(此时控制器不可用,车辆无法行驶)的方式,本申请首先将新版本文件刷写至外部存储区,此时不影响车辆的正常驾驶。然后再通过将第一外部存储区的新版本文件刷写至内部存储区,能够显著提高刷写速度,提高了车辆***升级的效率。同时,由于升级时车辆无法行驶,用户对升级时间的长短感知敏感,因此,通过上述车辆的***升级方法提高升级速度,提高了用户的使用体验。
在一些实施例中,若***升级结果表征升级失败,则车载终端将之前备份至第二外部存储区中的当前版本文件重新刷写至内部存储区中,从而将***回退至刷写新版本文件之前运行的版本,即回退至当前运行版本。在一些实施例中,当车载终端因升级失败而将***回退后,还可以将第一外部存储区中的新版本文件进行删除,从而留出存储空间,以便下次升级操作时使用。
在一些实施例中,车辆的***升级方法还包括将升级结果传输至车辆的可视化装置中,以利用可视化装置向用户可视化展示升级结果的步骤。具体地,无论***升级结果为升级成功或失败,车载终端将***升级结果发送至车辆的可视化装置中,从而向用户可视化展示升级结果为升级成功或失败。例如,在可视化装置的显示屏中以文字、图案、以及投影等可视化展示方式进行展示,从而提示用户升级结果。
上述实施例中,通过车载终端将升级结果传输至可视化装置,并由可视化装置向用户可视化展示升级结果,便于用户及时获知***升级情况,提高了用户体验。
在一些实施例中,车辆的***升级方法还包括将升级结果传输至云平台,以供云平台依据升级结果对车辆的***版本号进行更新,并将更新后的***版本号存储至云数据库中的步骤。
具体地,无论***升级结果为升级成功或失败,车载终端将升级结果通过网络传输至云平台,以进行上报;相应地,云平台接收到车载终端上报的升级结果后,根据该升级结果对车辆的***版本号进行更新,并将更新后的车辆的***版本号存储至云数据库中。示例性地,当***升级结果为升级成功时,车载终端将升级成功的升级结果上报至云平台,云平台在数据库中,将该车载终端相应的车辆所对应的***版本号更新为升级成功后的版本号。又如,当***升级结果为升级失败时,车载终端将升级失败的升级结果上报至云平台;由于升级失败,车辆的***版本号没有变化,因此云平台可以更新为同样的***版本号,或者无需对数据库中存储的***版本号进行更新。
上述实施例中,通过车载终端将升级结果上报至云平台,便于云平台及时获知车辆的升级情况,便于云平台对车辆进行管理。
在一个具体的实施例中,如图5所示,以车辆升级的目标为发动机控制器为例。当前发动机控制器运行的是版本A。假设发布商发现版本A的标定数据存在问题,需要升级更新,通过云平台下发了新版本C。车载终端通过OTA接收新版本C,并基于UDS(UnifiedDiagnostic Services)协议通过CAN总线将新版本C写入第一外部存储区(外部存储区即片外Flash)中。此时,车辆的存储区内存储有三个版本,内部存储区(即片内Flash)内为当前运行的版本A,第二外部存储区内为上个版本B,第一外部存储区内为备份的新版本C。
在对新版本C备份完成后,车载终端检查新版本C是否有问题,若新版本C有问题,由于当前版本A也存在问题,则车载终端将第二外部存储区内的版本B刷写至内部存储区;车载终端重启后,车辆***回退到版本B。此时,内部存储区、第二外部存储区、以及第一外部存储区中存储的版本分别为:版本B、版本B、以及版本C。若新版本C无问题,则车载终端首先对版本A进行备份,即,将内部存储区中的版本A刷写至第二外部存储区中,防止后续升级出现问题时无法回退。此时,内部存储区、第二外部存储区、以及第一外部存储区中存储的版本分别为:版本A、版本A、以及版本C。
然后,车载终端利用OTA触发车机显示屏,以提示用户需要升级。用户通过车机显示屏进行触控操作,点击显示屏上的“同意升级”后,车载终端通过OTA获得升级指令,并据此执行后续的升级操作。
车载终端对内部存储区写入版本C,即将第一外部存储区中的版本C写入内部存储区中。此时,内部存储区、第二外部存储区、以及第一外部存储区中存储的版本分别为:版本C、版本A、以及版本C。然后,车载终端检测升级是否成功,若升级成功,则执行重启操作,并运行内部存储区的版本C,完成升级操作并向云平台上报升级成功的升级结果。若升级失败,则车载终端对内部存储区写入版本A,即,将之前备份在第二外部存储区内的版本A重新刷写至内部存储区中。此时,内部存储区、第二外部存储区、以及第一外部存储区中存储的版本分别为:版本A、版本A、以及版本C。车载终端执行重启操作,并运行内部存储区的版本A,由此实现***回退,并向云平台上报升级失败的升级结果。
应该理解的是,虽然图3-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种车辆的***升级装置600,包括:接收模块610和处理模块620。其中:
接收模块610,用于接收云平台推送的新版本文件,并将新版本文件刷写至第一外部存储区。
处理模块620,用于对新版本文件进行一致性校验。
处理模块620,还用于若校验新版本文件的一致性结果无误,将当前版本文件刷写至第二外部存储区,以覆盖第二外部存储区中存储的旧版本文件。
处理模块620,还用于当获得基于用户触发升级操作生成的升级指令时,将第一外部存储区中的新版本文件刷写至内部存储区。
处理模块620,还用于对内部存储区中的新版本文件进行检测,以确定***升级结果。
处理模块620,还用于若***升级结果表征升级成功,将新版本文件刷写至第二外部存储区,以覆盖第二外部存储区中存储的当前版本文件。
在一个实施例中,处理模块还用于若校验新版本文件的一致性结果有误,将第二外部存储区中存储的旧版本文件刷写至内部存储区,运行旧版本文件以使车辆的***版本回退。
在一个实施例中,还包括提示模块,用于在校验新版本文件的一致性结果无误后,生成升级提示,并将升级提示传输至车辆的可视化装置中,以利用可视化装置提示用户进行升级;以及,当用户基于升级提示触发升级操作时,生成升级指令。
在一个实施例中,处理模块还用于若***升级结果表征升级失败,将第二外部存储区中存储的当前版本文件重新刷写至内部存储区,并删除第一外部存储区中存储的新版本文件。
在一个实施例中,处理模块还用于获取内部存储区中的新版本文件的第一版本号,以及获取在接收云平台推送的新版本文件时获取的新版本文件的第二版本号;比较第一版本号与第二版本号的一致性;若第一版本号与第二版本号一致,确定***升级结果为升级成功;若第一版本号与第二版本号不一致,确定***升级结果为升级失败。
在一个实施例中,还包括展示模块,用于将升级结果传输至车辆的可视化装置中,以利用可视化装置向用户可视化展示升级结果。
在一个实施例中,还包括上报模块,用于将升级结果传输至云平台,以供云平台依据升级结果对车辆的***版本号进行更新,并将更新后的***版本号存储至云数据库中。
关于车辆的***升级装置的具体限定可以参见上文中对于车辆的***升级方法的限定,在此不再赘述。上述车辆的***升级装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是前述实施例中的车载终端,其内部结构图可以如图7所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种车辆的***升级方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收云平台推送的新版本文件,并将新版本文件刷写至第一外部存储区;对新版本文件进行一致性校验;若校验新版本文件的一致性结果无误,将当前版本文件刷写至第二外部存储区,以覆盖第二外部存储区中存储的旧版本文件;当获得基于用户触发升级操作生成的升级指令时,将第一外部存储区中的新版本文件刷写至内部存储区;对内部存储区中的新版本文件进行检测,以确定***升级结果;若***升级结果表征升级成功,将新版本文件刷写至第二外部存储区,以覆盖第二外部存储区中存储的当前版本文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若校验新版本文件的一致性结果有误,将第二外部存储区中存储的旧版本文件刷写至内部存储区,运行旧版本文件以使车辆的***版本回退。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在校验新版本文件的一致性结果无误后,生成升级提示,并将升级提示传输至车辆的可视化装置中,以利用可视化装置提示用户进行升级;以及,当用户基于升级提示触发升级操作时,生成升级指令。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取内部存储区中的新版本文件的第一版本号,以及获取在接收云平台推送的新版本文件时获取的新版本文件的第二版本号;比较第一版本号与第二版本号的一致性;若第一版本号与第二版本号一致,确定***升级结果为升级成功;若第一版本号与第二版本号不一致,确定***升级结果为升级失败。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将升级结果传输至车辆的可视化装置中,以利用可视化装置向用户可视化展示升级结果。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将升级结果传输至云平台,以供云平台依据升级结果对车辆的***版本号进行更新,并将更新后的***版本号存储至云数据库中。
上述计算机设备,通过对控制器存储区进行改进,设置第一外部存储区和第二外部存储区,而非对内部存储区进行拓展,显著地降低了车辆控制器的硬件成本。通过将新版本文件存储在第一外部存储区,在新版本校验无误的条件下,将当前版本文件刷写至第二外部存储区进行备份,并根据用户的升级指令将之前存储在第一外部存储区的新版本文件刷写至内部存储区,以进行升级操作;当***升级成功后,将新版本文件刷写至第二外部存储区进行备份,从而完成本次的车辆***升级。相较于通过CAN总线对控制器进行刷写的方式,本申请通过将第一外部存储区的新版本文件刷写至内部存储区,能够显著提高刷写速度,提高了车辆***升级的效率。同时,由于升级时车辆无法行驶,用户对升级时间的长短感知敏感,因此,通过上述车辆的***升级方法提高升级速度,提高了用户的使用体验。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收云平台推送的新版本文件,并将新版本文件刷写至第一外部存储区;对新版本文件进行一致性校验;若校验新版本文件的一致性结果无误,将当前版本文件刷写至第二外部存储区,以覆盖第二外部存储区中存储的旧版本文件;当获得基于用户触发升级操作生成的升级指令时,将第一外部存储区中的新版本文件刷写至内部存储区;对内部存储区中的新版本文件进行检测,以确定***升级结果;若***升级结果表征升级成功,将新版本文件刷写至第二外部存储区,以覆盖第二外部存储区中存储的当前版本文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若校验新版本文件的一致性结果有误,将第二外部存储区中存储的旧版本文件刷写至内部存储区,运行旧版本文件以使车辆的***版本回退。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在校验新版本文件的一致性结果无误后,生成升级提示,并将升级提示传输至车辆的可视化装置中,以利用可视化装置提示用户进行升级;以及,当用户基于升级提示触发升级操作时,生成升级指令。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取内部存储区中的新版本文件的第一版本号,以及获取在接收云平台推送的新版本文件时获取的新版本文件的第二版本号;比较第一版本号与第二版本号的一致性;若第一版本号与第二版本号一致,确定***升级结果为升级成功;若第一版本号与第二版本号不一致,确定***升级结果为升级失败。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将升级结果传输至车辆的可视化装置中,以利用可视化装置向用户可视化展示升级结果。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将升级结果传输至云平台,以供云平台依据升级结果对车辆的***版本号进行更新,并将更新后的***版本号存储至云数据库中。
上述计算机可读存储介质,通过对控制器存储区进行改进,设置第一外部存储区和第二外部存储区,而非对内部存储区进行拓展,显著地降低了车辆控制器的硬件成本。通过将新版本文件存储在第一外部存储区,在新版本校验无误的条件下,将当前版本文件刷写至第二外部存储区进行备份,并根据用户的升级指令将之前存储在第一外部存储区的新版本文件刷写至内部存储区,以进行升级操作;当***升级成功后,将新版本文件刷写至第二外部存储区进行备份,从而完成本次的车辆***升级。相较于通过CAN总线对控制器进行刷写的方式,本申请通过将第一外部存储区的新版本文件刷写至内部存储区,能够显著提高刷写速度,提高了车辆***升级的效率。同时,由于升级时车辆无法行驶,用户对升级时间的长短感知敏感,因此,通过上述车辆的***升级方法提高升级速度,提高了用户的使用体验。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种车辆的***升级方法,其特征在于,所述方法包括:
接收云平台推送的新版本文件,并将所述新版本文件刷写至第一外部存储区;
对所述新版本文件进行一致性校验;
若校验所述新版本文件的一致性结果无误,将当前版本文件刷写至第二外部存储区,以覆盖所述第二外部存储区中存储的旧版本文件;
当获得基于用户触发升级操作生成的升级指令时,将所述第一外部存储区中的新版本文件刷写至内部存储区;
对所述内部存储区中的新版本文件进行检测,以确定***升级结果;
若***升级结果表征升级成功,将所述新版本文件刷写至第二外部存储区,以覆盖所述第二外部存储区中存储的当前版本文件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若校验所述新版本文件的一致性结果有误,将所述第二外部存储区中存储的旧版本文件刷写至内部存储区,运行所述旧版本文件以使所述车辆的***版本回退。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在校验所述新版本文件的一致性结果无误后,生成升级提示,并将所述升级提示传输至所述车辆的可视化装置中,以利用所述可视化装置提示用户进行升级;以及,当用户基于所述升级提示触发升级操作时,生成升级指令。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:若***升级结果表征升级失败,将所述第二外部存储区中存储的当前版本文件重新刷写至内部存储区,并删除所述第一外部存储区中存储的新版本文件。
5.根据权利要求1所述的方法,其特征在于,所述对所述内部存储区中的新版本文件进行检测,以确定***升级结果,包括:
获取所述内部存储区中的新版本文件的第一版本号,以及获取在接收云平台推送的新版本文件时获取的新版本文件的第二版本号;
比较所述第一版本号与第二版本号的一致性;
若所述第一版本号与第二版本号一致,确定所述***升级结果为升级成功;
若所述第一版本号与第二版本号不一致,确定所述***升级结果为升级失败。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:将升级结果传输至所述车辆的可视化装置中,以利用所述可视化装置向用户可视化展示升级结果。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:将所述升级结果传输至所述云平台,以供云平台依据所述升级结果对所述车辆的***版本号进行更新,并将更新后的***版本号存储至云数据库中。
8.一种车辆的***升级装置,其特征在于,所述装置包括:
接收模块,用于接收云平台推送的新版本文件,并将所述新版本文件刷写至第一外部存储区;
处理模块,用于对所述新版本文件进行一致性校验;
所述处理模块,还用于若校验所述新版本文件的一致性结果无误,将当前版本文件刷写至第二外部存储区,以覆盖所述第二外部存储区中存储的旧版本文件;
所述处理模块,还用于当获得基于用户触发升级操作生成的升级指令时,将所述第一外部存储区中的新版本文件刷写至内部存储区;
所述处理模块,还用于对所述内部存储区中的新版本文件进行检测,以确定***升级结果;
所述处理模块,还用于若***升级结果表征升级成功,将所述新版本文件刷写至第二外部存储区,以覆盖所述第二外部存储区中存储的当前版本文件。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110934812.3A CN113672258A (zh) | 2021-08-16 | 2021-08-16 | 车辆的***升级方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110934812.3A CN113672258A (zh) | 2021-08-16 | 2021-08-16 | 车辆的***升级方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113672258A true CN113672258A (zh) | 2021-11-19 |
Family
ID=78542857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110934812.3A Pending CN113672258A (zh) | 2021-08-16 | 2021-08-16 | 车辆的***升级方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672258A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024011617A1 (zh) * | 2022-07-15 | 2024-01-18 | 华为技术有限公司 | 一种升级方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577473A (zh) * | 2017-08-24 | 2018-01-12 | 苏州汇川联合动力***有限公司 | 一种电动汽车软件升级的多点远程烧录方法以及*** |
CN108121554A (zh) * | 2017-12-20 | 2018-06-05 | 浙江亿邦通信科技股份有限公司 | 一种户外嵌入式设备***的升级方法及升级*** |
CN110647333A (zh) * | 2018-06-26 | 2020-01-03 | 霍尼韦尔环境自控产品(天津)有限公司 | 固件升级方法及配置成对其中的固件进行升级的设备 |
CN111930407A (zh) * | 2020-10-19 | 2020-11-13 | 广州汽车集团股份有限公司 | 车辆ecu软件升级方法、***、车载tbox的微控制器和soc端 |
CN112181449A (zh) * | 2019-07-03 | 2021-01-05 | 广州汽车集团股份有限公司 | 车载软件升级方法、装置、***及存储介质 |
CN112817625A (zh) * | 2021-01-29 | 2021-05-18 | 青岛海信移动通信技术股份有限公司 | ***升级方法、装置、电子设备及存储介质 |
-
2021
- 2021-08-16 CN CN202110934812.3A patent/CN113672258A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577473A (zh) * | 2017-08-24 | 2018-01-12 | 苏州汇川联合动力***有限公司 | 一种电动汽车软件升级的多点远程烧录方法以及*** |
CN108121554A (zh) * | 2017-12-20 | 2018-06-05 | 浙江亿邦通信科技股份有限公司 | 一种户外嵌入式设备***的升级方法及升级*** |
CN110647333A (zh) * | 2018-06-26 | 2020-01-03 | 霍尼韦尔环境自控产品(天津)有限公司 | 固件升级方法及配置成对其中的固件进行升级的设备 |
CN112181449A (zh) * | 2019-07-03 | 2021-01-05 | 广州汽车集团股份有限公司 | 车载软件升级方法、装置、***及存储介质 |
CN111930407A (zh) * | 2020-10-19 | 2020-11-13 | 广州汽车集团股份有限公司 | 车辆ecu软件升级方法、***、车载tbox的微控制器和soc端 |
CN112817625A (zh) * | 2021-01-29 | 2021-05-18 | 青岛海信移动通信技术股份有限公司 | ***升级方法、装置、电子设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024011617A1 (zh) * | 2022-07-15 | 2024-01-18 | 华为技术有限公司 | 一种升级方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110178114B (zh) | 车辆控制装置以及程序更新*** | |
US20180081671A1 (en) | Program rewriting device and program rewriting method | |
CN112416406B (zh) | 终端设备升级方法、装置、终端设备和介质 | |
CN110244958B (zh) | 用于更新车辆的标定数据的方法和装置 | |
CN107122212A (zh) | 固件加密方法 | |
CN112000358B (zh) | 充电桩的升级方法与智能充电桩 | |
CN107122668A (zh) | 固件加密方法 | |
CN115113905A (zh) | 固件升级方法和固件升级装置 | |
CN114915554A (zh) | 远程升级方法、装置、计算机设备和存储介质 | |
CN114895947A (zh) | 车载控制器的软件升级方法、装置、设备和存储介质 | |
CN113672258A (zh) | 车辆的***升级方法、装置、计算机设备和存储介质 | |
JP2018160207A (ja) | 車載制御装置、及び、プログラム更新ソフトウェア | |
CN113885907A (zh) | 一种固件升级***及方法 | |
US20220391192A1 (en) | Ota master, center, system, method, non-transitory storage medium, and vehicle | |
JP7484791B2 (ja) | Otaマスタ、更新制御方法、及び更新制御プログラム | |
US20220391194A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
US11995429B2 (en) | Software update device, update control method, non-transitory storage medium, and server | |
JP7509059B2 (ja) | センタ、更新管理方法、及び更新管理プログラム | |
CN114144759A (zh) | 用于更新车辆的车载计算机的软件的更新方法和更新装置,所述车载计算机包括执行存储器、备份存储器和检查存储器 | |
CN112783522B (zh) | 文件的加载方法、文件的加载装置及电子设备 | |
US20220391193A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
US20220405083A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
US11954480B2 (en) | Center, OTA master, system, method, non-transitory storage medium, and vehicle | |
JP7512908B2 (ja) | センタ、管理方法および管理プログラム | |
EP4047477A1 (en) | Ota master, center, system, update method, non-transitory storage medium, and vehicle |
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 |