CN111124591A - 一种镜像传输方法、装置、电子设备及存储介质 - Google Patents

一种镜像传输方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111124591A
CN111124591A CN201811284556.2A CN201811284556A CN111124591A CN 111124591 A CN111124591 A CN 111124591A CN 201811284556 A CN201811284556 A CN 201811284556A CN 111124591 A CN111124591 A CN 111124591A
Authority
CN
China
Prior art keywords
mirror image
target
mirror
warehouse
image
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
CN201811284556.2A
Other languages
English (en)
Other versions
CN111124591B (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.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software 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 China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201811284556.2A priority Critical patent/CN111124591B/zh
Publication of CN111124591A publication Critical patent/CN111124591A/zh
Application granted granted Critical
Publication of CN111124591B publication Critical patent/CN111124591B/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
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供了一种镜像传输方法、装置、电子设备及存储介质。该方法包括:根据针对目标镜像仓库设置的镜像过滤规则,识别镜像过滤规则中包含的目标元数据信息;根据源镜像仓库中针对每个镜像保存的元数据信息,获取每个镜像的目标元数据信息对应的参数值;针对每个镜像的目标元数据信息对应的参数值,判断该镜像的目标元数据信息对应的参数值是否满足镜像过滤规则中针对该目标元数据信息保存的过滤条件;如果是,则将该镜像作为目标镜像从源镜像仓库传输至目标镜像仓库。本发明通过设置镜像过滤规则,可使得传输的镜像均为目标镜像库需要的特定镜像,不仅能够保证传输效率,还能够节约目标镜像仓库中的存储空间,减小传输过程中带宽资源的浪费。

Description

一种镜像传输方法、装置、电子设备及存储介质
技术领域
本发明涉及云计算中的容器技术领域,尤其涉及一种镜像传输方法、装置、电子设备及存储介质。
背景技术
随着容器技术及其生态系统的迅速发展,企业开始选择docker(容器技术中的一种)来进行应用部署。其中容器技术的突出优点就是开发运维一体化,即容器技术可以将应用及其所依赖的软件包、操作系统文件等封装在容器镜像中,使得应用在开发、测试和发布过程中都具有相同的运行环境,带来极大的便利。
具体地,容器镜像的管理主要围绕镜像仓库(registry)来进行。一般情况下,镜像仓库可以使用公有的SaaS(Software-as-a-Service,软件即服务)服务,由于公有服务的优点是可以直接使用,因此无需用户自己维护。但是考虑到访问效率和镜像安全等方面的原因,大多数公司都建立了自己的私有镜像仓库,因此需要有贯穿整个应用生命周期的镜像管理策略。通常在开发、测试和运维中需要使用多个Registry以区分不同的用途和安全控制要求,具体地,在开发、测试和运维等过程中,镜像传输流程可参考图1所示的流程,即镜像需要从不同的镜像仓库间进行传输。
目前,现有技术中通常采用以下两种方法进行镜像传输:
方法一:手工镜像传输,即开发者手动给有效的镜像打上标签(tag),登录新的镜像仓库,然后使用docker push命令,将镜像上传至新的镜像仓库。因此该方法适用于较小的开发团队或简单的项目,并用于实现单个镜像的传输。
方法二:利用docker registry API(Application Programming Interface,应用程序编程接口)实现镜像传输,即Docker registry提供了相关镜像同步的API,开发者可以调用相关API完成镜像的传输,因此这是一个全量镜像传输的方法,可以实现镜像全量同步传输。
具体地,docker的系统构架如图2所示,在基于docker registry API实现测试生产环境的镜像传输时,其核心是镜像仓库同步任务管理模块(RSTM,Registry SynchronizeTask Manager),镜像仓库同步执行模块(RSE,Registry Synchronize Execution),镜像仓库同步日志管理模块(RSLM,Registry Synchronize Log Manager)。其中,RSTM模块用于维护镜像多个同步任务,RSE模块用于实现镜像由源镜像仓库至目标镜像仓库的全量镜像同步。
然而,由于上述方法一在进行镜像传输时,手工干预较多,不能实现实时镜像传输。而上述方法二在进行镜像传输时,会将源镜像仓库中所有内容镜像同步至目标镜像仓库,不仅会占用较多的镜像存储空间,还会在传输过程中造成带宽资源的浪费。
发明内容
本发明公开了一种镜像传输方法、装置、电子设备及存储介质,以克服现有技术中采用人工进行镜像传输时存在的镜像传输不及时,或者采用API进行镜像传输时存在的存储资源浪费和带宽资源浪费的技术问题。
为克服上述技术问题,依据本发明的一个方面,提供了一种镜像传输方法,所述方法包括:
根据针对目标镜像仓库设置的镜像过滤规则,识别所述镜像过滤规则中包含的目标元数据信息,其中所述目标元数据信息包括镜像名称、镜像标签、镜像大小、镜像作者或者镜像创建时间中的至少一种信息;
根据源镜像仓库中针对每个镜像保存的元数据信息,获取每个镜像的目标元数据信息对应的参数值;
针对每个镜像的目标元数据信息对应的参数值,判断该参数值是否满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
如果是,则将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库。
具体地,所述判断该参数值是否满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件包括:
当所述目标元数据信息包括镜像名称时,如果该镜像的镜像名称为所述镜像过滤规则中设置的镜像名称,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
当所述目标元数据信息包括镜像标签时,如果该镜像的镜像标签为所述镜像过滤规则中设置的镜像标签,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
当所述目标元数据信息包括镜像大小时,如果该镜像的镜像大小在所述镜像过滤规则中针对镜像大小设置的第一预设范围内,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
当所述目标元数据信息包括镜像作者时,如果该镜像的镜像作者为所述镜像过滤规则中设置的镜像作者,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
当所述目标元数据信息包括镜像创建时间时,如果该镜像的创建时间在所述镜像过滤规则中针对镜像创建时间设置的第二预设范围内,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件。
具体地,所述将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,所述方法还包括:
获取所述目标镜像仓库的账号信息,所述账号信息包括所述目标镜像仓库的账号名称和登录密码;
根据所述账号信息对所述目标镜像仓库进行连接测试;
如果所述目标镜像仓库连接成功,则执行后续步骤。
具体地,如果所述目标镜像仓库连接失败,所述方法还包括:
生成所述目标镜像仓库连接测试失败的第一提示信息。
具体地,所述将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,所述方法还包括:
获取所述目标镜像仓库的权限信息;
根据所述权限信息判断所述目标镜像仓库是否具有从所述源镜像仓库获取镜像的传输权限;
如果是,则执行后续步骤。
具体地,如果所述目标镜像仓库没有从所述源镜像仓库获取镜像的传输权限,所述方法还包括:
生成第二提示信息,提示用户设置所述目标镜像仓库的传输权限。
具体地,所述将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,所述方法还包括:
确定每个所述目标镜像占用的第一存储空间;
判断所述目标镜像仓库剩余的第二存储空间是否大于所述第一存储空间;
如果是,则执行后续步骤。
具体地,如果所述目标镜像仓库剩余的第二存储空间不大于所述第一存储空间,所述方法还包括:
生成传输所述目标镜像失败的第三提示信息。
依据本发明的另一个方面,还提供了一种镜像传输装置,所述装置包括:
识别模块,用于根据针对目标镜像仓库设置的镜像过滤规则,识别所述镜像过滤规则中包含的目标元数据信息,其中所述目标元数据信息包括镜像名称、镜像标签、镜像大小、镜像作者或者镜像创建时间中的至少一种信息;
第一获取模块,用于根据源镜像仓库中针对每个镜像保存的元数据信息,获取每个镜像的目标元数据信息对应的参数值;
第一判断模块,用于针对每个镜像的目标元数据信息对应的参数值,判断该参数值是否满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
传输模块,用于所述判断模块的判断结果为是时,将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库。
具体地,所述第一判断模块,具体用于当所述目标元数据信息包括镜像名称时,如果该镜像的镜像名称为所述镜像过滤规则中设置的镜像名称,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像标签时,如果该镜像的镜像标签为所述镜像过滤规则中设置的镜像标签,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像大小时,如果该镜像的镜像大小在所述镜像过滤规则中针对镜像大小设置的第一预设范围内,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像作者时,如果该镜像的镜像作者为所述镜像过滤规则中设置的镜像作者,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像创建时间时,如果该镜像的创建时间在所述镜像过滤规则中针对镜像创建时间设置的第二预设范围内,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件。
具体地,所述装置还包括:
第二获取模块,用于在将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,获取所述目标镜像仓库的账号信息,所述账号信息包括所述目标镜像仓库的账号名称和登录密码;
连接测试模块,用于根据所述账号信息对所述目标镜像仓库进行连接测试;如果所述目标镜像仓库连接成功,则使所述传输模块执行后续步骤。
具体地,所述装置还包括:
生成模块,用于如果所述目标镜像仓库连接失败,生成所述目标镜像仓库连接测试失败的第一提示信息。
具体地,所述装置还包括:
第三获取模块,用于在将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,获取所述目标镜像仓库的权限信息;
第二判断模块,用于根据所述权限信息判断所述目标镜像仓库是否具有从所述源镜像仓库获取镜像的传输权限;如果是,则使所述传输模块执行后续步骤。
具体地,所述生成模块,还用于如果所述目标镜像仓库没有从所述源镜像仓库获取镜像的传输权限,生成第二提示信息,提示用户设置所述目标镜像仓库的传输权限。
具体地,所述装置还包括:
确定模块,用于在将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,确定每个所述目标镜像占用的第一存储空间;
第三判断模块,用于判断所述目标镜像仓库剩余的第二存储空间是否大于所述第一存储空间;如果是,则使所述传输模块执行后续步骤。
具体地,所述生成模块,还用于如果所述目标镜像仓库剩余的第二存储空间不大于所述第一存储空间,生成传输所述目标镜像失败的第三提示信息。
依据本发明的另一个方面,还提供了一种电子设备,包括存储器和处理器;
所述处理器,用于读取所述存储器中的程序,执行上述镜像传输方法中的步骤。
依据本发明的另一个方面,还提供了一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行上述镜像传输方法中的步骤。
本发明的有益效果如下:
本发明提供了一种镜像传输方法、装置、电子设备及存储介质,该方法包括:根据针对目标镜像仓库设置的镜像过滤规则,识别所述镜像过滤规则中包含的目标元数据信息,其中所述目标元数据信息为镜像名称、镜像标签、镜像大小、镜像作者或者镜像创建时间中的至少一种信息;根据源镜像仓库中针对每个镜像保存的元数据信息,获取每个镜像的目标元数据信息对应的参数值;针对每个镜像的目标元数据信息对应的参数值,判断该镜像的目标元数据信息对应的参数值是否满足所述镜像过滤规则中针对所述目标元数据信息保存的过滤条件;如果是,则将该镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库。在本发明中,通过对目标镜像仓库设置镜像过滤规则,并进一步判断源镜像仓库中的镜像是否满足该镜像过滤规则,可以实现根据该镜像过滤规则对源镜像仓库中的镜像进行筛选,保证传输至目标镜像仓库的目标镜像均为目标镜像库需要的特定镜像,因此本发明不仅能够实现对多个镜像进行同步传输,提高传输效率,还能够阻止无用镜像的传输,既能够节约目标镜像仓库中的存储空间,还能够减小传输过程中带宽资源的浪费。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中镜像传输的流程图;
图2为现有技术中docker的系统构架图;
图3为本发明实施例一中提供的镜像传输方法的流程图;
图4为本发明实施例五中提供的docker的系统构架图之一;
图5为本发明实施例五中提供的docker的系统构架图之二;
图6为本发明实施例五中提供的RM模块的连接构架图;
图7为本发明实施例五中提供的RSFR模块的连接构架图;
图8为本发明实施例六中提供的镜像传输装置的结构框图;
图9为本发明实施例七中提供的一种电子设备。
具体实施方式
现有技术中在进行镜像传输时,通常采用的方法包括:手工镜像传输和基于API的镜像传输。其中采用手工镜像传输时,虽然可以针对性的挑选镜像传输至目标镜像仓库,但是在实际开发测试生产环境中会有大批量的镜像产生,由于手工传输镜像的流程较为繁琐,不能实现实时地镜像传输,因此存在一定的滞后性,另由于手工干预较多,因此更依赖于操作人员的技术水平及经验,而每个操作人员的技术水平及经验不同,从而影响镜像传输的传输效率。而基于API进行镜像传输时,会将源镜像仓库中所有镜像全部同步至目标镜像仓库,因此对于镜像的存储空间是一个极大的考验。另由于传输过程中会传输一些对于目标镜像仓库无用的镜像,因此造成传输过程的带宽资源的浪费。
因此为克服上述技术问题,本发明实施例提供了一种镜像传输方法、装置、电子设备及存储介质,旨在既能够实现对多个镜像进行同步传输,提高传输效率,还能够阻止无用镜像的传输,节约目标镜像仓库中的存储空间,减小传输过程中带宽资源的浪费。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
依据本发明实施例的一个方面,提供了一种镜像传输方法,如图3所示,该方法包括以下步骤:
步骤S301:根据针对目标镜像仓库设置的镜像过滤规则,识别所述镜像过滤规则中包含的目标元数据信息。
由上述可知,在基于API进行镜像传输时,只实现的是镜像由源镜像仓库至目标镜像仓库的全量镜像同步,并没有对传输镜像进行过滤筛选,因此会造成镜像存储空间和传出过程中带宽资源的浪费。因此在本发明实施例中,通过针对目标镜像仓库预先设置传输镜像的镜像过滤规则,可以在将源镜像仓库中的镜像传输至目标镜像仓库之前,根据预先设置的镜像过滤规则对源镜像仓库中的镜像进行筛选。
由于针对源镜像仓库中的每个镜像都存储有该镜像的元数据信息,而该元数据信息包括镜像名称、镜像标签、镜像大小、镜像作者或者镜像创建时间等与镜像相关的其他属性信息,因此在预先设置传输镜像的镜像过滤规则时,可基于镜像的元数据信息进行设置。
所以,在本发明实施例中,所述目标元数据信息包括镜像名称、镜像标签、镜像大小、镜像作者或者镜像创建时间中的至少一种信息。
步骤S302:根据源镜像仓库中针对每个镜像保存的元数据信息,获取每个镜像的目标元数据信息对应的参数值。
由于预先设置传输镜像的镜像过滤规则时,是基于镜像的元数据信息进行设置的,而镜像过滤规则中包含的目标元数据信息包括镜像名称、镜像标签、镜像大小、镜像作者或者镜像创建时间中的至少一种信息,因此为实现对源镜像仓库中的镜像进行过滤,需要获取与镜像过滤规则中的目标元数据信息对应的参数值。
具体地,当镜像过滤规则中包含的目标元数据信息包括镜像名称时,那么此时需要针对源镜像仓库中每个镜像获取其镜像名称;当镜像过滤规则中包含的目标元数据信息包括镜像标签时,那么此时需要针对源镜像仓库中每个镜像获取其镜像标签;当镜像过滤规则中包含的目标元数据信息包括镜像大小时,那么此时需要针对源镜像仓库中每个镜像获取其占用的存储空间;当镜像过滤规则中包含的目标元数据信息包括镜像作者时,那么此时需要针对源镜像仓库中每个镜像获取其作者姓名;当镜像过滤规则中包含的目标元数据信息包括镜像创建时间时,那么此时需要针对源镜像仓库中每个镜像获取其被创建时对应的时间。
同样的,当镜像过滤规则中包含的目标元数据信息中的多种信息时,则针对源镜像仓库中每个镜像获取与之对应信息的参数值。
步骤S303:针对每个镜像的目标元数据信息对应的参数值,判断该参数值是否满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件。
步骤S304:如果是,则将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库。
由上述可知,镜像过滤规则中包含的目标元数据信息包括镜像名称、镜像标签、镜像大小、镜像作者或者镜像创建时间中的至少一种信息,因此,所述判断该参数值是否满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件包括:
当所述目标元数据信息包括镜像名称时,如果该镜像的镜像名称为所述镜像过滤规则中设置的镜像名称,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
当所述目标元数据信息包括镜像标签时,如果该镜像的镜像标签为所述镜像过滤规则中设置的镜像标签,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
当所述目标元数据信息包括镜像大小时,如果该镜像的镜像大小在所述镜像过滤规则中针对镜像大小设置的第一预设范围内,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
当所述目标元数据信息包括镜像作者时,如果该镜像的镜像作者为所述镜像过滤规则中设置的镜像作者,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
当所述目标元数据信息包括镜像创建时间时,如果该镜像的创建时间在所述镜像过滤规则中针对镜像创建时间设置的第二预设范围内,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件。
也就是说,当镜像过滤规则中包含的目标元数据信息包括镜像名称时,如果针对镜像名称设置的过滤条件为镜像名称为A,那么此时需要针对源镜像仓库中每个镜像获取其镜像名称,并判断每个镜像的镜像名称是否为A,如果是,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件,并将镜像名称为A的镜像作为目标镜像,从源镜像仓库传输至目标镜像仓库。
当镜像过滤规则中包含的目标元数据信息包括镜像标签时,如果针对镜像标签设置的过滤条件为镜像标签为B,那么此时需要针对源镜像仓库中每个镜像获取其镜像标签,并判断每个镜像的镜像标签是否为B,如果是,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件,并将镜像标签为B的镜像作为目标镜像,从源镜像仓库传输至目标镜像仓库。
当镜像过滤规则中包含的目标元数据信息包括镜像大小时,如果针对镜像大小设置的过滤条件为镜像大小大于C,那么此时需要针对源镜像仓库中每个镜像获取其占用的存储空间,并判断每个镜像占用的存储空间是否大于C,如果是,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件,并将存储空间是否大于C的镜像作为目标镜像,从源镜像仓库传输至目标镜像仓库。
当镜像过滤规则中包含的目标元数据信息包括镜像作者时,如果针对镜像作者设置的过滤条件为镜像作者为D,那么此时需要针对源镜像仓库中每个镜像获取其作者姓名,并判断每个镜像的作者姓名是否为D,如果是,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件,并将作者姓名为D的镜像作为目标镜像,从源镜像仓库传输至目标镜像仓库。
当镜像过滤规则中包含的目标元数据信息包括镜像创建时间时,如果针对镜像创建时间设置的过滤条件为创建时间大于为E,那么此时需要针对源镜像仓库中每个镜像获取其被创建时对应的时间,并判断每个镜像被创建时对应的时间是否大于E,如果是,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件,并将创建时间大于E的镜像作为目标镜像,从源镜像仓库传输至目标镜像仓库。
其中,需要说明的是,在本发明实施例中,对于镜像过滤规则所包含的目标元数据信息并不进行具体限定,同样的,对于镜像过滤规则中针对目标元数据信息设置的过滤条件也不进行具体限定。在本发明实施例中,镜像过滤规则可以由工作人员根据目标镜像仓库对应的实际场景,或者根据目标镜像仓库的实际需求进行相应的限定。
因此,在本发明实施例中,通过工作人员根据目标镜像仓库对应的实际场景,或者根据目标镜像仓库的实际需求,预先设置与该目标镜像仓库对应的镜像过滤规则,可以实现根据该镜像过滤规则对源镜像仓库中的镜像进行筛选,保证传输至目标镜像仓库的目标镜像均为目标镜像库需要的特定镜像,因此本发明实施例不仅能够实现对多个镜像进行同步传输,提高传输效率,还能够阻止无用镜像的传输,既能够节约目标镜像仓库中的存储空间,还能够减小传输过程中带宽资源的浪费。
由于在开发环境下、生产环境下或者测试环境下的镜像仓库均可以作为接收镜像的目标镜像仓库,而针对不同环境下目标镜像仓库设置的镜像过滤规则可以不同,所以传输至开发环境下和生产环境下的目标镜像仓库中镜像可能并不相同,因此本发明实施例提供的镜像传输方法还能够实现针对不同的目标镜像仓库进行镜像隔离,可以在一定程度上避免将不同代码分支构建生成的镜像全部传输至目标镜像仓库时存在的安全隐患,大大提高镜像的安全性。
实施例二:
由于将目标镜像从源镜像仓库传输至目标镜像仓库的前提是要保证目标镜像仓库的合法性,因此在上述实施例的基础上,在本发明实施例中,所述根据针对目标镜像仓库设置的镜像过滤规则,识别所述镜像过滤规则中包含的目标元数据信息之前,所述方法还包括:
获取所述目标镜像仓库的账号信息,所述账号信息包括所述目标镜像仓库的账号名称和登录密码;
根据所述账号信息对所述目标镜像仓库进行连接测试;
如果所述目标镜像仓库连接成功,则执行后续步骤。
由于不同环境下目标镜像仓库均设有与之对应的账户名称和登录密码,因此为保证该目标镜像仓库的合法性,需获取目标镜像仓库的账号信息,也就是目标镜像仓库的账号名称和登录密码,然后基于目标镜像仓库的账号名称和登录密码进行测试连接,倘若连接成功,则说明该目标镜像仓库合法,那么可以向该目标镜像仓库传输目标镜像。
而如果所述目标镜像仓库连接失败,所述方法还包括:
生成所述目标镜像仓库连接测试失败的第一提示信息。
也就是说,在基于目标镜像仓库的账号名称和登录密码进行测试连接时,倘若连接失败,则说明该目标镜像仓库可能不合法,此时则会在连接测试页面弹出提示信息:“连接测试失败,请检查用户名及密码”,以使得用户重新输入该目标镜像仓库的账号名称和登录密码,对目标镜像仓库的合法性进行重新验证。
实施例三:
由于将目标镜像从源镜像仓库传输至目标镜像仓库的前提还可以是要保证目标镜像仓库具有从源镜像仓库获取镜像传输的传输权限,因此在上述实施例的基础上,在本发明实施例中,所述根据针对目标镜像仓库设置的镜像过滤规则,识别所述镜像过滤规则中包含的目标元数据信息之前,所述方法还包括:
获取所述目标镜像仓库的权限信息;
根据所述权限信息判断所述目标镜像仓库是否具有从所述源镜像仓库获取镜像的传输权限;
如果是,则执行后续步骤。
具体地,若目标镜像仓库被分配了从所述源镜像仓库获取镜像的传输权限,则在其对应的权限信息中会有相应的第一标识,若目标镜像仓库未被分配从所述源镜像仓库获取镜像的传输权限,则在其对应的权限信息中会有相应的第二标识,因此可根据权限信息中的标识判断目标镜像仓库是否具有从所述源镜像仓库获取镜像的传输权限。
在本发明实施例中,可用1代表第一标识,表征目标镜像仓库具有从所述源镜像仓库获取镜像的传输权限;用0代表第二标识,表征目标镜像仓库不具有从所述源镜像仓库获取镜像的传输权限。当然可以理解的是,在本发明实施例中,对于权限信息中表征目标镜像仓库是否具有从所述源镜像仓库获取镜像的传输权限的标识形式并不进行具体限定。
如果所述目标镜像仓库没有从所述源镜像仓库获取镜像的传输权限,所述方法还包括:
生成第二提示信息,提示用户设置所述目标镜像仓库的传输权限。
由于目标镜像仓库是根据当前开发流程,需要接收目标镜像的镜像仓库,如果该目标镜像仓库没有从所述源镜像仓库获取镜像的传输权限,则会导致镜像的传输流程终止,因此当目标镜像仓库没有从所述源镜像仓库获取镜像的传输权限时,则会生成“该目标镜像仓库没有传输权限”的提示信息。假如该目标镜像仓库为开发环境下的开发镜像仓库,弹出提示信息:“开发镜像仓库没有传输权限”。因此工作人员可根据该提示信息,对开发镜像仓库的传输权限进行开放。
由上述可知,为确保目标镜像能够从源镜像仓库传输至目标镜像仓库中,因此较优的是,即要保证目标镜像仓库的合法性,还要保证目标镜像仓库具有传输权限。所以在实际应用中,可以先对目标镜像仓库的合法性进行验证,倘若该目标镜像仓库合法,则在进一步验证该目标镜像仓库是否具有传输权限,当确定该目标镜像仓库具有传输权限时,再将目标镜像能够从源镜像仓库传输至目标镜像仓库。
实施例四:
由于将目标镜像从源镜像仓库传输至目标镜像仓库的前提还可以是要保证目标镜像仓库具有足够的存储空间,因此在上述实施例的基础上,在本发明实施例中,所述将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,所述方法还包括:
确定每个所述目标镜像占用的第一存储空间;
判断所述目标镜像仓库剩余的第二存储空间是否大于所述第一存储空间;
如果是,则执行后续步骤。
由于若目标镜像仓库未有足够的存储空间,则会造成目标镜像传输不成功,所以在将目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,需根据目标镜像的元数据信息获取该目标镜像的镜像大小,并据此确定出存储每个目标镜像所需要的第一存储空间,然后再判断目标镜像仓库剩余的第二存储空间是否大于所述第一存储空间,如果是,则说明目标镜像仓库中有足够的剩余存储空间,因此能够保证目标镜像由源镜像仓库成功传输至目标镜像仓库。
如果所述目标镜像仓库剩余的第二存储空间不大于所述第一存储空间,所述方法还包括:
生成传输所述目标镜像失败的第三提示信息。
也就是说,如果目标镜像仓库中不能提供足够的剩余存储空间,则会弹出提示信息:“存储空间不足,传输失败”。因此工作人员可根据该提示信息,对目标镜像仓库中无用的镜像进行删除,以保证目标镜像能够由源镜像仓库成功传输至目标镜像仓库。
由上述可知,为确保目标镜像能够从源镜像仓库传输至目标镜像仓库中,因此最优的是,即要保证目标镜像仓库的合法性,还要保证目标镜像仓库具有传输权限,同时还要保证目标镜像仓库具有足够的存储空间。所以在实际应用中,可以先对目标镜像仓库的合法性进行验证,倘若该目标镜像仓库合法,则在进一步验证该目标镜像仓库是否具有传输权限,当确定该目标镜像仓库具有传输权限时,再判断目标镜像仓库中是否能够提供足够的剩余存储空间,当确定目标镜像仓库中能够提供足够的剩余存储空间时,再将目标镜像能够从源镜像仓库传输至目标镜像仓库。
实施例五:
由上述可知,在通过本发明实施例提供的镜像传输方法进行镜像传输时,需要根据镜像过滤规则对源镜像仓库中的镜像进行过滤,因此,若将该镜像传输方法应用到docker中,那么与现有的docker的系统构架相比,本发明实施例中的docker的系统构架增加了镜像仓库同步过滤管理模块(RSFR,Registry Synchronize Filter Manager),用于实现镜像的过滤筛选。
其中,本发明实施例提供的docker的系统构架如图4所示,其中RSFM模块分别与RSTM模块、RSE模块以及RSLM模块连接。因此RSE模块可以对RSFR模块过滤后的镜像实现由源镜像仓库至目标镜像仓库的镜像同步。
具体地,如图5所示,RSFM模块主要包括镜像仓库管理模块(RM,RegistryManager)、镜像仓库同步过滤规则模块(RSFR,Registry Synchronize Filter Rules)和镜像仓库同步过滤综合处理模块(RSFP,Registry Synchronize Filter Processing)。
其中,RM模块,用于接收RSTM模块定期发送来的心跳,获取目标镜像仓库的权限分配信息以及目标镜像仓库的账号信息,并统计目标镜像仓库账号所对应的权限。具体地,如图6所示,RM模块具体包括如下子模块:
镜像仓库用户账号信息管理子模块:负责和RSTM模块进行实时通信,获取所有目标镜像仓库的账号信息,即目标镜像仓库的账号名称和登录密码。
目标镜像仓库权利管理子模块:负责从RSTM模块获得目标镜像仓库的权限信息。
其中,该权限信息主要包括目标镜像仓库是否具有从源镜像仓库获取镜像的传输权限。
镜像仓库用户列表及权限列表存储子模块(图6中未示出),负责存储镜像仓库用户列表及权限列表。
镜像仓库用户信息及权限整合模块:负责将用户账号信息及其对应的权限信息一一对应起来,并将结果汇总发送至RSFR模块。
RSFR模块,用于根据镜像过滤规则统计出满足镜像过滤规则的目标镜像。具体地,如图7所示,RSFR模块具体包括如下子模块:
用户权限校验子模块:负责验证目标镜像仓库是否有权限向源镜像仓库申请镜像传输。
源镜像信息获取子模块:负责从源镜像仓库获取镜像相关的元数据信息,并输出相应的元数据信息列表。
镜像传输过滤规则子模块:该子模块主要用于使用户填写相应的镜像过滤规则。其中,不同的用户可以制定不同的规则,系统会将用户信息、权限、过滤规则等记录在后台数据库。
综合统计子模块:负责将符合镜像过滤规则的目标镜像进行统计,输出待传输目标镜像的元数据信息列表,并将该元数据信息列表发送给RSFP模块。
RSFP模块,用于监听RM模块及RSTM模块的状态信息,将目标镜像的信息发送给RSE模块,以实现目标镜像由源镜像仓库至目标镜像仓库的全量镜像同步。其中,RSFP模块具体负责根据RSFP模块发送的元数据信息列表计算获取目标镜像占用的存储空间,并对RSFR模块发送的信息进行优化处理,并将优化结果反馈给RSE模块。
具体地,在实际应用过程中,docker在基于RSFM模块进行镜像传输的过程如下:
首先,RM模块与RSTM模块进行通信,获取目标镜像仓库的账号信息,即目标仓库的账号名称及登录密码,并进行测试连接,倘若连接失败,则会在页面弹出提示信息:“连接测试失败,请检查用户名及密码”。倘若连接成功,RM模块继续与RSTM模块进行通信,获取RSTM模块给目标镜像仓库分配的权限信息。其中,RSTM模块给目标镜像仓库分配的权限信息由用户进行设置。如果目标仓库未被分配镜像传输权限,则无需进行过滤规则的制定。如果目标仓库被分配了传输权限,则可以进入后续的传输过滤规则的制定。
其次,RSFR模块会再次确认目标镜像仓库的账户及权限信息,并与RSTM模块进行通信,获取源镜像仓库中镜像的元数据信息,具体包括镜像名称、镜像标签(tag)、镜像大小、镜像作者以及创建时间等信息,并将镜像的元数据信息存入RSFM数据库,其中,当源镜像仓库镜像信息发生变化时,RSFR模块也会动态更新镜像的元数据信息,确保镜像的元数据信息为最新状态。
由于RSFR模块可用于用户填写镜像过滤规则,其中该镜像过滤规则可以基于镜像名称、tag、镜像大小、镜像作者或者创建时间等信息设置,因此RSFR模块还用于对源镜像仓库中的镜像进行过滤筛选,将不符合条件的镜像进行剔除,符合条件的镜像通过,并输出一份符合条件的镜像的传输列表。
最后,RSFP模块用于对RSFR模块输出的传输列表进行汇总优化处理,并计算传输该镜像列表中的镜像所占用的存储空间,并将优化结果报告给RSE模块,告知RSE模块一切过滤工作全部完成,可以进入后续相应环节处理。
具体地,在本发明实施例中,RSFR模块对RSFP模块输出的传输列表进行汇总优化处理可以是对信息传输格式的处理,使之符合RSE的数据格式。在本发明实施例中,对此并不进行具体限定。
综上可知,在本发明实施例中,通过对目标镜像仓库设置镜像过滤规则,并进一步判断源镜像仓库中的镜像是否满足该镜像过滤规则,可以实现对源镜像仓库中的镜像进行筛选,保证传输至目标镜像仓库的目标镜像均为目标镜像库需要的特定镜像,因此本发明实施例提供的镜像传输方法不仅能够实现对多个镜像进行同步传输,提高传输效率,还能够阻止无用镜像的传输,既能够节约目标镜像仓库中的存储空间,还能够减小传输过程中带宽资源的浪费。
实施例六:
依据本发明的另一个方面,还提供了一种镜像传输装置,如图8所示,所述装置包括:
识别模块801,用于根据针对目标镜像仓库设置的镜像过滤规则,识别所述镜像过滤规则中包含的目标元数据信息,其中所述目标元数据信息包括镜像名称、镜像标签、镜像大小、镜像作者或者镜像创建时间中的至少一种信息;
第一获取模块802,用于根据源镜像仓库中针对每个镜像保存的元数据信息,获取每个镜像的目标元数据信息对应的参数值;
第一判断模块803,用于针对每个镜像的目标元数据信息对应的参数值,判断该参数值是否满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
传输模块804,用于如果所述判断模块的判断结果为是,则将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库。
具体地,所述第一判断模块803,具体用于当所述目标元数据信息包括镜像名称时,如果该镜像的镜像名称为所述镜像过滤规则中设置的镜像名称,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像标签时,如果该镜像的镜像标签为所述镜像过滤规则中设置的镜像标签,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像大小时,如果该镜像的镜像大小在所述镜像过滤规则中针对镜像大小设置的第一预设范围内,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像作者时,如果该镜像的镜像作者为所述镜像过滤规则中设置的镜像作者,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像创建时间时,如果该镜像的创建时间在所述镜像过滤规则中针对镜像创建时间设置的第二预设范围内,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件。
具体地,如图8所示,所述装置还包括:
第二获取模块805,用于在将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,获取所述目标镜像仓库的账号信息,所述账号信息包括所述目标镜像仓库的账号名称和登录密码;
连接测试模块806,用于根据所述账号信息对所述目标镜像仓库进行连接测试;如果所述目标镜像仓库连接成功,则使所述传输模块804执行后续步骤。
具体地,如图8所示,所述装置还包括:
生成模块807,用于如果所述目标镜像仓库连接失败,生成所述目标镜像仓库连接测试失败的第一提示信息。
具体地,如图8所示,所述装置还包括:
第三获取模块808,用于在将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,获取所述目标镜像仓库的权限信息;
第二判断模块809,用于根据所述权限信息判断所述目标镜像仓库是否具有从所述源镜像仓库获取镜像的传输权限;如果是,则使所述传输模块804执行后续步骤。
具体地,所述生成模块807,还用于如果所述目标镜像仓库没有从所述源镜像仓库获取镜像的传输权限,生成第二提示信息,提示用户设置所述目标镜像仓库的传输权限。
具体地,如图8所示,所述装置还包括:
确定模块810,用于在将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,确定每个所述目标镜像占用的第一存储空间;
第三判断模块811,用于判断所述目标镜像仓库剩余的第二存储空间是否大于所述第一存储空间;如果是,则使所述传输模块804执行后续步骤。
具体地,所述生成模块807,还用于如果所述目标镜像仓库剩余的第二存储空间不大于所述第一存储空间,生成传输所述目标镜像失败的第三提示信息。
实施例七:
依据本发明的另一个方面,还提供了一种电子设备900,如图9所示,包括:处理器901和存储器902;
所述处理器901,用于执行读取存储器902中的程序,执行下列过程:
根据针对目标镜像仓库设置的镜像过滤规则,识别所述镜像过滤规则中包含的目标元数据信息,其中所述目标元数据信息包括镜像名称、镜像标签、镜像大小、镜像作者或者镜像创建时间中的至少一种信息;
根据源镜像仓库中针对每个镜像保存的元数据信息,获取每个镜像的目标元数据信息对应的参数值;
针对每个镜像的目标元数据信息对应的参数值,判断该参数值是否满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
如果是,则将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库。
具体地,所述处理器901,具体用于当所述目标元数据信息包括镜像名称时,如果该镜像的镜像名称为所述镜像过滤规则中设置的镜像名称,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像标签时,如果该镜像的镜像标签为所述镜像过滤规则中设置的镜像标签,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像大小时,如果该镜像的镜像大小在所述镜像过滤规则中针对镜像大小设置的第一预设范围内,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像作者时,如果该镜像的镜像作者为所述镜像过滤规则中设置的镜像作者,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像创建时间时,如果该镜像的创建时间在所述镜像过滤规则中针对镜像创建时间设置的第二预设范围内,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件。
具体地,所述处理器901,还用于在将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前获取所述目标镜像仓库的账号信息,所述账号信息包括所述目标镜像仓库的账号名称和登录密码;根据所述账号信息对所述目标镜像仓库进行连接测试;如果所述目标镜像仓库连接成功,则执行后续步骤。
具体地,所述处理器901,还用于如果所述目标镜像仓库连接失败,生成所述目标镜像仓库连接测试失败的第一提示信息。
具体地,所述处理器901,还用于在所述将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,获取所述目标镜像仓库的权限信息;根据所述权限信息判断所述目标镜像仓库是否具有从所述源镜像仓库获取镜像的传输权限;如果是,则执行后续步骤。
具体地,所述处理器901,还用于如果所述目标镜像仓库没有从所述源镜像仓库获取镜像的传输权限,生成第二提示信息,提示用户设置所述目标镜像仓库的传输权限。
具体地,所述处理器901,还用于在所述将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,确定每个所述目标镜像占用的第一存储空间;判断所述目标镜像仓库剩余的第二存储空间是否大于所述第一存储空间;如果是,则执行后续步骤。
具体地,所述处理器901,还用于如果所述目标镜像仓库剩余的第二存储空间不大于所述第一存储空间,生成传输所述目标镜像失败的第三提示信息。
在图9中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器901代表的一个或多个处理器和存储器902代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。处理器901负责管理总线架构和通常的处理,存储器902可以存储处理器901在执行操作时所使用的数据。
可选的,处理器901可以是CPU(中央处埋器)、ASIC(Application SpecificIntegrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。
实施例八:
在上述各实施例的基础上,本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
根据针对目标镜像仓库设置的镜像过滤规则,识别所述镜像过滤规则中包含的目标元数据信息,其中所述目标元数据信息包括镜像名称、镜像标签、镜像大小、镜像作者或者镜像创建时间中的至少一种信息;
根据源镜像仓库中针对每个镜像保存的元数据信息,获取每个镜像的目标元数据信息对应的参数值;
针对每个镜像的目标元数据信息对应的参数值,判断该参数值是否满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
如果是,则将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者一个操作与另一个实体或者另一个操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全应用实施例、或结合应用和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (18)

1.一种镜像传输方法,其特征在于,所述方法包括:
根据针对目标镜像仓库设置的镜像过滤规则,识别所述镜像过滤规则中包含的目标元数据信息,其中所述目标元数据信息包括镜像名称、镜像标签、镜像大小、镜像作者或者镜像创建时间中的至少一种信息;
根据源镜像仓库中针对每个镜像保存的元数据信息,获取每个镜像的目标元数据信息对应的参数值;
针对每个镜像的目标元数据信息对应的参数值,判断该参数值是否满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
如果是,则将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库。
2.如权利要求1所述的方法,其特征在于,所述判断该参数值是否满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件包括:
当所述目标元数据信息包括镜像名称时,如果该镜像的镜像名称为所述镜像过滤规则中设置的镜像名称,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
当所述目标元数据信息包括镜像标签时,如果该镜像的镜像标签为所述镜像过滤规则中设置的镜像标签,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
当所述目标元数据信息包括镜像大小时,如果该镜像的镜像大小在所述镜像过滤规则中针对镜像大小设置的第一预设范围内,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
当所述目标元数据信息包括镜像作者时,如果该镜像的镜像作者为所述镜像过滤规则中设置的镜像作者,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
当所述目标元数据信息包括镜像创建时间时,如果该镜像的创建时间在所述镜像过滤规则中针对镜像创建时间设置的第二预设范围内,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件。
3.如权利要求1所述的方法,其特征在于,所述将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,所述方法还包括:
获取所述目标镜像仓库的账号信息,所述账号信息包括所述目标镜像仓库的账号名称和登录密码;
根据所述账号信息对所述目标镜像仓库进行连接测试;
如果所述目标镜像仓库连接成功,则执行后续步骤。
4.如权利要求3所述的方法,其特征在于,如果所述目标镜像仓库连接失败,所述方法还包括:
生成所述目标镜像仓库连接测试失败的第一提示信息。
5.如权利要求1所述的方法,其特征在于,所述将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,所述方法还包括:
获取所述目标镜像仓库的权限信息;
根据所述权限信息判断所述目标镜像仓库是否具有从所述源镜像仓库获取镜像的传输权限;
如果是,则执行后续步骤。
6.如权利要求5所述的方法,其特征在于,如果所述目标镜像仓库没有从所述源镜像仓库获取镜像的传输权限,所述方法还包括:
生成第二提示信息,提示用户设置所述目标镜像仓库的传输权限。
7.如权利要求1所述的方法,其特征在于,所述将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,所述方法还包括:
确定每个所述目标镜像占用的第一存储空间;
判断所述目标镜像仓库剩余的第二存储空间是否大于所述第一存储空间;
如果是,则执行后续步骤。
8.如权利要求7所述的方法,其特征在于,如果所述目标镜像仓库剩余的第二存储空间不大于所述第一存储空间,所述方法还包括:
生成传输所述目标镜像失败的第三提示信息。
9.一种镜像传输装置,其特征在于,所述装置包括:
识别模块,用于根据针对目标镜像仓库设置的镜像过滤规则,识别所述镜像过滤规则中包含的目标元数据信息,其中所述目标元数据信息包括镜像名称、镜像标签、镜像大小、镜像作者或者镜像创建时间中的至少一种信息;
第一获取模块,用于根据源镜像仓库中针对每个镜像保存的元数据信息,获取每个镜像的目标元数据信息对应的参数值;
第一判断模块,用于针对每个镜像的目标元数据信息对应的参数值,判断该参数值是否满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;
传输模块,用于所述判断模块的判断结果为是时,将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库。
10.如权利要求9所述的装置,其特征在于,所述第一判断模块,具体用于当所述目标元数据信息包括镜像名称时,如果该镜像的镜像名称为所述镜像过滤规则中设置的镜像名称,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像标签时,如果该镜像的镜像标签为所述镜像过滤规则中设置的镜像标签,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像大小时,如果该镜像的镜像大小在所述镜像过滤规则中针对镜像大小设置的第一预设范围内,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像作者时,如果该镜像的镜像作者为所述镜像过滤规则中设置的镜像作者,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件;当所述目标元数据信息包括镜像创建时间时,如果该镜像的创建时间在所述镜像过滤规则中针对镜像创建时间设置的第二预设范围内,则判定该参数值满足所述镜像过滤规则中针对该目标元数据信息设置的过滤条件。
11.如权利要求9所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于在将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,获取所述目标镜像仓库的账号信息,所述账号信息包括所述目标镜像仓库的账号名称和登录密码;
连接测试模块,用于根据所述账号信息对所述目标镜像仓库进行连接测试;如果所述目标镜像仓库连接成功,则使所述传输模块执行后续步骤。
12.如权利要求11所述的装置,其特征在于,所述装置还包括:
生成模块,用于如果所述目标镜像仓库连接失败,生成所述目标镜像仓库连接测试失败的第一提示信息。
13.如权利要求9所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于在将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,获取所述目标镜像仓库的权限信息;
第二判断模块,用于根据所述权限信息判断所述目标镜像仓库是否具有从所述源镜像仓库获取镜像的传输权限;如果是,则使所述传输模块执行后续步骤。
14.如权利要求13所述的装置,其特征在于,所述生成模块,还用于如果所述目标镜像仓库没有从所述源镜像仓库获取镜像的传输权限,生成第二提示信息,提示用户设置所述目标镜像仓库的传输权限。
15.如权利要求9所述的装置,其特征在于,所述装置还包括:
确定模块,用于在将参数值满足所述过滤条件的镜像作为目标镜像从所述源镜像仓库传输至所述目标镜像仓库之前,确定每个所述目标镜像占用的第一存储空间;
第三判断模块,用于判断所述目标镜像仓库剩余的第二存储空间是否大于所述第一存储空间;如果是,则使所述传输模块执行后续步骤。
16.如权利要求15所述的装置,其特征在于,所述生成模块,还用于如果所述目标镜像仓库剩余的第二存储空间不大于所述第一存储空间,生成传输所述目标镜像失败的第三提示信息。
17.一种电子设备,其特征在于,包括存储器和处理器;
所述处理器,用于读取所述存储器中的程序,执行权利要求1~8任一项所述方法的步骤。
18.一种计算机可读存储介质,其特征在于,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行权利要求1~8任一项所述方法的步骤。
CN201811284556.2A 2018-10-31 2018-10-31 一种镜像传输方法、装置、电子设备及存储介质 Active CN111124591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811284556.2A CN111124591B (zh) 2018-10-31 2018-10-31 一种镜像传输方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811284556.2A CN111124591B (zh) 2018-10-31 2018-10-31 一种镜像传输方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111124591A true CN111124591A (zh) 2020-05-08
CN111124591B CN111124591B (zh) 2022-12-13

Family

ID=70485297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811284556.2A Active CN111124591B (zh) 2018-10-31 2018-10-31 一种镜像传输方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111124591B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858181A (zh) * 2020-07-22 2020-10-30 浪潮云信息技术股份公司 一种跨region容器镜像同步的实现方法及实现工具
CN112433814A (zh) * 2020-11-24 2021-03-02 中信银行股份有限公司 一种本地镜像仓库管理方法、装置和系统
CN113342362A (zh) * 2021-05-31 2021-09-03 联想(北京)有限公司 一种容器引擎docker的信息处理方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243211A (zh) * 2014-09-22 2014-12-24 北京星网锐捷网络技术有限公司 一种数据流的镜像方法及装置
CN108055573A (zh) * 2017-12-22 2018-05-18 深圳Tcl数字技术有限公司 数据处理方法及智能电视

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243211A (zh) * 2014-09-22 2014-12-24 北京星网锐捷网络技术有限公司 一种数据流的镜像方法及装置
CN108055573A (zh) * 2017-12-22 2018-05-18 深圳Tcl数字技术有限公司 数据处理方法及智能电视

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858181A (zh) * 2020-07-22 2020-10-30 浪潮云信息技术股份公司 一种跨region容器镜像同步的实现方法及实现工具
CN111858181B (zh) * 2020-07-22 2024-02-06 浪潮云信息技术股份公司 一种跨region容器镜像同步的实现方法及实现工具
CN112433814A (zh) * 2020-11-24 2021-03-02 中信银行股份有限公司 一种本地镜像仓库管理方法、装置和系统
CN113342362A (zh) * 2021-05-31 2021-09-03 联想(北京)有限公司 一种容器引擎docker的信息处理方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN111124591B (zh) 2022-12-13

Similar Documents

Publication Publication Date Title
US10148731B2 (en) Methods, systems, and computer readable media for on-boarding virtualized network function (VNF) packages in a network functions virtualization (NFV) system
CN111124591B (zh) 一种镜像传输方法、装置、电子设备及存储介质
CN106170763B (zh) 一种软件校验方法和装置
CN109902493B (zh) 脚本的下发方法及服务器
CN110990335B (zh) 日志归档方法、装置、设备及计算机可读存储介质
CN110245031B (zh) 一种ai服务开放中台及方法
US20240281520A1 (en) Container-based task execution method and apparatus
CN113687858A (zh) 配置文件的检查方法、装置、电子设备及存储介质
CN106406980B (zh) 一种虚拟机的部署方法和装置
CN114091099A (zh) 一种针对业务系统的权限分级控制方法、设备及存储介质
CN110063042A (zh) 一种数据库故障的响应方法及其终端
CN112818056A (zh) 一种区块链的日志安全共享方法、系统与装置
CN113312656B (zh) 数据轮转方法、装置、设备及系统
US9021479B2 (en) Enforcing machine deployment zoning rules in an automatic provisioning environment
CN113032263A (zh) 用例测试处理方法、装置、服务器及可读存储介质
US11347533B2 (en) Enhanced virtual machine image management system
CN116957764A (zh) 一种账户数据处理方法、装置、电子设备及存储介质
CN116599881A (zh) 云平台租户建模测试的方法、装置、设备及存储介质
CN114491662B (zh) 一种基于区块链的数据资产审计方法、系统及设备
WO2020228564A1 (zh) 一种应用服务方法与装置
CN114024822A (zh) 基于区块链的物联网设备管理方法、设备、服务器及介质
CN112346888A (zh) 一种基于软件应用的数据通讯方法、装置以及服务端设备
CN106844056B (zh) Hadoop大数据平台多租户作业管理方法及其系统
US12063166B1 (en) Resource management for services
CN112989324B (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