一种基于时序预测的容器调度方法技术

技术编号:23890104 阅读:45 留言:0更新日期:2020-04-22 06:06
一种基于时序预测的容器调度方法,包括以下步骤:s1:根据行业应用的特征选定其周期性;s2:时序预测模块从指标数据库获取监控系统采集的应用各种历史负载数据,根据应用的历史负载数据,利用时序预测算法,对所述应用的一个完整周期中的每个历史负载数据进行学习,预测出一个完整周期中每个时间点的资源特征值;s3:将上述资源特征值存放到缓存库中,供调度扩展模块使用;s4:创建一个新容器应用,在一个候选节点列表中根据优先级选择一个最优节点,并将所述新容器放置在该最优节点上。本发明专利技术的方法能够自动识别应用的特征,将不同高峰期的应用错峰部署,实现削峰填谷,提升整个集群的资源利用率和自动化运维水平。

A container scheduling method based on time series prediction

【技术实现步骤摘要】
一种基于时序预测的容器调度方法
本专利技术属于电信运营商业务领域,尤其涉及一种基于时序预测的容器调度方法。
技术介绍
电信运营商的业务运营支撑系统(Business&OperationSupportSystem,以下简称为BOSS系统)是一种复杂的企业级应用,分为CRM、计费、结算等多个子系统,包含数百个应用,在微服务架构下,应用是以容器方式发布并运行到容器集群中的,将容器放置到合适的节点上(以下这个过程也会称为调度),实现整个集群资源最大利用率是容器集群的核心功能。在微服务架构下,应用和容器是一一对应的(即一个容器内只部署一个应用),因此在本专利技术的描述中,容器和应用会混合使用,都代表某种应用的容器,比如某容器的负载特征是指某种应用容器的负载特征。在利用预测的资源调度方面,现有技术方案存在如下问题:首先,基于预测来实现弹性伸缩或者动态迁移,即通过预测未来一段时间资源的使用量来调整现有部署(通过扩缩容或者动态迁移)。无论是伸缩还是迁移,是事后的优化,都有一定的变更成本。同时,容器往往承载的是微服务应用,本身是不断在创建和销毁的(比如版本升级时),与虚拟机场景是不同的,因此在放置阶段进行优化更为有效。其次,现有的容器集群的调度算法使用了容器资源使用量这个参考因子,但是这个因子有两个问题,首先它是单值,单个值无法准确描述资源使用量,因为容器的资源使用往往是周期性的,不同时刻有高低峰。其次这个值是人工输入的经验值,需要人工评估,而微服务架构下一个系统是由大量应用组成的,人工方式不但不准确且工作量巨大。最后,目前应用于这一领域的时序算法,主要的预测算法有ARIMA,但是ARIMA算法用于短期预测是有效的,无法准确拟合周期性波动,ARIMA算法的进一步改进SARIMA算法可以拟合周期性特征,但是计算量巨大,微服务应用数量较多时,SARIMA不具备实用性。
技术实现思路
为解决上述技术问题,本专利技术提出一种基于时序预测的容器调度方法,能够自动识别应用的特征,将不同高峰期的应用错峰部署,实现削峰填谷,提升整个集群的资源利用率和自动化运维水平。为实现上述技术目的,本专利技术采用以下技术方案:一种基于时序预测的容器调度方法,包括以下步骤:s1:根据行业应用的特征选定其周期性,以确定所述应用的一个完整周期的资源使用情况;s2:时序预测模块从指标数据库获取监控系统采集的应用各种历史负载数据,根据应用的历史负载数据,利用时序预测算法,对所述应用的一个完整周期中的每个历史负载数据进行学习,预测出一个完整周期中每个时间点的资源特征值;s3:将上述资源部特征值存放到缓存库中,供调度扩展模块使用;s4:创建一个新容器应用,在一个候选节点列表中根据优先级选择一个最优节点,并将所述新容器放置在该最优节点上;s5:定时周期性执行步骤s2-s3,以保证特征值是及时有效的。进一步的,在步骤s2中,时序预测时先用四分位算法对采集的历史负载数据进行异常值过滤,然后利用prophet算法拟合并预测出一个完整周期的资源特征值。进一步的,所述时序预测模块由python语言实现,定期从指标数据库中获取应用的历史负载数据,并利用预测算法预测出应用的资源特征值。进一步的,在步骤s4中,所述最优节点的确定方法为:s41:将一个节点上所有应用以及新应用的资源特征值按照时间点进行相加,取最大值,并计算出在最大值时节点的资源空闲率,将所述资源空闲率归一化后作为此节点的优先级;s42:将步骤s41中所得的优先级与实例分布均衡性优先级、资源空闲率优先级、资源使用均衡优先级、亲和优先级以及本地镜像优先级通过加权计算得出此节点最终的优先级;s43:计算出所有节点的最终优先级,选择优先级最大的节点作为所述新容器的放置节点。进一步的,在步骤s4中,获得所述候选节点列表的方法为:当用户新建一个容器应用时,容器管理平台首先执行其内置的筛选策略,将一些不符合条件的节点筛选掉,然后调用调度扩展模块中的Predicate接口,调度扩展模块计算请求参数中的所有节点的处理能力是否可以满足以下计算公式:其中,C为此节点的资源总量,为此节点上的已调度和待调度的应用容器的总数,为应用在点时资源使用预测,为周期的点数,如果这个值为正,则将节点放到合格列表即候选节点列表中,如果值为负,则将节点放到不合格列表;同时将上述得到的计算值缓存,其绝对值作为步骤s4中所述优先级的值。进一步的,所述调度扩展模块由Go语言编写实现,提供HTTPAPI接口供容器管理平台调用。本专利技术要求保护的技术方案是对容器集群选择计算节点放置容器的这一环节进行优化,通过基于机器学习的时序预测算法,根据容器的历史负载数据,对容器的未来一段时间的负载进行预测,将这个预测结果作为容器的特征保存下来,并利用负载特征在初次部署选择节点来放置容器时实现优化,对容器进行调度,比如可以将不同高峰期的应用调度到同一个计算节点上,实现削峰填谷,从而提高集群的资源利用率。与现有技术相比,本专利技术的基于时序预测的容器调度方法具有以下优点:首先,本专利技术的技术方案利用时序预测在首次容器放置时进行调度优化,没有变更成本和风险,因为即使虚拟机支持热迁移,容器支持优雅启停,但是在业务正常运行时进行资源调整依然存在风险,技术难度更高,因而本方案更有实用性。其次,本专利技术的技术方案相比现有的容器放置策略,通过时序预测算法,可以自动评估容器的资源特征值,而无需人工评估,在大规模的微服务架构下,既可以节省运维人力,又可以通过机器学习提高评估的准确度。并且可以自动的定期根据最新的监控数据重新计算和评估,保证更新的及时性。再次,本专利技术的技术方案与现有的方案相比,对应用资源需求量的因子,从考察单值变成考察一个完整周期内的各个时间点的值,可以实现不同峰值应用的错峰部署,达到自动的削峰填谷的效果,能够提升整个集群的资源利用率。再次,本专利技术的技术方案通过使用四分位法和prophet算法,既能够实现准确预测周期性数据,又不带来过多的计算量,更有实用性。最后,本专利技术的技术方案不会覆盖系统原有策略,而是在优先级的计算中增加一个新的因子,不会影响系统现有功能,是一种扩展和增强,更具实用性。附图说明图1为本专利技术实施例容器放置方法的实现架构图;图2为两种容器应用的每日负载示意图;图3为一个节点部署两种应用各场景下每日负载示意图。具体实施方式下面结合附图以及具体实施方式对本专利技术做进一步的描述。一种基于时序预测的容器调度方法,包括以下步骤:s1:根据行业应用的特征选定其周期性,以确定所述应用的一个完整周期的资源使用情况;s2:时序预测模块从指标数据库获取监控系统采集的应用各种历史负载数据,根据应用的历史负载数据,利用时序预测算法,对所述应用的一个完整周期中的每个历史负载数据进行学习,预测出一个完整周期中每个时间点的资源特征值;s3:将上述本文档来自技高网
...

