一种调整业务容器的方法及装置制造方法及图纸

技术编号:21513566 阅读:35 留言:0更新日期:2019-07-03 08:55
本发明专利技术公开了一种调整业务容器的方法及装置,用以解决现有技术中存在的对云平台的业务容器的调整不够准确的技术问题。包括:监控服务集合当前的业务负载;其中,所述服务集合运行于所述云平台中,所述服务集合包括一个基础服务和N个普通服务,且普通服务是通过复制所述基础服务得到的,其中,N为自然数;当确定所述业务负载不在对应所述服务集合预设的负载范围之内时,根据预设的调度策略和所述业务负载,针对所述服务集合调整业务容器的数量;其中,所述业务容器用于承载所述普通服务的运行;在负载均衡软件Haproxy中更新所述业务容器的资源信息,以使所述负载均衡软件Haproxy对所述服务集合当前对应的所有业务容器的资源使用情况进行监控。

A Method and Device for Adjusting Business Containers

【技术实现步骤摘要】
一种调整业务容器的方法及装置
本专利技术涉及信息领域,尤其是涉及一种调整业务容器的方法及装置。
技术介绍
云计算(CloudComputing)己经成为未来互联网和移动互联网结合的一个新兴的计算模式,被称为IT产业化的第4次革命。而作为云计算中的核心技术——虚拟化技术,则是区别传统计算模式与云计算的重要特点。采用虚拟化技术可以将应用程序的执行环境,以打包的形式转到云平台中的其它节点处,实现应用程序的执行环境与物理环境的隔离,进而使得应用程序的执行不再依赖于特定的物理环境。通常,虚拟化技术是通过虚拟机(virtualMachine,VM)来实现的,虚拟机是通过软件模拟具有完整硬件系统功能的、能运行在一个完全隔离环境中的完整计算机系统。作为承载虚拟化技术的计算机/服务器设备,通常被称之为集群。在大多数情况下,一个集群所承受的工作负载是相对比较平稳的,其中,工作负载是指在给定时间内分配给客户端、工作组、服务器或系统的工作总额。但在某些业务的场景里,例如抢红包、抢购手机等,成千上万的用户会在短短数秒内向集群发出大量的请求。为了应对上述在短时间内突然爆发的大量应用请求,云平台通常是采用的自动伸缩服务来解决的。自动伸缩作为一项云平台的关键服务,可以根据用户定义的多种策略(时间表、运行状态等)自动实现IT资源的扩展或收缩,既能避免云平台IT资源过度配置、又能保持云平台有足够的性能,同时还能降低管理费用。目前,针对云平台的自动伸缩主要是基于传统的虚拟机技术。VM的Hypervisor需要完全虚拟一整套物理主机(CPU、内存、硬盘、网卡等)硬件设备,同时还要安装自己的操作系统(GuestOS),在资源利用率和启动速度以及性能上有较大的开销,其中,Hypervisor一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件,也可叫做虚拟机监视器(VirtualMachineMonitor,VMM)。在现有技术中,常用的自动伸缩方法有以下几种:第一种,用自动控制理论设计伸缩方法。该方法需要以监控系统作为基础,测量用户需求、系统状态和服务等级协议的接受程度,然后借助于增益调度将工作负载、服务器数量和Web服务的性能建立映射关系。但,采用这种方法的难点是应如何建立映射性能的可靠模型。第二种,是基于阈值的伸缩方法,实现对集群工作负载的动态适应。例如,Amazon的亚马逊网络服务(AmazonWebServices,AWS)和诸如RightScala这样的第三方工具都采用了此方法。但,在实现时如何设定适当的伸缩规则和设定特定的系统性能指标仍没有统一的定论。第三种,基于增强学习的伸缩决策制定,是近年来迅速发展的一种自动化的决策制定方法。增强学习通过不断学习先验知识,最终可以达到决定处于某状态的集群该进行何种伸缩的目标。这种方法对于运行了很长时间的集群后期将展现出它智能化的一面,但是在前期,需要对集群在各种工作负载下的不同状态进行大量积累,故该方法在前期的伸缩性能非常差。因此,如何提供一种行之有效的伸缩方法成为一个亟待解决的技术问题。
技术实现思路
本专利技术提供一种调整业务容器的方法及装置,用以解决现有技术中存在的对云平台的业务容器的调整不够准确的技术问题。第一方面,为解决上述技术问题,本专利技术实施例提供的一种调整业务容器方法的技术方案如下:监控服务集合当前的业务负载;其中,所述服务集合运行于所述云平台中,所述服务集合包括一个基础服务和N个普通服务,且普通服务是通过复制所述基础服务得到的,其中,N为自然数;当确定所述业务负载不在对应所述服务集合预设的负载范围之内时,根据预设的调度策略和所述业务负载,针对所述服务集合调整业务容器的数量;其中,所述业务容器用于承载所述普通服务的运行;在负载均衡软件Haproxy中更新所述业务容器的资源信息,以使所述负载均衡软件Haproxy对所述服务集合当前对应的所有业务容器的资源使用情况进行监控。可选的,所述监控服务集合当前的业务负载,包括:周期性地通过预设的监控模型,逐一对承载所述服务集合中每一个服务运行的业务容器的性能参数进行监控;其中,所述性能参数至少包括业务容器使用宿主机的中央处理器CPU、内存及输入输出I/O端口的资源量;通过预设的计算方式对所有业务容器的性能参数进行计算,获得所述业务负载。可选的,所述当确定所述业务负载不在对应所述服务集合预设的负载范围之内时,根据预设的调度策略和所述业务负载,针对所述服务集合调整业务容器的数量,包括:当所述业务负载高于所述负载范围的上限值时,根据预设的调度策略和所述业务负载,为所述服务集合增加第一预设数量的业务容器;其中,所述第一预设数量为根据用户的服务请求量确定需要新增的普通服务的数量;当所述业务负载低于所述负载范围的下限值时,根据预设的调度策略和所述业务负载,为所述服务集合减少第二预设数量的业务容器;其中,所述第二预设数量为根据所述服务集合中空闲资源量确定需要减少的普通服务的数量。可选的,根据预设的调度策略和所述业务负载,为所述服务集合增加第一预设数量的业务容器,包括:增加所述第一预设数量的业务容器时,分别针对每一个业务容器的操作如下:基于所述基础服务对应的业务容器的性能参数及所述云平台所在集群中各服务器的可用资源量,通过所述预设的调度策略为一个业务容器选择满足所述性能参数的宿主机;基于所述基础服务对应的业务容器的性能参数,利用第一预设指令在所述宿主机中创建所述一个业务容器,并在所述一个业务容器中运行对应的普通服务。可选的,根据预设的调度策略和所述业务负载,为所述服务集合减少第二预设数量的业务容器,包括:减少所述第二预设数量的业务容器时,分别针对每一个业务容器的操作如下:通过第二预设指令从一个业务容器对应的宿主机中,删除所述一个业务容器。可选的,所述在负载均衡软件Haproxy中更新所述业务容器的资源信息,包括:分别针对所述每一个业务容器执行以下操作:为一个业务容器建立对应的键值信息,并加入原有的键值信息集中,以获得第一键值信息集;其中,所述键值信息集是通过键值存储软件Ectd进行管理和存储的,用于跟踪所述服务集合中所有业务容器的资源信息;基于所述第一键值信息集,生成所有业务容器的负载均衡配置;其中,所述负载均衡配置是通过配置软件Confd生成的;将所述负载均衡配置加载到所述负载均衡软件Haproxy中,并基于所述负载均衡配置更新所述一个业务容器的资源信息。可选的,所述在负载均衡软件Haproxy中更新所述业务容器的资源信息,包括:分别针对所述每一个业务容器执行以下操作:将一个业务容器的键值信息从原有的键值信息集中移除,以获得第二键值信息集;基于所述第二键值信息集,生成所有业务容器的负载均衡配置;将所述负载均衡配置加载到所述负载均衡软件Haproxy中,并基于所述负载均衡配置更新所述一个业务容器的资源信息。第二方面,本专利技术实施例提供了一种用于调整业务容器的装置,包括:资源监控单元,用于监控服务集合当前的业务负载;其中,所述服务集合运行于所述云平台中,所述服务集合包括一个基础服务和N个普通服务,且普通服务是通过复制所述基础服务得到的,其中,N为自然数;容器调整单元,用于当确定所述业务负载不在对应所述服务集合预设的负载范围之内时本文档来自技高网
...

