虚拟机管理方法及系统的制作方法

文档序号:9929425阅读:263来源:国知局
虚拟机管理方法及系统的制作方法
【技术领域】
[0001 ]本发明涉及虚拟机技术领域,具体涉及一种虚拟机管理方法及系统。
【背景技术】
[0002]目前,虚拟化云平台技术已经相对成熟,也存在一些开源项目比如OpenStack,Cloudstack等。利用这些开源系统可快速方便的构建自己的云平台,这些云平台一般都实现了较好的虚拟机管理功能,但这些平台上的虚拟机并发操作时会来回切换,从而使得响应速度偏慢。

【发明内容】

[0003]本发明的目的在于,提供一种虚拟机管理方法及系统,能够解决现有技术存在的并发操作的响应速度较慢的问题。
[0004]为此目的,一方面,本发明提出一种虚拟机管理系统,包括:
[0005]全局控制器、集群控制器和节点执行单元;其中,
[0006]所述全局控制器,用于接收用户发送的虚拟机管理请求,将所述虚拟机管理请求放入第一请求队列中,从所述第一请求队列中提取虚拟机管理请求,确定待管理虚拟机的目标主机,并向所述目标主机对应的集群控制器发送http请求,其中,所述http请求中携带有所述目标主机的id信息以及虚拟机操作信息;
[0007]所述集群控制器,用于接收所述全局控制器发送的http请求,将所述http请求放入第二请求队列中,从所述第二请求队列中提取http请求,为虚拟机配置所需的资源,并向所述目标主机对应的节点执行单元发送http请求,其中,所述http请求中携带有所述目标主机的id信息以及虚拟机操作信息;
[0008]所述节点执行单元,用于接收所述集群控制器发送的http请求,将所述http请求放入第三请求队列中,从所述第三请求队列中提取http请求,根据所述http请求在所述目标主机上执行相应的虚拟机操作。
[0009 ]另一方面,本发明提出一种虚拟机管理方法,包括:
[0010]由全局控制器接收用户发送的虚拟机管理请求,将所述虚拟机管理请求放入第一请求队列中,从所述第一请求队列中提取虚拟机管理请求,确定待管理虚拟机的目标主机,并向所述目标主机对应的集群控制器发送http请求,其中,所述http请求中携带有所述目标主机的id信息以及虚拟机操作信息;
[0011 ]由所述集群控制器接收所述全局控制器发送的http请求,将所述http请求放入第二请求队列中,从所述第二请求队列中提取http请求,为虚拟机配置所需的资源,并向所述目标主机对应的节点执行单元发送http请求,其中,所述http请求中携带有所述目标主机的id信息以及虚拟机操作信息;
[0012]由所述节点执行单元接收所述集群控制器发送的http请求,将所述http请求放入第三请求队列中,从所述第三请求队列中提取http请求,根据所述http请求在所述目标主机上执行相应的虚拟机操作。
[0013]本发明实施例所述的虚拟机管理方法及系统,通过设置请求队列,在接受请求时先入队列,入队完成后即刻返回http请求,对“调用者”不会阻塞,能够实现操作的异步非阻塞化,得到下位服务的响应速度更快,并能够为上位服务提供更快的响应时间,从而能够解决现有技术存在的并发操作的响应速度较慢的问题,此外,本发明通过分层管理的架构,能够降低管理节点的管理开销。
【附图说明】
[0014]图1为本发明虚拟机管理系统一实施例的结构示意图;
[0015]图2为本发明虚拟机管理方法一实施例的流程示意图。
【具体实施方式】
[0016]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0017]如图1所示,本实施例公开一种虚拟机管理系统,包括:
[0018]全局控制器1、集群控制器2和节点执行单元3;其中,
[0019]所述全局控制器I,用于接收用户发送的虚拟机管理请求,将所述虚拟机管理请求放入第一请求队列中,从所述第一请求队列中提取虚拟机管理请求,确定待管理虚拟机的目标主机,并向所述目标主机对应的集群控制器2发送http请求,其中,所述http请求中携带有所述目标主机的id信息以及虚拟机操作信息;
[°02°]所述集群控制器2,用于接收所述全局控制器I发送的http请求,将所述http请求放入第二请求队列中,从所述第二请求队列中提取http请求,为虚拟机配置所需的资源,并向所述目标主机对应的节点执行单元3发送http请求,其中,所述http请求中携带有所述目标主机的id信息以及虚拟机操作信息;
[0021]所述节点执行单元3,用于接收所述集群控制器2发送的http请求,将所述http请求放入第三请求队列中,从所述第三请求队列中提取http请求,根据所述http请求在所述目标主机上执行相应的虚拟机操作。
[0022]本发明中,一个全局控制器管理N个集群控制器,全局控制器的管理开销为N*单个开销;一个集群控制器管理M个节点执行单元,集群控制器的管理开销为M*单个开销。而现有的一个管理节点控制所有节点执行单元,那么管理节点的管理开销就是M*N*单个开销。由此可见,本发明采用分层管理,能够降低管理节点的管理开销。本发明中第一请求队列的长度可以为2000,第二请求队列的长度可以为物理主机数量的2倍。
[0023]本发明实施例所述的虚拟机管理系统,通过设置请求队列,在接受请求时先入队列,入队完成后即刻返回http请求,对“调用者”不会阻塞,能够实现操作的异步非阻塞化,得到下位服务的响应速度更快,并能够为上位服务提供更快的响应时间,从而能够解决现有技术存在的并发操作的响应速度较慢的问题,此外,本发明通过分层管理的架构,能够降低管理节点的管理开销。
[0024]可选地,在本发明虚拟机管理系统的另一实施例中,所述全局控制器,还用于在将所述虚拟机管理请求放入第一请求队列中之前,获取所述目标主机当前可用资源,判断所述当前可用资源是否满足对虚拟机进行相应管理的需求,若满足,则执行将所述虚拟机管理请求放入第一请求队列中的操作,否则,返回表示资源不足,不能建立虚拟机的信息。
[0025]可选地,在本发明虚拟机管理系统的另一实施例中,所述全局控制器,还用于在将所述虚拟机管理请求放入第一请求队列中之前,判断所述第一请求队列是否已满,若未满,则执行将所述虚拟机管理请求放入第一请求队列中的操作,否则,返回表示队列已满,系统繁忙的信息。
[0026]可选地,在本发明虚拟机管理系统的另一实施例中,所述集群控制器,还用于在将所述http请求放入第二请求队列中之前,判断所述第二请求队列是否已满,若未满,则执行将所述http请求放入第二请求队列中的操作,否则,进行等待,直至所述第二请求队列重新处于未满状态,执行将所述http请求放入第二请求队列中的操作,
[0027]所述节点执行单元,还用于在将所述http请求放入第三请求队列中之前,判断所述第三请求队列是否已满,若未满,则执行将所述http请求放入第三请求队列中的操作,否贝IJ,进行等待,直至所述第三请求队列重新处于未满状态,执行将所述http请求放入第三请求队列中的操作。
[0028]可选地,在本发明虚拟机管理系统的另一实施例中,所述虚拟机操作信息为部署信息,所述集群控制器,用于为虚拟机分配网络资源和存储资源,根据所述部署信息中包含的虚拟机的操作系统类型,从预设的镜像库中复制所述操作系统类型对应的镜像,并分配给虚拟机。
[0029]可选地,在本发明虚拟机管理系统的另一实施例中,所述集群控制器,还用于在向所述目标主机对应的节点执行单元发送http请求之前,对虚拟机进行镜像检查、存储卷检查和网络检查,并在虚拟机的操作系统镜像文件存在,存储卷和网络资源满足部署要求时,执行向所述目标主机对应的节点执行单元发送http请求的操作。
[0030]可选地,在本发明虚拟机管理系统的另一实施例中,所述节点执行单元,还用于在所述目标主机上执行相应的虚拟机操作后,获取所述目标主机上的虚拟机状态;
[0031]所述全局控制器,还用于从所述节点执行单元获取所述目标主机上的虚拟机状态,并写入数据库中。
[0032]可选地,在本发明虚拟机管理系统的另一实施例中,所述全局控制器、集群控制器和节点执行单元,还用于在执行操作的过程中,生成操作日志,并写入数据库中。
[0033]此外,现有的
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1