一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于历史数据的智能调度方法、系统及设备与流程

2022-06-16 05:46:19 来源:中国专利 TAG:


1.本发明涉及支付领域,特别是指一种基于历史数据的智能调度方法、系统及设备。


背景技术:

2.目前业界容器编排系统有:google开源的kubernetes,docker公司的swarm,apache的mesos,这些容器编排系统,使用了一些基本的调度策略,来实现整个系统的负载均衡,比如:1)基于资源leastrequestedpriority[1],节点上pod越多,排名越低;2)基于亲和性interpodaffinitypriority[1],将有关联的服务,尽量分配在一起。
[0003]
容器技术会保证不同服务,使用预先设定的cpu和内存资源,但对于磁盘资源,现有技术无法做到完全隔离。而现有的调度方案,也均未考虑真实的磁盘使用情况进行调度。会导致服务分配到同一物理机后,服务之间会互相抢占磁盘io资源,互相影响。
[0004]
现有技术中,1)容器资源划分为两类资源池,先将任务分配到第一类资源池中,根据负载逐步增大资源池的资源。记录任务高峰值时段所需的资源,作为未来分配资源的依据;但此方案需要先预发布任务,并等待任务达到峰值,方可开始调度,智能度不够。将容器资源划分为两类资源池,可能会存在资源浪费的情况。并且该方案用于大数据任务计算领域,未考虑资源抢占,特别是磁盘资源抢占对服务的影响,无法在线上环境中使用,尤其是对未来会发生变化,不是完全贴合历史数据走势的环境下;2)基于反亲和特性,将同一应用的副本调度到不同机器上,进而保证集群的高可用,但此方案仅考虑了应用的高可用,无法管控不同应用处在同一物理节点时的资源争抢情况,3)收集历史各维度负载情况,推测未来的负载,并进行调度;但该方案需要考虑多维度的负载,不能针对磁盘的io进行调度,使得对于磁盘的io调度效果不佳,导致服务之间互相影响,资源隔离性差。


技术实现要素:

