虚拟机的ip地址的划分方法

文档序号:7870051阅读:900来源:国知局
专利名称:虚拟机的ip地址的划分方法
技术领域
本发明一般地涉及计算机技术领域,更具体地来说,涉及用于虚拟机的IP地址的获取和划分方法。
背景技术
随着计算机硬件处理能力的提高和虚拟化技术的发展,构建以虚拟化技术为基础的服务平台,特别是融合了虚拟化技术的云计算平台,可以有效地扩大硬件的容量,提高资源利用率,简化软件配置过程,进而降低企业运行和维护计算机软硬件的成本。在以虚拟化技术为基础的云计算平台中,为不同系统需求的应用提供服务的单元通常是虚拟机。虚拟机是在云计算平台上,利用逻辑资源模拟出的、具有完整硬件功能和系统功能的、独立运行的计算机系统。这些虚拟机系统完全就像真正的计算机那样进行工作, 例如可以安装操作系统、安装应用程序、访问网络资源等等。用户创建虚拟机后为使其能够如物理机一样收发数据,需建立虚拟网络并为其分配IP地址。在当前业界主流云计算操作系统中,大多均使用DHCP (动态主机设置协议)的方式自动为虚拟机分配动态IP地址。现有技术中提供了一种IP地址段的管理方法,对于任意一个包含未划分地址段的IP地址段,将其作为父地址段,其中,所述方法包括步骤获得所述父地址段上包含的未划分地址段;计算每个未划分地址段中包含的地址个数;根据所述每个未划分地址段中包含的地址个数遍历掩码,找到与所述每个未划分地址段的掩码;根据所述掩码确定本次匹配划分出的完整地址段。该IP地址段的管理方法能够在一定程度上满足用户的需求。然而,当利用该IP地址段的管理方法为工作组中的多个虚拟机分配IP地址时,不仅分配速度慢,而且不能将一个工作组中的虚拟机的IP地址限定在具有连续IP地址的IP地址池中,即,一个工作组中的虚拟机的IP地址可能处于不同IP地址池中,所以不便于对工作组中的虚拟机的IP地址进行管理。尤其是为多个工作组中的虚拟机分配IP地址时,虽然分配完以后的所有IP地址都是已知的,但由于分配的IP地址是随机的,虚拟机的IP地址无规律可循且不能保持同一工作组的IP地址是连续的,所以不便于通过IP地址对多个工作组进行管理。

