镜像删除和推送的方法、系统、电子设备及存储介质技术方案

技术编号:26170190 阅读:24 留言:0更新日期:2020-10-31 13:36
本发明专利技术公开了一种镜像删除和推送的方法、系统、电子设备及存储介质。其中,删除方法包括:获取镜像删除指令,所述镜像删除指令包括指定删除的镜像的标记信息;获取所述标记信息对应的镜像的镜像层组成清单,所述镜像层组成清单包括组成所述镜像的镜像层的层信息;删除所述层信息对应的镜像层的层文件。本发明专利技术一些实施例通过镜像的标记信息获取镜像的镜像层组成清单并删除镜像组成清单包括的镜像层的层文件,实现了对镜像的实时物理删除,相比于运行gc,节省了大量时间,且不会对镜像中心的服务造成影响。

Method, system, electronic device and storage medium for image deletion and push

【技术实现步骤摘要】
镜像删除和推送的方法、系统、电子设备及存储介质
本专利技术属于虚拟化
,尤其涉及一种镜像删除和推送的方法、系统、电子设备及存储介质。
技术介绍
云计算时代,虚拟化技术是整个信息技术的基石。虚拟化技术既可以通过硬件模拟也可以通过操作系统来实现。Docker是基于Go语言实现的云开源项目,其目标是为了实现应用组件级别的“一次封装,到处运行”。即通过对应用组件的封装、分发、部署和运行等生命周期的管理,实现虚拟化应用。上述的应用组件既可以是一个Web(互联网总称)应用,也可以使一套数据库服务,甚至是一个操作系统或编译器。现阶段,从镜像中心(registry,用于保存docker镜像,包括镜像层次结构和镜像源数据)中删除镜像的过程目前只通过镜像tag(版本信息)对应层的sha256(哈希值)来删除该镜像对应的tag,对删除镜像的元数据实际的层文件并不作处理,视为软删除。若要从镜像中心物理删除一个docker镜像,需要在软删除的基础上,在registry运行一段时间后,通过设置registry为只读模式,或者停止registry服务,然后运行本文档来自技高网...

【技术保护点】
1.一种镜像实时物理删除方法,其特征在于,所述镜像实时物理删除方法包括:/n获取镜像删除指令,所述镜像删除指令包括指定删除的镜像的标记信息;/n获取所述标记信息对应的镜像的镜像层组成清单,所述镜像层组成清单包括组成所述镜像的镜像层的层信息;/n删除所述层信息对应的镜像层的层文件。/n

【技术特征摘要】
1.一种镜像实时物理删除方法,其特征在于,所述镜像实时物理删除方法包括:
获取镜像删除指令,所述镜像删除指令包括指定删除的镜像的标记信息;
获取所述标记信息对应的镜像的镜像层组成清单,所述镜像层组成清单包括组成所述镜像的镜像层的层信息;
删除所述层信息对应的镜像层的层文件。


2.如权利要求1所述的镜像实时物理删除方法,其特征在于,所述标记信息包括镜像版本信息。


3.如权利要求1所述的镜像实时物理删除方法,其特征在于,所述镜像实时物理删除方法还包括:
在删除所述层信息对应的镜像层的层文件之后,删除所述镜像层组成清单。


4.如权利要求1或3所述的镜像实时物理删除方法,其特征在于,删除所述层信息对应的镜像层的层文件的步骤具体包括:
获取所述层信息对应的镜像层的第一推送信息,所述第一推送信息包括所述镜像层的第一累计推送次数;
计算所述第一累计推送次数减N1,N1为所述层信息对应的镜像层的层数;
判断减后的所述第一累计推送次数是否等于累计初始值,若是,则:
删除所述第一推送信息;
删除所述层信息对应的镜像层的层文件;
和/或,删除所述镜像层组成清单的步骤具体包括:
获取所述镜像层组成清单的第二推送信息,所述第二推送信息包括所述镜像层组成清单的第二累计推送次数;
计算所述第二累计推送次数减N2,N2为所述镜像层组成清单的个数;
判断减后的所述第二累计推送次数是否等于累计初始值,若是,则:
删除所述第二推送信息;
删除所述镜像层组成清单。


