一种操作系统的升级方法、升级系统与流程

文档序号:23668896发布日期:2021-01-15 14:08阅读:105来源:国知局
一种操作系统的升级方法、升级系统与流程

本发明涉及计算机技术领域,且特别涉及一种操作系统的升级方法。



背景技术:

随着社会科技的发展,人们几乎每天都会与计算机打交道,操作系统作为计算机设备与用户交互的载体,担任着极其重要的工作。当代社会的计算机技术正处于高速发展的阶段,在日常应用中,为了及时的使用到应用程序的最新功能,或为了及时的对木马、病毒、垃圾软件等不良载体进行有效的防御,经常需要对操作系统进行版本升级或更新。一旦操作系统升级,用户在升级前的用户数据以及用户安装的应用程序,应该都需要保证正常使用。

在现有的系统升级技术中,一种是对旧操作系统中的数据和应用采用彻底清除的方案,保证升级或更新后的操作系统中的应用不会和旧版本发生冲突。这种方案的优点是能保证升级或更新后的操作系统和应用可以正常运行,避免遗留数据和应用不匹配的问题。但是,这种方案的用户体验较差,因为升级或更新系统后,用户之前的一些便捷操作和标记也被清除,用户数据应用程序被彻底删除,用户需要重新配置数据和重新安装需要的应用程序,重新适应新的系统环境,给用户造成了很大的不便。另一种升级方式采用直接安装包的方式,所有升级前的用户数据和应用数据都会保留,这种方案的优点是用户所有的数据都不会丢失,但是仅仅不丢失,而不能保证应用程序的正常使用。比如升级后系统的相关库版本过高,与用户自装应用程序依赖的库版本不一致,就会导致保留下来的用户应用程序不可用,用户体验也很差。



技术实现要素:

本发明的目的在于提出一种操作系统的升级方法,解决现有技术中系统升级后应用程序不能正常运行的问题。

为了解决上述问题,本申请公开了一种操作系统的升级方法,包括:

获取升级前需要保留的系统数据的位置清单;

获取用户安装的应用程序清单;

根据所述数据位置将所述系统数据备份至临时区域;

根据所述应用程序清单备份所述应用程序及链接库;

进行系统升级,恢复所述系统数据,并根据备份的数据完成各个应用程序的配置。

在一个优选例中,根据标准数据定义的位置和动态数据位置确认需要保留的系统数据的位置清单。

在一个优选例中,根据所述应用程序清单备份所述应用程序及链接库的步骤,包括:

将各个应用程序的相关文件备份至对应的自定义目录下;

解析各个应用程序的相关文件,并解析得到应用程序对应的链接库,将所述应用程序及链接库保存到所述自定义目录;

将所述应用程序链接库对应的可执行文件生成封装脚本;

清除系统中的各个应用程序的相关文件及库目录。

在一个优选例中,所述解析各个应用程序的相关文件的步骤包括:

所述自定义目录包括自定义文件目录和自定义库目录;

判断所述相关文件的类型:

如果是普通文件,则直接将该文件备份至所述自定义文件目录下;

如果是链接文件,复制链接对应的文件,并在所述自定义文件目录下创建对应链接;

如果是可执行文件,备份依赖链接库到所述自定义库目录,并生成对应的封装脚本,导出链接路径至所述自定义库目录;

修改启动器文件,将可执行程序指向所述封装脚本。

在一个优选例中,还包括:将所述自定义目录下的所有相关文件覆盖到系统中,执行可执行文件生成的所述封装脚本。

在一个优选例中,所述各个应用程序对应的自定义目录创建在备份目录下。

在一个优选例中,通过diff的方式获取用户的应用程序清单。

在一个优选例中,根据封装脚本完成各个应用程序的配置的步骤包括:将自定义目录下的所有相关文件覆盖到系统中,执行可执行文件生成的封装脚本。

本申请还公开了一种操作系统的升级系统包括:

位置清单获取模块,配置为获取升级前需要保留的系统数据的位置清单;

应用程序清单获取模块,配置为获取用户安装的应用程序清单;

第一备份模块,配置为根据所述数据位置将所述系统数据备份至临时区域;

第二备份模块,配置为根据所述应用程序清单备份所述应用程序;

升级模块,配置为进行系统升级,恢复所述系统数据,并根据备份的数据完成各个应用程序的配置。

本申请还公开了一种操作系统的升级设备包括:

存储器,用于存储计算机可执行指令;以及

处理器,与所述存储器耦合,用于在执行所述计算机可执行指令时实现如前文描述的方法中的步骤。

本申请还公开了一种计算机可读存储介质所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如前文描述的方法中的步骤。

相对于现有技术,本申请的方法具有以下有益效果:

本发明中对于不同的应用程序和用户数据进行验证,该方法可以通过执行程序和使用操作系统来验证用户数据和应用程序是否完整的备份和迁移,为操作系统升级提供了一种系统、完整、安全的保护方案。

本申请的说明书中记载了大量的技术特征,分布在各个技术方案中,如果要罗列出本申请所有可能的技术特征的组合(即技术方案)的话,会使得说明书过于冗长。为了避免这个问题,本申请上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均应该视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征a+b+c,在另一个例子中公开了特征a+b+d+e,而特征c和d是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征e技术上可以与特征c相组合,则,a+b+c+d的方案因技术不可行而应当不被视为已经记载,而a+b+c+e的方案应当视为已经被记载。

