[发明专利]一种设备固件空中升级的方法有效
申请号: | 201710377054.3 | 申请日: | 2017-05-25 |
公开(公告)号: | CN107015817B | 公开(公告)日: | 2021-06-01 |
发明(设计)人: | 姜涛;孙志东;陈鹏 | 申请(专利权)人: | 北京君泊网络科技有限责任公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/71;G06F8/73 |
代理公司: | 北京君泊知识产权代理有限公司 11496 | 代理人: | 王程远 |
地址: | 100083 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种设备固件空中升级的方法,服务器端对单个设备的多个独立器件的升级文件进行打包投递,实现对多个独立器件执行共同升级,该方法包括:准备数据;数据打包;生成升级会话ID;通知设备升级开始;升级包传输;设备校验;设备升级。本发明的有益效果:支持服务器端对某个设备的多个独立组件的升级文件进行打包投递,从而对多个独立组件执行共同升级;支持在网络瞬断重连后,进行断点续传;支持升级器件的指定存储区块进行局部升级;支持使用游程编码压缩升级字节流以节省网络带宽;支持设备在升级文件投递完成后,进行CRC23正确性校验;通过多种措施的组合,能够使得设备固件升级时节省网络传输开销,提升空中升级成功率。 | ||
搜索关键词: | 一种 设备 空中 升级 方法 | ||
【主权项】:
一种设备固件空中升级的方法,其特征在于,服务器端对单个设备的多个独立器件的升级文件进行打包投递,实现对多个独立器件执行共同升级,该方法包括:步骤1,准备数据:服务器端确定设备的升级区域,包括需要升级的升级器件及升级器件指定的升级存储区块,所述服务器端根据升级区域制定待升级更新的数据;步骤2,数据打包:针对每个升级器件,所述服务器端计算该升级器件的升级内容的大小,并指定起始地址偏移量和指定长度,确定每个升级器件的固件长度,得到整体固件长度,同时,所述服务器端将所述整体固件长度生成CRC32校验值;步骤3,生成升级会话ID:所述服务器端按照时间戳和目标设备的ID随机生成一个固件升级会话ID;步骤4,通知设备升级开始:所述服务器端通知所述设备开始固件升级会话,所述设备应答所述服务器端后,开始进入固件升级会话,若所述设备未进行响应,则本次固件升级会话失败;步骤5,升级包传输:所述服务器端将所述整体固件长度的字节投递给所述设备,并按照1024字节一个帧段依次传输,所述设备每收到一个帧段,所述设备主动响应,当所述设备收到所述整体固件长度的所有字节,即全部的固件升级文件后确定传输完毕,否则所述服务器端按照指数退避算法进行多次延时重传,直到所述设备响应为止,如果所述设备一直不响应,则本次固件升级会话失败;步骤6,设备校验:所述设备接收完全部的固件升级文件后,所述设备对所述整体固件长度的字节执行CRC32正确性校验,并与步骤2中所述服务器端生成的CRC32校验值进行比较,如果与步骤2中所述服务器端生成的CRC32校验值相等,则正确性校验通过,否则正确性校验失败,本次固件升级会话失败;步骤7,设备升级:所述设备按照步骤2中所述服务器端的固件长度生成规则解析所述整体固件长度的字节,并将解析后的内容写入升级固件存储区域,所述设备重启后从新的固件存储区域引导,如果引导成功则本次固件升级会话成功,如果引导失败则所述设备从旧的固件存储区域引导,本次固件升级会话失败,其中,新的固件存储区域为解析后的内容写入之后的固件存储区域,旧的固件存储区域为解析后的内容写入之前的固件存储区域。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京君泊网络科技有限责任公司,未经北京君泊网络科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710377054.3/,转载请声明来源钻瓜专利网。