一种面向云原生数据库的工作负载预测方法技术

技术编号:36338994 阅读:54 留言:0更新日期:2023-01-14 17:51
本发明专利技术提供的一种面向云原生数据库的工作负载预测方法,通过获取当前时间前的一段时间内用户请求形成的负载数据,之后构建多层感知器模型并使用改进人工蜂群算法优化该模型中的参数,本发明专利技术可以根据负载数据的特征自适应的调整多层感知器模型的参数,此外本发明专利技术可以减少初始值选择对多层感知器模型的影响从而降低整体误差,得到一个精准鲁棒的多层感知器模型,之后对未来时刻的用户请求数量进行预测。本发明专利技术可以提升云原生数据库的工作负载预测的精度,为后续数据库的资源配置提供更可靠精准的资源需求数据。精准的资源需求数据。精准的资源需求数据。

【技术实现步骤摘要】
一种面向云原生数据库的工作负载预测方法


[0001]本专利技术涉及云原生数据库自治优化与运维领域,是一种面向云原生数据库的工作负载预测方法。

技术介绍

[0002]全球知名咨询公司Gartner指出,云将主导数据库市场的未来,到2022年,75%的数据库将被部署或迁移至云平台,只有25%的数据库会考虑部署在本地。云的规模化也为数据库的自治优化与运维提出了更多的挑战。企业面临着呈指数级递增的海量存储需求和挑战,业务有更多的热点和突发流量带来的挑战,企业需要降本增效,进行更好的智能数据决策,即维持服务质量、用户体验质量的同时,提高资源利用率。遗憾的是,根据Flexera 2021年报告数据显示,企业在云计算资源平均浪费了30%的支出,资源成本预算处于失控状态。造成数据库资源浪费的主要原因是对计算资源评估不准确。对未来的工作负载进行预测,即预测用户请求数量或资源利用率等在应用程序上的变化,并提前做出合理的配置和调优是解决该问题的一个重要手段。
[0003]然而现有针对工作负载预测方法不能准确反应实际负载与资源需求的映射关系。大数据应用日益剧增,资源需求几十倍甚至上百倍的增长,数据呈现多尺度、非线性、极度不平稳的特征。传统的预测方法不适用于非线性复杂数据集,这类模型一般从历史数据中学习总结规律,再对未来进行预测,一旦数据规律发生变化,模型效果会受到很大的影响甚至失效。现代常用的技术中,神经网络由于其简单、低耗和高性能备受工业界和学术界的关注,而在不同类型的神经网络中,前馈神经网络由于其相对简单的结构应用最为广泛。前馈神经网络有两种类型:单层感知器模型和多层感知器模型,单层感知器中只存在一个单一的感知器,因此更适合解决线性问题,而多层感知器中有多个建立在不同层的感知器,因此更适合解决非线性问题。
[0004]基础的多层感知器模型是利用反向传播算法进行训练的,然而由于反向传播优化算法是一种基于梯度的局部搜索方法,该算法容易陷入局部最优,使得模型易过拟合,从而导致感知结果不准确。

技术实现思路

