一种基于OpenStack的区域间镜像同步的方法及系统与流程

文档序号:20884200发布日期:2020-05-26 17:22阅读:492来源:国知局
一种基于OpenStack的区域间镜像同步的方法及系统与流程

本发明涉及云服务技术领域,具体涉及一种基于openstack的区域间镜像同步的方法及系统。



背景技术:

openstack是一个由nasa(美国国家航空航天局)和rackspace合作研发并发起的,以apache许可证授权的自由软件和开放源代码项目。openstack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。openstack通过各种互补的服务提供了基础设施即服务(iaas)的解决方案,每个服务提供api以进行集成。openstack覆盖了网络、虚拟化、操作系统、服务器等各个方面,包括计算、镜像服务、身份认证、网络、块存储等多个核心组件。

区域是提供云服务的一个物理或者逻辑的区域,旨在让用户就近接入,降低网络延迟。在openstack里,每个区域使用其自己的控制器和自己的镜像、计算、存储以及网络资源,各区域资源不能相互共享。所以当某一个区域新上传了一个镜像时,在其他的区域无法感知;同理,当在一个区域里用虚拟机生成镜像模板以后,其他的区域也无法感知到。由此带来了如下的局限性:

当向某一个区域上传镜像时,其他区域无法感知此镜像的存在,可知当云管界面同时管理多个区域时,在一个区域上传镜像以后,切换到其他区域后无法使用;即使用户在其他区域也上传了此镜像,但由于镜像id的不同,云平台很难将这两个区域的镜像识别成同一个,造成用户使用上的困扰,即用户无法在多个区域共享镜像。

针对此局限,目前可知的是,若用户在一个区域里用虚拟机生成镜像模板,则需要把镜像模板导出,再导入到另一个区域才能使用,但该技术难于操作且容易出错。

因此,如何提供一种能够于区域间自动同步镜像的基于openstack的区域间镜像同步的方法便成为了本领域技术人员急需解决的技术问题。



技术实现要素:

为实现上述目的,本发明提供如下技术方案:

一种基于openstack的区域间镜像同步的方法,包括如下步骤:

统计基于openstack的多个区域的总数量,所述多个区域的总数量为a;

统计多个区域中的一个区域a的新增的镜像的数量,该数量为b;

记载在去除区域a的剩余区域中需要进行镜像同步的次数c,其中,c=b×(a-1);

镜像同步:调用区域a的调用接口将新增的镜像下载到本地,随后调用剩余区域中的调用接口并将下载的区域a的新增的镜像上传到剩余区域中,且上传时,指定上传到剩余区域中的镜像的id与区域a的新增的镜像的id相同。

作为本发明进一步的方案,还包括定时镜像同步:

将需要进行镜像同步的次数c进行定时划分任务,待到特定时间时即进行镜像同步。

作为本发明进一步的方案,镜像同步步骤中还包括如下:

若镜像同步过程中出现异常导致镜像同步失败,则通过重置状态调口会将此时的状态重置为初始状态。

作为本发明进一步的方案,所述新增的镜像为上传的镜像或者虚拟机转化的镜像。

本发明所提供的基于openstack的区域间镜像同步的方法,具有如下技术效果:

通过该方法,若干区域中的任何一个区域内新增的镜像能在其他剩余的区域中实现镜像同步,如此一来,区域之间可以共享该镜像,方便用户使用,同时可避免现有技术中导出导入镜像而可能出现的技术难且容易出错的情况。

进一步的,定时划分任务,可以按照用户具体的情况设置特定的时间来进行镜像的同步。

进一步的,状态重置可以避免之前进行的同步丢失,可再同步正常时接着之前的同步状态继续进行,提高了镜像同步的效率。

本发明还提供一种基于openstack的区域间镜像同步的系统,包括:

区域数量统计模块:其用于统计基于openstack的多个区域的总数量,所述多个区域的总数量为a;

新增的镜像的数量统计模块:其用于统计多个区域中的一个区域a的新增的镜像的数量,该数量为b;

记载模块:其用于记载在去除区域a的剩余区域中需要进行镜像同步的次数c,其中,c=b×(a-1);

