通信模块远程升级方法及系统技术方案

技术编号:33544973 阅读:14 留言:0更新日期:2022-05-21 10:01
本发明专利技术实施例提供一种通信模块远程升级方法及系统,属于模块升级技术领域。所述方法包括:响应于升级指令,生成差分升级包;基于优化后的bsdiff算法,对差分升级包进行操作顺序重新排序;通过重新排序后的差分升级包对通信模块中的原始固件进行直接替换或插入;完成差分升级后,判断升级结果,并在升级结果为升级成功后上报升级完成确认信号。本发明专利技术方案保证了嵌入式设备的可执行性,节省资源开支,进行模块升级的同时不会对用户使用造成干扰。模块升级的同时不会对用户使用造成干扰。模块升级的同时不会对用户使用造成干扰。

【技术实现步骤摘要】
通信模块远程升级方法及系统


[0001]本专利技术涉及模块升级
,具体地涉及一种通信模块远程升级方法及一种通信模块远程升级系统。

技术介绍

[0002]随着能源互联网建设的持续深入,电网智能化水平大幅提升,用电服务质量要求不断提高,公司电网生产运行、企业经营管理、对外客户服务正经历历史性的变革,各级电网数据采集与控制,以及用户信息交互等数据需求呈爆发性增长态势。5G低时延、高带宽和大连接三大特性,以及网络切片和边缘计算等关键技术能够满足电力业务配电网各个环节安全性、可靠性和灵活性需求,可实现配网线路区段或设备的故障判断及精准定位,快速隔离故障区段或设备。
[0003]目前存在的通信模块的程序升级方法主要有基于JTAG的程序升级方法、PC机通过USB口或者以太网连接升级、基于整包的无线升级方法等几种,但是无论是上述哪一种方法,均存在一定的弊端,并不能省时省力且准确的完成模块自动升级,目前传统的升级方法通常采用本地升级的方式,存在效率低、鲁棒性差等缺点,同时需要人工到现场点对点进行升级,工作量大,效率低下;另外传统的人工升级在升级失败时会造成原程序包破损,导致节点可能出现故障,存在一定的风险;而整包升级是整个固件的完整升级,升级数据量大,持续时间久,庞大的数据流量可能会引起网络拥塞,造成升级失败。基于上述问题,需要设计一种新的通信模块远程升级方法。

技术实现思路