[0005]
本发明的主要目的在于克服现有技术中的上述缺陷,提出一种基于历史数据的智能调度方法,能够在路由阶段根据失效卡的判断情况,能够在不同支付阶段调整支付渠道,丰富了用户在支付系统中的绑卡渠道,提高了支付成功率。
[0006]
本发明采用如下技术方案:
[0007]
一种基于历史数据的智能调度方法,包括如下步骤:
[0008]
获取容器以及物理机的历史负载数据,所述负载数据为磁盘io负载;
[0009]
基于容器以及物理机的历史负载数据,通过prophet时间序列预测算法,预测容器以及物理机下一时间周期的负载数据;
[0010]
根据预测的容器以及物理机下一时间周期的负载数据,根据调度策略,进行容器调度。
[0011]
具体地,基于容器以及物理机的历史负载数据,通过prophet时间序列预测算法,预测容器以及物理机下一时间周期的负载数据,所述prophet时间序列预测算法,具体为:
[0012]
基于已知的时间序列的时间戳和相应的负载值,训练prophet模型;
[0013]
在训练好的prophet模型中输入需要预测的时间序列的长度,输出未来的时间序列的时间戳和相应的负载值。
[0014]
具体地,所述根据预测的容器以及物理机下一时间周期的负载数据,根据调度策略,进行容器调度,具体为:
[0015]
根据预测的容器以及物理机下一时间周期的负载数据;
[0016]
获取各物理机能够提供的负载上限值,结合各物理机下一时间周期的负载数据,计算得出各物理机的下一时间周期的空载值;
[0017]
将各物理机下一时间周期的空载值以及容器下一时间周期的负载数据进行排序调度;具体为:
[0018]
对于物理机n,使得n2-n1》a1,则将容器a调度到物理机n;其中,a1为预测的下一时间周期的容器a的负载量,n1为预测的下一时间周期物理机n所有容器负载量之和为n1;n2为物理机n能提供的负载上限;
[0019]
直至各物理机的下一时间周期的空载值差值小于容器中下一时间周期的最小负载数据,则完成下一时间周期的调度。
[0020]
所述历史数据的智能调度方法,还包括:
[0021]
对于不存在历史数据的容器,先将其分配到下一时间周期的空载值最大的物理机上。
[0022]
具体地,将各物理机下一时间周期的空载值以及容器下一时间周期的负载数据进行排序调度,还包括,首先将容器进行负载分类,具体为:io密集型,高io容器;计算密集型,低io容器;io和计算均衡服务,均衡io容器。
[0023]
具体地,所述下一时间周期为5min。
[0024]
本发明实施例还提供一种基于历史数据的智能调度系统,包括:
[0025]
历史数据获取模块:获取容器以及物理机的历史负载数据,所述负载数据为磁盘io负载;
[0026]
预测模块:基于容器以及物理机的历史负载数据,通过prophet时间序列预测算法,预测容器以及物理机下一时间周期的负载数据;
[0027]
调度模块:根据预测的容器以及物理机下一时间周期的负载数据,根据调度策略,进行容器调度。
[0028]
具体地,调度模块中,所述根据预测的容器以及物理机下一时间周期的负载数据,根据调度策略,进行容器调度,具体为:
[0029]
根据预测的容器以及物理机下一时间周期的负载数据;
[0030]
获取各物理机能够提供的负载上限值,结合各物理机下一时间周期的负载数据,计算得出各物理机的下一时间周期的空载值;
[0031]
将各物理机下一时间周期的空载值以及容器下一时间周期的负载数据进行排序调度;具体为:
[0032]
对于物理机n,使得n2-n1》a1,则将容器a调度到物理机n;其中,a1为预测的下一时间周期的容器a的负载量,n1为预测的下一时间周期物理机n所有容器负载量之和为n1;n2为物理机n能提供的负载上限;
[0033]
直至各物理机的下一时间周期的空载值差值小于容器中下一时间周期的最小负
载数据,则完成下一时间周期的调度。
[0034]
本发明实施例再一方面提供一种基于历史数据的智能调度设备,包括:
[0035]
至少一个处理器;以及,
[0036]
与所述至少一个处理器通信连接的存储器;其中,
[0037]
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
[0038]
获取容器以及物理机的历史负载数据,所述负载数据为磁盘io负载;
[0039]
基于容器以及物理机的历史负载数据,通过prophet时间序列预测算法,预测容器以及物理机下一时间周期的负载数据;
[0040]
根据预测的容器以及物理机下一时间周期的负载数据,根据调度策略,进行容器调度。
[0041]
本发明实施例又一方面提供一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述一种基于历史数据的智能调度方法。
[0042]
由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:
[0043]
本发明提供了一种基于历史数据的智能调度方法,获取容器以及物理机的历史负载数据,所述负载数据为磁盘io负载;基于容器以及物理机的历史负载数据,通过prophet时间序列预测算法,预测容器以及物理机下一时间周期的负载数据;根据预测的容器以及物理机下一时间周期的负载数据,根据调度策略,进行容器调度;本发明方法收集应用容器的历史磁盘io使用情况,基于历史数据进行预测和调度,将有不同磁盘io负载的容器,调度到不同的机器上,保证应用互相不影响,分散io,提升整个系统的稳定性。
附图说明
[0044]
图1为本发明实施例提出的一种基于历史数据的智能调度方法流程图;
[0045]
图2为本发明实施例提供的一种基于历史数据的智能调度系统结构图;
[0046]
图3为本发明实施例提供的一种电子设备的实施例示意图;
[0047]
图4为本发明实施例提供的一种计算机可读存储介质的实施例示意图。
[0048]
以下结合附图和具体实施例对本发明作进一步详述。
具体实施方式
[0049]
本发明提供了一种基于历史数据的智能调度方法,收集应用容器的历史磁盘io使用情况,基于历史数据进行预测和调度,将有不同磁盘io负载的容器,调度到不同的机器上,保证应用互相不影响,分散io,提升整个系统的稳定性。
[0050]
如图1,为本发明实施例提供的一种基于历史数据的智能调度方法的流程图,具体包括:
[0051]
一种基于历史数据的智能调度方法,包括如下步骤:
[0052]
s101:获取容器以及物理机的历史负载数据,所述负载数据为磁盘io负载;
[0053]
本发明方案的历史负载数据只指磁盘io负载,这是由于cpu、内存资源隔离性较好,即使未调度,服务之间也不会互相干扰。而磁盘的io资源隔离性差,若不进行调度,会导致服务之间互相影响;即使是综合考虑多维负载,也会使得调度效果不佳。
[0054]
s102:基于容器以及物理机的历史负载数据,通过prophet时间序列预测算法,预测容器以及物理机下一时间周期的负载数据;
[0055]
具体地,基于容器以及物理机的历史负载数据,通过prophet时间序列预测算法,预测容器以及物理机下一时间周期的负载数据,所述prophet时间序列预测算法,具体为:
[0056]
基于已知的时间序列的时间戳和相应的负载值,训练prophet模型;
[0057]
在训练好的prophet模型中输入需要预测的时间序列的长度,输出未来的时间序列的时间戳和相应的负载值。
[0058]
s103:根据预测的容器以及物理机下一时间周期的负载数据,根据调度策略,进行容器调度。
[0059]
具体地,所述根据预测的容器以及物理机下一时间周期的负载数据,根据调度策略,进行容器调度,具体为:
[0060]
根据预测的容器以及物理机下一时间周期的负载数据;
[0061]
获取各物理机能够提供的负载上限值,结合各物理机下一时间周期的负载数据,计算得出各物理机的下一时间周期的空载值;
[0062]
将各物理机下一时间周期的空载值以及容器下一时间周期的负载数据进行排序调度;具体为:
[0063]
对于物理机n,使得n2-n1》a1,则将容器a调度到物理机n;其中,a1为预测的下一时间周期的容器a的负载量,n1为预测的下一时间周期物理机n所有容器负载量之和为n1;n2为物理机n能提供的负载上限;
[0064]
直至各物理机的下一时间周期的空载值差值小于容器中下一时间周期的最小负载数据,则完成下一时间周期的调度。
[0065]
所述历史数据的智能调度方法,还包括:
[0066]
对于不存在历史数据的容器,先将其分配到下一时间周期的空载值最大的物理机上。
[0067]
具体地,将各物理机下一时间周期的空载值以及容器下一时间周期的负载数据进行排序调度,还包括,首先将容器进行负载分类,具体为:io密集型,高io容器;计算密集型,低io容器;io和计算均衡服务,均衡io容器。
[0068]
具体地,所述下一时间周期为5min。
[0069]
如图2,本发明实施例另一方面提供一种基于历史数据的智能调度装置,包括:
[0070]
历史数据获取模块201:获取容器以及物理机的历史负载数据,所述负载数据为磁盘io负载;
[0071]
本发明方案的历史负载数据只指磁盘io负载,这是由于cpu、内存资源隔离性较好,即使未调度,服务之间也不会互相干扰。而磁盘的io资源隔离性差,若不进行调度,会导致服务之间互相影响;即使是综合考虑多维负载,也会使得调度效果不佳。
[0072]
预测模块202:基于容器以及物理机的历史负载数据,通过prophet时间序列预测算法,预测容器以及物理机下一时间周期的负载数据;
[0073]
具体地,基于容器以及物理机的历史负载数据,通过prophet时间序列预测算法,预测容器以及物理机下一时间周期的负载数据,所述prophet时间序列预测算法,具体为:
[0074]
基于已知的时间序列的时间戳和相应的负载值,训练prophet模型;
[0075]
在训练好的prophet模型中输入需要预测的时间序列的长度,输出未来的时间序列的时间戳和相应的负载值。
[0076]
调度模块203:根据预测的容器以及物理机下一时间周期的负载数据,根据调度策略,进行容器调度。
[0077]
具体地,所述根据预测的容器以及物理机下一时间周期的负载数据,根据调度策略,进行容器调度,具体为:
[0078]
根据预测的容器以及物理机下一时间周期的负载数据;
[0079]
获取各物理机能够提供的负载上限值,结合各物理机下一时间周期的负载数据,计算得出各物理机的下一时间周期的空载值;
[0080]
将各物理机下一时间周期的空载值以及容器下一时间周期的负载数据进行排序调度;具体为:
[0081]
对于物理机n,使得n2-n1》a1,则将容器a调度到物理机n;其中,a1为预测的下一时间周期的容器a的负载量,n1为预测的下一时间周期物理机n所有容器负载量之和为n1;n2为物理机n能提供的负载上限;
[0082]
直至各物理机的下一时间周期的空载值差值小于容器中下一时间周期的最小负载数据,则完成下一时间周期的调度。
[0083]
所述调度模块,还包括:
[0084]
对于不存在历史数据的容器,先将其分配到下一时间周期的空载值最大的物理机上。
[0085]
具体地,将各物理机下一时间周期的空载值以及容器下一时间周期的负载数据进行排序调度,还包括,首先将容器进行负载分类,具体为:io密集型,高io容器;计算密集型,低io容器;io和计算均衡服务,均衡io容器。
[0086]
具体地,所述下一时间周期为5min。
[0087]
如图3所示,本发明实施例提供了一种电子设备300,包括存储器310、处理器320及存储在存储器320上并可在处理器320上运行的计算机程序311,处理器320执行计算机程序311时实现本发明实施例提供的一种基于历史数据的智能调度方法。
[0088]
在具体实施过程中,处理器320执行计算机程序311时,可以实现:
[0089]
获取容器以及物理机的历史负载数据,所述负载数据为磁盘io负载;
[0090]
基于容器以及物理机的历史负载数据,通过prophet时间序列预测算法,预测容器以及物理机下一时间周期的负载数据;
[0091]
根据预测的容器以及物理机下一时间周期的负载数据,根据调度策略,进行容器调度。
[0092]
由于本实施例所介绍的电子设备为实施本发明实施例中一种数据处理装置所采用的设备,故而基于本发明实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本发明实施例中的方法不再详细介绍,只要本领域所属技术人员实施本发明实施例中的方法所采用的设备,都属于本发明所欲保护的范围。
[0093]
请参阅图4,图4为本发明实施例提供的一种计算机可读存储介质的实施例示意图。
[0094]
如图4所示,本实施例提供了一种计算机可读存储介质400,其上存储有计算机程序411,该计算机程序411被处理器执行时实现本发明实施例提供的一种基于历史数据的智能调度方法;
[0095]
在具体实施过程中,该计算机程序411被处理器执行时可以实现:
[0096]
获取容器以及物理机的历史负载数据,所述负载数据为磁盘io负载;
[0097]
基于容器以及物理机的历史负载数据,通过prophet时间序列预测算法,预测容器以及物理机下一时间周期的负载数据;
[0098]
根据预测的容器以及物理机下一时间周期的负载数据,根据调度策略,进行容器调度。
[0099]
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
[0100]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0101]
本发明提供了一种基于历史数据的智能调度方法,获取容器以及物理机的历史负载数据,所述负载数据为磁盘io负载;基于容器以及物理机的历史负载数据,通过prophet时间序列预测算法,预测容器以及物理机下一时间周期的负载数据;根据预测的容器以及物理机下一时间周期的负载数据,根据调度策略,进行容器调度;本发明方法收集应用容器的历史磁盘io使用情况,基于历史数据进行预测和调度,将有不同磁盘io负载的容器,调度到不同的机器上,保证应用互相不影响,分散io,提升整个系统的稳定性。
[0102]
上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献