镜像同步模块:其用于调用区域a的调用接口将新增的镜像下载到本地,随后调用剩余区域中的调用接口并将下载的区域a的新增的镜像上传到剩余区域中,且上传时,指定上传到剩余区域中的镜像的id与区域a的新增的镜像的id相同;

所述记载模块分别连接所述区域数量统计模块和所述新增的镜像的数量统计模块。

作为本发明进一步的方案,还包括定时任务模块,所述定时任务模块将需要进行镜像同步的次数c进行定时划分任务,所述定时任务模块连接所述镜像同步模块。

作为本发明进一步的方案,还包括重置状态模块,所述重置状态模块包括重置状态调口,所述重置状态模块用于:若镜像同步过程中出现异常导致镜像同步失败,则通过重置状态调口会将此时的状态重置为初始状态。

该系统采用上述的同步的方法,所以具有等同的技术效果。

附图说明

图1为本发明所提供的基于openstack的区域间镜像同步的方法的一种具体实施方式的流程示意图;

图2为本发明所提供的基于openstack的区域间镜像同步的系统的一种具体实施方式的结构框图。

附图标记:1系统,2区域数量统计模块,3新增的镜像的数量统计模块,4记载模块,5镜像同步模块,6定时任务模块,7重置状态模块。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1-2所示,图1为本发明所提供的基于openstack的区域间镜像同步的方法的一种具体实施方式的流程示意图;

图2为本发明所提供的基于openstack的区域间镜像同步的系统的一种具体实施方式的结构框图。

如图1所示,一种基于openstack的区域间镜像同步的方法,包括如下步骤:

统计基于openstack的多个区域的总数量,多个区域的总数量为a;

统计多个区域中的一个区域a的新增的镜像的数量,该数量为b;

记载在去除区域a的剩余区域中需要进行镜像同步的次数c,其中,c=b×(a-1);

镜像同步:调用区域a的调用接口将新增的镜像下载到本地,随后调用剩余区域中的调用接口并将下载的区域a的新增的镜像上传到剩余区域中,且上传时,指定上传到剩余区域中的镜像的id与区域a的新增的镜像的id相同。

通过该方法,若干区域中的任何一个区域内新增的镜像能在其他剩余的区域中实现镜像同步,如此一来,区域之间可以共享该镜像,方便用户使用,同时可避免现有技术中导出导入镜像而可能出现的技术难且容易出错的情况。

另一种具体实施方式中,除上述步骤外,还包括定时镜像同步:

将需要进行镜像同步的次数c进行定时划分任务,待到特定时间时即进行镜像同步。

定时划分任务,可以按照用户具体的情况设置特定的时间来进行镜像的同步。

进一步的,镜像同步步骤中还包括如下:

若镜像同步过程中出现异常导致镜像同步失败,则通过重置状态调口会将此时的状态重置为初始状态。

状态重置可以避免之前进行的同步丢失,可再同步正常时接着之前的同步状态继续进行,提高了镜像同步的效率。

该方法中,所提到的新增的镜像为上传的镜像或者虚拟机转化的镜像。

如图2所示,本发明还提供一种基于openstack的区域间镜像同步的系统1,包括:

区域数量统计模块2:其用于统计基于openstack的多个区域的总数量,所述多个区域的总数量为a;

新增的镜像的数量统计模块3:其用于统计多个区域中的一个区域a的新增的镜像的数量,该数量为b;

记载模块4:其用于记载在去除区域a的剩余区域中需要进行镜像同步的次数c,其中,c=b×(a-1);

镜像同步模块5:其用于调用区域a的调用接口将新增的镜像下载到本地,随后调用剩余区域中的调用接口并将下载的区域a的新增的镜像上传到剩余区域中,且上传时,指定上传到剩余区域中的镜像的id与区域a的新增的镜像的id相同;

记载模块4分别连接区域数量统计模块2和新增的镜像的数量统计模块3。

进一步的,还包括定时任务模块6,定时任务模块6将需要进行镜像同步的次数c进行定时划分任务,定时任务模块6连接镜像同步模块5。

进一步的,还包括重置状态模块7,重置状态模块7包括重置状态调口,重置状态模块7用于:若镜像同步过程中出现异常导致镜像同步失败,则通过重置状态调口会将此时的状态重置为初始状态。

该系统采用上述的同步的方法,所以具有等同的技术效果。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1