云计算平台中快速部署和更新虚拟环境系统及其方法

文档序号:8380771阅读:978来源:国知局
云计算平台中快速部署和更新虚拟环境系统及其方法
【技术领域】
[0001]本发明涉及云计算技术,具体涉及云计算平台中快速部署和更新虚拟环境系统及其方法。
【背景技术】
[0002]随着云计算的不断普及,用户对云计算产品的需求越来越丰富,从单一地获取虚拟硬件设施,即虚拟机、虚拟存储、虚拟网络,到获取在虚拟硬件上配置了完整软件系统的虚拟环境。虚拟环境由虚拟硬件以及在虚拟硬件上安装的软件系统组成,软件系统则包含了一系列互相关联的软件包。用户可以使用虚拟环境承载个人网站,建立Hadoop集群进行科学实验,对开发中的分布式系统进行测试。
[0003]虚拟环境可以按需供给,用户不需要时,可随时销毁停止付费,而且扩容方便,与传统的实体环境相比有很大优势。然而虚拟环境的部署和更新仍然很复杂,用户需具备一定的专业知识来处理软硬件问题。当用户需要多次部署相同环境时,每次都要重复相同的操作。
[0004]但是上述现有技术仍然存在着以下缺陷:配置虚拟环境的方法复杂,如配置文件格式复杂、软件包配置复杂以及用户需要手工定义工作流描述部署过程等;软件包配置的重用性差,即在一种虚拟环境配置中起作用的软件包配置定义在另一个虚拟环境中需要重新定义;部署之后的环境没有更新能力,用户需要手工操作虚拟资源和软件进行更新;部署速度慢,主要是由于虚拟硬件尤其是虚拟机的生成需要一定时间。

【发明内容】

