一种无服务架构下容器动态调度的方法及系统与流程
- 国知局
- 2024-10-09 15:10:13
本发明涉及计算机,尤其涉及一种无服务架构下容器动态调度的方法及系统。
背景技术:
1、现有的无服务架构下容器的调度方法,通常是根据指标计算应用的容器扩缩比例,以该扩缩比例进行扩缩容。但是在实际场景中,无服务架构下的应用由多个函数组成,以指标计算出的扩缩比例为统一的扩缩比例,但各个函数被调用的频率不同,且调用的频率会发生变化,因此以统一扩缩比例进行扩缩容,可能会导致有些函数容器过度供应,而有些函数容器供应不足,不能满足实际需求。针对该缺陷,后有学者提出通过深度强化学习训练构建预测模型,以该预测模型预测各个函数调用频率以此计算各个函数的容器扩缩容,但该方法在建立预测模型时需要大量的历史数据,即,需要应用上线一段时间积累足够历史数据后才能进行,对于历史数据不足的情况下,所构建的预测模型准确性得不到保证,进而影响所计算出的函数的容器扩缩容的准确性,影响容器的动态调度。
技术实现思路
1、本发明所要解决的技术问题是:本发明提供一种无服务架构下容器动态调度的方法及系统,提高在历史数据不足时容器扩缩容的准确性,优化容器的动态调度。
2、为了解决上述技术问题,本发明采用的技术方案为:
3、第一方面,本发明提供一种无服务架构下容器动态调度的方法,包括:
4、接收用户所选中的应用的所有扩缩容指标和每一个扩缩容指标对应的指标权重,获取每一个扩缩容指标的第一时间序列数据,基于所述第一时间序列数据通过时序预测方法预测未来时间每一个扩缩容指标的指标变化值,根据所述指标变化值和对应的指标权重计算扩缩容容器数量,根据所述扩缩容容器数量得到未来容器总数量;
5、获取每一个函数的dag描述文件,根据所述dag描述文件计算每一个函数对应的初始重要度,获取每一个函数的调用频率的第二时间序列数据,基于所述第二时间序列数据通过时序预测方法预测未来时间每一个函数的调用频率的调用变化值,根据所述初始重要度和所述调用变化值计算每一个函数的未来权重;
6、将所述未来容器总数量按照每一个函数的未来权重进行容器数量分配,实现容器动态调度。
7、本发明的有益效果在于:在没有大量历史数据的情况下,采用时序预测方法对未来时间每一个扩缩容指标的指标变化值进行预测,将得到的每一个扩缩容指标的指标变化值与对应的指标权重进行计算,得到扩缩容容器数量,提高扩缩容容器数量的准确性,保证所得到的未来容器总数量的准确性,同时,采用时序预测方法对未来时间每一个函数的调用频率进行预测,并结合每一个函数的初始重要度计算每一个函数的未来权重,提高所计算出的每一个函数的未来权重的准确性,且最终是将未来容器总数量按照每一个函数的未来权重对函数进行容器数量分配,保证分配合理性的同时,提高了在历史数据不足时容器扩缩容的准确性,优化容器的动态调度。
8、可选地,所述根据所述指标变化值和对应的指标权重计算扩缩容容器数量,根据所述扩缩容容器数量得到未来容器总数量包括:
9、将所述指标变化值和对应的指标权重输入指标加权和变化公式进行计算,得到扩缩容指标的指标加权和变化值,其中指标加权和变化公式为:
10、
11、其中,t表示未来时间的时间点,k(t)表示未来时间的时间点t的指标加权和变化值,zpi(t)表示未来时间的时间点t的扩缩容指标i的指标变化值,i=1,2,…,j,j表示扩缩容指标的总数,wi表示扩缩容指标i对应的指标权重,zpi(t-1)表示当前时间扩缩容指标i的指标变化值;
12、获取当前时间的当前容器总数量,将所述当前容器总数量和所述指标加权和变化值输入扩缩容容器数量计算公式进行计算,得到扩缩容容器数量,其中扩缩容容器数量计算公式为:
13、sum(t)=k(t)*num(t-1)-num(t-1)
14、其中,sum(t)表示未来时间的时间点t的的扩缩容容器数量,num(t-1)表示当前时间的当前容器总数量;
15、将所述扩缩容容器数量输入未来容器总数量计算公式进行计算,得到未来容器总数量,其中未来容器总数量计算公式为:
16、sum(t)=sum(t)+num(t-1)
17、其中,sum(t)表示未来时间的时间点t的未来容器总数量。
18、根据上述描述可知,基于指标变化值和对应的指标权重计算出扩缩容指标的指标加权和变化值,将指标加权和变化值和当前时间的当前容器总数量结合计算出扩缩容容器数量,提高扩缩容容器数量的准确性,进而保证根据扩缩容容器数量和当前容器总数量得到的未来容器总数量的准确性。
19、可选地,所述获取每一个函数的dag描述文件,根据所述dag描述文件计算每一个函数对应的初始重要度包括:
20、从每一个函数的dag描述文件中获取对应函数所在的工作流数量和总工作流数量,计算每一个函数所在的工作流数量在所述总工作流数量的占比,得到第一比例;
21、对所有函数进行求和得到总函数数量,并获取每一个函数的后继函数,分别计算每一个函数的后继函数在所述总函数数量的占比,得到第二比例;
22、将所述第一比例和所述第二比例对应输入重要度公式进行计算,得到每一个函数对应的初始重要度,其中重要度公式为:
23、
24、其中,ml表示函数l的初始重要度,表示函数l的第一比例,cl表示函数l所在的工作流数量,c表示总工作流数量,a表示第一比例的第一调节参数,表示函数l的第二比例,dl表示函数l的后继函数,d表示总函数数量,b表示第二比例的第二调整参数。
25、根据上述描述可知,在计算函数的初始重要度时,将函数所在的工作流数量在总工作流数量的占比,以及,函数的后继函数在总函数数量的占比均考虑在内,保证所计算出的函数的初始重要度的准确性,且在重要度公式中,设置了对应于不同比例的调节参数,进一步提高所计算出的初始重要度的准确性。
26、可选地,所述根据所述初始重要度和所述调用变化值计算每一个函数的未来权重包括:
27、将所述初始重要度和所述调用变化值输入未来权重预测公式进行计算,得到每一个函数的未来权重,其中未来权重预测公式为:
28、
29、u=1-v
30、其中,所述ql表示函数l的未来权重,ml表示函数l的初始重要度,l=1,2,…,d,d表示总函数数量,t表示未来时间的时间点,pl(t)表示未来时间的时间点t的函数l的调用变化值,t0表示应用部署且开始获取扩缩容指标和函数的调用频率的时间点,t表示时间预测方法的时间窗长度,u表示函数的初始重要度的调节参数,v表示函数的调用频率的调用变化值的调节参数。
31、根据上述描述可知,在计算函数的未来权重时,将函数的初始重要度与函数的调用频率的调用变化值综合考虑在内,且在未来权重预测公式中对函数的初始重要度和函数调用频率的调用变化值均设置了对应的调节参数,保证所计算出的函数的未来权重的准确性和合理性。
32、可选地,还包括:
33、获取所有扩缩容指标的历史数据与每一个函数的历史调用频率,当所述历史数据的数据数量和所述历史调用频率的频率数量均达到第一阈值时,基于所述历史数据和所述历史调用频率分别采用深度学习算法构建指标预测模型和频率预测模型;
34、基于所述指标预测模型和所述频率预测模型重新进行扩缩容容器数量计算和每一个函数的未来权重计算,实现对所述容器动态调度的更新。
35、根据上述描述可知,当历史数据的数据数量和历史调用频率的频率数量均达到第一阈值时,即,当历史数据充足时,采用深度学习算法构建指标预测模型和频率预测模型,基于该指标预测模型和频率预测模型重新进行扩缩容容器数量的计算和每一个函数的未来权重的计算,从而实现对容器动态调度的更新,提高容器动态调度的准确性。
36、第二方面,本发明提供一种无服务架构下容器动态调度的系统,包括:
37、扩缩容容器总数量计算模块,用于接收用户所选中的应用的所有扩缩容指标和每一个扩缩容指标对应的指标权重,获取每一个扩缩容指标的第一时间序列数据,基于所述第一时间序列数据通过时序预测方法预测未来时间每一个扩缩容指标的指标变化值,根据所述指标变化值和对应的指标权重计算扩缩容容器数量,根据所述扩缩容容器数量得到未来容器总数量;
38、函数未来权重计算模块,用于获取每一个函数的dag描述文件,根据所述dag描述文件计算每一个函数对应的初始重要度,获取每一个函数的调用频率的第二时间序列数据,基于所述第二时间序列数据通过时序预测方法预测未来时间每一个函数的调用频率的调用变化值,根据所述初始重要度和所述调用变化值计算每一个函数的未来权重;
39、容器动态调度模块,用于将所述未来容器总数量按照每一个函数的未来权重进行容器数量分配,实现容器动态调度。
40、本发明的有益效果在于:在没有大量历史数据的情况下,采用时序预测方法对未来时间每一个扩缩容指标的指标变化值进行预测,将得到的每一个扩缩容指标的指标变化值与对应的指标权重进行计算,得到扩缩容容器数量,提高扩缩容容器数量的准确性,保证所得到的未来容器总数量的准确性,同时,采用时序预测方法对未来时间每一个函数的调用频率进行预测,并结合每一个函数的初始重要度计算每一个函数的未来权重,提高所计算出的每一个函数的未来权重的准确性,且最终是将未来容器总数量按照每一个函数的未来权重对函数进行容器数量分配,保证分配合理性的同时,提高了在历史数据不足时容器扩缩容的准确性,优化容器的动态调度。
41、可选地,所述扩缩容容器总数量计算模块具体用于:
42、将所述指标变化值和对应的指标权重输入指标加权和变化公式进行计算,得到扩缩容指标的指标加权和变化值,其中指标加权和变化公式为:
43、
44、其中,t表示未来时间的时间点,k(t)表示未来时间的时间点t的指标加权和变化值,zpi(t)表示未来时间的时间点t的扩缩容指标i的指标变化值,i=1,2,…,j,j表示扩缩容指标的总数,wi表示扩缩容指标i对应的指标权重,zpi(t-1)表示当前时间扩缩容指标i的指标变化值;
45、获取当前时间的当前容器总数量,将所述当前容器总数量和所述指标加权和变化值输入扩缩容容器数量计算公式进行计算,得到扩缩容容器数量,其中扩缩容容器数量计算公式为:
46、sum(t)=k(t)*num(t-1)-num(t-1)
47、其中,sum(t)表示未来时间的时间点t的的扩缩容容器数量,num(t-1)表示当前时间的当前容器总数量;
48、将所述扩缩容容器数量输入未来容器总数量计算公式进行计算,得到未来容器总数量,其中未来容器总数量计算公式为:
49、sum(t)=sum(t)+num(t-1)
50、其中,sum(t)表示未来时间的时间点t的未来容器总数量。
51、根据上述描述可知,基于指标变化值和对应的指标权重计算出扩缩容指标的指标加权和变化值,将指标加权和变化值和当前时间的当前容器总数量结合计算出扩缩容容器数量,提高扩缩容容器数量的准确性,进而保证根据扩缩容容器数量和当前容器总数量得到的未来容器总数量的准确性。
52、可选地,所述函数未来权重计算模块包括:
53、初始重要度计算模块,用于从每一个函数的dag描述文件中获取对应函数所在的工作流数量和总工作流数量,计算每一个函数所在的工作流数量在所述总工作流数量的占比,得到第一比例;
54、对所有函数进行求和得到总函数数量,并获取每一个函数的后继函数,分别计算每一个函数的后继函数在所述总函数数量的占比,得到第二比例;
55、将所述第一比例和所述第二比例对应输入重要度公式进行计算,得到每一个函数对应的初始重要度,其中重要度公式为:
56、
57、其中,ml表示函数l的初始重要度,表示函数l的第一比例,cl表示函数l所在的工作流数量,c表示总工作流数量,a表示第一比例的第一调节参数,表示函数l的第二比例,dl表示函数l的后继函数,d表示总函数数量,b表示第二比例的第二调整参数。
58、根据上述描述可知,在计算函数的初始重要度时,将函数所在的工作流数量在总工作流数量的占比,以及,函数的后继函数在总函数数量的占比均考虑在内,保证所计算出的函数的初始重要度的准确性,且在重要度公式中,设置了对应于不同比例的调节参数,进一步提高所计算出的初始重要度的准确性。
59、可选地,所述函数未来权重计算模块具体用于:
60、将所述初始重要度和所述调用变化值输入未来权重预测公式进行计算,得到每一个函数的未来权重,其中未来权重预测公式为:
61、
62、u=1-v
63、其中,所述ql表示函数l的未来权重,ml表示函数l的初始重要度,l=1,2,…,d,d表示总函数数量,t表示未来时间的时间点,pl(t)表示未来时间的时间点t的函数l的调用变化值,t0表示应用部署且开始获取扩缩容指标和函数的调用频率的时间点,t表示时间预测方法的时间窗长度,u表示函数的初始重要度的调节参数,v表示函数的调用频率的调用变化值的调节参数。
64、根据上述描述可知,在计算函数的未来权重时,将函数的初始重要度与函数的调用频率的调用变化值综合考虑在内,且在未来权重预测公式中对函数的初始重要度和函数调用频率的调用变化值均设置了对应的调节参数,保证所计算出的函数的未来权重的准确性和合理性。
65、可选地,还包括:
66、更新模块,用于获取所有扩缩容指标的历史数据与每一个函数的历史调用频率,当所述历史数据的数据数量和所述历史调用频率的频率数量均达到第一阈值时,基于所述历史数据和所述历史调用频率分别采用深度学习算法构建指标预测模型和频率预测模型;
67、基于所述指标预测模型和所述频率预测模型重新进行扩缩容容器数量计算和每一个函数的未来权重计算,实现对所述容器动态调度的更新。
68、根据上述描述可知,当历史数据的数据数量和历史调用频率的频率数量均达到第一阈值时,即,当历史数据充足时,采用深度学习算法构建指标预测模型和频率预测模型,基于该指标预测模型和频率预测模型重新进行扩缩容容器数量的计算和每一个函数的未来权重的计算,从而实现对容器动态调度的更新,提高容器动态调度的准确性。
本文地址:https://www.jishuxx.com/zhuanli/20241009/307908.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表