System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种离线增量更新方法领域,具体涉及一种基于分层模型的docker镜像离线增量更新方法。
技术介绍
1、docker作为一种轻量级、可移植性强的容器化技术,已经在软件开发和应用部署中得到广泛应用。它通过将应用程序及其依赖项打包成一个可移植的容器,实现了应用程序在不同环境中的快速部署和运行。docker镜像是构建容器的基础,它包含了应用程序及其运行环境的所有内容,如操作系统、库文件、配置文件等。然而,随着应用程序的不断更新和演进,docker镜像也需要进行更新,以保证与最新版本的应用程序保持同步。
2、目前,市场上有比较多的docker镜像传输方法,但是绝大部分是单一的网络环境,并且在处理相互隔离的网络环境的解决方案时,采用的一些传统docker镜像离线更新方法,这种方法在企业内部网络中存在上传下载时间过长、消耗带宽等资源的弊端。所以为了解决这些问题,也为docker镜像的更新提供高效、灵活和经济的解决方案,我们专利技术了基于分层模型的docker镜像离线增量更新方法。
3、目前根据实际情况分析,有以下问题的情况:
4、① 一般需要更新的dokcer镜像的体积都比较大;
5、② 企业运营环境受限于网络带宽的影响,如果采取增加带宽的解决方案会增加企业的运营成本;
6、③ 企业内部会存在相互网络隔离的情况。
7、在传统的docker镜像离线更新方法中,需要下载整个资源包并上传至生产服务器进行版本更新,这种方法上传下载时间长、消耗带宽资源并且在网络不稳定
技术实现思路
1、为解决现有技术的不足,本专利技术的目的在于提出一种新的基于分层模型的docker镜像离线增量更新方法,实现docker镜像版本的更新。以解决上述
技术介绍
中提出的问题。
2、为了实现上述目标,本专利技术采用如下的技术方案:
3、一种基于分层模型的docker镜像离线增量更新方法,包括如下步骤:
4、步骤一:在开发网段和生产网段的目标服务器上调用docker save 命令获取新版镜像包以及旧版镜像包并将新版镜像包与旧版镜像包分别解压;
5、步骤二:分别读取步骤一中解压后的新版镜像包以及旧版镜像包的元数据信息,同时分别解析步骤一中解压后的新版镜像包以及旧版镜像包的元数据信息;
6、步骤三:计算出新版元数据信息与旧版元数据信息的差异并将该差异生成补丁信息文件,所述补丁信息文件包括差异类型,所述差异类型分为完全相等、sha256相等、不相等三种类型;
7、步骤四:根据补丁信息文件生成补丁包,所述补丁包中对于完全相等的层数据全部丢弃,所述补丁包对于sha256相等的层只保留层元数据,所述补丁包对于不相等的层全部保留;
8、步骤五:补丁包通过移动存储设备转储到生产网段的目标服务器;
9、步骤六:解压补丁包,读取补丁信息文件同时解析补丁信息文件;
10、步骤七:调用docker save 获取旧版镜像包并将旧版镜像包解压;
11、步骤八:根据补丁信息文件生产新版镜像包,其中对于完全相等的层从旧版本中直接获取,对于sha256的相等的层从旧版镜像包获取该层并验证层文件sha256值同时从补丁包中获取层元数据,对于不相等层从补丁包中获取该层,其余元数据从均补丁包中获取。
12、优选的,步骤二中的元数据信息包括层id,层sha256值,镜像名。
13、优选的,步骤三中补丁信息文件的层信息还包括层序号、层id、层sha256、旧版元数据信息的层序号、旧版元数据信息的层id。
14、优选的,步骤四中的补丁包可以直接docker load 命令导入。
15、优选的,补丁包可通过离线方式进行传输。
16、优选的,补丁包为只存储了与对比镜像相比有更改的层文件的增量包。
17、本专利技术的有益之处在于:
18、(1)节省带宽和流量:离线增量更新只传输发生变化的层文件,从而减号了整体数据的传输量。在更新过程中所需的带宽和流量都大大减少,节省了网络资源。尤其是在带宽有限、流量限制或网络速度较慢的情况下,可以显著降低更新所需的网络资源消耗。
19、(2)提高镜像上传、下载速度,减少更新时间:由于只传输增量更新的层文件,离线增量更新可以大大加快镜像的下载、上传速度。这意味着用户能够更快速地完成软件更新,减少了等待时间,提高了用户体验。尤其是需要频繁更新的大型镜像可以显著减少下载和上传时间。
20、(3)节省存储空间:离线增量更新只存储增量的层文件,而不是整个镜像。这可以节省存储空间,这对于存储空间受限的移动存储设备等场景下尤为重要。
21、(4)提高更新的成功率和可靠性:离线增量更新技术使用差异文件对软件进行更新,因此较小的数据量和更少的网络传输环节减少了更新过程中错误和中断的可能性。这使得更新过程更加可靠,降低了更新失败的风险。
本文档来自技高网...【技术保护点】
1.一种基于分层模型的docker镜像离线增量更新方法,其特征在于:包括如下步骤:
2.根据权利要求1所述的一种基于分层模型的docker镜像离线增量更新方法,其特征在于,所述步骤二中的元数据信息包括层ID,层sha256值,镜像名。
3.根据权利要求1所述的一种基于分层模型的docker镜像离线增量更新方法,其特征在于,所述步骤三中补丁信息文件的层信息还包括层序号、层ID、层sha256、旧版元数据信息的层序号、旧版元数据信息的层ID。
4.根据权利要求1所述的一种基于分层模型的docker镜像离线增量更新方法,其特征在于,所述步骤四中的补丁包可以直接docker load 命令导入。
5.根据权利要求1所述的一种基于分层模型的docker镜像离线增量更新方法,其特征在于,所述补丁包可通过离线方式进行传输。
6.根据权利要求1所述的一种基于分层模型的docker镜像离线增量更新方法,其特征在于,所述补丁包为只存储了与对比镜像相比有更改的层文件的增量包。
【技术特征摘要】
1.一种基于分层模型的docker镜像离线增量更新方法,其特征在于:包括如下步骤:
2.根据权利要求1所述的一种基于分层模型的docker镜像离线增量更新方法,其特征在于,所述步骤二中的元数据信息包括层id,层sha256值,镜像名。
3.根据权利要求1所述的一种基于分层模型的docker镜像离线增量更新方法,其特征在于,所述步骤三中补丁信息文件的层信息还包括层序号、层id、层sha256、旧版元数据信息的层序号、旧版元数据信息的层id...
【专利技术属性】
技术研发人员:陈思敏,许励,夏文,苑玉刚,李岷,陈立怡,
申请(专利权)人:中国邮政集团有限公司江苏省分公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。