CN114356375A - 一种控制器的固件升级方法、装置、系统和介质 - Google Patents
一种控制器的固件升级方法、装置、系统和介质 Download PDFInfo
- Publication number
- CN114356375A CN114356375A CN202111668264.0A CN202111668264A CN114356375A CN 114356375 A CN114356375 A CN 114356375A CN 202111668264 A CN202111668264 A CN 202111668264A CN 114356375 A CN114356375 A CN 114356375A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- current
- task
- state
- queue
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种控制器的固件升级方法、装置、系统和介质。该方法包括:从云端服务器中下载车辆中的每个待升级控制器对应的升级数据包;将下载完成的每个升级数据包对应的升级任务存储至当前升级队列中,并将每个升级任务的任务状态设置为第一状态;从当前升级队列中获取任务状态为第一状态的当前升级任务,并在车载显示终端上展示出当前升级任务对应的升级提醒信息;若检测到用户触发的同意升级操作,则基于当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级,并返回执行从当前升级队列中获取当前升级任务的操作。通过本发明实施例的技术方案,可以保证在一个OTA升级周期内所有的升级任务均可以升级成功。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种控制器的固件升级方法、装置、系统和介质。
背景技术
车辆的OTA(Over The Air,空中下载)升级是指通过移动通信的空中接口对车辆中的控制器进行远程固件升级的过程。
在一个OTA升级周期内,若车辆中存在多个待升级控制器,则会同时生成多个升级任务,并且每个升级任务的升级提醒信息在车载显示终端上展示时会自动覆盖住另一个升级任务的升级提醒信息,从而导致用户只能针对最后一个展示的升级提醒信息进行升级,使得只有最后展示的升级任务可以升级成功,其他升级任务都会被舍弃,进而导致其他升级任务直接升级失败,降低了用户体验。
发明内容
本发明实施例提供了一种控制器的固件升级方法、装置、系统和介质,以解决现有技术中一个OTA升级周期内无法保证所有升级任务均可以升级成功的情况。
第一方面,本发明实施例提供了一种控制器的固件升级方法,包括:
从云端服务器中下载车辆中的每个待升级控制器对应的升级数据包;
将下载完成的每个升级数据包对应的升级任务存储至当前升级队列中,并将每个所述升级任务的任务状态设置为第一状态;
从当前升级队列中获取任务状态为第一状态的当前升级任务,并在车载显示终端上展示出所述当前升级任务对应的升级提醒信息;
若检测到用户基于所述升级提醒信息触发的同意升级操作,则基于所述当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级,并返回执行从当前升级队列中获取任务状态为第一状态的当前升级任务的操作,直到当前升级队列中不存在任务状态为第一状态的升级任务为止。
第二方面,本发明实施例还提供了一种控制器的固件升级装置,包括:
升级数据包下载模块,用于从云端服务器中下载车辆中的每个待升级控制器对应的升级数据包;
升级任务存储模块,用于将下载完成的每个升级数据包对应的升级任务存储至当前升级队列中,并将每个所述升级任务的任务状态设置为第一状态;
升级提醒信息展示模块,用于从当前升级队列中获取任务状态为第一状态的当前升级任务,并在车载显示终端上展示出所述当前升级任务对应的升级提醒信息;
固件升级模块,用于若检测到用户基于所述升级提醒信息触发的同意升级操作,则基于所述当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级,并返回执行从当前升级队列中获取任务状态为第一状态的当前升级任务的操作,直到当前升级队列中不存在任务状态为第一状态的升级任务为止。
第三方面,本发明实施例还提供了一种控制器的固件升级系统,所述系统包括:车辆和云端服务器;
其中,所述车辆用于实现如本发明任意实施例所提供的控制器的固件升级方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的控制器的固件升级方法。
本发明实施例通过将从云端服务器下载完成的每个升级数据包对应的升级任务存储至当前升级队列中,并将每个升级任务的任务状态设置为第一状态;从当前升级队列中获取任务状态为第一状态的当前升级任务,并在车载显示终端上展示出当前升级任务对应的升级提醒信息;若检测到用户基于升级提醒信息触发的同意升级操作,则基于当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级,并返回执行从当前升级队列中获取任务状态为第一状态的当前升级任务的操作,以便针对下一升级任务进行升级提醒信息,从而保证下一升级任务可以升级成功。通过利用当前升级队列的方式,可以在车载显示终端上逐个展示出每个升级任务对应的升级提醒信息,使得用户可以针对每个升级任务对应的升级提醒信息进行同意升级操作的触发,从而可以保证在一个OTA升级周期内所有的升级任务均可以升级成功,进而提高了用户体验。
附图说明
图1是本发明实施例一提供的一种控制器的固件升级方法的流程图;
图2是本发明实施例二提供的一种控制器的固件升级方法的流程图;
图3是本发明实施例三提供的一种控制器的固件升级装置的结构示意图;
图4是本发明实施例四提供的一种控制器的固件升级系统的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种控制器的固件升级方法的流程图,本实施例可适用于对车辆中的控制器进行固件升级的情况。该方法可以由控制器的固件升级装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于车辆中。如图1所示,该方法具体包括以下步骤:
S110、从云端服务器中下载车辆中的每个待升级控制器对应的升级数据包。
其中,云端服务器可以是指用于OTA升级的后台服务器。待升级控制器的数量为一个或多个。控制器可以是指车辆中的ECU(Electronic Control Unit)电子控制单元。
具体地,在整车上电后,车辆中的网关可以通过TBOX(Telematics BOX)控制器与云端服务器建立安全通信通道,从而进行信息交互。网关可以每隔一段时间检测与云端服务器的连接状态,以保证正常的通信连接。车辆中的网关在每个OTA升级周期内,可以通过OAT组件采集每个控制器的当前版本信息,并向云端服务器发送车辆中的每个控制器的当前版本信息。云端服务器将接收的每个控制器的当前版本信息与相应的最新版本信息进行比较,若版本信息不一致,则表明可以对该控制器进行固件升级,并将该控制器作为待升级控制器。云端服务器可以基于各个待升级控制器的标识信息生成数据包下载提醒信息,并将数据包下载提醒信息发送至网关中。网关可以基于接收的数据包下载提醒信息确定出各个待升级控制器,并针对每个待升级控制器生成相应的升级数据包下载请求,并向云端服务器发送生成的各个升级数据包下载请求,以便从云端服务器中下载各个待升级控制器的升级数据包。
S120、将下载完成的每个升级数据包对应的升级任务存储至当前升级队列中,并将每个升级任务的任务状态设置为第一状态。
其中,升级任务可以是指利用升级数据包对待升级控制器进行固件升级的任务。每个待升级控制器对应一个升级任务。第一状态可以是指在当次车辆上电过程中可执行的升级任务对应的任务状态,从而可以利用第一状态用于标识当次车辆上电过程可执行的升级任务。本实施例中在当次车辆上电过程中新下载完成的升级任务可以作为当次车辆上电过程可执行的升级任务。
具体地,车辆中的网关可以接收到下载完成的各个升级数据包,并针对每个升级数据包生成一个相应的升级任务。可以按照下载完成的顺序,依次将各个升级任务存储至当前升级队列,并且将当次车辆上电过程中新下载完成的各个升级包对应的各个升级任务的任务状态设置为第一状态。
S130、从当前升级队列中获取任务状态为第一状态的当前升级任务,并在车载显示终端上展示出当前升级任务对应的升级提醒信息。
其中,车载显示终端是指车辆中可以向用户展示信息的显示终端。例如,车载显示终端可以是但不限于IVI(In-Vehicle Infotainment,车载信息娱乐系统)的中控显示屏。
具体地,从当前升级队列中取出一个任务状态为第一状态的当前升级任务,并生成当前升级任务对应的升级提醒信息。网关可以将该升级提醒信息发送给车载显示终端。网关向车载显示终端发送的升级提醒信息可以通过SOME/IP(Scalable service-OrientedMiddlewarE over IP)协议进行信息转换获得的。车载显示终端可以在检测到当前车辆信息满足预设展示条件时,展示出该升级提醒信息,以提醒用户当前存在可升级的控制器,并询问用户是否同意升级。其中,预设展示条件可以是指当前车速小于预设车速的条件。通过在满足预设展示条件时再进行信息展示,可以使得用户更便捷查看信息,保证用户驾车安全性。
S140、若检测到用户基于升级提醒信息触发的同意升级操作,则基于当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级。
具体地,用户在车载显示终端上查看到展示的升级提醒信息后,若想要升级,则可以通过点击同意升级按钮的方式触发同意升级操作。车载显示终端可以基于用户的同意升级操作向网关发送升级指令,网关基于接收到的升级指令执行当前升级任务,基于当前升级数据包对当前待升级控制器中的固件进行刷写升级。例如,网关可以通过CAN(Controller Area Network)控制器局域网络或者以太网DoIP协议的诊断服务对待升级控制器进行刷写升级。本实施例可以在当前待升级控制器固件升级成功后,再执行步骤S150的操作,使得每个升级任务逐个执行,进一步保证升级成功率。本实施例也可以通过开启异步线程的方式,在检测到用户触发的同意升级操作时,固件升级操作和步骤S150的操作并行执行,以提高升级效率。
示例性地,S140可以包括:检测当前车辆信息是否满足预设车辆升级条件;若满足预设车辆升级条件,则基于当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级。
其中,预设车辆升级条件可以是预先设置的,控制器升级时车辆所需要具备的条件。例如,预设车辆升级条件可以包括当前电量大于预设电量和发动机处于未转动状态。具体地,通过在当前车辆信息满足车辆升级条件时再对控制器进行固件升级,可以避免影响用户驾车安全性,并且保证控制器固件可以升级成功。
示例性地,若检测到用户基于升级提醒信息触发的拒绝升级操作,则可以将当前升级任务对应的当前升级数据包进行删除,并进入步骤S150,以便可以节省存储空间;还可以将当前升级任务的任务状态从第一状态更新为第二状态,并将状态更新后的当前升级任务重新存储至当前升级队列中,并进入步骤S150,以便可以在车辆下次上电时再次提醒用户升级。其中,第二状态是指在当次车辆上电过程中不需要执行的升级任务对应的任务状态,从而可以利用第二状态用于标识当次车辆上电过程不需要执行的升级任务。
S150、检测当前升级队列中是否存在任务状态为第一状态的升级任务,若是,则进入步骤S130,若否,则进入步骤S160。
具体地,若用户拒绝升级的任务状态不会重新存储至当前升级队列中,即当前升级队列中仅存储第一状态的升级任务,则可以通过检测当前升级队列是否为空队列的方式确定出是否完成升级操作。若不是空队列,则可以通过返回执行S130的操作,对下一升级任务进行升级提醒并基于用户的触发操作进行升级。若是空队列,则表明当前不存在待升级的升级任务,此时可以通过执行步骤S160的方式,停止升级操作。通过利用当前升级队列的方式,可以在车载显示终端上逐个展示出每个升级任务对应的升级提醒信息,使得用户可以针对每个升级任务对应的升级提醒信息进行同意升级操作的触发,从而可以保证在一个OTA升级周期内所有的升级任务均可以升级成功,进而提高了用户体验。
若用户拒绝升级的任务状态可以重新存储至当前升级队列中,即当前升级队列中可以存储第一状态的升级任务和第二状态的升级任务,则可以通过从当前升级队列中取出一个当前升级任务,若检测到当前升级任务的任务状态为第一状态,则可以通过返回执行步骤S130的方式,在车载显示终端上展示出当前升级任务对应的升级提醒信息。若检测到当前升级任务的任务状态为第二状态,则可以将当前升级任务重新存储至当前升级队列中,并检测当前升级队列中的下一升级任务的任务状态,直到取出第一状态的升级任务为止,或者,当前升级队列中存储的所有任务升级的任务状态均是第二状态时停止。
需要说明的是,在车辆每次上电后,可以从云端服务器中下载车辆中的每个待升级控制器对应的升级数据包。可以将每次新下载的升级数据包对应的升级任务也可以存储至当前升级队列中,并将新下载的升级任务对应的任务状态设置为第一状态,以便基于当前升级队列,可以逐个地展示出每个第一状态的升级任务对应的升级提醒信息,使得用户可以针对每个升级任务对应的升级提醒信息进行同意升级操作的触发,进一步提高了用户体验。
S160、停止。
本实施例的技术方案,通过将从云端服务器下载完成的每个升级数据包对应的升级任务存储至当前升级队列中,并将每个升级任务的任务状态设置为第一状态;从当前升级队列中获取任务状态为第一状态的当前升级任务,并在车载显示终端上展示出当前升级任务对应的升级提醒信息;若检测到用户基于升级提醒信息触发的同意升级操作,则基于当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级,并返回执行从当前升级队列中获取任务状态为第一状态的当前升级任务的操作,以便针对下一升级任务进行升级提醒信息,从而保证下一升级任务可以升级成功。通过利用当前升级队列的方式,可以在车载显示终端上逐个展示出每个升级任务对应的升级提醒信息,使得用户可以针对每个升级任务对应的升级提醒信息进行同意升级操作的触发,从而可以保证在一个OTA升级周期内所有的升级任务均可以升级成功,进而提高了用户体验。
在上述技术方案的基础上,该方法还可以包括:在下次车辆上电时,若当前升级队列为非空队列,则将当前升级队列中存储的每个升级任务对应的任务状态从第二状态更新为第一状态,并返回执行S130的操作。
具体地,在车辆下次上电时,可以通过检测当前升级队列是否为空队列,若为非空队列,则表明上次上电过程中存在用户拒绝升级的升级任务,此时可以将当前升级队列中存储的每个升级任务对应的任务状态从第二状态更新为第一状态,并通过返回执行S130的操作,从而可以在当次车辆上电过程中再次提醒用户升级,进一步提升了用户体验。
在上述各技术方案的基础上,该方法还可以包括:基于当前升级队列中的每个升级任务对应的有效期限,检测当前是否存在已过期的升级任务;将已过期的升级任务从当前升级队列中进行删除。
具体地,可以基于业务需求和版本更新频率对生成的每个升级任务设置相应的有效期限,并基于每个升级任务对应的有效期限,可以实时检测当前是否存在已过期的升级任务,若是,则将已过期的升级任务从当前升级队列中进行删除,从而可以保证每个升级任务的升级有效性,进一步提升用户体验。
实施例二
图2为本发明实施例二提供的控制器的固件升级方法的流程图,本实施例在上述实施例的基础上,对步骤“从云端服务器中下载车辆中的每个待升级控制器对应的升级数据包”进行了进一步优化。其中与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图2,本实施例提供的控制器的固件升级方法具体包括以下步骤:
S210、向云端服务器发送车辆中的每个控制器的当前版本信息,以使云端服务器基于当前版本信息确定出各个待升级控制器,并返回各个待升级控制器对应的数据包下载提醒信息。
具体地,在整车上电后,车辆中的网关可以通过TBOX控制器与云端服务器建立安全通信通道,从而进行信息交互。网关可以每隔一段时间检测与云端服务器的连接状态,以保证正常的通信连接。车辆中的网关在每个OTA升级周期内,可以通过OAT组件采集每个控制器的当前版本信息,并向云端服务器发送车辆中的每个控制器的当前版本信息。云端服务器将接收的每个控制器的当前版本信息与相应的最新版本信息进行比较,若版本信息不一致,则表明可以对该控制器进行固件升级,并将该控制器作为待升级控制器。云端服务器可以基于各个待升级控制器的标识信息生成数据包下载提醒信息,并将数据包下载提醒信息发送至网关中。
S220、基于接收的数据包下载提醒信息,将每个待升级控制器对应的下载任务存储至当前下载队列中。
具体地,网关可以基于接收的数据包下载提醒信息确定出各个待升级控制器。针对每个待升级控制器生成相应的下载任务,并将生成的各个下载任务存储至当前下载队列中。
S230、从当前下载队列中获取当前下载任务。
具体地,网关可以从当前下载队列中取出一个下载任务,作为当前下载任务,以便通过当前下载队列可以逐个执行下载任务。
S240、向云端服务器发送当前下载任务对应的升级数据包下载请求,从云端服务器下载相应的升级数据包,并在下载完成后检测当前下载队列是否为空队列,若是,则进入步骤S250;若否,则进入步骤S230。
具体地,车辆中的网关可以向云端服务器发送当前下载任务对应的升级数据包下载请求,以便从云端服务器下载相应的升级数据包,并在下载完成后通过检测当前下载队列是否为空队列的方式确定是否所有升级数据包均已下载完成。若是空队列,则可以通过执行步骤S250的操作进行后续的升级操作。若是非空队列,则可以通过返回执行S230的操作继续下载下一个升级数据包。本实施例通过利用当前下载队列逐个下载每个升级数据包,可以避免同时下载多个升级数据包而导致的下载速度较慢的情况。
示例性地,本实施例可以通过开启异步线程的方式,在每个升级数据包下载完成时,将当前下载队列是否为空队列的检测操作和后续步骤S250的操作进行并行执行,从而使得下载操作和升级操作可以同步执行,进一步提高了升级效率。
示例性地,S240可以包括:在车载显示终端上展示出当前下载任务对应的下载提醒信息;若检测到用户基于下载提醒信息触发的同意下载操作,则向云端服务器发送当前下载任务对应的升级数据包下载请求。
具体地,可以针对每个下载任务,在车载显示终端上展示出相应的下载提醒信息,以提醒用户是否同意下载,并基于用户选择操作进行下载,从而可以避免无效的数据包下载,进而避免浪费存储空间。
S250、将下载完成的每个升级数据包对应的升级任务存储至当前升级队列中,并将每个升级任务的任务状态设置为第一状态。
S260、从当前升级队列中获取任务状态为第一状态的当前升级任务,并在车载显示终端上展示出当前升级任务对应的升级提醒信息。
S270、若检测到用户基于升级提醒信息触发的同意升级操作,则基于当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级。
S280、检测当前升级队列中是否存在任务状态为第一状态的升级任务,若是,则进入步骤S260,若否,则进入步骤S290。
S290、停止。
本实施例的技术方案,通过将每个待升级控制器对应的下载任务存储至当前下载队列中,并基于当前下载队列逐个下载每个升级数据包,从而可以避免同时下载多个升级数据包而导致的下载速度较慢的情况,大大提高下载速度。
以下是本发明实施例提供的控制器的固件升级装置的实施例,该装置与上述各实施例的控制器的固件升级方法属于同一个发明构思,在控制器的固件升级装置的实施例中未详尽描述的细节内容,可以参考上述控制器的固件升级方法的实施例。
实施例三
图3为本发明实施例三提供的一种控制器的固件升级装置的结构示意图,本实施例可适用于对车辆中的控制器进行固件升级的情况。如图3所示,该装置具体包括:升级数据包下载模块310、升级任务存储模块320、升级提醒信息展示模块330和固件升级模块340。
其中,升级数据包下载模块310,用于从云端服务器中下载车辆中的每个待升级控制器对应的升级数据包;升级任务存储模块320,用于将下载完成的每个升级数据包对应的升级任务存储至当前升级队列中,并将每个升级任务的任务状态设置为第一状态;升级提醒信息展示模块330,用于从当前升级队列中获取任务状态为第一状态的当前升级任务,并在车载显示终端上展示出当前升级任务对应的升级提醒信息;固件升级模块340,用于若检测到用户基于升级提醒信息触发的同意升级操作,则基于当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级,并返回执行从当前升级队列中获取任务状态为第一状态的当前升级任务的操作,直到当前升级队列中不存在任务状态为第一状态的升级任务为止。
可选地,该装置还包括:
拒绝升级模块,用于在车载显示终端上展示出当前升级任务对应的升级提醒信息之后,若检测到用户基于升级提醒信息触发的拒绝升级操作,则将当前升级任务的任务状态从第一状态更新为第二状态,并将状态更新后的当前升级任务重新存储至当前升级队列中,返回执行从当前升级队列中获取任务状态为第一状态的当前升级任务的操作,直到当前升级队列中不存在任务状态为第一状态的升级任务为止。
可选地,该装置还包括:
任务状态更新模块,用于在下次车辆上电时,若当前升级队列为非空队列,则将当前升级队列中存储的每个升级任务对应的任务状态从第二状态更新为第一状态,并返回执行从当前升级队列中获取任务状态为第一状态的当前升级任务的操作。
可选地,固件升级模块340,具体用于:检测当前车辆信息是否满足预设车辆升级条件;若满足预设车辆升级条件,则基于当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级。
可选地,该装置还包括:
升级任务删除模块,用于基于当前升级队列中的每个升级任务对应的有效期限,检测当前是否存在已过期的升级任务;将已过期的升级任务从当前升级队列中进行删除。
可选地,升级数据包下载模块310,包括:
当前版本信息发送单元,用于向云端服务器发送车辆中的每个控制器的当前版本信息,以使云端服务器基于当前版本信息确定出各个待升级控制器,并返回各个待升级控制器对应的数据包下载提醒信息;
下载任务存储单元,用于基于接收的数据包下载提醒信息,将每个待升级控制器对应的下载任务存储至当前下载队列中;
当前下载任务获取单元,用于从当前下载队列中获取当前下载任务;
升级数据包下载单元,用于向云端服务器发送当前下载任务对应的升级数据包下载请求,从云端服务器下载相应的升级数据包,并在下载完成后返回执行从当前下载队列中获取当前下载任务的操作,直到当前下载队列为空队列为止。
可选地,升级数据包下载单元,具体用于:在车载显示终端上展示出当前下载任务对应的下载提醒信息;若检测到用户基于下载提醒信息触发的同意下载操作,则向云端服务器发送当前下载任务对应的升级数据包下载请求。
本发明实施例所提供的控制器的固件升级装置可执行本发明任意实施例所提供的控制器的固件升级方法,具备执行控制器的固件升级方法相应的功能模块和有益效果。
值得注意的是,上述控制器的固件升级装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例四
图4为本发明实施例四提供的一种控制器的固件升级系统的结构示意图,本实施例可适用于对车辆中的控制器进行固件升级的情况。如图4所示,该系统包括:车辆410和云端服务器420。
其中,车辆410可以用于实现任意实施例所提供的控制器的固件升级方法。
本实施例中的控制器的固件升级系统,车辆410通过将从云端服务器420下载完成的每个升级数据包对应的升级任务存储至当前升级队列中,并将每个升级任务的任务状态设置为第一状态;从当前升级队列中获取任务状态为第一状态的当前升级任务,并在车载显示终端上展示出当前升级任务对应的升级提醒信息;若检测到用户基于升级提醒信息触发的同意升级操作,则基于当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级,并返回执行从当前升级队列中获取任务状态为第一状态的当前升级任务的操作,以便针对下一升级任务进行升级提醒信息,从而保证下一升级任务可以升级成功。通过利用当前升级队列的方式,可以在车载显示终端上逐个展示出每个升级任务对应的升级提醒信息,使得用户可以针对每个升级任务对应的升级提醒信息进行同意升级操作的触发,从而可以保证在一个OTA升级周期内所有的升级任务均可以升级成功,进而提高了用户体验。
实施例五
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的控制器的固件升级方法步骤,该方法包括:
从云端服务器中下载车辆中的每个待升级控制器对应的升级数据包;
将下载完成的每个升级数据包对应的升级任务存储至当前升级队列中,并将每个升级任务的任务状态设置为第一状态;
从当前升级队列中获取任务状态为第一状态的当前升级任务,并在车载显示终端上展示出当前升级任务对应的升级提醒信息;
若检测到用户基于升级提醒信息触发的同意升级操作,则基于当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级,并返回执行从当前升级队列中获取任务状态为第一状态的当前升级任务的操作,直到当前升级队列中不存在任务状态为第一状态的升级任务为止。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种控制器的固件升级方法,其特征在于,包括:
从云端服务器中下载车辆中的每个待升级控制器对应的升级数据包;
将下载完成的每个升级数据包对应的升级任务存储至当前升级队列中,并将每个所述升级任务的任务状态设置为第一状态;
从当前升级队列中获取任务状态为第一状态的当前升级任务,并在车载显示终端上展示出所述当前升级任务对应的升级提醒信息;
若检测到用户基于所述升级提醒信息触发的同意升级操作,则基于所述当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级,并返回执行从当前升级队列中获取任务状态为第一状态的当前升级任务的操作,直到当前升级队列中不存在任务状态为第一状态的升级任务为止。
2.根据权利要求1所述的方法,其特征在于,在车载显示终端上展示出所述当前升级任务对应的升级提醒信息之后,还包括:
若检测到用户基于所述升级提醒信息触发的拒绝升级操作,则将所述当前升级任务的任务状态从第一状态更新为第二状态,并将状态更新后的当前升级任务重新存储至当前升级队列中,返回执行从当前升级队列中获取任务状态为第一状态的当前升级任务的操作,直到当前升级队列中不存在任务状态为第一状态的升级任务为止。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在下次车辆上电时,若当前升级队列为非空队列,则将当前升级队列中存储的每个升级任务对应的任务状态从第二状态更新为第一状态,并返回执行从当前升级队列中获取任务状态为第一状态的当前升级任务的操作。
4.根据权利要求1所述的方法,其特征在于,所述基于所述当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级,包括:
检测当前车辆信息是否满足预设车辆升级条件;
若满足所述预设车辆升级条件,则基于所述当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于当前升级队列中的每个升级任务对应的有效期限,检测当前是否存在已过期的升级任务;
将已过期的升级任务从当前升级队列中进行删除。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述从云端服务器中下载车辆中的每个待升级控制器对应的升级数据包,包括:
向云端服务器发送车辆中的每个控制器的当前版本信息,以使所述云端服务器基于所述当前版本信息确定出各个待升级控制器,并返回各个待升级控制器对应的数据包下载提醒信息;
基于接收的所述数据包下载提醒信息,将每个待升级控制器对应的下载任务存储至当前下载队列中;
从当前下载队列中获取当前下载任务;
向所述云端服务器发送所述当前下载任务对应的升级数据包下载请求,从所述云端服务器下载相应的升级数据包,并在下载完成后返回执行从当前下载队列中获取当前下载任务的操作,直到所述当前下载队列为空队列为止。
7.根据权利要求6所述的方法,其特征在于,所述向所述云端服务器发送所述当前下载任务对应的升级数据包下载请求,包括:
在车载显示终端上展示出所述当前下载任务对应的下载提醒信息;
若检测到用户基于所述下载提醒信息触发的同意下载操作,则向所述云端服务器发送所述当前下载任务对应的升级数据包下载请求。
8.一种控制器的固件升级装置,其特征在于,包括:
升级数据包下载模块,用于从云端服务器中下载车辆中的每个待升级控制器对应的升级数据包;
升级任务存储模块,用于将下载完成的每个升级数据包对应的升级任务存储至当前升级队列中,并将每个所述升级任务的任务状态设置为第一状态;
升级提醒信息展示模块,用于从当前升级队列中获取任务状态为第一状态的当前升级任务,并在车载显示终端上展示出所述当前升级任务对应的升级提醒信息;
固件升级模块,用于若检测到用户基于所述升级提醒信息触发的同意升级操作,则基于所述当前升级任务对应的当前升级数据包对当前待升级控制器进行固件升级,并返回执行从当前升级队列中获取任务状态为第一状态的当前升级任务的操作,直到当前升级队列中不存在任务状态为第一状态的升级任务为止。
9.一种控制器的固件升级系统,其特征在于,所述系统包括:车辆和云端服务器;
其中,所述车辆用于实现如权利要求1-7中任一项所述的控制器的固件升级方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的控制器的固件升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111668264.0A CN114356375A (zh) | 2021-12-31 | 2021-12-31 | 一种控制器的固件升级方法、装置、系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111668264.0A CN114356375A (zh) | 2021-12-31 | 2021-12-31 | 一种控制器的固件升级方法、装置、系统和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114356375A true CN114356375A (zh) | 2022-04-15 |
Family
ID=81106157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111668264.0A Pending CN114356375A (zh) | 2021-12-31 | 2021-12-31 | 一种控制器的固件升级方法、装置、系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356375A (zh) |
-
2021
- 2021-12-31 CN CN202111668264.0A patent/CN114356375A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220253301A1 (en) | Electronic control system for vehicle, program update approval determination method and program update approval determination program | |
EP3189501B1 (en) | Vehicle information system | |
CN109936587B (zh) | 控制方法、控制装置、电子设备及存储介质 | |
CN110888662A (zh) | 一种车辆远程静默升级方法、装置、车辆和存储介质 | |
US20140195663A1 (en) | Method and System for Providing Cloud-Based Common Distribution Applications | |
CN114398060A (zh) | 车载控制器软件升级方法、装置、电子设备及存储介质 | |
CN110278543A (zh) | 汽车的控制系统更新方法、装置及存储介质 | |
US20240069906A1 (en) | Server, software update system, distribution method, and non-transitory storage medium | |
WO2024051340A1 (zh) | 整车全局配置方法、装置、设备及介质 | |
CN112698857A (zh) | 一种数据刷写的方法及设备 | |
JP2017215888A (ja) | 制御装置、プログラム更新方法、およびコンピュータプログラム | |
CN111031142A (zh) | 一种软件升级方法、装置及介质 | |
CN115016805A (zh) | 一种车辆系统升级方法、装置、系统、设备和介质 | |
JP2017004331A (ja) | ゲートウェイおよびこれを用いた車載ソフトウェア更新システム | |
CN114327710A (zh) | 一种函数管理方法、管理装置、终端设备及可读存储介质 | |
WO2024022277A1 (zh) | 地图更新数据下载方法、装置、设备及可读介质 | |
CN114356375A (zh) | 一种控制器的固件升级方法、装置、系统和介质 | |
JP2020011663A (ja) | 車両管理システム、車両管理プログラム及び車両管理方法 | |
CN114422436B (zh) | 网关、网关控制方法、装置、电子设备和存储介质 | |
CN111107147A (zh) | 一种消息推送方法及装置 | |
CN114844931A (zh) | 车辆的远程控制方法、装置、服务器及存储介质 | |
CN114710454A (zh) | 一种消息处理方法、车载通讯装置、电子设备及存储介质 | |
CN113742426A (zh) | 一种数据同步方法、装置、设备、服务器及存储介质 | |
CN112363744A (zh) | 一种行车记录仪固件升级方法、系统及存储介质 | |
CN113997947B (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 |