一种软件升级方法、计算设备及可读存储介质技术

技术编号:32184673 阅读:18 留言:0更新日期:2022-02-08 15:48
本发明专利技术公开了一种软件升级方法、计算设备及可读存储介质。本发明专利技术的方法在驻留有操作系统的计算设备中执行,包括:创建虚拟磁盘设备文件。以层叠文件模式启动操作系统,其中制作虚拟磁盘设备文件的第一文件副本,并将其设成层叠文件模式中上数据层的存放介质。进行软件升级。升级完成后,将第一文件副本复制至虚拟磁盘设备文件。以层叠文件模式重启,其中制作虚拟磁盘设备文件的第二文件副本,并将其设成上数据层的存放介质。重启后,检测升级是否成功。若成功,将层叠文件模式中下数据层设为可读写,并修改下数据层,以保存软件升级后的版本;若未成功,以正常模式启动系统,以回退到软件升级前的版本。本发明专利技术可以灵活地实现软件的升级或回退。升级或回退。升级或回退。

【技术实现步骤摘要】
一种软件升级方法、计算设备及可读存储介质


[0001]本专利技术涉及计算机领域,尤其涉及一种软件升级方法、计算设备及可读存储介质。

技术介绍

[0002]软件升级,是指软件从低版本向高版本的更新。由于高版本常常修复低版本的部分BUG,所以升级后的软件版本一般会比原版本的性能更好,从而能够使用户有更好的体验。然而,软件升级过程中经常会遇到软件升级失败的情况,影响用户的体验。基于此,可回滚的软件升级方法应运而生。可回滚的软件升级方法是指当在系统升级某一软件包后,如发现升级版本不可用,可回退至之前版本。
[0003]目前,可回滚的软件升级方法主要有两种。指定版本安装:当需要回退至之前版本时,重新安装所指定的之前版本。采用A/B系统:设备上存在两个系统,当前正在运行的叫做A系统(主系统),另外一个备份系统叫做B系统(备份系统)。升级系统时先把A系统磁盘上的数据备份到B系统,然后再进行升级。升级完成后执行重启,此时如果A系统能够正常启动就表示升级成功;如果不能正常启动,就自动切换到B系统使用,这样就相当于回退到了升级前的状态。
[0004]然而,上述两种方案均存在一定的缺点。具体地,指定版本安装由于没有任何保护机制,相当于直接修改系统,因此使用这种方案如果一旦升级失败,系统被破坏而无法启动时,就回退无门,只有重装系统。采用A/B系统的方案,需要在机器上装两个系统,并且每次升级时,无论对系统修改内容是多还是少,都需要把当前系统整个磁盘数据备份另外一个系统的磁盘上去,所以使用这种方案不仅耗费资源,而且还很耗时,不够轻便。
[0005]基于此,亟需一种新的软件升级方法以解决上述技术问题。

技术实现思路

