虚拟机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地址分配装置的框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示
了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不
应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地
理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明的一个实施例提供了一种虚拟机IP地址分配方法,
包括:
步骤110,接收创建虚拟机的请求;其中,请求包含对虚拟机的申请单。
在本实施例中,请求的发送方可以是终端本身,也可以是终端通过第三方终
端自动请求创建。
具体例如以下:
1)工作人员需要使用虚拟机时,在自己所使用的计算机进行输入,输入
的内容是创建虚拟机的请求,则该创建虚拟机的请求由工作人员的计算机直
接发出。
2)工作人员需要使用虚拟机时,通过自己所使用的个人计算机向用于请
求创建虚拟机的专用计算机发出命令,则该专用计算机自动将预存储的用于
创建虚拟机的请求发出一次。相比于输入创建虚拟机的请求,工作人员输入
指令更加简易,所以这种方式能够降低工作人员请求虚拟机过程的复杂度。
步骤120,根据请求,获取IP地址分配表;其中,IP地址分配表用于记
录未被分配的IP地址。
具体地,获取IP地址分配表的方式包括:连接用于存储IP地址分配表的
特定数据库,从该数据库中读取数据表形式的IP地址分配表;加载特定的插
件,该插件具有固定的功能,即从预定义的位置读取IP地址分配表,插件所
读取的IP地址分配表不限于是数据表形式,也可以是其他的类型,例如,可
以是文本形式。
步骤130,从IP地址分配表中,确定虚拟机的IP地址。
基于前述的内容,可以通过结构化查询语言(Structured Query Language,
缩写SQL)命令,从数据表形式的IP地址分配表中获取IP地址作为虚拟机
的IP地址;也可以基于前述的插件,该插件还具有在文本文件中检索的功能,
从文本形式的IP地址分配表中获取IP地址作为虚拟机的地址。
在本实施例中,由于IP地址分配表中所记录IP地址为预先获取的可用IP
地址(也可理解为有效地IP地址),所以从IP地址分配表中取出任一个IP
地址都可作为虚拟机的IP地址。其中,提取IP地址的方式可以是顺序获取,
也可以是随机获取。
步骤140,将虚拟机的IP地址添加到申请单中。
其中,申请单上可以设置一个“虚拟机IP地址”栏位,然后,在自动填
写好一个可用IP地址。
例如:在申请人创建了一个申请新虚拟机的申请单并请求申请新的虚拟
机时,连接数据库并获取其中预存储的IP地址分配表,并从IP地址分配表中
读取IP地址10.1.1.1,将该IP地址作为虚拟机的IP地址,并填写到申请单中
并向申请人返回申请单,则申请人可以从申请单中了解虚拟机的IP地址已经
分配好,并确切知道该IP地址的值。
在本实施例中,用户从申请单中可以查看自己所申请虚拟机的IP地址,
本实施例的技术方案完全不需要依赖人力分配IP地址,而且不必等到虚拟机
创建完成后为其分配IP地址,使得IP地址的分配效率非常高。
如图2所示,本发明的一个实施例提供了一种虚拟机IP地址分配方法,
包括:
步骤210,接收创建虚拟机的请求;其中,请求包含对虚拟机的申请单。
步骤220,连接预设的数据库,并从数据库中获取IP地址分配表;其中,
数据库用于存储IP地址分配表;其中,IP地址分配表用于记录未被分配的IP
地址。
在本实施例中,IP地址分配表在预设的数据库中存储维护,需要获取IP
地址时从数据库中获取;具体地,本实施例中提供的数据库可以是CMDB数
据库(Configuration Management Database,配置管理数据库),在CMDB数
据库所在的服务器的基础上实现本实施例的技术方案,则该服务器可以作为
完成本实施例的技术方案的主体,接收创建虚拟机的请求、从本地数据库获
取IP地址分配表、从中获取IP地址分配给虚拟机。
步骤230,从IP地址分配表中取出第一个IP地址,作为虚拟机的IP地
址。在本实施例中,由于后续需要从IP地址分配表中删除IP地址,固定读取
IP地址分配表中第一个IP地址也就使得删除的IP地址也固定在第一个,更
易于准确执行删除操作,读取、删除IP地址操作的逻辑简单使得执行起来简
单快捷。
步骤240,将虚拟机的IP地址添加到申请单中。
步骤250,将申请单发送给对应的申请人,以向申请人展示虚拟机的IP
地址。
步骤260,从IP地址分配表中,删除虚拟机的IP地址。
具体地,如果此时用户基于申请单取消申请虚拟机,则可以将IP地址添
加到IP地址分配表中,则这个IP地址还可以被其他人使用;如果申请人基于
申请单确认创建虚拟机,则取出的IP地址被从IP地址分配表中删除,其他人
就不能再从IP地址分配表中获取该IP地址了。
如图3所示,本发明的一个实施例提供了一种虚拟机IP地址分配装置,
包括:
请求接收模块310,接收创建虚拟机的请求;其中,请求包含对虚拟机的
申请单。
在本实施例中,请求的发送方可以是终端本身,也可以是终端通过第三
方终端自动请求创建。具体例如以下:
1)工作人员需要使用虚拟机时,在自己所使用的计算机进行输入,输入
的内容是创建虚拟机的请求,则该创建虚拟机的请求由工作人员的计算机直
接发出。
2)工作人员需要使用虚拟机时,通过自己所使用的个人计算机向用于请
求创建虚拟机的专用计算机发出命令,则该专用计算机自动将预存储的用于
创建虚拟机的请求发出一次。相比于输入创建虚拟机的请求,工作人员输入
指令更加简易,所以这种方式能够降低工作人员请求虚拟机过程的复杂度。
IP地址分配表获取模块320,根据请求,获取IP地址分配表;其中,IP
地址分配表用于记录未被分配的IP地址。
具体地,获取IP地址分配表的方式包括:连接用于存储IP地址分配表的
特定数据库,从该数据库中读取数据表形式的IP地址分配表;加载特定的插
件,该插件具有固定的功能,即从预定义的位置读取IP地址分配表,插件所
读取的IP地址分配表不限于是数据表形式,也可以是其他的类型,例如,可
以是文本形式。
IP地址确定模块330,从IP地址分配表中,确定虚拟机的IP地址。
基于前述的内容,可以通过SQL命令,从数据表形式的IP地址分配表中
获取IP地址作为虚拟机的IP地址;也可以基于前述的插件,该插件还具有在
文本文件中检索的功能,从文本形式的IP地址分配表中获取IP地址作为虚拟
机的地址
在本实施例中,由于IP地址分配表中所记录IP地址为预先获取的可用IP
地址(也可理解为有效地IP地址),所以从IP地址分配表中取出任一个IP
地址都可作为虚拟机的IP地址。具体地,提取IP地址的方式可以是顺序获取,
也可以是随机获取。
IP地址添加模块340,将虚拟机的IP地址添加到申请单中。
其中,申请单上可以设置一个“虚拟机IP地址”栏位,然后,在自动填
写好一个可用IP地址。例如:在申请人创建了一个申请新虚拟机的申请单并
请求申请新的虚拟机时,连接数据库并获取其中预存储的IP地址分配表,并
从IP地址分配表中读取IP地址10.1.1.1,将该IP地址作为虚拟机的IP地址,
并填写到申请单中并向申请人返回申请单,则申请人可以从申请单中了解虚
拟机的IP地址已经分配好,并确切知道该IP地址的具体值。
在本实施例中,用户从申请单中可以查看自己所申请虚拟机的IP地址,
本实施例的技术方案完全不需要依赖人力分配IP地址,而且不必等到虚拟机
创建完成后为其分配IP地址,使得IP地址的分配效率非常高。
如图4所示,本发明的一个实施例提供了一种虚拟机IP地址分配装置,
包括:
请求接收模块410,接收创建虚拟机的请求;其中,请求包含对虚拟机的
申请单。
IP地址分配表获取模块20,连接预设的数据库,并从数据库中获取IP地
址分配表;其中,数据库用于存储IP地址分配表;其中,IP地址分配表用于
记录未被分配的IP地址。
在本实施例中,IP地址分配表在预设的数据库中存储维护,需要获取IP
地址时从数据库中获取;具体地,本实施例中提供的数据库可以是CMDB数
据库(Configuration Management Database,配置管理数据库),在CMDB数
据库所在的服务器的基础上实现本实施例的技术方案,则该服务器可以作为
完成本实施例的技术方案的主体,接收创建虚拟机的请求、从本地数据库获
取IP地址分配表、从中获取IP地址分配给虚拟机。
IP地址确定模块430,从IP地址分配表中取出第一个IP地址,作为虚拟
机的IP地址。
在本实施例中,由于后续需要从IP地址分配表中删除IP地址,固定读取
IP地址分配表中第一个IP地址也就使得删除的IP地址也固定在第一个,更
易于准确执行删除操作,读取、删除IP地址操作的逻辑简单使得执行起来简
单快捷。
IP地址添加模块440,将虚拟机的IP地址添加到申请单中。
IP地址展示模块450,将申请单发送给对应的申请人,以向申请人展示虚
拟机的IP地址。
IP地址删除模块460,从IP地址分配表中,删除虚拟机的IP地址。
具体地,如果此时用户基于申请单取消申请虚拟机,则可以将IP地址添
加到IP地址分配表中,则这个IP地址还可以被其他人使用;如果申请人基于
申请单确认创建虚拟机,则取出的IP地址被从IP地址分配表中删除,其他人
就不能再从IP地址分配表中获取该IP地址了。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固
有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,
构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定
编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,
并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发
明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详
细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或
多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被
一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的
方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中
所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的
那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具
体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要
求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自
适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以
把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可
以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者
单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴
随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或
者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴
随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相
似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它
实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合
意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利
要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器
上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理
解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发
明实施例的虚拟机IP分配装置中的一些或者全部部件的一些或者全部功能。
本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或
者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的
程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。
这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以
任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并
且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施
例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求
的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元
件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借
助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列
举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬
件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可
将这些单词解释为名称。