首页> 中国专利> 基于TCN-A模型的查询负载预测算法及模型

基于TCN-A模型的查询负载预测算法及模型

摘要

本发明属于大数据查询技术领域,具体涉及查询负载预测算法及模型。基于TCN‑A模型的查询负载预测算法,包括:对原始用户查询数据进行预处理,构建查询负载序列;利用训练好的时间序列预测模型预测查询负载;其中,所述的时间序列预测模型通过对查询负载序列进行时域注意力加权和时序预测获得查询负载的预测结果。本发明提出并实现了一种新型的时间序列预测模型及算法,以高效的时间卷积神经网络为核心,融入设计的时域注意力机制,捕获历史查询负载的变化信息及相关性特征,并充分利用查询间隔时间快速地实现查询负载的精确预测。

著录项

  • 公开/公告号CN115237976A

    专利类型发明专利

  • 公开/公告日2022-10-25

    原文格式PDF

  • 申请/专利权人 哈尔滨工业大学(威海);

    申请/专利号CN202210649569.5

  • 申请日2022-06-10

  • 分类号G06F16/2458(2019.01);G06F16/2457(2019.01);

  • 代理机构青岛华慧泽专利代理事务所(普通合伙) 37247;

  • 代理人马千会

  • 地址 264209 山东省威海市文化西路2号

  • 入库时间 2023-06-19 17:25:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-11-11

    实质审查的生效 IPC(主分类):G06F16/2458 专利申请号:2022106495695 申请日:20220610

    实质审查的生效

说明书

技术领域

本发明属于大数据查询技术领域,具体涉及查询负载预测算法及模型。

背景技术

随着信息技术的快速发展,数据量呈爆炸性的速度持续增长,使得传统的数据库管理系统(database management system,DBMS)不得不提高自身复杂性以应对规模庞大的查询负载的处理需求,进而增大了自身性能调优的开销。而在实际的查询过程中,查询负载随时间动态变化,致使DBMS在当前时刻所调整的优化策略难以适用于未来的工作负载需求。同时,在交互式查询分析任务中,查询负载存在明显的周期性,且相邻查询之间往往存在一定的时间间隔而未能有效利用。因此,如果能够根据历史查询数据捕获查询工作负载的变化趋势,并充分利用查询间隔时间实现对查询负载的精确预测,则可以使得DBMS预先进行自身优化策略的动态调整,提高数据库管理系统的查询处理量和处理效率,进而高效地回答用户查询。

