[发明专利]通信模块远程升级方法及系统在审
| 申请号: | 202210413878.2 | 申请日: | 2022-04-20 |
| 公开(公告)号: | CN114518897A | 公开(公告)日: | 2022-05-20 |
| 发明(设计)人: | 尹志斌;甄岩;郑利斌;陈文彬;霍超;慕迪;赵冲;尚舒野;杨东文 | 申请(专利权)人: | 北京智芯微电子科技有限公司 |
| 主分类号: | G06F8/658 | 分类号: | G06F8/658 |
| 代理公司: | 北京润平知识产权代理有限公司 11283 | 代理人: | 何智超 |
| 地址: | 100192 北京市海淀区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 通信 模块 远程 升级 方法 系统 | ||
1.一种通信模块远程升级方法,其特征在于,所述方法包括:
响应于升级指令,生成差分升级包;
基于优化后的bsdiff算法,对差分升级包进行操作顺序重新排序;
通过重新排序后的差分升级包对通信模块中的原始固件进行差分升级;
完成差分升级后,判断升级结果,并在升级结果为升级成功后上报升级完成确认信号。
2.根据权利要求1所述的方法,其特征在于,所述通过重新排序后的差分升级包对通信模块中的原始固件进行差分升级,包括:
通过重新排序后的差分升级包对通信模块中的旧版本文件进行直接替换或插入。
3.根据权利要求1所述的方法,其特征在于,所述差分升级包包括:
头部区域、控制区域、差异数据区域和插入数据区域;
所述头部区域为差分升级包的身份标识区域;
所述控制区域为差分升级包的属性信息记录区域;
所述差异数据区域为待升级的新版本文件区别于旧版本文件的差异数据区域;
所述插入数据区域为待升级的新版本文件区别于旧版本文件的新增数据区域。
4.根据权利要求1所述的方法,其特征在于,所述生成差分升级包,包括:
基于bsdiff算法获得差分升级包,包括:
读取升级前的旧版本文件的固件信息,对所述固件信息的后缀进行字典培训,获得后缀排序数组;
基于所述后缀排序数组遍历待升级的新版本文件,定位待升级的新版本文件与升级前的旧版本文件之间完全相同的序列;
以所述完全相同的序列为基准,按固定区域范围向新版本文件中该基准的两端进行扩展,每识别到一个与旧版本文件完全不匹配的区域,便对应将该区域存入待升级文件的差分升级包,直至扩展遍历所有新版本文件,获得差分升级包。
5.根据权利要求1所述的方法,其特征在于,所述优化后的bsdiff算法为:
依据预设有向图和拓扑排序,对原始bsdiff算法中的操作顺序进行重新排序;所述重新排序的规则为:
先排序无读写冲突的操作顺序,后排序存在读写冲突的操作顺序;
对无读写冲突的操作顺序直接进行对应的操作处理;
对存在读写冲突的操作顺序增设文件指针控制操作处理。
6.根据权利要求5所述的方法,其特征在于,所述文件指针控制操作处理包括:
确定当前文件指针的所指位置,从该所指位置开始拷贝预设数量的字节至内存中,并在旧版本文件的数据包前增加记录该所指位置的字段;
基于拷贝的预设数量的字节和所述差分升级包在旧版本文件该所指位置进行相加或插入,完成一次新文件片段更新步骤,并根据文件指针偏移规则进行一次文件指针偏移步骤;
重复所述新文件片段更新步骤和文件指针偏移步骤,直到所述文件指针遍历文件完成,完成差分升级包操作顺序更新。
7.根据权利要求1所述的方法,其特征在于,所述判断升级结果,包括:
获取旧版本文件的版本身份信息;
在完成通信模块升级后,获取升级完成后的版本文件的身份信息;
对比旧版本文件的身份信息和升级完成后的版本文件的身份信息,若二者不同,判断升级结果为升级成功。
8.根据权利要求1所述的方法,其特征在于,所述判断升级结果,包括:
在完成通信模块升级后,获取升级完成后的版本文件的身份信息;
对比升级完成后的版本文件的身份信息与预设的新版本文件的身份信息,若二者相同,判断升级结果为升级成功。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当判断升级结果为升级失败时,重新执行差分升级操作;
若重新经过预设次数的差分升级后,依旧判定为升级失败,则输出报警信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京智芯微电子科技有限公司,未经北京智芯微电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210413878.2/1.html,转载请声明来源钻瓜专利网。





