1.本技术涉及数据处理技术领域,尤其涉及一种容器镜像修复方法、装置、设备、介质及产品。
背景技术:2.云平台上运行着各种程序,程序先会被封装成容器镜像,然后再运行容器镜像。在云平台的使用过程中,容器镜像作为云平台的重要组成部分,会被高频率地使用,因而不免会造成数据损坏,出现错误问题。当容器镜像出现存储结构的错误时,会直接导致云平台的程序运行错误。
3.目前,针对容器镜像存储结构出错的问题,一般通过重建该容器镜像的整个镜像仓库以恢复损坏的容器镜像,这种方式耗费时间较长,修复效率较低。
技术实现要素:4.本技术提供一种容器镜像修复方法、装置、设备、介质及产品,用以解决目前一般通过重建容器镜像的整个镜像仓库以恢复损坏的容器镜像,耗费时间较长,修复效率较低的问题。
5.本技术第一方面提供一种容器镜像修复方法,包括:
6.获取待修复镜像仓库中存储结构出错的容器镜像文件;
7.根据所述容器镜像文件从目标镜像仓库中确定对应的数据存储结构列表;所述目标镜像仓库中容器镜像文件的存储结构处于正常状态;
8.根据所述数据存储结构列表修复所述待修复镜像仓库中容器镜像文件的存储结构。
9.进一步地,如上所述的方法,所述获取待修复镜像仓库中存储结构出错的容器镜像文件,包括:
10.扫描云平台服务器中的各个镜像仓库,确定所述待修复镜像仓库;所述待修复镜像仓库中存在存储结构出错的容器镜像文件;
11.从所述待修复镜像仓库中确定存储结构出错的容器镜像文件;所述容器镜像文件为压缩格式文件。
12.进一步地,如上所述的方法,所述根据所述容器镜像文件从目标镜像仓库中确定对应的数据存储结构列表,包括:
13.将所述容器镜像文件导入所述目标镜像仓库中;
14.根据所述容器镜像文件扫描所述目标镜像仓库,以生成对应的数据存储结构列表。
15.进一步地,如上所述的方法,所述根据所述容器镜像文件扫描所述目标镜像仓库,以生成对应的数据存储结构列表,包括:
16.根据所述容器镜像文件对所述目标镜像仓库进行扫描,以确定所述容器镜像文件
对应的第一存储结构数据;
17.将所述第一存储结构数据按照数据列表的方式进行排列,以生成对应的数据存储结构列表。
18.进一步地,如上所述的方法,所述根据所述数据存储结构列表修复所述待修复镜像仓库中容器镜像文件的存储结构,包括:
19.将所述数据存储结构列表中的数据覆盖所述待修复镜像仓库中容器镜像文件的第二存储结构数据。
20.进一步地,如上所述的方法,所述将所述数据存储结构列表中的数据覆盖所述待修复镜像仓库中容器镜像文件的第二存储结构数据,包括:
21.按照所述数据存储结构列表中第一存储结构数据的排列顺序,依次将第一存储结构数据复制到所述待修复镜像仓库中,以覆盖对应的第二存储结构数据。
22.本技术第二方面提供一种容器镜像修复装置,包括:
23.获取模块,用于获取待修复镜像仓库中存储结构出错的容器镜像文件;
24.确定模块,用于根据所述容器镜像文件从目标镜像仓库中确定对应的数据存储结构列表;所述目标镜像仓库中容器镜像文件的存储结构处于正常状态;
25.修复模块,用于根据所述数据存储结构列表修复所述待修复镜像仓库中容器镜像文件的存储结构。
26.进一步地,如上所述的装置,所述获取模块具体用于:
27.扫描云平台服务器中的各个镜像仓库,确定所述待修复镜像仓库;所述待修复镜像仓库中存在存储结构出错的容器镜像文件;从所述待修复镜像仓库中确定存储结构出错的容器镜像文件;所述容器镜像文件为压缩格式文件。
28.进一步地,如上所述的装置,所述确定模块具体用于:
29.将所述容器镜像文件导入所述目标镜像仓库中;根据所述容器镜像文件扫描所述目标镜像仓库,以生成对应的数据存储结构列表。
30.进一步地,如上所述的装置,所述确定模块在根据所述容器镜像文件扫描所述目标镜像仓库,以生成对应的数据存储结构列表时,具体用于:
31.根据所述容器镜像文件对所述目标镜像仓库进行扫描,以确定所述容器镜像文件对应的第一存储结构数据;将所述第一存储结构数据按照数据列表的方式进行排列,以生成对应的数据存储结构列表。
32.进一步地,如上所述的装置,所述修复模块具体用于:
33.将所述数据存储结构列表中的数据覆盖所述待修复镜像仓库中容器镜像文件的第二存储结构数据。
34.进一步地,如上所述的装置,所述修复模块在将所述数据存储结构列表中的数据覆盖所述待修复镜像仓库中容器镜像文件的第二存储结构数据时,具体用于:
35.按照所述数据存储结构列表中第一存储结构数据的排列顺序,依次将第一存储结构数据复制到所述待修复镜像仓库中,以覆盖对应的第二存储结构数据。
36.本技术第三方面提供一种电子设备,包括:存储器和处理器;
37.所述存储器存储计算机执行指令;
38.所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面任一项所
述的容器镜像修复方法。
39.本技术第四方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面任一项所述的容器镜像修复方法。
40.本技术第五方面提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面任一项所述的容器镜像修复方法。
41.本技术提供的一种容器镜像修复方法、装置、设备、介质及产品,该方法包括:获取待修复镜像仓库中存储结构出错的容器镜像文件;根据所述容器镜像文件从目标镜像仓库中确定对应的数据存储结构列表;所述目标镜像仓库中容器镜像文件的存储结构处于正常状态;根据所述数据存储结构列表修复所述待修复镜像仓库中容器镜像文件的存储结构。本技术的容器镜像修复方法,通过容器镜像文件从目标镜像仓库中确定对应的数据存储结构列表,由于目标镜像仓库中容器镜像文件的存储结构处于正常状态,因而,根据该数据存储结构列表可以修复所述待修复镜像仓库中容器镜像文件的存储结构。相比于重建该容器镜像的整个镜像仓库的修复方式,耗费时间更短,修复效率更高。
附图说明
42.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
43.图1为可以实现本技术实施例的容器镜像修复方法的场景图;
44.图2为本技术提供的容器镜像修复方法的流程示意图一;
45.图3为本技术提供的容器镜像修复方法的流程示意图二;
46.图4为本技术提供的容器镜像修复方法的整体流程示意图;
47.图5为本技术提供的容器镜像修复装置的结构示意图;
48.图6为本技术提供的电子设备的结构示意图。
49.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
50.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
51.本技术实施例的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
52.需要说明的是,本公开容器镜像修复方法、装置、设备、介质及产品可用于数据处理技术领域。也可用于除数据处理以外的任意领域,如金融领域。本公开容器镜像修复方法、装置、设备、介质及产品应用领域不作限定。
53.下面以具体地实施例对本技术的技术方案进行详细说明。下面这几个具体的实施
例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
54.为了清楚理解本技术的技术方案,首先对现有技术的方案进行详细介绍。随着网络技术的不断发展,云平台已经成为互联网的基础设施。云平台上运行着各种程序,程序先会被封装成容器镜像,然后再运行容器镜像。因而,容器镜像是云平台的重要组成部分,容器镜像的存储结构发生损坏会导致云平台产生巨大的故障。通常情况下如果发生了容器镜像的损坏,由于无法准确定位出现问题的具体数据,只能清空整个镜像仓库并重建整个镜像仓库,以修复出现问题的容器镜像。然而,镜像仓库一般数据量很大,重建整个镜像仓库的整个过程非常耗时耗力,修复效率较低。
55.所以针对现有技术中一般通过重建容器镜像的整个镜像仓库以恢复损坏的容器镜像,耗费时间较长,修复效率较低的问题,发明人在研究中发现,为了解决该问题,可以从其他处于正常运行状态的镜像仓库中确定损坏的容器镜像对应的存储结构数据,利用正常的存储结构数据修复损坏的容器镜像。
56.具体的,获取待修复镜像仓库中存储结构出错的容器镜像文件。根据容器镜像文件从目标镜像仓库中确定对应的数据存储结构列表。其中,目标镜像仓库中容器镜像文件的存储结构处于正常状态。根据数据存储结构列表修复待修复镜像仓库中容器镜像文件的存储结构。通过容器镜像文件从目标镜像仓库中确定对应的数据存储结构列表,由于目标镜像仓库中容器镜像文件的存储结构处于正常状态,因而,根据该数据存储结构列表可以修复待修复镜像仓库中容器镜像文件的存储结构。相比于重建该容器镜像的整个镜像仓库的修复方式,耗费时间更短,修复效率更高。
57.发明人基于上述的创造性发现,提出了本技术的技术方案。
58.下面对本技术实施例提供的容器镜像修复方法的应用场景进行介绍。如图1所示,其中,1为第一电子设备,2为第二电子设备。本技术实施例提供的容器镜像修复方法对应的应用场景的网络架构中包括:第一电子设备1和第二电子设备2。第二电子设备2可以为云平台服务器,云平台服务器可以有多个,其中第二电子设备2存储有多个镜像仓库。镜像仓库是容器镜像的集合,一个镜像仓库中包括多个容器镜像。
59.示例性的,在检测到第二电子设备2中的某个镜像仓库中存在存储结构出错的容器镜像时,第一电子设备1从第二电子设备2处获取存储结构出错的容器镜像文件以及镜像仓库数据。具体可以为第二电子设备2发送存储结构出错的容器镜像文件及镜像仓库数据至第一电子设备1处。此时,第一电子设备1根据容器镜像文件从目标镜像仓库中确定对应的数据存储结构列表,其中,目标镜像仓库中容器镜像文件的存储结构处于正常状态。同时,第一电子设备1根据数据存储结构列表修复第二电子设备2中待修复镜像仓库中待修复容器镜像文件的存储结构。
60.在其他应用场景中,也可以是由第一电子设备1监测第二电子设备2中各镜像仓库中容器镜像的状态,当监测到某镜像仓库中的容器镜像出现存储结构错误时,直接获取该容器镜像文件。同时,第一电子设备1根据该容器镜像文件读取第二电子设备2中的镜像仓库数据,以从目标镜像仓库中确定对应的数据存储结构列表。然后,第一电子设备1根据数据存储结构列表修复待修复镜像仓库中容器镜像文件的存储结构。
61.其次,也可以在第一电子设备1中存储多个镜像仓库,每个镜像仓库中包括多个容
器镜像。当某个镜像仓库的容器镜像出现存储结构错误时,第一电子设备1直接确定存储结构出错的容器镜像文件,并根据容器镜像文件直接从目标镜像仓库中确定对应的数据存储结构列表,最后,根据数据存储结构列表修复待修复镜像仓库中容器镜像文件的存储结构。从而实现高效的修复效率。本实施例的容器镜像修复方法可以适用于多种应用场景,对此本实施例不作限定。
62.下面结合说明书附图对本技术实施例进行介绍。
63.图2为本技术提供的容器镜像修复方法的流程示意图一,如图2所示,本实施例中,本技术实施例的执行主体为容器镜像修复装置,该容器镜像修复装置可以集成在电子设备中。则本实施例提供的容器镜像修复方法包括以下几个步骤:
64.步骤s101,获取待修复镜像仓库中存储结构出错的容器镜像文件。
65.本实施例中,若容器镜像修复装置位于云平台服务器中,则可以直接监测云平台服务器中的各个镜像仓库,在某镜像仓库中出现出错的容器镜像时,直接确定出现错误的容器镜像文件及其对应的镜像仓库。此时,将存在出现错误的容器镜像的镜像仓库确定为待修复镜像仓库。
66.若容器镜像修复装置位于其他电子设备,如容器镜像修复服务器,则可以从云平台服务器中获取待修复镜像仓库中存储结构出错的容器镜像文件。由云平台服务器确定待修复镜像仓库及其对应的存储结构出错的容器镜像文件。同时,也可以通过扫描云平台服务器中的各个镜像仓库的方式,确定待修复镜像仓库以及对应的存储结构出错的容器镜像文件,对此本实施例不作限定。
67.容器是一种将主机资源进行分配、隔离的方式。应用程序可以运行在容器中。容器规定了该应用程序可以使用的处理器、内存、网络带宽等资源。容器镜像是容器运行的具体文件数据,比如各种程序。
68.容器镜像的存储结构主要分两部分,一是容器镜像的数字编码标识之间的关联,二是镜像数字编码标识与镜像名称标识之间的关联。存储结构出错,可能是第一种关联出错也可能是第二种关联出错,甚至可能出现其他的数据错误,因而,无法准确定位出现问题的具体数据,现有技术中,只能通过清空整个镜像仓库并重建整个镜像仓库的方式进行修复。
69.步骤s102,根据容器镜像文件从目标镜像仓库中确定对应的数据存储结构列表。目标镜像仓库中容器镜像文件的存储结构处于正常状态。
70.本实施例中,一般情况下,镜像仓库有多个,且容器镜像的存储结构在多个镜像仓库中可能是相同的。在一个镜像仓库中的容器镜像出错时,可以从其他的未出错的镜像仓库中确定对应的数据存储结构列表。从而通过数据存储结构列表进行修复处理。
71.存储结构处于正常状态是指存储结构是以正常且正确的,没有出现错误。
72.步骤s103,根据数据存储结构列表修复待修复镜像仓库中容器镜像文件的存储结构。
73.本实施例中,可以通过正确的数据存储结构列表来修复待修复镜像仓库中容器镜像文件的存储结构。具体修复方式,可以是通过数据直接覆盖的方式,将数据存储结构列表中的存储结构数据覆盖待修复镜像仓库中,以实现容器镜像文件的修复。也可以是基于数据存储结构列表,对待修复的容器镜像文件的对应数据进行比对,从而查找出错的数据,并
进行修复。同时,也可以采用其他的修复方式,本实施例对此不作限定。
74.本技术实施例提供的一种容器镜像修复方法,该方法包括:获取待修复镜像仓库中存储结构出错的容器镜像文件。根据容器镜像文件从目标镜像仓库中确定对应的数据存储结构列表。目标镜像仓库中容器镜像文件的存储结构处于正常状态。根据数据存储结构列表修复待修复镜像仓库中容器镜像文件的存储结构。
75.本技术的容器镜像修复方法,通过容器镜像文件从目标镜像仓库中确定对应的数据存储结构列表,由于目标镜像仓库中容器镜像文件的存储结构处于正常状态,因而,根据该数据存储结构列表可以修复待修复镜像仓库中容器镜像文件的存储结构。相比于重建该容器镜像的整个镜像仓库的修复方式,耗费时间更短,修复效率更高,且不容易产生重建仓库方式中出现的修复错误。
76.图3为本技术提供的容器镜像修复方法的流程示意图二,如图3所示,本实施例提供的容器镜像修复方法,是在本技术上一实施例提供的容器镜像修复方法的基础上,进行了进一步的细化。则本实施例提供的容器镜像修复方法包括以下步骤。
77.步骤s201,扫描云平台服务器中的各个镜像仓库,确定待修复镜像仓库。待修复镜像仓库中存在存储结构出错的容器镜像文件。
78.本实施例中,可以直接扫描云平台服务器,以确定存在存储结构出错的容器镜像文件的待修复镜像仓库。提高获取容器镜像文件的效率,从而提高容器镜像的整体修复效率。
79.步骤s202,从待修复镜像仓库中确定存储结构出错的容器镜像文件。容器镜像文件为压缩格式文件。
80.本实施例中,在确定待修复镜像仓库后,可以直接确定存储结构出错的容器镜像文件。该容器镜像文件一般采用压缩格式,从而可以降低容器镜像文件对服务器的内部存储空间的占据量。
81.步骤s203,将容器镜像文件导入目标镜像仓库中。
82.本实施例中,将容器镜像文件导入目标镜像仓库中,从而可以为后续确定对应数据存储结构列表提供基础。
83.步骤s204,根据容器镜像文件扫描目标镜像仓库,以生成对应的数据存储结构列表。
84.在根据容器镜像文件扫描目标镜像仓库时,可以确定目标镜像仓库中的容器镜像文件对应的存储结构数据。通过将存储结构数据以列表的形式保存下来,生成数据存储结构列表,可以使存储结构数据具有一定的排列顺序,方便对存储结构数据的比对、覆盖等操作,提高后续根据数据存储结构列表修复的准确性。
85.可选的,本实施例中,步骤s204可以具体为:
86.根据容器镜像文件对目标镜像仓库进行扫描,以确定容器镜像文件对应的第一存储结构数据。
87.将第一存储结构数据按照数据列表的方式进行排列,以生成对应的数据存储结构列表。
88.本实施例中,通过将第一存储结构数据按照数据列表的方式进行排列,可以方便后续对第一存储结构数据的复制、覆盖等操作。
89.步骤s205,将数据存储结构列表中的数据覆盖待修复镜像仓库中容器镜像文件的第二存储结构数据。
90.本实施例中,相比将数据存储结构列表与第二存储结构数据一一比对,再进行数据修复的方式,通过直接将数据存储结构列表中的数据覆盖待修复镜像仓库中容器镜像文件的第二存储结构数据的方式,速度更快,可以提高容器镜像文件的修复效率。
91.可选的,本实施例中,步骤s205可以具体为:
92.按照数据存储结构列表中第一存储结构数据的排列顺序,依次将第一存储结构数据复制到待修复镜像仓库中,以覆盖对应的第二存储结构数据。
93.本实施例中,可以按照数据存储结构列表中的排列顺序,依次覆盖对应的第二存储结构数据,进一步提高覆盖效率。
94.为了进一步详细的说明本实施例的容器镜像修复方法,下面将结合附图进行进一步说明。图4为本技术提供的容器镜像修复方法的整体流程示意图,如图4所示,本实施例的步骤具体如下:
95.步骤s301,检测发现一个镜像仓库中的某个容器镜像出现存储结构损坏。
96.步骤s302,将该容器镜像的原文件导入另一个镜像仓库中,其中,另一个镜像仓库的存储结构处于正常状态。
97.步骤s303,扫描另一个镜像仓库,将该容器镜像对应的存储结构以数据存储结构列表的形式表示。
98.步骤s304,将数据存储结构列表中的存储结构数据覆盖上述一个镜像仓库中的存储结构数据,完成对容器镜像的修复。
99.通过上述的步骤,能够快速针对性地修复出错的容器镜像,并且不用重建整个仓库。同时,用正确数据去覆盖错误数据的过程由程序自动完成,不容易出错。
100.图5为本技术提供的容器镜像修复装置的结构示意图,如图5所示,本实施例中,该容器镜像修复装置400可以设置在电子设备中,容器镜像修复装置400包括:
101.获取模块401,用于获取待修复镜像仓库中存储结构出错的容器镜像文件。
102.确定模块402,用于根据容器镜像文件从目标镜像仓库中确定对应的数据存储结构列表。目标镜像仓库中容器镜像文件的存储结构处于正常状态。
103.修复模块403,用于根据数据存储结构列表修复待修复镜像仓库中容器镜像文件的存储结构。
104.本实施例提供的容器镜像修复装置可以执行图2所示方法实施例的技术方案,其实现原理和技术效果与图2所示方法实施例类似,在此不再一一赘述。
105.本技术提供的容器镜像修复装置在上一实施例提供的容器镜像修复装置的基础上,对容器镜像修复装置进行了进一步的细化,则容器镜像修复装置400包括:
106.可选的,本实施例中,获取模块具体用于:
107.扫描云平台服务器中的各个镜像仓库,确定待修复镜像仓库。待修复镜像仓库中存在存储结构出错的容器镜像文件。从待修复镜像仓库中确定存储结构出错的容器镜像文件。容器镜像文件为压缩格式文件。
108.可选的,本实施例中,确定模块具体用于:
109.将容器镜像文件导入目标镜像仓库中。根据容器镜像文件扫描目标镜像仓库,以
生成对应的数据存储结构列表。
110.可选的,本实施例中,确定模块在根据容器镜像文件扫描目标镜像仓库,以生成对应的数据存储结构列表时,具体用于:
111.根据容器镜像文件对目标镜像仓库进行扫描,以确定容器镜像文件对应的第一存储结构数据。将第一存储结构数据按照数据列表的方式进行排列,以生成对应的数据存储结构列表。
112.可选的,本实施例中,修复模块具体用于:
113.将数据存储结构列表中的数据覆盖待修复镜像仓库中容器镜像文件的第二存储结构数据。
114.可选的,本实施例中,修复模块在将数据存储结构列表中的数据覆盖待修复镜像仓库中容器镜像文件的第二存储结构数据时,具体用于:
115.按照数据存储结构列表中第一存储结构数据的排列顺序,依次将第一存储结构数据复制到待修复镜像仓库中,以覆盖对应的第二存储结构数据。
116.本实施例提供的容器镜像修复装置可以执行图2-图4所示方法实施例的技术方案,其实现原理和技术效果与图2-图4所示方法实施例类似,在此不再一一赘述。
117.根据本技术的实施例,本技术还提供了一种电子设备、一种计算机可读存储介质和一种计算机程序产品。
118.如图6所示,图6是本技术提供的电子设备的结构示意图。电子设备旨在各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、刀片式服务器、大型计算机、和其它适合的计算机。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。
119.如图6所示,该电子设备包括:处理器501和存储器502。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理。
120.存储器502即为本技术所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本技术所提供的容器镜像修复方法。本技术的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本技术所提供的容器镜像修复方法。
121.存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本技术实施例中的容器镜像修复方法对应的程序指令/模块(例如,附图5所示的获取模块401、确定模块402和修复模块403)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中的容器镜像修复方法。
122.同时,本实施例还提供一种计算机产品,当该计算机产品中的指令由电子设备的处理器执行时,使得电子设备能够执行上述实施例的容器镜像修复方法。
123.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术实施例的其它实施方案。本技术旨在涵盖本技术实施例的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术实施例的一般性原理并包括本技术实施例未公开的本技术领域中的公知常识或惯用技术手段。
124.应当理解的是,本技术实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术实施例的范围仅由所附的权利要求书来限制。