【技术保护点】
1.一种基于时序预测的容器调度方法,其特征在于,包括以下步骤:/ns1:根据行业应用的特征选定其周期性,以确定所述应用的一个完整周期的资源使用情况;/ns2:时序预测模块从指标数据库获取监控系统采集的应用各种历史负载数据,根据应用的历史负载数据,利用时序预测算法,对所述应用的一个完整周期中的每个历史负载数据进行学习,预测出一个完整周期中每个时间点的资源特征值;/ns3:将上述资源部特征值存放到缓存库中,供调度扩展模块使用;/ns4:创建一个新容器应用,在一个候选节点列表中根据优先级选择一个最优节点,并将所述新容器放置在该最优节点上;/ns5:定时周期性执行步骤s2-s3,以保证特征值是及时有效的。/n

【技术特征摘要】
1.一种基于时序预测的容器调度方法,其特征在于,包括以下步骤:
s1:根据行业应用的特征选定其周期性,以确定所述应用的一个完整周期的资源使用情况;
s2:时序预测模块从指标数据库获取监控系统采集的应用各种历史负载数据,根据应用的历史负载数据,利用时序预测算法,对所述应用的一个完整周期中的每个历史负载数据进行学习,预测出一个完整周期中每个时间点的资源特征值;
s3:将上述资源部特征值存放到缓存库中,供调度扩展模块使用;
s4:创建一个新容器应用,在一个候选节点列表中根据优先级选择一个最优节点,并将所述新容器放置在该最优节点上;
s5:定时周期性执行步骤s2-s3,以保证特征值是及时有效的。


2.根据权利要求1所述的一种基于时序预测的容器调度方法,其特征在于,在步骤s2中,时序预测时先用四分位算法对采集的历史负载数据进行异常值过滤,然后利用prophet算法拟合并预测出一个完整周期的资源特征值。


3.根据权利要求1所述的一种基于时序预测的容器调度方法,其特征在于,在步骤s2中,所述时序预测模块由python语言实现,定期从指标数据库中获取应用的历史负载数据,并利用预测算法预测出应用的资源特征值。


4.根据权利要求1所述的一种基于时序预测的容器调度的方法,其特征在于,在步骤s4中,所述最优节点的确定方法为:s41:将...

【专利技术属性】
技术研发人员:王玉木
申请(专利权)人:浩鲸云计算科技股份有限公司
类型:发明
国别省市:江苏;32

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

1