云计算环境下的自动伸缩方法和系统与制作流程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本技术公开了一种云计算环境下的自动伸缩方法,包括:通过IaaS管理平台中的虚拟机监控接口来定时采集监控信息,并将其写入缓存中;分析所述缓存中的监控信息;判断所分析的监控信息是否达到伸缩阈值;在所分析的监控信息达到所述伸缩阈值时,根据所述IaaS管理平台中预定义的伸缩配额、应用中预定义的伸缩配额以及伸缩策略来调用所述IaaS管理平台中的伸缩接口来创建或移除虚拟机;以及通过所述IaaS管理平台中的命令执行接口来完成应用和负载平衡的配置。本技术还公开了一种云计算环境下的自动伸缩系统。
权利要求书
1.一种云计算环境下的自动伸缩方法,包括:
通过IaaS管理平台中的虚拟机监控接口来定时采集监控信息,并将其写入缓存中;
分析所述缓存中的监控信息;
判断所分析的监控信息是否达到伸缩阈值;
在所分析的监控信息达到所述伸缩阈值时,根据所述IaaS管理平台中预定义的伸缩配额、应用中预定义的伸缩配额以及伸缩策略来调用所述IaaS管理平台中的伸缩接口来创建或移除虚拟机;以及
通过所述IaaS管理平台中的命令执行接口来完成应用和负载平衡的配置,
其中,所述伸缩配额是指伸缩虚拟机的数量控制,
所述伸缩策略是指伸缩的算法依据,
其中,还包括伸缩决策,所述伸缩决策是指以监控缓存和伸缩策略、配额为依据,对是否伸缩进行决策,如果答案是肯定的,则调用云平台的伸缩接口发起伸缩指令,并且定时调用任务查询接口来判断伸缩是否成功。
2.一种云计算环境下的自动伸缩系统,包括:IaaS管理平台和应用,其特征在于,
所述IaaS管理平台包含用于根据虚拟机的IP地址来获取该虚拟机的运行信息的虚拟机监控接口、用于创建或移除虚拟机的伸缩接口以及命令执行接口;以及
所述应用包含应用伸缩管理模块,所述应用伸缩管理模块含有如下功能单元:
监控单元,用于通过所述IaaS管理平台中的所述虚拟机监控接口来定时采集监控信息,并将其写入缓存中;
分析单元,用于分析所述缓存中的监控信息;
判断单元,用于判断所分析的监控信息是否达到伸缩阈值;
伸缩单元,用于在所分析的监控信息达到所述伸缩阈值时,根据所述IaaS管理平台中预定义的伸缩配额、应用中预定义的伸缩配额以及伸缩策略来调用所述IaaS管理平台中的所述伸缩接口来创建或移除虚拟机;以及
配置单元,用于通过所述IaaS管理平台中的所述命令执行接口来完成应用和负载平衡的配置,
其中,所述应用伸缩管理模块还含有:
伸缩配额单元,用于对进行伸缩的虚拟机的数量进行控制;以及
伸缩策略单元,用于提供伸缩策略和/或算法,其中,所述伸缩单元根据所述伸缩配额单元提供的预定义的伸缩配额以及所述伸缩策略单元提供的伸缩策略来创建或移除虚拟机,
其中,还包括伸缩决策,所述伸缩决策是指以监控缓存和伸缩策略、配额为依据,对是否伸缩进行决策,如果答案是肯定的,则调用云平台的伸缩接口发起伸缩指令,并且定时调用任务查询接口来判断伸缩是否成功。
3.如权利要求2所述的自动伸缩系统,其中,所述IaaS管理平台还包含用于查询伸缩任务的执行结果的任务查询接口。
4.如权利要求2所述的自动伸缩系统,其中,所述IaaS管理平台还包含配额管理模块,用于提供预定义的伸缩配额。
5.如权利要求2所述的自动伸缩系统,其中,所述应用伸缩管理模块还含有:执行单元,用于使虚拟机执行用户下发的命令。
6.如权利要求2所述的自动伸缩系统,其中,所述虚拟机监控接口是面向用户的监控接口。技术说明书
一种云计算环境下的自动伸缩方法和系统
本申请是如下母案的分案申请:
申请号:2013102529710
申请日:2013年6月24日
技术名称:一种云计算环境下的自动伸缩方法和系统。
技术领域
本技术涉及云计算领域,特别地,涉及云计算环境下的自动伸缩方法和系统。
背景技术
传统上采用纵向伸缩方案或横向伸缩方案来实现负载均衡。具体来说,纵向伸缩通过增加单台物理设备的性能来提升服务能力,例如提升物理设备的CPU、内存以及网卡带宽等。这样的服务能力提升,往往需要物理设备进行停机维护,因此业务中断将无法避免。其次,物理设备性能提升是有极限瓶颈的,例如一台物理设备支持的CPU个数以及内存数受限于技术的成熟度。
传统上的横向扩展过程,一般都是通过采购和部署新的硬件设施来实现的,整个决策和执行过程往往是以星期为单位,效率很低。另外也可能存在计划外的并发请求突然增加,导致系统瘫痪的情况,为防备这种情况的出现,就需要增加更多的备用计算节点,造成硬件资源的大量浪费。
技术内容
为解决上述问题,本技术提出了一种云计算环境下的自动伸缩方法,包括:通过IaaS管理平台中的虚拟机监控接口来定时采集监控信息,并将其写入缓存中;分析所述缓存中的监控信息;判断所分析的监控信息是否达到伸缩阈值;在所分析的监控信息达到所述伸缩阈值时,根据所述IaaS管理平台中预定义的伸缩配额、应用中预定义的伸缩配额以及伸缩策略来调用所述IaaS管理平台中的伸缩接口来创建或移除虚拟机;以及通过所述IaaS管理平台中的命令
执行接口来完成应用和负载平衡的配置。
根据本技术的另一个方面,提供了一种云计算环境下的自动伸缩系统,包括:IaaS管理平台和应用,其中,所述IaaS管理平台包含用于根据虚拟机的IP地址来获取该虚拟机的运行信息的虚拟机监控接口、用于创建或移除虚拟机的伸缩接口以及命令执行接口;以及所述应用包含应用伸缩管理模块,所述应用伸缩管理模块含有如下功能单元:监控单元,用于通过所述IaaS管理平台中的所述虚拟机监控接口来定时采集监控信息,并将其写入缓存中;分析单元,用于分析所述缓存中的监控信息;判断单元,用于判断所分析的监控信息是否达到伸缩阈值;伸缩单元,用于在所分析的监控信息达到所述伸缩阈值时,根据所述IaaS管理平台中预定义的伸缩配额、应用中预定义的伸缩配额以及伸缩策略来调用所述IaaS管理平台中的所述伸缩接口来创建或移除虚拟机;以及配置单元,用于通过所述IaaS管理平台中的所述命令执行接口来完成应用和负载平衡的配置。
在上述自动伸缩系统中,所述IaaS管理平台还包含用于查询伸缩任务的执行结果的任务查询接口。
在上述自动伸缩系统中,所述IaaS管理平台还包含配额管理模块,用于提供预定义的伸缩配额。
在上述自动伸缩系统中,所述应用伸缩管理模块还含有:伸缩配额单元,用于对进行伸缩的虚拟机的数量进行控制;以及伸缩策略单元,用于提供伸缩策略和/或算法,其中,所述伸缩单元根据所述伸缩配额单元提供的预定义的伸缩配额以及所述伸缩策略单元提供的伸缩策略来创建或移除虚拟机。
在上述自动伸缩系统中,所述应用伸缩管理模块还含有:执行单元,用于使虚拟机执行用户下发的命令。
在上述自动伸缩系统,其中,所述虚拟机监控接口是面向用户的监控接口。
采用上述自动伸缩方案,可提供根据应用服务实时运行状况进行服务能力的扩展伸缩能力。并且,本技术所述的自动伸缩服务可实现全自动化流程,便于管理与应用。此外,本技术所