发明内容
针对现有技术中当为工作组中的多个虚拟机分配IP地址时,不仅分配速度慢,而且不能将一个工作组中的虚拟机的IP地址限定在具有连续IP地址的IP地址池中的缺陷,本发明提出了能够解决上述缺陷的虚拟机的IP地址的划分方法。根据本发明的一方面,提供了一种虚拟机的IP地址的获取方法,其特征在于,包括IP管理系统获取一组IP地址中所有具有不可用IP地址的第一 IP地址池,并且确定最后一个第一 IP地址池的不可用尾地址;IP管理系统确定一组IP地址中的可用尾地址;以及IP管理系统确定不可用尾地址和可用尾地址之间的IP地址的数量大于或等于虚拟机所需要的IP地址的数量,并且在最后一个不可用IP地址之后连续地获取可用IP地址作为连续可用IP地址。优选地,分别通过以下公式获取不可用尾地址的第一值和可用尾地址的第二值第一值为=PoolValuel = aX 224+bX 216+cX 28+d,其中,a. b. c. d 为最后一个第一 IP 地址池的尾地址;以及第二值为PoolValue2 = e X 224+fX 216+gX 28+h,其中,e. f. g. h 为一组 IP地址池的尾地址。优选地,IP地址的获取方法还包括IP管理系统将第二值和第一值之间的差值与虚拟机所需要的IP地址的数量进行比较;以及如果差值大于或等于虚拟机所需要的IP地址的数量,则IP管理系统在最后一个不可用IP地址之后连续地获取可用IP地址作为连续可用IP地址。优选地,IP管理系统将连续可用IP地址作为可用IP地址池。优选地,IP地址的获取方法还包括IP管理系统将可用IP地址池中的多个连续可 用IP地址分配给虚拟机。优选地,IP地址的获取方法还包括当虚拟机的数量增加并且第一值和第二值之间的IP地址的数量大于虚拟机所需要的IP地址的数量时,IP管理系统将紧邻可用IP地址池的尾地址的增加的虚拟机的数量的连续IP地址分配给增加的虚拟机。优选地,IP地址的获取方法还包括当虚拟机的数量减少时,IP管理系统将可用IP地址池中分配给虚拟机的第一个连续可用IP地址之前或分配给虚拟机的最后一个连续可用IP地址之后的IP地址删除。根据本发明的另一方面,提供了本发明提供了一种虚拟机的IP地址的划分方法,其特征在于,包括IP管理系统获取一组IP地址中所有具有不可用IP地址的第一 IP地址池,并且确定每个第一 IP地址池中第一不可用IP地址的第一值和第二不可用IP地址的第二值;IP管理系统根据虚拟机的所需IP地址的数量确定IP地址池的类型,并根据IP地址池的类型将一组IP地址连续地划分成多个第二 IP地址池,并确定每个第二 IP地址池中第
一IP地址的第三值和第二 IP地址的第四值;以及IP管理系统确定具有均不介于第一值和第二值之间的第三值和第四值的第二 IP地址池,并将其中IP地址作为连续可用IP地址。优选地,不同类型的IP地址池具有不同数量的IP地址。优选地,不同类型的IP地址具有2"个IP地址,其中,2114 <所需IP地址的数量彡2n, n > 5或者0 <所需IP地址的数量彡2n, n = 5。优选地,每个第一 IP地址池中第一不可用IP地址是每个第一 IP地址池的首地址并且每个第一 IP地址池中第二不可用IP地址是每个第一 IP地址池的尾地址;以及每个第
二IP地址池中第一 IP地址是每个第二 IP地址池中的首地址并且每个第二 IP地址是每个第二 IP地址池中的尾地址。优选地,第一值、第二值、第三值以及第四值分别通过以下公式而获得第一值为PoolValuel = aX 224+bX 216+cX 28+d,第二值为PoolValue2 = aX 224+bX 216+cX 28+d+s,其中,a.b. c. d为每个第一 IP地址池的首地址并且s为每个第一 IP地址池中的IP地址的数量;第三值为PoolValue3 = eX 224+f X216+gX28+h,第四值为PoolValue4 =eX 224+f X216+gX28+h+t,其中,e. f. g. h为每个第二 IP地址池中的首地址并且t为每个第
二IP地址池中的IP地址的数量;以及每个第一 IP地址池的第一值和第二值生成二维数组PoolValue [] [2],其中,二维数组PoolValue [] [2]是以第一值为第一列和第二值为第二列的i*2的二维矩阵,i为第一 IP地址池的数量。优选地,IP地址的划分方法还包括生成二维数组PoolValueD [2]之后,根据二维矩阵的第一列PoolValue[i]
从小到大对二维数组的行进行排序。优选地,IP管理系统将第一个具有连续可用IP地址的第二 IP地址池作为可用IP地址池,并且将其他具有连续可用IP地址的第二 IP地址池作为预留IP地址池。 优选地,IP地址的划分方法还包括IP管理系统将可用IP地址池中的多个连续可用IP地址分配给虚拟机并删除可用IP地址池中在分配给虚拟机的第一个连续可用IP地址之前以及在分配给虚拟机的最后一个连续可用IP地址之后 的连续可用IP地址,其中,将第一个连续可用IP地址和最后一个连续可用IP地址之间的IP地址作为用户IP地址池。优选地,IP地址的划分方法还包括当虚拟机的数量增加时 ,如果增加后的虚拟机的总数量小于或等于用户IP地址池中IP地址的数量,则IP管理系统将用户IP地址池中未分配的IP地址分配给增加的虚拟机。优选地,IP地址的划分方法还包括当虚拟机的数量增加时,如果增加后的虚拟机的总数量大于用户IP地址池中IP地址的数量,则在IP管理系统将与第一个连续可用IP地址和最后一个连续可用IP地址紧邻的附加连续可用IP地址添加至用户IP地址池中,并将增加的用户IP地址池中未分配的IP地址分配给增加的虚拟机。优选地,IP地址的划分方法还包括当虚拟机的数量增加时,将增加的用户IP地址池中未分配的IP地址分配给增加的虚拟机之后,IP管理系统将预留IP地址池中的连续可用的IP地址分配给剩余未被分配IP地址的虚拟机。优选地,IP地址的划分方法还包括IP管理系统将用户IP地址池或者预留IP地址池中分配给虚拟机的第一个连续可用IP地址之前或分配给虚拟机的最后一个连续可用IP地址之后的IP地址删除。利用本发明的虚拟机的IP地址的获取方法和划分方法,不仅可以大大提高获取IP地址的速度,而且可以将获取的一组IP地址划分为在具有连续IP地址的可用IP地址池中,从而将一个工作组中的虚拟机的IP地址限定在具有连续IP地址的可用IP地址池中。可以根据用户需要,将具有分配给虚拟机的IP地址的可用IP地址池进行减小或扩展处理,并且保证减小后的可用IP地址池或者扩展后的IP地址池仍具有连续IP地址。从而便于管理员对同一集群或者同一工作组中的的虚拟机进行管理。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。在附图中

