CN114003242A - 软件更新装置、更新控制方法、非临时存储介质及服务器 - Google Patents
软件更新装置、更新控制方法、非临时存储介质及服务器 Download PDFInfo
- Publication number
- CN114003242A CN114003242A CN202110750401.9A CN202110750401A CN114003242A CN 114003242 A CN114003242 A CN 114003242A CN 202110750401 A CN202110750401 A CN 202110750401A CN 114003242 A CN114003242 A CN 114003242A
- Authority
- CN
- China
- Prior art keywords
- update
- software
- update data
- control unit
- electronic control
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明为一种软件更新装置,被配置为对搭载于车辆的电子控制单元的软件更新进行控制,具有:一个或多个处理器,其被配置为,从服务器下载所述电子控制单元的软件的更新数据;在安装所述更新数据之前,向所述服务器发送用于确认所述更新数据是否为有效的有效性确认请求;从所述服务器接收表示所述更新数据是否为有效的确认结果;对所述电子控制单元的软件更新进行控制;在根据所述一个或多个处理器接收的确认结果而判断为所述更新数据不为有效的情况下,不实施所述更新数据的安装。
Description
技术领域
本发明涉及一种软件更新装置、更新控制方法、非临时存储介质及服务器。
背景技术
在车辆上搭载有用于控制车辆的动作的多个电子控制单元(ECU)。ECU具有处理器、RAM那样的临时存储部、闪存ROM那样的非易失性的存储部,处理器通过执行存储在非易失性的存储部中的软件来实现ECU的控制功能。各ECU存储的软件能够进行改写,通过更新为较新版本的软件,能够改善各ECU的功能、追加新的车辆控制功能。
作为更新ECU的软件的技术,已知有OTA(Over The Air)技术,在该技术中,通过以无线的方式将与车载网络连接的车载通信设备和互联网等通信网络连接,经由无线通信从服务器下载软件并安装下载的软件,从而实施ECU的程序更新、追加(例如,参照日本特开2004-326689)。
关于基于OTA的软件的更新,在服务器中注册了实施软件更新的事件(活动)之后,将车辆向服务器请求确认更新数据的有无作为契机而实施。在存在软件更新的活动的情况下,车辆通过依次实施更新数据的下载、更新数据的安装以及更新版本的软件的激活而对更新对象的电子控制单元的软件进行更新。
发明内容
在车辆中,下载、安装及激活的全部处理不是连续实施的,例如,假设在下载了更新数据之后经过一段时间地实施安装之后的处理的情况。另一方面,在服务器中,在车辆下载了更新数据之后,软件更新的活动有可能被取消。在活动被取消的情况下,更新对象的电子控制单元的软件必须是在被取消的活动的注册之前的时间点为有效且最新的软件。
本发明提供一种能够在软件更新的活动被取消的情况下将作为更新对象的电子控制单元的软件维持有效且最新的状态的软件更新装置、更新控制方法、非临时存储介质和服务器。
本发明的第一方式的软件更新装置,被配置为对搭载于车辆的电子控制单元的软件更新进行控制。所述软件更新装置具有:一个或多个处理器,其被配置为,从服务器下载所述电子控制单元的软件的更新数据;在安装所述更新数据之前,向所述服务器发送用于确认所述更新数据是否为有效的有效性确认请求;从所述服务器接收表示所述更新数据是否为有效的确认结果;对所述电子控制单元的软件更新进行控制;在根据所述一个或多个处理器接收的确认结果而判断为所述更新数据不为有效的情况下,不实施所述更新数据的安装。
本发明的第二方式的更新控制方法,为了计算机对搭载于车辆的电子控制单元的软件更新进行控制而执行的方法,所述计算机具有处理器、存储器、存储装置。所述更新控制方法具有:从服务器下载所述电子控制单元的软件的更新数据的步骤;在安装所述更新数据之前,向所述服务器发送用于确认所述更新数据是否为有效的有效性确认请求的步骤;从所述服务器接收表示所述更新数据是否为有效的确认结果的步骤;对所述电子控制单元的软件更新进行控制的步骤;在所述计算机根据从所述服务器接收的确认结果而判断为所述更新数据不为有效的情况下,不实施所述更新数据的安装的步骤。
本发明的第三方式的非临时存储介质,存储更新控制程序,所述更新控制程序能够由计算机执行,并且为了对搭载于车辆的电子控制单元的软件更新进行控制而使所述计算机执行根据第二方式所述的更新控制方法。所述计算机具有处理器、存储器、所述非临时存储介质。
本发明的第四方式的服务器,被配置为对搭载于车辆的电子控制单元的软件更新进行管理。所述服务器具有:一个或多个处理器,其被配置为,向所述车辆发送所述电子控制单元的软件的更新数据;当从所述车辆接收用于确认所述更新数据是否为有效的有效性确认请求时,向所述车辆发送表示所述更新数据是否为有效的确认结果,所述确认结果表示在使用所述更新数据的软件更新被取消的情况下,所述更新数据不为有效。
根据本发明,能够提供一种在软件更新的活动被取消的情况下将作为更新对象的电子控制单元的软件能够维持有效且最新的状态的软件更新装置、更新控制方法、非临时存储介质和服务器。
附图说明
以下,参考附图,说明本发明的示例性实施例的特征、优点以及技术和工业意义,在附图中,相同的标记表示相同的元件。
图1是表示实施方式涉及的网络系统的整体结构的框图。
图2是表示图1所示的服务器的概要结构的框图。
图3是表示图1所示的软件更新装置的概要结构的框图。
图4是图1所示的服务器的功能框图。
图5是图1所示的软件更新装置的功能框图。
图6是表示实施方式的服务器执行的控制处理的一例的流程图。
图7是表示实施方式的软件更新装置执行的控制处理的一例的流程图。
图8是表示图7所示的安装和/或激活处理的详细的流程图。
图9是表示图8所示的恢复处理的详细的流程图。
具体实施方式
第一实施方式
图1是表示实施方式的网络系统的整体结构的框图,图2是表示图1所示的服务器的概要结构的框图,图3是表示图1所示的软件更新装置的概要结构的框图。
图1所示的网络系统是用于更新搭载在车辆上的电子控制单元13a、13b、13c,13d的软件的系统,具有服务器1(中心)和搭载在车辆上的车载网络2。
服务器1能够经由网络5与搭载于车辆的软件更新装置11进行通信,并对搭载于车辆的电子控制单元13a~13d的软件更新进行管理。
如图2所示,服务器1具有CPU21、RAM22、存储装置23、通信装置24。服务器1具有的CPU21、RAM22、存储装置23也可以是多个。存储装置23具有硬盘、SSD等可读写的存储介质,存储用于执行软件的更新管理的程序、用于更新管理的信息、电子控制单元的更新数据。在服务器1中,CPU21通过使用RAM22作为工作区域来执行从存储装置23读取的程序,从而执行后述的控制处理。通信装置24是经由网络与软件更新装置11实施通信的设备。
车载网络2具有软件更新装置11(OTA主机)、通信模块12、多个电子控制单元13a~13d、显示装置14。软件更新装置11经由总线15a与通信模块12连接,经由总线15b与电子控制单元13a及13b连接,经由总线15c与电子控制单元13c及13d连接,经由总线15d与显示装置14连接。软件更新装置11能够经由通信模块12与服务器1进行无线通信。软件更新装置11根据从服务器1取得的更新数据,对电子控制单元13a~13d中的更新对象的电子控制单元的软件更新进行控制。软件更新装置11有时也被称为中央网关。通信模块12是将车载网络2与服务器1连接的通信设备。电子控制单元13a~13d控制车辆的各部分的动作。显示装置14(HMI)用于在电子控制单元13a~13d的软件的更新处理时,实施存在更新数据的显示、用于向用户、管理者请求批准软件更新的批准请求画面的显示、更新结果的显示等各种显示。作为显示装置14,典型地为能够使用汽车导航系统的显示装置,但只要是能够显示程序的更新处理时所需的信息的装置即可,没有特别限定。此外,在图1中,例示了四个电子控制单元13a~13d,但电子控制单元的数量没有特别限定。此外,在图1所示的总线15d还可以连接有显示装置14以外的电子控制单元。
电子控制单元13a~13d具有CPU、RAM、非易失性存储器、通信装置。CPU通过使用RAM作为工作区域而执行从非易失性存储器读取的软件(程序),从而实现各电子控制单元的功能。在此,电子控制单元包含具有用于存储软件的一个数据存储区域(库)的电子控制单元、具有用于存储软件的两个数据存储区域(库)的电子控制单元。在电子控制单元的数据存储区域中,除了用于实现电子控制单元的功能的软件之外,有时还存储版本信息、参数数据、启动用的引导程序、软件更新用的程序等。在具有一个数据存储区域的电子控制单元中,在数据存储区域中安装更新数据会对电子控制单元的软件产生影响。另一方面,在具有两个数据存储区域的电子控制单元中,将两个数据存储区域中的任一方作为读取对象的存储区域(操作面),并执行在读取对象的存储区域中存储的软件。在非读取对象的另一方的存储区域(非操作面)中,能够在读取对象的存储区域(操作面)的程序的执行期间在后台写入更新数据。在软件更新处理的激活时,通过切换基于CPU41的程序的读取对象的存储区域,能够激活更新版本的软件。
此外,在本发明中,具有两个数据存储区域的电子控制单元具有:电子控制单元,其具有被称为“单面挂起存储器”的结构的存储器,该存储器将非易失性存储器具有的单面的数据存储区域虚拟地划分为双面,在执行单面的程序的过程中能够在另一面写入程序;电子控制单元,其除了具有单面的数据存储区域的非易失性存储器之外,还具有具有单面的数据存储区域的扩展非易失性存储器,并能够将这两个非易失性存储器作为操作面和非操作面来使用。
如图3所示,软件更新装置11具有微型计算机35、通信装置36,所述微型计算机35包含CPU31、RAM32、ROM33、存储装置34。微型计算机35具有的CPU31、RAM32、ROM33、存储装置34也可以是多个。在软件更新装置11中,微型计算机35的CPU31通过使用RAM32作为工作区域来执行从ROM33读取的程序,从而执行后述的控制处理。通信装置36是经由图1所示的总线15a~15d与通信模块12、电子控制单元13a~13d、显示装置14实施通信的设备。
在此,软件的更新处理由从服务器1下载更新数据的阶段、将下载的更新数据传送到更新对象的电子控制单元并在更新对象的电子控制单元的存储区域中安装更新数据的阶段、在更新对象的电子控制单元中使安装的更新版本的软件有效化的激活的阶段构成。
关于下载,其是接收并存储从服务器1发送的用于更新电子控制单元的软件的更新数据的处理。在下载的阶段中,不仅包含更新数据的接收,还包含下载的执行能否判断、更新数据的验证等与下载相关的一系列处理的控制。关于安装,其为根据下载的更新数据而向更新对象的电子控制单元写入更新版本的程序(更新软件)的处理。在安装阶段中,不仅包含安装的执行,还包含安装的执行能否判断、更新数据的传送以及更新版本的程序的验证等与安装相关的一系列处理的控制。关于激活,其是使安装的更新版本的程序有效化(激活)的处理。激活的控制不仅包含激活的执行,还包含激活的执行能否判断、执行结果的验证等与激活相关的一系列的控制。
从服务器1发送到软件更新装置11的更新数据也可以包含电子控制单元的更新软件、压缩了更新软件的压缩数据、分割了更新软件或压缩数据的分割数据中的任一个。此外,更新数据也可以包含识别更新对象的电子控制单元的标识符(ECUID)和识别更新前的软件的标识符(ECU软件ID)。更新数据作为上述的分发包被下载,但在分发包中包含一个或多个电子控制单元的更新数据。
在更新数据包含更新软件本身的情况下,在安装阶段中软件更新装置将更新数据(更新软件)传送到更新对象的电子控制单元。此外,在更新数据包含更新软件的压缩数据、差分数据或分割数据的情况下,也可以由软件更新装置11向更新对象的电子控制单元传送更新数据,并由更新对象的电子控制单元根据更新数据生成更新软件,也可以由软件更新装置11在根据更新数据生成更新软件之后,将更新软件传送到更新对象的电子控制单元。在此,更新软件的生成能够通过压缩数据的解压缩、差分数据或分割数据的组合来实施。
更新软件的安装能够根据来自软件更新装置11的安装请求,由更新对象的电子控制单元实施。或者,接收了更新数据的更新对象的电子控制单元也可以无需接收来自软件更新装置11的明确的指示地自主实施安装。
更新软件的激活能够由更新对象的电子控制单元根据来自软件更新装置11的激活请求来执行。或者,接收了更新数据的更新对象的电子控制单元也可以无需接收来自软件更新装置11的明确的指示地自主实施激活。
此外,软件的更新处理能够针对多个电子控制单元的每一个分别连续或并行地实施。
此外,在本说明书中的“软件更新处理”不仅包含连续地执行下载、安装、激活的全部的处理,还包含仅实施下载、安装、激活的一部分的处理。
图4是图1所示的服务器的功能框图。
服务器1包含存储部26、第一通信部27a、第二通信部27b、控制部28。第一通信部27a、第二通信部27b以及控制部28通过图2所示的CPU21使用RAM22执行存储在存储装置23中的程序来实现,存储部26通过图2所示的存储装置23来实现。
存储部26存储更新管理信息和电子控制单元的软件的更新数据,该更新管理信息针对识别车辆的各车辆识别信息(车辆ID),将表示搭载在车辆上的一个以上的电子控制单元中能够使用的软件的信息建立关联。作为表示在电子控制单元中能够使用的软件的信息,例如,定义多个电子控制单元各自的软件的最新的版本信息的组合。更新管理信息及更新数据在电子控制单元的软件更新的活动注册时被存储在存储部26中。
第一通信部27a能够从软件更新装置11接收软件的更新确认请求。更新确认请求例如是在车辆中接通电源或点火开关时从软件更新装置11向服务器1发送的信息中的、用于向服务器1请求确认是否存在电子控制单元的更新数据的信息。第一通信部27a响应从软件更新装置11接收的更新确认请求,向软件更新装置11发送表示更新数据的有无的信息。此外,第一通信部27a能够接收来自软件更新装置11的分发包的发送请求(下载请求)。第一通信部27a在接收到分发包的下载请求时,将包含电子控制单元的软件的更新数据的分发包发送到软件更新装置11。
第二通信部27b能够从软件更新装置11接收更新数据的有效性确认请求。有效性确认请求例如是在更新数据的下载后且安装前从软件更新装置11向服务器1发送的信息中的、用于向服务器1请求确认安装对象的更新数据是否有效的信息。第二通信部27b在接收到更新数据的有效性确认请求时,向软件更新装置11发送表示指定的更新数据是否有效的确认结果。
控制部28在第一通信部27a接收更新确认请求时,根据存储在存储部26中的更新管理信息,判断由包含在更新确认请求中的车辆ID确定的车辆的软件的更新数据是否存在。基于控制部28的更新数据是否存在的判断结果通过第一通信部27a而被发送到软件更新装置11。控制部28在判断存在电子控制单元的更新数据的情况下,当从软件更新装置11接收了分发包的下载请求时,生成包含存储在存储部26中的更新数据的分发包。该分发包通过第一通信部27a而被发送到软件更新装置11。
此外,控制部28在第二通信部27b接收了更新数据的有效性确认请求时,判断使用指定的更新数据的软件更新的事件(活动)是否被取消。控制部28在与指定的更新数据相关的活动被取消的情况下,生成表示指定的更新数据不为有效的确认结果,在除此以外的情况下,生成表示指定的更新数据为有效的确认结果。控制部28生成的确认结果通过第二通信部27b而被发送到软件更新装置11。
图5是图1所示的软件更新装置的功能框图。
软件更新装置11具有存储部37、第一通信部38a、第二通信部38b、第三通信部38c、控制部39。存储部37由图3所示的存储装置34实现,第一通信部38a、第二通信部38b、第三通信部38c、控制部39通过图3所示的CPU31使用RAM32执行存储在ROM33中的程序来实现。
存储部37除了用于执行电子控制单元13a~13d的软件更新的程序、执行软件更新时使用的各种数据之外,还存储从服务器1下载的软件的更新数据。此外,存储部37作为在安装更新数据之前存储在电子控制单元的数据存储区域中的软件的备份区域发挥功能。更详细而言,在更新对象的电子控制单元仅具有一个数据存储区域(库)的情况下,存储部37存储在安装更新数据之前存储在存储区域中的旧软件的数据。旧软件的数据可以是旧版本的软件整体的数据,也可以是用于从应用了更新数据的新版本的软件中恢复旧版本的软件的差分数据。存储部37也可以将旧软件的数据(备份数据)作为压缩数据进行存储。
第一通信部38a例如以车辆的电源或点火开关被接通为契机,向服务器1发送软件的更新确认请求。更新确认请求包含用于识别车辆的车辆ID和与车载网络2连接的电子控制单元13a~13d的软件的版本。车辆ID及电子控制单元13a~13d的软件的版本用于通过与服务器1针对每个车辆ID保存的最新的软件版本进行比较而判断是否存在电子控制单元的软件的更新数据。此外,第一通信部38a作为针对更新确认请求的响应,从服务器1接收表示有无更新数据的通知。在存在电子控制单元的软件的更新数据的情况下,第一通信部38a向服务器1发送分发包的下载请求,并接收从服务器1发送的分发包。除了更新数据之外,分发包还可以包含用于验证更新数据的真实性的验证用数据、更新数据的数量、安装顺序、软件更新时使用的各种控制信息等。
第二通信部38b在安装从服务器1接收的更新数据之前,向服务器1发送用于确认更新数据是否为有效的有效性确认请求。有效性确认请求包含用于识别车辆的车辆识别信息(车辆ID)和用于确定下载的分发包或更新数据的识别信息。第二通信部38b接收响应于有效性确认请求而从服务器1发送的确认结果。
在安装了从服务器1接收的更新数据之后且激活之前,第三通信部38c向服务器1发送用于确认所安装的更新数据是否有效的有效性确认请求。有效性确认请求包含用于识别车辆的车辆识别信息(车辆ID)和用于确定下载的分发包或更新数据的识别信息。第三通信部38c接收响应于有效性确认请求而从服务器1发送的确认结果。
控制部39实施用于控制电子控制单元的软件更新的各种处理。控制部39根据第一通信部38a从服务器1接收的针对更新确认请求的确认结果,判断电子控制单元的软件的更新数据的有无。此外,控制部39在第一通信部38a从服务器1接收包含更新数据的分发包时,验证接收的分发包的真实性。
此外,控制部39在安装更新的数据之前,判断更新数据是否为有效。如上所述,作为针对发送至服务器1的有效性确认请求的响应,第二通信部38b接收表示在有效性确认请求中指定的更新数据是否为有效的确认结果。控制部39根据第二通信部38b接收的确认结果,能够判断更新数据为有效(即,更新数据涉及的活动未被取消)还是更新数据为无效(即,更新数据涉及的活动被取消)。控制部39根据第二通信部38b接收的确认结果,在判断为更新数据有效的情况下,开始更新数据的安装处理,但在判断为更新数据不为有效的情况下,不实施更新数据的安装。通过在安装更新数据之前向服务器1询问并确认更新数据的有效性,在更新数据涉及的活动被取消的情况下,能够抑制安装该更新数据。
此外,控制器39在安装更新数据后且激活前,判断更新数据是否为有效。如上所述,作为针对发送至服务器1的有效性确认请求的响应,第三通信部38c接收表示在有效性确认请求中指定的更新数据是否为有效的确认结果。控制部39根据第三通信部38c接收的确认结果,能够判断更新数据为有效(即,与更新数据相关的活动未被取消)还是更新数据不为有效(即,与更新数据相关的活动被取消)。控制部39根据第三通信部38c接收的确认结果,在判断为更新数据有效的情况下,开始更新版本的软件的激活处理,但在判断为更新数据不为有效的情况下,将更新对象的电子控制单元的软件恢复为更新数据的安装前的状态。控制部39实施的恢复处理根据更新对象的电子控制单元具有的数据存储区域的数量而不同。详细而言,在更新对象的电子控制单元具有一个数据存储区域的情况下,控制部39通过进行回滚,实施将存储在数据存储区域中的更新后的软件恢复为更新前的旧软件的处理。另一方面,在更新对象的电子控制单元具有两个数据存储区域的情况下,控制部39不实施更新版本的软件的激活,将读取对象的数据存储区域维持为存储旧软件的数据存储区域。
控制部39在执行软件更新时,作为批准请求处理而实施使输出装置输出需要批准软件更新的主旨的通知、催促输入批准了软件更新的主旨的通知的处理和承接来自用户的操作输入的处理。作为输出装置,能够使用设置在车载网络2中的显示装置14、实施基于声音的通知的声音输出装置等。例如,在批准请求处理中,在将显示装置14作为输出装置使用的情况下,控制部39使显示装置14显示用于请求软件更新的批准的批准请求画面,在用户或管理者批准了的情况下,使显示装置14显示催促按下批准按钮等特定的输入操作的通知。此外,在批准请求处理中,控制部39使显示装置14显示通知存在电子控制单元的软件的更新数据的文字、图标等、使显示装置14显示软件更新处理的执行中的限制事项等。
图6是表示实施方式涉及的服务器执行的控制处理的一例的流程图。图6所示的控制处理S1~S7例如以规定的时间间隔反复地执行。
在步骤S1中,第一通信部27a判断是否从软件更新装置11接收了更新确认请求。在步骤S1的判断为是的情况下,处理进入步骤S2,在除此以外的情况下,处理进入步骤S3。
在步骤S2中,第一通信部27a针对发送了更新确认请求的车辆,发送表示是否存在电子控制单元的软件的更新数据的信息。关于更新数据的有无,例如,控制部28对与包含在更新确认请求中的车辆ID建立联地存储在更新管理信息中的软件的版本的组合、与包含在更新确认请求中的当前的软件的版本的组合进行比较,在包含在更新确认请求中的当前的软件的版本的组合与存储在更新管理信息中的版本的组合相比而较旧的情况下,能够判断为更新数据存在。之后,处理进入步骤S3。
在步骤S3中,第一通信部27a判断是否从软件更新装置11接收了分发包的下载请求。在步骤S3的判断为是的情况下,处理进入步骤S4,在除此以外的情况下,处理进入步骤S5。
在步骤S4中,第一通信部27a将控制部28生成的包含软件的更新数据的分发包发送到软件更新装置11。之后,处理进入步骤S5。
在步骤S5中,第二通信部27b判断是否从软件更新装置11接收了更新数据的有效性确认请求。在步骤S5的判断为是的情况下,处理进入步骤S6,在除此以外的情况下,处理进入步骤S1。
在步骤S6中,控制部28判断由软件更新装置11指定的更新数据的有效性。例如,控制部28根据在步骤S5中由第二通信部27b接收的有效性确认请求中包含的更新数据的识别信息,判断由该识别信息指定的更新数据的活动是否被取消。在判断为活动被取消的情况下,控制部28判断指定的更新数据不为有效,在除此以外的情况下,控制部28判断指定的更新数据为有效。之后,处理进入步骤S7。
在步骤S7中,第二通信部27b将步骤S6中的判断结果、即表示指定的更新数据是否为有效的确认结果发送到软件更新装置11。之后,处理进入步骤S1。
图7是表示实施方式的软件更新装置执行的控制处理的一例的流程图。图7所示的控制处理例如以车辆的电源或点火开关被接通为契机来执行。
在步骤S11中,第一通信部38a向服务器1发送包含车辆ID和电子控制单元的软件版本的组合的更新确认请求。之后,处理进入步骤S12。
在步骤S12中,第一通信部38a从服务器1接收针对更新确认请求的确认结果。之后,处理进入步骤S13。
在步骤S13中,控制部39根据在步骤S12中接收的确认结果,判断是否存在电子控制单元13a~13d中的任一个软件的更新数据。在步骤S13的判断为是的情况下,处理进入步骤S14,在除此以外的情况下,处理进入步骤S16。
在步骤S14中,第一通信部38a执行下载处理。更详细而言,第一通信部38a向服务器1发送分发包的下载请求,并接收响应于下载请求而发送的分发包,将接收的分发包存储在存储部37中。控制部39对接收的分发包中包含的更新数据的真实性进行验证。在步骤S14中,也可以实施下载的执行能否判断、针对服务器1实施下载完成的通知。之后,处理进入步骤S15。
在步骤S15中,控制部39针对更新对象的电子控制单元执行安装处理以及激活处理,并结束处理。
在步骤S16中,控制部39判断是否承接了执行软件更新处理的指示。软件更新处理不一定连续地执行,例如有时在下载完成的阶段或安装完成的阶段被中断,后续的更新处理在后续执行。因此,在本实施方式中,在步骤S13中判断为没有更新数据的情况下,通过设置步骤S16的判断,能够使被中断的软件更新处理再次开始。关于步骤S16的判断,例如能够在使显示装置14显示通知存在被中断的软件更新处理的文字、图标等之后,根据是否承接了使用输入按钮等的特定的操作输入来实施。在步骤S16的判断为是的情况下,处理进入步骤S15,在除此以外的情况下,结束处理。
图8是表示图7所示的安装和/或激活处理的详细的流程图。
在步骤S21中,控制部39执行针对安装的批准请求处理。例如,控制部39使显示装置14显示表示开始电子控制单元的软件更新的主旨、表示请求用户批准软件更新的主旨、根据需要显示更新数据的安装所需的时间、安装中的限制事项、注意事项的主旨,并承接用户使用触摸面板、操作按钮等输入装置进行的操作输入。之后,处理进入步骤S22。
在步骤S22中,控制部39判断是否实施了批准软件更新(安装)的主旨的操作输入。关于批准安装的主旨的操作输入,例如能够根据在显示装置14显示的“批准”或“开始更新”等按钮是否被按下来进行判断。此外,在用户希望不立即批准软件的更新开始(安装)而是在此后实施软件的更新开始(安装)的情况下,通过按下“此后进行”等按钮,能够承接该主旨,在该情况下,控制部39在步骤S22中判断为否。在步骤S22的判断为是的情况下,处理进入步骤S23,在除此以外的情况下,结束处理。
在步骤S23中,第二通信部38b向服务器1发送用于确认安装对象的更新数据是否为有效的有效性确认请求。有效性确认请求包含确定分发包或包含在其中的更新数据的信息。之后,处理进入步骤S24。
在步骤S24中,控制部39根据第二通信部38b从服务器1接收的针对有效性确认请求的确认结果,判断安装对象的更新数据是否有效。在步骤S24的处理为是的情况下,处理进入步骤S25,在除此以外的情况下,结束处理。
在步骤S25中,控制部39向更新对象的电子控制单元传送更新数据,并指示安装。之后,处理进入步骤S26。更新对象的电子控制单元将从软件更新装置11接收的更新数据写入数据存储区域。
在步骤S26中,控制部39执行对激活的批准请求处理。例如,控制部39使显示装置14显示例如电子控制单元的软件更新的准备就绪、通过实施电源或点火开关关闭等特定的操作来更新程序的主旨的显示、根据需要显示激活所需要的时间、激活中的限制事项、注意事项的主旨,并承接用户使用触摸面板、操作按钮等输入装置进行的操作输入。之后,处理进入步骤S27。
在步骤S27中,控制部39判断是否实施了批准软件更新(激活)的主旨的操作输入。关于批准激活的主旨的操作输入,例如能够根据在显示装置14显示的“批准”或“更新”等按钮是否被按下来进行判断。此外,在用户希望不立即批准软件更新(激活)而是此后实施软件更新的情况下,能够通过按下“此后进行”等按钮来承接该主旨,在该情况下,控制部39在步骤S27中判断为否。在步骤S27的判断为是的情况下,处理进入步骤S28,在除此以外的情况下,结束处理。
在步骤S28中,第三通信部38c向服务器1发送用于确认安装的更新数据是否为有效的有效性确认请求。有效性确认请求包含确定分发包或包含在其中的更新数据的信息。处理进入步骤S29。
在步骤S29中,控制部39根据针对第三通信部38c从服务器1接收的有效性确认请求的确认结果,判断安装的更新数据是否有效。在步骤S29的处理为是的情况下,处理进入步骤S30,在除此以外的情况下,处理进入步骤S31。
在步骤S30中,控制部39向更新对象的电子控制单元指示更新版本的软件的激活。此后,结束处理。此外,更新对象的电子控制单元将通过电源或点火OFF等实施的特定的操作作为契机,进行再次启动,并执行更新后的软件。由此,电子控制单元的软件更新(功能更新)完成。
在步骤S31中,控制部39执行恢复处理并结束处理。此外,在本发明中,恢复指的是,使电子控制单元的状态成为能够执行在安装更新数据之前执行的版本的软件(旧软件)的状态。
此外,在更新对象的电子控制单元为具有一个数据存储区域的结构的情况下,由于在数据存储区域中在安装了更新数据的时刻对电子控制单元的软件产生影响,所以优选连续实施安装及激活。因此,在更新对象的电子控制单元为具有一个数据存储区域的结构的情况下,也可以省略与激活执行前的批准相关的处理(步骤S26和S27)。
图9是表示图8所示的恢复处理的详细的流程图。
在步骤S101中,控制部39判断更新对象的电子控制单元具有的数据存储区域的数量为单面还是双面。关于电子控制单元具有的数据存储区域的数量,可以在车辆的制造时等根据电子控制单元的结构而预先存储在存储部37中,也可以通过通信从更新对象的电子控制单元取得,还可以从服务器1取得。在软件更新装置11从服务器1取得更新对象的电子控制单元的数据存储区域的数量的情况下,服务器1也可以在包含更新数据的分发包中包含与更新对象的电子控制单元的数据存储区域的数量相关的信息并发送至软件更新装置11,控制部39根据分发包中包含的信息进行判断。在更新对象的电子控制单元具有的数据存储区域的数量为单面的情况下,处理进入步骤S102,在更新对象的电子控制单元所具有的数据存储区域的数量为双面的情况下,处理进入步骤S103。
在步骤S102中,控制部39指示恢复对象的电子控制单元重新安装应用更新数据之前的旧软件。在将更新数据安装到更新对象的电子控制单元(恢复对象的电子控制单元)之前旧软件的数据被备份到软件更新装置11的存储部37的情况下,将备份的数据传送到恢复对象的电子控制单元,并指示安装。之后,处理进入步骤S103。更新对象的电子控制单元通过将从软件更新装置11接收的数据写入数据存储区域,重新安装(恢复)旧软件。之后,处理进入步骤S104。
在步骤S103中,控制部39不实施更新后的软件的激活,并指示恢复对象的电子控制单元将旧软件的数据存储区域作为读取对象的数据存储区域。之后,处理进入步骤S104。
在步骤S104中,控制部39判断是否对恢复对象的全部的电子控制单元进行了恢复。在步骤S104的判断为是的情况下,处理进入步骤S105,在除此以外的情况下,处理进入步骤S101。
在步骤S105中,控制部39指示恢复对象的电子控制单元激活旧版本的软件。之后,结束处理。此外,更新对象的电子控制单元以通过电源或点火开关关闭等实施的特定的操作为契机,再次启动并执行旧软件。通过图9所示的恢复处理,能够将电子控制单元执行的软件维持为旧软件。
本实施方式涉及的软件更新装置11在更新数据的下载后且安装前,向服务器1确认下载的更新数据是否为有效,在下载的更新数据在安装时不为有效的情况下,不实施更新数据的安装。在电子控制单元的软件更新中,假定从更新数据的下载完成起经过了时间地执行安装的情况。在这种情况下,与下载的更新数据相关的活动可能被取消。但是,本实施方式的软件更新装置11在更新数据的安装前确认更新数据的有效性,因此能够抑制由于活动的取消而成为无效的软件被安装的情况,能够将下载时作为更新对象的电子控制单元的软件维持为有效且最新的状态。
此外,本实施方式的软件更新装置11在安装后且激活前再次向服务器1确认下载的更新数据是否为有效,在下载的更新数据在激活时为有效的情况下,实施更新后的软件的激活。以此方式,如果将软件更新装置11构成为在软件更新处理中多次确认更新数据的有效性,则能够更可靠地防止由于活动的取消等而成为无效的更新数据被应用至电子控制单元的情况。在判断为安装后且激活前下载的更新数据不为有效的情况下,软件更新装置11能够通过重新安装旧软件或不执行更新后的软件的激活,恢复电子控制单元能够执行在安装更新数据之前的有效且最新的软件(旧软件)的状态,并且能够抑制成为无效的更新数据被反映的情况。
在上述实施方式中例示的服务器1的功能也可以作为具有处理器(CPU)、存储器、存储装置的计算机执行的更新管理方法、或者使该计算机执行的更新管理程序、存储了更新管理程序的计算机可读取的非临时存储介质来实现。同样地,作为实施方式例示的软件更新装置11的功能也可以作为具有处理器(CPU)、存储器、存储装置的车载计算机执行的更新控制方法、或者使该车载计算机执行的更新控制程序、存储了更新控制程序的计算机可读取的非临时存储介质来实现。
在上述的各实施方式中,对在车辆侧设置在车载网络中的软件更新装置11作为主机装置控制全部的电子控制单元13a~13d的程序更新的示例进行了说明,但是也可以代替设置软件更新装置11地,电子控制单元13a~13d的任一个具有图7~图9所示的更新控制功能,并控制其他的电子控制单元的程序更新。此外,也可以代替设置软件更新装置11地,将图7~图9所示的更新控制功能设置在能够以有线的方式与车载网络2连接的外部设备中,并使用该外部设备实施电子控制单元13a~13d的程序更新处理。
本发明的技术能够用于更新电子控制单元的程序的网络系统。
Claims (9)
1.一种软件更新装置,被配置为对搭载于车辆的电子控制单元的软件更新进行控制,所述软件更新装置的特征在于,具有:
一个或多个处理器,其被配置为,
从服务器下载所述电子控制单元的软件的更新数据;
在安装所述更新数据之前,向所述服务器发送用于确认所述更新数据是否为有效的有效性确认请求;
从所述服务器接收表示所述更新数据是否为有效的确认结果;
对所述电子控制单元的软件更新进行控制;
在根据所述一个或多个处理器接收的确认结果而判断为所述更新数据不为有效的情况下,不实施所述更新数据的安装。
2.根据权利要求1所述的软件更新装置,其特征在于,
所述一个或多个处理器被配置为,
在安装了所述更新数据后且激活前,向所述服务器发送用于确认所述更新数据是否为有效的第二有效性确认请求;
从所述服务器接收针对所述第二有效性确认请求的、表示所述更新数据是否为有效的第二确认结果;
在根据所述一个或多个处理器接收的所述第二确认结果而判断为所述更新数据不为有效的情况下,将安装了所述更新数据的电子控制单元执行的软件设置为安装所述更新数据之前的旧软件。
3.根据权利要求2所述的软件更新装置,其特征在于,
所述一个或多个处理器被配置为,
在根据所述一个或多个处理器接收的所述第二确认结果而判断为所述更新数据不为有效,并且搭载于更新对象的电子控制单元中的非易失性存储器具有两个存储区域的情况下,不实施更新后的软件的激活。
4.根据权利要求2所述的软件更新装置,其特征在于,
还具有存储装置,所述存储装置被配置为,存储在安装所述更新数据之前在更新对象的电子控制单元中执行的所述旧软件的数据,
所述一个或多个处理器被配置为,
在根据所述处理器接收的所述第二确认结果而判断为所述更新数据不为有效,并且搭载于更新对象的电子控制单元中的非易失性存储器具有一个存储区域的情况下,使用存储在所述存储装置中的所述旧软件的数据实施旧软件的重新安装。
5.根据权利要求1所述的软件更新装置,其特征在于,
在服务器中注册的、实施使用所述更新数据的软件的更新的事件未被取消的情况下,判断为所述更新数据为有效。
6.根据权利要求1所述的软件更新装置,其特征在于,
所述一个或多个处理器被配置为,在判断为所述更新数据为有效的情况下,实施所述更新数据的安装。
7.一种更新控制方法,为了对搭载于车辆的电子控制单元的软件更新进行控制并由计算机执行,所述计算机具有处理器、存储器、存储装置,所述更新控制方法的特征在于,具有:
从服务器下载所述电子控制单元的软件的更新数据的步骤;
在安装所述更新数据之前,向所述服务器发送用于确认所述更新数据是否为有效的有效性确认请求的步骤;
从所述服务器接收表示所述更新数据是否为有效的确认结果的步骤;
对所述电子控制单元的软件更新进行控制的步骤;
在所述计算机根据从所述服务器接收的确认结果而判断为所述更新数据不为有效的情况下,不实施所述更新数据的安装的步骤。
8.一种非临时存储介质,存储更新控制程序,所述更新控制程序能够由计算机执行,并且为了对搭载于车辆的电子控制单元的软件更新进行控制而使所述计算机执行根据权利要求7所述的更新控制方法,所述计算机具有处理器、存储器、所述非临时存储介质。
9.一种服务器,被配置为对搭载于车辆的电子控制单元的软件更新进行管理,所述服务器的特征在于,具有:
一个或多个处理器,其被配置为,
向所述车辆发送所述电子控制单元的软件的更新数据;
当从所述车辆接收用于确认所述更新数据是否为有效的有效性确认请求时,向所述车辆发送表示所述更新数据是否为有效的确认结果,
所述确认结果表示在使用所述更新数据的软件更新被取消的情况下,所述更新数据不为有效。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020127515A JP7371585B2 (ja) | 2020-07-28 | 2020-07-28 | ソフトウェア更新装置、更新制御方法、更新制御プログラム及びサーバ |
JP2020-127515 | 2020-07-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114003242A true CN114003242A (zh) | 2022-02-01 |
Family
ID=76695544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110750401.9A Pending CN114003242A (zh) | 2020-07-28 | 2021-07-02 | 软件更新装置、更新控制方法、非临时存储介质及服务器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11995429B2 (zh) |
EP (1) | EP3945417A1 (zh) |
JP (1) | JP7371585B2 (zh) |
CN (1) | CN114003242A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220132864A (ko) * | 2021-03-24 | 2022-10-04 | 현대자동차주식회사 | 차량 및 차량 제어 방법 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004326689A (ja) | 2003-04-28 | 2004-11-18 | Nissan Motor Co Ltd | 車載機器のソフトウェア書き換え方法、テレマティクスシステムおよびテレマティクス装置 |
AU2003270322A1 (en) * | 2003-09-05 | 2005-04-21 | Itron, Inc. | Synchronizing and controlling software downloads, such as for utility meter-reading data collection and processing |
KR100754198B1 (ko) * | 2005-12-12 | 2007-09-03 | 삼성전자주식회사 | 소프트웨어 자동 업데이트 방법 및 시스템 |
KR100782080B1 (ko) * | 2006-09-07 | 2007-12-04 | 삼성전자주식회사 | 이동 통신 단말기 및 시스템의 펌웨어 갱신 방법 |
US9276749B2 (en) * | 2012-07-31 | 2016-03-01 | Adobe Systems Incorporated | Distributed validation of digitally signed electronic documents |
US9626174B2 (en) * | 2013-04-15 | 2017-04-18 | Cellco Partnership | Cancelling device over the air software update |
JP6581859B2 (ja) | 2014-10-01 | 2019-09-25 | シャープ株式会社 | 情報処理装置、ソフトウェア配信システム、およびソフトウェア配信方法 |
JP6507895B2 (ja) * | 2015-07-09 | 2019-05-08 | 富士通株式会社 | 更新制御プログラム、方法、及び装置 |
US9916151B2 (en) | 2015-08-25 | 2018-03-13 | Ford Global Technologies, Llc | Multiple-stage secure vehicle software updating |
JP2019036238A (ja) * | 2017-08-21 | 2019-03-07 | 株式会社東芝 | 更新制御装置、端末、更新制御方法およびプログラム |
WO2020032200A1 (ja) | 2018-08-10 | 2020-02-13 | 株式会社デンソー | センター装置,諸元データの生成方法及び諸元データ生成用プログラム |
US11144296B2 (en) | 2018-09-05 | 2021-10-12 | International Business Machines Corporation | Multi-variable based secure download of vehicle updates |
-
2020
- 2020-07-28 JP JP2020127515A patent/JP7371585B2/ja active Active
-
2021
- 2021-06-25 US US17/358,596 patent/US11995429B2/en active Active
- 2021-06-28 EP EP21182002.2A patent/EP3945417A1/en active Pending
- 2021-07-02 CN CN202110750401.9A patent/CN114003242A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220035620A1 (en) | 2022-02-03 |
JP7371585B2 (ja) | 2023-10-31 |
US11995429B2 (en) | 2024-05-28 |
EP3945417A1 (en) | 2022-02-02 |
JP2022024746A (ja) | 2022-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018139296A1 (ja) | 車両制御装置およびプログラム更新システム | |
US20230359454A1 (en) | Software update device, update control method, and non-transitory storage medium | |
US20230297368A1 (en) | Software update apparatus, software update method, non-transitory storage medium storing program, vehicle, and ota master | |
CN114003242A (zh) | 软件更新装置、更新控制方法、非临时存储介质及服务器 | |
CN114385202A (zh) | 服务器、软件更新系统、分发方法及非临时存储介质 | |
EP4036712A1 (en) | Ota master, update control method, non-transitory storage medium, and vehicle | |
US20220391192A1 (en) | Ota master, center, system, method, non-transitory storage medium, and vehicle | |
US20220317994A1 (en) | Ota master, update control method, and non-transitory storage medium | |
CN115454462A (zh) | Ota管理器、系统、方法、非暂时性存储介质以及车辆 | |
KR102669611B1 (ko) | Ota 마스터, 갱신 제어 방법, 비일시적인 기억 매체, 및 차량 | |
US20220405083A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
US20220391193A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
US20220405080A1 (en) | Ota master, system, method, non-transitory storage medium, and vehicle | |
US20220342653A1 (en) | Ota master, center, system, update method, non-transitory storage medium, and vehicle | |
US11954480B2 (en) | Center, OTA master, system, method, non-transitory storage medium, and vehicle | |
JP7491765B2 (ja) | ファームウェア更新システムおよびファームウェア更新方法 | |
KR20240078424A (ko) | Ota 마스터, 갱신 제어 방법, 비일시적인 기억 매체, 및 차량 | |
CN113961214A (zh) | 软件更新装置、更新控制方法、非临时存储介质、服务器、ota主机及中心 | |
CN114764340A (zh) | 中心、更新管理方法以及非暂时性存储介质 | |
CN115248695A (zh) | 中心、ota管理器、分发方法、非暂时性存储介质 | |
CN114764339A (zh) | 中心、管理方法以及非暂时性存储介质 | |
CN115514743A (zh) | 中心、ota管理器、方法、非暂时性存储介质及车辆 |
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 |