查询预测(query prediction,QP)算法(MEDURI V V,CHOWDHURY K,SARWATM.Evaluation of machine learning algorithms in predicting the next SQL queryfrom the future[J].ACM Transactions on Database Systems(TODS),2021,46(1):1-46.)通过利用已有的历史查询数据实现对未来查询负载、查询数据以及查询模板的有效预测,保证了查询的处理效率,成为近年来大数据查询领域的一大研究热点。而查询负载预测正是支撑查询预测的关键算法之一,其采用各种机器学习技术,根据历史用户查询数据,在相邻的查询间隔时间内对DBMS未来的查询工作负载进行预测,使得数据库管理系统预先实现自身性能调优,以适应工作负载的动态变化,进而提升对用户查询的计算分析效率。目前查询负载预测方法大致可分为三类(YAN Z,LU J,CHAINANI N,et al.Workload-AwarePerformance Tuning for Autonomous DBMSs[C]//2021IEEE 37th InternationalConference on Data Engineering(ICDE),Online,April 19-22,2021.Piscataway:IEEE,2021:2365-2368.)。第一类是经典的时间序列分析,它以时域和频域分析的方法,实现对历史查询负载的模式转化,以捕获查询工作负载的变化趋势及周期性特征,进而实现对未来查询负载的高效预测。此类方法原理简单,通用性强,但该方法的预测性能取决于查询负载数据的质量与稳定性,尤其在面临高度波动的负载数据时,经典的时间序列分析方法无法捕获查询负载的变化规律,难以实现精确预测。另一类是随机过程建模,该方法与经典的时间序列分析不同,其侧重于对查询负载的概率属性的提取,并采用诸如马尔可夫模型的技术来预测各负载模式的概率取值,进而自动选择DBMS可以使用的优化。但是,随机过程建模方法的实现更多依赖于当前数据,与历史负载数据的联系不够紧密,致使其难以捕获历史查询负载的周期性变化趋势,降低了查询负载预测的准确性。第三类是基于深度学习的方法实现查询负载预测,其通过使用循环神经网络、长短期记忆网络等时序网络模型,以历史查询负载数据为驱动,高效地预测未来查询工作负载的变化。但是上述时序模型中循环神经网络存在长期依赖问题,容易发生梯度弥散;长短期记忆网络可以克服长期依赖,但在超长的记忆序列情况下,该模型仍然存在梯度减弱的问题,从而不能很好的捕获长时间负载序列的历史变化。

发明内容

针对现有技术存在的问题,本发明提出了一种新型的查询负载预测算法。首先,对给定的历史查询数据进行预处理,去除无效、低质的用户查询,并将其按时域窗口进行切割、划分,以构造查询负载数据;其次,设计了一种新型的时间序列预测模型,该模型融合高性能的时间卷积神经网络以及设计的时域注意力机制,从而更好地捕获序列数据在时间维度上的相关性特征,更加高效地完成时序预测。最后,以上述时序模型为基础,充分利用查询间隔时间完成对未来查询负载的精确预测,使得DBMS能够预先实现自身性能调优,从而更好地处理交互式查询。

本发明解决其技术问题采用的技术方案是:基于TCN-A模型的查询负载预测算法,包括:

对原始用户查询数据进行预处理,构建查询负载序列;

利用训练好的时间序列预测模型预测查询负载;

其中,所述的时间序列预测模型通过对查询负载序列进行时域注意力加权和时序预测获得查询负载的预测结果。

进一步地,对原始用户查询数据进行预处理具体包括:

首先,遍历历史用户查询,基于查询访问情况对原始查询数据进行过滤处理;其次,根据历史查询数据集的起止时间及指定的时域窗口大小对历史查询数据进行时域划分,形成各查询负载数据所对应的时域区间;之后,遍历过滤后的各个查询的起止时刻,利用AreaSelect函数计算当前查询所涵盖的时域区间,并逐个更新上述时域区间所包含的查询数目,以组成查询负载序列。

进一步地,对查询负载序列进行时域注意力加权的方法为:

将原始查询负载序列作为注意力算法的输入,采用softmax函数生成权重矩阵:

c

u

式中:h

进一步地,在所述时间序列预测模型的训练过程中,采用稀疏类别交叉熵以及均方误差进行误差衡量,具体为:

其中,N为样本个数,y

进一步地,使用RMSPropOptimizer与Adam优化器优化网络模型参数。

本发明还提供一种查询负载预测模型,该模型包括:时域注意力算法模块、时间卷积神经网络和全连接网络;其中,所述时域注意力算法模块用于对输入的原始查询负载序列进行注意力加权;所述时间卷积神经网络用于从时间维度上对经过时域注意力加权后的查询负载序列进行时序预测,获得当前查询负载序列的初步预测结果;所述全连接网络用于将时间卷积神经网络得到的初步预测结果加以整合,计算出未来查询负载的最终预测结果。

进一步地,所述所述的时间卷积中各卷积层的卷积核大小均为3,且均以ReLu作为激活函数;自输入至输出,膨胀因子d的取值分别为1、2、4、8、16、32。

进一步地,所述的时间卷积神经网络还包括残差块结构。

进一步地,所述的全连接网络包含四层全连接神经网络,其中,各层神经网络的神经元个数分别为64、32、16、1,均采用Leaky ReLU作为激活函数。

本发明与现有技术相比,具备以下有益效果:

(1)对原始查询数据进行预处理,构造形成便于网络模型分析训练的查询负载序列向量。

(2)提出并实现了一种新型的时间序列预测模型,以高效的时间卷积神经网络为核心,融入设计的时域注意力机制,捕获历史查询负载的变化信息及相关性特征,并充分利用查询间隔时间快速地实现查询负载的精确预测。

(3)实验结果表明,本发明提出的查询负载预测算法及模型具有很高的预测效率和更加准确的预测结果。

附图说明

图1为本发明实施例中构建的基于注意力机制的时间卷积神经网络模型结构图;

图2为数据预处理算法的流程图;

图3为模型预测的流程示意图;

图4为不同数据集下各算法预测时间对比,其中:(a)Sky Survey数据集中的预测时间对比;(b)Bus Tracker数据集中的预测时间对比;

图5为不同时域窗口大小误差对比图,其中:(a)Sky Survey数据集的MAPE;(b)SkySurvey数据集的MAE%;(c)Sky Survey数据集的RMSE%;(d)Bus Tracker数据集的MAPE;(e)Bus Tracker数据集的MAE%;(f)Bus Tracker数据集的RMSE%。

具体实施方式

为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明公开内容的理解更加透彻全面。

本发明实施例中涉及到的基本概念说明如下:

查询负载:是指数据库管理系统在一段时间间隔内所承载的所有用户查询的数量,是影响数据库系统性能的重要指标。数据库管理系统会根据当前自身的查询负载情况设置对应的优化策略,实现性能调优,以保证系统对用户查询的处理效率。

查询负载序列:给定数据库管理系统中的任意一组连续的查询负载数据,将该组数据在历史上的各个时刻所对应的实际取值按时间顺序归并组合所构成的序列数据称为查询负载序列。

查询间隔时间:给定一组连续查询Q={q

自相关性特征:给定任意的一个查询负载序列s

实施例1数据预处理

在建立查询负载预测模型之前,须对DBMS所包含的原始用户查询进行预处理,构造查询负载数据,并将其编码为便于网络模型训练处理的序列向量,具体流程如图2所示。

本发明在数据预处理阶段对DBMS所承载的用户查询数据分别进行:过滤、时域间隔划分以及查询负载构造等操作。

具体步骤为:首先,依次遍历历史用户查询,基于查询的具体内容以及在一段时间内被访问的频率对原始查询数据进行过滤处理,去除系统测试、无效以及低质量的SQL查询;其次,根据历史查询数据集的起止时间及指定的时域窗口大小对历史查询数据进行时域划分,形成各查询负载数据所对应的时域区间;之后,遍历过滤后的各个查询的起止时刻,根据当前查询的起止时间以及上一步中所获得的时域区间列表来选择当前查询所涵盖的时域区间,并逐个更新上述时域区间所包含的查询数目,以组成查询负载序列数据,从而便于网络模型训练处理,提升算法整体的预测效率。

实施例2基于TCN-A的时间序列预测模型的构建

本发明提出的时间序列预测模型,为基于注意力机制的时间卷积神经网络(temporal convolutional network-attention,TCN-A)。该模型以时间卷积神经网络为核心,从时间维度上综合提取查询负载序列的自相关性特征,从而更好地捕获查询工作负载的变化趋势,实现对DBMS未来查询负载的高效预测;同时,融入设计的时域注意力机制,克服超长序列依赖问题,提高模型整体的预测效率。

1、模型总体结构

本模型以TCN的网络结构为基础,融入时域注意力机制以及全连接神经网络(fully connected feedforward neural network,FCN),保证总体模型的预测精度与预测效率。具体模型结构如图1所示。

本模型中各模块的具体描述如下。

(1)时域注意力算法模块

为更好地捕获查询负载序列历史上的有效信息,本模型设计了一种高效的时域注意力机制,从查询负载序列的历史数据中学习各个输入数据特征的重要程度,并按重要性对输入特征赋予不同的权值。本模型将原始查询负载序列作为注意力机制的输入,采用softmax函数生成权重矩阵,保证对查询负载序列影响较大的特征被赋予更大的权值。具体如公式(1)、(2)、(3)所示。

c

u

式中:h

(2)时间卷积神经网络

为学习查询负载序列的自相关性特征及其变化趋势,本发明使用TCN网络从时间维度上对经过时域注意力机制加权后的查询负载序列进行预测处理。本模型的TCN模块中各卷积层的卷积核大小均为3,且均以ReLu作为激活函数;自输入至输出,膨胀因子d的取值分别为1、2、4、8、16、32;同时引入残差块结构,克服梯度弥散,保证模型性能。

(3)全连接网络

本模型所构建的全连接网络模块共包含四层全连接神经网络,用以将TCN网络计算得到的特征空间映射为数据标记空间,减少特征位置对于预测结果的影响,提升整体时序预测模型的鲁棒性;同时将当前得到的TCN的初步预测值进行归并组合处理,以得到最终的预测结果,进而实现对未来查询负载的精确预测。其中,各层网络的神经元个数分别为64、32、16、1,并均采用Leaky ReLU作为激活函数。

2、模型重要参数设置

(1)损失函数

本模型的误差分为两部分:TCN网络误差与FCN网络误差。本发明根据训练数据的实际特性以及具体的网络结构,分别选用稀疏类别交叉熵(sparse_categorical_crossentropy,SCCE)以及均方误差(mean squared error,MSE)进行衡量,并通过最小化上述误差来优化整体模型。

具体如公式(4)、(5)所示。

其中,N为样本个数,y

(2)优化器

本发明通过实验对比发现:相较于Momentum和SGD等经典的优化算法,Adam优化器能适应稀疏梯度变化,缓和梯度震荡问题,从而保证收敛速度,便于模型调参;RMSPropOptimizer能够更好地保证时间卷积神经网络在训练过程中误差梯度的稳定,且能够修改传统的梯度积累为指数加权的移动平均,从而能自适应地调节学习率的变化。因此,本发明使用RMSPropOptimizer与Adam作为TCN和FCN网络的优化器,更好地优化网络模型参数。

七千余万条用户在巴士搜索软件中对公交车信息的查询记录。本发明按照7:1:2的比例划分该数据集为训练集、验证集以及测试集,以进行本发明实验。

3、实验评估指标

为更加全面的评价算法的预测效果,本发明选用了5种评估指标,具体定义如下。

(1)平均绝对百分比误差

平均绝对百分比误差(mean absolute percentage error,MAPE)是评估预测算法准确性的常用统计指标,可以很好的衡量模型的预测精度。具体如公式(6)所示。

(2)平均绝对误差率和均方根误差率

平均绝对误差(mean absolute error,MAE)和均方根误差(root mean squarederror,RMSE)是查询预测领域常用的用于判断预测模型预测值和实际值之间差异的评估指标。但在具体应用中,MAE和RMSE均未考虑实际数据的大小范围,且由于本发明所处理的负载数据的具体取值较大,进而导致MAE与RMSE的实际取值较高,难以直观、精确地衡量算法预测值与实际值之间的偏差。因此,本发明将MAE与RMSE各自除以当前负载数据实际值的平均数,分别得到两者对应的百分率MAE%和RMSE%,实现对算法误差更加精确的评估。具体如公式(7)、(8)所示。

(3)确定性相关系数

确定性相关系数(score)是衡量模型预测未知样本效果的常见指标,该数值越高表示模型预测效果越好,具体如公式(9)所示。

式中,

(4)平均预测时间

平均预测时间(time,t)是指在算法实际的查询负载预测过程中完成单个负载数据预测所需的平均时间,是衡量算法预测快慢的重要指标。

4、对标算法

为了更好地体现本发明提出的查询负载预测算法的准确性与高效性,实验选择以下的对标算法。

(1)对比算法

ARIMA算法是一种经典的时间序列分析方法,因实现简单、预测精度较高而被广泛应用于查询负载预测领域。RNN是查询负载预测方向中极为经典的模型算法,具有原理简单、通用性强等优势。LSTM是查询负载预测领域中应用十分广泛的时序模型算法,具有比RNN更高的预测性能,且该算法的模型结构与本发明算法相似。因此,综上所述,本发明分别选用ARIMA、RNN以及LSTM模型作为本发明的对比算法,并分别参照文献:HIGGINSON A S,DEDIU M,ARSENE O,et al.Database workload capacity planning using time seriesanalysis and machine learning[C]//Proceedings of the 2020ACM SIGMODInternational Conference on Management of Data,Portland,June 14-19,2020.NewYork:ACM,2020:769-783.;MA L,VAN AKEN D,HENFNY A,et al.Query-based workloadforecasting for self-driving database management systems[C]//Proceedings ofthe2018International Conference on Management of Data,Houston,June 10-15,2018.New York:ACM,2018:631-645.;JAIN S,HOWE B,YAN J,et al.Query2vec:Anevaluation of NLP techniques for generalized workload analytics[J].arXivpreprint arXiv,2018,1801.05613.在本实验平台进行实现。

(2)消融算法

本发明以TCN的网络结构为基础,融入设计的注意力机制,进而形成本发明所提出的TCN-A算法框架。因此,为更好地验证TCN-A算法的高效性,本发明针对该算法进行关于注意力机制的消融处理,获得不含注意力机制的TCN模型算法,并将其作为对标算法,在本实验平台进行实现。

同时,为更加充分、全面地验证注意力机制对算法的影响,本发明在所选的对标算法LSTM的基础之上融入与本发明模型相同的注意力机制,构成LSTM-A算法以作为本发明的对标算法,并在本实验平台进行实现。

5、结果分析

(1)不同算法预测结果分析

为验证本发明所提算法TCN-A的可行性和有效性,本发明将查询负载的时域窗口大小设置为1分钟,分别在上述两个真实数据集中进行实验,并与其他对标算法进行对比,获取TCN-A及其他对标算法的MAPE、MAE%、RMSE%以及R2等指标结果值,具体的实验结果如表1所示。

表1不同算法预测结果对比

分析表1中各项实验数据可以发现,在两个真实数据集当中,本发明所提出的TCN-A算法的MAPE、MAE%以及RMSE%等误差评估指标的取值均小于其他所有的对标算法,且R2值相较于其他对标算法更高。因此,本发明所设计的TCN-A算法拥有更好的时序预测能力,能够更加高效地捕获当前查询负载序列的自相关性特征及历史变化趋势,进而实现更加准确的查询负载预测。

此外,算法TCN-A在两个数据集中的执行效果均完全优于TCN,因此本发明提出的TCN-A算法所融合的时域注意力机制对提高算法的预测准确性具有重要的意义。

(2)预测时间分析

为测试本发明算法在实际的查询负载预测过程中的所需时间,本发明通过改变时域窗口的大小为1分钟、5分钟、10分钟、20分钟以及30分钟,分别在4.1.2节中所述的两个真实数据集中对TCN-A算法进行实验分析,并与其他对标算法进行对比。具体的实验结果如图4所示。其中,在时域窗口大小从1分钟到30分钟的变化过程中,ARIMA算法的预测时间均大于0.1s,远高于本发明其他算法,因此,为精确地表示其他算法的运行效果,本发明并未在图4中显示ARIMA的执行结果。

由图4中的(a)、(b)可以看出,在Sky Survey以及Bus Tracker数据集当中,随着时域窗口大小的增加,TCN-A模型算法对单个负载的平均预测时间总体上小于LSTM以及LSTM-A算法,且远低于上述数据集中的平均查询间隔时间0.6447s与0.7613s。

因此,本发明提出的TCN-A模型算法可以快速的完成对未来查询负载的预测,使得DBMS能够充分地利用查询间隔时间实现自身性能的动态调优,提高用户查询的处理效率。

(3)不同时域窗口大小下误差对比分析

为充分验证本发明所设计的TCN-A模型算法在不同时域窗口(time length,TL)大小的查询负载数据中的预测效果,本发明选用上述的两个真实数据集为基准数据,分别设置时域窗口大小为1分钟、5分钟、10分钟、20分钟以及30分钟,并根据算法1以构造不同的查询负载数据。之后,将本发明所提出的TCN-A模型算法在上述各查询负载序列中进行实验并与其他对标算法进行误差对比,具体实验结果如图5所示。

其中,由于实验所用的评估指标较多,难以在图中完全显示,因此,为保证实验的简洁性,本发明选取MAPE、MAE%以及RMSE%等具有代表性的误差评估指标来衡量本发明所提模型在当前实验中的误差结果。同时,在Bus Tracker数据集中,随着时域窗口的大小变化,ARIMA算法的MAE%以及RMSE%误差均远高于本发明其他算法,因此,为精确地表示其他算法的运行效果,本发明并未在图5中(e)和(f)中显示ARIMA算法的执行结果。

分析图5中(d)-(f)可知,在Bus Tracker数据集中,随着时域窗口的大小变化,本发明所提出的TCN-A模型的误差结果均远低于其他所有的对标算法,TCN、LSTM、LSTM-A等算法的预测精度也明显优于RNN、ARIMA等经典的预测算法,且随着时域窗口大小的增加,两类算法之间的差异也在逐步地增大。而根据图5中(a)-(c)可知,在Sky Survey数据集中,随着TL取值的变化,本发明的TCN-A模型的预测误差整体上也优于其他算法。

从图5中可以看出,与消融算法TCN相比,TCN-A模型由于融合了时域注意力机制方法,从而可以显著地提高查询负载预测的准确率,MAPE、MAE%以及RMSE%等误差指标整体上远低于消融算法TCN。

因此,综上所述,随着时域窗口大小的变化本发明所提出的TCN-A算法能够更加准确地预测未来查询负载的具体取值。

本发明提出了基于TCN-A模型的查询负载预测算法。首先,本发明采用过滤、时域间隔划分以及查询负载构造等方法对原始的历史用户查询进行预处理以得到便于网络模型分析训练的查询负载序列数据。其次,本发明构建了一种新型的时间序列模型以实现查询负载预测,该模型以高性能的TCN网络结构为基础,融入设计的时域注意力机制,从而更加高效地提取查询负载数据的变化趋势及自相关性特征,并充分利用查询间隔时间完成对DBMS未来查询负载的精确预测,使得数据库管理系统得以预先实现自身性能调优,以适应工作负载的动态变化。实验结果表明,本发明提出的算法可以快速的实现对DBMS未来查询负载的预测,且该算法的预测精度显著优于其他对标算法。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号