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

文档序号:8380771阅读:来源:国知局
入集合C并标明修改之处,即这些顶点和边的属性需要修改;
[0038]扫描集合M和集合C中初始点是软件包、终止点是虚拟机的边,如果该虚拟机处于集合N、D或C中,即该虚拟机已经不是原来的那台,则说明软件包从原来所处的虚拟机上移动了新创建的虚拟机上,应将该软件包顶点和该边放入集合N,表示在新创建的虚拟机上安装该软件包;
[0039]最后,为集合N中元素生成新建操作,为集合D中元素生成删除操作,为集合C中元素生成修改操作,忽略集合M中元素。
[0040]进一步的,所述步骤(3)中,所述工作流具体是指,将操作集合中的操作按照操作对象在模型有向图上的拓扑序即依赖关系进行反向排序:从拓扑序最大、依赖关系最深的对象开始依次执行到拓扑序最小、依赖关系最浅的对象,保证操作对象的依赖对象会先于本操作对象被创建。
[0041]进一步的,所述步骤(4)中,生成硬件资源池后设定资源池容量的最大值和最小值,调用云计算平台提供的编程接口发出指令生成虚拟机直至达到最大容量,硬件资源池中的虚拟机在部署和更新时被优先使用,其中,硬件资源池容量的最大值和最小值是一组键值对,表示不同虚拟机配置类型所对应的容量;
[0042]在执行硬件相关操作时,若需新建硬件资源,优先使用硬件资源池中的资源,硬件资源池中资源无法满足执行操作时,向云计算平台提供的编程接口发出指令创建资源;若需删除资源,优先将资源放入硬件资源池中,除非硬件资源池中相应类型资源数量以达最大值,这种情况下将销毁该资源;使用过硬件资源池中的资源后,若资源池中相应资源的数量少于规定的最小值,则会向云计算平台提供的编程接口发出指令创建一定量资源满足最小值。
[0043]有益效果:与现有技术相比,本发明具有以下优点:
[0044](I)本发明简单高效,用户根据配置格式描述所需硬件资源、软件包、软件包与硬件关系以及软件包与软件包之间的关系,即可生成所需虚拟环境;
[0045](2)用户编写的配置文件可以在配置相同环境时重复使用;
[0046](3)本发明具有更新虚拟环境的能力,用户无需手动更改现有软硬件,而是直接描述期望得到的更新后的虚拟环境的各组成部分和关联,系统自动计算需要做出的更改操作并执行;同时,用户无需手动指定部署和更新的工作流,系统根据模型有向图计算依赖关系,按照合法的顺序依次执行操作;
[0047](4)本发明中的硬件资源池加速了部署和更新过程,无需等待新的虚拟机被创建,而是直接从资源池中选用,更新虚拟环境时删除的虚拟机也会进入资源池以备后续使用;
[0048](5)本发明中用户注册的软件包可以在配置其他环境时重复使用,并且该软件包的注册使用了现有的自动化软件配置管理工具,用户需要自行定义的部分大大减少,提高了效率和精度。
[0049]综上所述,本发明从多个方面极大的简化用户在部署虚拟环境时的工作,提高了对虚拟环境的更新能能力,加速了部署和更新过程,提高了配置的复用能力,具有广阔的应用推广前景。
【附图说明】
[0050]图1为本发明的模块结构示意图;
[0051]图2为本发明中配置解析模块的示意图;
[0052]图3为本发明中软件包注册模块与自动化软件配置管理工具之间的关系示意图;
[0053]图4为实施例中的模型示意图;
[0054]图5为实施例中转换后的模型示意图;
[0055]图6为实施例中硬件资源池使用流程示意图;
[0056]图7为本发明的流程示意图;
[0057]图8为本发明的简略流程示意图。
【具体实施方式】
[0058]下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
[0059]如图1至图3所示,本发明的一种云计算平台中快速部署和更新虚拟环境系统,包括依次连接的配置输入模块、配置解析模块、模型差异计算模块和操作执行模块,配置输入模块接收用户输入的配置文件并传入配置解析模块;配置解析模块验证所接收配置文件的合法性和解析用户描述,检测不符合格式要求的描述并返回错误信息,并通过解析器解析合法文本内容生成相应模型;模型差异计算模块计算两个模型之间的差异,输出从模型A转换到模型B所需的最少操作集合,模型A可以为空,用于计算首次部署虚拟环境时需要的操作集合;并且,模型差异计算模块与配置解析模块之间设置有模型存储模块,该模型存储模块存储配置解析模块生成的模型,这些模型用于更新时进行的模型差异计算;操作执行模块执行模型差异计算模块输出的所有操作集合,本模块包括有三个子模块:操作排序模块,以及分别与操作排序模块连接的硬件操作执行模块和软件操作执行模块;硬件操作执行模块的另一端分别连接有相互联通的云计算平台和硬件资源池模块;软件操作执行模块的另一端连接有自动化软件配置管理工具,自动化软件配置管理工具上还连接有软件包注册模块。
[0060]上述软件包注册模块用于注册新的软件包,且与自动化软件配置管理工具紧密相关。用户需要上传安装文件,使用自动化软件配置管理工具提供的编程接口定义安装方法、卸载方法、配置修改方法。注册的软件包可以在当前虚拟环境部署中使用,也可以在其他部署中使用。默认提供的常用软件包如Apache、MysqK PostgreSQL、Hadoop> OpenSSL、HAProxy,已经可以满足用户的基本需求如部署个人网站、计算集群、软件测试环境等,用户若有需求安装自定义软件包,只需根据自动化软件配置管理工具提供的编程接口进行自定义即可,自定义好的软件包可以在日后的部署中重复使用。
[0061]上述云计算平台和自动化软件配置管理工具上均设有编程接口 ;硬件资源池模块设定资源池容量且维护池中虚拟机资源;操作执行模块在创建虚拟机时优先使用硬件资源池中虚拟机,删除虚拟机时将虚拟机放入资源池而不是立即销毁虚拟机,除非当前资源池容量已经达到预先设定的最大值;操作排序模块根据操作对象在模型所表示的图形上的拓扑序进行反向排序形成工作流,硬件操作执行模块执行对虚拟机的增加、删除、修改操作,软件操作执行模块于执行对软件的增加、删除和修改操作。
[0062]在本实施例中,配置输入模块能够提供多种用户输入方式:提供本地命令行方式使得用户可以运行本地程序并将配置文件作为参数传入;提供RESTful API方式使得用户可以将文件以POST请求的方式提交;提供网页端图形界面方式使得用户可以使用网页上的上传功能选择配置文件进行上传,或者直接在网页端的编辑器内输入配置文件内容提交。并且该配置输入模块接受的配置文件内容需符合一定格式要求,具体包括:
[0063]使用kindOf关键词声明虚拟机类型和软件包类型,还可在语句末尾使用with关键词添加属性描述具体配置;使用hostOn关键词声明某软件包安装于某虚拟机;使用cbpengOn关键词声明软件包与软件包之间的依赖关系,例如可在语句末尾使用at关键词声明所涉及的软件包配置项,未指定配置项的使用缺省配置项。例如,可以给出以下例配置文件:
[0064]serverI kindOf Typel
[0065]server2 kindOf Type2
[0066]web I kindOf Web
[0067]dbl kindOf Mysql with port = 3306
[0068]web I hostOn serverI
[0069]dbl hostOn server2
[0070]web I dependOn dbl at dbconnect1n
[0071]本实施例中的虚拟环境如图4所示,用户定义类型为Typel的虚拟机serverl和类型为Type2的虚拟机server2各一台,此处的Typel和Type2代表不同的硬件配置(例如,4核CPU+8G内存+20G硬盘或者8核CPU+16G内存+128G硬盘,是由云计算平台提供的);用户定义类型为Web的软件包webl和类型为Mysql监听端口为3306的软件包dbl,其中,web I是一个用于运行网站的软件包,dbl是用来运行数据库
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1