[发明专利]固件升级方法、电能表、计算机设备和存储介质在审
申请号: | 202210129315.0 | 申请日: | 2022-02-11 |
公开(公告)号: | CN114510256A | 公开(公告)日: | 2022-05-17 |
发明(设计)人: | 钱波;张平;梁胜民 | 申请(专利权)人: | 杭州明特科技有限公司 |
主分类号: | G06F8/658 | 分类号: | G06F8/658;G06F12/02 |
代理公司: | 北京维正专利代理有限公司 11508 | 代理人: | 刘美莲 |
地址: | 311100 浙江省杭州市余杭区*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 升级 方法 电能表 计算机 设备 存储 介质 | ||
本申请涉及一种固件升级方法、电能表、计算机设备和计算机可读存储介质。其中,该方法包括:在服务器生成用于更新第一固件文件的第三固件文件,在进行固件升级时从存储空间中自前向后地逐个读取第一固件文件和第三固件文件中不属于待删除文件块的文件块到内存空间,并采用与文件块的类型对应的处理方式进行处理得到待拼接文件块,最后将待拼接文件块依次拼接到空文件中得到第二固件文件。通过本申请,解决了现有的增量更新方式对内存资源的占用大的问题,降低了增量更新对内存资源的占用。
技术领域
本申请涉及程序更新领域,尤其是涉及一种固件升级方法、电能表、计算机设备和计算机可读存储介质。
背景技术
设备的固件升级采用增量更新方式可以减少服务器和设备之间传输数据量,提高升级效率。
BSdiff算法是一种被广泛使用的增量更新算法,该算法包括diff过程和patch过程。diff过程中,服务器计算新版本固件与旧版本固件之间的差异,并对该差异进行编码和压缩,生成补丁文件。在patch过程中,设备解压缩补丁文件中指定的数据,并按照相应的解码规则应用补丁文件和旧版本固件,从而构建出新版本固件。
在diff过程中每次对固定或者不固定长度的文件块进行处理,得到一组数据,这组数据包括:diff string(差分文件块)、extra string(增量文件块)以及对应的控制信息。因此最后的补丁文件中包含了多组数据。在设备端的patch过程中,一方面需要将一组数据读入到内存空间中,基于控制信息还原新版固件文件的某个片段;一方面,每组数据的控制信息中的偏移量信息都是局部的偏移量信息,要得到文件片段在新版固件文件中的偏移量信息还需要占用内存资源进行额外的计算,另一方面还需要申请一个更大的内存空间用来存储新版本固件文件的各个片段,当拼接得到完整的新版固件文件后,再将新版固件文件写入到存储空间中。现有的增量更新方法对设备的内存资源占用较高。
发明内容
本申请提供一种固件升级方法、电能表、计算机设备和计算机可读存储介质,以解决现有的增量更新方式对内存资源的占用大的问题。
第一方面,本申请实施例提供了一种固件升级方法,包括:
获取用于将第一固件文件升级为第二固件文件的升级压缩包;
解压所述升级压缩包,将解压得到的第三固件文件和控制信息存储到存储空间,其中,所述第三固件文件包括差分文件块和增量文件块,且所述第三固件文件与所述第二固件文件的长度相等,所述控制信息包括所述增量文件块的偏移量信息和待删除文件块的偏移量信息,所述存储空间中还预先存储有第一固件文件;
从所述存储空间中自前向后地逐个读取所述第一固件文件和所述第三固件文件中不属于待删除文件块的文件块至内存空间,将所述控制信息读取至所述内存空间;
对所述文件块按照文件块类型和所述控制信息中的偏移量信息确定的处理方式进行处理,其中,所述处理方式包括以下之一:将两个文件块合并为待拼接文件块、选择所述第三固件文件的文件块作为待拼接文件块;
在所述存储空间创建空文件,并将所述待拼接文件块依次拼接到所述空文件,得到第二固件文件。
在其中的一些实施例中,所述内存空间包括第一内存空间、第二内存空间和第三内存空间,所述第一内存空间用于存放所述第一固件文件的文件块,所述第二内存空间用于存放所述第三固件文件的文件块,所述第三内存空间用于存放所述控制信息中的至少一个偏移量信息及其对应的文件块的类型信息;其中,所述第一内存空间与所述第二内存空间的大小相等且均不小于所述第一固件文件和所述第三固件文件的文件块的最大值。
在其中的一些实施例中,读取到内存空间中的两个文件块的大小相等且为固定值。
在其中的一些实施例中,读取到内存空间中的两个文件块的大小为可变值,该可变值根据预先设置的文件块的最大值或所述控制信息中的偏移量信息确定。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州明特科技有限公司,未经杭州明特科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210129315.0/2.html,转载请声明来源钻瓜专利网。