一种BMC异构升级方法、系统、设备及可读存储介质与流程

文档序号:33023986发布日期:2023-01-20 19:10阅读:262来源:国知局
一种BMC异构升级方法、系统、设备及可读存储介质与流程
一种bmc异构升级方法、系统、设备及可读存储介质
技术领域
1.本发明属于计算机领域,具体涉及一种bmc异构升级方法、系统、设备及可读存储介质。


背景技术:

2.随着社会的发展,信息化逐渐覆盖到社会的各个领域。人们的日常生活中越来越离不开信息和数据,尤其是随着云计算、大数据、ai的发展,为人民提供大量的智能服务或计算服务,而服务器作为数据处理和数据存储的载体,被大规模应用。且作用越来越重要。且随着业务市场以及应用市场的需求增多,服务器的运算能力。存储能力等都日新月异。新技术层出不穷地快速迭代。因此存在着一些旧的服务器在应用新的技术时难免出现一些不便。例如openbmc和bmc技术在更新迭代时问题,bmc是服务器上的基板管理控制器,是很早版本的bmc固件单元,而随着技术迭代以及现有的服务器规格提升,产生了更好的基板管理控制方案,即openbmc,openbmc(基于开源的基板管理控制器)的兴起与开源,致使许多厂商都开始了从bmc到openbmc的转换以提升服务器的管理能力,属于厂商对客户的功能的服务质量的提升。
3.但在这转换过程中却存在一些问题,最大的问题就是运行中的bmc怎么升级成为openbmc,由于大多数由bmc升级的服务器一般都是厂商售出的服务器,bmc升级到openbmc时,传统的升级bmc方式无法在服务器工作时完成,或者说是在服务器上的传统bmc工作时安装openbmc,原因是bmc(指bmc运行时的系统)不支持openbmc的安装。因此大部分场景下的升级要么将服务器返厂由工作人员重新烧录新的openbmc,或者是厂商将派出对应的工作人员到客户机房为客户购买的服务器重新烧录新的openbmc固件。但无论上述哪种方式都因传统的bmc不支持openbmc的升级而带来极大的不便。
4.因此,亟需一种有效的方法以解决上述问题。


技术实现要素:

