一种支撑智能制造软件的运行资源调度方法技术

技术编号:38482783 阅读:15 留言:0更新日期:2023-08-15 16:59
本发明专利技术公开了一种支撑智能制造软件的运行资源调度方法,采用LSTM预测模型来预测未来设定时间段内各容器的负载指标,采用格布拉斯检验法从预测的负载指标中剔除偏差较大的可疑值,基于剔除后的负载指标计算当前系统中所有服务Pod的总综合负载,若总综合负载已经超出总阈值区间时,基于计算的期望副本数执行伸缩操作;同时,考虑单服务Pod的综合负载过高或者过低对系统服务的影响,若总综合负载没有超出总阈值区间,本发明专利技术采用判断单服务Pod的综合负载是否超出阈值区间的方式来决定是否触发伸缩操作,实现了以预测式伸缩提前适应资源消耗的情况,有利于提升集群资源利用率和保证集群中容器的运行质量。集群中容器的运行质量。集群中容器的运行质量。

【技术实现步骤摘要】
一种支撑智能制造软件的运行资源调度方法


[0001]本专利技术属于智能制造优化控制
,具体地说,是涉及一种支撑智能制造软件的运行资源调度方法。

技术介绍

[0002]随着互联网的发展以及云技术架构的演变,智能制造领域各相关企业的基础设施正在经历从物理服务器到虚拟机再到如今的容器集群的转变。如今,容器化技术快速发展,因其具有启动快、高扩展性、移植性好、资源利用率高等优点逐渐被智能制造领域各企业所青睐。企业逐渐将其生产环境中的业务迁移到容器中,实现业务上云,提高业务的交付和迭代能力,显著提高计算资源的利用率。
[0003]随着应用的逐渐扩大,容器化部署的数量也呈指数级增长,容器之间的通信以及容器的资源使用等因素,都会随着容器数量的增多而给智能制造领域企业的管理带来困难,因此管理容器集群的一些框架应运而生。其中,谷歌开源的Kubernetes凭借着其可以管理大量跨主机容器、轻量级开源、优化资源使用效率、功能可扩展等优点成为当下主流方案。
[0004]在Kubernetes内置集群中,弹性伸缩指的是随着业务量的增大或者减少,集群可以动态的通过调整节点、Pod的数量或者资源配置,来保证集群中应用的服务质量,同时还可以节省集群中的资源,从而可以部署更多的服务。
[0005]在Kubernetes的生态中,在多个维度、多个层次提供了不同的组件来满足不同的伸缩场景。一般来说承担业务的负载由主机(工作负载单元)和服务(工作负载)两个部分共同完成的,而在Kubernetes中主机一般就是Node节点,而服务就是指Deployment、StatefulSet、Daemonset等资源类型的Pod以及Pod包含的容器。所以弹性伸缩最大的两个维度是:主机维度和服务维度。而在实现方式上一共有两种,分别为水平扩缩容和垂直扩缩容。
[0006]目前Kubernetes内置的资源调度器虽然可以应对大多数场景下的容器管理和编排,但是在动态的资源调度以及集群的弹性伸缩方面,尤其是水平扩缩容上,仍存在一些问题:
[0007]在Pod的自动缩放时间内,系统已资源紧张饱和,若此时请求流量增加,系统服务响应时间随之增加,进而引起请求的拥堵并引发服务调用链中的连锁反应,直接影响上下游业务系统,甚至会导致服务不可用,破坏了系统的可用性。
[0008]在使用率的计算上,Ku bernetes集群使用CPU资源作为数据指标进行计算时,Pod实际运行中CPU的使用量是可以超过请求量的,这样计算的CPU使用率就会超过100%,与预期不符。
[0009]由于所有容器的资源用量都会被累加起来,Pod的总体资源用量值可能不会精确体现各个容器的资源用量。这一现象也会导致一些问题,例如某个容器运行时的资源用量非常高,但因为Pod层面的资源用量总值在可接受的约束范围内,H PA不会执行扩大目标对
象规模的操作。
[0010]在Kubernetes的HPA中提供了集群平台层面的CPU和内存的数据指标,但是没有基于应用的、具体的业务处理统计指标。目前的弹性伸缩仅仅是被动式的响应式伸缩,不支持预测式的伸缩策略,因此还不能做到及时满足流量增多的情况。

技术实现思路

