云平台中资源的管理方法和装置与流程

文档序号:11327283阅读:498来源:国知局
云平台中资源的管理方法和装置与流程

本发明涉及信息处理领域,尤指一种云平台中资源的管理方法和装置。



背景技术:

openstack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。openstack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。openstack通过各种互补的服务提供了基础设施的解决方案,每个服务提供api以进行集成。

很多云平台厂商都会集成openstack系统,openstack本身也是一个云数据中心管理平台,可以管理计算、网络、存储等资源,云平台集成openstack后,调用openstack接口并管理其资源。而在厂商与openstack系统集成在一起后,资源会被两个平台进行共享,因此,如何对两个平台的资源进行分配,减少资源发生使用冲突。



技术实现要素:

为了解决上述技术问题,本发明提供了一种云平台中资源的管理方法和装置,能够减少资源发生使用冲突。

为了达到本发明目的,本发明提供了一种云平台中资源的管理方法,其特征在于,包括:

当云平台接入openstack系统后,接收云平台中ip地址的申请请求;

获取所述云平台和所述openstack系统均未使用的ip地址;

从所述未使用的ip地址中选择ip地址,响应所述ip地址的申请请求。

其中,所述方法还具有如下特点:所述获取所述云平台和所述openstack系统均未使用的ip地址,包括:

获取所述云平台中未使用的ip地址;

从所述云平台中未使用的ip地址中选择一个ip地址;

判断所述选择的ip地址在所述openstack系统是否被使用;

如果所述选择的ip地址在所述openstack系统未被使用,则确定所述选择的ip地址为所述云平台和所述openstack系统均未使用的ip地址;否则,继续从所述云平台中未使用的ip地址中选择一个ip地址进行判断操作,直到选择的ip地址在所述openstack系统未被使用。

其中,所述方法还具有如下特点:所述获取所述云平台和所述openstack系统均未使用的ip地址,包括:

获取所述openstack系统中已使用的ip地址,并记录已使用的ip地址;

按照预先设置的检测周期,获取在检测周期内所述openstack系统增加使用的ip地址;

根据记录的已使用的ip地址和检测周期内增加的ip地址,确定所述云平台和所述openstack系统均未使用的ip地址。

其中,所述方法还具有如下特点:所述方法还包括:

按照预先设置的检测周期,获取在检测周期内所述openstack系统中设备释放的ip地址,记录所述释放的ip地址。

其中,所述方法还具有如下特点:所述openstack系统中ip地址的使用状态的变化可以通过将当前检测周期内使用的ip地址与上一检测周期内使用的ip地址进行对比得到。

一种云平台中资源的管理装置,包括:

接收模块,用于当云平台接入openstack系统后,接收云平台中ip地址的申请请求;

获取模块,用于获取所述云平台和所述openstack系统均未使用的ip地址;

响应模块,用于从所述未使用的ip地址中选择ip地址,响应所述ip地址的申请请求。

其中,所述装置还具有如下特点:所述获取模块包括:

第一获取单元,用于获取所述云平台中未使用的ip地址;

选择单元,用于从所述云平台中未使用的ip地址中选择一个ip地址;

判断单元,用于判断所述选择的ip地址在所述openstack系统是否被使用;

处理单元,用于如果所述选择的ip地址在所述openstack系统未被使用,则确定所述选择的ip地址为所述云平台和所述openstack系统均未使用的ip地址;否则,继续从从所述云平台中未使用的ip地址中选择一个ip地址进行判断操作,直到选择的ip地址在所述openstack系统未被使用。

其中,所述装置还具有如下特点:所述获取模块包括:

第二获取单元,用于获取所述openstack系统中已使用的ip地址,并记录已使用的ip地址;

第三获取单元,用于按照预先设置的检测周期,获取在检测周期内所述openstack系统增加使用的ip地址;

确定单元,用于根据记录的已使用的ip地址和检测周期内增加的ip地址,确定所述云平台和所述openstack系统均未使用的ip地址。

其中,所述装置还具有如下特点:

所述第三获取单元,还用于按照预先设置的检测周期,获取在检测周期内所述openstack系统中设备释放的ip地址,记录所述释放的ip地址。

其中,所述装置还具有如下特点:

所述openstack系统中ip地址的使用状态的变化可以通过将当前检测周期内使用的ip地址与上一检测周期内使用的ip地址进行对比得到。

