一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

容器镜像传输方法、装置、设备及存储介质与流程

2022-07-19 21:36:16 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种容器镜像传输方法、装置、设备及存储介质。


背景技术:

2.容器技术是一种操作系统虚拟化技术,容器由容器运行时和容器镜像两部分构成。容器镜像提供一种逻辑打包机制,将应用程序运行环境打包成一可传输及可启动的文件集,通过该文件集,容器引擎可以为应用程序运行单独创建可执行环境。研究表明容器启动70%以上时间用于容器镜像的传输,加快容器镜像的传输,将极大的促进容器的快速启动。
3.目前,对容器镜像的传输进行改进以加快容器启动已有一些解决方案,例如懒加载、指令重放以及远端挂载等相应方案。其中,懒加载方案是根据可以进行索引的文件归档存储方式,对容器镜像在未完全传输完成时便启动容器。指令重放方案通过还原容器镜像的生成过程,在仅存储和传输有限层数的基础上,还原容器镜像生成过程,以在容器启动前完成容器镜像的创建。而远端挂载方案是将容器镜像在本地集中存储,在创建容器时通过直接磁盘挂载方式仅在容器文件被访问时进行传输和加载,从而实现容器的快速启动。
4.然而,现有的解决方案仍然存在一些技术缺陷。比如,懒加载方案对容器镜像中各文件的索引按需排序下载,减少了等待容器镜像完全下载完成的时间,未从根本上加快容器镜像的传输。指令重放方法在一定程度上减少了容器镜像大小,但由于大部分指令还涉及网络i/o操作,因此对于加快容器启动的效果并不明显。另外,远端挂载方案对网络时延和带宽具有极高要求,不适用于互联网环境下的存储与传输。可见,亟需一种容器镜像传输方法,以克服现有技术关于容器镜像传输以加快容器启动中存在的上述技术缺陷。


