掌桥专利:专业的专利平台
掌桥专利
首页

用于回滚的差分数据生成方法以及车辆控制器的回滚方法

文献发布时间:2023-06-29 06:30:04


用于回滚的差分数据生成方法以及车辆控制器的回滚方法

技术领域

本发明涉及一种车辆控制器的用于回滚的差分数据生成方法以及车辆控制器的回滚方法。

背景技术

目前,随着技术的发展,为了用户的方便,车辆上应用各种电子设备,这将需要更新用于控制各种电子设备的车辆控制器的软件或信息的更新技术。

为了跟上这种需求,正在开发一种OTA(Over-the Air)更新技术,所述技术能够无线而不是有线地更新车辆控制器的软件或信息。作为更新技术的一种,有差分更新技术,所述技术只更新在用于更新各种电子设备的软件的所有数据中被变更的一部分数据。

另外,在车辆中,作为针对与其他控制器的版本匹配或更新失败的对策,即使在完成从旧版本到新版本的更新之后也会需要返回旧版本的回滚(rollback)。目前,为了回滚,只能重新下载旧版本,但这种情况下需要过多的时间和数据传输,存在难以应用OTA技术的问题。

发明内容

本发明的目的在于,提供一种在无需重新下载旧版本的情况下,能有效执行回滚的用于回滚的差分数据生成方法以及回滚方法。

本发明所要解决的问题不限于上述问题,本领域的普通技术人员通过以下记载将清楚地理解其他未提及的问题。

为了达成所述目的,根据本发明的用于回滚的差分数据生成方法,其为车辆控制器的用于回滚的差分数据生成方法,包括:从服务器接收用于从旧版本数据到新版本数据的更新的差分数据的步骤;以及使用所述差分数据和旧版本数据生成用于从所述新版本数据到所述旧版本数据的回滚的用于回滚的差分数据的步骤。

所述差分数据包括一系列差分块,所述差分块,包括:具有附加数据的长度信息和附加数据的附加差分块、具有相同数据的长度信息的相同差分块、以及具有删除数据的长度信息的删除差分块,在所述生成用于回滚的差分数据的步骤中,可以是从所述附加差分块生成具有相同的长度信息的删除差分块,从所述相同差分块生成具有相同的长度信息的相同差分块,从所述删除差分块生成具有相同的长度信息和从所述旧版本数据中提取的附加数据的附加差分块。

所述生成用于回滚的差分数据的步骤,可以在所述更新之前执行。

所述生成用于回滚的差分数据的步骤,可以是管理指示所述旧版本数据的数据位置的索引,从所述附加差分块生成删除差分块时,维持所述索引,当从所述相同差分块生成相同差分块时,所述索引增可以加相当于对应长度信息。

当从所述删除差分块生成附加差分块时,可以从所述旧版本数据提取在所述索引指示的位置提取相当于对应长度信息的数据作为所述附加数据,所述索引可以增加相当于对应长度信息。

所述生成用于回滚的差分数据的步骤,可以与所述更新同时执行。

所述更新的同时生成所述用于回滚的差分数据的步骤,可以是管理指示所述旧版本数据的数据位置的第一索引和指示所述新版本数据的数据位置的第二索引,在所述更新过程中应用所述附加差分块时,保持所述第一索引,将所述附加数据复制到所述新版本数据的所述第二索引指示的位置,所述第二索引增加相当于对应长度信息,从所述附加差分块生成删除差分块,在所述更新过程中应用所述相同差分块时,所述旧版本数据的所述第一索引指示的位置的相当于对应长度信息的数据复制到所述新版本数据的所述第二索引指示的位置,所述第二索引增加相当于对应长度信息,所述第一索引增加相当于对应长度信息,从所述相同差分块生成相同差分块。

在所述更新过程中应用所述删除差分块时,可以在所述旧版本数据的所述第一索引指示的位置提取相当于对应长度信息的数据作为所述附加数据,生成所述附加差分块,所述第一索引增加相当于对应长度信息,维持所述第二索引。

为了解决所述技术问题,根据本发明的车辆控制器的回滚方法,包括:通过所述用于回滚的差分数据生成方法生成用于回滚的差分数据的步骤;以及使用所述用于回滚的差分数据,执行从新版本数据到旧版本数据的回滚的步骤。

所述用于回滚的差分数据包括一系列的差分块,所述差分块可以包括:具有附加数据的长度信息及附加数据的附加差分块、具有相同数据的长度信息的相同差分块、以及具有删除数据的长度信息的删除差分块。