[0005]发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种云计算平台中快速部署和更新虚拟环境系统及其方法,本发明使用简洁的配置描述格式、方便的软件包注册机制、以及操作排序机制和硬件资源池机制,使得在云计算平台中部署虚拟环境更加快捷高效,本发明中的模型差异算法为虚拟环境提供了更新能力,满足了用户更改、升级虚拟环境的需求。
[0006]技术方案:本发明所述的一种云计算平台中快速部署和更新虚拟环境系统,包括依次连接的配置输入模块、配置解析模块、模型差异计算模块和操作执行模块,
[0007]所述配置输入模块接收用户输入的配置文件并传入配置解析模块;
[0008]所述配置解析模块验证所接收配置文件的合法性和解析用户描述,检测不符合格式要求的描述并返回错误信息,并解析合法文本内容生成相应模型;
[0009]所述模型差异计算模块计算两个模型之间的差异,输出从模型A转换到模型B所需的最少操作集合,模型A可以为空,用于计算首次部署虚拟环境时需要的操作集合;并且,模型差异计算模块与配置解析模块之间设置有模型存储模块,所述模型存储模块存储配置解析模块生成的模型,该模型用于更新时进行的模型差异计算;
[0010]所述操作执行模块执行模型差异计算模块输出的所有操作集合,本模块包括有三个子模块:操作排序模块,以及分别与操作排序模块连接的硬件操作执行模块和软件操作执行模块;
[0011]所述硬件操作执行模块的另一端分别连接有相互联通的云计算平台和硬件资源池模块;所述软件操作执行模块的另一端连接有自动化软件配置管理工具,自动化软件配置管理工具上还连接有软件包注册模块。
[0012]进一步的,所述云计算平台和自动化软件配置管理工具上均设有编程接口 ;
[0013]所述硬件资源池模块用于设定资源池容量,维护池中虚拟机资源,在设定硬件资源池最大和最小容量后该模块调用云计算平台提供的编程接口发出指令生成虚拟机直至达到最大容量,由于虚拟机有不同配置类型,容量是一组键值对,例如(Typel: [10,20], Type2: [10,30],Type3: [5,15]),该键值对表示Typel类型的虚拟机的数量保持在10到20之间,Type2类型的虚拟机的数量保持在10到30之间,Type3类型的虚拟保持在5到15之间。
[0014]所述操作执行模块在创建虚拟机时优先使用硬件资源池中虚拟机,删除虚拟机时将虚拟机放入资源池而不是立即销毁虚拟机,除非当前资源池容量已经达到预先设定的最大值;
[0015]所述软件包注册模块在自动化软件配置管理工具上注册新的软件包;
[0016]所述操作排序模块根据操作对象在模型所表示的图形上的拓扑序进行反向排序形成工作流,硬件操作执行模块执行对虚拟机的增加、删除、修改操作,软件操作执行模块于执行对软件的增加、删除和修改操作。
[0017]本发明还公开了一种云计算平台中快速部署和更新虚拟环境系统的方法,包括以下步骤:
[0018](I)用户按照虚拟环境配置描述规约描述所需虚拟环境,形成配置文件;其中,虚拟环境包括虚拟机硬件资源和软件系统,以及相互之间的关系,并且该配置文件只描述期望得到的虚拟环境的各组成部分和关联关系;
[0019](2)解析上述所得的配置文件生成模型,模型由顶点和边形成有向图,顶点表示虚拟机和软件包,边表示顶点之间的关系,有向图整体表示所需虚拟环境;
[0020](3)进行模型差异计算得到部署或更新时需要执行的操作集合,并对该操作集合进行排序形成工作流,其中,所述操作集合中的操作包括对顶点和边的增加、删除和修改;在首次部署时使用空模型作为旧模型,后续更新时使用前一次配置作为旧模型,用户最新提交的配置文件解析成的模型是新模型;
[0021](4)生成硬件资源池,在实际部署前创建虚拟机硬件资源,减少部署和更新时等待创建虚拟硬件所需的时间;并使用该硬件资源池和云计算平台提供的编程接口执行硬件相关操作;
[0022](5)将部署和更新所涉及的软件在自动化软件配置管理工具上注册为软件包,注册后的软件包中包括有安装文件、安装方法、卸载方法和配置修改方法,且该软件包用于本次部署和后续更新以及其他部署和更新;
[0023](6)使用自动化软件配置管理工具提供的编程接口和已注册的软件包执行软件相关操作,对软件进行安装、卸载和修改;
[0024](7)按照步骤(3)所得工作流顺序,执行所述硬件相关操作和所述软件相关操作后获得虚拟环境;
[0025](8)修改配置文件并再次提交可以重复上述过程更新已部署的虚拟环境。
[0026]进一步的,所述步骤(I)中配置文件的描述规约包括:
[0027]使用kindOf关键词声明虚拟机类型和软件包类型,在语句末尾使用with关键词添加属性描述具体配置;
[0028]使用hostOn关键词声明某软件包安装于某虚拟机;
[0029]使用cbpengOn关键词声明软件包与软件包之间的依赖关系,在语句末尾使用at关键词声明所涉及的软件包配置项,未指定配置项的使用缺省配置项。
[0030]进一步的,所述步骤(2)中,边表示的关系包括软件包与虚拟机之间的hostOn、软件包与软件包之间的dependOn关系;
[0031]所述各个顶点和边的属性集为:顶点的属性表示虚拟机的名字、配置类型以及软件包的名字、类型、版本和具体配置;边的属性表示仅用于软件包与软件包之间的dependOn关系以及该dependOn关系所涉及的具体配置,软件包与虚拟机之间的hostOn关系不带属性。
[0032]进一步的,所述步骤(3)中,进行模型差异计算输出从模型A转换到模型B所需的操作集合,其具体计算过程包括:
[0033]设定四个集合,匹配集合M、新增集合N、删除集合D和修改集合C,集合M表示完全一致不需要进行操作,集合N表示需要创建新的虚拟机或安装新的软件包,集合D表示删除虚拟机或软件包,集合C表示修改软件包的配置或将虚拟机的类型进行更改,且修改虚拟机的类型由删除原虚拟机和创建新虚拟机组成;
[0034]对比模型A和模型B,利用顶点的名字匹配各顶点,利用边的起始点、终止点和属性集匹配各边,将所有匹配的对放入集合M ;
[0035]扫描所有模型A中不存在但在模型B中存在的顶点和边,放入集合N,即这些顶点和边需要新建;
[0036]扫描所有模型A中存在但在模型B中不存在的顶点和边,放入集合D,即这些顶点和边需要删除;
[0037]扫描M集合中所有匹配的对,将任何有属性更改的对放
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1