[0005]为克服上述的问题,本专利技术提供的一种面向云原生数据库的工作负载预测方法包括以下步骤:
[0006]本专利技术提供的一种面向云原生数据库的工作负载预测方法包括:
[0007]步骤1:获取当前时间前的一段时间内用户请求形成的负载数据,对所述负载数据进行预处理;
[0008]步骤2:确定构建好的多层感知器模型中待优化的优化参数,并对该优化参数进行编码,获得向量形式的优化参数;
[0009]步骤3:利用人工蜂群算法,求解所述优化参数的全局最优解;
[0010]步骤4:将所述全局最优解引入所述多层感知器模型中,获得优化后的多层感知器模型;
[0011]步骤5:利用优化后的多层感知器模型,预测未来时刻的用户请求数量。
[0012]本专利技术具有以下优点及有益效果:
[0013]本专利技术提供的一种面向云原生数据库的工作负载预测方法,通过获取当前时间前的一段时间内用户请求形成的负载数据,之后构建多层感知器模型并使用改进人工蜂群算法优化该模型中的参数,本专利技术可以根据负载数据的特征自适应的调整多层感知器模型的参数,此外本专利技术可以减少初始值选择对多层感知器模型的影响从而降低整体误差,得到一个精准鲁棒的多层感知器模型,之后利用优化后的多层感知器模型,预测未来时刻的用户请求数量。本专利技术可以提升云原生数据库的工作负载预测的精度,为后续数据库的资源配置提供更可靠精准的资源需求数据。
附图说明
[0014]图1为本专利技术提供的一种面向云原生数据库的工作负载预测方法的流程示意图。
[0015]图2为本专利技术提供的一种面向云原生数据库的工作负载预测方法的全部过程示意图;
[0016]图3为本专利技术提供的人工蜂群算法参数优化的多层感知器模型在WC98数据集上的拟合真实数据的结果。
具体实施方式
[0017]下面结合附图对本专利技术做进一步的详细说明。
[0018]值得说明的是:启发式优化算法拥有优秀的随机性,能够比反向传播算法更好的避免局部极小值。因此,本专利技术利用人工蜂群算法对多层感知器模型的参数进行优化,找到连接权重和偏差值的最佳组合,提升云原生数据库的工作负载预测的准确性。
[0019]结合图1以及图2,本专利技术提供的一种面向云原生数据库的工作负载预测方法,包括:
[0020]步骤1:获取当前时间前的一段时间内用户请求形成的负载数据,对所述负载数据进行预处理;
[0021]本专利技术的步骤1包括:
[0022]步骤11:获取输入一段时间内用户请求数量的负载数据L={l1,l2,...,l
t
,...,l
m
};
[0023]其中,l
t
为t时刻云原生数据库的用户请求数量,m为负载数据的数量;
[0024]步骤12:对负载数据L进行归一化处理:其中,l
min
与l
max
分别是负载数据中的最大值和最小值;
[0025]步骤13:利用窗口大小为K的滑动窗口方法,将归一化后的负载数据转化为监督数据,其中K的取值为2或者5。
[0026]步骤2:确定构建好的多层感知器模型中待优化的优化参数,并对该优化参数进行编码,获得向量形式的优化参数;
[0027]其中,多层感知器模型包括:输入层、隐藏层以及输出层;
[0028]所述输入层的节点个数p与所述滑动窗口的大小K相等、所述隐藏层节点个数q设置为10,所述输出层节点个数w设置为1;优化参数包括各层之间的权重以及偏差,矩阵形式的权重以及偏差记为x={x1,x2,...,x
D
},维度D=q(p+1)+w(q+1)。
[0029]步骤3:利用人工蜂群算法,求解所述优化参数的全局最优解;
[0030]所述步骤3包括:
[0031]步骤31:设定人工蜂群算法的目标函数和控制参数;
[0032]所述步骤31包括:
[0033]步骤311:利用蜂群算法在当前迭代次求解优化参数,并将当前迭代次优化参数代入多层感知器模型中;
[0034]步骤312:将当前时间前的负载数据输入至当前当前迭代次的多层感知器模型,获得当前迭代次的预测值;
[0035]步骤313:将同一时刻的预测值与同一时刻负载数据的实际值的均方根差(RMSE)设为蜂群算法的目标函数;
[0036]步骤314:设置控制参数;
[0037]目标函数为:
[0038][0039]其中l
i

