[发明专利]一种实现运行环境动态伸缩的方法有效
申请号: | 201610816688.X | 申请日: | 2016-09-12 |
公开(公告)号: | CN106445512B | 公开(公告)日: | 2019-07-02 |
发明(设计)人: | 周庆勇 | 申请(专利权)人: | 浪潮软件股份有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 张靖 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种实现运行环境动态伸缩的方法,所述方法通过java定时器调用cloud foundry的API获取所有应用运行环境的CPU使用信息,并根据CPU的使用率与阀值比较,采用标签化形式存入堆内存或内存数据库;利用java定时器获取堆内存或内存数据库的信息,根据规则来监测应用环境是否达到伸缩标准,并以之增加或减少实例个数,从而实现扩容/减容,总体实例数控制在最小‑最大个数之间。本发明实现了应用运行环境实例的弹性扩缩容,能够对于使用开源Paas产品cloud foundry的客户,快速高效提供了一种实例弹性解决方案,提高了资源利用率,也可做为开源产品的一个有益补充。 | ||
搜索关键词: | 一种 实现 运行 环境 动态 伸缩 方法 | ||
【主权项】:
1.一种实现运行环境动态伸缩的方法,其特征在于:所述方法通过java定时器调用cloud foundry的API获取所有应用运行环境的CPU使用信息,并根据CPU的使用率与阈值比较,采用标签化形式将CPU使用信息存入堆内存或内存数据库;利用java定时器获取堆内存或内存数据库的信息,根据规则来监测应用环境是否达到伸缩标准,并以之增加或减少实例个数,从而实现扩容/减容,总体实例数控制在最小‑最大个数之间;所述方法实现过程如下:采用java堆内存,采用ConcurrentHashMap类型作为全局Map<应用Context名,12位状态码>写入内存,12位状态码初始为“000000000000”;设置定时器A和定时器B:定时器A,使用Maxflag和Minflag分别作为在内存中写入超额H和低额L的触发标识,每10秒钟,通过检测Maxflag数量,检测是否某应用下所有实例CPU使用率都达到80%以上,满足条件进行数据打标签,用“H” 从最后一位顺序写入状态码进行占位;通过检测Minflag数量,检测是否某应用下所有实例CPU使用率都达到20%以上且实例数超过2个,满足条件进行数据打标签,用“L” 从最后一位顺序写入状态码进行占位;不超额也不低额则用“0”进行占位;定时器B,不间断循环读取内存ConcurrentHashMap中的成员,如果读到Map中某个key的value状态码为12位全“H”,则说明一分钟该应用都处于超额状态,这时定时器B则调用cloud foundry接口增加一个实例,实现扩容;如果读到Map中某个key的value状态码为12位全“L”,则说明一分钟该应用都处于低额状态,这时定时器B则调用cloud foundry接口减少一个实例,实现减容。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件股份有限公司,未经浪潮软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610816688.X/,转载请声明来源钻瓜专利网。