[發明專利]一種面向docker鏡像倉庫的鏡像垃圾清理系統及方法有效
| 申請號: | 201710347806.1 | 申請日: | 2017-05-17 |
| 公開(公告)號: | CN107105054B | 公開(公告)日: | 2019-12-24 |
| 發明(設計)人: | 于杰 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 37100 濟南信達專利事務所有限公司 | 代理人: | 姜明 |
| 地址: | 215100 江蘇省蘇州*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 docker 倉庫 垃圾 清理 系統 方法 | ||
本發明公開了一種面向docker鏡像倉庫的鏡像垃圾清理系統及方法,首先配置邏輯上可互相替換的主鏡像倉庫、備用鏡像倉庫;緩存鏡像上傳請求和鏡像刪除請求及對應鏡像文件,并在指定時間段內取鏡像上傳請求和鏡像刪除請求的差集;切換主備用鏡像倉庫,通過備用鏡像倉庫執行差集上傳鏡像請求,執行完畢后,停止主鏡像倉庫并清理該主鏡像倉庫;最后將備用鏡像倉庫作為主鏡像倉庫,原主鏡像倉庫作為備用鏡像倉庫,重復上述邏輯,進行下一輪的鏡像垃圾清理工作。本發明的一種面向docker鏡像倉庫的鏡像垃圾清理系統及方法與現有技術相比,填補了docker鏡像倉庫中清理鏡像技術的空白,可以有效地減小docker鏡像倉庫的存儲壓力,實用性強。
技術領域
本發明涉及云計算技術領域,具體地說是一種面向docker鏡像倉庫的鏡像垃圾清理系統及方法。
背景技術
在云計算容器技術領域的docker鏡像倉庫中,由于鏡像的存儲是分層存儲,每一個鏡像層只會存儲改動的鏡像和存儲依賴的父鏡像存儲層的元信息,在這種存儲結構下,要執行刪除鏡像來清理鏡像倉庫的空間,會涉及到兩種難題:一是刪除依賴鏡像層是要首先判斷該依賴層沒有被其它鏡像層依賴,這需要遍歷依賴層,這樣才能更好的清理鏡像和釋放鏡像倉庫空間;二是刪除時候,涉及分布式加鎖,如果刪除某個鏡像層時,恰恰同時有依賴該鏡像層的鏡像在上傳,則會出現上傳的鏡像后續不可用的問題。
基于上述問題,本發明提出了一種面向docker鏡像倉庫的鏡像垃圾清理系統及方法,有效解決上述問題。
發明內容
本發明的技術任務是針對以上不足之處,提供一種面向docker鏡像倉庫的鏡像垃圾清理系統及方法。
一種面向docker鏡像倉庫的鏡像垃圾清理系統,包括兩個鏡像倉庫及以下模塊:請求代理模塊、消息中心模塊、清理模塊、清理agent,其中,
兩個鏡像倉庫分別為主鏡像倉庫、備用鏡像倉庫,主鏡像倉庫負責鏡像的上傳和下載請求,備用鏡像倉庫負責存儲清洗后的鏡像;
請求代理模塊負責請求和鏡像寫入存儲,并根據消息中心模塊的標識信息,執行不同代理請求;
消息中心模塊為請求代理模塊提供標識信息,該標識信息包括開始清理、清理結束、主鏡像倉庫地址、備用鏡像倉庫地址,并在清理結束時向鏡像倉庫上的清理agent推送執行清空鏡像倉庫的命令;
清理模塊,根據消息中心的標識執行定時任務,對存儲的請求進行取上傳和刪除請求的差集,并把差集對應的上傳請求再次重新發送到當前的備用鏡像倉庫,執行完成后向消息中心發送標識消息;
清理agent,請求agent在接收到消息中心的推送后,執行本模塊的清理工作,完成后,向消息中心發送清理完成消息。
在請求代理模塊將請求和鏡像寫入存儲時,首先配置請求存儲模塊和鏡像存儲模塊,來分別存儲該請求和鏡像,該請求包括上傳鏡像請求和刪除鏡像請求,請求代理模塊把上傳和刪除鏡像的請求記錄到請求存儲模塊中,把鏡像放到鏡像存儲模塊中。
所述請求代理模塊的工作過程為:
請求代理模塊在消息中心中查看當前的系統所處的階段:是鏡像垃圾清理階段還是非鏡像垃圾清理階段,并且獲取當前的主鏡像地址和備用鏡像倉庫的地址;
如果是非鏡像垃圾清理階段,則向當前的主鏡像倉庫透傳發送請求;
如果是鏡像垃圾清理階段,則上傳鏡像請求向備用鏡像倉庫上傳;下載鏡像時,先通過備用鏡像倉庫下載,如果沒有,則通過主鏡像倉庫下載。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710347806.1/2.html,轉載請聲明來源鉆瓜專利網。