[0011]本专利技术针对上述指出的水平扩缩容存在的一些问题进行改进,提出一种改进的弹性伸缩策略,给出综合负载CL(Comprehensive Load)的计算方法,使用CL作为弹性伸缩的指标,在总体综合负载超过阈值区间,或单个Pod的综合负载过高或过低时触发伸缩操作;同时使用LSTM预测模型对资源进行预测,以提前进行伸缩来保障服务质量。
[0012]本专利技术采用以下技术方案予以实现:
[0013]提出一种支撑智能制造软件的运行资源调度方法,包括:
[0014]采用LSTM预测模型预测未来设定时间段容器的负载指标;所述负载指标包括CPU、内存、网络宽带使用率和磁盘IO速度;
[0015]采用格布拉斯检验法从预测的负载指标中剔除可疑值;
[0016]基于剔除后的负载指标数据计算当前所有服务Pod的总综合负载;
[0017]当总综合负载超出总阈值区间时,计算期望副本数并执行伸缩操作;
[0018]当总综合负载未超出总阈值区间时,判断单服务Pod的综合负载,在单服务Pod的综合负载超出阈值区间时,基于阈值区间的阈值限值计算期望副本数,并基于期望副本数进行扩容或缩容。
[0019]在本专利技术一些实施例中,所述方法还包括:
[0020]将当前服务Pod的综合负载定义为:CL=λ1*M+λ2*C+λ3*D+λ4*N;其中,CL为当前服务Pod的综合负载,M为内存使用率,C为CPU使用率,D为磁盘IO占比,N为网络带宽利用率,λ为权重且满足λ1+λ2+λ3+λ4=1和α
i
为指标利用率。
[0021]在本专利技术一些实施例中,基于阈值区间的阈值限值计算期望副本数,并基于期望副本数进行扩容或缩容,包括:
[0022]在单服务Pod的综合负载超出阈值上限时,按照阈值下限计算期望副本数量:若副本数量保持不变,则不扩容,否则按照所述期望副本数进行扩容操作;
[0023]在单服务Pod的综合负载超出阈值下限时,按照阈值上限计算期望副本数量:若副本数量保持不变,则不缩容,否则按照期望副本数进行缩容操
作。
[0024]在本专利技术一些实施例中,所述方法还包括:
[0025]按照设定次数计算所述总综合负载,其中超过设定比例的总综合负载均超过所述总阈值区间时触发伸缩操作,且以达到触发条件时计算的期望副本数的均值执行伸缩操作。
[0026]与现有技术相比,本专利技术的优点和积极效果是:本专利技术提出的支撑智能制造软件的运行资源调度方法,采用LSTM预测模型来预测未来设定时间段内各容器的负载指标,采用格布拉斯检验法从预测的负载指标中剔除偏差较大的可疑值,基于剔除后的负载指标计算当前系统中所有服务Pod的总综合负载,若总综合负载已经超出总阈值区间时,基于计算的期望副本数执行伸缩操作;同时,考虑单服务Pod的综合负载过高或者过低对系统服务的影响,若总综合负载没有超出总阈值区间,本专利技术采用判断单服务Pod的综合负载是否超出阈值区间的方式来决定是否触发伸缩操作,实现了以预测式伸缩提前适应资源消耗的情况,有利于提升集群资源利用率和保证集群中容器的运行质量。
[0027]结合附图阅读本专利技术实施方式的详细描述后,本专利技术的其他特点和优点将变得更加清楚。
附图说明
[0028]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0029]图1为本专利技术提出的支撑智能制造软件的运行资源调度方法执行示意;
[0030]图2为本专利技术实施例中LSTM模型的示意;
[0031]图3为本专利技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支撑智能制造软件的运行资源调度方法,其特征在于,包括:采用LSTM预测模型预测未来设定时间段容器的负载指标;所述负载指标包括CPU、内存、网络宽带使用率和磁盘IO速度;采用格布拉斯检验法从预测的负载指标中剔除可疑值;基于剔除后的负载指标数据计算当前所有服务Pod的总综合负载;当总综合负载超出总阈值区间时,计算期望副本数并执行伸缩操作;当总综合负载未超出总阈值区间时,判断单服务Pod的综合负载,在单服务Pod的综合负载超出阈值区间时,基于阈值区间的阈值限值计算期望副本数,并基于期望副本数进行扩容或缩容。2.根据权利要求1所述的支撑智能制造软件的运行资源调度方法,其特征在于,所述方法还包括:将当前服务Pod的综合负载定义为:CL=λ1*M+λ2*C+λ3*D+λ4*N;其中,CL为当前服务Pod的综合负载,M为内存使用率,C为CPU使用率,D为磁盘IO占比,N...

【专利技术属性】
技术研发人员:石硕于树松魏振辉刘晓菲张潘杰
申请(专利权)人:中国海洋大学
类型:发明
国别省市:

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

1