一种文件更新方法及装置、设备、存储介质制造方法及图纸

技术编号:27616227 阅读:18 留言:0更新日期:2021-03-10 10:47
本申请实施例公开了一种文件更新方法,所述方法包括:下载更新数据包至待更新文件包所在的目标磁盘分区;所述更新数据包用于对所述待更新文件包进行更新;将所述待更新文件包的目录和所述更新数据包的目录进行虚拟合并,得到临时文件包;在所述临时文件包验证成功的情况下,将所述更新数据包合并到所述待更新文件包的目录下。另外,本申请实施例还公开了一种文件更新装置、设备及存储介质。设备及存储介质。设备及存储介质。

【技术实现步骤摘要】
一种文件更新方法及装置、设备、存储介质


[0001]本申请实施例涉及计算机
,涉及但不限于一种文件更新方法及装置、设备、存储介质。

技术介绍

[0002]智能终端设备(如智能手机、智能音箱等)在其生命周期中,经常需要升级软件系统,一方面修复老版本缺陷,一方面升级新特性版本提升用户体验。主流在线升级方式是空中下载(Over The Air,OTA),即设备通过移动数据或WIFI网络下载升级包,并完成升级。在完成升级包的下载后,根据升级目标和方案差异,有时需重启设备。
[0003]OTA按照升级对象可分为软件OTA(Software OTA,SOTA)和固件OTA(Firmware OTA,FOTA)。SOTA面向应用软件/APP升级,FOTA则升级引导程序(bootloader)、内核(kernel)、根目录(rootfs)等系统固件。
[0004]OTA升级的一个关键是健壮性,即OTA升级失败时仍可回退老版本,而不会导致系统或软件不可用、甚至变砖。这点对FOTA升级尤其重要。直接更新操作系统固件如kernel或rootfs,失败时很大概率导致系统无法启动和使用。
[0005]针对上述问题,业界常用方案有两种,一种是主备倒换,一种是部署“恢复(recovery)模式”。但这两种方案都需要引入额外的存储空间开销。尤其是主备倒换方案,需要额外预留一套完整系统分区空间,通常需几十、几百兆字节(MB),甚至更多。

技术实现思路