附图说明

图1示出了本发明一实施例中操作系统升级方法的流程图。

图2示出了本发明一实施例中操作系统升级设备的框图。

具体实施方式

在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各项权利要求所要求保护的技术方案。

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。

参考图1所示,本申请的一个实施例中公开了一种操作系统的安全的升级方法,本实施例所述的操作系统的升级方法可应用于可运行多种类型的操作系统的计算机,例如,linux操作系统、xp操作系统,vista操作系统,win7操作系统,win8操作系统,win8.1操作系统及win10操作系统等。所述方法包括:

步骤101中,获取升级前需要保留的系统数据的位置清单。本申请的一个实施例中,根据标准数据定义的位置和动态数据位置确认数据的位置清单。例如,传统的linux操作系统对用户数据有比较明确的位置目录定义,例如用户的家目录等,动态数据的配置则是预先通过文件系统叠加的方式,利用叠加后的文件系统信息存储方式,获取到位于未归属于传统标准数据定义位置,例如/etc/networkmanager/下的网络配置信息、网络连接数据、/etc/cups下的打印配置数据等,通过二者的结合确认需保留的数据清单的位置信息。

步骤102中,获取用户安装的应用程序清单。在一实施例中,通过diff的方式获取用户的应用程序清单,例如图片查看器、qq、微信、pdf阅读器等等。

步骤103中,根据所述数据位置将所述系统数据备份至临时区域。

步骤104中,根据所述应用程序清单备份所述应用程序。

具体的,根据所述应用程序清单备份所述应用程序的步骤包括:

首先,将各个应用程序的相关文件及库目录备份至对应的自定义目录下,所述各个应用程序对应的自定义目录创建在备份目录下,例如创建在/opt目录下,所述自定义目录包括自定义文件目录和自定义库目录。

接着,解析各个应用程序的相关文件,并解析得到应用程序链接库,将所述应用程序链接库保存到所述自定义目录。

其中,解析各个应用程序的相关文件的步骤包括:根据目标应用程序的软件包分析安装到系统的具体文件,如果是普通文件,则直接将该文件备份至所述自定义文件目录下;如果是链接文件,复制链接对应的实际文件,并在所述自定义文件目录下创建对应链接;如果是可执行文件elf,备份ldd所显示的链接库到所述自定义库目录,并生成封装脚本,导出所述自定义库目录的链接路径至ld_library_path;修改启动器文件中的exec字段值,将可执行程序指向所述封装脚本。

例如以图片查看器为例,分析这个软件包的文件清单,保存这些文件清单到系统保留目录,其中/usr/bin/eog是可执行文件并且格式为elf,解析它的依赖链接库,将库文件备份至目录/opt/updateeog/eog,导出该路径至ld_library_path,封装脚本文件wrapper-eog,并将原启动器文件中exec字段exec=eog%u修改为exec=wrapper-eog%u即可。

之后,解析各个应用程序对应的自定义目录中的相关文件及库目录的postinst封装脚本,如果创建了链接文件,提取所述应用程序链接库对应的可执行文件生成封装脚本,该封装脚本包括应用程序的可执行文件及调用系统的文件。

清除备份库目录中系统基础库文件,如libc库等。

提取应用程序软件包的postinst封装脚本到备份文件目录中。

步骤105中,进行系统升级,恢复所述系统数据,并根据备份的数据完成各个应用程序的配置。将自定义目录下的所有相关文件覆盖到系统中,执行可执行文件生成的postinst封装脚本。

参考图2所示,本申请还公开了一种操作系统的升级系统包括:

位置清单获取模块201,配置为获取升级前需要保留的系统数据的位置清单;

应用程序清单获取模块202,配置为获取用户安装的应用程序清单;

第一备份模块203,配置为根据所述数据位置将所述系统数据备份至临时区域;

第二备份模块204,配置为根据所述应用程序清单备份所述应用程序:

升级模块205,配置为进行系统升级,恢复所述系统数据,并根据备份的数据完成各个应用程序的配置。

需要说明的是,本领域技术人员应当理解,上述操作系统的升级系统的实施方式中所示的各模块的实现功能可参照前述升级方法的相关描述而理解。上述操作系统的升级系统的实施方式中所示的各模块的功能可通过运行于处理器上的程序(可执行指令)而实现。本申请实施例上述操作系统的升级系统如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,readonlymemory)、磁碟、光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

相应地,本申请实施方式还提供一种计算机可读存储介质,其中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本申请的各方法实施方式。计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于,相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitorymedia)。

此外,本申请实施方式还提供一种操作系统的升级设备,其中包括用于存储计算机可执行指令的存储器,以及,处理器;该处理器用于在执行该存储器中的计算机可执行指令时实现上述各方法实施方式中的步骤。其中,该处理器可以是中央处理单元(centralprocessingunit,简称“cpu”),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,简称“dsp”)、专用集成电路(applicationspecificintegratedcircuit,简称“asic”)等。前述的存储器可以是只读存储器(read-onlymemory,简称“rom”)、随机存取存储器(randomaccessmemory,简称“ram”)、快闪存储器(flash)、硬盘或者固态硬盘等。本发明各实施方式所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

需要说明的是,在本专利的申请文件中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的申请文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。

在本说明书提及的所有文献都被认为是整体性地包括在本申请的公开内容中,以便在必要时可以作为修改的依据。此外应理解,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。

在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1