【技术实现步骤摘要】
系统升级方法、装置、电子设备及存储介质
[0001]本申请涉及升级
,尤其涉及系统升级方法、装置、电子设备及存储介质。
技术介绍
[0002]电子设备的存储空间包括用户只读空间和用户空间,用户空间可以采用单分区,用户只读空间中的部分空间可以采用单分区或双分区,在电子设备运行时用户只读空间采用单分区,对于这种结构的电子设备,其系统升级方法可以根据snapshot(快照)机制对待升级系统进行升级,一个升级包对应一个临时文件,在临时文件中写入升级包对应的差异数据后对电子设备进行重启。电子设备如果对多个升级包进行升级处理需执行多次重启,使得待升级系统的升级会因为多次重启而增加耗时,从而降低升级效率。
技术实现思路
[0003]本申请提供的系统升级方法、装置、电子设备及存储介质,解决了多次重启升级多个升级包导致的升级效率低的问题。
[0004]为达到上述目的,本申请采用如下技术方案:
[0005]第一方面,本申请提供了一种系统升级方法,所述方法包括:获取待升级系统的第i个升级包,从处于挂载状态的临时文件中获取第一差异数据以及从用户只读空间中获取源版本的原始数据,每条所述第一差异数据用于指示所有版本中相邻两个版本之间存在差异的数据,所有版本是在第i个升级包对应版本之前出现的版本,i为大于或等于2的自然数;根据所述所有第一差异数据、所述源版本的原始数据和所述第i个升级包,得到第二差异数据,存储所述第二差异数据至临时文件中,所述第二差异数据用于指示所述第i个升级包与第i
‑
1个
【技术保护点】
【技术特征摘要】
1.一种系统升级方法,其特征在于,所述方法包括:获取待升级系统的第i个升级包,从处于挂载状态的临时文件中获取第一差异数据以及从用户只读空间中获取源版本的原始数据,每条所述第一差异数据用于指示所有版本中相邻两个版本之间存在差异的数据,所有版本是在第i个升级包对应版本之前出现的版本,i为大于或等于2的自然数;根据所述所有第一差异数据、所述源版本的原始数据和所述第i个升级包,得到第二差异数据,存储所述第二差异数据至临时文件中,所述第二差异数据用于指示所述第i个升级包与第i
‑
1个升级包之间的差异;响应重启指令,根据临时文件中的所有差异数据和所述源版本的原始数据,启动所述待升级系统;响应所述待升级系统成功启动,将临时文件中的所有差异数据写入到所述用户只读空间中,所述所有差异数据和所述源版本的原始数据合并为待升级系统的目标数据,所述目标数据指向所述待升级系统的目标版本。2.根据权利要求1所述的方法,其特征在于,所述根据所述所有第一差异数据、所述源版本的原始数据和所述第i个升级包,得到第二差异数据,存储所述第二差异数据至临时文件中,包括:根据所述所有第一差异数据、所述源版本的原始数据和所述第i个升级包中的每条升级数据,对每条升级数据进行差分还原处理,以得到每条升级数据对应的第二差异数据;将所述每条升级数据对应的第二差异数据暂存至用户空间中;响应还原处理完成指令,将所述用户空间中的第二差异数据存储至所述临时文件中。3.根据权利要求1所述的方法,其特征在于,所述根据所述所有第一差异数据、所述源版本的原始数据和所述第i个升级包,得到第二差异数据,存储所述第二差异数据至临时文件中,包括:根据所述第i个升级包中每条升级数据的地址,确定所述第i个升级包的特定地址集合,所述特定地址集合中的每个地址是任意两条升级数据中一条升级数据中的源地址与另一条升级数据的目标地址重合的地址;从所述所有第一差异数据和所述原始数据中获取所述特定地址集合中每个地址对应的数据,将所述每个地址和每个地址对应的数据暂存至用户空间中;根据所述所有第一差异数据、所述用户空间中的数据、所述源版本的原始数据和所述第i个升级包中的每条升级数据,对每条升级数据进行差分还原处理,以得到每条升级数据对应的第二差异数据;存储所述第二差异数据至所述临时文件中。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:根据第一排序条件和第二排序条件,对所述第i个升级包中的每条升级数据进行排序,得到所述第i个升级包的排序结果,所述第一排序条件指示所述特定地址集合对应的升级数据的排序在其他升级数据之前,所述第二排序条件指示特定地址集合中地址作为目标地址的写入操作晚于其作为源地址的读取操作;所述根据所述所有第一差异数据、所述用户空间中的数据、所述源版本的原始数据和所述第i个升级包中的每条升级数据,对每条升级数据进行差分还原处理,以得到每条升级
数据对应的第二差异数据,包括:按照所述第i个升级包的排序结果,根据所述所有第一差异数据、所述用户空间中的数据、所述源版本的原始数据和所述第i个升级包中的每条升级数据,对每条升级数据进行差分还原处理,以得到每条升级数据对应的第二差异数据。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:根据排序结果,从暂存至用户空间中的数据中确定第一类型数据和第二类型数据,将所述第一类型数据保留在所述用户空间中,将所述第二类型数据从所述用户空间中删除;所述第一类型数据表示在第一类型数据的地址中写入数据影响其他数据从第一类型数据的地址中读取数据,所述第二类型数据表示在第二类型数据对应的地址中写入数据不影响其他数据从第二类型数据的地址中读取的数据。6.根据权利要求1所述的方法,其特征在于,所述根据所述所有第一差异数据、所述源版本的原始数据和所述第i个升级包,得到第二差异数据,存储所述第二差异数据至临时文件中包括:根据所述第i个升级包中每条升级数据的地址,对每条升级数据进行排序,得到排序结果,所述排序结果使存在相同地址的升级数据排序在没有相同地址的升级数据之前,所述存在相同地址的升级数据是源地址和目标地址存在重合的地址所属升级数据,所述源地址和所述目标地址位于不同的升级数据中,存在相同地址的不同升级数据的排序是所述地址作为目标地址的写入操作晚于其作为源地址的读取操作;根据所述排序结果、所述所有第一差异数据、所述源版本的原始数据和所述第i个升级包中的每条升级数据,对每条升级数据进行差分还原处理,以得到每条升级数据对应的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。