[0006]有鉴于此,本申请实施例为解决相关技术中存在的至少一个问题而提供一种文件更新方法及装置、设备、存储介质,能够在不引入额外的存储空间开销的情况下,完成文件的更新。
[0007]本申请实施例的技术方案是这样实现的:
[0008]第一方面,本申请实施例提供一种文件更新方法,所述方法包括:
[0009]下载更新数据包至待更新文件包所在的目标磁盘分区;所述更新数据包用于对所述待更新文件包进行更新;
[0010]将所述待更新文件包的目录和所述更新数据包的目录进行虚拟合并,得到临时文件包;
[0011]在所述临时文件包验证成功的情况下,将所述更新数据包合并到所述待更新文件包的目录下。
[0012]第二方面,本申请实施例提供一种文件更新装置,所述装置包括:
[0013]下载单元,用于下载更新数据包至待更新文件包所在的目标磁盘分区;所述更新数据包用于对所述待更新文件包进行更新;
[0014]堆叠单元,用于将所述待更新文件包的目录和所述更新数据包的目录进行虚拟合并,得到临时文件包;
[0015]写入单元,用于在所述临时文件包验证成功的情况下,将所述更新数据包合并到所述待更新文件包的目录下。
[0016]第三方面,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述文件更新方法中的步骤。
[0017]第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述文件更新方法中的步骤。
[0018]本申请实施例中,提供了一种文件更新方法、装置、设备及存储介质,下载更新数据包至待更新文件包所在的目标磁盘分区;所述更新数据包用于对所述待更新文件包进行更新;将所述待更新文件包的目录和所述更新数据包的目录进行虚拟合并,得到临时文件包;在所述临时文件包验证成功的情况下,将所述更新数据包合并到所述待更新文件包的目录下;从而将对待更新文件进行更新的更新数据包下载至待更新文件包所在的磁盘空间,不需要为更新数据包提供额外的磁盘分区,且通过待更新文件包的目录和更新数据包的目录的虚拟合并,对待更新文件包和更新数据包进行堆叠,得到临时文件包,在临时文件包完成验证后,将所述更新数据包合并到所述待更新文件包的目录,完成更新数据包对待更新文件包的更新,从而在保证更新的健壮性的同时,不需要引入额外的磁盘开销。
附图说明
[0019]图1为本申请实施例网络架构示意图;
[0020]图2为本申请实施例提供的文件更新方法的可选地流程示意图;
[0021]图3为本申请实施例提供的文件更新方法的可选地流程示意图;
[0022]图4为本申请实施例提供的虚拟合并文件的可选地示意图;
[0023]图5为本申请实施例提供的文件更新方法的可选地流程示意图;
[0024]图6为相关技术中文件更新方法的可选地流程示意图;
[0025]图7为相关技术中文件更新方法的可选地流程示意图;
[0026]图8为本申请实施例提供的文件更新方法的可选地流程示意图;
[0027]图9为本申请实施例提供的文件更新设备的可选地结构示意图;
[0028]图10为本申请实施例提供的文件更新方法的可选地状态转移示意图;
[0029]图11为本申请实施例提供的文件更新方法的可选地流程示意图;
[0030]图12为本申请实施例提供的虚拟合并文件的可选地示意图;
[0031]图13为本申请实施例提供的文件更新装置的可选地结构示意图;
[0032]图14为本申请实施例提供的电子设备的可选地结构示意图。
具体实施方式
[0033]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
[0034]本申请实施例可提供为文件更新方法及装置、设备和存储介质。实际应用中,文件更新方法可由文件更新装置实现,文件更新装置中的各功能实体可以由计算机设备的硬件
资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)协同实现。
[0035]本申请实施例的文件更新方法可应用于图1所示的信息处理系统,如图1所示,该信息处理系统包括客户端10和服务端20;其中,客户端10中安装有能够进行从网络侧下载更新数据包并对待更新文件包进行更新的文件管理程序。服务端20能够基于更新文件生成更新数据包,并将更新数据包发送至客户端10,客户端基于下载的数据包对待更新文件包进行更新。客户端10和服务端20之间通过网络30进行交互。
[0036]客户端10可实施为实现文件更新方法的文件更新装置。客户端10从服务端20下载更新数据包至待更新文件包所在的目标磁盘分区;所述更新数据包用于对所述待更新文件包进行更新;将所述待更新文件包的目录和所述更新数据包的目录进行虚拟合并,得到临时文件包;在所述临时文件包验证成功的情况下,将所述更新数据包合并到所述待更新文件包的目录下。
[0037]在一示例中,服务端10为云端服务器。
[0038]结合图1所示的应用场景示意图,本申请实施例提出一种文件更新方法,能够在不引入额外的存储空间开销的情况下,完成文件的更新。
[0039]下面,结合图1所示的信息处理系统的示本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件更新方法,其特征在于,所述方法包括:下载更新数据包至待更新文件包所在的目标磁盘分区;所述更新数据包用于对所述待更新文件包进行更新;将所述待更新文件包的目录和所述更新数据包的目录进行虚拟合并,得到临时文件包;在所述临时文件包验证成功的情况下,将所述更新数据包合并到所述待更新文件包的目录下。2.根据权利要求1所述的方法,其特征在于,所述下载更新数据包至待更新文件包所在的目标磁盘分区,包括:下载所述更新数据包至所述目标磁盘空间的第一空间区域;所述待更新文件包位于所述目标磁盘空间的第二空间区域。3.根据权利要求1所述的方法,其特征在于,在将所述待更新文件包的目录和所述更新数据包的目录进行虚拟合并,得到临时文件包之前,所述方法还包括:检测到所述更新数据包下载完成,设置引导加载程序中的第一升级参数为第一值,并生成第一重启指令;所述第一值指示所述更新数据包完成下载;基于所述第一重启指令,执行一次重启;相应的,检测到所述第一升级参数为所述第一值,将所述待更新文件包的目录和所述更新数据包的目录进行虚拟合并,得到临时文件包。4.根据权利要求1所述的方法,其特征在于,所述将所述待更新文件包的目录和所述更新数据包的目录进行虚拟合并,得到临时文件包,包括:将所述待更新文件包的目录和所述更新数据包的目录进行虚拟合并,得到挂载目录;基于所述挂载目录,调用所述待更新文件包和所述更新数据包,得到所述临时文件包。5.根据权利要求4所述的方法,其特征在于,所述将所述待更新文件包的目录和所述更新数据包的目录进行虚拟合并,得到挂载目录,包括:将所述更新数据包的目录下第一文件的路径添加到所述挂载目录;所述第一文件和所述待更新文件包的目录下的第二文件为同名文件;将所述更新数据包的目录下第三文件的路径添加到所述挂载目录,所述第三文件为所述更新数据包相对于所述待更新文件包所新增的文件;将所述待更新文件包的目录下的第四文件添加到所述...

【专利技术属性】
技术研发人员:王凯
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1