[0004]本专利技术实施方式的目的是提供一种通信模块远程升级方法及一种通信模块远程升级系统,以至少解决现有通信模块升级方法均不能省时省力且准确的完成模块自动升级的问题。
[0005]为了实现上述目的,本专利技术第一方面提供一种通信模块远程升级方法,所述方法包括:响应于升级指令,生成差分升级包;基于优化后的bsdiff算法,对差分升级包进行操作顺序重新排序;通过重新排序后的差分升级包对通信模块中的原始固件进行差分升级;完成差分升级后,判断升级结果,并在升级结果为升级成功后上报升级完成确认信号。
[0006]可选的,所述通过重新排序后的差分升级包对通信模块中的原始固件进行差分升级,包括:通过重新排序后的差分升级包对通信模块中的旧版本文件进行直接替换或插入。
[0007]可选的,所述差分升级包包括:头部区域、控制区域、差异数据区域和插入数据区域;所述头部区域为差分升级包的身份标识区域;所述控制区域为差分升级包的属性信息记录区域;所述差异数据区域为待升级的新版本文件区别于旧版本文件的差异数据区域;所述插入数据区域为待升级的新版本文件区别于旧版本文件的新增数据区域。
[0008]可选的,所述生成差分升级包,包括:基于bsdiff算法获得差分升级包,包括:读取升级前的旧版本文件的固件信息,对所述固件信息的后缀进行字典培训,获得后缀排序数
组;基于所述后缀排序数组遍历待升级的新版本文件,定位待升级的新版本文件与升级前的旧版本文件之间完全相同的序列;以所述完全相同的序列为基准,按固定区域范围向新版本文件中该基准的两端进行扩展,每识别到一个与旧版本文件完全不匹配的区域,便对应将该区域存入待升级文件的差分升级包,直至扩展遍历所有新版本文件,获得差分升级包。
[0009]可选的,所述优化后的bsdiff算法为:依据预设有向图和拓扑排序,对原始bsdiff算法中的操作顺序进行重新排序;所述重新排序的规则为:先排序无读写冲突的操作顺序,后排序存在读写冲突的操作顺序;对无读写冲突的操作顺序直接进行对应的操作处理;对存在读写冲突的操作顺序增设文件指针控制操作处理。
[0010]可选的,所述文件指针控制操作处理包括:确定当前文件指针的所指位置,从该所指位置开始拷贝预设数量的字节至内存中,并在旧版本文件的数据包前增加记录该所指位置的字段;基于拷贝的预设数量的字节和所述差分升级包在旧版本文件该所指位置进行相加或插入,完成一次新文件片段更新步骤,并根据文件指针偏移规则进行一次文件指针偏移步骤;重复所述新文件片段更新步骤和文件指针偏移步骤,直到所述文件指针遍历文件完成,完成差分升级包操作顺序更新。
[0011]可选的,所述判断升级结果,包括:获取旧版本文件的版本身份信息;在完成通信模块升级后,获取升级完成后的版本文件的身份信息;对比旧版本文件的身份信息和升级完成后的版本文件的身份信息,若二者不同,判断升级结果为升级成功。
[0012]可选的,所述判断升级结果,包括:在完成通信模块升级后,获取升级完成后的版本文件的身份信息;对比升级完成后的版本文件的身份信息与预设的新版本文件的身份信息,若二者相同,判断升级结果为升级成功。
[0013]可选的,所述方法还包括:当判断升级结果为升级失败时,重新执行差分升级操作;若重新经过预设次数的差分升级后,依旧判定为升级失败,则输出报警信息。
[0014]本专利技术第二方面提供一种通信模块远程升级系统,所述系统包括:生成单元,用于响应于升级指令,生成差分升级包;处理单元,用于基于优化后的bsdiff算法,对所述差分升级包进行操作顺序重新排序;更新单元,用于通过重新排序后的差分升级包对通信模块中的原始固件进行直接替换或插入,完成差分升级后,判断升级结果;传输单元,用于在升级结果为升级成功后上报升级完成确认信号。
[0015]可选的,所述生成差分升级包,包括:基于bsdiff算法获得差分升级包,包括:读取升级前的旧版本文件的固件信息,对所述固件信息的后缀进行字典培训,获得后缀排序数组;基于所述后缀排序数组遍历待升级的新版本文件,定位待升级的新版本文件与升级前的旧版本文件之前完全相同的序列;以所述完全相同的序列为基准,向新版本文件中该基准两端的文件按固定区域范围进行扩展,每识别到一个与旧版本文件完全不匹配的区域,便对应将该区域存入待升级文件的差分升级包,直至扩展遍历所有新版本文件,获得差分升级包。
[0016]可选的,所述判断升级结果,包括:获取旧版本文件的版本身份信息;在完成通信模块升级后,获取升级完成后的版本文件的身份信息;对比旧版本文件的身份信息和升级完成后的版本文件的身份信息,若二者不同,判断升级结果为升级成功。
[0017]可选的,所述判断升级结果,包括:在完成通信模块升级后,获取升级完成后的版
本文件的身份信息;对比升级完成后的版本文件的身份信息与预设的新版本文件的身份信息,若二者相同,判断升级结果为升级成功。
[0018]可选的,所述更新单元还用于:在判断升级结果为升级失败时,重新执行差分升级操作;若重新经过预设次数的差分升级后,依旧判定为升级失败,则生成报警信息。
[0019]可选的,所述系统还包括:报警单元,用于输出所述报警信息。
[0020]另一方面,本专利技术提供一种计算机可读储存介质,该计算机可读存储介质上储存有指令,其在计算机上运行时使得计算机执行上述的通信模块远程升级方法。
[0021]通过上述技术方案,采用差分升级的方式,将固件的新旧版本的程序数据文件做差异,形成升级需要的增量包,只需要升级新版本与旧版本的差异部分,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通信模块远程升级方法,其特征在于,所述方法包括:响应于升级指令,生成差分升级包;基于优化后的bsdiff算法,对差分升级包进行操作顺序重新排序;通过重新排序后的差分升级包对通信模块中的原始固件进行差分升级;完成差分升级后,判断升级结果,并在升级结果为升级成功后上报升级完成确认信号。2.根据权利要求1所述的方法,其特征在于,所述通过重新排序后的差分升级包对通信模块中的原始固件进行差分升级,包括:通过重新排序后的差分升级包对通信模块中的旧版本文件进行直接替换或插入。3.根据权利要求1所述的方法,其特征在于,所述差分升级包包括:头部区域、控制区域、差异数据区域和插入数据区域;所述头部区域为差分升级包的身份标识区域;所述控制区域为差分升级包的属性信息记录区域;所述差异数据区域为待升级的新版本文件区别于旧版本文件的差异数据区域;所述插入数据区域为待升级的新版本文件区别于旧版本文件的新增数据区域。4.根据权利要求1所述的方法,其特征在于,所述生成差分升级包,包括:基于bsdiff算法获得差分升级包,包括:读取升级前的旧版本文件的固件信息,对所述固件信息的后缀进行字典培训,获得后缀排序数组;基于所述后缀排序数组遍历待升级的新版本文件,定位待升级的新版本文件与升级前的旧版本文件之间完全相同的序列;以所述完全相同的序列为基准,按固定区域范围向新版本文件中该基准的两端进行扩展,每识别到一个与旧版本文件完全不匹配的区域,便对应将该区域存入待升级文件的差分升级包,直至扩展遍历所有新版本文件,获得差分升级包。5.根据权利要求1所述的方法,其特征在于,所述优化后的bsdiff算法为:依据预设有向图和拓扑排序,对原始bsdiff算法中的操作顺序进行重新排序;所述重新排序的规则为:先排序无读写冲突的操作顺序,后排序存在读写冲突的操作顺序;对无读写冲突的操作顺序直接进行对应的操作处理;对存在读写冲突的操作顺序增设文件指针控制操作处理。6.根据权利要求5所述的方法,其特征在于,所述文件指针控制操作处理包括:确定当前文件指针的所指位置,从该所指位置开始拷贝预设数量的字节至内存中,并在旧版本文件的数据包前增加记录该所指位置的字段;基于拷贝的预设数量的字节和所述差分升级包在旧版本文件该所指位置进行相加或插入,完成一次新文件片段更新步骤,并根据文件指针偏移规则进行一次文件指针偏移步骤;重复所述新文件片段更新步骤和文件指针偏移步骤,直到所述文件指针遍历文件完成,完成差分升级包操作顺序更新。7.根据权利要求1所述的方法,其特征在于,所述判断升级结果,包括:获取旧版本文件的版本身份信息;
在完成通信模块升级后,获取升级完成后的版本文件的身份信息;对比旧版本文件的身份信息和升级完成后...

【专利技术属性】
技术研发人员:尹志斌甄岩郑利斌陈文彬霍超慕迪赵冲尚舒野杨东文
申请(专利权)人:北京智芯微电子科技有限公司
类型:发明
国别省市:

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

1