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

一种FOTA的升级回滚方法及升级回滚系统与流程

2021-12-08 00:26:00 来源:中国专利 TAG:

一种fota的升级回滚方法及升级回滚系统
技术领域
1.本发明涉及固件升级技术领域,尤其涉及一种fota的升级回滚方法及升级回滚系统。


背景技术:

2.fota(firmware over

the

air,固件空中升级)技术是通过空中下载的方式有效而可靠地对具有连网功能的设备,例如手机、平板电脑、便携式媒体播放器、移动互联网设备等进行升级的一种手段。通过这种方式,制造商能够更加快速地向用户提供固件升级服务,不仅极大方便了制造商的固件维护效率,节约了维护成本,而且还可以提高用户对设备的满意度。
3.目前,当通过fota技术对车载设备进行固件升级时,有可能出现的问题是:当升级文件本身有错误或者下载升级文件的过程中出错时,将会导致固件升级失败,使得车载设备无法正常使用,轻则导致驾驶体验下降,重则有可能引发交通事故。
4.因此,很有必要对现有技术进行改进。
5.以上信息作为背景信息给出只是为了辅助理解本公开,并没有确定或者承认任意上述内容是否可用作相对于本公开的现有技术。


技术实现要素:

6.本发明提供一种fota的升级回滚方法及升级回滚系统,以解决现有技术的不足。
7.为实现上述目的,本发明提供以下的技术方案:
8.第一方面,本发明实施例提供一种fota的升级回滚方法,所述方法包括:
9.接收升级文件;
10.将所述升级文件传输至外部存储器,并在所述外部存储器中对所述升级文件进行升级校验;
11.判断校验是否通过;
12.若是,则从所述外部存储器中将所述升级文件更新到内部flash存储器中的代码区内,以进行固件升级;
13.若否,则结束升级。
14.进一步地,所述fota的升级回滚方法中,所述接收升级文件的步骤包括:
15.通过有线或无线的方式接收经加密的升级文件。
16.进一步地,所述fota的升级回滚方法中,所述将所述升级文件传输至外部存储器,并在所述外部存储器中对所述升级文件进行升级校验的步骤包括:
17.将所述升级文件传输至外部存储器;
18.在所述外部存储器中对所述升级文件进行解密处理;
19.在所述外部存储器中对解密后的所述升级文件进行升级校验。
20.进一步地,所述fota的升级回滚方法中,在所述从所述外部存储器中将所述升级
文件更新到内部flash存储器中的代码区内,以进行固件升级的步骤之前,所述方法还包括:
21.将内部flash存储器中的代码区内的老版本固件文件备份至备份区。
22.进一步地,所述fota的升级回滚方法中,在所述从所述外部存储器中将所述升级文件更新到内部flash存储器中的代码区内,以进行固件升级的步骤之后,所述方法还包括:
23.监测升级的过程中是否出现错误;
24.若是,则从所述内部flash存储器中的备份区内将老版本固件文件回滚到所述内部flash存储器中的代码区内。
25.若否,则删除所述内部flash存储器中的备份区内的老版本固件文件。
26.第二方面,本发明实施例提供一种fota的升级回滚系统,所述系统包括:
27.数据接收模块,用于接收升级文件;
28.升级校验模块,用于将所述升级文件传输至外部存储器,并在所述外部存储器中对所述升级文件进行升级校验;
29.校验判断模块,用于判断校验是否通过;
30.固件升级模块,用于若校验通过,则从所述外部存储器中将所述升级文件更新到内部flash存储器中的代码区内,以进行固件升级;若校验不通过,则结束升级。
31.进一步地,所述fota的升级回滚系统中,所述数据接收模块具体用于:
32.通过有线或无线的方式接收经加密的升级文件。
33.进一步地,所述fota的升级回滚系统中,所述升级校验模块具体用于:
34.将所述升级文件传输至外部存储器;
35.在所述外部存储器中对所述升级文件进行解密处理;
36.在所述外部存储器中对解密后的所述升级文件进行升级校验。
37.进一步地,所述fota的升级回滚系统中,所述系统还包括数据备份模块,用于:
38.在所述从所述外部存储器中将所述升级文件更新到内部flash存储器中的代码区内,以进行固件升级的步骤之前,将内部flash存储器中的代码区内的老版本固件文件备份至备份区。
39.进一步地,所述fota的升级回滚系统中,所述系统还包括升级检测模块,用于:
40.在所述从所述外部存储器中将所述升级文件更新到内部flash存储器中的代码区内,以进行固件升级的步骤之后,监测升级的过程中是否出现错误;
41.若是,则从所述内部flash存储器中的备份区内将老版本固件文件回滚到所述内部flash存储器中的代码区内。
42.若否,则删除所述内部flash存储器中的备份区内的老版本固件文件。
43.与现有技术相比,本发明实施例具有以下有益效果:
44.本发明实施例提供的一种fota的升级回滚方法及升级回滚系统,通过先在外部存储器中对升级文件进行升级校验,待校验通过后再更新到内部flash存储器中的代码区内,使得固件升级的安全性与稳定性得到了大大的提高,降低了车载设备因固件升级失败而无法正常使用的概率,提高了用户的使用体验。
附图说明
45.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
46.图1是本发明实施例一提供的一种fota的升级回滚方法的流程示意图;
47.图2是本发明实施例二提供的一种fota的升级回滚方法的流程示意图;
48.图3是本发明实施例三提供的一种fota的升级回滚系统的功能模块图;
49.图4是本发明实施例三提供的硬件结构图。
具体实施方式
50.为使得本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
51.在本发明的描述中,需要理解的是,当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中设置的组件。当一个组件被认为是“设置在”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中设置的组件。
52.此外,术语“长”“短”“内”“外”等指示方位或位置关系为基于附图所展示的方位或者位置关系,仅是为了便于描述本发明,而不是指示或暗示所指的装置或原件必须具有此特定的方位、以特定的方位构造进行操作,以此不能理解为本发明的限制。
53.下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
54.实施例一
55.鉴于现有技术存在的缺陷,本发明人基于从事汽车行业多年丰富的实务经验及专业知识,并配合学理的运用,积极加以研究创新,以期创设一种切实可行的固件升级技术,使其更具有实用性。在经过不断的研究、设计并反复试作及改进后,终于创设出确具实用价值的本发明。
56.请参阅图1,图1是本发明实施例公开的一种fota的升级回滚方法的流程示意图,该方法适用于对车载设备进行固件升级的场景,该方法由fota的升级回滚系统来执行,该系统可以由软件和/或硬件实现,集成于车载设备内部。如图1所示,该fota的升级回滚方法可以包括以下步骤:
57.s101、接收升级文件。
58.需要说明的是,升级文件指的是用于进行固件升级的新版本固件文件。
59.在本实施例中,所述步骤s101进一步包括:
60.通过有线或无线的方式接收经加密的升级文件。
61.需要说明的是,本实施例接收升级文件的方式可以有很多种,主要分为有线方式和无线方式,其中有线方式比如通过数据线,无线方式比如通过gprs或者蓝牙。在进行升级文件传输时,为了保证升级文件的安全,尤其是通过无线方式传输升级文件时,需要在云端
服务器就对升级文件进行加密。
62.另外,在接收升级文件之前,本实施例还存在触发云端服务器下发升级文件的内容,即还包括主动向云端服务器发送升级请求或者是被动接收云端服务器推送的升级通知。
63.s102、将所述升级文件传输至外部存储器,并在所述外部存储器中对所述升级文件进行升级校验。
64.需要说明的是,在本实施例中,固件是需要最终刷写在内部flash存储器中的,而如果在升级的一开始阶段就直接将升级文件更新到内部flash存储器中,则不可避免的需要承担固件升级失败后车载设备无法正常使用的风险,因此本实施例创造性的在接收到升级文件后,先将升级文件转移到外部存储器中,然后在外部存储器中对升级文件进行升级校验,待校验通过后再更新到内部flash存储器中的代码区内,使得固件升级的安全性与稳定性得到了大大的提高。其中,升级校验实质上就是现在外部存储器中进行一次固件升级,看看升级是否顺利,如果升级顺利则表示校验通过。
65.在本实施例中,所述步骤s102进一步包括:
66.将所述升级文件传输至外部存储器;
67.在所述外部存储器中对所述升级文件进行解密处理;
68.在所述外部存储器中对解密后的所述升级文件进行升级校验。
69.需要说明的是,由于升级文件在云端服务器处就已经经过加密,因此本实施例在传输加密后的升级文件时可以不解密且也不需要解密,但在进行升级校验时就需要先对加密的升级文件进行解密处理,这样才能得到能够进行固件升级的最终升级文件。而且,由于此时已经没有了被窃取的风险,因此此时对升级文件的解密是可以的。
70.s103、判断校验是否通过;若是,则执行步骤s104,若否,则执行步骤s105。
71.需要说明的是,如前所述,在本实施例中判断校验是否通过主要就是判断在外部存储器中进行的固件升级是否顺利,若顺利则表示校验通过,若不顺利则表示校验不通过。
72.s104、从所述外部存储器中将所述升级文件更新到内部flash存储器中的代码区内,以进行固件升级。
73.需要说明的是,在内部flash存储器中设有代码区和备份区,代码区中存储的是升级后的固件文件,因此当从所述外部存储器中将所述升级文件更新到内部flash存储器中时,实际上需要将所述升级文件更新到内部flash存储器中的代码区内。
74.s105、结束升级。
75.需要说明的是,对于校验不通过的升级文件,本实施例会结束本次的固件升级,如有需要则可以重复步骤s101,以重新接收升级文件。
76.本发明实施例提供的一种fota的升级回滚方法,通过先在外部存储器中对升级文件进行升级校验,待校验通过后再更新到内部flash存储器中的代码区内,使得固件升级的安全性与稳定性得到了大大的提高,降低了车载设备因固件升级失败而无法正常使用的概率,提高了用户的使用体验。
77.实施例二
78.请参阅图2,图2是本发明实施例公开的一种fota的升级回滚方法的流程示意图。本实施例在实施例一提供的技术方案的基础上,在步骤s104“从所述外部存储器中将所述
升级文件更新到内部flash存储器中的代码区内,以进行固件升级”之前和之后,对该方法做了进一步优化。与上述各实施例相同或相应的术语的解释在此不再赘述,具体的,本实施例提供的方法还可以包括如下步骤:
79.s201、接收升级文件。
80.s202、将所述升级文件传输至外部存储器,并在所述外部存储器中对所述升级文件进行升级校验。
81.s203、判断校验是否通过;若是,则执行步骤s204,若否,则执行步骤s209。
82.s204、将内部flash存储器中的代码区内的老版本固件文件备份至备份区。
83.需要说明的是,为了保证因发生断电、瞬时掉电等事件而导致的升级中断不会对汽车的行驶安全造成威胁,本实施例在将所述升级文件更新到内部flash存储器中的代码区内之前,会先将内部flash存储器中的代码区内的老版本固件文件备份至备份区,这样即使固件升级失败,也仍可以回滚到老版本固件文件,从而可以保证车载设备能够正常工作。
84.s205、从所述外部存储器中将所述升级文件更新到内部flash存储器中的代码区内,以进行固件升级。
85.需要说明的是,若固件升级完成,则所述内部flash存储器中的备份区内的老版本固件文件不再需要,可将其做删除处理,然后对新版本的固件文件进行备份。
86.s206、监测升级的过程中是否出现错误;若是,则执行步骤s207,若否,则执行步骤s208。
87.s207、从所述内部flash存储器中的备份区内将老版本固件文件回滚到所述内部flash存储器中的代码区内。
88.s208、删除所述内部flash存储器中的备份区内的老版本固件文件。
89.需要说明的是,在回滚成功后,所述内部flash存储器中的备份区内的老版本固件文件同样不再需要,可将其做删除处理。
90.s209、结束升级。
91.本发明实施例提供的一种fota的升级回滚方法,通过先在外部存储器中对升级文件进行升级校验,待校验通过后再更新到内部flash存储器中的代码区内,使得固件升级的安全性与稳定性得到了大大的提高,降低了车载设备因固件升级失败而无法正常使用的概率,提高了用户的使用体验。
92.实施例三
93.请参阅附图3,为本发明实施例三提供的一种fota的升级回滚系统的功能模块示意图,该系统适用于执行本发明实施例提供的fota的升级回滚方法。该系统具体包含如下功能模块:
94.数据接收模块301,用于接收升级文件;
95.升级校验模块302,用于将所述升级文件传输至外部存储器,并在所述外部存储器中对所述升级文件进行升级校验;
96.校验判断模块303,用于判断校验是否通过;
97.固件升级模块304,用于若校验通过,则从所述外部存储器中将所述升级文件更新到内部flash存储器中的代码区内,以进行固件升级;若校验不通过,则结束升级。
98.需要说明的的,本实施例中的所有功能模块均为微控制单元的能力体现,该微控
制单元具有车载网络接口和内部flash存储器,在执行本发明实施例提供的fota的升级回滚方法时,该微控制单元还需要配合一外部存储器,具体涉及的硬件如图4所示,其中车载网络接口可为有线接口和/或无线接口。
99.优选的,所述数据接收模块301具体用于:
100.通过有线或无线的方式接收经加密的升级文件。
101.优选的,所述升级校验模块302具体用于:
102.将所述升级文件传输至外部存储器;
103.在所述外部存储器中对所述升级文件进行解密处理;
104.在所述外部存储器中对解密后的所述升级文件进行升级校验。
105.优选的,所述系统还包括数据备份模块,用于:
106.在所述从所述外部存储器中将所述升级文件更新到内部flash存储器中的代码区内,以进行固件升级的步骤之前,将内部flash存储器中的代码区内的老版本固件文件备份至备份区。
107.优选的,所述系统还包括升级检测模块,用于:
108.在所述从所述外部存储器中将所述升级文件更新到内部flash存储器中的代码区内,以进行固件升级的步骤之后,监测升级的过程中是否出现错误;
109.若是,则从所述内部flash存储器中的备份区内将老版本固件文件回滚到所述内部flash存储器中的代码区内。
110.若否,则删除所述内部flash存储器中的备份区内的老版本固件文件。
111.本发明实施例提供的一种fota的升级回滚系统,通过先在外部存储器中对升级文件进行升级校验,待校验通过后再更新到内部flash存储器中的代码区内,使得固件升级的安全性与稳定性得到了大大的提高,降低了车载设备因固件升级失败而无法正常使用的概率,提高了用户的使用体验。
112.至此,以说明和描述的目的提供上述实施例的描述。不意指穷举或者限制本公开。特定的实施例的单独元件或者特征通常不受到特定的实施例的限制,但是在适用时,即使没有具体地示出或者描述,其可以互换和用于选定的实施例。在许多方面,相同的元件或者特征也可以改变。这种变化不被认为是偏离本公开,并且所有的这种修改意指为包括在本公开的范围内。
113.提供示例实施例,从而本公开将变得透彻,并且将会完全地将该范围传达至本领域内技术人员。为了透彻理解本公开的实施例,阐明了众多细节,诸如特定零件、装置和方法的示例。显然,对于本领域内技术人员,不需要使用特定的细节,示例实施例可以以许多不同的形式实施,而且两者都不应当解释为限制本公开的范围。在某些示例实施例中,不对公知的工序、公知的装置结构和公知的技术进行详细地描述。
114.在此,仅为了描述特定的示例实施例的目的使用专业词汇,并且不是意指为限制的目的。除非上下文清楚地作出相反的表示,在此使用的单数形式“一个”和“该”可以意指为也包括复数形式。术语“包括”和“具有”是包括在内的意思,并且因此指定存在所声明的特征、整体、步骤、操作、元件和/或组件,但是不排除存在或额外地具有一个或以上的其他特征、整体、步骤、操作、元件、组件和/或其组合。除非明确地指示了执行的次序,在此描述的该方法步骤、处理和操作不解释为一定需要按照所论述和示出的特定的次序执行。还应
当理解的是,可以采用附加的或者可选择的步骤。
115.当元件或者层称为是“在
……
上”、“与
……
接合”、“连接到”或者“联接到”另一个元件或层,其可以是直接在另一个元件或者层上、与另一个元件或层接合、连接到或者联接到另一个元件或层,也可以存在介于其间的元件或者层。与此相反,当元件或层称为是“直接在
……
上”、“与
……
直接接合”、“直接连接到”或者“直接联接到”另一个元件或层,则可能不存在介于其间的元件或者层。其他用于描述元件关系的词应当以类似的方式解释(例如,“在
……
之间”和“直接在
……
之间”、“相邻”和“直接相邻”等)。在此使用的术语“和/或”包括该相关联的所罗列的项目的一个或以上的任一和所有的组合。虽然此处可能使用了术语第一、第二、第三等以描述各种的元件、组件、区域、层和/或部分,这些元件、组件、区域、层和/或部分不受到这些术语的限制。这些术语可以只用于将一个元件、组件、区域或部分与另一个元件、组件、区域或部分区分。除非由上下文清楚地表示,在此使用诸如术语“第一”、“第二”及其他数值的术语不意味序列或者次序。因此,在下方论述的第一元件、组件、区域、层或者部分可以采用第二元件、组件、区域、层或者部分的术语而不脱离该示例实施例的教导。
116.空间的相对术语,诸如“内”、“外”、“在下面”、“在
……
的下方”、“下部”、“上方”、“上部”等,在此可出于便于描述的目的使用,以描述如图中所示的一个元件或者特征和另外一个或多个元件或者特征之间的关系。空间的相对术语可以意指包含除该图描绘的取向之外该装置的不同的取向。例如如果翻转该图中的装置,则描述为“在其他元件或者特征的下方”或者“在元件或者特征的下面”的元件将取向为“在其他元件或者特征的上方”。因此,示例术语“在
……
的下方”可以包含朝上和朝下的两种取向。该装置可以以其他方式取向(旋转90度或者其他取向)并且以此处的空间的相对描述解释。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献