图1为根据本发明的第一实施例的虚拟机的IP地址的获取方法的整体流程图;图2为根据本发明的第一实施例的虚拟机的IP地址的获取方法的具体流程图;图3为根据本发明的第二实施例的虚拟机的IP地址的划分方法的整体流程图;以及
图4为根据本发明的第二实施例的虚拟机的IP地址的划分方法的具体流程图。
具体实施例方式以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。IP管理系统根据IP地址范围添加与其相对应的一组IP地址。IP地址范围是根据IP地址和掩码确定的多个IP地址。具体地,IP管理系统根据IP地址范围约束系统中与其相对应的一组IP地址。IP地址范围是根据IP地址子网和掩码确定的拥有多个IP地址的地址空间域。这可以通过用户输入来获取IP地址范围,即,当IP地址空间子网为a. b. c. d并且掩码值为rangemask时,则IP地址空间域中可管理的IP地址的数量为2(32_KangeMask)个。 例如,当IP地址为192. 168. 0. 0并且子网掩码值rangemask为24时,IP地址的数量为28=256个子网地址,S卩,IP地址为192. 168. 0. 0至192. 168. 0. 255。因此,使用IP地址子网和掩码规定一个IP地址范围,也就是IP管理系统根据IP地址范围管理与其相对应的一组IP地址。IP管理系统在添加的IP范围中搜索所有已使用IP地址池,如果没有搜索到已使用IP地址池,则IP管理系统可以直接从这一组IP地址中获取连续的虚拟机所需要数量的IP地址,并且直接分配给系统所管辖的组织,例如,虚拟机。如果IP管理系统搜索到已使用IP地址池,则通过以下虚拟机的IP地址的获取方法和/或划分方法来找到可用IP地址池。图1为根据本发明的第一实施例的虚拟机的IP地址的获取方法的整体流程图。虚拟机的IP地址的获取方法100包括在步骤102中,IP管理系统获取一组IP地址中所有具有不可用IP地址的第一 IP地址池,并且确定最后一个第一 IP地址池的不可用尾地址。具体地,可以直接从一组IP地址的后部开始搜索不可用IP地址池,该不可用IP地址池就是最后一个不可用IP地址池。然后确定该不可用IP地址池的不可用尾地址,也就是从一组IP地址的后部最先找到的不可用IP地址。在步骤104中,IP管理系统确定一组IP地址中的可用尾地址。在一个实施例中,例如,当IP地址为192. 168. 0. 0并且子网掩码值rangemask为24时,则该组IP地址的尾地址为 192. 168. 0. 255。在步骤106中,IP管理系统确定不可用尾地址和可用尾地址之间的IP地址的数量大于或等于虚拟机所需要的IP地址的数量,并且在最后一个不可用IP地址之后连续地获取可用IP地址作为连续可用IP地址。IP管理系统可以确定该一组IP地址池后部的可用IP地址的数量,并从这些连续可用的IP地址中连续地获取紧邻不可用尾地址的虚拟机所需要的数量的连续IP地址,即,在最后一个不可用IP地址之后的IP范围尾地址空间中获取虚拟机所需要的数量的连续IP地址。通过该实施例的虚拟机的IP地址获取方法可以迅速找到连续可用IP地址。大幅减少了获取可用IP地址的时间,因此,当一组IP地址尾部的可用IP地址能够满足虚拟机的需求的情况下,这种获取方法是一种简单可行的方法。图2为根据本发明的第一实施例的虚拟机的IP地址的获取方法的具体流程图。虚拟机的IP地址的获取方法200包括在步骤202中,IP管理系统获取一组IP地址中所有具有不可用IP地址的第一 IP地址池,确定最后一个第一 IP地址池的不可用尾地址和一组IP地址的可用尾地址并且通过公式获取不可用尾地址的第一值和可用尾地址的第二值。具体地,IP管理系统通过以上方法获取不可用尾地址和可用尾地址。然后,分别通过以下公式获取不可用尾地址的第一值和可用尾地址的第二值第一值为PoolValuel =&父224+匕\216+0\28+(1,其中,&.13. c. d为最后一个第一 IP地址池的尾地址;以及第二值为PoolValue2 = eX 224+fX 216+gX 28+h,其中,e. f. g. h 为一组 IP 地址池的尾地址。IP地址的获取方法200还包括在步骤204中,IP管理系统将第二值和第一值之间的差值与虚拟机所需要的IP地址的数量进行比较;以及如果差值大于或等于虚拟机所需要的IP地址的数量,则IP管理系统紧邻最后一个不可用IP地址连续地获取可用IP地址作为连续可用IP地址。具体地,IP管理系统通过将不可用尾地址和可用尾地址分别转换为第一值和第二值,就可以通过可用尾地址和不可用尾地址的差值来直接获取一组IP地址中尾部IP地址的数量,从而可以迅速判断出该尾部IP地址的数量是否能够满足虚拟机所需要的数量。在能够满足虚拟机的所需要的数量的情况下,IP管理系统紧邻最后一个不 可用IP地址连续地获取可用IP地址作为连续可用IP地址。然后,IP管理系统将连续可用IP地址作为可用IP地址池。IP地址的获取方法200还包括在步骤206中,IP管理系统将可用IP地址池中的多个连续可用IP地址分配给虚拟机。从而保证分配给虚拟机的IP地址在同一可用IP地址池中,而且虚拟机的IP地址是连续的。IP地址的获取方法还包括在步骤208中,当虚拟机的数量增加并且第一值和第二值之间的IP地址的数量大于虚拟机所需要的IP地址的数量时,IP管理系统将紧邻可用IP地址池的尾地址的增加的虚拟机的数量的连续IP地址分配给增加的虚拟机。由于该可用IP地址池前面为不可用IP地址池,所以当虚拟机的数量增加并且第一值和第二值之间的IP地址的数量大于增加后的虚拟机所需要的IP地址的数量时,IP管理系统可以将可用IP地址池后面的虚拟机增加的数量的IP地址添加至可用IP地址池,然后将添加的这部分IP地址分配给增加的虚拟机。从而保证增加后的虚拟机的IP地址仍然处于具有连续可用IP地址的同一可用IP地址池中。IP地址的获取方法还包括在步骤210中,当虚拟机的数量减少时,IP管理系统将可用IP地址池中分配给虚拟机的第一个连续可用IP地址之前或分配给虚拟机的最后一个连续可用IP地址之后的IP地址删除。当虚拟机的数量减少时,如果减少的虚拟机与可用IP地址池中的前部或后部IP地址相对应,则IP管理系统可以将可用IP地址池中分配给虚拟机的第一个连续可用IP地址之前或分配给虚拟机的最后一个连续可用IP地址之后的IP地址删除。IP管理系统没有删除可用IP地址池的中间的IP地址,从而保证删除部分IP地址后,可用IP地址池中的IP地址仍然是连续的IP地址,实现将同一工作组中的虚拟机的IP地址限定在同一可用IP地址池中,从而便于通过IP地址对工作组中的虚拟机进行管理。当IP管理系统确定不可用尾地址和可用尾地址之间的IP地址的数量小于虚拟机所需要的IP地址的数量,或者在虚拟机的数量增加情况下,不可用尾地址和可用尾地址之间的IP地址的数量小于增加的虚拟机所需要的IP地址的数量时,IP管理系统通过以下第二实施例的划分方法在一组IP地址中的查找可用IP地址池,而不是从一组IP地址的尾部查找可用IP地址池。图3为根据本发明的第二实施例的虚拟机的IP地址的划分方法的整体流程图。虚拟机的IP地址的划分方法300包括在步骤302中,IP管理系统获取一组IP地址中所有具有不可用IP地址的第一 IP地址池,并且确定每个第一 IP地址池中第一不可用IP地址的第一值和第二不可用IP地址的第二值。具体地,IP管理系统在一组IP地址中获取所有具有不可用IP地址的IP地址池,作为第一 IP地址池,并且确定所有第一 IP地址池中的第一不可用IP地址的第一值和第二不可用IP地址的第二值。其中,每个第一 IP地址池中第一不可用IP地址是每个第一 IP地址池的首地址并且每个第一 IP地址池中第二不可用IP地址是每个第一 IP地址池的尾地址;以及每个第二 IP地址池中第一 IP地址是每个第二 IP地址池中的首地址并且每个第二 IP地址是每个第二 IP地址池中的尾地址。在步骤304中,IP管理系统根据虚拟机的所需IP地址的数量确定IP地址池的类型,并根据IP地址池的类型将一组IP地址连续地划分成多个第二 IP地址池,并确定每个 第二 IP地址池中第一 IP地址的第三值和第二 IP地址的第四值。其中,不同类型的IP地址池具有不同数量的IP地址。不同类型的IP地址(即,IP地址空间)具有2nflP地址,其中,2n_i <所需IP地址的数量彡2n,n > 5或者0 <所需IP地址的数量彡2n,n = 5。例如,当用户所需的IP地址的数量m为0 < m彡25时,将该用户的IP地址池确定为一类IP地址池255. 255. 255. 224 (32个IP地址);当用户所需的IP地址的数量m为25 < m ^ 26时,将该用户的IP地址池确定为二类IP地址池255. 255. 255. 192 (64个IP地址);当用户所需的IP地址的数量m为26 <m彡27时,将该用户的IP地址池确定为三类IP地址池255. 255. 255. 128 (128个IP地址);当用户所需的IP地址的数量m为27 < m < 28时,将该用户的IP地址池确定为四类IP地址池255. 255. 255.0(256个IP地址);当用户所需的IP地址的数量m为28 < m < 29时,将该用户的IP地址池确定为五类IP地址池255. 255. 254. 0 (512个IP地址);以及当用户所需的IP地址的数量m为29 < m彡21°时,将该用户的IP地址池确定为六类IP地址池255. 255. 252. 0(1024个IP地址)等。然后,根据IP地址池的类型将一组IP地址连续地划分为多个IP地址池,其中,每一个IP地址池都具有多个连续IP地址。在一个实施例中,例如,当IP地址池的类型为一类时,将一组IP地址连续地划分为多个IP地址池,其中,每一个IP地址池都具有32个连续IP地址。从而,这种划分方法能够保证一个工作组的虚拟机的IP地址具有连续的IP地址。在步骤306中,IP管理系统确定具有均不介于第一值和第二值之间的第三值和第四值的第二 IP地址池,并将其中IP地址作为连续可用IP地址。具体地,IP管理系统确定第二 IP地址池中不包括不可用IP地址,也就是说,第二 IP地址池中的所有的IP地址都是可用IP地址,并且其中的可用IP地址是连续的。通过这种划分方法可以获取的连续可用IP地址,从而将同一工作组中的虚拟机的IP地址限定为连续的IP地址,也就是限定在具有连续地址的可用IP地址池中,因此便于管理员通过IP地址对同一工作组中的虚拟机进行管理。由于IP地址分为4段,所以比较期间分别对不同段进行比较,增加了计算量。因此,为了简化比较步骤的复杂性,第一值、第二值、第三值以及第四值可以分别通过以下公式而获得第一值为=PoolValuel= aX 224+bX216+cX28+d,(I)
第二值为PoolValue2= aX 224+bX216+cX28+d+s,(2)其中,a. b. c. d为每个第一 IP地址池的首地址并且s为每个第一 IP地址池中的IP地址的数量;第三值为PoolValue3= e X 224+f X 216+gX 28+h, (3)第四值为PoolValue4= e X 224+f X 216+gX 28+h+t, (4)其中,e. f. g.h为每个第二 IP地址池中的首地址并且t为每个第二 IP地址池中的IP地址的数量;以及每个第一 IP地址池的第一值和第二值生成二维数组PoolValueD [2],其中,二维数组PoolValueD [2]是以第一值为第一列和第二值为第二列i的二维矩阵,i为第一 IP地址池的数量(即,IP地址池的个数)。
将4段IP地址通过以上公式(I)和(2)转换为与每个第一 IP地址池的首地址和 尾地址相对应的第一值和第二值,并且通过以上公式(3)和(4)转换为与每个第二 IP地址池中的首地址和尾地址相对应的第三值和第四值。其中,每个所述第一 IP地址池中的IP地址的数量可以通过掩码进行计算。例如,当第一 IP地址池的首地址为a. b. c. d并且掩码为MaskValuel时,第一 IP地址池中的IP地址的数量为s = 2(32_MaskValuel);当第二 IP地址池的首地址为e. f. g. h并且掩码为MaskValue2时,第二 IP地址池中的IP地址的数量为t=2( 2)。因此,通过公式可以容易地算出第一值、第二值、第三值以及第四值。为了便于进行存储和计算,第一 IP地址池中的首地址的第一值和尾地址的第二值可以生成二维数组,也就是i*2的二维矩阵。在生成二维数组PoolValueD [2]之后,根据二维矩阵的第一行PoolValue [i]
从小到大对二维数组的行进行排序,从而生成有序二维数组。IP管理系统将有序二维数组与第三值和第四值进行比较,确定具有均不介于第一值和第二值之间的第三值和第四值的第二 IP地址池,并将其中IP地址作为连续可用IP地址。因此,通过将相应的地址分别转换为第一值、第二值、第三值以及第四值,大幅简化了比较步骤,从而将复杂的比较步骤转换为数字比较步骤,提高了计算速度。图4为根据本发明的第二实施例的虚拟机的IP地址的划分方法的具体流程图。IP管理系统将第一个具有连续可用IP地址的第二 IP地址池作为可用IP地址池,并且将其他具有连续可用IP地址的第二 IP地址池作为预留IP地址池。IP地址的划分方法400包括在步骤402中,IP管理系统将可用IP地址池中的多个连续可用IP地址分配给虚拟机并删除可用IP地址池中在分配给虚拟机的第一个连续可用IP地址之前以及在分配给虚拟机的最后一个连续可用IP地址之后的连续可用IP地址,其中,将第一个连续可用IP地址和最后一个连续可用IP地址之间的IP地址作为用户IP地址池。从而保证虚拟机的IP地址处于同一用户IP地址池中。具体地,IP管理系统将可用IP地址池中的连续可用IP地址分配给虚拟机之后,为了保持可用IP地址池中的IP地址的连续性,将可用IP地址池中前部和后部的未分配的连续的IP地址删除而没有删除中间的IP地址,从而将删除后的可用IP地址池作为用户IP地址池。IP地址的划分方法400还包括在步骤404中,当虚拟机的数量增加时,如果增加后的虚拟机的总数量小于或等于用户IP地址池中IP地址的数量,则IP管理系统将用户IP地址池中未分配的IP地址分配给增加的虚拟机。具体地,当增加后的虚拟机的总数量小于或等于用户IP地址池中的IP地址的数量时,IP管理系统可以首先将该用户IP地址池中未分配的IP地址分配给增加的虚拟机。在虚拟机增加的情况下,也将虚拟机的IP地址限定在具有连续IP地址的用户IP地址池中。IP地址的划分方法400还包括在步骤406中,当虚拟机的数量增加时,如果增加后的虚拟机的总数量大于用户IP地址池中IP地址的数量,则在IP管理系统将与第一个连续可用IP地址和最后一个连续可用IP地址紧邻的附加连续可用IP地址添加至用户IP地址池中,并将增加的用户IP地址池中未分配的IP地址分配给增加的虚拟机。具体地,如果用户IP地址池中的IP地址的数量不足时,IP管理系统在用户IP地址池的周围搜索连续可用的IP地址,并且将搜索到的连续可用的IP地址添加至用户IP地址池中,然后将用户IP地址池中未分配的IP地址分配给增加的虚拟机。因此,在虚拟机增加的情况下,也将虚拟机的IP地址限定在具有连续IP地址的用户IP地址池中。IP地址的划分方法400还包括在步骤408中,当虚拟机的数量增加时,将增加的用户IP地址池中未分配的IP地址分配给增加的虚拟机之后,IP管理系统将预留IP地址 池中的连续可用的IP地址分配给剩余未被分配IP地址的虚拟机。具体地,如果增加的用户IP地址池中的IP地址不足时,IP管理系统将增加的用户IP地址池中的未分配的IP地址分配给增加的虚拟机,并且剩余的虚拟机作为另一工作组,将预留IP地址池中的IP地址分配给剩余的未分配IP地址的虚拟机,即,另一工作组中的虚拟机。因此,该步骤能够保证在虚拟机的增加数量较大时,也保证同一工作组的虚拟机的IP地址处于具有连续IP地址的同一 IP地址池中。IP地址的划分方法400还包括在步骤410中,IP管理系统将用户IP地址池或者预留IP地址池中第一个连续可用IP地址之前或最后一个连续可用IP地址之后的IP地址删除。通过该步骤可以将用户IP地址池或者预留IP地址池的前部或后部未分配的IP地址或者不需要的IP地址删除,以供其他用户使用,从而提高了 IP地址的利用率。如果IP管理系统通过这两种方法均无法获取满足条件的可用IP地址池时,则通知用户重新输入IP地址范围和虚拟机所需要的IP地址的数量以在另一组地址上实施这两种方法,来获取满足条件的可用IP地址。利用本发明的虚拟机的IP地址的获取方法和划分方法,不但可以在尽量少的时间内获取虚拟机需要的IP地址,而且保证将同一工作组中的虚拟机的IP地址限定在具有连续IP地址的IP地址池中,从而便于管理员通过IP地址对同一工作组中的虚拟机进行管理。此外,在虚拟机的数量变化时,相应地改变IP地址池,从而确保IP地址池中的IP地址连续,因此可以也可以实现将同一工作组中的虚拟机的IP地址限定在具有连续IP地址的IP地址池中。该方法尤其在为多个工作组中的虚拟机分配IP地址具有优势,通过将同一工作组中的虚拟机的IP地址限定在具有连续IP地址的同一 IP地址池中,可以便于利用多个IP地址池中的IP地址对多个工作组进行管理。以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种虚拟机的IP地址的划分方法,其特征在于,包括IP管理系统获取一组IP地址中所有具有不可用IP地址的第一 IP地址池,并且确定每个所述第一 IP地址池中第一不可用IP地址的第一值和第二不可用IP地址的第二值;所述IP管理系统根据所述虚拟机的所需IP地址的数量确定IP地址池的类型,并根据所述IP地址池的类型将所述一组IP地址连续地划分成多个第二 IP地址池,并确定每个所述第二 IP地址池中第一 IP地址的第三值和第二 IP地址的第四值;以及所述IP管理系统确定具有均不介于所述第一值和所述第二值之间的所述第三值和所述第四值的所述第二 IP地址池,并将其中IP地址作为连续可用IP地址。
2.根据权利要求1所述的IP地址的划分方法,其特征在于,不同类型的所述IP地址池具有不同数量的IP地址。
3.根据权利要求2所述的IP地址的划分方法,其特征在于,不同类型的所述IP地址具有2"个IP地址,其中,21"1 <所需IP地址的数量< 2n,n > 5或者O <所需IP地址的数量 O = 5。
4.根据权利要求1所述的IP地址的划分方法,其特征在于,每个所述第一IP地址池中所述第一不可用IP地址是所述每个所述第一 IP地址池的首地址并且每个所述第一 IP地址池中所述第二不可用IP地址是所述每个所述第一 IP地址池的尾地址;以及每个所述第二 IP地址池中第一 IP地址是所述每个所述第二 IP地址池中的首地址并且每个所述第二 IP地址是所述每个所述第二 IP地址池中的尾地址。
5.根据权利要求4所述的IP地址的划分方法,其特征在于,所述第一值、所述第二值、 所述第三值以及所述第四值分别通过以下公式而获得所述第一值为PoolValuel = aX 224+bX216+cX28+d,所述第二值为PoolValue2 = aX 224+bX216+cX28+d+s,其中,a. b. c. d为所述每个所述第一 IP地址池的所述首地址并且s为所述每个所述第一 IP地址池中的IP地址的数量;所述第三值为PoolValue3 = e X 224+f X 216+gX 28+h,所述第四值为PoolValue4 = e X 224+f X 216+gX 28+h+t,其中,e. f. g. h为所述每个所述第二 IP地址池中的所述首地址并且t为所述每个所述第二 IP地址池中的IP地址的数量;以及所述每个所述第一 IP地址池的所述第一值和所述第二值生成二维数组PoolValue [][2],其中,所述二维数组PoolValueD [2]是以所述第一值为第一列和所述第二值为第二列的i*2的二维矩阵,i为所述第一 IP地址池的数量。
6.根据权利要求5所述的IP地址的划分方法,其特征在于,还包括生成所述二维数组PoolValue [] [2]之后,根据所述二维矩阵的所述第一列PoolValue [i] [O]从小到大对二维数组的行进行排序。
7.根据权利要求1所述的IP地址的划分方法,其特征在于,所述IP管理系统将第一个具有所述连续可用IP地址的所述第二 IP地址池作为可用IP地址池,并且将其他具有所述连续可用IP地址的第二 IP地址池作为预留IP地址池。
8.根据权利要求7所述的IP地址的划分方法,其特征在于,还包括所述IP管理系统将所述可用IP地址池中的所述多个连续可用IP地址分配给所述虚拟机并删除所述可用IP地址池中在分配给所述虚拟机的第一个连续可用IP地址之前以及在分配给所述虚拟机的最后一个连续可用IP地址之后的连续可用IP地址,其中,将所述第一个连续可用IP地址和所述最后一个连续可用IP地址之间的IP地址作为用户IP地址池。
9.根据权利要求8所述的IP地址的划分方法,其特征在于,当虚拟机的数量增加时,还包括如果增加后的所述虚拟机的总数量小于或等于所述用户IP地址池中IP地址的数量, 则所述IP管理系统将所述用户IP地址池中未分配的IP地址分配给所述增加的虚拟机。
10.根据权利要求9所述的IP地址的划分方法,其特征在于,当虚拟机的数量增加时, 还包括如果增加后的所述虚拟机的总数量大于所述用户IP地址池中IP地址的数量,则在所述IP管理系统将与所述第一个连续可用IP地址和所述最后一个连续可用IP地址紧邻的附加连续可用IP地址添加至所述用户IP地址池中,并将增加的用户IP地址池中未分配的IP地址分配给所述增加的虚拟机。
11.根据权利要求10所述的IP地址的划分方法,其特征在于,当虚拟机的数量增加时, 还包括将增加的用户IP地址池中未分配的IP地址分配给所述增加的虚拟机之后,所述 IP管理系统将所述预留IP地址池中的连续可用的IP地址分配给剩余未被分配IP地址的虚拟机。
12.根据权利要求11所述的IP地址的划分方法,其特征在于,还包括所述IP管理系统将所述用户IP地址池或者所述预留IP地址池中第一个连续可用IP 地址之前或最后一个连续可用IP地址之后的IP地址删除。
全文摘要
本发明提供了一种虚拟机的IP地址的划分方法,其特征在于,包括IP管理系统获取一组IP地址中所有具有不可用IP地址的第一IP地址池,并且确定每个第一IP地址池中第一不可用IP地址的第一值和第二不可用IP地址的第二值;IP管理系统根据虚拟机的所需IP地址的数量确定IP地址池的类型,并根据IP地址池的类型将一组IP地址连续地划分成多个第二IP地址池,并确定每个第二IP地址池中第一IP地址的第三值和第二IP地址的第四值;以及IP管理系统确定具有均不介于第一值和第二值之间的第三值和第四值的第二IP地址池,并将其中IP地址作为连续可用IP地址。该划分方法将虚拟机的IP地址限定在具有连续IP地址的IP地址池中,便于通过IP地址对虚拟机进行管理。
文档编号H04L29/12GK103002068SQ20121056845
公开日2013年3月27日 申请日期2012年12月24日 优先权日2012年12月24日
发明者王慧谦, 王玉洁, 樊兴军, 李绍辉, 王学强, 陈志荣 申请人:曙光云计算技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1