执行所述回滚的步骤,可以是管理指示所述新版本数据的数据位置的第一索引和指示所述旧版本数据的数据位置的第二索引,在所述回滚应用所述附加差分块时,维持所述第一索引,将所述附加数据复制到所述旧版本数据的所述第二索引指示的位置,所述第二索引增加相当于对应长度信息,在所述回滚应用所述相同差分块时,所述新版本数据的所述第一索引指示的位置的相当于对应长度信息的数据复制到所述旧版本数据的所述第二索引指示的位置,所述第二索引增加相当于对应长度信息,所述第一索引增加相当于对应长度信息,在所述回滚应用所述删除差分块时,所述第一索引增加相当于对应长度信息,并维持所述第二索引。

发明效果

根据如上所述的本发明,通过使用车辆控制器的旧版本数据和接收到的差分数据来生成用于回滚的差分数据,并且,当需要进行回滚时,使用用于回滚的差分数据进行回滚,从而,无需重新下载旧版本,能有效地执行回滚。

本发明的效果不限于上述效果,本领域的普通技术人员通过以下记载将清楚地理解未提及的其他效果。

附图说明

图1示出应用根据本发明的实施例的车辆控制器的用于回滚的差分数据生成及回滚方法的系统结构。

图2示出从旧版本数据到新版本数据的更新及用于回滚的差分数据的生成。

图3示出从新版本数据到旧版本数据的回滚。

图4示出根据本发明的一实施例的车辆控制器的用于回滚的差分数据生成及车辆控制器的回滚方法的流程图。

图5是示出根据本发明的其他实施例的车辆控制器的用于回滚的差分数据生成及车辆控制器的回滚方法的流程图。

图6示出使用差分数据和旧版本数据生成用于回滚的差分数据的过程的一例。

图7示出使用差分数据执行从旧版本数据到新版本数据的更新的同时,使用差分数据和旧版本数据生成用于回滚的差分数据的过程的一例。

图8示出使用用于回滚的差分数据执行从新版本数据到旧版本数据的回滚的过程的一例。

具体实施方式

下面,将参照附图详细说明本发明的优选实施例。在以下说明及附图中,对实际上相同的构成要素分别标注相同的附图标记,并省略重复说明。在说明本发明时,若判断为对相关公知功能或结构的具体说明会使本发明的要旨不明确,则省略对其的详细说明。

图1示出应用根据本发明的实施例的车辆控制器的用于回滚的差分数据生成及回滚方法的系统结构。

参考图1,为了OTA(over-the-air)方式的差分更新,服务器1和车辆10可以通过无线通信彼此连接。

车辆10包括至少一个车辆控制器20。车辆控制器20可以执行对车辆10的特定部分的电控制或向驾驶员提供特定信息的功能。车辆控制器20,具备:提供主要功能的主控制部30、与服务器1等外部进行通信的通信部40、以及存储软件或信息等数据的存储部50。

当需要更新存储在存储部50中的数据时,服务器1发送差分数据以执行从旧版本数据到新版本数据的差分更新,并且,车辆控制器20通过通信部40接收差分数据。主控制部30使用差分数据执行从存储在存储部50中的旧版本数据到新版本数据的更新。

在本发明的实施例中,若主控制部30接收差分数据,则利用差分数据及当前存储在存储部30中的旧版本数据,生成今后用于回滚的差分数据以执行从新版本数据到旧版本数据的回滚,然后存储在存储部50中。并且,当由于与其他控制器的版本匹配或更新失败等而要求回滚时,主控制部30使用存储在存储部50中的用于回滚的差分数据,执行从新版本数据到旧版本数据的回滚。

图2示出从旧版本数据到新版本数据的更新及用于回滚的差分数据的生成。参考图2,使用差分数据将旧版本数据更新为新版本数据,并且,从旧版本数据和差分数据生成用于回滚的差分数据。

图3示出从新版本数据到旧版本数据的回滚。参考图3,使用用于回滚的差分数据,将新版本数据回滚到旧版本数据。

图4示出根据本发明的一实施例的车辆控制器的用于回滚的差分数据生成及车辆控制器的回滚方法的流程图。

在步骤410中,车辆控制器20从服务器1接收差分数据,以执行从旧版本数据到新版本数据的更新。

在步骤420中,主控制部30使用差分数据和旧版本数据生成用于回滚的差分数据,以执行从新版本数据到旧版本数据的回滚。

在步骤430中,主控制部30使用差分数据执行从旧版本数据到新版本数据的更新。

若在步骤440中需要回滚,则在步骤450中,主控制部30使用用于回滚的差分数据,执行从新版本数据到旧版本数据的回滚。

图5是示出根据本发明的其他实施例的车辆控制器的用于回滚的差分数据生成及车辆控制器的回滚方法的流程图。

在步骤410中,车辆控制器20从服务器1接收差分数据,以执行从旧版本数据到新版本数据的更新。

在步骤425中,主控制部30使用差分数据,执行从旧版本数据到新版本数据的更新,同时,使用差分数据和旧版本数据,生成用于回滚的差分数据,以执行从新版本数据到旧版本数据的回滚。

