CN112631715A - 一种基于缓存匹配的镜像迁移优化方法、系统及介质 - Google Patents
一种基于缓存匹配的镜像迁移优化方法、系统及介质 Download PDFInfo
- Publication number
- CN112631715A CN112631715A CN202011408762.7A CN202011408762A CN112631715A CN 112631715 A CN112631715 A CN 112631715A CN 202011408762 A CN202011408762 A CN 202011408762A CN 112631715 A CN112631715 A CN 112631715A
- Authority
- CN
- China
- Prior art keywords
- mirror image
- mirror
- warehouse
- layer
- target node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000005012 migration Effects 0.000 title claims abstract description 60
- 238000013508 migration Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000005457 optimization Methods 0.000 title claims abstract description 25
- 230000008569 process Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于缓存匹配的镜像迁移优化方法,包括:收集主机内若干容器的镜像以及镜像的数据结构缓存到镜像仓库,镜像仓库对镜像进行ID编号,镜像仓库将镜像的数据结构和ID编号信息发送到注册库;镜像以镜像层的形式进入镜像仓库,镜像仓库查阅自身是否有此镜像层,若没有则缓存,若有则查阅下一个镜像层;镜像仓库对目标节点进行镜像迁移时,判断目标节点是否存在此镜像层,若存在则迁移下一个镜像层,若目标节点不存在此镜像层,则镜像仓库迁移此镜像层到目标节点;通过上述方式,本发明能够通过建立注册库与镜像仓库的方式,通过镜像库中镜像ID编号信息与注册库进行匹配,判断是否进行镜像的迁移,减少重复的镜像迁移。
Description
技术领域
本发明涉及数据迁移领域,特别是涉及一种基于缓存匹配的镜像迁移优化方法、系统及介质。
背景技术
服务迁移在主机维护,负载均衡,服务升级运维等方面有着重要的地位,迁移作为云服务商最普遍的操作之一,随着容器使用范围越来越广,容器已经逐步取代虚拟机成为提供资源和服务的载体,对结合现有数据中心生态的容器迁移方案的需求也越来越强烈。如何减少迁移过程中的重复数据迁移。在迁移过程中,需要迁移大量的数据例如容器镜像、文件系统、内存数据等。在现有的迁移研究中,由于没有结合Docker容器自身的特点,有大量的数据进行了多次迁移,这不仅造成了额外的网络资源开销,还增加了迁移时间。因此如何减小这些数据的重复迁移也是研究的重点之一
发明内容
本发明主要解决的技术问题是提供一种基于缓存匹配的镜像迁移优化方法、系统及介质,能够解决在云服务数据迁移过程中,数据重复迁移,大量数据的重复迁移导致数据迁移速度慢。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于缓存匹配的镜像迁移优化方法,包括:
收集主机内容器的镜像以及镜像的数据结构缓存到镜像仓库,镜像仓库对镜像进行ID编号,镜像仓库将镜像的数据结构和ID编号信息发送到注册库;
镜像以镜像层的形式进入镜像仓库,镜像仓库查阅自身是否有此镜像层,若没有则缓存,若有则查阅下一个镜像层;
镜像仓库对目标节点进行镜像迁移时,判断目标节点是否存有与待迁移的镜像层相同的镜像层,若存在则迁移下一个镜像层,若目标节点不存在此镜像层,则镜像仓库迁移此镜像层到目标节点。
进一步,注册库将镜像的数据结构和ID编号信息创建成索引,索引包括镜像的镜像层层叠关系以及镜像使用的镜像层种类和数量。
进一步,目标节点根据注册库中镜像的数据结构和ID编号信息逐层获取镜像。
进一步,目标节点获取镜像,通过注册库中的索引对待获取镜像进行检索,注册库将待获取的镜像的数据结构和ID编号信息发送至目标节点,目标节点根据待获取的镜像的数据结构和ID编号信息对镜像进行组装。
一种基于缓存匹配的镜像迁移优化系统,包括:镜像仓库、注册库、主机和目标节点;
所述镜像仓库获取所述主机内容器的镜像并进行缓存,所述注册库对镜像仓库内的镜像的数据结构以及ID编号信息存储,镜像仓库对目标节点内的镜像进行判断,若所述目标节点内含有镜像仓库内的镜像,则镜像仓库不迁移此镜像,若目标节点内不含有镜像仓库内的镜像,则镜像仓库迁移此镜像。
进一步,所述镜像仓库存储有镜像层形式的镜像,注册库对镜像仓库内的镜像层进行判断,若镜像仓库内含有此镜像层,则镜像仓库不缓存此镜像层,若镜像仓库件内不含有此镜像层,则镜像仓库将此镜像层缓存,并且注册库将此镜像层对应镜像的数据结构以及ID编号信息进行存储。
一种基于缓存匹配的镜像迁移优化介质,用于存储一种基于缓存匹配的镜像迁移优化方法所用的计算机软件指令,其包括为一种基于缓存匹配的镜像迁移优化方法所设计的方法。
本发明的有益效果是:本发明通过建立注册库与镜像仓库的方式,将镜像以镜像层的方式进行注册,并记录镜像的ID,通过镜像库中镜像ID与注册库进行匹配,判断是否进行镜像的迁移,通过这种方式减少重复的镜像迁移。
附图说明
图1是本发明一种基于缓存匹配的镜像迁移优化方法的流程图;
图2是本发明一种基于缓存匹配的镜像迁移优化系统的结构拓扑图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
请参阅图1,本发明实施例包括:一种基于缓存匹配的镜像迁移优化方法,在云服务中,服务迁移作为云服务重要的一环成为云服务商最普遍的操作,服务迁移在主机维护、负载均衡和服务升级运维等方面具有重要的作用;服务迁移常用手段为,利用k8s的虚拟化,将云服务器中的数据进行容器化,并进行服务迁移,k8s中,pod为执行操作的最小的单位,每个pod中存在一个或者若干容器,通过podMS进行容器迁移时,先对主机内的pod进行静态配置信息的收集,将pod配置静态信息整理成.yaml文件,用户利用.yaml文件,在目标主机内进行pod的创建;
Docker为k8s运行基础,在用户服务迁移时,需要进行Docker中镜像迁移,Docker镜像是容器运行的基础,Docker镜像实际为文件系统,并提供了容器运行过程中必要的执行文件。Docker镜像为分层结构,完整的Docker镜像由多个Docker镜像层组成,Docker镜像层通过文件系统UnionFS为容器提供完整的文件系统视角,Docker镜像通过Docker镜像层映射到pod对应的文件。因为pod内含有很多容器,并且对于容器对应的镜像层来说,它们与其他的镜像底层数据时相同的,只有最上层读写层不同,所以容器的Docker镜像层可以被多个Docker镜像共享。因为在k8s所管理的集群中,每个集群节点都缓存着相当多的Docker镜像,对使用同一个镜像的两个容器来说,只需要迁移Docker镜像中的一个Docker镜像层即可;
为了避免重复迁移映射到相同容器的Docker镜像,通过对象存储OSS创建Registry注册库对镜像的数据进行注册,Registry以Docker镜像层的形式保存Docker镜像并记录Docker镜像的ID,为了避免镜像重复迁移,使用k8s规定按容器逐个迁移对应的Docker镜像,在Registry缓存的Docker镜像层,Registry为Docker镜像创建轻量级容器镜像,轻量级容器镜像包含此Docker镜像有哪些Docker镜像层、这些Docker镜像层之间的层叠关系、Docker镜像层的索引,并用于Registry拉取Docker镜像到目标主机时获取整个Docker镜像索引,Registry根据Docker镜像ID判断是否迁移此Docker镜像,如果Registry中有此ID,则不进行迁移,如果没有则进行迁移;
创建镜像仓库,将容器的Docker镜像缓存进来,然后从底层到顶层座层迁移Docker镜像,镜像仓库根据Registry指令迁移Docker镜像,镜像仓库中Docker镜像具有ID信息,并与Registry对应,镜像仓库迁移Docker镜像至目标主机时,Registry查阅有没有此Docker镜像ID,若有此Docker镜像ID,则不进行此Docker镜像迁移,命令镜像仓库执行下一层Docker镜像迁移,若Registry没有此Docker镜像ID,则迁移此Docker镜像,镜像仓库将此Docker镜像的数据结构上传到Registry,Registry对此Docker镜像进行Docker镜像ID注册以及Docker镜像的Docker镜像层结构的保存。
一种基于缓存匹配的镜像迁移优化的系统,镜像仓库获取主机内容器的镜像并进行缓存,通过OSS建立注册库Registry,Registry的实现参考了Docker Hub的实现方式,Registry以轻量级容器化的形式存储镜像信息,存储了镜像中镜像层的重叠关系以及使用了哪些镜像层,Registry对镜像仓库内的镜像的数据结构以及ID存储,镜像仓库对目标节点内的镜像进行判断,若目标节点内含有镜像仓库内的镜像,则镜像仓库不迁移此镜像,若目标节点内不含有镜像仓库内的镜像,则镜像仓库迁移此镜像,因为在k8s中pod内包含很多容器,但是同一个pod内的容器具有同一个功能,所以一个镜像可映射很多个容器。
镜像以镜像层形式进入镜像仓库,镜像仓库判断是否有这些镜像层,有的话进入,没有的话拒绝进入,通过这种方式减少重复的镜像层进入到镜像仓库,较少镜像迁移时重复的镜像。
基于与前述实施例中方法同样的发明构思,本说明书实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述公开的一种基于缓存匹配的镜像迁移优化的方法的步骤。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种基于缓存匹配的镜像迁移优化方法,其特征在于,包括:
收集主机内容器的镜像以及镜像的数据结构缓存到镜像仓库,镜像仓库对镜像进行ID编号,镜像仓库将镜像的数据结构和ID编号信息发送到注册库;
镜像以镜像层的形式进入镜像仓库,镜像仓库查阅自身是否有此镜像层,若没有则缓存,若有则查阅下一个镜像层;
镜像仓库对目标节点进行镜像迁移时,判断目标节点是否存有与待迁移的镜像层相同的镜像层,若存在则迁移下一个镜像层,若目标节点不存在此镜像层,则镜像仓库迁移此镜像层到目标节点。
2.根据权利要求1所述的一种基于缓存匹配的镜像迁移优化方法,其特征在于:注册库将镜像的数据结构和ID编号信息创建成索引,索引包括镜像的镜像层层叠关系以及镜像使用的镜像层种类和数量。
3.根据权利要求2所述的一种基于缓存匹配的镜像迁移优化方法,其特征在于:目标节点根据注册库中镜像的数据结构和ID编号信息逐层获取镜像。
4.根据权利要求3所述的一种基于缓存匹配的镜像迁移优化方法,其特征在于:目标节点获取镜像,通过注册库中的索引对待获取镜像进行检索,注册库将待获取的镜像的数据结构和ID编号信息发送至目标节点,目标节点根据待获取的镜像的数据结构和ID编号信息对镜像进行组装。
5.一种基于缓存匹配的镜像迁移优化系统,其特征在于,包括:镜像仓库、注册库、主机和目标节点;
所述镜像仓库获取所述主机内容器的镜像并进行缓存,所述注册库对镜像仓库内的镜像的数据结构以及ID编号信息存储,镜像仓库对目标节点内的镜像进行判断,若所述目标节点内含有镜像仓库内的镜像,则镜像仓库不迁移此镜像,若目标节点内不含有镜像仓库内的镜像,则镜像仓库迁移此镜像。
6.根据权利要求5所述的一种基于缓存匹配的镜像迁移优化系统,其特征在于:所述镜像仓库存储有镜像层形式的镜像,注册库对镜像仓库内的镜像层进行判断,若镜像仓库内含有此镜像层,则镜像仓库不缓存此镜像层,若镜像仓库件内不含有此镜像层,则镜像仓库将此镜像层缓存,并且注册库将此镜像层对应镜像的数据结构以及ID编号信息进行存储。
7.一种基于缓存匹配的镜像迁移优化介质,其特征在于,用于存储上述权利要求1-4中任意一项为所述一种基于缓存匹配的镜像迁移优化方法所用的计算机软件指令,其包括为一种基于缓存匹配的镜像迁移优化方法所设计的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011408762.7A CN112631715A (zh) | 2020-12-04 | 2020-12-04 | 一种基于缓存匹配的镜像迁移优化方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011408762.7A CN112631715A (zh) | 2020-12-04 | 2020-12-04 | 一种基于缓存匹配的镜像迁移优化方法、系统及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112631715A true CN112631715A (zh) | 2021-04-09 |
Family
ID=75307965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011408762.7A Withdrawn CN112631715A (zh) | 2020-12-04 | 2020-12-04 | 一种基于缓存匹配的镜像迁移优化方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112631715A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113031993A (zh) * | 2021-04-26 | 2021-06-25 | 中国工商银行股份有限公司 | 基于集群容器的应用升级方法及装置 |
CN115292051A (zh) * | 2022-09-26 | 2022-11-04 | 城云科技(中国)有限公司 | 一种gpu资源pod的热迁移方法、装置及应用 |
-
2020
- 2020-12-04 CN CN202011408762.7A patent/CN112631715A/zh not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113031993A (zh) * | 2021-04-26 | 2021-06-25 | 中国工商银行股份有限公司 | 基于集群容器的应用升级方法及装置 |
CN115292051A (zh) * | 2022-09-26 | 2022-11-04 | 城云科技(中国)有限公司 | 一种gpu资源pod的热迁移方法、装置及应用 |
CN115292051B (zh) * | 2022-09-26 | 2023-01-03 | 城云科技(中国)有限公司 | 一种gpu资源pod的热迁移方法、装置及应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200358710A1 (en) | Container-based mobile code offloading support system in cloud environment and offloading method thereof | |
CN109375872B (zh) | 数据访问请求的处理方法、装置和设备及存储介质 | |
US20200310915A1 (en) | Orchestration of Heterogeneous Multi-Role Applications | |
US9582221B2 (en) | Virtualization-aware data locality in distributed data processing | |
US10338958B1 (en) | Stream adapter for batch-oriented processing frameworks | |
WO2018099299A1 (zh) | 一种图数据处理的方法、装置及系统 | |
CN108737168B (zh) | 一种基于容器的微服务架构应用自动构建方法 | |
US20130318525A1 (en) | Locality-aware resource allocation for cloud computing | |
US11347684B2 (en) | Rolling back KUBERNETES applications including custom resources | |
US10356150B1 (en) | Automated repartitioning of streaming data | |
CN101452406A (zh) | 一种对操作系统透明的机群负载平衡方法 | |
CN112631715A (zh) | 一种基于缓存匹配的镜像迁移优化方法、系统及介质 | |
US11588698B2 (en) | Pod migration across nodes of a cluster | |
CN106648462B (zh) | 数据存储方法及装置 | |
CN103918239A (zh) | 负载均衡方法、装置、系统及计算机可读介质 | |
Fan et al. | A live migration algorithm for containers based on resource locality | |
CN116382585A (zh) | 临时卷存储方法、容器化云平台及计算机可读介质 | |
US20190068520A1 (en) | Distributed computing acceleration platform and distributed computing acceleration platform operation method | |
Seybold et al. | The impact of the storage tier: A baseline performance analysis of containerized dbms | |
US20230412671A1 (en) | Distributed cloud system, data processing method of distributed cloud system, and storage medium | |
EP4100838A1 (en) | Single use execution environment for on-demand code execution | |
Bhardwaj et al. | Container-based migration technique for fog computing architecture | |
US20230156074A1 (en) | Multi-cloud edge system | |
US20220405249A1 (en) | Providing writable streams for external data sources | |
US20230132493A1 (en) | Importing workload data into a sharded virtual disk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210409 |
|
WW01 | Invention patent application withdrawn after publication |