一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

车辆软件管理系统及用于恢复其软件的方法与流程

2023-02-19 10:25:32 来源:中国专利 TAG:

车辆软件管理系统及用于恢复其软件的方法
1.相关申请的交叉引用
2.本技术要求2021年8月13日在韩国知识产权局提交的韩国专利申请no.10-2021-0107197的权益,其全部内容通过引用合并于本文中。
技术领域
3.本发明涉及一种车辆软件管理系统及用于恢复其软件的方法。


背景技术:

4.用于车辆的空中下载(over-the-air,以下称为ota)更新技术是通过在车辆的行驶期间无线下载更新数据(例如,固件)来支持更新车辆软件的功能。通过将ota服务器中注册的软件版本与车辆中嵌入的软件版本进行比较,在新软件可用的情况下(即,软件的最新版本)完成新软件的下载之后,当ota执行条件得到满足时,执行车辆的ota更新。这种用于车辆的传统ota更新技术应用了存储器二元化方案,以便在新软件更新失败时进行恢复。然而,车辆中有许多需要软件更新的控制器,将存储器二元化方案应用于车辆的所有控制器的成本高得令人望而却步。


技术实现要素:

5.本发明的一方面提供了一种车辆软件管理系统及其软件方法,用于在未应用存储器二元化方案的控制器的软件更新失败时,通过回滚进行恢复。
6.由本发明解决的技术问题不限于上述问题,并且本发明所属领域的技术人员通过从以下描述将清楚地理解本文未提及的任何其它技术问题。
7.根据本发明的一方面,一种车辆软件管理系统包括管理控制器和ota服务器,所述管理控制器安装在车辆上以进行执行控制器的软件更新,所述ota服务器用于基于管理控制器是否具有用于回滚的软件包,将用于回滚的软件包和用于更新的软件包发送到管理控制器,当利用用于更新的软件包的执行控制器的软件更新失败时,管理控制器利用用于回滚的软件包来进行执行控制器的软件回滚。
8.在一个实施方案中,所述ota服务器可以将用于回滚的软件包发送到管理控制器。
9.在一个实施方案中,当所述管理控制器具有用于回滚的软件包时,所述ota服务器可以将更新执行指令连同用于更新的软件包一起发送到所述管理控制器。
10.在一个实施方案中,当执行控制器的软件更新成功时,所述管理控制器可以将用于更新的软件包设置为新的用于回滚的软件包。
11.在一个实施方案中,所述管理控制器可以删除现有的用于回滚的软件包。
12.根据本发明的另一方面,一种管理控制器包括通信装置和处理器,所述通信装置用于与ota服务器进行无线通信,所述处理器电连接至通信装置,当向车辆供电时,所述处理器确定管理控制器是否具有用于回滚的软件包,当管理控制器不具有用于回滚的软件包时,从ota服务器下载用于回滚的软件包,从ota服务器下载用于更新的软件包,利用用于更
新的软件包进行执行控制器的软件更新,当软件更新失败时,利用用于回滚的软件包进行执行控制器的软件回滚。
13.在一个实施方案中,所述处理器可以确定管理控制器是否具有用于回滚的软件包,然后将车辆信息和执行控制器中安装的软件的版本信息连同确定结果一起发送到ota服务器。
14.在一个实施方案中,当管理控制器具有用于回滚的软件包时,所述处理器可以从ota服务器下载用于更新的软件包。
15.在一个实施方案中,所述处理器可以当执行控制器的软件更新成功时,将用于更新的软件包设置为新的用于回滚的软件包。
16.在一个实施方案中,所述处理器可以删除现有的用于回滚的软件包。
17.在一个实施方案中,所述执行控制器可以是安装在车辆上以执行预定功能的电子控制单元。
18.根据本发明的另一方面,一种用于恢复车辆软件管理系统的软件的方法包括:当向车辆供电时,由管理控制器确定管理控制器是否具有用于回滚的软件包,当管理控制器不具有用于回滚的软件包时,由管理控制器从ota服务器下载用于回滚的软件包,由管理控制器从ota服务器下载用于更新的软件包,由管理控制器利用用于更新的软件包进行执行控制器的软件更新,当软件更新失败时,由管理控制器利用用于回滚的软件包进行执行控制器的软件回滚。
19.在一个实施方案中,下载用于回滚的软件包可以包括:由管理控制器将车辆信息和执行控制器中安装的软件的版本信息连同对管理控制器是否具有用于回滚的软件包的确定结果一起发送到ota服务器,当基于对管理控制器是否具有用于回滚的软件包的确定结果识别出管理控制器不具有用于回滚的软件包时,由ota服务器向管理控制器发送用于回滚的软件包。
20.在一个实施方案中,当识别出管理控制器具有用于回滚的软件包时,所述ota服务器可以将更新执行指令连同用于更新的软件包一起发送到管理控制器。
21.在一个实施方案中,所述方法可以进一步包括:当执行控制器的软件更新成功时,由管理控制器将用于更新的软件包设置为新的用于回滚的软件包。
22.在一个实施方案中,所述方法可以进一步包括:由管理控制器删除现有的用于回滚的软件包。
附图说明
23.通过结合所附附图进行的以下具体描述,本发明的以上和其它目的、特征以及优点将更显然,其中:
24.图1是示出根据本发明的实施方案的用于车辆的软件管理系统的框图;
25.图2是示出本发明的实施方案的车辆软件管理系统的软件恢复方法的流程图;
26.图3是示出根据本发明的实施方案的当车辆软件更新失败时执行恢复方法的计算系统的框图。
具体实施方式
27.应当理解,本文所使用的术语“车辆”或“车辆的”或其它类似术语一般包括机动车辆,例如包括运动型多用途车辆(suv)、大客车、大货车、各种商用车辆的乘用汽车,包括各种舟艇、船舶的船只,航空器等等,并且包括混合动力车辆、电动车辆、插电式混合动力电动车辆、氢动力车辆以及其它替代性燃料车辆(例如,源于非石油能源的燃料)。正如本文所提到的,混合动力车辆是具有两种或更多种动力源的车辆,例如汽油动力和电力动力两者的车辆。
28.本文所使用的术语仅为了描述特定实施方案的目的,并不旨在限制本发明。如本文所使用的,单数形式“一”、“一个”和“所述”旨在也包括复数形式,除非上下文另有清楚的指示。还将理解的是,当在本说明书中使用术语“包括”和/或“包含”时,指明存在所述特征、数值、步骤、操作、元件和/或组件,但是不排除存在或加入一种或更多种其它的特征、数值、步骤、操作、元件、组件和/或其群组。如本文所使用的,术语“和/或”包括一种或多种相关列举项目的任何和所有组合。在整个说明书中,除非明确地相反描述,否则词语“包括”和变化形式例如“包括有”或“包括了”应被理解为暗示包含所述元件,但是不排除任何其它元件。此外,在说明书中描述的术语“单元”、“器件”、“部件”和“模块”意为用于执行至少一个功能和操作的单元,并且可以由硬件组件或者软件组件以及它们的组合来实现。
29.此外,本发明的控制逻辑可以实施为计算机可读介质上的非易失性计算机可读介质,其包含由处理器、控制器等执行的可执行程序指令。计算机可读介质的示例包括但不限于rom、ram、光盘(cd)-rom、磁带、软盘、闪盘驱动器、智能卡和光学数据存储装置。计算机可读介质还可以分布在网络连接的计算机系统上,使得计算机可读介质例如通过远程信息处理服务器或控制器区域网络(controller area network,can)以分布方式存储和执行。
30.在下文,将参考示例性附图对本发明的一些实施方案进行详细描述。在将附图标记添加到每个图的组件时,应该注意到,即使在其它图上显示相同或等效的组件时,也由相同的附图标记来指定。此外,在描述本发明的实施方案时,当确定出其干扰对本发明的实施方案的理解时,将省略对相关已知配置或功能的详细描述。
31.在描述根据本发明的实施方案的组件时,可以使用诸如第一、第二、a、b、(a)、(b)等的术语。这些术语仅旨在将组件与其他组件区分开,并且这些术语并不限制组件的性质、顺序或次序。除非另有定义,否则本文使用的术语(包括技术术语和科学术语)都具有与本发明所属技术领域的普通技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中定义的那些术语应该被解释为具有与其在相关领域的语境中的含义一致的含义,并且将不被解释为理想化的或过于正式的意义,除非在本文中明确这样定义。
32.图1是示出根据本发明的实施方案的用于车辆的软件管理系统的框图。
33.参考图1,用于车辆的软件管理系统可以包括空中下载(over-the-air,ota)服务器100和车辆200。
34.ota服务器100可以存储和管理用于每个车辆模型和每个电子控制单元(electric control unit,ecu)的软件(以下称为软件)。ota服务器100可以将由车辆制造商提供的新版本的软件注册为最新版本的软件。ota服务器100可以向车辆200发送新注册的软件的版本信息。此外,ota服务器100可以响应于车辆200的请求来发送最新版本的软件。
35.ota服务器100可以接收从车辆200发送的每个控制器的软件的版本和车辆信息
(例如,车辆型号、区域和/或车辆标识号(vehicle identification number,vin))。ota服务器100可以确定车辆200的当前事件版本,并基于当前事件版本来指定目标事件版本。ota服务器100可以命令软件包的下载,用于更新到目标事件版本。
36.此外,当车辆200当前不具有用于回滚(roll back)的软件包时,ota服务器100可以命令与当前事件相对应的软件包的下载。
37.车辆200可以包括通过车载网络(in-vehicle network,ivn)相互连接的管理控制器210和至少一个执行控制器220。车载网络可以实现为控制器区域网络(can)、面向媒体的系统传输(most)网络、本地互连网络(lin)、以太网和/或线控(flexray)。
38.管理控制器210是车辆软件管理装置,其管理每个执行控制器220的软件版本信息,并在需要更新时主管ota更新。管理控制器210可以从ota服务器100下载软件包,并将软件包发送到执行控制器220以执行重新编程。这样的管理控制器210可以包括通信装置211、存储装置212和处理器213。处理器213可以电连接至通信装置211和存储装置212。
39.通信装置211可以支持管理控制器210与ota服务器100之间的无线通信。通信装置211可以包括用于执行无线通信的通信电路,所述无线通信例如车辆到基础设施(vehicle to infrastructure,v2i)通信、无线lan(wlan)(wi-fi)、无线宽带(wibro)、长期演进(lte)、国际移动电信(international mobile telecommunication,imt)-2020、蓝牙、近场通信(nfc)和/或类似的无线通信。
40.通信装置211可以响应于处理器213的指令从ota服务器100下载用于更新的软件包,即最新版本的软件包。通信装置211可以从ota服务器100下载用于回滚的软件包。通信装置211可以向ota服务器100发送车辆200中的控制器210和220的版本信息和/或更新结果。通信装置211可以接收从ota服务器100发送的更新指令。
41.存储装置212可以存储通过通信装置211接收到的用于更新的软件包和/或用于回滚的软件包。存储装置212可以存储由处理器213执行的更新管理逻辑和更新执行逻辑。存储装置212可以是非易失性存储介质,其存储由处理器213执行的指令。存储装置212可以包括至少一种存储介质,存储介质例如闪存、硬盘、固态盘(ssd)、安全数字卡(sd卡)、随机存取存储器(ram)、静态随机存取存储器(sram)、只读存储器(rom)、可编程只读存储器(prom)、电可擦除和可编程rom(eeprom)、可擦除和可编程rom(eprom)、寄存器、嵌入式多媒体卡(emmc)和/或通用快闪存储装置(ufs)。
42.处理器213可以控制管理控制器210的总体操作。处理器213可以包括至少一个处理装置,所述处理装置例如专用集成电路(asic)、数字信号处理器(dsp)、可编程逻辑装置(pld)、现场可编程门阵列(fpga)、中央处理单元(cpu)、微控制器、微处理器和/或类似处理装置。
43.处理器213可以基于更新管理逻辑来主管更新,并向通信装置211请求管理控制器210与ota服务器100之间进行通信。此外,处理器213可以基于更新执行逻辑,响应于从更新管理逻辑发送的指令而将软件发送到执行控制器220,并将更新结果发送到更新管理逻辑。当执行控制器220的更新失败时,处理器213可以利用用于回滚的软件包来恢复执行控制器220的软件。
44.作为ota更新目标的执行控制器220可以是安装于车辆并且执行预定功能(例如,驾驶员辅助功能和/或障碍感测功能)的电子控制单元(ecu)。尽管未在图中示出,但是执行
控制器220可以包括处理器和存储器。执行控制器220可以接收用于更新的软件,即,从管理控制器210发送的最新版本的软件,并且将接收到的用于更新的软件存储在存储器中。执行控制器220可以利用用于更新的软件来执行重新编程,以更新预先存储在存储器中的控制逻辑。执行控制器220可以以相同的方案重新编程用于更新的软件和用于回滚的软件。
45.在下文,将详细地描述管理控制器210进行执行控制器220的软件更新和恢复的过程。
46.管理控制器210的处理器213可以在点火(ig)接通时或当向车辆200供电时确定(检查)管理控制器210是否具有用于回滚的软件包。处理器213可以将在每个执行控制器220中安装的软件的信息以及车辆信息发送到ota服务器100。当发送每个执行控制器220的软件信息以及车辆信息时,管理控制器210可以一起发送关于管理控制器210是否具有用于回滚的软件包的确定结果。当管理控制器210通知了管理控制器210不具有用于回滚的软件包时,ota服务器100可以先将用于回滚的软件包发送到管理控制器210,而不确定是否需要更新。
47.管理控制器210的处理器213可以下载用于回滚的软件包,然后当再次向ota服务器100发送车辆信息和每个执行控制器220的软件版本时,通知管理控制器210具有用于回滚的软件包。当管理控制器210具有用于回滚的软件包时,ota服务器100可以确定是否需要更新,然后当存在新的更新时,在向管理控制器210发送用于更新的软件包的同时指示进行更新。
48.处理器213可以通过解析从ota服务器100下载的用于更新的软件包来将用于更新的软件发送到执行控制器220。执行控制器220可以利用从管理控制器210提供的用于更新的软件来将先前版本的软件更新为最新版本的软件。执行控制器220可以在进行更新之后向管理控制器210发送包括更新是否成功的更新结果。执行控制器220可以将包括更新成功或更新失败的更新结果发送到管理控制器210。
49.处理器213可以基于从执行控制器220发送的更新结果来确定执行控制器220的更新是否成功。当执行控制器220的更新成功时,处理器213可以利用用于回滚的软件包来替换用于更新的软件包。换句话说,处理器213可以通过将用于更新的软件包设置为新的用于回滚的软件包来准备下一次更新。处理器213可以删除预先存储的现有的用于回滚的软件包。
50.当执行控制器220的更新失败时,处理器213可以将用于回滚的软件发送到执行控制器220。处理器213可以解析预先存储的用于回滚的软件包,并将用于回滚的软件发送到执行控制器220。执行控制器220可以通过利用用于回滚的软件进行回滚来从更新失败中恢复。
51.图2是示出本发明的实施方案的车辆软件管理系统的软件恢复方法的流程图。
52.当向车辆200供电时,管理控制器210可以确定(检查)管理控制器210是否具有用于回滚的软件包(s100)。管理控制器210的处理器213可以确定存储装置212中是否存储有用于回滚的软件包。
53.管理控制器210可以将关于管理控制器210是否具有用于回滚的软件包的确定结果发送到ota服务器100(s110)。当管理控制器210发送关于管理控制器210是否具有用于回滚的软件包的确定结果时,管理控制器210可以将车辆信息和每个执行控制器220中安装的
软件的版本信息一起发送到ota服务器100。紧接在车辆200制造之后或者当利用新的管理控制器210来替换管理控制器210时,管理控制器210可能会不具有用于回滚的软件包。
54.ota服务器100可以通过从管理控制器210接收到的关于管理控制器210是否具有用于回滚的软件包的确定结果来确定管理控制器210是否不具有用于回滚的软件包(s120)。
55.当管理控制器210不具有用于回滚的软件包时,ota服务器100可以将用于回滚的软件包发送到管理控制器210(s130)。
56.当管理控制器210具有用于回滚的软件包时,ota服务器100可以将用于更新的软件包发送到管理控制器210(s140)。当管理控制器210具有用于回滚的软件包时,ota服务器100可以基于从管理控制器210接收到的车辆信息和软件版本信息来确定是否需要软件更新。ota服务器100可以将执行控制器220中安装的软件的版本信息与ota服务器100中注册的新软件的版本信息进行比较,以确定是否存在最新版本的软件。当存在与执行控制器220中安装的软件相对应的最新版本的软件时,ota服务器100可以将包括相应的最新版本的软件的用于更新的软件包发送到管理控制器210。此外,ota服务器100可以将更新执行指令与用于更新的软件包一起发送到管理控制器210。
57.管理控制器210可以从ota服务器100接收用于更新的软件包,并将用于更新的软件包发送到执行控制器220(s150)。管理控制器210可以从ota服务器100下载用于更新的软件包,然后解析用于更新的软件包,以将用于更新的软件包发送到执行控制器220。
58.执行控制器220可以利用从管理控制器210提供的用于更新的软件来执行从先前版本的软件到最新版本的软件更新(s160)。执行控制器220可以利用用于更新的软件来进行重新编程。
59.在进行更新之后,执行控制器220可以将包括更新是否成功的更新结果发送到管理控制器210(s170)。执行控制器220可以将包括更新成功或更新失败的更新结果发送到管理控制器210。
60.管理控制器210可以基于从执行控制器220发送的更新结果来确定执行控制器220的更新是否成功(s180)。
61.当执行控制器220的更新成功时,管理控制器210可以利用用于更新的软件包来替换用于回滚的软件包(s190)。管理控制器210可以将用于更新的软件包设置为新的用于回滚的软件包。
62.管理控制器210可以删除预先存储的现有的用于回滚的软件包(s200)。此后,管理控制器210可以在下一次更新时利用新的用于回滚的软件包进行回滚。
63.当在s180识别出执行控制器220的更新失败时,管理控制器210可以将用于回滚的软件包发送到执行控制器220(s210)。管理控制器210可以解析预先存储的用于回滚的软件包,并将用于回滚的软件发送到执行控制器220。
64.执行控制器220可以利用用于回滚的软件来进行回滚(s220)。由于执行控制器220通过回滚返回到先前的软件,因此可以恢复软件。
65.图3是示出根据本发明的实施方案的当车辆软件更新失败时执行恢复方法的计算系统的框图。
66.参考图3,计算系统1000可以包括经由总线1200连接的至少一个处理器1100、内存
1300、用户接口输入设备1400、用户接口输出设备1500、存储设备1600和网络接口1700。
67.处理器1100可以是中央处理单元(cpu)或对存储在内存1300和/或存储设备1600中的命令进行处理的半导体装置。内存1300和存储设备1600可以包括各种类型的易失性或非易失性存储介质。例如,存储器1300可以包括rom(只读存储器)1310和ram(随机存取存储器)1320。
68.因此,结合本文所公开的实施方案描述的方法或算法的操作可以在由处理器1100执行的硬件或软件模块中直接实现,或者在其组合中实现。软件模块可以驻留在存储介质上(也就是内存1300和/或存储设备1600),例如ram、闪存、rom、eprom、eeprom、寄存器、硬盘、可移动硬盘以及cd-rom。示例性存储介质联接至处理器1100,处理器1100可以从存储介质读取信息和向存储介质写入信息。在另一个方法中,存储介质可以与处理器1100集成。处理器1100和存储介质可以驻留在专用集成电路(asic)中。asic可以驻留在用户终端内。在另一个方法中,处理器1100和存储介质可以作为单独组件驻留在用户终端中。
69.以上描述仅说明本发明的技术思想,本领域的技术人员可以在不偏离本发明的基本特征的情况下进行各种修改和更改。因此,本发明公开的实施方案并非旨在限制本发明的技术思想,而是为了说明本发明,本发明的技术思想的范围也不受实施方案的限制。本发明的范围应被解释为由所附权利要求的范围覆盖,落入权利要求的范围内的所有技术思想都应理解为包括在本发明的范围内。
70.根据本发明,即使在不应用存储器二元化方案的情况下,当软件更新失败时,也可以利用从服务器提供的用于回滚的软件包来恢复软件,从而能够更安全地进行更新。
71.此外,根据本发明,由于在执行软件更新之前从服务器下载用于回滚的软件包,在组装车辆时管理控制器不需要具有用于另一执行控制器的回滚的软件包,因此可以去除组装车辆之前的交付依赖性。
72.在上文中,尽管已经参考示例性实施方案和附图描述了本发明,但是本发明并不限于此,本发明所属领域的技术人员可以进行各种改变和修改,而不会脱离由所附权利要求所要求保护的本发明的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献