容器存储系统的异地重删方法及装置、介质、设备制造方法及图纸

技术编号:38615356 阅读:13 留言:0更新日期:2023-08-26 23:42
本发明专利技术提供一种容器存储系统的异地重删方法及装置、介质、设备。方法包括:记录每一个用户的历史访问信息,根据所述历史访问信息建立该用户和第一文件列表之间的映射表;在接收到用户发送来的镜像层下载请求时,根据该用户对应的映射表,确定该用户对应的第一镜像层文件和第二镜像层文件;创建异地重删后的镜像层压缩包,并将所述异地重删后的镜像层压缩包下发至该用户对应的设备端。本发明专利技术实施例这种异地重删方法,在减少设备端的容器存储系统的冗余数据,节省空间的同时,又可以降低设备端上的计算和内存开销,并且保证设备端上具有较好的容器I/O性能。的容器I/O性能。的容器I/O性能。

【技术实现步骤摘要】
容器存储系统的异地重删方法及装置、介质、设备


[0001]本专利技术涉及容器
,尤其是涉及一种容器存储系统的异地重删方法及装置、介质、设备。

技术介绍

[0002]随着容器技术的广泛应用,容器镜像数量呈爆炸式增长,大量的存储和网络资源被投入到镜像存储系统中。由于镜像通常包含了一个应用程序在容器平台运行所需的完整的运行环境,因此不同镜像通常包含相似的、常用的依赖关系(例如,函数库)等文件,导致了镜像间存在着大量相同的文件,从而产生了严重的存储和网络资源浪费。
[0003]现有的Docker容器存储系统利用镜像是由一个或多个镜像层组成的这一特点,采用了层共享机制,即利用基于层内容的寻址机制来去除镜像之间存在的重复的层,但是由于大多数的镜像都是由不同的用户创建的,因而镜像之间完全相同的层的数量较少,无法去除镜像层间的大量的冗余文件,
[0004]重删技术通常被用来去除数据集中的冗余数据,但是直接将现有的重删技术应用到Docker容器存储系统面临以下挑战:重删是一种计算密集型和内存密集型的数据处理过程。因此它会给用户端带来CPU和内存开销,而容器是运行在用户端上的,这会影响容器运行速度。因此,如何有效的去除容器存储系统中镜像间的数据冗余并且解决去冗余技术带来的开销问题,是目前容器存储系统面临的问题。

技术实现思路

