Docker镜像缓存信息的处理方法、装置以及读取方法和装置制造方法及图纸

技术编号:15910837 阅读:95 留言:0更新日期:2017-08-01 22:31
本发明专利技术提供了一种Docker镜像缓存信息的处理方法、装置以及读取方法和装置,该Docker镜像缓存信息处理方法包括:对镜像仓库中的镜像进行分组,生成以镜像名称为标识的包含有各个镜像的镜像标签及其缓存信息的镜像缓存信息,以及以镜像名称为标识的包含有镜像组缓存信息的镜像组缓存信息。基于本发明专利技术公开的方法,通过预先对镜像的缓存信息进行处理,为后续从镜像缓存信息和镜像组缓存信息中直接读取与镜像缓存请求对应的镜像缓存内容提供了基础,这就避免了冗余地查找、遍历以及计算过程,达到快速处理请求的目的。

Method and device for processing Docker mirror buffer information and reading method and device

The invention provides a processing method, Docker image cache information device and reading method and device, including the Docker image cache information processing method for grouping: mirror mirror in the warehouse, generating image cache information to label the name for the mirror image contains various image and cache information, and in the mirror the name logo contains a mirror group cache information mirror group cache information. The invention discloses a method based on the information of the image through the pre caching process, provide the basis for the subsequent image cache content from image cache information and image information in the cache group directly read and request the corresponding image cache, this avoids redundant search, traversal and calculation process, to achieve rapid processing of the request.

