基于虚拟机管理系统的数据库构建方法

文档序号:6429302阅读:271来源:国知局
专利名称:基于虚拟机管理系统的数据库构建方法
技术领域
本发明涉及虚拟机系统技术领域,特别涉及一种基于虚拟机管理系统的数据库构建方法。
背景技术
虚拟机管理调度系统是云计算平台中的核心组件,其基于基础设施即服务 (Infrastructure as a Service, IaaS)的设计思想,能够为云平台提供运行和控制部署在各种物理资源上的虚拟机实例的能力,能够通过网络层的虚拟化构建虚拟机集群,从而在高度异构的分布式计算环境中,将客户端与具体的硬件体系结构隔离开来,动态地组织计算资源,灵活满足各种应用的不同需求,提高计算资源使用效率,实现云计算的低成本、低功耗、高性能、按需分配的重要特征。目前市场上较常用的虚拟机管理调度平台有VMware 的vCenter和vSphere系统,Citrix的XenCenter系统,以及Amazon的EC2系统,以及近来出现的Oper^tack、OpenNebula等,其中前两者为商业软件,后三者有开源版本。由于受到众多开发者的支持,近年来Eucalyptus得到迅速发展,逐渐成为构建私有云平台的一个重要工具。Eucalyptus(Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems)是Amazon弹性云平台的开源实现,允许用户按需求创建、 启动、停止虚拟机实例。Eucalyptus由五部分组成云控制器(Cloud Controller,CLC)组件、云存储控制器(Walrus)组件、集群控制器(Cluster Controller,CC)组件、存储控制器 (Storage Controller, SC)组件、节点控制器(Node Controller, NC)组件。云控制器组件属于管理层,通过API对客户端提供Web服务,功能包括资源信息查询、平台资源调度、转发用户资源请求等。存储控制器组件主要面向存储资源,包括对资源的检索、修改、创建、删除等操作。Walrus将云端的存储资源抽象为一个统一的存储空间,数据和文件被称为对象, 存放在数据桶(bucket)中,通过统一资源标识符(Uniform Resource Identifier,URI)访问。集群控制器组件和存储控制器组件位于云资源层的前端,功能是管理、调度位于本集群内的计算和存储资源。节点控制器组件安装在每个计算节点上,负责执行、监控、终止虚拟机实例,以及响应上层控制器组件的指令操作。虽然Eucalyptus能够将底层的虚拟机资源池有效的管理起来,能够构建出不同的网络拓补结构,但是与表达层和数据层交互的功能仍不够完善,缺少底层数据库的访问接口。在业务针对性较强的系统中,例如在生物云平台、工业云平台中,还需要工程师结合实际领域,进行大量的重复性的代码开发工作,这就大大降低了云平台移植效率。

发明内容
(一)要解决的技术问题本发明要解决的技术问题是如何实现基于虚拟机管理系统的数据库构建方法, 使得用户能够根据不同的需求内容,方便地的添加虚拟机管理系统功能模块,而不需要开发大量的代码。( 二 )技术方案为解决上述技术问题,本发明提供了一种基于虚拟机管理系统的数据库构建方法,包括以下步骤Sl 根据用户输入的数据表创建参数创建用户定制的数据表;S2 以虚拟机映像表和虚拟机实例表为主表,确定用户定制的新数据表中具有外键约束的字段,并给出所述字段在主表中的被参照字段;S3 对参照字段和被参照字段建立索引;S4 重复执行步骤Sl S3建立所有用户定制的数据表,逐一建立所有的级联关系,直至完成数据库的构建。其中,所述虚拟机映像表和虚拟机实例表为虚拟机管理系统中预先定义,其数据结构和数据表内容固定。其中,在创建完用户定制的数据表后,将用户数据导入创建的数据表。其中,所述数据表创建参数包括字段、类型、长度、字段能否为空和字段是否有索引键。其中,在创建用户定制的数据库前,还包括对用户定制数据库访问流程的归一化的步骤,包括Al 根据用户的访问请求,虚拟机管理系统的后台服务在物理机上访问虚拟机映像;A2 访问虚拟机映像表;A3 通过检索元数据表得到虚拟机映像的所有外键约束关系,并得到与外键约束相关联的关联表;A4:访问所述关联表。其中,若用户请求查询虚拟机实例的参数和状态,先由前台将需要查询的参数内容传送给后台服务,在此基础上对虚拟机实例表进行过滤,最后再对实例的关联表进行过滤检索,并返回得到的数据记录。其中,所述访问包括对数据表的创建、添加、修改、删除和查询操作。(三)有益效果本发明的基于虚拟机管理系统的数据库构建方法增强了虚拟机管理调度系统的扩展性、移植性、兼容性,提高了数据库构建代码的可重用性,降低了私有云平台开发的复杂程度。同时由于后台服务采用JAVA实现,保证了后台服务与界面/客户端的跨平台兼容性;使得虚拟机管理系统可以在不同的云平台之间方便的部署、移植。