为用户请求数量在i时刻的实际值,为用户请求数量在i时刻的预测值,m为样本数据的数量;控制参数包括:优化参数解的个数N,阈值limit,记忆池大小M,最大评价次数MaxFES。
[0040]步骤32:初始化所述人工蜂群算法的解集合以及全局变量;
[0041]所述步骤32包括:
[0042]步骤321本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向云原生数据库的工作负载预测方法,其特征在于,包括:步骤1:获取当前时间前的一段时间内用户请求形成的负载数据,对所述负载数据进行预处理;步骤2:确定构建好的多层感知器模型中待优化的优化参数,并对该优化参数进行编码,获得向量形式的优化参数;步骤3:利用人工蜂群算法,求解所述优化参数的全局最优解;步骤4:将所述全局最优解引入所述多层感知器模型中,获得优化后的多层感知器模型;步骤5:利用优化后的多层感知器模型,预测未来时刻的用户请求数量。2.根据权利要求1所述的一种面向云原生数据库的工作负载预测方法,其特征在于,所述步骤1包括:步骤11:获取输入一段时间内用户请求数量的负载数据L={l1,l2,...,l
t
,...,l
m
};其中,l
t
为t时刻云原生数据库的用户请求数量,m为负载数据的数量;步骤12:对负载数据L进行归一化处理:其中,l
min
与l
max
分别是负载数据中的最大值和最小值;步骤13:利用窗口大小为K的滑动窗口方法,将归一化后的负载数据转化为监督数据,其中K的取值为2或者5。3.根据权利要求2所述的一种面向云原生数据库的工作负载预测方法,其特征在于,所述步骤2中的所述多层感知器模型包括:输入层、隐藏层以及输出层;所述输入层的节点个数p与所述滑动窗口的大小K相等、所述隐藏层节点个数q设置为10,所述输出层节点个数w设置为1;所述步骤2中优化参数包括各层之间的权重以及偏差,矩阵形式的权重以及偏差记为x={x1,x2,...,x
D
},维度D=q(p+1)+w(q+1)。4.根据权利要求3所述的一种面向云原生数据库的工作负载预测方法,其特征在于,所述步骤3包括:步骤31:设定人工蜂群算法的目标函数和控制参数;步骤32:初始化所述人工蜂群算法的解集合以及全局变量;步骤33:针对所述解集合中的每个解,根据每个解的目标函数值,查找当前迭代次的全局最优解;步骤34:在当前迭代次的全局最优解的基础上,针对所述解集合中的每个解引入自适应搜索策略选择机制选择合适的搜索策略,并利用该搜索策略搜索该解的候选解;步骤35:判断每个解的目标函数值是否大于候选解的目标函数值,如果大于则使用候选解更新该解,如果不大于则保持解不变,获得更新后的解集合;步骤36:计算更新后的解集合中每个解的适应度值Fit(x
i
)和选择概率p
i
,根据所述选择概率,在当前迭代次的全局最优解的基础上,针对步骤35更新后的解集合中的每个解引入自适应搜索策略选择机制选择合适的搜索策略,并利用该搜索策略搜索该解的较优解;步骤37:判断每个解的目标函数值是否大于较优解的目标函数值,如果大于则使用较
优解更新该解,如果不大于则保持该解不变,获得更新后的解集合;步骤38:记录解连续未更新的次数,如果大于阈值,则更新该解;步骤39:更新全局变量;步骤40:判断人工蜂群算法是否到达停止标准,如果没有达到停止准则,则返回步骤32,如果达到停止准则,获取全局最优解。5.根据权利要求4所述的一种面向云原生数据库的工作负载预测方法,其特征在于,所述步骤31包括:步骤311:利用蜂群算法在当前迭代次求解优化参数,并将当前迭代次优化参数代入多层感知器模型中;步骤312:将当前时间前的负载数据输入至当前当前迭代催的多层感知器模型,获得当前迭代次的预测值;步骤313:将同一时刻的预测值与同一时刻负载数据的实际值的均方根差(RMSE)设为蜂群算法的目标函数;步骤314:设置控制参数;目标函数为:其中l

i
为用户请求数量在i时刻的实际值,为用户请求数量在i时刻的预测值,m为样本数据的数量;控制参数包括:优化参数解的个数N,阈值limit,记忆池大小M,最大评价次数MaxFES。6.根据权利要求5所述的一种面向云原生数据库的工作负载预测方法,其特征在于,所述步骤32包括:步骤321:初始化解集合,初始化后的解集合为X=(x1,x2,...,x
N
)
T
,其中,每个解x
i
根据下述方程产生,同时计算每个解x
i

【专利技术属性】
技术研发人员:夏小芳杨静媛崔江涛赖锦淘刘洋高熙越乔晓田
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

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

1