【技术实现步骤摘要】
Docker镜像缓存信息的处理方法、装置以及读取方法和装置
本专利技术涉及计算机
,更具体地说,涉及一种Docker镜像缓存信息的处理方法、装置以及读取方法和装置。
技术介绍
目前,Docker是当前最主流的开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,从而实现一次创建、任意运行的目的,其中,Linux是一种基于POSIX(PortableOperatingSystemInterface,可移植操作系统接口)的操作系统)。Docker的使用核心就是镜像,而镜像仓库作为镜像存储的后端在Docker的发展过程中起着举足轻重的作用。对于使用swift或者amazons3等对象存储系统作为后端存储文件系统的镜像仓库,每当接收到一个httpgetapi请求时,受限于对象存储的特点,就需要遍历整个存储文件系统查找相应的镜像缓存内容,这就会大大降低请求处理速度。
技术实现思路
有鉴于此,本专利技术提供一种Docker镜像缓存信息的处理方法、装置以及读取方法和装置,以解决对于使用对象存储系统作为后端存储文件系统的镜像仓库,每当接收到一个httpgetapi请求时,受限于对象存储的特点,就需要遍历整个存储文件系统查找相应的镜像缓存内容,这就会大大降低请求处理速度的问题。技术方案如下:一种Docker镜像缓存信息处理方法,包括:遍历镜像仓库后端存储文件系统中的全部镜像,并按照镜像名称对各个所述镜像进行分组,得到至少一个镜像组,所述镜像组中各个所述镜像的镜像名称相同、镜像标签不同;对于每一个所述镜像组,读取该镜像组内各个所述镜像的缓存信息,并生成以镜像名称为标识的镜像缓存信息,所述镜像缓存信息包含有该镜像组内各个所述镜像的镜像标签及其缓存信息;对于每一个所述镜像组,根据相应所述镜像缓存信息内各个所述镜像的缓存信息,生成以镜像名称为标识的镜像组缓存信息,所述镜像组缓存信息包含有该镜像组的缓存信息。优选的,还包括:以第一预设缓存文件的形式将各个所述镜像缓存信息存储于所述存储文件系统中,并且,以第二预设缓存文件的形式将各个所述镜像组缓存信息存储于所述存储文件系统中。优选的,还包括:当检测到所述镜像仓库对所述存储文件系统完成镜像更新时,读取各个更新镜像的镜像名称、镜像标识及其缓存信息;对于每一个所述更新镜像,根据所述更新镜像的镜像名称、镜像标签及其缓存信息对镜像缓存进行更新。优选的,当所述更新镜像为添加镜像时,所述根据所述更新镜像的镜像名称、镜像标签及其缓存信息对镜像缓存进行更新,包括:判断是否存在标识与所述添加镜像的镜像名称相同的第一镜像缓存信息以及第一镜像组缓存信息;若是,将所述添加镜像的镜像标签及其缓存信息添加至所述第一镜像缓存信息中,以更新所述第一镜像缓存信息;根据所述添加镜像的缓存信息对所述第一镜像组缓存信息进行更新;若否,将所述添加镜像分为一个新镜像组;生成以所述添加镜像的镜像名称为标识的新镜像缓存信息,所述新镜像缓存信息包含该添加镜像的镜像标签及其缓存信息;生成以所述添加镜像的镜像名称为标识的新镜像组缓存信息,所述新镜像组缓存信息包含该添加镜像的缓存信息。优选的,当所述更新镜像为删除镜像时,所述根据所述更新镜像的镜像名称、镜像标签及其缓存信息对镜像缓存进行更新,包括:判断是否存在标识与所述删除镜像的镜像名称相同的第二镜像缓存信息以及第二镜像组缓存信息;若是,判断所述第二镜像缓存信息中是否存在所述删除镜像的镜像标签;当所述第二镜像缓存信息中存在所述删除镜像的镜像标签时,从所述第二镜像缓存信息中删除所述删除镜像的镜像标签以及对应的缓存信息,以更新所述第二镜像缓存信息;根据所述删除镜像的缓存信息对所述第二镜像组缓存信息进行更新。优选的,还包括:当不存在标识与所述删除镜像的镜像名称相同的第二镜像缓存信息以及第二镜像组缓存信息,或者当所述第二镜像缓存信息中不存在所述删除镜像的镜像标签时,生成用于表征删除镜像缓存不存在的提示信息。优选的,所述根据所述删除镜像的缓存信息对所述第二镜像组缓存信息进行更新,之后,还包括:判断更新后的所述第二镜像缓存信息中是否存在除去所述删除镜像的镜像标签之外的其他镜像标签;若否,删除所述第二镜像缓存信息以及所述第二镜像组缓存信息。一种Docker镜像缓存信息处理装置,包括:遍历分组模块、读取生成模块和生成模块;所述遍历分组模块,用于遍历镜像仓库后端存储文件系统中的全部镜像,并按照镜像名称对各个所述镜像进行分组,得到至少一个镜像组,所述镜像组中各个所述镜像的镜像名称相同、镜像标签不同;所述读取生成模块,用于对于每一个所述镜像组,读取该镜像组内各个所述镜像的缓存信息,并生成以镜像名称为标识的镜像缓存信息,所述镜像缓存信息包含有该镜像组内各个所述镜像的镜像标签及其缓存信息;所述生成模块,用于对于每一个所述镜像组,根据相应所述镜像缓存信息内各个所述镜像的缓存信息,生成以镜像名称为标识的镜像组缓存信息,所述镜像组缓存信息包含有该镜像组的缓存信息。一种Docker镜像缓存信息读取方法,包括:接收镜像缓存请求;从预先生成的全部的镜像缓存信息以及镜像组缓存信息中,读取与所述镜像缓存请求对应的镜像缓存内容,所述镜像缓存信息以及所述镜像组缓存信息是按照上述技术方案任意一项所述的Docker镜像缓存信息处理方法生成的。一种Docker镜像缓存信息读取装置,包括:请求接收模块和镜像缓存信息读取模块;所述请求接收模块,用于接收镜像缓存请求;所述镜像缓存信息读取模块,用于从预先生成的全部的镜像缓存信息以及镜像组缓存信息中,读取与所述镜像缓存请求对应的镜像缓存内容,所述镜像缓存信息以及所述镜像组缓存信息是按照上述技术方案任意一项所述的Docker镜像缓存信息处理方法生成的。相较于现有技术,本专利技术实现的有益效果为:以上本专利技术提供的一种Docker镜像缓存信息的处理方法、装置以及读取方法和装置,该Docker镜像缓存信息处理方法包括:对镜像仓库中的镜像进行分组,生成以镜像名称为标识的包含有各个镜像的镜像标签及其缓存信息的镜像缓存信息,以及以镜像名称为标识的包含有镜像组缓存信息的镜像组缓存信息。基于本专利技术公开的方法,通过预先对镜像的缓存信息进行处理,为后续从镜像缓存信息和镜像组缓存信息中直接读取与镜像缓存请求对应的镜像缓存内容提供了基础,这就避免了冗余地查找、遍历以及计算过程,达到快速处理请求的目的。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例一公开的一种Docker镜像缓存信息处理方法的方法流程图;图2为本专利技术实施例二公开的一种Docker镜像缓存信息处理方法的方法流程图;图3为本专利技术实施例二公开的一种Docker镜像缓存信息处理方法的部分方法流程图;图4为本专利技术实施例二公开的一种Docker镜像缓存信息处理方法的另一部分方法流程图;图5为本专利技术实施例二公开的一种Docker镜像缓存信息处理方法的再一部分方法流程图;图6为本发本文档来自技高网...
Docker镜像缓存信息的处理方法、装置以及读取方法和装置

