[发明专利]一种面向国产平台的容器跨异构集群重构方法有效

专利信息
申请号: 201911104584.6 申请日: 2019-11-13
公开(公告)号: CN110851237B 公开(公告)日: 2023-09-26
发明(设计)人: 许健;杨飞;陈娜;丁晓东;平笑柔 申请(专利权)人: 北京计算机技术及应用研究所
主分类号: G06F9/455 分类号: G06F9/455;H04L41/0893;H04L41/14;H04L67/1095
代理公司: 中国兵器工业集团公司专利中心 11011 代理人: 王雪芬
地址: 100854*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 面向 国产 平台 容器 跨异构 集群 方法
【权利要求书】:

1.一种面向国产平台的容器跨异构集群重构方法,其特征在于,包括以下步骤:

步骤一:建立容器集群统一模型;所述容器集群统一模型为异构国产平台上容器的一系列特征属性建立统一表述;

步骤二:基于步骤一构建异构集群镜像仓库;

步骤三:转换应用编排文件;

步骤四:基于步骤二和步骤三重建目的集群容器应用;

步骤五:基于步骤四迁移和切换容器状态;

所述容器集群统一模型利用可扩展标记语言描述,由标准对象和扩展对象构成,标准对象和扩展对象均由若干可扩展的标签和属性组成,其数据结构为键/值对;标准对象定义了容器集群的共性对象,并且涵盖了Kubernetes定义对象;扩展对象描述的是标准对象中未统一定义的异构平台特征参数,这些信息也是Kubernetes中未定义的信息;

步骤二中,利用异构平台应用镜像重构工具,将源镜像组件分析并利用目的集群上的组件重构,生成目的镜像,一个应用具有多个平台镜像映射关系,镜像仓库间重构的容器镜像是无状态的容器镜像,有状态的应用数据、中间件这些组件,将在进行应用重建时进行构建;

步骤三具体为:读取一个待迁移应用的应用编排文件,并对读取后的内容进行相应的处理,再对处理后的结果进行识别,根据所在集群上的容器集群统一模型提供信息,来识别输入的应用编排文件的信息,包括使用了何种类型的存储和网络,容器实例配置信息,然后根据接收的异构存储和网络转换方法进行相应的转换,使得转换后的应用编排文件能适用于目标平台的容器服务,最后对转换后的应用编排文件进行输出;

步骤四中,对于基于异构CPU的容器云Kubernetes集群,通过kubectlcreate–f[file]创建相应的应用;

步骤五具体为使用CRIU技术对迁移容器设定检查点,将源容器的迁移数据写出到指定位置的磁盘文件中,然后将写出的文件传输到目的集群中的主机,即目的主机,待迁移容器设置检查点后,数据传输阶段容器处于锁定状态;此时应用通过可用的容器副本对用户提供服务;

迁移数据包括两种:一是容器层数据,考虑到容器运行后只是基于只读的镜像层创建一个可读写的容器层,对容器内的运行修改都保存于容器层,因此只迁移容器层数据而不必迁移容器的rootfs,目标容器基于源容器的容器层数据恢复容器镜像状态;二是容器的内存数据,目标容器基于源容器的内存数据恢复源容器的运行状态;

数据传输完成后,在目的主机上进行Docker容器恢复,基于迁移的文件恢复容器运行状态,将应用切换至目标主机上的容器,新容器基于恢复的状态继续运行,之后销毁源主机上容器及其数据。

2.如权利要求1所述的方法,其特征在于,步骤四中,基于Docker容器的应用依赖于镜像文件和对这个应用的编排信息文件,源平台的应用经过对镜像文件的构建和对编排信息的转换后,在应用层根据编排信息文件和镜像文件启动该应用。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201911104584.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top