[0005]针对以上至少一个技术问题,本专利技术实施例提供一种容器存储系统的异地重删方法及装置、介质、设备。
[0006]根据第一方面,本专利技术实施例提供的容器存储系统的异地重删方法,应用于远程镜像仓储服务器,所述方法包括:
[0007]记录每一个用户的历史访问信息,根据所述历史访问信息建立该用户和第一文件列表之间的映射表,所述第一文件列表为该用户的设备端中已存储的各个镜像层以及每一个镜像层中的镜像层文件所形成的列表;
[0008]在接收到用户发送来的镜像层下载请求时,根据该用户对应的映射表,确定该用户对应的第一镜像层文件和第二镜像层文件;其中,所述第一镜像层文件为该用户的设备端上未存储的镜像层文件,所述第二镜像层文件为该用户的设备端上已存储的镜像层文件;
[0009]创建异地重删后的镜像层压缩包,并将所述异地重删后的镜像层压缩包下发至该用户对应的设备端;其中,所述异地重删后的镜像层压缩包中包括所述第二镜像层文件对应的引用文件和所述第一镜像层文件;其中,一个第二镜像层文件的引用文件指向该用户的设备端中已经存储的该第二镜像层文件。
[0010]根据第二方面,本专利技术实施例提供的容器存储系统的异地重删方法,应用于用户
的设备端,所述方法包括:
[0011]向远程镜像仓储服务器发送镜像层下载请求;
[0012]接收所述远程镜像仓储服务器下发的异地重删后的镜像层压缩包;
[0013]对所述异地重删后的镜像层压缩包进行解析,得到第二镜像层文件对应的引用文件和第一镜像层文件;其中,所述第一镜像层文件为所述设备端上未存储的镜像层文件,所述第二镜像层文件为所述设备端上已存储的镜像层文件;一个第二镜像层文件的引用文件指向所述设备端中已经存储的该第二镜像层文件;
[0014]对所述第一镜像层文件和所述引用文件进行存储。
[0015]根据第三方面,本专利技术实施例提供的容器存储系统的异地重删装置,应用于远程镜像仓储服务器,所述装置包括:
[0016]映射确定模块,用于记录每一个用户的历史访问信息,根据所述历史访问信息建立该用户和第一文件列表之间的映射表,所述第一文件列表为该用户的设备端中已存储的各个镜像层以及每一个镜像层中的镜像层文件所形成的列表;
[0017]请求接收模块,用于在接收到用户发送来的镜像层下载请求时,根据该用户对应的映射表,确定该用户对应的第一镜像层文件和第二镜像层文件;其中,所述第一镜像层文件为该用户的设备端上未存储的镜像层文件,所述第二镜像层文件为该用户的设备端上已存储的镜像层文件;
[0018]第一创建模块,用于创建异地重删后的镜像层压缩包,并将所述异地重删后的镜像层压缩包下发至该用户对应的设备端;其中,所述异地重删后的镜像层压缩包中包括所述第二镜像层文件对应的引用文件和所述第一镜像层文件;其中,一个第二镜像层文件的引用文件指向该用户的设备端中已经存储的该第二镜像层文件。
[0019]根据第四方面,本专利技术实施例提供的容器存储系统的异地重删装置,应用于用户的设备端,所述装置包括:
[0020]请求发送模块,用于向远程镜像仓储服务器发送镜像层下载请求;
[0021]目录接收模块,用于接收所述远程镜像仓储服务器下发的异地重删后的镜像层压缩包;
[0022]目录解析模块,用于对所述异地重删后的镜像层压缩包进行解析,得到第二镜像层文件对应的引用文件和第一镜像层文件;其中,所述第一镜像层文件为所述设备端上未存储的镜像层文件,所述第二镜像层文件为所述设备端上已存储的镜像层文件;一个第二镜像层文件的引用文件指向所述设备端中已经存储的该第二镜像层文件;
[0023]文件存储模块,用于对所述第一镜像层文件和所述引用文件进行存储。
[0024]根据第五方面,本专利技术实施例提供计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行实现第一或二方面提供的方法。
[0025]根据第六方面,本专利技术实施例提供的计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一或二方面提供的方法。
[0026]本专利技术实施例提供的容器存储系统的异地重删方法及装置、介质、设备,首先记录每一个用户的历史访问信息,根据所述历史访问信息建立该用户和设备端中已存储的镜像层文件所形成的列表之间的映射表;在接收到用户发送来的镜像层下载请求时,根据该用户对应的映射表,确定该用户对应的第一镜像层文件和第二镜像层文件;创建异地重删后
的镜像层压缩包,并将所述异地重删后的镜像层压缩包下发至该用户对应的设备端;其中,所述异地重删后的镜像层压缩包中包括所述第二镜像层文件对应的引用文件和所述第一镜像层文件。可见,远程镜像仓储服务器利用异地重删技术,在远程镜像仓储服务器建立镜像重删机制,对所存储的镜像层文件进行集中的文件级重删处理;而且,跟踪用户的历史访问信息,并且根据历史访问信息建立每一个用户对应的映射表,实现跟设备端同步其容器存储系统所存储的镜像层信息。远程镜像仓储服务器收到设备端发送的镜像层下载请求后,远程镜像仓储服务器会确定哪些镜像层文件没有被设备端的容器存储系统存储,继而将这些文件打包压缩发送给用户,以减少设备端的容器存储系统的冗余文件。这种异地重删方法,在可以减少设备端的容器存储系统的冗余数据,节省空间的同时,又可以降低设备端上的计算和内存开销,并且保证设备端上具有较好的容器I/O性能。
附图说明
[0027]图1为本专利技术一实施例中异地重删方法的流程示意图。
具体实施方式
[0028]第一方面,本专利技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种容器存储系统的异地重删方法,其特征在于,应用于远程镜像仓储服务器,所述方法包括:记录每一个用户的历史访问信息,根据所述历史访问信息建立该用户和第一文件列表之间的映射表,所述第一文件列表为该用户的设备端中已存储的各个镜像层以及每一个镜像层中的镜像层文件所形成的列表;在接收到用户发送来的镜像层下载请求时,根据该用户对应的映射表,确定该用户对应的第一镜像层文件和第二镜像层文件;其中,所述第一镜像层文件为该用户的设备端上未存储的镜像层文件,所述第二镜像层文件为该用户的设备端上已存储的镜像层文件;创建异地重删后的镜像层压缩包,并将所述异地重删后的镜像层压缩包下发至该用户对应的设备端;其中,所述异地重删后的镜像层压缩包中包括所述第二镜像层文件对应的引用文件和所述第一镜像层文件;其中,一个第二镜像层文件的引用文件指向该用户的设备端中已经存储的该第二镜像层文件。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在接收到用户发送来的镜像层后,对所述镜像层进行解析,得到多个镜像层文件;针对用户发送来的镜像层中的每一个镜像层文件,判断所述远程镜像仓储服务器中是否存储有相同的镜像层文件;若存在,则将用户发送来的所述镜像层中的该镜像层文件删除;否则,保存用户发送来的所述镜像层中的该镜像层文件。3.根据权利要求2所述的方法,其特征在于,所述判断所述远程镜像仓储服务器中是否存储有相同的镜像层文件,包括:计算用户发送来的镜像层中该镜像层文件的指纹;判断所述远程镜像仓储服务器的指纹列表中是否存在相同的指纹;其中,所述指纹列表中存储有所述远程镜像仓储服务器中已存储的各个镜像层文件的指纹;若存在,则确定所述远程镜像仓储服务器中存储有相同的镜像层文件;否则,确定所述远程镜像仓储服务器中未存储有相同的镜像层文件;对应的,所述方法还包括:若确定所述远程镜像仓储服务器中未存储有相同的镜像层文件,则将用户发送来的镜像层中的该镜像层文件的指纹存储于所述指纹列表中。4.一种容器存储系统的异地重删方法,其特征在于,应用于用户的设备端,所述方法包括:向远程镜像仓储服务器发送镜像层下载请求;接收所述远程镜像仓储服务器下发的异地重删后的镜像层压缩包;对所述异地重删后的镜像层压缩包进行解析,得到第二镜像层文件对应的引用文件和第一镜像层文件;其中,所述第一镜像层文件为所述设备端上未存储的镜像层文件,所述第二镜像层文件为所述设备端上已存储的镜像层文件;一个第二镜像层文件的引用文件指向所述设备端中已经存储的该第二镜像层文件;对所述第一镜像层文件和所述引用文件进行存储。5.根据权利要求4所述的方法,其特征...

【专利技术属性】
技术研发人员:赵楠楠杨帆黄志杰张晓赵晓南
申请(专利权)人:西北工业大学
类型:发明
国别省市:

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

1