若在步骤440中需要回滚,则在步骤450中,主控制部30使用用于回滚的差分数据,执行从新版本数据到旧版本数据的回滚。

图6示出在所述步骤420中,使用差分数据和旧版本数据生成用于回滚的差分数据的过程的一例。

差分数据,可以包括一系列差分块D1至D6。差分块D1至D6,可以包括附加差分块D1、D4、相同差分块D2、D5以及删除差分块D3、D6。附加差分块D1、D4可以具有要添加到新版本数据的附加数据的长度信息及附加数据。相同差分块D2、D5在旧版本和新版本之间可能具有相同的相同数据的长度信息。删除差分块D3、D6可以具有要从旧版本数据中删除的删除数据的长度信息。例如,在附加差分块D1的情况下,附加数据的长度为3,附加数据为S、T、U。在相同差分块D2的情况下,相同数据的长度为5。在删除差分块D3的情况下,删除数据的长度是4。在附加差分块D4的情况下,附加数据的长度为4,附加数据为V、W、X、Y。在相同差分块D5的情况下,相同数据的长度为6。在删除差分块D6的情况下,删除数据的长度为3。

用于回滚的差分数据,可以使用附加的差分块D1、D4、相同差分块D2、D5、删除差分块D3、D6以及旧版本数据来生成。可以从附加差分块D1、D4生成具有相同的长度信息的删除差分块R1、R4。可以从相同差分块D2、D5生成具有相同的长度信息的相同差分块R2、R5。从删除差分块D3、D6可以生成具有相同的长度信息以及从旧版本数据提取的附加数据的附加差分数据R3、R6。因此,用于回滚的差分数据还包括一系列差分块R1至R6。

为了生成用于回滚的差分数据,主控制部30可以管理在存储部50中指示旧版本数据的数据位置的索引。当从附加差分块生成删除差分块时,可以保持所述索引。当从相同差分块生成相同差分块时,所述索引可以增加相当于对应长度信息。在从删除差分块生成附加差分块时,从所述旧版本数据在所述索引指示的位置提取相当于对应长度信息的数据作为所述附加数据,所述索引可以增加相当于对应长度信息。

将详细说明图6中例示的从差分数据及旧版本数据生成用于回滚的差分数据的过程为如下。

从附加差分块D1生成具有相同的长度信息3的删除差分块R1。此时,所述索引维持在1。从相同差分块D2生成具有相同长度信息5的相同差分块R2。此时,所述索引随着长度增加5成为6。从删除差分块D3中生成具有相同的长度信息4的附加差分块R3,其中,从旧版本数据的索引5指示的位置提取相当于对应长度4的数据F、G、H、I作为附加数据,并使其包含在附加差分块R3中,所述索引增加4成为10。

从附加差分块D4生成具有相同的长度信息4的删除差分块R4。此时,所述索引维持在10。从相同差分块D5生成具有相同的长度信息6的相同差分块R5。此时,所述索引随着长度增加6成为16。从删除差分块D6生成具有相同的长度信息3的附加差分块R6,其中,从旧版本数据在索引16指示的位置提取相当于长度3的数据P、Q、R作为附加数据,并使其包含在附加差分块R6中,所述索引增加3成为19。

图7示出在步骤425中使用差分数据执行从旧版本数据到新版本数据的更新的同时,使用差分数据和旧版本数据生成用于回滚的差分数据的过程的一例。

为了执行从旧版本数据到新版本数据的更新的同时,产生用于回滚的差分数据,主控制部30可以管理在存储部50中指示旧版本数据的数据位置的第一索引和指示新版本数据的数据位置的第二索引。

更新过程中应用附加差分块时,保持第一索引,将附加数据复制到新版本数据的第二索引指示的位置,第二索引增加相当于对应长度信息,从附加差分块生成删除差分块。

更新过程中应用相同差分块时,旧版本数据的第一索引指示的位置的相当于对应长度信息的数据复制到第二索引指示的位置,第二索引增加相当于对应长度信息,第一索引增加相当于对应长度信息,从相同差分块生成相同差分块。

在更新过程中应用删除差分块时,在旧版本数据的第一索引指示的位置提取相当于对应长度信息的数据作为附加数据,生成附加差分块,第一索引增加相当于对应长度信息,维持第二索引。

将详细说明图7例示的从差分数据和旧版本数据生成新版本数据和用于回滚的差分数据的过程为如下。

当应用附加差分块D1时,维持第一索引1,将附加数据S、T、U复制到新版本数据的第二索引1指示的位置,第二索引1增加相当于长度3成为4,并且,从附加差分块D1生成具有长度信息3的删除差分块R1。

