【技术实现步骤摘要】
原地升级方法、装置、网络设备及存储介质
[0001]本专利技术涉及固件空中升级(Firmware Over the Air,简称FOTA)
,尤其涉及一种原地升级方法、装置、网络设备及存储介质。
技术介绍
[0002]FOTA指通过空中下载的方式更新终端设备中固件的技术。通过FOTA升级操作,设备制造商能够通过网络将升级包发送到用户的终端设备中,避免了设备召回,降低了运作成本,同时还方便了用户。
[0003]很多嵌入式设备对于存储空间需求很严格,有些只有几百K的存储空间,甚至更小。但是现有技术中,在固件升级时,无论使用全量升级算法还是差量升级算法,都需要额外的存储空间的存储解析后的升级文件,需要消耗较大的空间存储资源。
技术实现思路
[0004]为解决上述技术问题,本申请实施例提供了一种原地升级方法、装置、网络设备及计算机可读存储介质,终端能够根据接收到的差分文件直接修改待升级固件,无需申请新的存储空间存储解析后的已升级固件,实现了低资源占用的FOTA升级。
[0005]本申请实施例提供了一种原地升级方法,应用于服务器,包括:
[0006]基于已升级固件和待升级固件的关联信息,得到差分文件,所述差分文件至少包含多个差分包及每个差分包对应的解析序号,所述关联信息指示已升级固件和待升级固件中相同代码所在的位置信息,所述差分包的数据长度与数据块block的数据长度相同;
[0007]向终端发送差分文件。
[0008]本申请实施例还提供了一种原地升级方法,应用于终 ...
【技术保护点】
【技术特征摘要】
1.一种原地升级方法,应用于服务器,其特征在于,包括:基于已升级固件和待升级固件的关联信息,得到差分文件,所述差分文件至少包含多个差分包及每个差分包对应的解析序号,所述关联信息指示已升级固件和待升级固件中相同代码所在的位置信息,所述差分包的数据长度与数据块block的数据长度相同;向终端发送差分文件。2.根据权利要求1所述的方法,其特征在于,还包括:基于第一信息,从数据库获取待升级固件和已升级固件,所述第一信息指示待升级固件的版本号。3.根据权利要求2所述的方法,其特征在于,还包括:向终端发送第一指令,并接收终端返回的第一信息,所述第一指令用于请求待升级固件的版本号。4.根据权利要求1
‑
3任一项所述的方法,其特征在于,所述基于已升级固件和待升级固件的关联信息,得到差分文件之前,还包括:基于已升级固件和待升级固件,得到已升级固件和待升级固件的关联信息。5.根据权利要求4所述的方法,其特征在于,所述基于已升级固件和待升级固件,得到已升级固件和待升级固件的关联信息,包括:基于已升级固件和待升级固件,将已升级固件划分为匹配区域和新增区域,所述匹配区域指已升级固件中,与待升级固件中相同代码所占百分比不小于设定阈值的连续区域,所述新增区域指已升级固件中,与待升级固件中相同代码所占百分比小于设定阈值的连续区域;基于匹配区域和新增区域,得到已升级固件和待升级固件的关联信息。6.根据权利要求5所述的方法,其特征在于,所述基于已升级固件和待升级固件,将已升级固件划分为匹配区域和新增区域,包括:基于待升级固件,将待升级固件中的所有后缀按字典排序,得到待升级固件的后缀排序数组;基于待升级固件的后缀排序数组,通过二分查找算法,遍历已升级固件,将已升级固件划分为匹配区域和新增区域。7.根据权利要求5所述的方法,其特征在于,所述基于匹配区域和新增区域,得到已升级固件和待升级固件的关联信息,包括:基于匹配区域和新增区域,通过覆盖线规划规则,构建第一覆盖线组,所述第一覆盖线组指示已升级固件和待升级固件的关联信息;所述覆盖线规划规则包括:第一覆盖线的结构为前后相连的新增区域和匹配区域、或新增区域、或匹配区域;除最后一个block对应的位置外,构成已升级固件的每个block中所有第一覆盖线覆盖的数据长度之和等于block的数据长度,最后一个block中所有第一覆盖线覆盖的数据长度之和小于或等于block的数据长度;第一覆盖线的集合构成第一覆盖线组;遍历第一覆盖线组中所有第一覆盖线,若当前第一覆盖线覆盖的数据中存在匹配区域,则待升级固件中,所有包含此匹配区域的block均与当前第一覆盖线关联。
8.根据权利要求7所述的方法,其特征在于,所述基于匹配区域和新增区域,通过覆盖线规划规则,构建第一覆盖线组,包括:基于匹配区域和新增区域,通过覆盖线构建规则,构建第二覆盖线组,所述覆盖线构建规则包括:第二覆盖线的结构为前后相连的新增区域和匹配区域、或新增区域,第二覆盖线的集合构成第二覆盖线组;基于第二覆盖线组,通过覆盖线规划规则,构建第一覆盖线组。9.根据权利要求8所述的方法,其特征在于,所述基于已升级固件和待升级固件的关联信息,得到差分文件,包括:基于已升级固件和待升级固件,得到已升级固件和待升级固件所包含的block数目;逆序遍历已升级固件中的每个block,并判断已升级固件中未遍历的block数目是否大于待升级固件包含的block数目;若是,基于遍历顺序,记录已升级固件中已遍历的block对应的block序号,并继续遍历已升级固件中的下一个block,直至已升级固件中未遍历的block数目等于待升级固件包含的block数目;若已升级固件中未遍历的block数目等于待升级固件包含的block数目,则基于已升级固件和待升级固件的关联信息,判断与当前遍历的block对应的block序号相同的待升级固件的block的可擦除状态;若待升级固件的block处于可擦除状态,基于遍历顺序,记录当前遍历的block对应的block序号;若待升级固件的block处于不可擦除状态,则将当前遍历的block对应的block序号放入栈中,并继续遍历下一block,直至已升级固件中的所有block完成遍历;按放入顺序记录放入栈中的block序号,将其对应的待升级固件的block关联的第一覆盖线对应的已升级固件的block中所包含的数据作为新增区域处理,重新划分已升级固件的匹配区域和新增区域;基于重新划分的匹配区域和新增区域,得到多个差分包及每个差分包的解析序号,所述解析序号指每个差分包对应的block序号的记录序号,所述每个差分包对应的block序号指与每个差分包对应的已升级文件的block序号。10.根据权利要求9所述的方法,其特征在于,所述基于已升级固件和待升级固件的关联信息,判断与当前遍历的block对应的block序号相同的待升级固件的block的可擦除状态,包括:基于已升级固件和待升级固件的关联信息,获取与待升级固件的block关联的第一覆盖线,所述待升级固件的block指与当前遍历的block对应的block序号相同的待升级固件的block;若与所述待升级固件的block关联的第一覆盖线对应的已升级...
【专利技术属性】
技术研发人员:龚随,
申请(专利权)人:中国移动通信集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。