[0006]为此,本专利技术提供了一种软件升级方法、计算设备及可读存储介质,以力图解决或者至少缓解上面存在的问题。
[0007]根据本专利技术的一个方面,提供一种软件升级方法,在驻留有操作系统的计算设备中执行,该方法包括:创建虚拟磁盘设备文件;以层叠文件模式启动操作系统,其中在层叠文件模式中,在操作系统中构造数据只读的下数据层和数据可读写的上数据层,制作虚拟磁盘设备文件的第一文件副本,将第一文件副本设置成所述上数据层的数据存放介质;在计算设备的操作系统中进行软件升级;在软件升级完成后,将第一文件副本复制为虚拟磁盘设备文件;以层叠文件模式重新启动操作系统,其中制作虚拟磁盘设备文件的第二文件副本,将第二文件副本设置成上数据层的数据存放介质;检测软件升级是否成功;若软件升级成功,则将下数据层设置为数据可读写,并基于上数据层中的数据修改下数据层中的数据,以获得软件升级后的操作系统版本,并以正常模式启动软件升级后的操作系统;若软件升级未成功,则以正常模式启动操作系统,以回退到软件升级前的操作系统版本。
[0008]可选地,在根据本专利技术的软件升级方法中,创建虚拟磁盘设备文件的步骤包括:在
操作系统的根分区下创建与根分区格式相同的虚拟磁盘设备文件。
[0009]可选地,在根据本专利技术的软件升级方法中,在操作系统中构造数据只读的下数据层和数据可读写的上数据层的步骤包括:将操作系统的根分区所挂载的目录作为下数据层;创建临时文件系统分区,将临时文件系统分区挂载至操作系统的临时文件系统目录的关联目录,以将临时文件系统分区作为上数据层。
[0010]可选地,在根据本专利技术的软件升级方法中,制作虚拟磁盘设备文件的第一文件副本,将第一文件副本设置成上数据层的数据存放介质的步骤包括:复制虚拟磁盘设备文件,生成第一文件副本;将第一文件副本拷贝至关联目录,以使得第一文件副本作为上数据层的数据存放介质。
[0011]可选地,在根据本专利技术的软件升级方法中,关联目录为临时文件系统目录或临时文件系统目录的子目录。
[0012]可选地,在根据本专利技术的软件升级方法中,在计算设备的操作系统中进行软件升级的步骤包括:将软件的升级数据置入上数据层;将软件的原始数据置入下数据层;执行软件升级。
[0013]可选地,在根据本专利技术的软件升级方法中,升级数据包括软件的原始数据和修改数据,以及基于上数据层中的数据修改下数据层中的数据,以获得软件升级后的操作系统版本的步骤包括:将上数据层中的数据覆盖下数据层中的数据,以获得软件升级后的操作系统版本。
[0014]可选地,在根据本专利技术的软件升级方法中,升级数据为软件的修改数据,以及基于上数据层中的数据修改下数据层中的数据,以获得软件升级后的操作系统版本的步骤包括:将上数据层中的数据合并至下数据层中,以获得软件升级后的操作系统版本。
[0015]可选地,在根据本专利技术的软件升级方法中,层叠文件模式为overlayroot模式。
[0016]根据本专利技术的又一个方面,提供一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行根据本专利技术的软件升级方法的指令。
[0017]根据本专利技术的又一个方面,提供一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行根据本专利技术的软件升级方法。
[0018]根据本专利技术的方案,创建虚拟磁盘设备文件,在软件升级后,将升级版本数据存储至虚拟磁盘设备文件,从而使得软件升级的版本数据能够被保存下来。这样,当软件升级成功后,基于上述所保存的升级版本数据修改下数据层中的数据便能得到升级后的软件版本,并能实现持久的保存。当软件升级失败后,以正常模式启动操作系统,便能实现软件回滚。可见,本专利技术的方案在对软件进行升级时,能够灵活地将升级的版本数据进行永久保存或删除,从而可以灵活地实现软件的升级或回退,提升了用户的体验。
[0019]本专利技术的方案,与指定版本安装相比,所有的修改都在上数据层上进行,在升级失败后回退非常彻底、安全。与A/B系统相比,不再需要单独划分一块磁盘安装备份系统,减少了对资源的消耗。
附图说明
[0020]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方
面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0021]图1示出了根据本专利技术一个实施例的计算设备100的结构框图;
[0022]图2示出了根据本专利技术一个实施例的软件升级方法200的流程图;
[0023]图3示出了根据本专利技术一个实施例的overlayfs的基本结构图;
[0024]图4示出了根据本专利技术又一个实施例的软件升级方法400的流程图的示意图。
具体实施方式
[0025]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件升级方法,适于在驻留有操作系统的计算设备中执行,所述方法包括:创建虚拟磁盘设备文件;以层叠文件模式启动所述操作系统,其中在所述层叠文件模式中,在所述操作系统中构造数据只读的下数据层和数据可读写的上数据层,制作所述虚拟磁盘设备文件的第一文件副本,将所述第一文件副本设置成所述上数据层的数据存放介质;在所述计算设备的操作系统中进行软件升级;在所述软件升级完成后,将所述第一文件副本复制至所述虚拟磁盘设备文件;以所述层叠文件模式重新启动所述操作系统,其中制作所述虚拟磁盘设备文件的第二文件副本,将所述第二文件副本设置成所述上数据层的数据存放介质;检测所述软件升级是否成功;若软件升级成功,则将所述下数据层设置为数据可读写,并基于所述上数据层中的数据修改所述下数据层中的数据,以获得软件升级后的操作系统版本,并以正常模式启动所述软件升级后的操作系统;若软件升级未成功,则以正常模式启动所述操作系统,以回退到所述软件升级前的操作系统版本。2.如权利要求1所述的方法,其中,所述创建虚拟磁盘设备文件的步骤包括:在所述操作系统的根分区下创建与所述根分区格式相同的虚拟磁盘设备文件。3.如权利要求1或2所述的方法,其中,在所述操作系统中构造数据只读的下数据层和数据可读写的上数据层的步骤包括:将所述操作系统的根分区所挂载的目录作为所述下数据层;创建临时文件系统分区,将所述临时文件系统分区挂载至所述操作系统的临时文件系统目录的关联目录,以将所述临时文件系统分区作为所述上数据层。4.如权利要求3所述的方法,其中,制作所述虚拟磁盘设备文件的第一文件副本,将所述第一文件副本设置成所述上数据层的数据存放介质的步骤包括:复制所述虚拟磁盘设备文件,生成所述...

【专利技术属性】
技术研发人员:胡晓东郭纳福闫博文吴荣杰
申请(专利权)人:武汉深之度科技有限公司
类型:发明
国别省市:

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

1