一种分布式数据库负载均衡预测方法和预测分析器的制造方法

文档序号:9787530阅读:522来源:国知局
一种分布式数据库负载均衡预测方法和预测分析器的制造方法
【技术领域】
[0001] 本发明涉及计算机领域,特别是指一种分布式数据库负载均衡预测方法和预测分 析器。
【背景技术】
[0002] 目前,为了提高分布式数据库的资源利用率和性能,采用预测技术对分布式数据 库资源使用状况进行实时预测具有重要意义。
[0003] 一般的BP网络负载均衡预测方法仍存在一些不足之处,在分布式预测分析器中, 负载平衡通过把任务从负载过重的服务器转移到负载较轻的服务器,以使得任务能够利用 那里的计算能力,从而提高整个分布式预测分析器的性能和稳定性。当预测分析器中某些 服务器的工作负载经常保持较重,或者某些服务器执行任务的速度比其它服务器要慢许多 时,负载分布不均的情况很明显将会经常发生。即使在一个完全同构的分布式预测分析器 中,由于任务到达服务器的时间以及任务完成所需的服务时间存在的差异,同样会出现在 整个预测分析器中服务器之间负载平衡问题;此外还存在查询频率远高于数据改写频率等 问题。
[0004] BP网络具有原理清晰、简单实用等优点,但当需要大规模数据下网络模型训练期 间进行实时负载预测,但是由于采用了神经网络的梯度法,收敛速度慢,容易收敛到局部最 小。此外,学习因子和惯性因子的选取对神经网络的收敛性影响通常只能由个人经验来选 定。因此,BP网络并不适合高输入高输出预测分析器的负载预测,尤其是需要处理突变实时 负载的情况。

【发明内容】

[0005] 有鉴于此,本发明的目的在于提出一种分布式数据库负载均衡预测方法和预测分 析器,能够更为精确地描述负载均衡数据的结构并对其进行有效预测。
[0006] 基于上述目的本发明提供的分布式数据库负载均衡预测方法,包括步骤:
[0007] 采集每个本地数据节点上的负载指标,构成训练集数据;
[0008] 初始化多层循环神经网络模型;
[0009]从训练集数据中提取一段时间数据作为多层循环神经网络模型的输入,从训练集 数据中提取该一段时间数据后同等时间段的数据作为多层循环神经网络模型的输出,训练 所述多层循环神经网络模型;
[0010]从训练集数据中提取该同等时间段的数据之后且相同时间段的数据,作为多层循 环神经网络模型的输入,预测该本地数据节点的负载指标。
[0011 ]在一些实施例中,所述负载指标包括CPU利用率R。、内存利用率Rm、网络下行速度Sd 以及网络上行速度Su;并且,每一秒采集一次所述的负载指标,共采集2T秒,构成训练集数 据
[0012] L=[Rc,Rm,Sd,Su];
[0013]还有,所述初始化多层循环神经网络模型包括:
[0014]确定多层循环神经网络模型的隐藏层个数以及多层循环神经网络模型每层的神 经元个数nm;将多层循环神经网络模型输入层和每个隐藏层的神经元之间的网络连接权重 随机初始化,并记做<(〇)。
[0015] 在一些实施例中,所述训练多层循环神经网络模型时,从训练集数据中提取第1条 至第T条数据,并且将每组数据通过如下公式进行映射:
[0016] xi=[l,sin(L(i)),cos(L(i))]
[0017] 将映射后的数据作为多层循环神经网络模型的输入Xl;
[0018] 从训练集数据中提取第T+1条至第2T条数据作为多层循环神经网络模型的输出 yi,训练所述多层循环神经网络模型。
[0019] 在一些实施例中,在所述从训练集数据中提取该同等时间段的数据之后且相同时 间段的数据之前,还包括:
[0020] 通过如下公式计算多层循环神经网络模型每个隐含层的输出:
[0024] 其中,X1为网络输入,爲为网络输出,私和Af分别代表第一层隐含层和第二层隐含 层的输出,wV 1为h1层与输入之间的权重矩阵,W为h1层不同时间序列之间的权重矩阵, wW为h1层与h2层之间的权重矩阵,为112层不同时间序列之间的权重矩阵,?为h 1层的 偏置,&为112层的偏置,by为输出层的偏置,tanh为激活函数;
[0025] 计算多层循环神经网络模型每个隐含层的输出误差,根据如下公式:
[0027] 根据计算获得的输出误差,通过对多层循环神经网络模型的全部权重进行更新, 直至所述输出误差在预设的允许范围内,多层循环神经网络模型训练结束。
[0028] 在一些实施例中,从训练集数据中提取第T+1条至第2T条数据,并将第T+1条到第 2T条数据作为多层循环神经网络模型的输入,多层循环神经网络模型的输出为预测2T+1至 3T时间段的本地数据节点的负载指标。
[0029] 在本发明的另一个方面,还提供了一种多层循环神经网络预测分析器,包括:
[0030] 数据采集单元,用于采集每个本地数据节点上的负载指标,构成训练集数据;
[0031 ]模型初始化单元,用于初始化多层循环神经网络模型;
[0032] 模型训练单元,用于从训练集数据中提取一段时间数据作为多层循环神经网络模 型的输入,从训练集数据中提取该一段时间数据后同等时间段的数据作为多层循环神经网 络模型的输出,训练所述多层循环神经网络模型;
[0033] 负载预测单元,用于从训练集数据中提取该同等时间段的数据之后且相同时间段 的数据,作为多层循环神经网络模型的输入,预测该本地数据节点的负载指标。
[0034] 在一些实施例中,所述数据采集单元的负载指标包括CPU利用率R。、内存利用率Rm、 网络下行速度Sd以及网络上行速度S u;并且,所述数据采集单元每一秒采集一次所述的负载 指标,共采集21^,构成训练集数据L= [Rc,Rm,Sd,Su;]
[0035] 另外,所述模型初始化单元在初始化多层循环神经网络模型时,包括确定多层循 环神经网络模型的隐藏层个数以及多层循环神经网络模型每层的神经元个数n m;将多层循 环神经网络模型输入层和每个隐藏层的神经元之间的网络连接权重vf随机初始化,并记 做 <(〇)。
[0036] 在一些实施例中,所述模型训练单元从训练集数据中提取第1条至第T条数据,并 且将每组数据通过如下公式进行映射:
[0037] xi=[l,sin(L(i)),cos(L(i))]
[0038] 将映射后的数据作为多层循环神经网络模型的输入Xl;
[0039] 从训练集数据中提取第T+1条至第2T条数据作为多层循环神经网络模型的输出 yi,训练所述多层循环神经网络模型;
[0040] 另外,所述负载预测单元从训练集数据中提取第T+1条至第2T条数据,并将第T+1 条到第2T条数据作为多层循环神经网络模型的输入,多层循环神经网络模型的输出为预测 2T+1至3T时间段的本地数据节点的负载指标。
[0041] 在一些实施例中,所述模型训练单元还用于通过如下公式计算多层循环神经网络 模型每个隐含层的输出:
[0045] 其中,X1为网络输入,免.为网络输出,$和足分别代表第一层隐含层和第二层隐含 层的输出,mV,为h 1层与输入之间的权重矩阵,mW为h1层不同时间序列之间的权重矩阵, 为h1层与h2层之间的权重矩阵,为h2层不同时间序列之间的权重矩阵,^为!! 1层的 偏置,^为112层的偏置,by为输出层的偏置,tanh为激活函数;
[0046] 计算多层循环神经网络模型每个隐含层的输出误差,根据如
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1