5.如权利要求4所述的镜像实时物理删除方法,其特征在于,所述镜像实时物理删除方法还包括:
在获取所述第一推送信息之后对所述第一推送信息加锁,用以禁止对所述第一推送信息的读写操作;
在计算所述第一累计推送次数减N1之后对所述第一推送信息去锁,用以解除对所述读写操作的禁止;
和/或,所述镜像实时物理删除方法还包括:
在获取所述第二推送信息之后对所述第二推送信息加锁,用以禁止对所述第二推送信息的读写操作;
在计算所述第二累计推送次数减N2之后对所述第二推送信息去锁,用以解除对所述读写操作的禁止。


6.如权利要求4所述的镜像实时物理删除方法,其特征在于,所述镜像实时物理删除方法还包括:
在删除所述第一推送信息成功但删除所述层文件失败时,遍历所有镜像层的第一推送信息,删除缺少第一推送信息的镜像层对应的层文件;
和/或,所述镜像实时物理删除方法还包括:
在删除所述第二推送信息成功但删除所述镜像层组成清单失败时,遍历所有镜像层组成清单的第二推送信息,删除缺少第二推送信息的镜像层组成清单。


7.如权利要求1所述的镜像实时物理删除方法,其特征在于,组成所述镜像的镜像层包括:所述镜像的数据层和所述镜像的配置文件层,所述数据层包括镜像数据,所述配置文件层包括镜像配置信息。


8.一种镜像推送方法,其特征在于,包括:
推送组成镜像的镜像层的层文件;
获取所述镜像层的第一推送信息,所述第一推送信息包括所述镜像层的第一累计推送次数;
推送所述镜像的镜像层组成清单,所述镜像层组成清单包括所述镜像层的层信息;
获取所述镜像层组成清单的第二推送信息,所述第二推送信息包括镜像层组成清单的第二累计推送次数;
计算新的第一累计推送次数,新的第一累计推送次数等于所述第一累计推送次数加N1,N1为推送的镜像层的层数;
计算新的第二累计推送次数,新的第二累计推送次数等于所述第二累计推送次数加N2,N2为所述镜像层组成清单的个数。


9.如权利要求8所述的镜像推送方法,其特征在于,获取所述镜像层的第一推送信息的步骤具体包括:
判断所述镜像层的第一推送信息是否存在;
若存在,则获取所述第一推送信息;
若不存在,则为所述镜像层新建所述第一推送信息,将所述第一推送信息中的所述第一累计推送次数设置为累计初始值;
和/或,获取所述镜像层组成清单的第二推送信息的步骤具体包括:
判断所述镜像层组成清单的第二推送信息是否存在;
若存在,则获取所述第二推送信息;
若不存在,则为所述镜像层组成清单新建所述第二推送信息,将所述第二推送信息中的所述第二累计推送次数设置为累计初始值。


10.如权利要8所述的镜像推送方法,其特征在于,所述镜像推送方法还包括:
在获取所述第一推送信息之后,对所述第一推送信息加锁,用以禁止对所述第一推送信息的读写操作;
在计算新的第一累计推送次数之后,对所述第一推送信息去锁,用以解除对所述读写操作的禁止;
和/或,所述镜像推送方法还包括:
在获取所述第二推送信息之后,对所述第二推送信息加锁,用以禁止对所述第二推送信息的读写操作;
在计算新的第二累计推送次数之后,对所述第二推送信息去锁,用以解除对所述读写操作的禁止。


11.一种镜像实时物理删除系统,其特征在于,所述镜像实时物理删除系统包括:
指令获取模块,用于获取镜像删除指令,所述镜像删除指令包括指定删除的镜像的标记信息;
清单获取模块,用于获取所述标记信息对应的镜像的镜像层组成清单,所述镜像层组成清单包括组成所述镜像的镜像层的层信息;
镜像删除模块,用于删除所述层信息对应的镜像层的层文件。


12.如权利要求11所述的镜像实时物理删除系统...

【专利技术属性】
技术研发人员:梁晓雷王兴刚
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1