CN113296888A - 一种镜像处理方法及系统 - Google Patents

一种镜像处理方法及系统 Download PDF

Info

Publication number
CN113296888A
CN113296888A CN202110459673.3A CN202110459673A CN113296888A CN 113296888 A CN113296888 A CN 113296888A CN 202110459673 A CN202110459673 A CN 202110459673A CN 113296888 A CN113296888 A CN 113296888A
Authority
CN
China
Prior art keywords
mirror image
virtual block
image
mirror
nbd
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.)
Granted
Application number
CN202110459673.3A
Other languages
English (en)
Other versions
CN113296888B (zh
Inventor
朱廷贺
张苗磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ucloud Technology Co ltd
Original Assignee
Ucloud Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ucloud Technology Co ltd filed Critical Ucloud Technology Co ltd
Priority to CN202110459673.3A priority Critical patent/CN113296888B/zh
Publication of CN113296888A publication Critical patent/CN113296888A/zh
Application granted granted Critical
Publication of CN113296888B publication Critical patent/CN113296888B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种镜像处理方法及系统,将获取到的原始镜像转换为对应的虚拟块设备并存储至远程存储设备,基于接收到的加载镜像请求中的镜像名称信息,查找镜像名称信息在远程存储设备中对应的虚拟块设备并确定是否存在,若存在,则利用预设形式将该虚拟块设备挂载到主机,将主机中的远程块设备映射为待加载镜像并加载。通过上述方案,加载镜像时只需挂载远程的虚拟块设备,无需读取镜像源所有文件,减轻了后端镜像源的压力,并通过远程存储设备加载虚拟块设备,提高了镜像加载速度。此外,单个镜像损坏不会影响其他镜像正常工作,提高了镜像的稳定性。

Description

一种镜像处理方法及系统
技术领域
本发明涉及容器镜像的技术领域,更具体地说,涉及一种镜像处理方法及系统。
背景技术
随着容器技术的发展,用户对于容器的启动速度要求越来越高,容器的启动速度与镜像加载方法相关。原生镜像加载流程需要由远端镜像源下载完成所有数据,并通过客户端将所有数据进行解压,容器的启动时间也消耗在镜像加载流程中,造成镜像加载速度慢。
现有技术中,使用镜像预加载的方式和使用共享数据存储的方式,来提高原生的镜像的加载速度,减少容器启动时间。
镜像预加载的方式是通过在容器启动前判断容器调度节点,并在对应的调度节点上预先加载镜像,以此来提高镜像加载的速度,预判的容器调度节点数一般大于容器实际调度节点,大量节点同时加载镜像容易造成镜像源压力过大。
使用共享数据存储的方式是采用共享数据存储的懒加载方式获取原生的镜像,而在容器运行期间始终使用共享存储,网络波动时容易造成镜像不稳定,并且已经存在共享存储的数据层才可以使用懒加载,其他数据层的速度没有提升。
因此,通过现有的镜像加载方式进行镜像加载时,会造成加载速度慢、镜像源压力大和镜像不稳定。
发明内容
有鉴于此,本发明公开了一种镜像处理方法及系统,减轻了后端镜像源的压力,提高了镜像加载速度。此外,单个镜像损坏不会影响其他镜像正常工作,提高了镜像的稳定性。
为了实现上述目的,本发明公开的技术方案如下:
本发明第一方面公开了一种镜像处理方法,所述方法包括:
获取原始镜像;
将所述原始镜像转换为对应的虚拟块设备,并存储至远程存储设备;
当接收到加载镜像请求时,基于所述加载镜像请求中的镜像名称信息,查找所述镜像名称信息在所述远程存储设备中对应的虚拟块设备;
若所述远程存储设备中存在所述镜像名称信息对应的虚拟块设备,利用预设形式将所述镜像名称信息对应的虚拟块设备挂载到主机,得到所述主机中的NBD设备;
将所述NBD设备映射为待加载镜像并加载。
优选的,所述获取原始镜像,包括:
当接收到用户请求时,获取镜像源地址;
基于所述镜像源地址得到原始镜像。
优选的,所述原始镜像包括多层压缩镜像文件和层次描述文件,所述将所述原始镜像转换为对应的虚拟块设备,并存储至远程存储设备,包括:
按照预设的层次关系,对所述原始镜像中的多层压缩镜像文件进行解压,得到各个层次的镜像文件,其中,所述预设的层次关系从所述层次描述文件中得到;
基于预设的镜像组织原则将所述各个层次的镜像文件进行合并,得到虚拟块设备;
将所述虚拟块设备存储至远程存储设备。
优选的,所述利用预设形式将所述镜像名称信息对应的虚拟块设备挂载到主机,得到所述主机中的NBD设备,包括:
基于NBD的形式将所述镜像名称信息对应的虚拟块设备挂载到主机,得到所述主机中的NBD设备。
优选的,还包括:
若所述远程存储设备中不存在所述镜像名称信息对应的虚拟块设备,通过镜像转换程序将所述镜像名称信息对应的原始镜像转换为虚拟块设备,并存储至所述远程存储设备;
将所述远程存储设备中的所述虚拟块设备以NBD的形式挂载到所述主机,得到所述主机中的NBD设备;
将所述NBD设备映射为待加载镜像并加载。
优选的,在所述将所述NBD设备映射为待加载镜像并加载之后,还包括:
基于预设的镜像缓存程序,将加载后的镜像存储至本地缓存,并通过NBD设备将所述加载后的镜像所对应的数据源转换为本地缓存数据。
本发明第二方面公开了一种镜像处理系统,所述系统包括:
获取单元,用于获取原始镜像;
第一转换单元,用于将所述原始镜像转换为对应的虚拟块设备,并存储至远程存储设备;
查找单元,用于当接收到加载镜像请求时,基于所述加载镜像请求中的镜像名称信息,查找所述镜像名称信息在所述远程存储设备中对应的虚拟块设备;
第一挂载单元,用于若所述远程存储设备中存在所述镜像名称信息对应的虚拟块设备,利用预设形式将所述镜像名称信息对应的虚拟块设备挂载到主机,得到所述主机中的NBD设备;
第一加载单元,用于将所述NBD设备映射为待加载镜像并加载。
优选的,所述获取单元,包括:
第一获取模块,用于当接收到用户请求时,获取镜像源地址;
第二获取模块,用于基于所述镜像源地址得到原始镜像。
优选的,所述原始镜像包括多层压缩镜像文件和层次描述文件,所述第一转换单元,包括:
解压模块,用于按照预设的层次关系,对所述原始镜像中的多层压缩镜像文件进行解压,得到各个层次的镜像文件,其中,所述预设的层次关系从所述层次描述文件中得到;
合并模块,用于基于预设的镜像组织原则将所述各个层次的镜像文件进行合并,得到虚拟块设备;
存储模块,用于将所述虚拟块设备存储至远程存储设备。
优选的,所述第一挂载单元,具体用于:
基于NBD的形式将所述镜像名称信息对应的虚拟块设备挂载到主机,得到所述主机中的NBD设备。
经由上述技术方案可知,获取原始镜像,将原始镜像转换为对应的虚拟块设备,并存储至远程存储设备,当接收到加载镜像请求时,基于加载镜像请求中的镜像名称信息,查找镜像名称信息在远程存储设备中对应的虚拟块设备,若远程存储设备中存在镜像名称信息对应的虚拟块设备,利用预设的形式将加载镜像请求对应的虚拟块设备挂载到主机,得到主机中的NBD设备,将主机中的NBD设备映射为待加载镜像并加载。通过上述方案,加载镜像时只需挂载远程的虚拟块设备,无需读取镜像源所有文件,提高了镜像加载速度,并减轻了后端镜像源的压力。此外,单个镜像损坏不会影响其他镜像正常工作,提高了镜像的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种镜像处理系统的架构图;
图2为本发明实施例公开的一种镜像处理方法的流程示意图;
图3为本发明实施例公开的获取原始镜像的流程示意图;
图4为本发明实施例公开的将原始镜像转换为对应的虚拟块设备,并存储至远程存储设备的流程示意图;
图5为本发明实施例公开的一种镜像处理系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,通过现有的镜像加载方式进行镜像加载时,会造成加载速度慢、镜像源压力大和镜像不稳定。
为了解决该问题,本发明实施例公开了一种镜像处理方法及系统,提高了镜像加载速度,减轻了后端镜像源的压力。此外,单个镜像损坏不会影响其他镜像正常工作,提高了镜像的稳定性。具体实现方式通过下述实施例具体进行说明。
如图1所示,为本发明实施例公开的一种镜像处理系统的架构图,该镜像处理系统包括处理器11、网络块设备(NetworkBlock Device,NBD)12、通用映射Devicemapper设备13、容器14、远程存储设备15和本地缓存16,容器14的数量可以为多个。
Devicemapper设备13是在NBD设备12的基础上建立,NBD设备12可以从远程存储设备15中读取数据,也可以从本地缓存16中读取数据。
处理器11、NBD设备12、Devicemapper设备13、容器14、远程存储设备15和本地缓存16的执行过程如下:
当接收到用户请求时,处理器11获取原始镜像,将原始镜像转换为对应的虚拟块设备,并存储至远程存储设备15。
当接收到用户的加载镜像请求时,处理器11基于加载镜像请求中的镜像名称信息,查找镜像名称信息在远程存储设备15中对应的虚拟块设备。
若远程存储设备15中存在镜像名称信息对应的虚拟块设备,则执行过程如下:
处理器11利用NBD形式将镜像名称信息对应的虚拟块设备挂载到主机,得到主机中的NBD设备。
NBD设备12通过Devicemapper设备13映射为镜像层。
在镜像层中,处理器11通过Devicemapper设备13将主机中的NBD设备映射为待加载镜像并加载。
其中,在远程存储设备15与NBD设备12之间增加了数据缓存层,加载镜像时,容器14只需读取远程存储设备15中的虚拟块设备,无需读取整个原始镜像,从而保证了容器14的启动速度。
容器14基于加载后的镜像进行启动并运行。
处理器11将加载后的镜像存储至本地缓存16。
容器14启动销毁操作和删除镜像操作。
若远程存储设备15中不存在镜像名称信息对应的虚拟块设备,则执行过程如下:
处理器11通过镜像转换程序将镜像名称信息对应的原始镜像转换为虚拟块设备并存储至远程存储设备15。
处理器11将远程存储设备15中的虚拟块设备以NBD的形式挂载到主机,得到主机中的NBD设备。
NBD设备12通过Devicemapper设备13映射为镜像层。
在镜像层中,处理器11通过Devicemapper设备13将主机中的NBD设备映射为待加载镜像并加载。
容器14基于加载后的镜像进行启动并运行。
处理器11将加载后的镜像存储至本地缓存16。
NBD设备12将加载后的镜像数据源切换为本地缓存16。
容器14启动销毁操作。
本发明实施例中,加载镜像时只需挂载远程的虚拟块设备,无需读取镜像源所有文件,提高了镜像加载速度,并减轻了后端镜像源的压力。此外,单个镜像损坏不会影响其他镜像正常工作,提高了镜像的稳定性。
如图2所示,为本发明实施例公开的一种镜像处理方法的流程示意图,该镜像处理方法在上述实施例图1的镜像处理系统的架构下执行,该镜像处理方法主要包括如下步骤:
步骤S201:获取原始镜像。
在步骤S201中,当接收到用户请求时,从预先得到的镜像源地址获取原始镜像。
原始镜像中包括多层压缩镜像和层次描述文件等。
步骤S202:将原始镜像转换为对应的虚拟块设备,并存储至远程存储设备。
在步骤S202中,通过镜像转化程序将原始镜像转换为对应的虚拟块设备。
具体将原始镜像转换为对应的虚拟块设备的过程如下:
首先,按照预设的层次关系,对原始镜像中的多层压缩镜像文件进行解压,得到各个层次的镜像文件;然后,基于预设的镜像组织原则将各个层次的镜像文件进行合并,得到虚拟块设备;最后,将虚拟块设备存储至远程存储设备。
其中,原始镜像包括多层压缩镜像文件和层次描述文件,预设的层次关系从层次描述文件中得到。
虚拟块设备以系统镜像的形式存储在远程存储设备中,每个原始镜像对应一个远程存储设备中的虚拟块设备。
步骤S203:当接收到加载镜像请求时,基于加载镜像请求中的镜像名称信息,查找镜像名称信息在远程存储设备中对应的虚拟块设备。
在步骤S203中,加载镜像请求由用户发送,加载镜像请求包括镜像名称信息、请求加载信息等。
步骤S204:判断远程存储设备中是否存在镜像名称信息对应的虚拟块设备,若存在,则执行步骤S205,若不存在,则执行步骤S207。
步骤S205:利用预设形式将镜像名称信息对应的虚拟块设备挂载到主机,得到主机中的NBD设备。
在步骤S205中,通过NBD程序将镜像名称信息对应的虚拟块设备以NBD形式挂载到主机,得到主机中的NBD设备。
通过NBD程序还可读取远程存储设备中的虚拟块设备。
NBD设备基于虚拟块设备得到,NBD设备可作为普通的IO设备使用。
预设的形式可以是NBD形式等,具体预设形式的确定由技术人员根据实际情况进行选取,本发明不做具体限定。
通过远程挂载的方式加载镜像,在容器启动阶段仅下载虚拟块设备少量的必需数据,可提高镜像加载及容器启动速度。
步骤S206:将NBD设备映射为待加载镜像并加载。
在步骤S206中,在镜像层中,将镜像名称信息对应的NBD设备映射为待加载镜像并加载,得到加载后的镜像。
镜像层的生成过程如下:
通过镜像管理程序建立NBD设备,基于NBD设备建立对应的Devicemapper设备,NBD设备通过Devicemapper设备映射为镜像层。
其中,加载后的镜像是在Devicemapper设备上建立,Devicemapper设备是在NBD设备的基础上建立。
基于加载后的镜像触发容器进行启动并运行,运行结束后,容器启动销毁操作。
一个镜像对应一个NBD设备,NBD设备可以从远程存储设备中读取数据,也可以从本地缓存中读取数据。
将加载后的镜像存储到本地缓存中,并通过NBD设备将镜像对应的所有数据切换为本地缓存数据,提高了镜像的可用性,同时减轻了镜像处理系统的压力。
本方案的镜像处理,去除了镜像之间的相互依赖关系,单个镜像损坏不会影响其它镜像的正常工作,同时简化了后端存储管理。
步骤S207:通过镜像转换程序将镜像名称信息对应的原始镜像转换为虚拟块设备并存储至远程存储设备。
步骤S207的执行过程和执行原理与上述步骤S202中的执行过程和执行原理一致,可参考,此处不再进行赘述。
当执行步骤S207后,返回执行步骤S205-步骤S206。
镜像转化过程虽然需要获取原始镜像,但是一次转化完成可以供多个节点反复共同使用,因此对于大量反复加载的镜像,具有效率高的显著效果。
本发明实施例中,加载镜像时只需挂载远程的虚拟块设备,无需读取镜像源所有文件,提高了镜像加载速度,并减轻了后端镜像源的压力。此外,单个镜像损坏不会影响其他镜像正常工作,提高了镜像的稳定性。
如图3所示,为上述步骤S101中涉及到获取原始镜像的过程,具体包括如下步骤:
步骤S301:当接收到用户请求时,获取镜像源地址。
在步骤S301中,当接收到用户请求时,通过预设的地址获取方式,获取镜像源地址。
预设的地址获取方式可以是dockerhub方式,也可以是其他远程镜像仓库方式,具体预设的地址获取方式本发明不做具体限定。
步骤S302:基于镜像源地址得到原始镜像。
在步骤S302中,从获取得到的镜像源地址拉取原始镜像。
本发明实施例中,当接收到用户请求时,获取镜像源地址,基于镜像源地址得到原始镜像,实现得到原始镜像的目的。
如图4所示,为上述步骤S102中涉及到将原始镜像转换为对应的虚拟块设备,并存储至远程存储设备的过程,具体包括如下步骤:
步骤S401:按照预设的层次关系,对原始镜像中的多层压缩镜像文件进行解压,得到各个层次的镜像文件。
在步骤S401中,由于原始镜像是包含多个层次的镜像文件,按照层次进行存储得到,因此需要按照预设的层次关系,对原始镜像中的多层压缩镜像文件进行解压。
其中,预设的层次关系从层次描述文件中得到。
为了方便理解按照预设的层次关系,对原始镜像中的多层压缩镜像文件进行解压,得到各个层次的镜像文件的过程,这里举例进行说明:
例如,若原始镜像中包含4层镜像文件,该原始镜像中的层次描述文件存储着该原始镜像中的顺序,该顺序依次为层1、层2、层3和层4,即层2在层1之上,层3在层2之上,层4在层3之上,对原始镜像中的4层压缩镜像文件按照该顺序依次进行解压,先解压层1的镜像文件,其次解压层2的镜像文件,然后再解压层3的镜像文件,最后再解压层4的镜像文件,从而得到4层的镜像文件。
步骤S402:基于预设的镜像组织原则将各个层次的镜像文件进行合并,得到虚拟块设备。
在步骤S402中,通过预设的镜像组织原则将各个层次的镜像文件进行组合覆盖,即下一层的文件覆盖上一层的文件,得到虚拟块设备即为所有层次的镜像文件进行组合为一层的镜像的结果。
基于预设的镜像组织原则将各个层次的镜像文件进行合并,确保用户看到的结果是一致的。
步骤S403:将虚拟块设备存储至远程存储设备。
在步骤S403中,虚拟块设备以系统镜像的形式存储在远程存储设备中,每个原始镜像对应一个远程存储设备中的虚拟块设备。
本发明实施例中,按照预设的层次关系对原始镜像中的多层压缩镜像文件进行解压,得到各个层次的镜像文件,基于预设的镜像组织原则将各个层次的镜像文件进行合并,实现得到虚拟块设备并存储至远程存储设备的目的。
可选的,在将NBD设备映射为待加载镜像并加载之后,基于预设的镜像缓存程序,将加载后的镜像存储至本地缓存,并通过NBD设备将加载后的镜像所对应的数据源转换为本地缓存数据。
预设的镜像缓存程序的确定,本发明不做具体限定。
将加载后的镜像存储到本地缓存中,并通过NBD设备将镜像对应的所有数据切换为本地缓存数据,提高了镜像的可用性,同时减轻了镜像处理系统的压力。
本发明实施例中,基于预设的镜像缓存程序,将加载后的镜像存储至本地缓存,并通过NBD设备将加载后的镜像所对应的数据源转换为本地缓存数据,实现提高镜像的可用性,同时减轻了镜像处理系统的压力的目的。
基于上述实施例图2公开的镜像处理方法,本发明实施例还对应公开了一种镜像处理系统的结构示意图,如图5所示,该镜像处理系统主要包括获取单元501、转换单元502、查找单元503、第一挂载单元504和第一加载单元505。
获取单元501,用于获取原始镜像。
第一转换单元502,用于将原始镜像转换为对应的虚拟块设备,并存储至远程存储设备。
查找单元503,用于当接收到加载镜像请求时,基于加载镜像请求中的镜像名称信息,查找镜像名称信息在远程存储设备中对应的虚拟块设备。
第一挂载单元504,用于若远程存储设备中存在镜像名称信息对应的虚拟块设备,利用预设形式将镜像名称信息对应的虚拟块设备挂载到主机,得到主机中的NBD设备。
第一加载单元505,用于将NBD设备映射为待加载镜像并加载。
进一步的,获取单元501,包括第一获取模块和第二获取模块。
第一获取模块,用于当接收到用户请求时,获取镜像源地址。
第二获取模块,用于基于镜像源地址得到原始镜像。
进一步的,第一转换单元502,包括解压模块、合并模块和存储模块。
解压模块,用于按照预设层次关系,对原始镜像中的多层压缩镜像文件进行解压,得到各个层次的镜像文件,其中,预设的层次关系从层次描述文件中得到。
合并模块,用于基于预设的镜像组织原则将各个层次的镜像文件进行合并,得到虚拟块设备。
存储模块,用于将虚拟块设备存储至远程存储设备。
进一步的,第一挂载单元504,具体用于基于NBD的形式将镜像名称信息对应的虚拟块设备挂载到主机,得到主机中的NBD设备。
进一步的,还包括第二转换单元、第二挂载单元和第二加载单元。
第二转换单元,用于若远程存储设备中不存在镜像名称信息对应的虚拟块设备,通过镜像转换程序将镜像名称信息对应的原始镜像转换为虚拟块设备,并存储至远程存储设备。
第二挂载单元,用于将远程存储设备中的虚拟块设备以NBD的形式挂载到主机,得到主机中的NBD设备。
第二加载单元,用于将NBD设备映射为待加载镜像并加载。
进一步的,还包括操作单元。
操作单元,用于基于预设的镜像缓存程序,将加载后的镜像存储至本地缓存,并通过NBD设备将加载后的镜像所对应的数据源转换为本地缓存数据。
本发明实施例中,加载镜像时只需挂载远程的虚拟块设备,无需读取镜像源所有文件,提高了镜像加载速度,并减轻了后端镜像源的压力。此外,单个镜像损坏不会影响其他镜像正常工作,提高了镜像的稳定性。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种镜像处理方法,其特征在于,所述方法包括:
获取原始镜像;
将所述原始镜像转换为对应的虚拟块设备,并存储至远程存储设备;
当接收到加载镜像请求时,基于所述加载镜像请求中的镜像名称信息,查找所述镜像名称信息在所述远程存储设备中对应的虚拟块设备;
若所述远程存储设备中存在所述镜像名称信息对应的虚拟块设备,利用预设形式将所述镜像名称信息对应的虚拟块设备挂载到主机,得到所述主机中的NBD设备;
将所述NBD设备映射为待加载镜像并加载。
2.根据权利要求1所述的方法,其特征在于,所述获取原始镜像,包括:
当接收到用户请求时,获取镜像源地址;
基于所述镜像源地址得到原始镜像。
3.根据权利要求1所述的方法,其特征在于,所述原始镜像包括多层压缩镜像文件和层次描述文件,所述将所述原始镜像转换为对应的虚拟块设备,并存储至远程存储设备,包括:
按照预设的层次关系,对所述原始镜像中的多层压缩镜像文件进行解压,得到各个层次的镜像文件,其中,所述预设的层次关系从所述层次描述文件中得到;
基于预设的镜像组织原则将所述各个层次的镜像文件进行合并,得到虚拟块设备;
将所述虚拟块设备存储至远程存储设备。
4.根据权利要求1所述的方法,其特征在于,所述利用预设形式将所述镜像名称信息对应的虚拟块设备挂载到主机,得到所述主机中的NBD设备,包括:
基于NBD的形式将所述镜像名称信息对应的虚拟块设备挂载到主机,得到所述主机中的NBD设备。
5.根据权利要求1所述的方法,其特征在于,还包括:
若所述远程存储设备中不存在所述镜像名称信息对应的虚拟块设备,通过镜像转换程序将所述镜像名称信息对应的原始镜像转换为虚拟块设备,并存储至所述远程存储设备;
将所述远程存储设备中的所述虚拟块设备以NBD的形式挂载到所述主机,得到所述主机中的NBD设备;
将所述NBD设备映射为待加载镜像并加载。
6.根据权利要求1所述的方法,其特征在于,在所述将所述NBD设备映射为待加载镜像并加载之后,还包括:
基于预设的镜像缓存程序,将加载后的镜像存储至本地缓存,并通过NBD设备将所述加载后的镜像所对应的数据源转换为本地缓存数据。
7.一种镜像处理系统,其特征在于,所述系统包括:
获取单元,用于获取原始镜像;
第一转换单元,用于将所述原始镜像转换为对应的虚拟块设备,并存储至远程存储设备;
查找单元,用于当接收到加载镜像请求时,基于所述加载镜像请求中的镜像名称信息,查找所述镜像名称信息在所述远程存储设备中对应的虚拟块设备;
第一挂载单元,用于若所述远程存储设备中存在所述镜像名称信息对应的虚拟块设备,利用预设形式将所述镜像名称信息对应的虚拟块设备挂载到主机,得到所述主机中的NBD设备;
第一加载单元,用于将所述NBD设备映射为待加载镜像并加载。
8.根据权利要求7所述的系统,其特征在于,所述获取单元,包括:
第一获取模块,用于当接收到用户请求时,获取镜像源地址;
第二获取模块,用于基于所述镜像源地址得到原始镜像。
9.根据权利要求7所述的系统,其特征在于,所述原始镜像包括多层压缩镜像文件和层次描述文件,所述第一转换单元,包括:
解压模块,用于按照预设的层次关系,对所述原始镜像中的多层压缩镜像文件进行解压,得到各个层次的镜像文件,其中,所述预设的层次关系从所述层次描述文件中得到;
合并模块,用于基于预设的镜像组织原则将所述各个层次的镜像文件进行合并,得到虚拟块设备;
存储模块,用于将所述虚拟块设备存储至远程存储设备。
10.根据权利要求7所述的系统,其特征在于,所述第一挂载单元,具体用于:
基于NBD的形式将所述镜像名称信息对应的虚拟块设备挂载到主机,得到所述主机中的NBD设备。
CN202110459673.3A 2021-04-27 2021-04-27 一种镜像处理方法及系统 Active CN113296888B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110459673.3A CN113296888B (zh) 2021-04-27 2021-04-27 一种镜像处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110459673.3A CN113296888B (zh) 2021-04-27 2021-04-27 一种镜像处理方法及系统

Publications (2)

Publication Number Publication Date
CN113296888A true CN113296888A (zh) 2021-08-24
CN113296888B CN113296888B (zh) 2022-11-22

Family

ID=77321802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110459673.3A Active CN113296888B (zh) 2021-04-27 2021-04-27 一种镜像处理方法及系统

Country Status (1)

Country Link
CN (1) CN113296888B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114911580A (zh) * 2022-07-11 2022-08-16 统信软件技术有限公司 镜像状态处理方法、装置与计算设备
US20230091587A1 (en) * 2021-09-17 2023-03-23 Electronics And Telecommunications Research Institute Docker image creation apparatus and method

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104572B1 (en) * 2013-02-11 2015-08-11 Amazon Technologies, Inc. Automated root cause analysis
US20160248631A1 (en) * 2007-04-23 2016-08-25 David D. Duchesneau Computing infrastructure
CN107493204A (zh) * 2016-06-13 2017-12-19 阿里巴巴集团控股有限公司 一种镜像检测的方法以及装置
CN108897644A (zh) * 2018-06-22 2018-11-27 山东超越数控电子股份有限公司 一种双控制器故障处理方法与系统
CN109062658A (zh) * 2018-06-29 2018-12-21 优刻得科技股份有限公司 实现计算资源服务化的调度方法、装置、介质、设备及系统
CN109344006A (zh) * 2018-09-26 2019-02-15 郑州云海信息技术有限公司 一种镜像管理方法及镜像管理模块
US10372561B1 (en) * 2017-06-12 2019-08-06 Amazon Technologies, Inc. Block storage relocation on failure
CN111176788A (zh) * 2019-12-24 2020-05-19 优刻得科技股份有限公司 Kubernetes集群的主节点的部署方法及系统
CN111324385A (zh) * 2018-12-12 2020-06-23 中兴通讯股份有限公司 应用模块的启动方法、容器、控制设备及可读存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160248631A1 (en) * 2007-04-23 2016-08-25 David D. Duchesneau Computing infrastructure
US9104572B1 (en) * 2013-02-11 2015-08-11 Amazon Technologies, Inc. Automated root cause analysis
CN107493204A (zh) * 2016-06-13 2017-12-19 阿里巴巴集团控股有限公司 一种镜像检测的方法以及装置
US10372561B1 (en) * 2017-06-12 2019-08-06 Amazon Technologies, Inc. Block storage relocation on failure
CN108897644A (zh) * 2018-06-22 2018-11-27 山东超越数控电子股份有限公司 一种双控制器故障处理方法与系统
CN109062658A (zh) * 2018-06-29 2018-12-21 优刻得科技股份有限公司 实现计算资源服务化的调度方法、装置、介质、设备及系统
CN109344006A (zh) * 2018-09-26 2019-02-15 郑州云海信息技术有限公司 一种镜像管理方法及镜像管理模块
CN111324385A (zh) * 2018-12-12 2020-06-23 中兴通讯股份有限公司 应用模块的启动方法、容器、控制设备及可读存储介质
CN111176788A (zh) * 2019-12-24 2020-05-19 优刻得科技股份有限公司 Kubernetes集群的主节点的部署方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230091587A1 (en) * 2021-09-17 2023-03-23 Electronics And Telecommunications Research Institute Docker image creation apparatus and method
CN114911580A (zh) * 2022-07-11 2022-08-16 统信软件技术有限公司 镜像状态处理方法、装置与计算设备
CN114911580B (zh) * 2022-07-11 2022-09-27 统信软件技术有限公司 镜像状态处理方法、装置与计算设备

Also Published As

Publication number Publication date
CN113296888B (zh) 2022-11-22

Similar Documents

Publication Publication Date Title
CN113296888B (zh) 一种镜像处理方法及系统
CN102420843B (zh) 一种基于云压缩链接的压缩和解压缩方法、装置及系统
US20080033903A1 (en) Methods and apparatuses for using location information
CN110401724B (zh) 文件管理方法、文件传输协议服务器及存储介质
CN102546740B (zh) 一种基于云压缩文件的压缩和解压缩方法、装置及系统
CN110096660B (zh) 用于加载页面图片的方法、装置和电子设备
CN109885324B (zh) 一种应用程序安装包的处理方法、装置、终端及存储介质
US20100119170A1 (en) Image compression by comparison to large database
EP1926022A2 (en) Apparatus and method for efficient memory use in portable terminal
JP2001504971A (ja) データ・ブロックを圧縮するメモリ管理
EP3026573A1 (en) Data storage method and apparatus
CN108021333B (zh) 随机读写数据的系统、装置及方法
WO2017166760A1 (zh) 回看图像文件的方法、装置、移动终端和电子设备
CN112100152A (zh) 业务数据处理方法、系统、服务器和可读存储介质
CN115617762A (zh) 文件存储方法及设备
CN114780615A (zh) 错误码管理方法及其装置
CN108958755B (zh) 一种应用程序安装包的生成方法、装置及电子设备
CN103577604B (zh) 一种用于Hadoop分布式环境的图像索引结构
US7895266B2 (en) Distributed file system and method of replacing cache data in the distributed file system
US10860257B2 (en) Information processing apparatus and information processing method
CN114217908B (zh) 容器启动方法、系统、装置及设备
CN115586872A (zh) 一种容器镜像管理方法、装置、设备及存储介质
CN111767417A (zh) 应用图片的管理方法、装置、设备及存储介质
CN111143293B (zh) 一种元数据获取方法、装置、设备及计算机可读存储介质
CN114817160A (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
GR01 Patent grant
GR01 Patent grant