【技术实现步骤摘要】
一种面向docker镜像仓库的镜像垃圾清理系统及方法
本专利技术涉及云计算
,具体地说是一种面向docker镜像仓库的镜像垃圾清理系统及方法。
技术介绍
在云计算容器
的docker镜像仓库中,由于镜像的存储是分层存储,每一个镜像层只会存储改动的镜像和存储依赖的父镜像存储层的元信息,在这种存储结构下,要执行删除镜像来清理镜像仓库的空间,会涉及到两种难题:一是删除依赖镜像层是要首先判断该依赖层没有被其它镜像层依赖,这需要遍历依赖层,这样才能更好的清理镜像和释放镜像仓库空间;二是删除时候,涉及分布式加锁,如果删除某个镜像层时,恰恰同时有依赖该镜像层的镜像在上传,则会出现上传的镜像后续不可用的问题。基于上述问题,本专利技术提出了一种面向docker镜像仓库的镜像垃圾清理系统及方法,有效解决上述问题。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种面向docker镜像仓库的镜像垃圾清理系统及方法。一种面向docker镜像仓库的镜像垃圾清理系统,包括两个镜像仓库及以下模块:请求代理模块、消息中心模块、清理模块、清理agent,其中,两个镜像仓库分别为主镜像仓库、备用镜像仓库,主镜像仓库负责镜像的上传和下载请求,备用镜像仓库负责存储清洗后的镜像;请求代理模块负责请求和镜像写入存储,并根据消息中心模块的标识信息,执行不同代理请求;消息中心模块为请求代理模块提供标识信息,该标识信息包括开始清理、清理结束、主镜像仓库地址、备用镜像仓库地址,并在清理结束时向镜像仓库上的清理agent推送执行清空镜像仓库的命令;清理模块,根据消息中心的标识执行定时任务, ...
【技术保护点】
一种面向docker镜像仓库的镜像垃圾清理系统,其特征在于,包括两个镜像仓库及以下模块:请求代理模块、消息中心模块、清理模块、清理agent,其中,两个镜像仓库分别为主镜像仓库、备用镜像仓库,主镜像仓库负责镜像的上传和下载请求,备用镜像仓库负责存储清洗后的镜像;请求代理模块负责请求和镜像写入存储,并根据消息中心模块的标识信息,执行不同代理请求;消息中心模块为请求代理模块提供标识信息,该标识信息包括开始清理、清理结束、主镜像仓库地址、备用镜像仓库地址,并在清理结束时向镜像仓库上的清理agent推送执行清空镜像仓库的命令;清理模块,根据消息中心的标识执行定时任务,对存储的请求进行取上传和删除请求的差集,并把差集对应的上传请求再次重新发送到当前的备用镜像仓库,执行完成后向消息中心发送标识消息;清理agent,请求agent在接收到消息中心的推送后,执行本模块的清理工作,完成后,向消息中心发送清理完成消息。
【技术特征摘要】
1.一种面向docker镜像仓库的镜像垃圾清理系统,其特征在于,包括两个镜像仓库及以下模块:请求代理模块、消息中心模块、清理模块、清理agent,其中,两个镜像仓库分别为主镜像仓库、备用镜像仓库,主镜像仓库负责镜像的上传和下载请求,备用镜像仓库负责存储清洗后的镜像;请求代理模块负责请求和镜像写入存储,并根据消息中心模块的标识信息,执行不同代理请求;消息中心模块为请求代理模块提供标识信息,该标识信息包括开始清理、清理结束、主镜像仓库地址、备用镜像仓库地址,并在清理结束时向镜像仓库上的清理agent推送执行清空镜像仓库的命令;清理模块,根据消息中心的标识执行定时任务,对存储的请求进行取上传和删除请求的差集,并把差集对应的上传请求再次重新发送到当前的备用镜像仓库,执行完成后向消息中心发送标识消息;清理agent,请求agent在接收到消息中心的推送后,执行本模块的清理工作,完成后,向消息中心发送清理完成消息。2.根据权利要求1所述的一种面向docker镜像仓库的镜像垃圾清理系统,其特征在于,在请求代理模块将请求和镜像写入存储时,首先配置请求存储模块和镜像存储模块,来分别存储该请求和镜像,该请求包括上传镜像请求和删除镜像请求,请求代理模块把上传和删除镜像的请求记录到请求存储模块中,把镜像放到镜像存储模块中。3.根据权利要求2所述的一种面向docker镜像仓库的镜像垃圾清理系统,其特征在于,所述请求代理模块的工作过程为:请求代理模块在消息中心中查看当前的系统所处的阶段:是镜像垃圾清理阶段还是非镜像垃圾清理阶段,并且获取当前的主镜像地址和备用镜像仓库的地址;如果是非镜像垃圾清理阶段,则向当前的主镜像仓库透传发送请求;如果是镜像垃圾清理阶段,则上传镜像请求向备用镜像仓库上传;下载镜像时,先通过备用镜像仓库下载,如果没有,则通过主镜像仓库下载。4.根据权利要求2所述的一种面向docker镜像仓库的镜像垃圾清理系统,其特征在于,所述消息中心模块中,在缓存镜像上传、删除请求时,提供开始清理、清理结束的标识按照不同的逻辑执行代理请求,清理模块定时根据消息中心的标识执行清理任务,并向消息中心写入执行阶段的标识,消息中心根据收集到的标识,向清理agent发送清理命令,并根据获取到的消息标识所处阶段及时切换主备仓库的逻辑角色。5.根据权利要求4所述的一种面向docker镜像仓库的镜像垃圾清理系统,其特征在于,所述消息中心模块中,接受清理模块和清理agent发送的消息,进行标识阶段和逻辑主备用镜像仓库及向清理agent推送命令,具体实现步骤为:步骤一:首先进行初始化,消...
【专利技术属性】
技术研发人员:于杰,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。