当应用相同差分块D2时,旧版本数据的第一索引1指示的位置的相当于长度5的数据A、B、C、D、E复制到新版本数据的第二索引4指示的位置,第二索引4增加相当于长度5成为9,第一索引1也增加相当于长度5成为6,并且,从相同差分块D2生成具有长度信息5的相同差分块R2。

当应用删除差分块D3时,在旧版本数据的第一索引6指示的位置提取相当于长度4的数据F、G、H、I作为附加数据,生成具有长度4及数据F、G、H、I的附加差分块R3,第一索引6增加相当于长度4成为10,维持第二索引9。

当应用附加差分块D4时,维持第一索引10,将附加数据V、W、X、Y复制到新版本数据的第二索引9指示的位置,第二索引9增加相当于长度4成为13,并且,从附加差分块D4生成具有长度信息4的删除差分块R4。

当应用相同差分块D5时,旧版本数据的第一索引10指示的位置的相当于长度6的数据J、K、L、M、N、O复制到新版本数据的第二索引13指示的位置,第二索引13增加相当于长度6成为19,第一索引10也增加相当于长度6成为16,从相同差分块D5生成具有长度信息6的相同差分块R5。

当应用删除差分块D6时,在旧版本数据的第一索引16指示的位置提取相当于长度3的数据P、Q、R作为附加数据,并且,生成具有长度3和数据P、Q、R的附加差分块R6,第一索引16增加相当于长度3成为19,并维持第二索引19。

图8示出在步骤450中使用用于回滚的差分数据执行从新版本数据到旧版本数据的回滚的过程的一例。

为了使用用于回滚的差分数据执行从新版本数据到旧版本数据的回滚,主控制部30可以管理在存储部50上指示新版本数据的数据位置的第一索引和指示旧版本数据的数据位置的第二索引。

当应用删除差分块R1时,第一索引1增加相当于长度3成为4,并且维持第二索引1。

当应用相同差分块R2时,新版本数据的第一索引4指示的位置的相当于长度5的数据A、B、C、D、E复制到旧版本数据的第二索引1指示的位置,第二索引1增加相当于长度5成为6,第一索引4也增加相当于长度5成为9。

当应用附加差分块R3时,维持第一索引9,将附加数据F、G、H、I复制到旧版本数据的第二索引6指示的位置,第二索引6增加相当于长度4成为10。

当应用删除差分块R4时,第一索引9增加相当于长度4成为13,并且维持第二索引10。

当应用相同差分块R5时,新版本数据的第一索引13指示的位置的相当于长度6的数据J、K、L、M、N、O复制到旧版本数据的第二索引10指示的位置,第二索引10增加相当于长度6成为16,第一索引13也增加相当于长度6成为19。

当应用附加差分块R6时,维持第一索引19,将附加数据P、Q、R复制到旧版本数据的第二索引16指示的位置,第二索引16增加相当于长度3成为19。

参考图8,可以确认使用用于回滚的差分数据从新版本数据回滚的旧版本数据与图6及图7的旧版本数据相同。

可以通过计算机程序指令来执行本发明所附框图的每个块及流程图的各步骤的组合。由于计算机程序指令可以加载在通用计算机、专用计算机或其他可编程数据处理设备的处理器上,因此,由计算机或其他可编程数据处理设备的处理器执行的指令产生用于执行框图的每个块或流程图的各步骤中说明的功能的装置。由于计算机程序指令也可以存储在能够由计算机或其他可编程数据处理设备支持的计算机可用或计算机可读存储器中,以便以特定方式体现功能,所以存储在计算机可用或计算机可读存储器中的指令可以产生其中嵌入有指令装置的制造项目,该指令装置执行框图的每个块或流程图的各步骤中说明的功能。由于计算机程序指令可以加载到计算机或其他可编程数据处理设备上,所以计算机或其他可编程数据处理设备执行一系列操作步骤,并且生成由计算机执行的程序,使得在计算机或其他可编程数据处理设备中执行的指令可以提供用于执行框图的每个块和流程图的各步骤中说明的功能的步骤。

此外,每个块或每个步骤可以指代模块、节段或代码的一部分,其包括用于执行特定逻辑功能的一个或多个指令。此外,应注意,在一些替代实施例中,在块或步骤中叙述的功能可以在偏离顺序的情况下发生。例如,连续示出的两个块或步骤可以基本上同时执行,或者有时可以根据对应的功能以相反的顺序执行。

以上,仅用于示例性地说明本发明的技术精神,并且本发明所属领域的普通技术人员可以在不脱离本发明的本质特征的情况下对其进行各种改变和修改。因此,本发明中公开的实施例不是旨在限制而是解释本发明的技术精神,并且本发明的技术精神范围不应受上述实施例的限制。本发明的保护范围应由所附权利要求来解释,并且在其等同范围内的所有技术精神都应包括在本发明的范围内。

技术分类

06120116018709