本发明提供的实施例,当云平台接入openstack系统后,接收云平台中ip地址的申请请求,通过获取云平台和openstack均未使用的ip地址,来响应ip地址的申请请求,来解决云平台中ip地址冲突的问题,提高了云平台数据库中ip信息的准确性,防止了创建虚拟机时ip冲突,提升了产品质量和用户体验。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明提供的云平台中资源的管理方法的流程图;

图2为本发明提供的云平台中资源的管理装置的结构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1为本发明提供的云平台中资源的管理方法的流程图。图1所示方法包括:

步骤101、当云平台接入openstack系统后,接收云平台中ip地址的申请请求;

其中,该ip地址的申请请求可以为服务器、路由器等接入设备申请ip地址的分配;

步骤102、获取所述云平台和所述openstack系统均未使用的ip地址;

其中,由于云平台接入了openstack系统,openstack系统也会同样占用ip地址资源,因此,需要获取云平台和所述openstack系统均未使用的ip地址,来避免ip地址的冲突问题;

步骤103、从所述未使用的ip地址中选择ip地址,响应所述ip地址的申请请求。

本发明提供的方法实施例,当云平台接入openstack系统后,接收云平台中ip地址的申请请求,通过获取云平台和openstack均未使用的ip地址,来响应ip地址的申请请求,来解决云平台中ip地址冲突的问题,提高了云平台数据库中ip信息的准确性,防止了创建虚拟机时ip冲突,提升了产品质量和用户体验。

下面对本发明提供的方法实施例作进一步说明:

本发明提出了一种解决云平台ip地址冲突的方法,主要通过数据同步和实时过滤openstack已使用ip来实现。具体如下:

1、云平台数据库中维护一张ip详情表,记录所有ip使用情况,通过定时任务,每隔15分钟将openstack里已经使用的ip地址同步到该表,标记为“已使用”;

2、创建虚拟机时先从上述数据库表中查询出未使用的ip,再依次实时查询openstack中是否已经使用该ip,如果使用了,过滤掉。

在方法实施例中,所述获取所述云平台和所述openstack系统均未使用的ip地址,有如下两种方式:

第一种方式如下:

获取所述云平台中未使用的ip地址;

从所述云平台中未使用的ip地址中选择一个ip地址;

判断所述选择的ip地址在所述openstack系统是否被使用;

如果所述选择的ip地址在所述openstack系统未被使用,则确定所述选择的ip地址为所述云平台和所述openstack系统均未使用的ip地址;否则,继续从所述云平台中未使用的ip地址中选择一个ip地址进行判断操作,直到选择的ip地址在所述openstack系统未被使用。

下面以应用实例一对第一种方式进行说明:

首先,在云平台和openstack中分别维护一张ip详情表,并设置定时任务,定时扫描openstack中已经使用的ip,同步到云平台数据库表。这是本发明的关键点,具体步骤如下:

(1)在云平台和openstack中创建数据库表(假设表名为ipinfo),里面记录所有ip的使用信息,包括如下几个字段:ip地址、网络id、子网id、是否被使用、使用者类型、使用者id;

(2)每当在云平台和openstack中创建网络和子网后,都将子网包含的所有ip记录到各自的ipinfo表中;

(3)用户在云平台或openstack中中创建虚拟机、路由器等设备,使用了ip以后,都会记录到各自的ipinfo表中,并标记为“已使用”;

(4)在云平台创建虚拟机时,进入网络配置,选择一个网络;

(5)程序根据网络id从ipinfo表中查出网络中未被使用的ip;

(6)遍历ip,依次查询该ip在openstack中是否被使用,如果被使用了,则抛弃,否则返回给虚拟机作为待选ip。

第二种方式:

获取所述openstack系统中已使用的ip地址,并记录已使用的ip地址;

按照预先设置的检测周期,获取在检测周期内所述openstack系统增加使用的ip地址;

根据记录的已使用的ip地址和检测周期内增加的ip地址,确定所述云平台和所述openstack系统均未使用的ip地址。

其中,按照预先设置的检测周期,获取在检测周期内所述openstack系统中设备释放的ip地址,记录所述释放的ip地址。

其中,所述openstack系统中ip地址的使用状态的变化可以通过将当前检测周期内使用的ip地址与上一检测周期内使用的ip地址进行对比得到。

下面以应用实例二对方式二进行说明:

一种解决云平台ip地址冲突的方法,其具体实施过程如下:

首先,在云平台数据库中维护一张ip详情表,并设置定时任务,定时扫描openstack中已经使用的ip,同步到云平台数据库表。这是本发明的关键点,具体步骤如下:

(1)在云平台中创建数据库表(假设表名为ipinfo),里面记录所有ip的使用信息,包括如下几个字段:ip地址、网络id、子网id、是否被使用、使用者类型、使用者id;