【技术保护点】
1.一种调整业务容器数量的方法,应用于云平台中,其特征在于,包括:监控服务集合当前的业务负载;其中,所述服务集合运行于所述云平台中,所述服务集合包括一个基础服务和N个普通服务,且普通服务是通过复制所述基础服务得到的,其中,N为自然数;当确定所述业务负载不在对应所述服务集合预设的负载范围之内时,根据预设的调度策略和所述业务负载,针对所述服务集合调整业务容器的数量;其中,所述业务容器用于承载所述普通服务的运行;在负载均衡软件Haproxy中更新所述业务容器的资源信息,以使所述负载均衡软件Haproxy对所述服务集合当前对应的所有业务容器的资源使用情况进行监控。

【技术特征摘要】
1.一种调整业务容器数量的方法,应用于云平台中,其特征在于,包括:监控服务集合当前的业务负载;其中,所述服务集合运行于所述云平台中,所述服务集合包括一个基础服务和N个普通服务,且普通服务是通过复制所述基础服务得到的,其中,N为自然数;当确定所述业务负载不在对应所述服务集合预设的负载范围之内时,根据预设的调度策略和所述业务负载,针对所述服务集合调整业务容器的数量;其中,所述业务容器用于承载所述普通服务的运行;在负载均衡软件Haproxy中更新所述业务容器的资源信息,以使所述负载均衡软件Haproxy对所述服务集合当前对应的所有业务容器的资源使用情况进行监控。2.如权利要求1所述的方法,其特征在于,所述监控服务集合当前的业务负载,包括:周期性地通过预设的监控模型,逐一对承载所述服务集合中每一个服务运行的业务容器的性能参数进行监控;其中,所述性能参数至少包括业务容器使用宿主机的中央处理器CPU、内存及输入输出I/O端口的资源量;通过预设的计算方式对所有业务容器的性能参数进行计算,获得所述业务负载。3.如权利要求1所述的方法,其特征在于,所述当确定所述业务负载不在对应所述服务集合预设的负载范围之内时,根据预设的调度策略和所述业务负载,针对所述服务集合调整业务容器的数量,包括:当所述业务负载高于所述负载范围的上限值时,根据预设的调度策略和所述业务负载,为所述服务集合增加第一预设数量的业务容器;其中,所述第一预设数量为根据用户的服务请求量确定需要新增的普通服务的数量;当所述业务负载低于所述负载范围的下限值时,根据预设的调度策略和所述业务负载,为所述服务集合减少第二预设数量的业务容器;其中,所述第二预设数量为根据所述服务集合中空闲资源量确定需要减少的普通服务的数量。4.如权利要求3所述的方法,其特征在于,根据预设的调度策略和所述业务负载,为所述服务集合增加第一预设数量的业务容器,包括:增加所述第一预设数量的业务容器时,分别针对每一个业务容器的操作如下:基于所述基础服务对应的业务容器的性能参数及所述云平台所在集群中各服务器的可用资源量,通过所述预设的调度策略为一个业务容器选择满足所述性能参数的宿主机;基于所述基础服务对应的业务容器的性能参数,利用第一预设指令在所述宿主机中创建所述一个业务容器,并在所述一个业务容器中运行对应的普通服务。5.如权利要求3所述的方法,其特征在于,根据预设的调度策略和所述业务负载,为所述服务集合减少第二预设数量的业务容器,包括:减少所述第二预设数...

【专利技术属性】
技术研发人员:高哲张浩张晨晨林文辉
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1