图1是本发明实施例的一种基于虚拟机管理系统的数据库构建方法;图2是本发明实施例的一种基于虚拟机管理系统的数据库访问的归一化流程。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。本发明采用JAVA开发虚拟机数据库管理系统,基于MySQL实现数据库系统。虚拟机管理系统的架构如图1所示,首先客户端(浏览器或其他应用程序)发送基于HTTP的操作请求至前台,前台服务器上由Tomcat调用ffeb Service来响应,并根据后台服务的REST/ SOAP接口发送相应的调度命令至虚拟机控制器上,完成对虚拟机操作的同时更新数据库。 虚拟机管理系统的基本功能包括映像管理与实例管理两个方面。为了能够实现与业务领域结合的数据库的自动化构建,虚拟机管理系统必须满足两个条件,第一除了业务相关的数据库之外,管理系统的基本数据库及数据结构必须是固定的、预先定义的;第二数据库操作必须可以进行抽象定义。因此虚拟机管理系统的自动化数据库构建方法中,首先必须制定数据库访问流程的归一化标准,然后再结合访问流程和其他虚拟机管理操作,定义数据库构建方法。如图1所示,为基于虚拟机管理系统的数据库构建方法流程图,具体包括步骤S101,接收用户输入的数据表创建参数。虚拟机管理系统的数据表构建过程中,需要用户定制的内容包括关键字、类型、长度、能否为空、是否索引,以及与虚拟机映像表和虚拟机实例表的关联性,其中关联性通过将定制数据表的字段与映像表和实例表的字段建立外键约束而得到。步骤S102,根据上述参数创建数据表。本实施例中,基于MySQL实现数据表的创建。步骤S103,以虚拟机映像表和虚拟机实例表为主表,确定数据表中具有外键约束的字段,并给出所述字段在主表中的被参照字段,建立该数据表与虚拟机映像表和虚拟机实例表的关联关系。步骤S104,判断是否所有外键级联关系都已建立,若是,则执行步骤S107,否则, 执行步骤S105。步骤S105,对虚拟机映像表、实例表中的被参照字段建立索引。步骤S106,对新建的数据表中的参照字段建立索引。步骤S107,使用PERL脚本批量导入用户数据。重复执行步骤SlOl S107建立所有数据表,以完成数据库的构建,导入用户数据也可以在数据库构建完成后导入。在创建用户定制的数据库前,还包括对用户定制数据库的访问流程的归一化的步骤,如图2所示,具体包括图2中(a),首先用户通过web请求创建虚拟机映像或者更改虚拟机映像参数,后台服务调用XEN ( 一个开放源代码虚拟机监视器)、KVM及EUCALYPTUS的应用接口在物理机上创建虚拟机映像或者修改虚拟机映像参数,应用运行成功后,后台服务再添加或者修改虚拟机映像表,通过检索元数据表得到虚拟机映像表所有的外键约束关系,并得到关联表, 相应添加/修改关联表的记录,完成后返回状态值。其中,元数据表是MySQL数据库中有专有的记录所有数据表格的外键约束关系的表。图2中(b),用户查询虚拟机映像状态,先检索虚拟机映像表中的所有记录,并通过外键约束关系得到关联表,提取关联表中与用户提交的虚拟机映像参数相匹配的数据记录,返回检索内容。
图2中(C),如果用户请求查询虚拟机实例的参数和状态,先由前台将需要查询的参数内容传送给后台服务,在此基础上对虚拟机实例表进行过滤,最后再对实例的关联表进行过滤检索,并返回得到的数据记录。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.一种基于虚拟机管理系统的数据库构建方法,其特征在于,包括以下步骤51根据用户输入的数据表创建参数创建用户定制的数据表;52以虚拟机映像表和虚拟机实例表为主表,确定用户定制的新数据表中具有外键约束的字段,并给出所述字段在主表中的被参照字段;53对参照字段和被参照字段建立索引;54重复执行步骤Sl S3建立所有用户定制的数据表,逐一建立所有的级联关系,直至完成数据库的构建。
2.如权利要求1所述的基于虚拟机管理系统的数据库构建方法,其特征在于,所述虚拟机映像表和虚拟机实例表为虚拟机管理系统中预先定义,其数据结构和数据表内容固定。
3.如权利要求1所述的基于虚拟机管理系统的数据库构建方法,其特征在于,在创建完用户定制的数据表后,将用户数据导入创建的数据表。
4.如权利要求1 3中任一项所述的基于虚拟机管理系统的数据库构建方法,其特征在于,所述数据表创建参数包括字段、类型、长度、字段能否为空和字段是否有索引键。
5.如权利要求4所述的基于虚拟机管理系统的数据库构建方法,其特征在于,在创建用户定制的数据库前,还包括对用户定制数据库访问流程的归一化的步骤,包括Al 根据用户的访问请求,虚拟机管理系统的后台服务在物理机上访问虚拟机映像; A2 访问虚拟机映像表;A3 通过检索元数据表得到虚拟机映像的所有外键约束关系,并得到与外键约束相关联的关联表;A4 访问所述关联表。
6.如权利要求5所述的基于虚拟机管理系统的数据库构建方法,其特征在于,若用户请求查询虚拟机实例的参数和状态,先由前台将需要查询的参数内容传送给后台服务,在此基础上对虚拟机实例表进行过滤,最后再对实例的关联表进行过滤检索,并返回得到的数据记录。
7.如权利要求5所述的基于虚拟机管理系统的数据库构建方法,其特征在于,所述访问包括对数据表的创建、添加、修改、删除和查询操作。
全文摘要
本发明公开了一种基于虚拟机管理系统的数据库构建方法,包括S1根据用户输入的数据表创建参数创建数据表;S2以虚拟机映像表和虚拟机实例表为主表,确定所述数据表中具有外键约束的字段,并给出所述字段在主表中的被参照字段;S3对参照字段和被参照字段建立索引;S4重复执行步骤S1~S3建立所有数据表,以完成数据库的构建。本发明增强了虚拟机管理调度系统的扩展性、移植性、兼容性,提高了数据库构建代码的可重用性,降低了私有云平台开发的复杂程度。
文档编号G06F17/30GK102254021SQ20111021016
公开日2011年11月23日 申请日期2011年7月26日 优先权日2011年7月26日
发明者吴一雷, 封磊, 张眙, 杜金秀, 谢威, 陈超, 黄劲松 申请人:北京市计算中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1