CN113872999A - 镜像分发方法、电子设备及存储介质 - Google Patents
镜像分发方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113872999A CN113872999A CN202010618603.3A CN202010618603A CN113872999A CN 113872999 A CN113872999 A CN 113872999A CN 202010618603 A CN202010618603 A CN 202010618603A CN 113872999 A CN113872999 A CN 113872999A
- Authority
- CN
- China
- Prior art keywords
- image
- mirror image
- image file
- data
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000015654 memory Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 5
- 239000000126 substance Substances 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 21
- 238000004891 communication Methods 0.000 abstract description 2
- 238000012795 verification Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例涉及通信技术领域,公开了一种镜像分发方法、服务器及存储介质。本发明中,通过获取镜像文件的分发请求;识别出镜像文件的各层数据在源镜像仓库中的第一存储位置;根据第一存储位置,将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库的技术手段,在需要进行镜像分发时,对镜像文件的各层数据的存储位置进行识别后进行镜像分发,从而无需将镜像拉取到本地后再推送至目标镜像仓库,使得镜像分发的效率显著提升,同时避免了拉取镜像文件到本地后可能产生的文件冲突,提高了镜像分发过程的稳定性。
Description
技术领域
本发明实施例涉及通信领域,特别涉及一种镜像分发方法、服务器及存储介质。
背景技术
随着IT技术日新月异的发展,由于具有方便、简单、成本低、安全性高的特点,虚拟化技术在计算机领域应用的范围越来越广泛。其中,镜像仓库便是虚拟化技术中一个重要的网元,它的作用是用来存储用户的各类镜像文件(Image)。镜像在镜像仓库中是分层(Layers)存储的,并通过不同的引用关系(link)来识别不同的镜像。也就是说,一个镜像并不是以一个文件、而是以一系列Layers和links存放在镜像仓库,这是一种特殊的文件结构,它可以使各层数据进行共享,减少存储空间。
在镜像的使用过程中,用户常常需要在多个镜像仓库之间进行镜像分发,现有技术中常常是基于一种开源的应用容器引擎,即docker***来完成镜像分发:首先从源镜像仓库中拉取一个镜像文件,给镜像打上标签后再将镜像文件推送到新标签对应的目标镜像仓库。由于采用这种方式来进行镜像分发需要将完整的镜像文件拉取到本地,因此对网络带宽的占用较高,分发效率较低;此外,由于镜像文件往往在本地需要存储一定的时间,当多个分发任务对应于同一镜像文件时,容易发生镜像文件的冲突。
发明内容
本发明实施例的目的在于提供一种镜像分发方法、服务器及存储介质,通过新的镜像分发方法,提高镜像分发过程的效率与稳定性。
为解决上述技术问题,本发明的实施例提供了一种镜像分发方法,包括:获取镜像文件的分发请求;从镜像文件的源镜像仓库中识别出镜像文件的存储位置;根据镜像文件的存储位置将镜像文件分发至目标镜像仓库。
本发明的实施例还提供了一种服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的应用分发方法。
本发明的实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的应用分发方法。
本发明实施例相对于现有技术而言,获取镜像文件的分发请求;识别出镜像文件的各层数据在源镜像仓库中的第一存储位置;根据第一存储位置,将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库的技术手段,在需要进行镜像分发时,对镜像文件的各层数据的存储位置进行识别后进行镜像分发,从而无需将镜像拉取到本地后再推送至目标镜像仓库,使得镜像分发的效率显著提升,同时避免了拉取镜像文件到本地后可能产生的文件冲突,提高了镜像分发过程的稳定性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是根据本发明第一实施例中的镜像分发方法的流程图;
图2是根据本发明第二实施例中的镜像分发方法的流程图;
图3是根据本发明第三实施例中的镜像分发方法的流程图;
图4是根据本发明第四实施例中的镜像分发装置的结构示意图;
图5是根据本发明第四实施例中的镜像分发装置的结构示意图;
图6是根据本发明第五实施例中的服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施例涉及一种镜像分发方法,获取镜像文件的分发请求;识别出镜像文件的各层数据在源镜像仓库中的第一存储位置;根据第一存储位置,将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库的技术手段,在需要进行镜像分发时,对镜像文件的各层数据的存储位置进行识别后进行镜像分发,从而无需将镜像拉取到本地后再推送至目标镜像仓库,使得镜像分发的效率显著提升,同时避免了拉取镜像文件到本地后可能产生的文件冲突,提高了镜像分发过程的稳定性。
下面对本实施例的电子***应用方法的实现细节进行说明,以下内容仅为方便理解而提供的实现细节,并非实施本方案的必须。
本实施例的具体流程如图1所示,具体包括以下步骤:
步骤101,获取镜像文件的分发请求。
具体地说,本实施例中提到的镜像文件为分发请求中请求的镜像文件,即待分发的镜像文件。当用户需要在多个镜像仓库间进行镜像分发时,通过DClient(ImageDistribute Clien,镜像分发***客户端)发送镜像文件的分发请求给IDServer(ImageDistribute Server,镜像分发***服务端)。可以使用的IDClient包括:Web(网页客户端)、App(移动终端应用程序)、命令行二进制程序、命令行脚本等。本实施例中的执行主体为IDServer,可以与IDClient部署在相同的虚拟节点上或相同的虚机节点上,起到对镜像仓库进行管理与控制的功能。其中,镜像分发请求中至少携带有待分发的镜像文件的名称或包括多个待分发镜像文件的名称的镜像列表,以及源镜像仓库的地址和目标镜像仓库的地址。
步骤102,识别出镜像文件的各层数据在源镜像仓库中的第一存储位置。
具体地说,在接收到来自IDServer的镜像文件的分发请求后,在源镜像仓库进行镜像识别,即解析分发请求中的镜像文件名称以及源镜像仓库的地址,同时结合镜像在镜像仓库中特殊的存储结构,从镜像仓库中识别出待分发的镜像文件的各层数据在源镜像仓库中的存储位置,即第一存储位置。其中,镜像文件的各层数据,即底层数据,是由镜像文件在镜像仓库中特殊的存储结构来确定的,底层数据包括但不限于repositories、blobs、layers、manifests等。其中,repositories用于存放镜像的基础信息,包括租户、标签、引用关系等;blobs用于存储镜像各层的实际数据;layers用于存储某镜像对实际数据层的引用关系;manifests用于存储某镜像的标签及各标签对实际数据层的引用关系。在识别出源镜像仓库中镜像文件的底层数据后,对镜像文件的底层数据进行锁定,即对底层数据进行保存。
在一个例子中,对底层数据的保存可以是临时性的,例如将底层数据写入服务器的随机存取存储器RAM中,即易失性存储器,在执行完本次的镜像分发操作后就释放其占用的内存空间;此外,对底层数据也可以是持久性的,例如将底层数据写入数据库、服务器本地的磁盘、云端存储空间等非易失性存储器,从而使得后续对镜像文件的校验过程或对该镜像文件的其他分发操作无需再次对镜像文件的存储位置进行识别,从而提高镜像文件分发的效率。
步骤103,根据第一存储位置,将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库。
具体的说,对镜像文件进行分发时,分发到目标镜像仓库的文件数据仍然符合镜像存储的特定结构,即分发至目标镜像仓库的镜像文件与源镜像仓库中镜像文件的存储结构保持一致,其底层数据也是一致的。
由此,本发明第一实施例提供了一种镜像分发方法,通过获取镜像文件的分发请求;识别出镜像文件的各层数据在源镜像仓库中的第一存储位置;根据第一存储位置,将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库的技术手段,在需要进行镜像分发时,对镜像文件的各层数据的存储位置进行识别后进行镜像分发,从而无需将镜像拉取到本地后再推送至目标镜像仓库,使得当多个镜像分发请求的任务同时进行时镜像分发***服务端对于分发请求的处理效率得到显著提升,同时避免了拉取镜像文件到本地后可能产生的文件冲突,提高了镜像分发过程的稳定性。
本发明的第二实施例涉及镜像分发方法,第二实施例与第一实施例大致相同,在本实施例中,将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库之前,识别目标镜像仓库中是否不存在与待分发的镜像文件相同的镜像文件,当识别结果为是则执行将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库;否则不执行镜像文件的分发操作。通过对目标镜像仓库中镜像文件的审核,避免了镜像分发时进行不必要的数据传输操作。
本实施例中的电子***应用方法的具体流程图如图2所示,具体包括以下步骤:
步骤201,获取镜像文件的分发请求。
步骤202,识别出镜像文件的各层数据在源镜像仓库中的第一存储位置。
本实施例中的步骤201和步骤202与本发明第一实施例中的步骤101和步骤102相同,相关的实施细节已在第一实施例中进行具体说明,在此不再赘述。
步骤203,判断目标镜像仓库中是否存在与所述镜像文件相同的镜像文件;若目标镜像仓库中不存在与所述镜像文件相同的镜像文件,则执行步骤204,根据第一存储位置,将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库;否则结束镜像分发流程。
具体地说,当目标镜像仓库中存在与待分发的镜像文件相同的镜像文件时,表示镜像仓库中已经存在用户所请求的镜像文件,因此无需进行镜像分发的操作,节省了虚机环境下的传输资源,减少了带宽占用从而进一步地提高了镜像分发的速度,当多个镜像分发请求的任务同时进行时,显著提高镜像分发***服务端对于分发请求的处理效率。
在一个例子中,确定目标镜像仓库中不存在与所述镜像文件相同的镜像文件的方式具体如下:
首先在目标镜像仓库中检索待分发的镜像文件的镜像名称,即识别目标镜像仓库中是否存在与待分发的镜像文件同名的镜像文件。当目标镜像仓库中不存在与镜像文件同名的镜像文件,则确定目标镜像仓库中不存在与待分发的镜像文件相同的镜像文件,此时执行根据第一存储位置,将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库。
当目标镜像仓库中存在与镜像文件同名的镜像文件时,则需要进一步地识别与镜像文件同名的镜像文件的各层数据在目标镜像仓库中的存储位置,即第二存储位置。然后比较第二存储位置与第一存储位置中存储的各层数据,若第二存储位置存储的各层数据与第一存储位置存储的各层数据不匹配,则确定目标镜像仓库中不存在与待分发的镜像文件相同的镜像文件,此时执行根据第一存储位置,将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库;否则最终确定目标镜像仓库中存在与待分发的镜像文件相同的镜像文件,结束镜像分发的流程。
进一步地说,从镜像文件的各层数据中获取镜像文件的文件特征,当目标镜像仓库中与待分发的镜像文件同名的镜像文件的文件特征与待分发的镜像文件的文件特征一致时,则判定两者为相同的镜像文件。这里所比较的文件特征包括但不限于镜像文件的数据数量、大小、md5码、sha256码等。当其中任一项文件特征存在差异时,则判定两者为不同的镜像文件。
在一个例子中根据第一存储位置,将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库这一具体的具体操作可以采用以下方式:从第一存储位置复制待分发的镜像文件的各层数据,并将复制的镜像文件的各层数据以覆盖方式存储在所述第二存储位置。通过此种方式进行镜像分发时,分发到目标镜像仓库的数据仍然自动符合镜像存储的特定结构。
由此,本实施例提供了一种镜像分发方法,在镜像分发之前对目标镜像仓库中与待分发的镜像文件的同名镜像文件进行识别,当存在完全相同的镜像文件时,不进行镜像分发操作,从而减少数据传输所占用的带宽,使得多分发请求并发时的处理效率得到显著提高,同时也能够避免分发完成后,相同镜像文件在目标镜像仓库中发生的文件冲突问题。
此外,本领域技术人员可以理解,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施例涉及一种镜像分发方法,第三实施例与第一实施例大致相同。在本实施例中,将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库后,对分发后的镜像文件的各层数据的第三存储位置与第一存储位置进行校验,若两者匹配则标识镜像分发成功,结束镜像分发流程;若两者不匹配,表示镜像文件在分发过程中发生了错误,则重新执行根据第一存储位置,将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库。本实施例通过对分发后的文件进行校验,保证镜像文件分发的准确度,进一步地提高了镜像分发过程的稳定性。
本实施例中的镜像分发方法的具体流程图如图3所示,具体包括以下步骤:
步骤301,获取镜像文件的分发请求。
步骤302,识别出镜像文件的各层数据在源镜像仓库中的第一存储位置。
步骤303,判断目标镜像仓库中是否存在与所述镜像文件相同的镜像文件。若目标镜像仓库中不存在与所述镜像文件相同的镜像文件,则执行步骤304,根据第一存储位置,将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库;否则结束镜像分发流程。
本实施例中的步骤301至步骤304与第二实施例中的步骤301至步骤304大致相同,相关的实施细节已在第二实施例中具体说明,在此不再赘述。
步骤305,校验分发后镜像文件在第三存储位置的存储的各层数据与第一存储位置存储的各层数据是否匹配。若校验出所述第三存储位置存储的各层数据与所述第一存储位置存储的各层数据不匹配,则结束分发流程;否则重新执行步骤304,根据第一存储位置,将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库。
具体地说,在镜像文件的分发完成后,识别分发后的镜像文件的各层数据在目标镜像仓库中的第三存储位置。然后校验第三存储位置存储的各层数据与第一存储位置存储的各层数据是否一致。若校验出第三存储位置存储的各层数据与第一存储位置存储的各层数据不匹配,则重新执行步骤304。通过对分发后镜像文件的存储数据进行校验,保证了分发后镜像文件的数据不存在丢失或错误,进一步地提高了镜像分发过程中镜像文件的稳定性。
进一步地说,本实施例中对镜像文件各层数据的校验与第二实施例中的校验过程类似,同样是比较两个镜像文件的文件特征,如文件的数据数量、大小、md5码、sha256码等。当目标镜像仓库中分发后的镜像文件与源镜像库中的镜像文件中的任一项文件特征存在差异时,则表示两者的存储数据不匹配。
另外,用户可以在镜像分发***服务端中设置重新分发镜像的次数上限,当镜像分发多次发生错误时,考虑到可能是***出现问题,向管理员推送错误消息,供管理员检查***是否存在其他错误,避免镜像分发流程陷入循环错误中,浪费***资源。
在一个例子中,当需要持久性地保存镜像文件的存储地址信息时,可以在识别出镜像文件的各层数据在源镜像仓库中的第一存储位置之后,以及,在识别出与镜像文件同名的镜像文件的各层数据在目标镜像仓库中的第二存储位置之后,分别将第一存储位置和第二存储位置写入非易失性存储器,如数据库、服务器本地的磁盘、云端存储空间等。
进一步地说,当在步骤305后进行判断后重新执行步骤304时,首先从非易失性存储器中获取得到保存的第一存储位置。除了可以直接识别分发后的镜像文件在目标镜像仓库中的第三存储位置,还可以从非易失性存储器中获取之前保存的第二存储位置,然后校验在第一存储位置存储的各层数据与第二存储位置或第三存储位置存储的各层数据是否一致,从而完成分发后镜像文件的校验过程,当第一存储位置存储的各层数据与第二存储位置或第三存储位置存储的各层数据一致时,则结束数据分发流程;否则再次重新执行步骤304。
由此,本实施例提供了一种镜像分发方法,在镜像分发完成后,校验目标镜像仓库中分发后镜像文件的各层数据与源镜像仓库中镜像文件的各层数据是否一致,保证镜像文件分发的准确度,进一步地提高了镜像分发过程的稳定性。
本发明第四实施例提供一种镜像分发装置,如图4所示,包括:
接收模块401,用于获取镜像文件的分发请求,并在解析出镜像名称后将镜像名称发送至控制模块。
控制模块402,用于识别出待分发的镜像文件的各层数据在源镜像仓库中的第一存储位置。
在一个例子中,还用于识别与待分发的镜像文件同名的镜像文件的各层数据在目标镜像仓库中的第二存储位置。
在一个例子中,还用于识别分发后的镜像文件的各层数据在目标镜像仓库中的第三存储位置。
在一个例子中,还用于在识别出镜像文件的各层数据在源镜像仓库中的第一存储位置之后,以及,在识别出与镜像文件同名的镜像文件的各层数据在目标镜像仓库中的第二存储位置之后,分别将第一存储位置和第二存储位置写入非易失性存储器,如数据库、服务器本地的磁盘、云端存储空间等。
校验模块403,用于根据控制模块402识别出的第一存储位置以及第二存储位置来确定目标镜像仓库中不存在与镜像文件相同的镜像文件,并将校验结果发送至分发模块404。
在一个例子中,还用于从非易失性存储器中获取第一存储位置和/或第二存储位置。
在一个例子中,还用于校验分发后的镜像文件的各层数据的第三存储位置与第一存储位置是否匹配,并将校验结果发送至分发模块404。
分发模块404,用于根据校验模块发送的校验结果以及第一存储位置,将镜像文件的各层数据从源镜像仓库分发至目标镜像仓库。
在具体应用中,本实施例中镜像装置的结构与交互关系如图5所示。其中,接收模块501与客户端相连,用于接收用户通过客户端下发的镜像分发请求。
控制模块502、校验模块503以及分发模块504均同时与源镜像仓库和目标镜像仓库通信连接。
不难发现,本实施例为与第一、第二或第三实施例相对应的装置实施例,本实施例可与第一或第二实施例互相配合实施。第一、第二或第三实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一、第二或第三实施例中。
值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
本发明第五实施例涉及一种服务器,如图6所示,包括:至少一个处理器601;以及,与至少一个处理器601通信连接的存储器602;其中,存储器602存储有可被至少一个处理器601执行的指令,指令被至少一个处理器601执行,以使至少一个处理器601能够执行上述的电子***应用方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,***接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本发明第五实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (11)
1.一种镜像分发方法,其特征在于,包括:
获取镜像文件的分发请求;
识别出所述镜像文件的各层数据在源镜像仓库中的第一存储位置;
根据所述第一存储位置,将所述镜像文件的各层数据从所述源镜像仓库分发至目标镜像仓库。
2.根据权利要求1所述的镜像分发方法,其特征在于,所述根据上述第一存储位置,将所述镜像文件的各层数据从所述源镜像仓库分发至目标镜像仓库,包括:
从所述第一存储位置复制所述镜像文件的各层数据,并将复制的所述镜像文件的各层数据存储在所述目标镜像仓库。
3.根据权利要求1所述的镜像分发方法,其特征在于,在所述根据所述第一存储位置,将所述镜像文件的各层数据从所述源镜像仓库分发至目标镜像仓库之前,还包括:
确定所述目标镜像仓库中不存在与所述镜像文件相同的镜像文件。
4.根据权利要求1所述的镜像分发方法,其特征在于,所述确定所述目标镜像仓库中不存在所述镜像文件,包括:
识别所述目标镜像仓库中是否存在与所述镜像文件同名的镜像文件;
若所述目标镜像仓库中不存在与所述镜像文件同名的镜像文件,确定所述目标镜像仓库中不存在与所述镜像文件相同的镜像文件。
5.根据权利要求4所述的镜像分发方法,其特征在于,所述确定所述目标镜像仓库中不存在所述镜像文件,还包括:
若所述目标镜像仓库中存在与所述镜像文件同名的镜像文件,识别出所述与所述镜像文件同名的镜像文件的各层数据在所述目标镜像仓库中的第二存储位置;
若所述第二存储位置存储的各层数据与所述第一存储位置存储的各层数据不匹配,确定所述目标镜像仓库中不存在所述镜像文件。
6.根据权利要求1至4中任一项所述的镜像分发方法,其特征在于,所述根据所述第一存储位置,将所述镜像文件的各层数据从所述源镜像仓库分发至目标镜像仓库之后,还包括:
识别分发后的镜像文件的各层数据在所述目标镜像仓库中的第三存储位置;
若校验出所述第三存储位置存储的各层数据与所述第一存储位置存储的各层数据不匹配,重新执行所述根据所述第一存储位置,将所述镜像文件的各层数据从所述源镜像仓库分发至目标镜像仓库的步骤。
7.根据权利要求6所述的镜像分发方法,其特征在于,在所述识别出所述镜像文件的各层数据在源镜像仓库中的第一存储位置之后,还包括:
将所述第一存储位置写入非易失性存储器;
所述重新执行所述根据所述第一存储位置,将所述镜像文件的各层数据从所述源镜像仓库分发至目标镜像仓库的步骤中,所述第一存储位置从所述非易失性存储器获取得到。
8.根据权利要求5所述的镜像分发方法,其特征在于,所述根据所述第一存储位置,将所述镜像文件的各层数据从所述源镜像仓库分发至目标镜像仓库,包括:
从所述第一存储位置复制所述镜像文件的各层数据,并将复制的所述镜像文件的各层数据以覆盖方式存储在所述第二存储位置。
9.根据权利要求8所述的镜像分发方法,其特征在于,在所述识别出所述与所述镜像文件同名的镜像文件的各层数据在所述目标镜像仓库中的第二存储位置之后,还包括:
将所述第二存储位置写入非易失性存储器;
所述根据所述第一存储位置,将所述镜像文件的各层数据从所述源镜像仓库分发至目标镜像仓库之后,还包括:
从所述非易失性存储器获取所述第二存储位置;
若校验出所述第二存储位置存储的各层数据与所述第一存储位置存储的各层数据不匹配,重新执行所述根据所述第一存储位置,将所述镜像文件的各层数据从所述源镜像仓库分发至目标镜像仓库的步骤。
10.一种服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至9中任一项所述的镜像分发方法。
11.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的镜像分发方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010618603.3A CN113872999A (zh) | 2020-06-30 | 2020-06-30 | 镜像分发方法、电子设备及存储介质 |
EP21833429.0A EP4174645A1 (en) | 2020-06-30 | 2021-03-18 | Mirror image distribution method, electronic device, and storage medium |
PCT/CN2021/081632 WO2022001203A1 (zh) | 2020-06-30 | 2021-03-18 | 镜像分发方法、电子设备及存储介质 |
US18/003,972 US20230269295A1 (en) | 2020-06-30 | 2021-03-18 | Image distribution method, electronic device and storage medium |
JP2022581580A JP2023532138A (ja) | 2020-06-30 | 2021-03-18 | イメージ配布方法、電子機器及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010618603.3A CN113872999A (zh) | 2020-06-30 | 2020-06-30 | 镜像分发方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113872999A true CN113872999A (zh) | 2021-12-31 |
Family
ID=78981645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010618603.3A Pending CN113872999A (zh) | 2020-06-30 | 2020-06-30 | 镜像分发方法、电子设备及存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230269295A1 (zh) |
EP (1) | EP4174645A1 (zh) |
JP (1) | JP2023532138A (zh) |
CN (1) | CN113872999A (zh) |
WO (1) | WO2022001203A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740048B (zh) * | 2016-01-26 | 2019-03-08 | 华为技术有限公司 | 一种镜像管理方法、装置及*** |
CN106506587B (zh) * | 2016-09-23 | 2021-08-06 | 中国人民解放军国防科学技术大学 | 一种基于分布式存储的Docker镜像下载方法 |
CN106776149A (zh) * | 2017-01-04 | 2017-05-31 | 郑州云海信息技术有限公司 | 本地容器镜像上传至镜像仓库的方法及*** |
CN108322496A (zh) * | 2017-01-17 | 2018-07-24 | 北京京东尚科信息技术有限公司 | 镜像文件分发方法及***、计算机可读存储介质、电子设备 |
CN107566195A (zh) * | 2017-10-23 | 2018-01-09 | 中国联合网络通信集团有限公司 | 镜像仓库处理方法及*** |
US11288377B1 (en) * | 2019-10-03 | 2022-03-29 | Pavel Izhutov | Virtual machine-based trusted execution environment |
US11093221B1 (en) * | 2020-02-14 | 2021-08-17 | Red Hat, Inc. | Automatic containerization of operating system distributions |
-
2020
- 2020-06-30 CN CN202010618603.3A patent/CN113872999A/zh active Pending
-
2021
- 2021-03-18 US US18/003,972 patent/US20230269295A1/en active Pending
- 2021-03-18 JP JP2022581580A patent/JP2023532138A/ja active Pending
- 2021-03-18 WO PCT/CN2021/081632 patent/WO2022001203A1/zh unknown
- 2021-03-18 EP EP21833429.0A patent/EP4174645A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4174645A1 (en) | 2023-05-03 |
JP2023532138A (ja) | 2023-07-26 |
US20230269295A1 (en) | 2023-08-24 |
WO2022001203A1 (zh) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106506587B (zh) | 一种基于分布式存储的Docker镜像下载方法 | |
US9779153B2 (en) | Data transfer between storage systems using data fingerprints | |
US20050125461A1 (en) | Version control of metadata | |
US20200153889A1 (en) | Method for uploading and downloading file, and server for executing the same | |
CN111966287A (zh) | 数据存储方法、电子设备及存储介质 | |
CN113504918A (zh) | 设备树配置优化方法、装置、计算机设备和存储介质 | |
CN113010265A (zh) | Pod的调度方法、调度器、存储插件及*** | |
CN111736915A (zh) | 云主机实例硬件加速设备的管理方法、装置、设备及介质 | |
CN105183799B (zh) | 一种权限管理的方法及客户端 | |
US20140281125A1 (en) | Systems and methods for in-place reorganization of device storage | |
CN112433669A (zh) | 一种分布式存储卷在线迁移的方法、***、设备及介质 | |
CN111126604A (zh) | 模型训练方法、装置、服务器及存储介质 | |
CN113872999A (zh) | 镜像分发方法、电子设备及存储介质 | |
CN112764897B (zh) | 任务请求的处理方法、装置、***及计算机可读存储介质 | |
CN111737223B (zh) | 一种文件拷贝方法、装置、设备及存储介质 | |
CN114564210A (zh) | 一种副本部署方法、装置、***、电子设备及存储介质 | |
CN114330278A (zh) | 一种判断返回数据一致性的方法及设备 | |
CN115878121A (zh) | 终端代码增量编译方法、***、装置、服务器和存储介质 | |
CN110019057B (zh) | 请求处理方法及装置 | |
KR102048602B1 (ko) | 차이점 보관용 디스크 포맷에 기초한 반복적 디스크 업로드 기법 | |
CN107493316B (zh) | 应用运营管理方法、服务器及计算机可读存储介质 | |
CN112702735A (zh) | 一种注册信息服务方法、设备和计算机可读存储介质 | |
CN110045930B (zh) | 虚拟平台管理存储设备卷的方法、装置、设备及介质 | |
US20210240469A1 (en) | Method and apparatus for managing modules | |
CN111338752B (zh) | 容器调整方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |