一种车辆的升级方法、升级系统、设备和介质与流程

文档序号:32312281发布日期:2022-11-23 12:08阅读:83来源:国知局
一种车辆的升级方法、升级系统、设备和介质与流程

1.本技术涉及车辆系统升级技术领域,具体涉及一种车辆的升级方法、升级系统、设备和介质。


背景技术:

2.随着汽车智能化的飞速发展,普通的汽车电子已无法满足汽车智能化的性能要求,所以需要带有操作系统的soc来作为汽车智能化的基座,在软件开发过程中如果遇到了前期未发现的bug需要解决,应用软件的功能升级以及问题修复都要求车辆电子器件本身具备的能力,汽车远程ota升级的出现解决了这些问题。
3.在对soc进行fota升级时,升级包是比对巨大的,升级时间非常的长,用户体验比对差,但是大多时候有改变的分区可能就一到两个分区,其他分区没有改变也需要一起升级,并且通过版本号来管理升级过程是比对繁琐,复杂,不直观的。


技术实现要素:

4.鉴于以上所述现有技术的缺点,本发明提供一种车辆的升级方法、升级系统、设备和介质,以解决上述技术问题。
5.本发明提供的一种车辆的升级方法,包括将所有分区的唯一哈希值保存至不会被擦除的设定分区中;将现在系统的哈希值与升级包内的对应哈希值进行比对;根据所述比对的结果进行升级;将升级结果和升级后所有分区的哈希值返回系统。
6.于本发明的一实施例中,将现在系统的哈希值与升级包内的对应哈希值进行比对包括:
7.获取升级包,获取升级包中每一分区的哈希值;获取当前版本中每一分区对应的唯一哈希值;根据分区的名称将升级包中的哈希值与当前版本中对应的的唯一哈希值进行对应比对;若与当前版本的唯一哈希值存在差异或在当前版本中未出现对应分区,则将该分区的配置信息加入到待升级分区列表中;根据待升级分区列表生成待升级分区的配置文件。
8.于本发明的一实施例中,根据分区的名称将升级包中的哈希值与当前版本中对应的的唯一哈希值进行对应比对;若与当前版本的唯一哈希值存在差异或在当前版本中未出现对应分区,则将该分区的配置信息加入到待升级分区列表中;包括:
9.读取升级包中的配置文件,并进行解析,生成第一文件;读取当前版本中的配置文件,并进行解析,生成第二文件;将所述第一文件中的每项数据与所述第二文件中的数据进行匹配操作;若第二文件中不存在,或者第二文件中存在但哈希值不相同,则判定为需要升级的分区,将该分区加入到待升级分区列表。
10.于本发明的一实施例中,所述升级方法还包括对待升级分区的配置文件的校验过程,该校验过程包括:
11.读取所述升级配置文件;对配置文件进行校验;若配置文件校验成功,则进行升
级;若配置文件校验不成功,则返回升级失败。
12.于本发明的一实施例中,将升级结果和升级后所有分区的哈希值返回系统包括:
13.获取升级包中的配置文件;将配置文件写入到所述不会被擦除的设定分区中,以替换升级之前的相关配置信息;将所述配置文件返回给上层应用,以使上层应用记录此次升级结果,并根据升级结果做进一步的操作。
14.于本发明的一实施例中,所述唯一哈希值通过各分区信息的循环冗余校验得到。
15.于本发明的一实施例中,将所有分区的唯一哈希值保存至不会被擦除的设定分区中包括:
16.将所述唯一哈希值与分区名称组成json文件;保存所述json文件至所述不会被擦除的设定分区中。
17.于本发明的一实施例中,一种车辆的升级系统,所述系统包括:
18.拷贝模块,用于将所有分区的唯一哈希值保存至不会被擦除的设定分区中;
19.比对模块,用于将现在系统的哈希值与升级包内的对应哈希值进行比对;
20.升级模块,根据所述比对的结果进行升级;
21.返回模块,将升级结果和升级后所有分区的哈希值返回系统。
22.于本发明的一实施例中,一种电子设备,所述电子设备包括:
23.一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述任一项所述的车辆升级方法。
24.于本发明的一实施例中,一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行上述中任一项所述的控制方法。
25.本发明的有益效果:本发明中的哈希值比对可以很好的判断出那个分区需要升级,对需要升级的分区进行升级,不需要升级的分区不进行升级。缩短了升级时间,提高了用户的体验感受。
26.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
27.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
28.图1是本技术的一示例性实施例示出的车辆升级方法示意图;
29.图2是本技术的一示例性实施例示出的哈希值的对比示意图;
30.图3是本技术的一示例性实施例示出的哈希值差异判断示意图;
31.图4是本技术的一示例性实施例示出的升级流程示意图;
32.图5是本技术的另一示例性实施例中车辆升级系统示意图;
33.图6是用来实现本技术实施例的电子设备的计算机系统的结构示意.
具体实施方式
34.以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
35.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
36.在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
37.首先进行以下说明:
38.soc(system on chip系统级芯片)也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。
39.ota(overthe air technology空中下载技术)是通过移动通信技术在无线系统上进行升级的空中下载技术。汽车ota是针对车内应用、多媒体系统或者整车底层系统升级。
40.fota(firmware ota)是指对车辆三电系统控制程序的升级,它可以改变车辆的充放电、动能回收、加速性能、辅助驾驶系统逻辑等等与深度驾控有关的体验。
41.哈希值就是文件的身份证,根据文件大小,时间,类型,创作者,机器等计算出来的,很容易就会发生变化。哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。
42.bug(漏洞)指电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题,在程序设计中的术语,是指在软件运行中因为程序本身有错误而造成的功能不正常、体验不佳、死机、数据丢失、非正常中断等现象。
43.crc(cyclic redundancy check循环冗余校验)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术。
44.json(java script objectnotation轻量级的数据交换格式)具有简单清晰的数据结构,易于读写,解析和生成。
45.请参阅图1,本发明提供了一种车辆的升级方法,该升级方法主要用于车辆的soc fota升级方面,该升级方法将soc系统进行分区,利用哈希值判断是否有实质的升级内容,在升级时,只对有实质升级内容的分区进行升级,没有实质升级内容的分区不进行升级,可以使得升级时间变短,提高用户体验。
46.请继续参阅图1,该车辆的升级方法包括以下步骤:
47.s1:将所有分区的唯一哈希值保存至不会被擦除的设定分区中。先根据分区的配置文件计算出分区的唯一哈希值,然后将所有分区的唯一哈希值保存到不会被擦除的设定
分区中。
48.s2:将现在系统的哈希值与升级包内的对应哈希值进行比对。通过比对找到现在版本系统哈希值和升级包中哈希值的差异,从而对有差异的分区升级。没有差异的分区不进行升级,缩短升级的时间。具体过程如图2所示,s210:获取升级包,获取升级包中每一分区的哈希值,等待升级压缩包,当收到升级压缩包后,进行解压缩包,并获取升级包中的哈希值,进行存储等待调用。s220:获取当前版本中每一分区对应的唯一哈希值,获取当前版本的哈希值,对不会被擦除的设定分区中保存的哈希值进行调用。s230:根据分区的名称将升级包中的哈希值与当前版本中对应的唯一哈希值进行对应比对,s240:若与当前版本的唯一哈希值存在差异或在当前版本中未出现对应分区,则将该分区的配置信息加入到待升级分区列表中;对比哈希值,找出有差异的哈希值和该哈希值对应分区。s250:根据待升级分区列表生成待升级分区的配置文件,统计差异项,并且生成升级配置文件。
49.上述进行对比的过程请参阅图3,首先如s231:读取升级包中的配置文件,并进行解析,生成第一文件,其中,读取升级包中的对应的分区名字和哈希值组成第一文件。s232:读取当前版本中的配置文件,并进行解析,生成第二文件,其中,读取当前版本系统分区的名字和哈希值组成第二文件。并且在s231和s232这两步骤中保证分区的名字和分区的哈希值一一对应。而且分区的名字是唯一的且不重复。之后进行步骤s233:将所述第一文件中的每项数据与所述第二文件中的数据进行匹配操作,若第二文件中不存在,或者第二文件中存在但哈希值不相同,则判定为需要升级的分区,将该分区加入到待升级分区列表。此过程中,遍历第一文件中的所有数据,检查各个细项中是否在第二文件中出现,也就是将第一文件和第二文件里的所有内容进行一一比对。第一文件中的内容是否在第二文件中存在,如果存在则比较哈希值是否相同,不相同的则加入到带升级项中,如果不存在也加入到待升级项中。最后根据待升级项生成升级配置文件。
50.s3:根据所述比对的结果进行升级。根据前面比对的结果对哈希值有差异的分区进行升级。具体升级的过程如图4,s310:读取所述升级配置文件,首先读取上述生成的升级配置文件。s320:对配置文件进行校验,检验正确则进入下一步,不正确则返回上层。s330:若配置文件校验成功,则进行升级;若配置文件校验不成功,则返回升级失败。经校验正确后,进行升级,对升级配置文件中的分区进行升级。从而实现了只对需要升级的分区,有变化的分区进行升级,对没有升级变动的分区不进行升级,大大缩短了升级所需要的时间。提升了用户的使用体验。校验不成功和升级不成功的全都返回失败,返回到上一层。最后如s340:记录升级成功后的哈希值。
51.s4:将升级结果和升级后所有分区的哈希值返回系统。用于系统判断升级是否成功,以及将升级后版本的系统哈希值保存到设定的分区,等待下次升级时与新的升级包进行比对。
52.于本发明的一实施例中,哈希值是根据所有分区文件信息的循环冗余校验得到,而且哈希值随着文件的改变而改变。而且将所有分区的唯一哈希值保存至不会被擦除的设定分区中包括:将所述唯一哈希值与分区名称组成json文件,保存所述json文件至所述不会被擦除的设定分区中。
53.请参阅图5,于本发明的一实施例中,本发明还提供一种车辆的升级系统500,包括:
54.拷贝模块501,用于将所有分区的唯一哈希值保存至不会被擦除的设定分区中;
55.比对模块502,用于将现在系统的哈希值与升级包内的对应哈希值进行比对,找到有差异的分区,并将有差异的分区生成升级配置文件。
56.升级模块503,根据所述比对的结果进行升级,按照升级配置文件进行升级,将需要升级的分区进行升级,不需要升级的分区不进行升级,节省了时间。
57.返回模块504,将升级结果和升级后所有分区的哈希值返回系统。返回的哈希值保存到不会被擦除的设定分区中,用于下次升级时进行比对。
58.请参阅图6,于本发明的一实施例中,还提供一种电子设备,所述电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述任一项所述的控制方法。图6示出的电子设备的计算机系统600仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
59.计算机系统600包括中央处理单元(central processing unit,cpu)601,其可以根据存储在只读存储器(read-only memory,rom)602中的程序或者从储存部分608加载到随机访问存储器(random access memory,ram)603中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在ram 603中,还存储有系统操作所需的各种程序和数据。cpu 601、rom 602以及ram 603通过总线604彼此相连。输入/输出(input/output,i/o)接口605也连接至总线604。
60.以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分607;包括硬盘等的储存部分608;以及包括诸如lan(local areanetwork,局域网)卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入储存部分608。
61.于本发明的一实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行上述中任一项所述的控制方法。
62.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发
送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
63.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
64.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
65.上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1