技术实现要素:

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.在一种可能的设计中,所述第二处理模块,具体用于:
44.根据所述第二索引将所述第一文件签名与所述第二原始文件进行比较,以确定所述第二文件签名,所述第二原始文件为存储于本地的第一原始文件;
45.回传所述第二文件签名至所述客户端。
46.在一种可能的设计中,所述容器镜像传输装置,还包括:计数模块;所述计数模块,用于:
47.根据所述第二索引对每个第一文件签名对应的所述第一原始文件的数量进行计数;
48.当计数结果小于或者等于零时,删除与所述计数结果对应的第一文件签名所对应的第一原始文件。
49.在一种可能的设计中,所述计数模块,还用于:
50.当上传所述第一原始文件至所述服务器端时,所述计数结果增加;
51.当删除所述第一文件签名对应的所述第一原始文件时,所述计数结果减少。
52.第五方面,本技术提供一种电子设备,包括:
53.存储器,用于存储计算机程序;
54.处理器,用于调用并执行存储器中的计算机程序,执行第一方面所提供的任意一种可能的容器镜像传输方法。
55.第六方面,本技术提供一种电子设备,包括:
56.存储器,用于存储计算机程序;
57.处理器,用于调用并执行存储器中的计算机程序,执行第二方面所提供的任意一种可能的容器镜像传输方法。
58.第七方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于执行第一方面所提供的任意一种可能的容器镜像传输方法。
59.第八方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于执行第二方面所提供的任意一种可能的容器镜像传输方法。
60.第九方面,本技术还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所提供的任意一种可能的容器镜像传输方法。
61.第十方面,本技术还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第二方面所提供的任意一种可能的容器镜像传输方法。
62.本技术提供一种容器镜像传输方法、装置、设备及存储介质。首先客户端根据标准容器镜像生成目标容器镜像,并将目标镜像规范上传至服务器端,其中,目标镜像规范包括分层信息、元数据以及第一文件签名,第一文件签名表征每层第一原始文件的并行摘要。然后服务器端根据接收到的第一文件签名生成第二索引,并根据第二索引向客户端反馈第二文件签名,客户端根据第二文件签名向服务器端差异化传输目标文件,目标文件为第二文件签名对应的第一原始文件,第二文件签名表征未存储于服务器端本地的第一原始文件的并行摘要,从而完成容器镜像传输,从根本上减少了传输过程的数据量,充分利用客户端和服务器端的本地存储,降低了对网络时延和带宽的极高要求,加快了容器镜像相关数据的传输,进而能够加快容器的启动速度。
附图说明
63.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
64.图1为本技术实施例提供的一种应用场景示意图;
65.图2为本技术实施例提供的一种容器镜像传输方法的流程示意图;
66.图3为本技术实施例提供的另一种容器镜像传输方法的流程示意图;
67.图4为本技术实施例提供的再一种容器镜像传输方法的流程示意图;
68.图5为本技术实施例提供的又一种容器镜像传输方法的流程示意图;
69.图6为本技术实施例提供的一种容器镜像传输装置的结构示意图;
70.图7为本技术实施例提供的另一种容器镜像传输装置的结构示意图;
71.图8为本技术实施例提供的再一种容器镜像传输装置的结构示意图;
72.图9为本技术实施例提供的又一种容器镜像传输装置的结构示意图;
73.图10为本技术提供的一种电子设备的结构示意图;
74.图11为本技术提供的另一种电子设备的结构示意图。
具体实施方式
75.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的方法和装置的例子。
76.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产
品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
77.研究表明容器启动时70%以上时间用于容器镜像的传输,加快容器镜像的传输,将极大的促进容器的快速启动。现有技术中针对容器镜像的传输进行了一些改进,例如懒加载、指令重放以及远端挂载等一些解决方案,但这些方案仍然存在一些技术缺陷。比如,懒加载方案对容器镜像中各文件的索引按需排序下载,减少了等待容器镜像完全下载完成的时间,但未从根本上加快容器镜像的传输。指令重放方法在一定程度上减少了容器镜像大小,但由于大部分指令涉及网络i/o操作,因此对于加快容器启动的效果并不明显。而远端挂载方案对网络时延和带宽具有极高要求,不适用于互联网环境下的存储与传输。
78.可见,亟需一种容器镜像传输方法,以克服现有技术关于容器镜像传输以加快容器启动中存在的上述技术缺陷。
79.本技术提供一种容器镜像传输方法、装置、设备及存储介质。本技术提供的容器镜像传输方法的发明构思在于:客户端根据标准容器镜像生成目标容器镜像,仅将目标容器镜像规范上传至服务器端,目标镜像规范包括数据量非常小的分层信息、元数据以及第一文件签名。在服务器端确定出未存储于本地的第一原始文件的并行摘要,即第二文件签名时,向客户端反馈第二文件签名,客户端才根据第二文件签名差异化传输该第二文件签名对应的第一原始文件,即目标文件,第二文件签名表征未存储于服务器端本地的第一原始文件的并行摘要。由于目标镜像规范未包含数据量较大的第一原始文件,而客户端向服务端也是差异化传输目标文件,因而从根本上减少了容器镜像传输过程的数据量,充分利用客户端和服务器端的本地存储,降低了对网络时延和带宽的极高要求,加快了容器镜像的传输,进而能够加快容器的启动速度。
80.以下,对本技术实施例的示例性应用场景进行介绍。
81.本技术实施例提供的容器镜像传输方法可以由本技术实施例提供的容器镜像传输装置执行,以对容器镜像在客户端和服务器端进行传输。图1为本技术实施例提供的一种应用场景示意图,如图1所示,网络可以为终端设备11和服务器12之间提供通信链路的介质,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等,终端设备11和服务器12之间可以通过网络进行交互,通过接收或发送消息达到容器镜像在终端设备11和服务器12之间的传输。其中,终端设备11为客户端,被配置于为用户提供本地服务的本地端。服务器12为服务器端,被配置于云端,从而可以形成云原生架构,以在云原生时代,为加快容器镜像的传输提供一种有效的解决方案,进而有效加快容器的快速启动。
82.值得理解的是,上述应用场景中配置于客户端本地的终端设备11可以是计算机、智能终端、服务器或者服务器集群等设备,对此,本实施例不作限定,图1中的终端设备11以计算机为例示出。
83.需要说明的是,上述应用场景仅仅是示意性的,本技术实施例提供的容器镜像传输方法、装置、设备及存储介质包括但不仅限于上述应用场景。
84.另外,进行容器镜像传输的客户端还可以为多个,而本技术各实施例中所描述的客户端为多个客户端中生成目标容器镜像的客户端,当还存在一些其他客户端需要从服务器端直接下载容器镜像时,这些其他客户端也可以从服务器端差异化下载容器镜像的相关数据,比如,这些客户端首先从服务器端下载目标镜像规范,基于目标镜像规范中的第一文
件签名确定各自所需的第一原始文件,之后再从服务器端下载对应的第一原始文件,无需从服务器端下载所有全部的第一原始文件,从而减小了容器镜像传输的数据量,加快从服务器端下载容器镜像的速度,进而加快容器在本地的快速启动。由于上传和下载属于相反的传输路径,因此,此处描述的这些其他客户端从服务器端下载相关数据以达到容器镜像传输的方法可参考本技术实施例中客户端向服务器端的上传相关数据以达到容器镜像传输的相应步骤,在此不再赘述。
85.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
86.图2为本技术实施例提供的一种容器镜像传输方法的流程示意图。如图2所示,本实施例提供的容器镜像传输方法,包括:
87.s101:根据标准容器镜像生成目标容器镜像,并将目标镜像规范上传至服务器端。
88.相应地,服务器端接收客户端上传的目标镜像规范。
89.其中,目标镜像规范包括分层信息、元数据以及第一文件签名,第一文件签名表征每层第一原始文件的并行摘要。
90.客户端于本地对标准容器镜像进行改进,以根据标准容器镜像生成目标容器镜像。之后,客户端将目标容器镜像对应的镜像规范上传至服务器端,目标容器镜像的镜像规范为目标镜像规范,即客户端将目标镜像规范上传至服务器端。
91.在容器镜像技术领域,容器镜像的镜像规范通常包括分层信息、元数据以及原始文件,其中,分层信息是指层次顺序以及每层文件的目录结构的数据,目录结构可以包括目录名文件名。元数据是指能够表征例如环境变量以及历史指令等容器镜像特有属性的数据。原始文件是指各层具体的文件内容。因此,标准容器镜像对应的标准容器镜像规范则包括上述这三部分内容,即标准镜像规范包括分层信息、元数据以及原始文件。在本技术实施例中为了描述方便,将上述中的每层的原始文件命名为第一原始文件。
92.在本步骤中客户端根据标准容器镜像生成目标容器镜像,得到目标容器镜像规范,而目标镜像规范包括分层信息、元数据以及第一文件签名,其中,该目标镜像规范中的分层信息和元数据均为标准镜像规范中的分层信息和元数据,而目标镜像规范中的第一文件签名是对标准容器镜像中每一层的第一原始文件确定对应的摘要所得到的并行摘要。需要说明的是,每层的第一原始文件的数量可能为多个,因此,第一文件签名是针对一层中所有的第一原始文件而言。故而,第一文件签名用于表征每层第一原始文件的并行摘要。
93.在一种可能的设计中,本步骤s101中客户端根据标准容器镜像生成目标容器镜像可能的实现方式如图3所示,图3为本技术实施例提供的另一种容器镜像传输方法的流程示意图,如图3所示,本实施例提供的客户端根据标准容器镜像生成目标容器镜像,包括:
94.s1011:根据预设镜像构建指令生成标准容器镜像,以得到标准镜像规范。
95.其中,标准镜像规范包括分层信息、元数据以及各层的第一原始文件。
96.客户端于其本地生成标准容器镜像,进而可以得到标准容器镜像对应的镜像规范,即标准镜像规范。
97.客户端可以通过运行生成容器镜像的软件程序,以根据软件程序中的相应镜像构建指令生成标准容器镜像,所运行的软件程序对应的镜像构建指令即为预设镜像构建指
令,由具体选用的软件程序决定。例如客户端于本地运行用于构建镜像的docker软件程序,以执行该软件程序对应的dockerfile指令生成标准容器镜像,从而得到标准镜像规范。
98.标准镜像规范包括分层信息、元数据以及各层的第一原始文件。具体地,分层信息是指表征标准容器镜像的层次顺序以及每层文件的目录结构的数据,目录结构可以包括目录名文件名。元数据是指能够表征例如环境变量以及历史指令等该标准容器镜像特有属性的数据。各层的第一原始文件即为各层具体的文件内容。
99.s1012:根据每层的第一原始文件确定对应的第一文件签名,并根据第一文件签名和标准镜像规范得到目标镜像规范,以生成目标容器镜像。
100.客户端于本地生成标准容器镜像后,根据标准镜像规范中每层的第一原始文件确定对应的摘要,由于每层的第一原始文件的数量可能为多个,因此所确定的摘要为本层的第一原始文件的并行摘要,每层的并行摘要即为该层的第一文件签名,从而将标准镜像规范中的分层信息、元数据以及第一文件签名确定为目标镜像规范。相应地,将确定了第一文件签名的标准容器镜像确定为目标容器镜像,该目标容器镜像与标准容器镜像不同的是,目标容器镜像的镜像规范,即目标镜像规范,其不包括第一原始文件,但包括第一文件签名。第一原始文件的数据量与第一文件签名的数据量相比会大很多,因此,目标镜像规范对应的数据量会远远小于标准镜像规范对应的数据量,减小了容器镜像的大小。
101.本技术实施例提供的容器镜像传输中客户端根据标准容器镜像生成目标容器镜像,客户端首先根据预设镜像构建指令生成标准容器镜像,得到标准镜像规范,标准镜像规范包括分层信息、元数据以及各层的第一原始文件。然后根据每层的第一原始文件确定对应的第一文件签名,并根据第一文件签名和标准镜像规范得到目标镜像规范,以生成目标容器镜像。目标镜像规范的数据量远远小于标准镜像规范的数据量,从而为减小容器镜像传输过程中的数据量提供了有力支撑,进而可以提高容器镜像的传输时间。
102.s102:根据接收到的第一文件签名生成第二索引。
103.其中,第二索引用于表征第一文件签名与第二原始文件的对应关系。
104.服务器端接收客户端上传的目标镜像规范后,根据接收到的第一文件签名首先生成第二索引,以通过第二索引来表征第一文件签名与第二原始文件的对应关系,其中,第二原始文件为存储于服务器端本地的第一原始文件。
105.s103:根据第二索引向客户端反馈第二文件签名。
106.相应地,客户端接收服务器端反馈的第二文件签名。
107.其中,第二文件签名表征未存储于本地的第一原始文件的并行摘要。
108.服务器端于本地生成第二索引后,根据第二索引向客户端反馈第二文件签名,以使客户端根据第二文件签名向服务端上传第一原始文件。
109.第二索引是表征第一文件签名与存储与服务器端本地的第一原始文件之间的对应关系,服务器端通过查找第二索引,可以确定出在服务器端本地仅存在第一文件签名,而未存在该第一文件签名对应的第一原始文件的这些第一文件签名,将查找出的此类第一文件签名确定为第二文件签名,即第二文件签名是指未存储于本地的第一原始文件的并行摘要。服务器端再将第二文件签名反馈给客户端,客户端只需根据第二文件签名向服务器端差异化传输对应的第一原始文件即可,与将所有的第一原始文件上传至服务器端相比,极大地减少了传输的数据量。
110.在一种可能的设计中,本步骤s103中服务器端根据第二索引向客户端反馈第二文件签名可能的实现方式如图4所示,图4为本技术实施例提供的再一种容器镜像传输方法的流程示意图,本实施例提供的容器镜像传输方法中根据第二索引向客户端反馈第二文件签名,包括:
111.s1031:根据第二索引将第一文件签名与第二原始文件进行比较,以确定第二文件签名。
112.其中,第二原始文件为存储于本地的第一原始文件。
113.s1032:回传第二文件签名至客户端。
114.例如,服务器端于本地查找第二索引,根据第二索引将第一文件签名与第二原始文件进行比较,其中,第二原始文件为存储于服务器端本地的第一原始文件,经过比较可以确定出在服务器端本地仅存储有第一文件签名,但未存储有该第一文件签名对应的第一原始文件的第一文件签名,将此类第一文件签名确定为第二文件签名。之后,服务器端将第二文件签名回传至客户端。
115.s104:根据第二文件签名向服务器端差异化传输目标文件。
116.其中,目标文件为第二文件签名对应的第一原始文件。
117.客户端接收服务器端回传的第二文件签名后,将第二文件签名对应的第一原始文件,即目标文件,传输至服务器端,从而完成根据第二文件签名向服务器端差异化传输目标文件。
118.当服务器端存储数据为空白时,即服务器端未存储有任何关于容器镜像的相关数据时,第二文件签名为所有的第一文件签名,目标文件则为所有的第一原始文件。而当服务器端与客户端已经形成容器镜像的交互,此时,客户端仅根据第二文件签名进行差异化传输,无需将所有的第一原始文件都上传至服务器端,极大地减少了容器镜像传输过程的数据量,并充分利用客户端和服务器端的本地存储资源。进一步地,在数据量得到极大减少的前提下,对网络时延和带宽相应地不再有极高要求。从而加快容器镜像相关数据的传输,进而加快容器的启动速度。
119.本技术实施例提供的容器镜像传输方法,首先客户端根据标准容器镜像生成目标容器镜像,并将目标镜像规范上传至服务器端,其中,目标镜像规范包括分层信息、元数据以及第一文件签名,第一文件签名表征每层第一原始文件的并行摘要。然后服务器端根据接收到的第一文件签名生成第二索引,并根据第二索引向客户端反馈第二文件签名。最后客户端根据第二文件签名向服务器端差异化传输目标文件,目标文件为第二文件签名对应的第一原始文件,第二文件签名表征未存储于服务器端本地的第一原始文件的并行摘要,从而完成容器镜像传输。从根本上减少了传输过程的数据量,充分利用客户端和服务器端的本地存储,降低了对网络时延和带宽的极高要求,加快了容器镜像相关数据的传输,进而能够加快容器的启动速度。
120.图5为本技术实施例提供的又一种容器镜像传输方法的流程示意图,如图5所示,本实施例提供的容器镜像传输方法,包括:
121.s201:根据标准容器镜像生成目标容器镜像,并将目标镜像规范上传至服务器端。
122.其中,目标镜像规范包括分层信息、元数据以及第一文件签名,第一文件签名表征每层第一原始文件的并行摘要。
123.客户端首先根据标准容器镜像生成目标容器镜像,并将目标镜像规范上传至服务器端,相应地,服务器端接收客户端上传的目标镜像规范。
124.步骤s201的实现原理、方式以及相应技术效果与前述实施例中步骤s101的实现原理、方式及技术效果相类似,在此不再赘述。
125.s202:根据第一文件签名生成第一索引,并在本地存储第一索引和标准容器镜像。
126.第一索引用于表征第一文件签名与第一原始文件的对应关系。
127.客户端根据第一文件签名生成表征每个第一文件签名与第一原始文件之间的对应关系的第一索引,并在本地存储第一索引和标准容器镜像。于本地存储标准容器镜像也即为将标准镜像规范中的分层信息、元数据以及各层的第一原始文件于本地进行存储。
128.s203:根据接收到的第一文件签名生成第二索引。
129.其中,第二索引用于表征第一文件签名与第二原始文件的对应关系。
130.本步骤s203的实现原理、方式以及相应技术效果与前述实施例中步骤s102的实现原理、方式及技术效果相类似,在此不再赘述。
131.s204:根据第二索引对每个第一文件签名对应的第一原始文件的数量进行计数。
132.服务器端根据接收到的第一文件签名生成第二索引之后,服务器端还根据第二索引对存储于本地的第一文件签名对应的第一原始文件的数量进行计数,以对第一原始文件进行集中管理,可以使得服务器端中存储资源得到有效利用。
133.可选地,服务器端根据第二索引对每个第一文件签名对应的第一原始文件进行计数,包括:
134.当客户端上传第一原始文件至服务器端时,增加预设计数幅度,使得计数结果增加。
135.另一方面,当存储于服务器端的第一文件签名对应的第一原始文件被删除时,相应地减少预设计数幅度,使得计数结果减少。
136.其中,预设计数间隔可以根据实际工况设置,例如,每上传或者删除一第一原始文件,对应的计数结果增加或者减少预设计数幅度,该预设计数幅度可以通过任意正整数或者任意正整数的任意整数倍表示,对此,本实施例不作限定。
137.可以理解的是,服务器端具备各种接口,例如容器镜像上传接口、文件上传接口以及容器镜像删除接口等。但服务器端不支持客户端直接对第一原始文件进行删除,而是通过对第一原始文件的数量进行计数后,根据计数结果对第一原始文件进行删除操作。例如,当计数结果小于或者等于零时,服务器端可以删除与该小于或者等于零的计数结果对应的第一文件签名所对应的第一原始文件,达到删除第一原始文件的目的。
138.可选地,若为了进一步加快传输以及提高本地磁盘利用率,可以磁盘空间进行磁盘空间水位管理,例如可以在不同水位时配置不同的第一原始文件删除策略,以对第一原始文件形成一定智能化管理。
139.s205:根据第二索引向客户端反馈第二文件签名。
140.其中,第二文件签名表征未存储于本地的第一原始文件的并行摘要。
141.s206:根据第二文件签名向服务器端差异化传输目标文件。
142.其中,目标文件为第二文件签名对应的第一原始文件。
143.上述步骤s205和步骤s206的实现原理、方式以及相应技术效果分别与前述实施例
中的步骤s103和步骤s104的实现原理、方式及技术效果相类似,在此不再赘述。
144.本技术实施例提供的容器镜像传输方法,客户端根据标准容器镜像生成目标容器镜像,并将目标镜像规范上传至服务器端。另外,客户端还根据第一文件签名生成第一索引,并在本地存储第一索引和标准容器镜像。而服务器端根据接收到的第一文件签名生成第二索引,以及根据第二索引对每个第一文件签名对应的第一原始文件的数量进行计数,进一步还可以根据计数结果对第一原始文件进行删除操作。服务器端还根据第二索引向客户端反馈第二文件签名,使得客户端根据第二文件签名向服务器端差异化传输未存储于服务器端本地的第一原始文件,从而完成客户端与服务器端之间的容器镜像传输。从根本上减少了传输过程的数据量,充分利用客户端和服务器端的本地存储,还有效提高了本地磁盘的利用率,降低了对网络时延和带宽的极高要求,加快了容器镜像相关数据的传输,进而能够加快容器的启动速度。
145.上述各实施例描述的容器镜像的传输用于客户端与服务器端都处于在线状态的工况中,即客户端与服务器端之间可以基于互联网网络形成通信连接。可选地,客户端在将目标镜像规范上传至服务器端之前,本技术实施例提供的容器镜像传输方法,还包括客户端与服务器端之间建立网络连接的过程。例如,客户端可以向服务器端发送账户信息,以根据账户信息与服务器端进行客户端的身份认证,服务器端接收账户信息以通过该账户信息进行身份认证,当身份认证通过后,客户端可以通过登录该账户信息与服务器端建立对应的网络连接,从而为客户端与服务器端之间的容器镜像传输提供数据传输介质。并且,客户端与服务器端之间具有身份认证关系,可以保证容器镜像交互过程的安全性。
146.可选地,在实际工况中还存在客户端和/或服务器端处于离线状态,即客户端和/或服务器端处于非互联网的联网状态,此种工况中,可以通过预设传输工具将目标镜像规范以及标准镜像规范中的所有第一原始文件导入至至服务器端,预设传输工具可以为u盘、硬盘及磁盘的硬件传输工具。可以理解的是,当服务器端处于离线的此种工况时,若另一客户端需从服务器端下载容器镜像,也可以通过预设传输工具导出服务器端存储的容器镜像的相关数据。
147.下述为本技术装置实施例,可以用于执行本技术对应的方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术对应的方法实施例。
148.图6为本技术实施例提供的一种容器镜像传输装置的结构示意图。如图6所示,本实施例提供的容器镜像传输装置300,包括:
149.第一处理模块301,用于根据标准容器镜像生成目标容器镜像,并将目标镜像规范上传至服务器端。
150.其中,目标镜像规范包括分层信息、元数据以及第一文件签名,第一文件签名表征每层第一原始文件的并行摘要。
151.第二处理模块302,用于根据第二文件签名向服务器端差异化传输目标文件。
152.其中,目标文件为第二文件签名对应的第一原始文件。
153.在一种可能的设计中,第一处理模块301,具体用于:
154.根据预设镜像构建指令生成标准容器镜像,以得到标准镜像规范。标准镜像规范包括分层信息、元数据以及各层的第一原始文件。
155.根据每层的第一原始文件确定对应的第一文件签名,并根据第一文件签名和标准
镜像规范得到目标镜像规范,以生成目标容器镜像。
156.在图6所示实施例的基础上,图7为本技术实施例提供的另一种容器镜像传输装置的结构示意图。如图7所示,本实施例提供的容器镜像传输装置300,还包括:第三处理模块303,用于:
157.根据第一文件签名生成第一索引,并在本地存储第一索引和标准容器镜像。第一索引用于表征第一文件签名与第一原始文件的对应关系。
158.在一种可能的设计中,当客户端和服务器端为在线状态,容器镜像传输装置,还包括:认证模块。该认证模块,用于:
159.根据账户信息与服务器端进行身份认证;
160.当身份认证通过后,通过登录账户信息与服务器端建立网络连接。
161.值得说明的,上述图6和图7以及可选的实施例提供的容器镜像传输装置,可用于执行上述任一实施例提供的容器镜像传输方法中客户端侧的各步骤,具体实现方式和技术效果类似,这里不再赘述。
162.图8为本技术实施例提供的再一种容器镜像传输装置的结构示意图。如图8所示,本实施例提供的容器镜像传输装置400,包括:
163.第一处理模块401,用于根据接收到的第一文件签名生成第二索引。
164.其中,第二索引用于表征第一文件签名与第二原始文件的对应关系。
165.第二处理模块402,用于根据第二索引向客户端反馈第二文件签名。
166.其中,第二文件签名表征未存储于本地的第一原始文件的并行摘要。
167.在一种可能的设计中,第二处理模块402,具体用于:
168.根据第二索引将第一文件签名与第二原始文件进行比较,以确定第二文件签名。第二原始文件为存储于本地的第一原始文件;
169.回传第二文件签名至客户端。
170.在图8所示实施例的基础上,图9为本技术实施例提供的又一种容器镜像传输装置的结构示意图。如图9所示,本实施例提供的容器镜像传输装置400,还包括:计数模块403,用于:
171.根据第二索引对每个第一文件签名对应的第一原始文件的数量进行计数;
172.当计数结果小于或者等于零时,删除与计数结果对应第一文件签名所对应的第一原始文件。
173.可选地,计数模块403,还用于:
174.当上传第一原始文件至服务器端时,计数结果增加;
175.当删除第一文件签名对应的第一原始文件时,计数结果减少。
176.值得说明的,上述图8和图9以及可选的实施例提供的容器镜像传输装置,可用于执行上述任一实施例提供的容器镜像传输方法中服务器端侧的各步骤,具体实现方式和技术效果类似,这里不再赘述。
177.本技术所提供的上述各装置实施例仅仅是示意性的,其中的模块划分仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个模块可以结合或者可以集成到另一个系统。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模
块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。
178.图10为本技术提供的一种电子设备的结构示意图。如图10所示,该电子设备500可以包括:至少一个处理器501和存储器502。图10示出的是以一个处理器为例的电子设备。
179.存储器502,用于存放处理器501的程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
180.存储器502可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
181.处理器501配置为用于执行存储器502存储的计算机程序,以实现以上各方法实施例中容器镜像传输方法中客户端侧的各步骤。
182.其中,处理器501可能是一个中央处理器(central processing unit,简称为cpu),或者是特定集成电路(application specific integrated circuit,简称为asic),或者是被配置成实施本技术实施例的一个或多个集成电路。
183.可选地,存储器502既可以是独立的,也可以跟处理器501集成在一起。当存储器502是独立于处理器501之外的器件时,电子设备500,还可以包括:
184.总线503,用于连接处理器501以及存储器502。总线可以是工业标准体系结构(industry standard architecture,简称为isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
185.可选的,在具体实现上,如果存储器502和处理器501集成在一块芯片上实现,则存储器502和处理器501可以通过内部接口完成通信。
186.本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有计算机程序,当电子设备的至少一个处理器执行该计算机程序时,电子设备执行上述的各种实施方式提供的容器镜像传输方法中客户端侧的各个步骤。
187.本技术实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该计算机程序,至少一个处理器执行该计算机程序使得电子设备实施上述的各种实施方式提供的容器镜像传输方法中客户端侧的各个步骤。
188.图11为本技术提供的另一种电子设备的结构示意图。如图11所示,该电子设备600可以包括:至少一个处理器601和存储器602。图11示出的是以一个处理器为例的电子设备。
189.存储器602,用于存放处理器601的程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
190.存储器602可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
191.处理器601配置为用于执行存储器602存储的计算机程序,以实现以上各方法实施例中容器镜像传输方法中服务器端侧的各步骤。
192.其中,处理器601可能是一个中央处理器(central processing unit,简称为cpu),或者是特定集成电路(application specific integrated circuit,简称为asic),或者是被配置成实施本技术实施例的一个或多个集成电路。
193.可选地,存储器602既可以是独立的,也可以跟处理器601集成在一起。当存储器602是独立于处理器601之外的器件时,电子设备600,还可以包括:
194.总线603,用于连接处理器601以及存储器602。总线可以是工业标准体系结构(industry standard architecture,简称为isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
195.可选的,在具体实现上,如果存储器602和处理器601集成在一块芯片上实现,则存储器602和处理器601可以通过内部接口完成通信。
196.本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有计算机程序,当电子设备的至少一个处理器执行该计算机程序时,电子设备执行上述的各种实施方式提供的容器镜像传输方法中服务器端侧的各个步骤。
197.本技术实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该计算机程序,至少一个处理器执行该计算机程序使得电子设备实施上述的各种实施方式提供的容器镜像传输方法中服务器端侧的各个步骤。
198.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由权利要求书指出。
199.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献