【技术实现步骤摘要】
一种固件升级方法、装置及终端
本申请涉及物联网终端
,尤其涉及一种固件升级方法、装置及终端。
技术介绍
物联网是在互联网基础上延伸和扩展的网络,其用户端延伸扩展到了任何物品与物品之间进行信息交换和通信。在当前物联网服务中,通过物联网平台获取物联网终端的采集数据,并将获取的数据提供给各个具体的物联网服务,例如车辆管理、零售管理、物流管理等。物联网平台会对于物联网终端进行管理,而物联网端侧瘦设备则是物联网终端管理的关键设备之一。随着物联网服务的升级,物联网端侧瘦设备也需要进行相应的固件升级,以提升对物联网终端的管理。传统技术中物联网端侧瘦设备的固件升级方法有很多种,包括:全镜像升级方法、压缩镜像升级方法和差分升级方法。其中,由于差分升级方法具有占用空间信号小,实现简单等优点,因此差分升级方法成为物联网端侧瘦设备最常用的固件升级方法之一。如图1所示,差分升级方法过程为:通过物联网端侧瘦设备中旧固件版本1和新固件版本2生成一个差分升级包,然后将差分升级包下载到物联网端侧瘦设备的闪存中,然后在物联网端侧瘦设备运行升级程序,通过差分升级包将旧固件版本1升级到新固件版本2。差分升级方法虽然可以实现物联网端侧瘦设备的固件升级,但是固件升级过程中需要通过使用差分升级包与旧固件版本镜像进行比较,获取新固件版本的镜像存储到物联网端侧瘦设备的闪存中,然后将新固件版本的镜像替换旧固件版本镜像完成升级。在升级过程中,为了避免升级过程中断电等情况引起升级失败,物联网端侧瘦设备的闪存需要对旧固件版本的镜像做全镜像备份,因此在升 ...
【技术保护点】
1.一种固件升级方法,其特征在于,所述方法包括:/n依次获取分块差分升级包每个数据块中的第一升级数据和操作指令,所述第一升级数据为新固件版本镜像相比旧固件版本镜像增加的数据;所述操作指令用于指示根据所述旧固件版本镜像中的数据获得第二升级数据;/n将第一数据按照所述操作指令在所述旧固件版本镜像中转换为所述第二升级数据,所述第一数据为所述旧固件版本镜像中的数据;/n控制所述第一升级数据和所述第二升级数据覆盖所述旧固件版本镜像中的待升级数据区域。/n
【技术特征摘要】
1.一种固件升级方法,其特征在于,所述方法包括:
依次获取分块差分升级包每个数据块中的第一升级数据和操作指令,所述第一升级数据为新固件版本镜像相比旧固件版本镜像增加的数据;所述操作指令用于指示根据所述旧固件版本镜像中的数据获得第二升级数据;
将第一数据按照所述操作指令在所述旧固件版本镜像中转换为所述第二升级数据,所述第一数据为所述旧固件版本镜像中的数据;
控制所述第一升级数据和所述第二升级数据覆盖所述旧固件版本镜像中的待升级数据区域。
2.根据权利要求1所述的方法,其特征在于,所述将第一数据按照所述操作指令在所述旧固件版本镜像中转换为所述第二升级数据,包括:
获取所述操作指令指示对应的所述第一数据的字段范围;
根据所述字段范围从所述旧固件版本镜像中确定所述第一数据;
按照所述操作指令中的转换路径在所述旧固件版本镜像中将所述第一数据转换为所述第二升级数据。
3.根据权利要求2所述的方法,其特征在于,所述按照操作指令中的转换路径在所述旧固件版本镜像中将所述第一数据转换为所述第二升级数据,包括:
在所述旧固件版本镜像中确定一个备份区,所述备份区为所述旧固件版本镜像中的待删除的数据对应的数据区域;
将所述第一数据复制到所述备份区;
按照所述转换路径在所述备份区内将所述第一数据转换为第二升级数据。
4.根据权利要求3所述的方法,其特征在于,还包括:如果所述待升级数据区域中存在所述第一数据,将所述第一升级数据放入所述备份区。
5.根据权利要求3所述的方法,其特征在于,还包括:如果所述待升级数据区域中存在所述第一数据,将所述第一数据放入所述备份区。
6.一种固件升级方法,其特征在于,所述方法包括:
根据新固件版本镜像和旧固件版本镜像的差异数据获得初始差分升级包;
将所述新固件版本镜像拆分为第一预设长度的第一数据块,所述第一数据块为所述新固件版本镜像拆分后的任一数据块;
根据生成所述第一数据块对应的所述初始差分升级包的数据区域将所述初始差分升级包进行拆分获得第二数据块,所述第二数据块为所述初始差分升级包拆分后的任一数据块;
确定所述第二数据块对所述旧固件版本镜像中每个原始数据块的依赖度;
根据所述依赖度更新所述第二数据块,获得分块差分升级包,所述更新第二数据块包括:将所述第二数据块中的部分或全部数据更换为操作指令,所述操作指令用于指示根据所述原始数据块生成所述第二数据块中被更换为操作指令的数据。
7.根据权利要求6所述的方法,其特征在于,所述根据生成第一数据块对应的所述初始差分升级包的数据区域将所述初始差分升级包进行拆分获得第二数据块,包括:
确定每个所述第一数据块对应所述初始差分升级包的字段范围;
将每个字段范围的末地址作为所述初始差分升级包的拆分点,拆分所述初始差分升级包。
8.根据权利要求7所述的方法,其特征在于,所述确定第二数据块对所述旧固件版本镜像中每个原始数据块的依赖度,包括:
如果根据所述原始数据块可以获得所述第二数据块中部分或全部数据,更新所述原始数据块的依赖度;
其中,所述第二数据块中的数据可以通过一个或多个所述原始数据块获得。
9.根据权利要求8所述的方法,其特征在于,所述根据依赖度更新所述第二数据块,包括:
确定根据所述原始数据块获得所述第二数据块中部分或全部数据对应的操作指令,所述操作指令包括以下一种或多种:平移所述原始数据块到指定字段位置、将所述原始数据块的预设区域的数据进行删除、将所述原始数据块按照指定路径进行变换;
将所述操作指令添加到所述第二数据块并删除所述部分或全部数据。
10.根据权利要求9所述的方法,其特征在于,还包括:每更新完一个所述第二数据块,更新所述原始数据块的依赖度。
11.一种固件升级装置,其特征在于,所述装置包括:
获取模块,用于依次获取分块差分升级包每个数据块中的第一升级数据和操作指令,所述第一升级数据为新固件版本镜像相比旧固件版本镜像增加的数据;所述操作指令用于指示根据所述旧固件版本镜像中的数据获得第二升级数据;
数据转化模块,用于将第一数...
【专利技术属性】
技术研发人员:于洋,席禹豪,朱聪,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。