原地升级方法、装置、网络设备及存储介质制造方法及图纸

技术编号:39186980 阅读:7 留言:0更新日期:2023-10-27 08:34
本申请实施例提供了一种原地升级方法、装置、网络设备及存储介质,其中,所述方法包括:基于已升级固件和待升级固件的关联信息,得到差分文件,所述差分文件至少包含多个差分包及每个差分包对应的解析序号,所述关联信息指示已升级固件和待升级固件中相同代码所在的位置信息,所述差分包的数据长度与数据块block的数据长度相同;向终端发送差分文件。向终端发送差分文件。向终端发送差分文件。

【技术实现步骤摘要】
原地升级方法、装置、网络设备及存储介质


[0001]本专利技术涉及固件空中升级(Firmware Over the Air,简称FOTA)
,尤其涉及一种原地升级方法、装置、网络设备及存储介质。

技术介绍

[0002]FOTA指通过空中下载的方式更新终端设备中固件的技术。通过FOTA升级操作,设备制造商能够通过网络将升级包发送到用户的终端设备中,避免了设备召回,降低了运作成本,同时还方便了用户。
[0003]很多嵌入式设备对于存储空间需求很严格,有些只有几百K的存储空间,甚至更小。但是现有技术中,在固件升级时,无论使用全量升级算法还是差量升级算法,都需要额外的存储空间的存储解析后的升级文件,需要消耗较大的空间存储资源。

技术实现思路

[0004]为解决上述技术问题,本申请实施例提供了一种原地升级方法、装置、网络设备及计算机可读存储介质,终端能够根据接收到的差分文件直接修改待升级固件,无需申请新的存储空间存储解析后的已升级固件,实现了低资源占用的FOTA升级。
[0005]本申请实施例提供了一种原地升级方法,应用于服务器,包括:
[0006]基于已升级固件和待升级固件的关联信息,得到差分文件,所述差分文件至少包含多个差分包及每个差分包对应的解析序号,所述关联信息指示已升级固件和待升级固件中相同代码所在的位置信息,所述差分包的数据长度与数据块block的数据长度相同;
[0007]向终端发送差分文件。
[0008]本申请实施例还提供了一种原地升级方法,应用于终端,包括:
[0009]接收服务器发送的差分文件,所述差分文件至少包含多个差分包及每个差分包对应的解析序号;
[0010]解压差分文件,得到多个差分包及每个差分包对应的解析序号;
[0011]基于每个差分包对应的解析序号解析对应的差分包,并将解析数据写入存储器中对应的block位置。
[0012]本申请实施例还提供了一种原地升级装置,应用于服务器,所述装置包括:
[0013]差分文件获取单元,用于基于已升级固件和待升级固件的关联信息,得到差分文件,所述差分文件至少包含多个差分包及每个差分包对应的解析序号,所述关联信息指示已升级固件和待升级固件中相同代码所在的位置信息,所述差分包的数据长度与数据块block的数据长度相同
[0014]发送单元,用于向终端发送差分文件。
[0015]本申请实施例还提供了一种原地升级装置,应用于终端,所述装置包括:
[0016]接收单元,用于接收服务器发送的差分文件,所述差分文件至少包含多个差分包及每个差分包对应的解析序号;
[0017]解压单元,用于解压差分文件,得到多个差分包及每个差分包对应的解析序号;
[0018]解析及写入单元,用于基于每个差分包对应的解析序号解析对应的差分包,并将解析数据写入存储器中对应的block位置。
[0019]本申请实施例还提供了一种网络设备,包括处理器和存储器,该存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,执行本申请实施例所述的原地升级方法。
[0020]本申请实施例还提供了一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本申请实施例所述的原地升级方法。
[0021]本申请实施例提供了一种原地升级方法、装置、网络设备及计算机可读存储介质,其中,所述原地升级方法包括:服务器基于已升级固件和待升级固件的关联信息,得到差分文件,并向终端发送差分文件;终端接收、解压服务器发送的差分文件,并基于每个差分包对应的解析序号解析对应的差分包,并将解析数据写入存储器中对应的block位置。本申请实施例提供的方案中,服务器能够基于已升级文件和待升级文件的关联,生成由多个差分包构成的差分文件;终端根据差分包的解析序号解析差分包后,能够直接修改待升级文件,无需申请新的存储空间存储解析后的已升级固件,实现了低资源占用的FOTA升级。
附图说明
[0022]图1为本申请实施例提供的一种原地升级方法的流程示意图;
[0023]图2为本申请实施例提供的第二种原地升级方法的流程示意图;
[0024]图3为本申请应用实施例提供的原地升级方法的流程示意图;
[0025]图4为本申请应用实施例提供的服务器构建第二覆盖线组的流程示意图;
[0026]图5为本申请应用实施例提供的第二覆盖线组的结构示意图;
[0027]图6为本申请应用实施例提供的第一覆盖线组的结构示意图;
[0028]图7为本申请应用实施例提供的待升级固件的block信息的示意图;
[0029]图8为本申请应用实施例提供的服务器生成每个差分包对应的解析序号的流程示意图;
[0030]图9为本申请应用实施例提供的待升级固件的block的可擦除状态的示意图;
[0031]图10为本申请应用实施例提供的服务器生成差分包的示意图;
[0032]图11为本申请实施例提供的一种原地升级装置的结构示意图;
[0033]图12为本申请实施例提供的第二种原地升级装置的结构示意图;
[0034]图13为本申请实施例提供的网络设备的组成示意图。
具体实施方式
[0035]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0036]需要说明的是,本申请实施例中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存
在B这三种情况。另外,本申请实施例中,字符“/”,一般表示前后关联对象是一种“或”的关系。
[0037]在本申请实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
[0038]为便于理解本申请实施例的技术方案,以下对本申请实施例的相关技术进行说明,以下相关技术作为可选方案与本申请实施例的技术方案可以进行任意结合,其均属于本申请实施例的保护范围。
[0039]FOTA指通过空中下载的方式更新终端设备中固件的技术。通过FOTA升级操作,设备制造商能够通过网络将升级包发送到用户的终端设备中,从而对终端设备的固件、软件进行升级,避免了设备召回升级带来的不便,降低了运作成本,同时还方便了用户。
[0040]很多嵌入式设备对存储空间需求很严格,有些只有几百K的存储空间,甚至更小。现有技术中,FOTA升级算法主要分为全量升级算法和差分升级算法两种。相对于全量升级算法,差分升级算法聚焦于较高的压缩比,能够产生较小的差分文件,在低存储空间下具有更广泛的适用性,例如Bsdiff算法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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关联的第一覆盖线对应的已升级...

【专利技术属性】
技术研发人员:龚随
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1