CN108446129B - 用于多周期车辆软件更新符合性处理的方法和设备 - Google Patents
用于多周期车辆软件更新符合性处理的方法和设备 Download PDFInfo
- Publication number
- CN108446129B CN108446129B CN201810131331.7A CN201810131331A CN108446129B CN 108446129 B CN108446129 B CN 108446129B CN 201810131331 A CN201810131331 A CN 201810131331A CN 108446129 B CN108446129 B CN 108446129B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- version
- software update
- update process
- cycle
- 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 105
- 238000012545 processing Methods 0.000 title abstract description 22
- 230000008569 process Effects 0.000 claims abstract description 88
- 230000004044 response Effects 0.000 claims abstract description 20
- 230000008859 change Effects 0.000 claims abstract description 13
- 238000011084 recovery Methods 0.000 claims description 2
- 238000009434 installation Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 8
- 230000002085 persistent effect Effects 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 230000010267 cellular communication Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 229920002239 polyacrylonitrile Polymers 0.000 description 1
- 201000006292 polyarteritis nodosa Diseases 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及用于多周期车辆软件更新符合性处理的方法和设备。一种***包括处理器,所述处理器被配置为:响应于多周期更新处理恢复,查询一个或更多个车辆电子控制单元(ECU)模块,以确定安装在所述ECU模块上的当前的软件版本。所述处理器还被配置为:响应于所述查询识别出至少一个软件版本改变为与所述更新处理最初开始时的版本不同的版本,暂停所述更新处理。所述处理器还被配置为:将所述改变报告给远程源。
Description
技术领域
说明性实施例总体上涉及一种用于多周期车辆软件更新符合性处理的方法和设备。
背景技术
车辆制造商已经开始将大量的计算机微处理器包括在现代的车型中。从控制车辆上的信息娱乐以及远程信息处理的大型操作***到诸如窗口或数字里程表的小型***控制件,大量的软件驻留在与这些微处理器相关联的存储器上。由于车辆计算***的连接性质以及***彼此交互并且共用被称作车辆总线的数据管道,所以总是关注在一个***上的软件是否将与其它模块上的软件一起工作。
车辆总线是受每个连接的模块操纵的共用的数据管道。由于控制器局域网(CAN)***中的模块使用车辆总线将所有数据多路传输到总线上,所以出现故障或不正确的软件可能对其它模块通过总线广播的数据产生不利影响。同时,消费者对于他们的车辆具有最新更新的并且完全集成的可用软件的需求不断增长。这种组合对原始设备制造商(OEM)产生了关于提供稳健和持续的软件更新的压力。
如果所有的软件使用中央处理单元和统一的操作***,则该范例可能更易于管理,但是由于存在分别运行它们各自的软件并且分别具有对其它电子控制单元(ECU)的潜在的依赖关系的数十个甚至数百个ECU,所以如果不小心处理和多加考虑的话,则仅仅更新单个ECU的软件就会导致车辆网络上的大量问题。
作为一种用于对车辆软件进行更新的方法,空中(over the air,OTA)更新已经变得越来越普及。当互联网或其它远程连接可用时,车辆下载更新,并且随后,当车辆具有适当的机会时,车辆对更新进行处理。原本大多数OTA更新是在车辆处于驻车状态时完成的,但是新的车型已经提供了用于在车辆行驶时执行OTA更新的更好的方法。在任何情况下,车辆可能需要几个周期来完成更新,由于更新对驾驶情况存在潜在的影响,所以更新通常必须在被使用之前被完全完成并得到验证。
对软件进行更新的旧方法是将车辆交给经销商并且由经销商来安装任何需要的更新的最新版本。尽管这种模式仍然被广泛使用,但是OTA更新具有明显的优点(即,在后台进行而不需要客户的任何明确的动作)。然而,如果客户将车辆驾驶到经销商处并且更换或修理部件或者进行软件更新,则可能会出现问题。在这种情况下,如果先前的更新仍然在处理并且经销商尝试在同一模块或相关模块上安装更新后的软件,则可能会出现兼容性问题。
发明内容
在第一说明性实施例中,一种***包括处理器,所述处理器被配置为:响应于多周期更新处理恢复,查询一个或更多个车辆电子控制单元(ECU)模块,以确定安装在所述ECU模块上的当前的软件版本。所述处理器还被配置为:响应于所述查询识别出至少一个软件版本改变为与所述更新处理最初开始时的版本不同的版本,暂停所述更新处理。所述处理器还被配置为:将所述改变报告给远程源。
在第二说明性实施例中,一种***包括处理器,所述处理器被配置为:从车辆接收多个电子控制单元(ECU)模块的软件版本标识符。所述处理器还被配置为:基于所述标识符确定新的软件版本可用于至少一个ECU模块。所述处理器还被配置为:确定所述新的软件版本与由所述标识符标识的接收到的ECU模块的软件版本的兼容性;响应于确定所述新的软件版本是兼容的,指示车辆将所述至少一个ECU模块更新至所述新的软件版本。
在第三说明性实施例中,一种计算机实现的方法包括:响应于确定多周期软件更新正在尝试进行恢复,进行查询以获得电子控制单元(ECU)模块的软件版本。所述方法还包括:将改变的ECU模块的软件版本的列表发送至远程源,并且响应于通过所述查询确定ECU模块的软件版本已经改变,阻止所述多周期软件更新的恢复。所述方法还包括:响应于从所述远程源接收到用于恢复所述更新的指令,恢复所述多周期软件更新,以合并从所述远程源接收到的任何改变。
根据本发明的一个实施例,所述改变包括先前通过所述多周期软件更新而安装的软件版本的改变。
根据本发明的一个实施例,所述远程源包括原始设备制造商服务器。
根据本发明的一个实施例,基于检测到点火开关状态的变化而确定所述多周期软件更新正在尝试进行恢复。
附图说明
图1示出了代表性的车辆计算机***;
图2示出了更新处理;
图3示出了用于OTA更新处理的验证处理;
图4示出了第二更新处理和兼容性检查处理;
图5示出了模块兼容性检查处理。
具体实施方式
根据需要,在此公开具体实施例;然而,应当理解的是,所公开的实施例仅仅是说明性的,并且可以以多种替代形式被实施。附图无需按比例绘制;可夸大或最小化一些特征以示出特定组件的细节。因此,此处所公开的具体结构和功能细节不应被解释为限制,而仅仅作为用于教导本领域技术人员以多种形式利用所要求保护的主题的代表性基础。
图1示出了用于车辆31的基于车辆的计算***(VCS)1的示例框式拓扑图。这种基于车辆的计算***1的示例为由福特汽车公司制造的SYNC***。设置有基于车辆的计算***的车辆可包含位于车辆中的可视前端界面4。如果所述界面设置有例如触摸敏感屏幕,则用户还能够与所述界面进行交互。在另一说明性实施例中,通过按钮按压或具有自动语音识别和语音合成的口语对话***来进行交互。尽管SYNC提供了基于车辆的计算***的示例,但是将车辆计算***视为一个或更多个电子控制单元可能更有益,所述一个或更多个电子控制单元中的每个可被分配不同的任务。这可包括例如安装在车辆内的远程信息处理控制单元(TCU)、连接模块、网关模块以及各种其它被分配任务且可被重新分配任务的微处理单元。
在图1所示的说明性实施例1中,处理器3控制基于车辆的计算***的至少一部分操作。设置在车辆内的处理器允许对命令和例程进行车载处理。另外,处理器连接到非持久性存储器5和持久性存储器7两者。在该说明性实施例中,非持久性存储器是随机存取存储器(RAM),持久性存储器是硬盘驱动器(HDD)或闪存。一般说来,持久性(非暂时性)存储器可包括当计算机或其它装置掉电时保持数据的所有形式的存储器。这些存储器包括但不限于:HDD、CD、DVD、磁带、固态驱动器、便携式USB驱动器和任何其它适当形式的持久性存储器。
处理器还设置有允许用户与处理器进行交互的多个不同的输入。在该说明性实施例中,麦克风29、辅助输入25(用于输入33)、USB输入23、GPS输入24、屏幕4(其可为触摸屏显示器)和蓝牙输入15全部被设置。还设置了输入选择器51,以允许用户在各种输入之间进行切换。对于麦克风和辅助连接器两者的输入在被传送到处理器之前,由转换器27对所述输入进行模数转换。尽管未示出,但是与VCS进行通信的众多车辆组件和辅助组件可使用车辆网络(诸如但不限于CAN总线)向VCS(或其组件)传送数据并传送来自VCS(或其组件)的数据。
***的输出可包括但不限于视觉显示器4以及扬声器13或立体声***输出。扬声器连接到放大器11,并通过数模转换器9从处理器3接收其信号。还可分别沿19和21所示的双向数据流产生到远程蓝牙装置(诸如个人导航装置(PND)54)或USB装置(诸如车辆导航装置60)的输出。
在一个说明性实施例中,***1使用蓝牙收发器15与用户的移动装置53(例如,蜂窝电话、智能电话、PDA或具有无线远程网络连接能力的任何其它装置)进行通信(17)。移动装置随后可被用于通过例如与蜂窝塔57的通信(55)来与车辆31外部的网络61进行通信(59)。在一些实施例中,蜂窝塔57可以是WiFi接入点。
移动装置与蓝牙收发器之间的示例性通信由信号14表示。
可通过按钮52或类似的输入来指示将移动装置53与蓝牙收发器15进行配对。相应地,CPU被指示车载蓝牙收发器与移动装置中的蓝牙收发器进行配对。
可利用例如与移动装置53关联的数据计划、话上数据或DTMF音在CPU3与网络61之间传送数据。可选地,可期望包括具有天线18的车载调制解调器63以在CPU 3与网络61之间通过语音频带传送数据(16)。移动装置53随后可被用于通过例如与蜂窝塔57的通信(55)来与车辆31外部的网络61进行通信(59)。在一些实施例中,调制解调器63可与蜂窝塔57建立通信20,以与网络61进行通信。作为非限制性示例,调制解调器63可以是USB蜂窝调制解调器,并且通信20可以是蜂窝通信。
在一个说明性实施例中,处理器设置有包括用于与调制解调器应用软件进行通信的API(Application Program Interface,应用程序接口)的操作***。调制解调器应用软件可访问蓝牙收发器上的嵌入式模块或固件,以完成与(诸如在移动装置中发现的)远程蓝牙收发器的无线通信。蓝牙是IEEE 802PAN(个域网)协议的子集。IEEE 802LAN(局域网)协议包括WiFi并与IEEE 802PAN具有相当多的交叉功能。两者都适合于车辆内的无线通信。可在该领域使用的另一通信方式是自由空间光通信(诸如IrDA)和非标准化消费者红外(IR)协议。
在另一实施例中,移动装置53包括用于语音频带或宽带数据通信的调制解调器。在话上数据的实施例中,当移动装置的所有者可在数据被传送的同时通过装置说话时,可实施已知为频分复用的技术。在其它时间,当所有者没有在使用装置时,数据传送可使用整个带宽(在一个示例中是300Hz至3.4kHz)。尽管频分复用对于车辆与互联网之间的模拟蜂窝通信而言会是常见的并仍在被使用,但其已经很大程度上被用于数字蜂窝通信的码域多址(CDMA)、时域多址(TDMA)、空域多址(SDMA)的混合体所替代。如果用户具有与移动装置53关联的数据计划,则所述数据计划可允许宽带传输且***可使用宽得多的带宽(加速数据传送)。在另一实施例中,移动装置53被安装至车辆31的蜂窝通信装置(未示出)所替代。在另一实施例中,移动装置(ND)53可以是能够通过例如(而不限于)802.11g网络(即,Wi-Fi)或WiMax网络进行通信的无线局域网(LAN)装置。
在一个实施例中,传入数据可经由话上数据或数据计划通过移动装置,通过车载蓝牙收发器,并进入车辆的内部处理器3。例如,在某些临时数据的情况下,数据可被存储在HDD或其它存储介质7上,直至不再需要所述数据时为止。
可与车辆进行接口连接的其它的源包括:具有例如USB连接56和/或天线58的个人导航装置54、具有USB 62或其它连接的车辆导航装置60、车载GPS装置24或具有与网络61的连接能力的远程导航***(未示出)。USB是一类串行联网协议中的一种。IEEE 1394(火线TM(苹果)、i.LINKTM(索尼)和LynxTM(德州仪器))、EIA(电子工业协会)串行协议、IEEE 1284(Centronics端口)、S/PDIF(索尼/飞利浦数字互连格式)和USB-IF(USB开发者论坛)形成了装置-装置串行标准的骨干。多数协议可针对电通信或光通信来被实施。
此外,CPU可与各种其它的辅助装置65进行通信。这些装置可通过无线连接67或有线连接69来连接。辅助装置65可包括但不限于个人媒体播放器、无线保健装置、便携式计算机等。
此外或可选地,可使用例如WiFi(IEEE 803.11)收发器71将CPU连接到基于车辆的无线路由器73。这可允许CPU在本地路由器73的范围内连接到远程网络。
除了由位于车辆中的车辆计算***执行示例性处理之外,在特定实施例中,还可由与车辆计算***通信的计算***来执行示例性处理。这样的***可包括但不限于:无线装置(例如,但不限于,移动电话)或通过无线装置连接的远程计算***(例如,但不限于,服务器)。这样的***可被统称为与车辆关联的计算***(VACS)。在特定实施例中,VACS的特定组件可根据***的特定实施来执行处理的特定部分。通过示例而并非限制的方式,如果处理具有与配对的无线装置进行发送或者接收信息的步骤,则很可能由于无线装置不会与自身进行信息的“发送和接收”,而使得无线装置不执行该处理的这一部分。本领域的普通技术人员将理解何时不适合对给定解决方案应用特定的计算***。
在此讨论的说明性实施例中的每个实施例中,示出了可由计算***执行的处理的示例性、非限制的示例。针对每个处理,执行处理的计算***可出于执行处理的有限目的而变成被配置为专用处理器以执行处理。所有的处理不需要全部被执行,并且被理解为是可被执行以实现本发明的要素的多种类型的处理的示例。可根据需要向示例性处理添加额外的步骤或从示例性处理去除额外的步骤。
针对附图中描述的示出说明性处理流程的说明性实施例,应注意的是,通用处理器可出于执行通过这些附图示出的部分或全部示例性方法的目的而被临时用作专用处理器。当执行提供用于执行所述方法的部分或全部步骤的指令的代码时,处理器可被临时改用为专用处理器,直到所述方法完成时为止。在另一示例中,在适当的程度上,根据预先配置的处理器运行的固件可使处理器充当为了执行所述方法或所述方法的某种合理变型的目的而被提供的专用处理器。
尽管示出的说明性示例是针对多行驶周期更新而进行讨论的,但是可针对任何多周期(例如,多关闭周期(multi-off-cycle)等)更新产生相同的构思,其中,当另一源(例如,用户、经销商等)尝试更新正在处理的模块或相关模块时,先前的更新仍然仅部分地被处理。
说明性实施例提出一种处理,所述处理允许在这些示例中处理OTA更新的远程信息处理控制单元(TCU)在点火开关接通事件时查询所有正在被更新的模块。如果使用其它更新范例,则其它触发点(除了点火开关接通以外)将是合适的(例如,如果使用点火开关断开循环用于更新,则使用点火开关断开事件进行查询触发)。如果被查询的模块上的任何参数已经改变(例如,如果另一处理(诸如经销商)已经更新模块),则TCU可暂停所有更新并将所述改变报告给云。云随后可验证继续更新是否会存在冲突。如果存在冲突,则TCU可简单地停止更新和/或接收与通过查询确定的当前配置相兼容的新的更新模块。
值得注意的是,TCU查询可包含与正被更新的模块相关的模块(即使这些相关的模块当前未进行更新),这是因为正在进行更新的模块可能对相关的模块具有一定的依赖性或者与相关的模块具有必要的兼容性。
在一些实例中,TCU还能够在不联系云的情况下确定如何继续进行。例如,TCU可被提供可更新的兼容性列表,使得例如如果经销商更新了模块,则可利用可能依赖经销商更新的模块的其它模块的兼容性版本来更新TCU列表。在其它实例中,如果仅仅针对与正在进行的更新不相关的模块检测到改变,则TCU可选择继续进行(因为兼容性应该不是问题)。
图2示出了更新处理。在该说明性示例中,在201,TCU从云接收OTA更新命令,所述OTA更新命令指示TCU应该处理OTA更新。在203,响应于所述命令,TCU在点火开关接通循环期间开始更新(模型用于该示例)。
如果更新在点火开关接通循环期间完成,则处理可简单地退出,这是因为在点火开关接通循环期间不可能出现任何兼容性问题(因为可推定在更新被发送之前由云端的服务器验证过兼容性)。如果在205处理未完成,则在207处理将最终检测到点火开关断开状态,结束更新处理。只要处理未检测到点火开关断开状态,处理就在215继续进行。
如果检测到点火开关断开状态,则在209正在更新的ECU和TCU保存在下一个点火开关接通循环(211)时继续更新所需要的任何状态数据。一旦在211检测到点火开关接通状态,则在213处理检索任何保存的状态数据,并且在215继续更新。该说明性处理按照更新模型当前存在的状态来示出更新模型,而不在点火开关断开状态期间验证模块改变。该更新模型受到在此描述的潜在问题的影响,即,更新的模块所依赖的模块在点火开关断开状态期间被改变,更新的模块完成更新,然后向TCU呈现两个可能不兼容的模块,尽管两者都刚刚被更新。
图3示出了用于OTA更新处理的验证处理。在该说明性示例中,在301,处理从远程源接收OTA更新。再次,在303,处理延迟OTA更新,直到处理检测到点火开关接通状态。
一旦在303处理检测到点火开关接通状态,则在305处理查询更新模块(正在被更新的模块),以在307查看在点火开关断开状态期间是否存在对更新模块的任何改变。例如,经销商可能已经完全覆写了安装在更新模块上的软件,使得正在进行的更新变得不必要。但是,即使在该实例中,经销商也可能利用错误的版本(出于兼容性的原因)或比当前存在的软件版本旧的软件版本对模块进行了更新。因此,在309,处理暂停正在进行的更新。
处理随后在311将检测到的改变报告回云,并且在313从云接收指示处理如何继续进行的响应。在该示例中,暂停和报告以顺序方式被示出,但是所有数据可以/将在做出报告和响应之前被收集是合理的。
处理除了确定更新模块的参数是否已经改变之外,处理还可在319确定是否存在需要针对软件改变而被检查的其它模块。这可以是针对车辆上的所有模块的确定,或者仅仅是针对与更新模块具有已知的工作关系的模块的确定。如果仍然有模块需要查询,则处理将在321移动到下一个模块,并且重复针对每个相关模块的查询处理。
一旦没有模块剩余需要更新,并且处理已经在315从云接收到继续的指令,则在处理检测到并报告了任何改变的模块的情况下,处理可在323继续针对当前点火开关接通循环的更新。
如果在315云指示处理不继续,则处理可在317停止更新识别的模块。如果处理未检测到针对任何相关模块的任何改变,则处理可确定在没有来自云的明确指令的情况下继续是允许的。
下面的说明性情境示出了均具有变化的可能的软件配置的两个模块(ECU1和ECU2)的示例。在该示例中,ECU1是可OTA更新的,ECU2是不可OTA更新的。这意味着车主、经销商等将需要直接接口对ECU2进行更新。在该示例中,ECU1执行软件版本C,ECU2执行软件版本3,客户希望在每个模块上安装最新且兼容的版本。ECU1和ECU2具有一些交叉兼容性要求,使得ECU2的版本1至3与ECU1的版本A至F相兼容,但是ECU2的版本4至9仅与ECU1的版本A至D以及G至H(排除E和F,并增加G和H)相兼容。这意味着ECU2的版本4与ECU1的版本E将存在不兼容的问题。
该示例将参照图4被描述,图4示出了第二更新处理和兼容性检查处理。在该示例中,在401,TCU首先获得模块ECU1和ECU2的当前配置(分别是C和3)。在403,TCU将各个模块的软件版本的列表发送到云,并且在405响应地接收OTA更新指令。在该示例中,由于只有ECU1是可OTA更新的,所以云发送用于将ECU1更新至还与ECU2的版本3相兼容的最新版本的指令。在这种情况下,所述指令用于TCU将ECU1更新至版本F。
在该示例中,在407,车辆还在运行,假设点火开关未被断开,因此更新可立即开始。在415,更新被处理,并且一旦ECU1已经完成处理,则ECU1将切换至新安装的版本F。如果在417***准备好切换至新的软件,则在419可进行最后的兼容性检查。如果在417未准备好切换,则更新仍然在处理并且将继续进行,直到处理检测到点火开关断开状态或更新完成。
最后的兼容性检查确保现在安装的软件根据定义的兼容性是否仍然与任何其它模块相兼容。如果在421安装的软件仍然是兼容的,则在423处理将切换至ECU1上的软件的新版本并且将该软件(版本F)用于ECU1。如果存在最后时刻的改变(例如,ECU2切换至版本9,并且版本F不再兼容),则处理可将新的版本清单发送至云,使得云可确定实际上应该将那个软件安装在ECU1上(在这种情况下,应该将版本H安装在ECU1上,版本H是最新的软件并且还与ECU2上现在的版本4相兼容)。
在更新处理期间,如果发生点火开关断开,则处理将暂停更新,直到在409处理检测到点火开关接通状态。一旦在暂停的更新处理期间检测到点火开关接通,则在411处理检查当前模块(在该示例中,其将仍然进行更新)以及任何关联的模块(诸如,ECU2)。
在该示例中,客户行驶到经销商处并且在经销商处发生点火开关断开。为了尝试满足客户需求,由于ECU1仍然在执行版本C(未完成至版本D的更新),所以经销商安装ECU2的版本9(其为最新的ECU2版本并且还与ECU1上的版本C相兼容)。因此,从经销商的角度来看,满足了所有兼容性检查,客户现在具有ECU1上的版本C和ECU2上的版本9。
当在409检测到下一个点火开关接通状态时,处理在413检测到模块ECU2已经改变至版本9。由于这可能存在兼容性问题(在这种情况下,确实存在兼容性问题),处理暂停处理并且在403将改变报告回云。云随后可确定ECU1上的至版本D的更新应该停止(因为版本D和版本9是不兼容的),并且反而可指示至版本H的更新,版本H不仅是ECU1的最新版本还与版本9相兼容。
在该示例中,因为版本H与版本3(ECU2上的版本)是不兼容的,所以云最初不可立即指示更新至版本H。云可以做的最好的是指示更新至版本F。然而,一旦ECU2更新至版本4至9(这些版本都与版本F不兼容)中的任一版本,则更新至版本F将出现相同的问题。
该示例展示了成功地对具有各种独立且相互依赖的ECU的***进行更新的复杂性。由于特定ECU可能在另一ECU更新正在进行且离线时被更新,所以几乎肯定会产生冲突。通过所呈现的说明性示例,兼容性检查有助于确保***在OTA更新和其它源更新都正在进行时保持完整性。
图5示出了可例如在云上或者在收集更新清单的任何地方发生的模块兼容性检查处理。在该说明性示例中,在501,处理接收针对任何相关模块(多达并且包括可OTA更新和不可OTA更新的所有模块)的ECU软件/固件版本。因为新的OTA更新的兼容性可能在一定程度上依赖于不可OTA更新的模块,所以接收针对不可OTA更新的模块的模块版本数据可能仍然很重要。
在该示例中,在503,处理针对接收到的任何可OTA更新的ECU模块的版本确定是否存在可用于特定模块的软件的更新的版本。如果在503存在更新的版本,则处理执行兼容性检查。
在507,处理可选择最新的版本(并且反向工作直到找到兼容性),或者可选择已知与至少一个其它模块兼容的最新的版本。在初始选择中,使用接收到的模块版本的快速数据库排序可确保初始选择的兼容性(505)。
在511,处理收集清单并将清单发送至TCU,所述清单包括用于处理更新的指令和/或数据。TCU可能在多个点火开关周期内处理更新,如果TCU检测到初始ECU配置的任何改变,则将所述改变报告回云。
如果在513,TCU未将更新报告为已完成,并且反而在517已经发送指示针对一个或更多个ECU软件版本的改变的ECU版本的新的集合,则处理再次在505检查以查看当前指示(并且正在进行但被暂停)的更新是否与新的版本相兼容。如果在513,TCU已经将更新报告为已完成,则处理可在515更新日志。
如果更新是兼容的,则处理可重新发送初始清单,或者仅仅发送针对TCU的指令以继续更新处理。如果先前指示的更新现在是不兼容的(如在前面的示例中的情况一样),则处理可在507选择与现有配置兼容的另一兼容的版本。
如果不存在新的版本(即,如果最新的兼容的版本已经被安装在正在被更新的ECU上),则处理可退出(并且可能发送停止更新指令)。如果在509存在也兼容的较新(比当前安装的版本新)的版本,则处理可发送新的清单,以指示TCU将更新改变为通过处理识别的最新的兼容的版本。
说明性实施例呈现了一种兼容性检查,所述兼容性检查可在针对单个模块完成更新之前针对该模块多次产生更新指令的改变。即使如此,兼容性检查有助于避免客户问题并且确保***完整性,同时允许客户持续享用至少可用于车辆上的可OTA更新的模块的软件的最新的兼容的版本。
尽管上面描述了示例性实施例,但并不意在这些实施例描述本发明的所有可能形式。更确切地,说明书中使用的词语为描述性词语而非限制性词语,并且应理解的是,可在不脱离本发明的精神和范围的情况下做出各种改变。此外,可以以逻辑方式组合各种实现的实施例的特征,以产生在此描述的实施例的情境适当的变型。
Claims (9)
1.一种用于车辆软件更新的***,包括:
处理器,被配置为:
响应于多周期车辆软件更新处理恢复,查询一个或更多个车辆电子控制单元模块,以确定安装在所述车辆电子控制单元模块上的当前的软件版本;
响应于所述查询识别出至少一个软件版本改变为与所述多周期车辆软件更新处理最初开始时的版本不同的版本,暂停所述多周期车辆软件更新处理;
将所述改变报告给远程源。
2.如权利要求1所述的***,其中,所述多周期车辆软件更新处理在点火开关状态的改变之后恢复。
3.如权利要求1所述的***,其中,所述处理器被配置为:至少查询正在被所述多周期车辆软件更新处理改变的车辆电子控制单元模块。
4.如权利要求1所述的***,其中,所述处理器被配置为:至少查询针对正在被所述多周期车辆软件更新处理改变的车辆电子控制单元模块具有预定义的兼容性要求的车辆电子控制单元模块。
5.如权利要求1所述的***,其中,所述处理器被配置为:查询所有车辆电子控制单元模块。
6.如权利要求1所述的***,其中,所述处理器被包括在远程信息处理控制单元中。
7.如权利要求1所述的***,其中,所述处理器被配置为:
响应于所述查询进一步识别出用于安装在先前被所述多周期车辆软件更新处理修改的车辆电子控制单元模块中的至少一个上的新的软件版本,从所述远程源接收针对所述多周期车辆软件更新处理的改变的指令;
对所述多周期车辆软件更新处理进行修改,以合并所述改变;
响应于所述指令,恢复修改后的多周期车辆软件更新处理。
8.如权利要求1所述的***,其中,所述处理器被配置为:
响应于所述报告,从所述远程源接收用于不改变地恢复多周期车辆软件更新处理的指令;
响应于所述指令,恢复所述多周期车辆软件更新处理。
9.一种用于车辆软件更新的方法,包括:
响应于确定多周期车辆软件更新正在尝试进行恢复,进行查询以获得电子控制单元模块的软件版本;
将改变的电子控制单元模块的软件版本的列表发送至远程源,并且响应于通过所述查询确定电子控制单元模块的软件版本已经改变,阻止所述多周期车辆软件更新的恢复;
响应于从所述远程源接收到用于恢复所述多周期车辆软件更新的指令,恢复所述多周期车辆软件更新,以合并从所述远程源接收到的任何改变。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/434,457 US10416985B2 (en) | 2017-02-16 | 2017-02-16 | Method and apparatus for multi cycle vehicle software update compliance handling |
US15/434,457 | 2017-02-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108446129A CN108446129A (zh) | 2018-08-24 |
CN108446129B true CN108446129B (zh) | 2023-10-24 |
Family
ID=62982528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810131331.7A Active CN108446129B (zh) | 2017-02-16 | 2018-02-09 | 用于多周期车辆软件更新符合性处理的方法和设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10416985B2 (zh) |
CN (1) | CN108446129B (zh) |
DE (1) | DE102018103209A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10261777B2 (en) | 2017-07-25 | 2019-04-16 | Aurora Labs Ltd. | Detecting anomalies online using histograms of ECU processing activity |
JP7010049B2 (ja) * | 2018-02-16 | 2022-01-26 | トヨタ自動車株式会社 | 車両制御装置、プログラムの更新確認方法および更新確認プログラム |
CN109358867B (zh) * | 2018-08-30 | 2022-06-03 | 阿波罗智能技术(北京)有限公司 | 无人车应用自动升级方法、装置、***及存储介质 |
CN109144553A (zh) * | 2018-09-13 | 2019-01-04 | 绿驰汽车科技(上海)有限公司 | 一种车载电控单元软件更新方法 |
CN111385191B (zh) * | 2018-12-28 | 2022-03-15 | 联合汽车电子有限公司 | 车载互联网关、车辆ota升级***和方法、计算机存储介质 |
JP2022109039A (ja) * | 2021-01-14 | 2022-07-27 | トヨタ自動車株式会社 | センタ、更新管理方法及び更新管理プログラム |
US11271971B1 (en) * | 2021-03-19 | 2022-03-08 | King Saud University | Device for facilitating managing cyber security health of a connected and autonomous vehicle (CAV) |
JP7406522B2 (ja) * | 2021-03-25 | 2023-12-27 | 本田技研工業株式会社 | 制御装置、及び、端末装置 |
US11853100B2 (en) * | 2021-04-12 | 2023-12-26 | EMC IP Holding Company LLC | Automated delivery of cloud native application updates using one or more user-connection gateways |
JP7464013B2 (ja) * | 2021-07-05 | 2024-04-09 | トヨタ自動車株式会社 | センタ、otaマスタ、方法、プログラム、及び車両 |
US11829748B1 (en) | 2021-09-29 | 2023-11-28 | Geotab Inc. | Systems and methods for safe over-the-air update of electronic control units in vehicles |
US11681518B2 (en) * | 2021-09-29 | 2023-06-20 | Geotab Inc. | Systems and methods for safe over-the-air update of electronic control units in vehicles |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005132131A (ja) * | 2003-10-28 | 2005-05-26 | Fujitsu Ten Ltd | ソフトウェア更新装置およびソフトウェア更新方法 |
US8918775B1 (en) * | 2013-07-12 | 2014-12-23 | Ca, Inc. | Dynamic release control of software application version changes |
CN104601648A (zh) * | 2013-10-31 | 2015-05-06 | 通用汽车环球科技运作有限责任公司 | 用于提供无线通信装置遗留在车辆内的通知的方法、***及设备 |
CN105045608A (zh) * | 2014-04-17 | 2015-11-11 | 麦恩电子有限公司 | 用于管理车辆计算***中的软件更新的***和方法 |
CN105691330A (zh) * | 2014-12-11 | 2016-06-22 | 福特全球技术公司 | 远程信息处理更新软件兼容性 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9443358B2 (en) * | 1995-06-07 | 2016-09-13 | Automotive Vehicular Sciences LLC | Vehicle software upgrade techniques |
US6282709B1 (en) * | 1997-11-12 | 2001-08-28 | Philips Electronics North America Corporation | Software update manager |
US7017040B2 (en) | 2003-12-04 | 2006-03-21 | Intel Corporation | BIOS update file |
US20060259207A1 (en) * | 2005-04-20 | 2006-11-16 | Denso Corporation | Electronic control system for automobile |
US8151257B2 (en) * | 2007-05-29 | 2012-04-03 | Sap Ag | Managing different versions of server components regarding compatibility with collaborating servers |
US20100228404A1 (en) * | 2009-03-06 | 2010-09-09 | Link Ii Charles M | Method and system for configuring and provisioning a vehicle |
JP5629927B2 (ja) * | 2010-11-12 | 2014-11-26 | クラリオン株式会社 | 車載機のオンライン更新方法 |
ES2902644T3 (es) | 2011-02-11 | 2022-03-29 | Siemens Healthcare Diagnostics Inc | Sistema y método para actualización segura de software |
US8505004B2 (en) * | 2011-05-20 | 2013-08-06 | Xerox Corporation | Methods and systems for providing software updates using a cloud administration system |
US9015837B1 (en) | 2011-09-29 | 2015-04-21 | Google Inc. | Systems and methods for verifying an update to data of an electronic device |
US20140006555A1 (en) * | 2012-06-28 | 2014-01-02 | Arynga Inc. | Remote transfer of electronic images to a vehicle |
US9870222B2 (en) * | 2013-05-10 | 2018-01-16 | Mitsubishi Electric Corporation | Air-conditioning system |
US10140109B2 (en) * | 2014-02-25 | 2018-11-27 | Ford Global Technologies, Llc | Silent in-vehicle software updates |
US10402184B2 (en) * | 2014-05-20 | 2019-09-03 | Ford Global Technologies, Llc | Module interface for vehicle updates |
EP3159219B8 (en) * | 2014-06-19 | 2021-10-13 | Hitachi Astemo, Ltd. | Vehicle-mounted program writing device |
US10241807B2 (en) * | 2014-09-26 | 2019-03-26 | Hitachi Automotive Systems, Ltd. | Vehicle control device, reprogramming system |
US10310836B2 (en) * | 2015-05-29 | 2019-06-04 | Nike, Inc. | Athletic activity data device firmware update |
US9916151B2 (en) * | 2015-08-25 | 2018-03-13 | Ford Global Technologies, Llc | Multiple-stage secure vehicle software updating |
CN108025684B (zh) * | 2015-09-29 | 2021-03-02 | 日立汽车***株式会社 | 车载控制装置以及车载控制装置的信息更新*** |
KR101792046B1 (ko) * | 2015-10-29 | 2017-11-20 | 현대자동차주식회사 | 단말기, 차량 및 그 제어 방법 |
DE102015221330A1 (de) * | 2015-10-30 | 2017-05-04 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum robusten Aktualisieren von Firmware eines Fahrzeuges über eine Luftschnittstelle |
US10002082B2 (en) * | 2016-02-19 | 2018-06-19 | Ford Global Technologies, Llc | Method and apparatus for cyclical key-off file replacement |
US12001825B2 (en) * | 2016-02-19 | 2024-06-04 | Ford Global Technologies, Llc | Method and apparatus for vehicle software update installation |
US11782691B2 (en) * | 2016-02-19 | 2023-10-10 | Ford Global Technologies, Llc | Method and apparatus for over the air updates |
KR20170127138A (ko) * | 2016-05-11 | 2017-11-21 | 현대자동차주식회사 | 업데이트 소프트웨어 제공 시스템 및 그 방법 |
US20180024826A1 (en) * | 2016-07-19 | 2018-01-25 | Ford Global Technologies, Llc | Vehicle region-specific software updates distribution |
US10782955B2 (en) * | 2017-01-03 | 2020-09-22 | Ford Global Technologies, Llc | Pre-shutdown swap verification |
-
2017
- 2017-02-16 US US15/434,457 patent/US10416985B2/en active Active
-
2018
- 2018-02-09 CN CN201810131331.7A patent/CN108446129B/zh active Active
- 2018-02-13 DE DE102018103209.9A patent/DE102018103209A1/de active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005132131A (ja) * | 2003-10-28 | 2005-05-26 | Fujitsu Ten Ltd | ソフトウェア更新装置およびソフトウェア更新方法 |
US8918775B1 (en) * | 2013-07-12 | 2014-12-23 | Ca, Inc. | Dynamic release control of software application version changes |
CN104601648A (zh) * | 2013-10-31 | 2015-05-06 | 通用汽车环球科技运作有限责任公司 | 用于提供无线通信装置遗留在车辆内的通知的方法、***及设备 |
CN105045608A (zh) * | 2014-04-17 | 2015-11-11 | 麦恩电子有限公司 | 用于管理车辆计算***中的软件更新的***和方法 |
CN105691330A (zh) * | 2014-12-11 | 2016-06-22 | 福特全球技术公司 | 远程信息处理更新软件兼容性 |
Also Published As
Publication number | Publication date |
---|---|
CN108446129A (zh) | 2018-08-24 |
US10416985B2 (en) | 2019-09-17 |
DE102018103209A1 (de) | 2018-08-16 |
US20180232223A1 (en) | 2018-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108446129B (zh) | 用于多周期车辆软件更新符合性处理的方法和设备 | |
US12001825B2 (en) | Method and apparatus for vehicle software update installation | |
CN105791387B (zh) | 车辆控制更新方法和*** | |
US11782691B2 (en) | Method and apparatus for over the air updates | |
US9557981B2 (en) | Method and apparatus for automatic module upgrade | |
US10061574B2 (en) | Method and apparatus for multiple vehicle software module reflash | |
US10402184B2 (en) | Module interface for vehicle updates | |
US10782955B2 (en) | Pre-shutdown swap verification | |
US10379837B2 (en) | Methods and apparatus for software updating | |
US10282194B2 (en) | Methods and systems to update a vehicle computing system | |
CN105808285B (zh) | 车辆控制更新的方法和*** | |
US9940762B2 (en) | Systems and methods for identification of a compromised module | |
CN104866336B (zh) | 无声车载软件更新 | |
US20160239317A1 (en) | Method and Apparatus for Application Management and Control | |
US9436456B2 (en) | System and method for management of software updates at a vehicle computing system | |
US9858064B2 (en) | Methods and apparatus for vehicle computing system software updates | |
US9298649B2 (en) | Method and apparatus for dynamically updating a vehicle module configuration record | |
US9361090B2 (en) | Apparatus and method of software implementation between a vehicle and mobile device | |
US20150363210A1 (en) | Vehicle download by remote mobile device | |
US20200175789A1 (en) | Method and Apparatus for Vehicle Warning Light Handling | |
CN107102849B (zh) | 用于周期性点火开关断开的文件替换的方法和设备 | |
US20190014026A1 (en) | Method and apparatus for ignition state monitoring | |
US20220222054A1 (en) | Center, update management method, and non-transitory storage medium | |
US20200004524A1 (en) | Method and apparatus for confirming status of a remote update |
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 |