System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种镜像处理方法、装置、电子设备及存储介质。
技术介绍
1、随着云计算技术的普及,应用开发部署也迎来了新的技术变革,从最早的物理服务器部署、到后来的虚拟机模板部署,一直到现在开发者更加青睐的容器化部署。其中,应用的封装也经历了硬盘克隆镜像、虚拟化镜像和现在的容器镜像,但无论如何变化,它们的核心内容一直是承载应用以及其依赖文件、配置等内容。
2、镜像(mirroring)是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。
3、现有安卓容器对应的容器镜像为一个完整的镜像,镜像内包含了所用到的全部功能,如图1所示,这种镜像在客户端占用存储空间较大,在下载时耗时长,下载效率低、复用率低,难以实现按需下载。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种镜像处理方法、装置、电子设备及存储介质,以降低镜像所占用的存储空间,缩短下载时长,提高下载效率和镜像复用率,以便用户能够灵活地获取所需镜像。
2、一种镜像处理方法,包括:
3、解析待拆分容器镜像对应的数据文件,以确定用于镜像拆分的目标粒度;
4、基于所述目标粒度将所述待拆分容器镜像拆分为多个目标粒度镜像;
5、基于所有所述目标粒度镜像之间的关系,确定每个所述目标粒度镜像对应的镜像索引信息;
6、基于所述镜像索引信息,从所有所述目标粒度镜像中筛选出被多次复用的目标粒度镜像和未
7、将所述被多次复用的目标粒度镜像单独存储至镜像仓库,并将所述未参与复用的目标粒度镜像按照对应功能打包存储至所述镜像仓库;
8、接收边缘端的镜像获取请求,所述镜像获取请求中包括请求镜像的标识和所述边缘端的身份信息;
9、根据所述请求镜像的标识确定所述请求镜像的镜像索引信息;
10、根据所述边缘端的身份信息,获取所述边缘端的镜像下载记录;
11、根据所述请求镜像的镜像索引信息和所述镜像下载记录,确定待下载镜像;
12、发送所述待下载镜像的镜像索引信息至所述边缘端,以使所述边缘端根据所述待下载镜像的镜像索引信息从所述镜像仓库拉取目标镜像。
13、在本申请实施例中,所述目标粒度包括功能粒度,所述目标粒度镜像包括第一粒度镜像,所述基于所述目标粒度将所述待拆分容器镜像拆分为多个目标粒度镜像,包括:
14、按照功能对所述待拆分容器镜像进行拆分,得到所述第一粒度镜像,所述第一粒度镜像包括基础镜像和功能镜像,其中,所述功能镜像依赖于所述基础镜像实现对应的功能。
15、在本申请实施例中,所述目标粒度还包括文件粒度,所述目标粒度镜像还包括第二粒度镜像,所述按照功能对所述待拆分容器镜像进行拆分,得到所述第一粒度镜像之后,还包括:
16、将所述第一粒度镜像进行文件粒度地拆分,得到所述第二粒度镜像。
17、在本申请实施例中,所述镜像索引信息中包括所述第一粒度镜像的标识、所述第一粒度镜像的平级关联信息和所述第一粒度镜像的平级依赖信息,所述基于所有所述目标粒度镜像之间的关系,确定每个所述目标粒度镜像对应的镜像索引信息,包括:
18、确定所述第一粒度镜像的标识;
19、针对任一所述第一粒度镜像,从除自身之外其他所有第一粒度镜像中,确定所述第一粒度镜像对应的关联镜像和依赖镜像,以确定所述第一粒度镜像的所述平级关联信息和所述平级依赖信息。
20、在本申请实施例中,所述镜像索引信息中还包括所述第一粒度镜像的下级索引信息,所述基于所有所述目标粒度镜像之间的关系,确定每个所述目标粒度镜像对应的镜像索引信息,还包括:
21、确定所述第二粒度镜像的标识;
22、针对每个所述第二粒度镜像,从全部所述第一粒度镜像中确定所述第二粒度镜像的上级关联镜像,以确定每个所述第二粒度镜像的上级关联信息;
23、针对由同一第一粒度镜像拆分得到的每个第二粒度镜像,从由同一第一粒度镜像拆分得到的所有第二粒度镜像中,确定第二粒度镜像的平级关联镜像和平级依赖镜像,以确定每个第二粒度镜像的平级关联信息和平级依赖信息;
24、针对任一第一粒度镜像,基于所述第一粒度镜像对应的全部所述第二粒度镜像的所述上级关联信息、所述平级关联信息和所述平级依赖信息,生成所述第一粒度镜像的所述下级索引信息。
25、在本申请实施例中,所述将所述未参与复用的目标粒度镜像按照对应功能打包存储至所述镜像仓库,包括:
26、根据所述上级关联信息,将对应于相同所述第一粒度镜像的第二粒度镜像打包存储。
27、一种镜像处理装置,包括:
28、第一确定模块,用于解析待拆分容器镜像对应的数据文件,以确定用于镜像拆分的目标粒度;
29、拆分模块,用于基于所述目标粒度将所述待拆分容器镜像拆分为多个目标粒度镜像;
30、第二确定模块,用于基于所有所述目标粒度镜像之间的关系,确定每个所述目标粒度镜像对应的镜像索引信息;
31、筛选模块,用于基于所述镜像索引信息,从所有所述目标粒度镜像中筛选出被多次复用的目标粒度镜像和未参与复用的目标粒度镜像;
32、存储模块,用于将所述被多次复用的目标粒度镜像单独存储至镜像仓库,并将所述未参与复用的目标粒度镜像按照对应功能打包存储至所述镜像仓库;
33、接收模块,用于接收边缘端的镜像获取请求,所述镜像获取请求中包括请求镜像的标识和所述边缘端的身份信息;
34、第三确定模块,用于根据所述请求镜像的标识确定所述请求镜像的镜像索引信息;
35、获取模块,用于根据所述边缘端的身份信息,获取所述边缘端的镜像下载记录;
36、第四确定模块,用于根据所述请求镜像的镜像索引信息和所述镜像下载记录,确定待下载镜像;
37、发送模块,用于发送所述待下载镜像的镜像索引信息至所述边缘端,以使所述边缘端根据所述待下载镜像的镜像索引信息从所述镜像仓库拉取目标镜像。
38、在本申请实施例中,所述目标粒度包括功能粒度,所述目标粒度镜像包括第一粒度镜像,所述拆分模块,进一步用于:
39、按照功能对所述待拆分容器镜像进行拆分,得到所述第一粒度镜像,所述第一粒度镜像包括基础镜像和功能镜像,其中,所述功能镜像依赖于所述基础镜像实现对应的功能。
40、在本申请实施例中,所述目标粒度还包括文件粒度,所述目标粒度镜像还包括第二粒度镜像,所述拆分模块,还用于:
41、将所述第一粒度镜像进行文件粒度地拆分,得到所述第二粒度镜像。
42、在本申请实施例中,所述镜像索引信息中包括所述第一粒度镜像的标识、所述第一粒度镜像的平级关联信息和所述第一粒度镜像的平级依赖信息,所述第二确定模块,进一步用于:
43、确定所述第本文档来自技高网...
【技术保护点】
1.一种镜像处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述目标粒度包括功能粒度,所述目标粒度镜像包括第一粒度镜像,所述基于所述目标粒度将所述待拆分容器镜像拆分为多个目标粒度镜像,包括:
3.根据权利要求2所述的方法,其特征在于,所述目标粒度还包括文件粒度,所述目标粒度镜像还包括第二粒度镜像,所述按照功能对所述待拆分容器镜像进行拆分,得到所述第一粒度镜像之后还包括:
4.根据权利要求2所述的方法,其特征在于,所述镜像索引信息中包括所述第一粒度镜像的标识、所述第一粒度镜像的平级关联信息和所述第一粒度镜像的平级依赖信息,所述基于所有所述目标粒度镜像之间的关系,确定每个所述目标粒度镜像对应的镜像索引信息,包括:
5.根据权利要求3所述的方法,其特征在于,所述镜像索引信息中还包括所述第一粒度镜像的下级索引信息,所述基于所有所述目标粒度镜像之间的关系,确定每个所述目标粒度镜像对应的镜像索引信息,还包括:
6.根据权利要求5所述的方法,其特征在于,所述将所述未参与复用的目标粒度镜像按照对应功能打包存储至所
7.一种镜像处理装置,其特征在于,包括:
8.根据权利要求7所述的装置,其特征在于,所述目标粒度包括功能粒度,所述目标粒度镜像包括第一粒度镜像,所述拆分模块,进一步用于:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1-6任一项所述镜像处理方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述镜像处理方法的步骤。
...【技术特征摘要】
1.一种镜像处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述目标粒度包括功能粒度,所述目标粒度镜像包括第一粒度镜像,所述基于所述目标粒度将所述待拆分容器镜像拆分为多个目标粒度镜像,包括:
3.根据权利要求2所述的方法,其特征在于,所述目标粒度还包括文件粒度,所述目标粒度镜像还包括第二粒度镜像,所述按照功能对所述待拆分容器镜像进行拆分,得到所述第一粒度镜像之后还包括:
4.根据权利要求2所述的方法,其特征在于,所述镜像索引信息中包括所述第一粒度镜像的标识、所述第一粒度镜像的平级关联信息和所述第一粒度镜像的平级依赖信息,所述基于所有所述目标粒度镜像之间的关系,确定每个所述目标粒度镜像对应的镜像索引信息,包括:
5.根据权利要求3所述的方法,其特征在于,所述镜像索引信息中还包括所述第一粒度镜像的下级索...
【专利技术属性】
技术研发人员:黄超,杜杨浩,
申请(专利权)人:深圳前海环融联易信息科技服务有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。