一种固件差分升级的控制方法、装置及存储介质制造方法及图纸

技术编号:37395853 阅读:18 留言:0更新日期:2023-04-27 07:33
本发明专利技术涉及一种固件差分升级的控制方法、装置及存储介质。本发明专利技术改进传统的差分升级方案,减少了维护固件包的数量,降低了在实际应用中维护及使用的复杂度,提升了升级处理效率。本发明专利技术将固件的固件数据划分为固定大小的数据块,利用数据块化的所述固件数据构建支持多个版本固件升级的固件差分包,所述固件差分包内包含按顺序存放差分信息的差分信息列表,所述差分信息包含位图,所述位图表示相邻的前项版本固件和后项版本固件之间数据块差异;利用所述固件差分包中位图计算设备当前版本固件和待更新的新版本固件之间的差异,按照所述差异进行固件差分升级,将当前版本固件升级到新版本固件。新版本固件。新版本固件。

【技术实现步骤摘要】
一种固件差分升级的控制方法、装置及存储介质


[0001]本专利技术涉及固件升级
,尤其涉及一种固件差分升级的控制方法、装置及存储介质。

技术介绍

[0002]对于嵌入式产品,固件升级功能可以帮助我们实现产品新功能的更新、修复漏洞、解决BUG。传统的升级方法有两种:全量升级和差分升级。
[0003]全量升级需提供新版本,升级时全部刷入目标机器,进行完整替换。优点:稳定可靠、流程简单。支持版本降级:可从新版本升级到旧版本。缺点:升级文件较大,下载传输及固件写入耗时较长,即使两个版本间只有微小差异,也会重复擦写相同的数据块。
[0004]参阅图1所示,差分升级需将最新版本与历史各版本比对生成差分升级包,升级时根据目标机器当前运行的版本来下载对应的差分升级包进行升级,当获取到差分包后,解析差分包得到差分信息,如图2所示,通常差分信息中会至少包括:当前版本的校验值和数据块映射表,当前版本的校验值用于防止将差分包应用到错误的版本上,数据块映射表用于记录差分包中的数据块与目标版本中数据块的映射关系。按照映射关系,将差分包中的块依次写入,本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种固件差分升级的控制方法,其特征在于,包括:将固件的固件数据划分为固定大小的数据块,利用数据块化的所述固件数据构建支持多个版本固件升级的固件差分包,所述固件差分包内包含按顺序存放差分信息的差分信息列表,所述差分信息包含位图,所述位图表示相邻的前项版本固件和后项版本固件之间数据块差异;利用所述固件差分包中位图计算设备当前版本固件和待更新的新版本固件之间的差异,按照所述差异进行固件差分升级,将当前版本固件升级到新版本固件。2.根据权利要求1所述的固件差分升级的控制方法,其特征在于,所述固件差分包包括:差分包头和差分包体;所述差分包头中的内容包括:固件数据所属的固件版本号、固件差分包的哈希值、差分信息列表偏置、差分信息列表大小、固件数据偏置和固件数据的大小;所述差分包体融合了差分信息列表和数据块化的固件数据。3.根据权利要求1所述的固件差分升级的控制方法,其特征在于,每个所述差分信息包括:前项固件的版本号、前项固件包的哈希值和表示前项版本固件和后项版本固件之间数据块差异的位图,其中,前项版本与后向版本为相邻的版本,前项版本在前;所述位图中的每个比特位表示前项版本固件和后项版本固件之间相应数据块是否存在差异。4.根据权利要求1所述的固件差分升级的控制方法,其特征在于,利用数据块化的所述固件数据构建支持多个版本固件升级的固件差分包包括:利用位图、新版本固件的前项版本固件的版本号和固件哈希值按照差分信息的数据格式构造出差分信息;利用差分信息生成新版本固件的差分信息列表;拼接新版本固件的差分信息列表和新版本固件的固件数据得到差分包体;利用新版本固件的固件数据、差分信息列表的大小和偏移量,新版本固件的固件哈希值和新版本固件的版本号来构造新版本固件的差分包头;拼接所述差分包头和所述差分包体得到新版本固件的固件差分包。5.根据权利要求4所述的固件差分升级的控制方法,其特征在于,利用差分信息生成新版本固件的差分信息列表时,检测前项固件版本的差分固件包是否存在;存在,则提取前项固件版本的差分固件包的差分信息列表,并将构造出的所述差分信息添加到前项固件版本的差分信息列表中得到新版本固件的差分信息列表;不存在,则创建新版本固件的空差分信息列表,并将构造出的所述差分信息添加到空...

【专利技术属性】
技术研发人员:郭卫斌
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1