5.为解决上述问题,本发明提出一种bmc异构升级方法,包括:根据目标镜像的安装方式生成目标镜像安装程序,并将所述目标镜像安装程序发送到目标设备;响应于所述目标镜像安装程序运行,将目标镜像发送到目标设备,并通过所述目标镜像安装程序安装所述目标镜像到目标设备。
6.在本发明的一些实施方式中,根据目标镜像的安装方式生成目标镜像安装程序,并将所述目标镜像安装程序发送到目标设备包括;基于目标设备的当前镜像,将目标镜像安装程序嵌入到所述当前镜像中以生成临时镜像;将所述临时镜像发送到目标设备,并通过目标设备上当前运行的镜像系统将所述临时镜像安装到所述目标设备。
7.在本发明的一些实施方式中,响应于所述目标镜像安装程序运行,将目标镜像发送到目标设备包括:根据当前镜像的文件格式,将所述目标镜像的文件格式打包成与当前镜像相同的文件格式,并将打包后的所述目标镜像的文件发送到所述目标设备。
8.在本发明的一些实施方式中,通过所述目标镜像安装程序安装所述目标镜像到目标设备包括:通过所述目标镜像安装程序根据当前镜像的文件格式对收到的镜像文件进行解析以得到标识码和核心文件,并通过所述标识码确认所述目标镜像是正确;响应于基于所述标识码确认所述目标镜像文件的版本并非目标镜像,则基于当前镜像的安装方式对所述目标镜像进行安装。
9.在本发明的一些实施方式中,方法还包括:响应于基于所述标识码确认所述镜像文件的版本为目标镜像,将所述核心文件转换成当前镜像使用的预定格式,并将转换后的核心文件以及目标镜像中的其他文件基于当前镜像的写入方式写入到主存储器和/或备用存储器中。
10.在本发明的一些实施方式中,方法还包括:响应于基于所述标识码确认所述镜像文件的版本为目标镜像,在对所述目标镜像进行写入之前修改所述目标镜像的大小为预定值。
11.在本发明的一些实施方式中,方法还包括:响应于将所述目标镜像写入存储器完成,重启目标设备并置位预定寄存器使所述目标设备在加载所述目标镜像的启动程序和内核程序时均从同一存储器中加载。
12.在本发明的一些实施方式中,方法还包括:监控所述启动程序和内核程序的运行状态,响应于所述启动程序和/或内核程序运行异常,等待预定时间后切换保存镜像的存储器重启所述目标设备。
13.在本发明的一些实施方式中,方法还包括:响应于目标设备的镜像系统为目标镜像,待安装的镜像为当前镜像,将所述当前镜像通过第一预定方式制作成压缩格式,并通过所述目标镜像将所述压缩格式的当前镜像写入到备用存储器中,并切换目标设备的加载镜像路径到所备用存储器重启所述目标设备。
14.在本发明的一些实施方式中,方法还包括:响应于所述目标设备从所述备用储存器启动,通过回滚功能将备用存储器中的当前镜像写入到主存储器中。
15.本发明的另一方面还提出一种bmc异构升级系统,包括:初始化模块,所述初始化模块用于根据目标镜像的安装方式生成目标镜像安装程序,并将所述目标镜像安装程序发送到目标设备;执行模块,所述执行模块用于响应于所述目标镜像安装程序运行,将目标镜像发送到目标设备,并通过所述目标镜像安装程序安装所述目标镜像到目标设备。
16.在本发明的一些实施方式中,所述初始化模块进一步配置用于:基于目标设备的当前镜像,将目标镜像安装程序嵌入到所述当前镜像中以生成临时镜像;
将所述临时镜像发送到目标设备,并通过目标设备上当前运行的镜像系统将所述临时镜像安装到所述目标设备。
17.在本发明的一些实施方式中,执行模块进一步配置用于:根据当前镜像的文件格式,将所述目标镜像的文件格式打包成与当前镜像相同的文件格式,并将打包后的所述目标镜像的文件发送到所述目标设备。
18.在本发明的一些实施方式中,执行模块进一步配置用于:通过所述目标镜像安装程序根据当前镜像的文件格式对收到的镜像文件进行解析以得到标识码和核心文件,并通过所述标识码确认所述目标镜像是正确;响应于基于所述标识码确认所述目标镜像文件的版本并非目标镜像,则基于当前镜像的安装方式对所述目标镜像进行安装。
19.在本发明的一些实施方式中,执行模块进一步配置用于:响应于基于所述标识码确认所述镜像文件的版本为目标镜像,将所述核心文件转换成当前镜像使用的预定格式,并将转换后的核心文件以及目标镜像中的其他文件基于当前镜像的写入方式写入到主存储器和/或备用存储器中。
20.在本发明的一些实施方式中,执行模块进一步配置用于:响应于基于所述标识码确认所述镜像文件的版本为目标镜像,在对所述目标镜像进行写入之前修改所述目标镜像的大小为预定值。
21.在本发明的一些实施方式中,执行模块进一步配置用于:响应于将所述目标镜像写入存储器完成,重启目标设备并置位预定寄存器使所述目标设备在加载所述目标镜像的启动程序和内核程序时均从同一存储器中加载。
22.在本发明的一些实施方式中,执行模块进一步配置用于:监控所述启动程序和内核程序的运行状态,响应于所述启动程序和/或内核程序运行异常,等待预定时间后切换保存镜像的存储器重启所述目标设备。
23.在本发明的一些实施方式中,执行模块进一步配置用于:响应于目标设备的镜像系统为目标镜像,待安装的镜像为当前镜像,将所述当前镜像通过第一预定方式制作成压缩格式,并通过所述目标镜像将所述压缩格式的当前镜像写入到备用存储器中,并切换目标设备的加载镜像路径到所备用存储器重启所述目标设备。
24.在本发明的一些实施方式中,执行模块进一步配置用于:响应于所述目标设备从所述备用储存器启动,通过回滚功能将备用存储器中的当前镜像写入到主存储器中。
25.本发明的又一方面还提出一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
26.本发明的再一方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
27.通过本发明提出的一种bmc异构升级方法,根据openbmc的安装方式生成对应的安
装程序,并在bmc镜像中植入安装openbmc的安装程序作为新镜像,并通过新镜像替换bmc上当前的镜像以使传统的bmc支持openbmc镜像的安装。并通过openbmc的升级接口反向升级bmc镜像,实现bmc与openbmc的异构升级,可远程对大量服务器实现由bmc到openbmc的升级。解决了现有的bmc升级openbmc时的效率低下问题。
附图说明
28.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1为本发明实施例提供的一种bmc异构升级方法的流程示意图;图2为本发明实施例提供的一种bmc异构升级系统的结构示意图;图3为本发明实施例提供的一种计算机设备的结构示意图;图4为本发明实施例提供的一种计算机可读存储介质的结构示意图。
具体实施方式
30.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
31.本发明旨在解决服务器上的bmc在升级到openbmc时存在的不方便问题。传统的bmc具有自身版本迭代功能,即可以通过远程的方式上传bmc镜像到bmc上,然后bmc按照传统的升级方式将bmc镜像写入到flash中完成bmc的迭代更新。但传统的bmc系统却无法以升级bmc的方式升级openbmc。通常都是借助相应的烧录工具连接到bmc的flash,然后将openbmc烧录到flash中,完成对bmc的升级。而这样做不可避免的需要将服务器返厂或由厂商外派工程师到数据中心来完成。因此基于人员流动或服务器返厂带来的成本问题,导致很多厂商或者服务器用户对升级openbmc缺乏积极性,对于使用服务器的客户而言无法使用更好的服务器管理服务,而要使用更好的管理服务则需要立即更换新型服务器,提前迭代服务器设备带来成本增加。对于厂商而言无法为客户提供更好的基板管理功能,但若能解决上述问题,定然会给厂商的服务质量得以提升,使其产品更加具有竞争力。
32.如图1所示,为解决上述问题,本发明提出本发明提出一种bmc异构升级方法,包括:步骤s1、根据目标镜像的安装方式生成目标镜像安装程序,并将所述目标镜像安装程序发送到目标设备;步骤s2、响应于所述目标镜像安装程序运行,将目标镜像发送到目标设备,并通过所述目标镜像安装程序安装所述目标镜像到目标设备。
33.在本发明的实施例中,在步骤s1中,目标设备为运行这传统bmc系统的bmc设备,所谓目标镜像为openbmc镜像,即要安装到bmc上的固件程序,或者说是一种嵌入式操作系统。由于传统的bmc系统并不支持openbmc的安装方式,因此要完成在bmc上安装openbmc的安装,则需要将对应版本的openbmc的安装方式开发成对应的目标镜像安装程序,并将目标镜像安装程序发送到传统的bmc上运行。
34.传统的bmc镜像的安装方式,是将bmc上的flash按照bmc的空间划分,换分成不同的空间,例如:boot区域,大约1024kb;conf区域,2048kb;extlog区域,大约10240kb;以及未强制限定具体大小的root区域,osimage区域等。而openbmc则改变了上述分区机制,直接将openbmc镜像写入到flash中。
35.因此,在步骤s1中生成目标镜像安装程序的逻辑需根据openbmc的安装方式而制定。
36.进一步,在步骤s2中,在目标镜像安装程序在bmc上运行之后,将openbmc镜像发送到bmc上,然后调用目标镜像安装程序将openbmc镜像写入到bmc上的flash中,重启并从flash中加载openbmc完成openbmc镜像的安装。
37.在本发明的一些实施方式中,根据目标镜像的安装方式生成目标镜像安装程序,并将所述目标镜像安装程序发送到目标设备包括;基于目标设备的当前镜像,将目标镜像安装程序嵌入到所述当前镜像中以生成临时镜像;将所述临时镜像发送到目标设备,并通过目标设备上当前运行的镜像系统将所述临时镜像安装到所述目标设备。
38.在本实施例中,当前镜像是指服务器上的bmc正在运行着的bmc系统对应的镜像,即保存在bmc上的flash中的镜像。具体是获取bmc上当前运行的bmc系统信息,并基于该bmc系统信息获取对应的bmc镜像,然后将目标镜像安装程序嵌入到与服务器上bmc当前运行的系统所对应的bmc镜像中生成新的bmc镜像,即临时镜像,临时镜像也是bmc镜像,不同的是具备了目标镜像安装程序,该镜像在bmc上运行之后便可支持openbmc镜像的安装。
39.进一步,将具有目标镜像安装程序的临时镜像发送到正在运行的bmc上,由于临时镜像本质上也是bmc镜像文件,因此运行有传统bmc镜像系统的bmc,是可以实现将临时镜像安装到bmc上的。同时实现了将目标镜像安装程序嵌入到bmc上。同时借助这种方式可以大批量的服务器上的bmc进行升级,即可将临时镜像同时发送到多个bmc上,让多个bmc同时安装具备目标镜像安装程序的临时镜像。
40.在本发明的一些实施方式中,响应于所述目标镜像安装程序运行,将目标镜像发送到目标设备包括:根据当前镜像的文件格式,将所述目标镜像的文件格式打包成与当前镜像相同的文件格式,并将打包后的所述目标镜像的文件发送到所述目标设备。
41.在本实施例中,由于bmc系统支持的bmc镜像格式为hpm(hp newwave emm text file,一种文本文件格式)格式,在一些bmc系统上不支持其他格式的镜像文件上传,并且由于openbmc镜像文件的格式为mtd格式,因此在一些情况下无法直接将openbmc镜像上传至bmc镜像对应的系统中。需要现将mtd格式的openbmc镜像文件先打包成hpm格式,然后在将hpm格式的openbmc镜像文件上传到传统的bmc镜像运行的bmc上。
42.在本发明的一些实施方式中,通过所述目标镜像安装程序安装所述目标镜像到目标设备包括:通过所述目标镜像安装程序根据当前镜像的文件格式对收到的镜像文件进行解析以得到标识码和核心文件,并通过所述标识码确认所述目标镜像是正确;响应于基于所述标识码确认所述目标镜像文件的版本并非目标镜像,则基于当前
镜像的安装方式对所述目标镜像进行安装。
43.在本实施例中,在接收到hpm格式的镜像文件后(基于程序的角度是无法确认镜像文件是否是openbmc镜像文件,还是bmc镜像文件),通过目标镜像程序对hpm格式的镜像文件进行解析,得到对应的openbmc镜像文件,并找到对应的核心文件,即bin文件,和标识该镜像文件是openbmc镜像文件还是bmc镜像文件的表示码componentid。并通过componentid的值判断解析到的镜像文件是否为openbmc镜像,如果不是openbmc镜像,则采用bmc镜像的安装方式对该镜像文件进行安装。
44.在本发明的一些实施方式中,方法还包括:响应于基于所述标识码确认所述镜像文件的版本为目标镜像,将所述核心文件转换成当前镜像使用的预定格式,并将转换后的核心文件以及目标镜像中的其他文件基于当前镜像的写入方式写入到主存储器和/或备用存储器中。
45.在本实施例中,如果通过标识码的值判断该镜像文件是openbmc镜像,则通过目标镜像安装程序将bin文件转换成bmc.ima格式的文件,然后将镜像文件按照bmc镜像的写入方式写入到flash中,如果bcm上具有两个flash,可根据需要向其中一个或两个都写入openbmc镜像。
46.在本发明的一些实施方式中,方法还包括:响应于基于所述标识码确认所述镜像文件的版本为目标镜像,在对所述目标镜像进行写入之前修改所述目标镜像的大小为预定值。
47.在本实施例中,在按照bmc镜像的写入方式写入openbmc镜像之前,需修改写入镜像的大小,即将flash写入数据的偏移量设置成0x0000000镜像大小设置为0x4000000(64m),并将镜像文件循环写入到flash芯片内同时升级。
48.在本发明的一些实施方式中,方法还包括:响应于将所述目标镜像写入存储器完成,重启目标设备并置位预定寄存器使所述目标设备在加载所述目标镜像的启动程序和内核程序时均从同一存储器中加载。
49.在本实施例中,在目标镜像安装程序将openbmc镜像写入到flash完成后,重启bmc,然后将控制bmc加载flash镜像的寄存器置位以使uboot(启动程序)和kernel(内核)都从1个flash启动,可以是备份flash也可以是主flash。
50.在本发明的一些实施方式中,方法还包括:监控所述启动程序和内核程序的运行状态,响应于所述启动程序和/或内核程序运行异常,等待预定时间后切换保存镜像的存储器重启所述目标设备。
51.进一步,通过目标镜像安装程序监控重启过程,如果在重启过程中在uboot引导阶段或内核加载阶段出现异常,且异常时间超过10分钟,则重启bmc并切换写入镜像的flash。
52.在本发明的一些实施方式中,方法还包括:响应于目标设备的镜像系统为目标镜像,待安装的镜像为当前镜像,将所述当前镜像通过第一预定方式制作成压缩格式,并通过所述目标镜像将所述压缩格式的当前镜像写入到备用存储器中,并切换目标设备的加载镜像路径到所备用存储器重启所述目标设备。
53.在本实施例中,如果bmc上当前运行的系统镜像是openbmc镜像,而要升级的镜像为bmc镜像,则通过shell脚本的方法是将bmc镜像制作成tar形式的压缩包,并通过openbmc
自身的升级接口将tar形式的bmc镜像写入到flash中,人后重启bmc,并切换到保存有bmc镜像的flash中启动。
54.在本发明的一些实施方式中,方法还包括:响应于所述目标设备从所述备用储存器启动,通过回滚功能将备用存储器中的当前镜像写入到主存储器中。
55.在本实施例中,进一步,如果从保存有bmc镜像的flash启动成功,即从flash启动的bmc镜像运行成功,且保存bmc的镜像的flash有两个可通过bmc上的rollback功能将另一个flash也刷成bmc的镜像,实现从openbmc向bmc的升级。
56.实施例:(1)新增hpm打包规则,使其支持openbmc镜像打包成hpm格式文件。
57.(2)利用bmc自身升级的逻辑,通过web、redfish接口等方式上传步骤(1)中生成的hpm文件。
58.(3)解析hpm文件,拿到openbmc对应的镜像bin文件及componentid,过componentid区分是bmc还是openbmc升级。
59.(4)在bmc升级成openbmc时,将镜像bin文件转换成bmc.ima,然后偏移量设置成0x0000000镜像大小设置为0x4000000(64m),循环写入到flash芯片内,将双flash(双镜像模式flash0、flash1)同时升级。
60.(5)写入完成后,重启bmc,使uboot与kernel保持一致都从备份flash启动。
61.(6)如果备份flash1启动失败,等待10分钟仍然启动失败时切换到另一个flash0启动。
62.(7)启动成功后即可进入openbmc系统,升级完成。
63.(8)openbmc升级bmc时,通过shell脚本将bmc镜像制作成tar包,即可通过openbmc自身的升级接口升级bmc系统到备份flash内,然后重启系统切换到备份flash1启动,启动成功后即可进入bmc系统,后可以使用rollback功能刷新另一个flash0,升级完成。
64.通过本发明提出的一种bmc异构升级方法,根据openbmc的安装方式生成对应的安装程序,并在bmc镜像中植入安装openbmc的安装程序作为新镜像,并通过新镜像替换bmc上当前的镜像以使传统的bmc支持openbmc镜像的安装。并通过openbmc的升级接口反向升级bmc镜像,实现bmc与openbmc的异构升级,可远程对大量服务器实现由bmc到openbmc的升级。解决了现有的bmc升级openbmc时的效率低下问题。
65.如图2所示,本发明的另一方面还提出一种bmc异构升级系统,包括:初始化模块1,所述初始化模块1用于根据目标镜像的安装方式生成目标镜像安装程序,并将所述目标镜像安装程序发送到目标设备;执行模块2,所述执行模块2用于响应于所述目标镜像安装程序运行,将目标镜像发送到目标设备,并通过所述目标镜像安装程序安装所述目标镜像到目标设备。
66.在本发明的一些实施方式中,所述初始化模块1进一步配置用于:基于目标设备的当前镜像,将目标镜像安装程序嵌入到所述当前镜像中以生成临时镜像;将所述临时镜像发送到目标设备,并通过目标设备上当前运行的镜像系统将所述临时镜像安装到所述目标设备。
67.在本发明的一些实施方式中,执行模块2进一步配置用于:根据当前镜像的文件格式,将所述目标镜像的文件格式打包成与当前镜像相同的文件格式,并将打包后的所述目标镜像的文件发送到所述目标设备。
68.在本发明的一些实施方式中,执行模块2进一步配置用于:通过所述目标镜像安装程序根据当前镜像的文件格式对收到的镜像文件进行解析以得到标识码和核心文件,并通过所述标识码确认所述目标镜像是正确;响应于基于所述标识码确认所述目标镜像文件的版本并非目标镜像,则基于当前镜像的安装方式对所述目标镜像进行安装。
69.在本发明的一些实施方式中,执行模块2进一步配置用于:响应于基于所述标识码确认所述镜像文件的版本为目标镜像,将所述核心文件转换成当前镜像使用的预定格式,并将转换后的核心文件以及目标镜像中的其他文件基于当前镜像的写入方式写入到主存储器和/或备用存储器中。
70.在本发明的一些实施方式中,执行模块2进一步配置用于:响应于基于所述标识码确认所述镜像文件的版本为目标镜像,在对所述目标镜像进行写入之前修改所述目标镜像的大小为预定值。
71.在本发明的一些实施方式中,执行模块2进一步配置用于:响应于将所述目标镜像写入存储器完成,重启目标设备并置位预定寄存器使所述目标设备在加载所述目标镜像的启动程序和内核程序时均从同一存储器中加载。
72.在本发明的一些实施方式中,执行模块2进一步配置用于:监控所述启动程序和内核程序的运行状态,响应于所述启动程序和/或内核程序运行异常,等待预定时间后切换保存镜像的存储器重启所述目标设备。
73.在本发明的一些实施方式中,执行模块2进一步配置用于:响应于目标设备的镜像系统为目标镜像,待安装的镜像为当前镜像,将所述当前镜像通过第一预定方式制作成压缩格式,并通过所述目标镜像将所述压缩格式的当前镜像写入到备用存储器中,并切换目标设备的加载镜像路径到所备用存储器重启所述目标设备。
74.在本发明的一些实施方式中,执行模块2进一步配置用于:响应于所述目标设备从所述备用储存器启动,通过回滚功能将备用存储器中的当前镜像写入到主存储器中。
75.如图3所示,本发明的又一方面还提出一种计算机设备,包括:至少一个处理器21;以及存储器22,所述存储器22存储有可在所述处理器21上运行的计算机指令23,所述指令23由所述处理器21执行时实现一种bmc异构升级方法,包括:根据目标镜像的安装方式生成目标镜像安装程序,并将所述目标镜像安装程序发送到目标设备;响应于所述目标镜像安装程序运行,将目标镜像发送到目标设备,并通过所述目标镜像安装程序安装所述目标镜像到目标设备。
76.在本发明的一些实施方式中,根据目标镜像的安装方式生成目标镜像安装程序,并将所述目标镜像安装程序发送到目标设备包括;
基于目标设备的当前镜像,将目标镜像安装程序嵌入到所述当前镜像中以生成临时镜像;将所述临时镜像发送到目标设备,并通过目标设备上当前运行的镜像系统将所述临时镜像安装到所述目标设备。
77.在本发明的一些实施方式中,响应于所述目标镜像安装程序运行,将目标镜像发送到目标设备包括:根据当前镜像的文件格式,将所述目标镜像的文件格式打包成与当前镜像相同的文件格式,并将打包后的所述目标镜像的文件发送到所述目标设备。
78.在本发明的一些实施方式中,通过所述目标镜像安装程序安装所述目标镜像到目标设备包括:通过所述目标镜像安装程序根据当前镜像的文件格式对收到的镜像文件进行解析以得到标识码和核心文件,并通过所述标识码确认所述目标镜像是正确;响应于基于所述标识码确认所述目标镜像文件的版本并非目标镜像,则基于当前镜像的安装方式对所述目标镜像进行安装。
79.在本发明的一些实施方式中,方法还包括:响应于基于所述标识码确认所述镜像文件的版本为目标镜像,将所述核心文件转换成当前镜像使用的预定格式,并将转换后的核心文件以及目标镜像中的其他文件基于当前镜像的写入方式写入到主存储器和/或备用存储器中。
80.在本发明的一些实施方式中,方法还包括:响应于基于所述标识码确认所述镜像文件的版本为目标镜像,在对所述目标镜像进行写入之前修改所述目标镜像的大小为预定值。
81.在本发明的一些实施方式中,方法还包括:响应于将所述目标镜像写入存储器完成,重启目标设备并置位预定寄存器使所述目标设备在加载所述目标镜像的启动程序和内核程序时均从同一存储器中加载。
82.在本发明的一些实施方式中,方法还包括:监控所述启动程序和内核程序的运行状态,响应于所述启动程序和/或内核程序运行异常,等待预定时间后切换保存镜像的存储器重启所述目标设备。
83.在本发明的一些实施方式中,方法还包括:响应于目标设备的镜像系统为目标镜像,待安装的镜像为当前镜像,将所述当前镜像通过第一预定方式制作成压缩格式,并通过所述目标镜像将所述压缩格式的当前镜像写入到备用存储器中,并切换目标设备的加载镜像路径到所备用存储器重启所述目标设备。
84.在本发明的一些实施方式中,方法还包括:响应于所述目标设备从所述备用储存器启动,通过回滚功能将备用存储器中的当前镜像写入到主存储器中。
85.如图4所示,本发明的再一方面还提出一种计算机可读存储介质401,所述计算机可读存储介质401存储有计算机程序402,所述计算机程序402被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
86.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本
发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
87.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
88.上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
89.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
90.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1