(2)每当在云平台中创建网络和子网后,都将子网包含的所有ip记录到ipinfo表中;

(3)用户在云平台中创建虚拟机、路由器等设备,使用了ip以后,都会记录到ipinfo表中,并标记为“已使用”;

(4)设置定时任务,每隔15分钟扫描openstack环境中的网络,遍历网络,每个网络中有若干端口,每个端口又对应一个或多个ip地址,这些ip都是openstack中已经使用的;

(5)遍历上述openstack中已经使用的ip,根据其网络id和ip地址,在ipinfo表中查询,如果未标记使用,则修改为“已使用”;

(6)同样,如果openstack又把某ip释放了,ipinfo表也会同步修改为“未使用”;通过这样的双向同步,最大程度的保证云平台ipinfo表和openstack的ip使用情况一致。这样云平台使用ip时从ipinfo表中选择未使用的ip,会极大的减少ip冲突的概率。

通过这次实时查询和过滤,可以保证查出的ip都是未被使用的,不会发生ip冲突的情况。

然后,创建虚拟机是一个常用且关键的操作,ip冲突会导致失败,为防止ip冲突,本发明加了一层保险,即在创建虚拟机选择ip时,我们先从ipinfo表中查出未使用的ip,再依次从查询该ip是否被openstack使用,如果未被使用才返回,具体步骤如下:

(1)在云平台创建虚拟机时,进入网络配置,选择一个网络;

(2)程序根据网络id从ipinfo表中查出网络中未被使用的ip;

(3)遍历ip,依次查询该ip在openstack中是否被使用,如果被使用了,则抛弃,否则返回给虚拟机作为待选ip。

由上可以看出,本发明提出了一种解决云平台ip地址冲突的方法。本发明从两个角度解决该问题:一,通过定时任务,建立数据同步机制,将openstack已经使用的ip地址同步到云平台数据库;二、从云平台创建虚拟机时,需要根据网络查询可用的ip地址,查询时同时把openstack中已经使用的ip过滤掉。通过这两个方法,双保险,可以提高云平台数据库中ip信息的准确性,同时保证创建虚拟机时选择的ip都是未使用的。通过数据同步和实时过滤openstack已使用ip的方法,来解决云平台中ip地址冲突的问题,提高了云平台数据库中ip信息的准确性,防止了创建虚拟机时ip冲突,提升了产品质量和用户体验。

图2为本发明提供的云平台中资源的管理装置的结构图。图2所示装置包括:

接收模块201,用于当云平台接入openstack系统后,接收云平台中ip地址的申请请求;

获取模块202,用于获取所述云平台和所述openstack系统均未使用的ip地址;

响应模块203,用于从所述未使用的ip地址中选择ip地址,响应所述ip地址的申请请求。

其中,所述获取模块202包括:

第一获取单元,用于获取所述云平台中未使用的ip地址;

选择单元,用于从所述云平台中未使用的ip地址中选择一个ip地址;

判断单元,用于判断所述选择的ip地址在所述openstack系统是否被使用;

处理单元,用于如果所述选择的ip地址在所述openstack系统未被使用,则确定所述选择的ip地址为所述云平台和所述openstack系统均未使用的ip地址;否则,继续从从所述云平台中未使用的ip地址中选择一个ip地址进行判断操作,直到选择的ip地址在所述openstack系统未被使用。

其中,所述获取模块202包括:

第二获取单元,用于获取所述openstack系统中已使用的ip地址,并记录已使用的ip地址;

第三获取单元,用于按照预先设置的检测周期,获取在检测周期内所述openstack系统增加使用的ip地址;

确定单元,用于根据记录的已使用的ip地址和检测周期内增加的ip地址,确定所述云平台和所述openstack系统均未使用的ip地址。

其中,所述第三获取单元,还用于按照预先设置的检测周期,获取在检测周期内所述openstack系统中设备释放的ip地址,记录所述释放的ip地址。

其中,所述openstack系统中ip地址的使用状态的变化可以通过将当前检测周期内使用的ip地址与上一检测周期内使用的ip地址进行对比得到。

本发明提供的装置实施例,当云平台接入openstack系统后,接收云平台中ip地址的申请请求,通过获取云平台和openstack均未使用的ip地址,来响应ip地址的申请请求,来解决云平台中ip地址冲突的问题,提高了云平台数据库中ip信息的准确性,防止了创建虚拟机时ip冲突,提升了产品质量和用户体验。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

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