[发明专利]内存可控的NB-IOT模组差分升级方法及系统在审
申请号: | 202110960023.7 | 申请日: | 2021-08-20 |
公开(公告)号: | CN113590161A | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 杨宇杰;许华;郑广平;吴开钢 | 申请(专利权)人: | 广东九联科技股份有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/71 |
代理公司: | 北京润平知识产权代理有限公司 11283 | 代理人: | 李红 |
地址: | 516007 广东省惠州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 可控 nb iot 模组 升级 方法 系统 | ||
1.一种内存可控的NB-IOT模组差分升级方法,在服务器端执行,其特征在于,所述方法包括:
S1)响应于升级触发指令,收集所有模组的模组信息,并获取待升级文件的新版本二进制文件和旧版本二进制文件,其中所述新版本二进制文件为本次升级需要的二进制文件,旧版本二进制文件为上一次升级的二进制文件;
S2)根据所述模组信息、新版本二进制文件和旧版本二进制文件,生成差分升级包;
S3)将差分升级包发送到对应的待升级模组;
S4)接收升级结果,所述升级结果由模组根据所述差分升级包升级后反馈。
2.根据权利要求1所述的方法,其特征在于,步骤S1)中,所述模组信息包括:可用RAM空间、可用ROM空间和固件MD5值。
3.根据权利要求2所述的方法,其特征在于,步骤S2)中,根据所述模组信息、新版本二进制文件和所述旧版本二进制文件,生成差分升级包,包括:
计算旧版本二进制文件的MD5值;
将具有相同MD5值的旧版本二进制文件和模组划分为一组;
在同一组内,根据块大小对新版本二进制文件和旧版本二进制文件进行分块,并根据分块顺序制作差分升级包;其中,
所述块大小的计算公式为:
x=mRAM-nRAM
其中,a为块的大小值;
mRAM为模组的RAM空间值;
nRAM为新版本二进制文件和旧版本二进制文件的RAM固定值。
4.根据权利要求3所述的方法,其特征在于,所述根据分块顺序制作差分升级包,包括:
根据分块顺序逐一对比新版本块和旧版本块,直到所有新版本块对比完毕,其中:
若新版本块和旧版本块均存在且内容相同,则保留该块信息并跳过该新版本块,在块文件头部增加不需要进行升级的第一标识;
若新版本块和旧版本块均存在但内容不同,则根据开源算法bsdiff+lzma对新版本块进行差分压缩,获得差分压缩数据包,并在块文件头部增加部分需要升级的第二标识;
若新版本块存在,而旧版本块不存在,则使用开源算法lzma对新版本块进行压缩,获得压缩数据包,并在块文件头部增加全部为新增的第三标识;
若新版本块不存在,则表示完成数据差分;
整合所有块文件头部的标识信息、所述差分压缩数据包、所述压缩数据包和旧版本二进制文件MD5值,组成所述差分升级包,并在差分升级包前端添加升级版本号。
5.根据权利要求3所述的方法,其特征在于,步骤S3)中,所述将差分升级包发送到对应的待升级模组,包括:
将所述具有相同MD5值的旧版本二进制文件和模组划分的一组内的所有模组确定为待升级模组;
将所述差分升级包发送到所有待升级模组,供所有待升级模组升级。
6.一种内存可控的NB-IOT模组差分升级方法,由NB-IOT模组执行,其特征在于,所述方法包括:
根据接收自服务器的差分升级包,对差分升级文件中头部标识进行文件还原:
若文件标识为第一标识,则跳过新版本块;
若文件标识为第二标识,则备份旧版本块,使用开源算法bspatch+lzma进行解差分,解差分数据写入块ROM偏移地址;
若文件标识为第三标识,则使用开源算法lzma对压缩数据解压,解压数据写入块ROM偏移地址;
文件还原完成后,写入升级后版本号,完成模组升级;
通过NB-IOT网络反馈升级结果。
7.根据权利要求6所述的方法,其特征在于,在根据差分升级文件中头部标识进行文件还原之前,还包括:
通过检查所述差分升级包的完整性和对比待升级模组MD5值与旧版本二进制文件MD5值,判定接收文件是否为待升级模组适用的文件;
根据差分升级文件中头部标识进行文件还原。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东九联科技股份有限公司,未经广东九联科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110960023.7/1.html,转载请声明来源钻瓜专利网。