【技术保护点】
一种Docker镜像缓存信息处理方法,其特征在于,包括:遍历镜像仓库后端存储文件系统中的全部镜像,并按照镜像名称对各个所述镜像进行分组,得到至少一个镜像组,所述镜像组中各个所述镜像的镜像名称相同、镜像标签不同;对于每一个所述镜像组,读取该镜像组内各个所述镜像的缓存信息,并生成以镜像名称为标识的镜像缓存信息,所述镜像缓存信息包含有该镜像组内各个所述镜像的镜像标签及其缓存信息;对于每一个所述镜像组,根据相应所述镜像缓存信息内各个所述镜像的缓存信息,生成以镜像名称为标识的镜像组缓存信息,所述镜像组缓存信息包含有该镜像组的缓存信息。

【技术特征摘要】
1.一种Docker镜像缓存信息处理方法,其特征在于,包括:遍历镜像仓库后端存储文件系统中的全部镜像,并按照镜像名称对各个所述镜像进行分组,得到至少一个镜像组,所述镜像组中各个所述镜像的镜像名称相同、镜像标签不同;对于每一个所述镜像组,读取该镜像组内各个所述镜像的缓存信息,并生成以镜像名称为标识的镜像缓存信息,所述镜像缓存信息包含有该镜像组内各个所述镜像的镜像标签及其缓存信息;对于每一个所述镜像组,根据相应所述镜像缓存信息内各个所述镜像的缓存信息,生成以镜像名称为标识的镜像组缓存信息,所述镜像组缓存信息包含有该镜像组的缓存信息。2.根据权利要求1所述的方法,其特征在于,还包括:以第一预设缓存文件的形式将各个所述镜像缓存信息存储于所述存储文件系统中,并且,以第二预设缓存文件的形式将各个所述镜像组缓存信息存储于所述存储文件系统中。3.根据权利要求1所述的方法,其特征在于,还包括:当检测到所述镜像仓库对所述存储文件系统完成镜像更新时,读取各个更新镜像的镜像名称、镜像标识及其缓存信息;对于每一个所述更新镜像,根据所述更新镜像的镜像名称、镜像标签及其缓存信息对镜像缓存进行更新。4.根据权利要求3所述的方法,其特征在于,当所述更新镜像为添加镜像时,所述根据所述更新镜像的镜像名称、镜像标签及其缓存信息对镜像缓存进行更新,包括:判断是否存在标识与所述添加镜像的镜像名称相同的第一镜像缓存信息以及第一镜像组缓存信息;若是,将所述添加镜像的镜像标签及其缓存信息添加至所述第一镜像缓存信息中,以更新所述第一镜像缓存信息;根据所述添加镜像的缓存信息对所述第一镜像组缓存信息进行更新;若否,将所述添加镜像分为一个新镜像组;生成以所述添加镜像的镜像名称为标识的新镜像缓存信息,所述新镜像缓存信息包含该添加镜像的镜像标签及其缓存信息;生成以所述添加镜像的镜像名称为标识的新镜像组缓存信息,所述新镜像组缓存信息包含该添加镜像的缓存信息。5.根据权利要求4所述的方法,其特征在于,当所述更新镜像为删除镜像时,所述根据所述更新镜像的镜像名称、镜像标签及其缓存信息对镜像缓存进行更新,包括:判断是否存在标识与所述删除镜像的镜像名称相同的第二镜像缓存信息以及第二镜像组缓存信息;若是,判断所述第二镜像缓存信息中是否存在所述删除镜像的镜像标签;当所述第二镜像缓存信息中存在所述删除镜像的...

【专利技术属性】
技术研发人员:任凯
申请(专利权)人:北京搜狐新媒体信息技术有限公司
类型:发明
国别省市:北京,11

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

1