一种基于灰色预测的云存储负载均衡方法技术领域
本发明涉及一种云计算存储系统中的副本选择策略方案,特别是
一种基于灰色预测的云储存负载均衡方法。
背景技术
云存储系统中的所有数据都被切分为等大的块,然后每个数据块
复制若干份并分散存储到不同的节点。客户端请求数据时,服务器要
从合适的节点选择对应的副本并将其交送给客户端。传统的副本选择
策略总是选择与客户端拓扑距离最短的节点上的副本,但这种方法有
明显的缺陷,当大量最优副本被放置到同一数据节点上时,就会造成
这些节点负载过高,导致网络拥堵,性能降低。本发明中方法的提出
就是为了解决这种负载不均衡的问题。
发明内容
为了克服上述技术问题,本发明所要解决的技术问题是提供一种
一种基于灰色预测的云存储负载均衡方法。
本发明为解决其技术问题所提出的技术方案为:
提供一种基于灰色预测的云存储负载均衡方法,包括以下步骤:
根据客户端文件请求查找文件对应数据块所有副本的位置;对任意数
据块生成其所有副本所在的节点集合;采用基于灰色预测的云存储负
载均衡方法完成合适节点的选择以及副本的读取。
进一步,所述的采用基于灰色预测的云存储负载均衡方法完成合
适节点的选择以及副本的读取包括以下步骤:根据系统日志查询所述
副本所在节点集合中节点在前t个时刻的负载率序列;然后根据灰色
预测理论对负载率序列进行处理以得到这些节点在第t+1时刻的负
载率序列;选取负载率最低的节点并读取副本;如果读取失败则选取
负载率次低的节点上的副本,依次直到某一节点上的副本被读取。
进一步,所述的根据系统日志查询副本所在集合中节点在前t个
时刻的负载率序列过程包括以下步骤:首先查询该节点在某一时刻任
务负载、带宽负载和存储负载的值;将它们依照预先设定的权值进行
加权,得到这一时刻该节点的负载率;然后依照同样的方法计算出前
t个时刻的负载率并生成序列。
进一步,任务负载、带宽负载和存储负载权值的比值为1:2:1。
进一步,所述的根据灰色预测理论处理负载率序列以得到这些节
点在第t+1时刻的负载率序列过程包括以下步骤:首先对查询系统日
志得到的副本所在集合中节点在前t个时刻负载率序列过程中所得
到的负载率序列进行累加生成新的序列;然后对新生成的序列建立基
于GM(1,1)的一阶微分方程;接着由原序列得出负载率预测序列,
并将其累加;最后根据一阶微分方程的结果以及负载率预测序列依次
求出t+1时刻各节点对应的负载率预测序列。
本发明的有益效果是:
本发明提供了一种基于灰色预测的云存储负载均衡方法,与传统
的副本选择策略,即选择与客户端拓扑距离最短的节点上副本的方法
相比,这种策略通过对下一时刻节点负载状况的预测来动态地选择负
载最低的节点,因此降低了同一节点同一时刻被大量访问的可能性,
有效地实现了负载的动态均衡,从而保证了系统的稳定和高效。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是基于灰色预测的云存储负载均衡方法的流程框图;
图2是查询系统日志得到节点在前t个时刻的负载率的流程框
图;
图3根据灰色预测理论处理负载率序列的流程框图。
具体实施方式
以下结合本发明的一较佳实施例的详细说明以及附图来进一步
了解本发明的技术内容及其目的和功效。图1、图2、图3所示是本
发明一较佳实施例。
如图1,一种基于灰色预测的云存储负载均衡方法,包括以下步
骤:根据客户端文件请求查找文件对应数据块所有副本的位置;对任
意数据块生成其所有副本所在的节点集合;采用基于灰色预测的云存
储负载均衡方法完成合适节点的选择以及副本的读取。详细过程如
下:
1.根据客户端的文件请求,服务器端查找数据库,检索出此文件
对应的数据块的所有副本位置。
2.根据查询结果,对于任意一数据块生成其所有副本所在节点的
集合;对于其中任意一数据块,记其副本数量为k,任意节点为Ni,
则一个数据块的可选副本所在的节点集合可表示为
N={N1,N2,…,Nk}。
根据系统记录的信息查询这些节点在前t个时刻的负载率,并生
成序列。如图2,在该步骤中首先查询系统日志,得到以下信息:节
点Ni在t时刻拥有总数据块数正在进行任务的数据块数
节点总线带宽正在进行任务平均读取速度已用磁盘
空间最大磁盘空间对于节点负载,可以从三个方面
分别考虑,将其分为:任务负载、带宽负载和存储负载。其中任务负
载用公式表示为:带宽负载用公式表示为:存
储负载用公式表示为:得到三个负载的数值后,按照特定的
权值P1、P2、P3对其进行加权,可以得到t时刻Ni节点的负载率:
L N i ( t ) = P 1 × P N i ( t ) T N i ( t ) + P 2 × AS N i ( t ) × P N i ( t ) BW N i ( t ) + P 3 × US N i ( t ) TS N i ( t ) . ]]>由于带宽负载对于副本的
读取效率的影响比任务负载、存储负载更为明显,因此本实施方式中
权值的比值取为P1:P2:P3=1:2:1,即:P1=0.25,P2=0.5,P3=0.25。
再对每个节点前t时刻的数据进行遍历,可以得到这些节点在前t个
时刻的负载率,并生成序列。
3.如图3,根据灰色预测理论对上一步中生成的负载率序列进行
处理。假定生成的负载率序列可以表示为:
L N i ( 0 ) = { L N i ( 0 ) ( 1 ) , L N i ( 0 ) ( 2 ) , . . . , L N i ( 0 ) ( t ) } - - - ( 2 ) ]]>
对(1)式的随机数序列经过依次累加成算子,削弱其随机性,得
到较有规律的生成数:
L N i ( 1 ) ( 1 ) = L N i ( 0 ) ( 1 ) ]]>
L N i ( 1 ) ( 2 ) = L N i ( 0 ) ( 1 ) + L N i ( 0 ) ( 2 ) ]]>
……
L N i ( 1 ) ( t ) = Σ i = 1 t L N i ( 0 ) ( i ) ]]>
L N i ( 1 ) = { L N i ( 1 ) ( 1 ) , L N i ( 1 ) ( 2 ) , . . . , L N i ( 1 ) ( t ) } - - - ( 2 ) ]]>
经累加处理,新生成的比具有平稳性增强而波动性减弱的特
点。然后对(2)式建立基于GM(1,1)的一阶微分方程:
d L N i ( 1 ) ( t ) dt + a L N i ( 1 ) ( t ) = b - - - ( 3 ) ]]>
其中:a为发展系数,b为灰色作用量,这两个参数可以用最小
二乘法拟合求得其估计量,拟合后的结果为:
a ^ b ^ = ( A T A ) - 1 A T B t ]]>
式中: A = - 1 2 [ L N i ( 1 ) ( 1 ) + L N i ( 1 ) ( 2 ) ] 1 - 1 2 [ L N i ( 1 ) ( 2 ) + L N i ( 1 ) ( 3 ) ] 1 . . . . . . - 1 2 [ L N i ( 1 ) ( t - 1 ) + L N i ( 1 ) ( t ) ] 1 ]]>
B t = [ L N i ( 0 ) ( 2 ) , L N i ( 0 ) ( 3 ) , . . . , L N i ( 0 ) ( t ) ] T ]]>
基于上述拟合的结果可以求解得出:
L N i ( 1 ) ^ ( t ) = ( L N i ( 0 ) ( 1 ) - b ^ a ^ ) × e - a ^ ( t - 1 ) + b ^ a ^ - - - ( 4 ) ]]>
由(1)式可得出负载率预测序列:
L N i ( 0 ) ^ = { L N i ( 0 ) ^ ( 1 ) , L N i ( 0 ) ^ ( 2 ) , . . . , L N i ( 0 ) ^ ( t ) } ]]>
其中: L N i ( 0 ) ^ ( 1 ) = L N i ( 0 ) ( 1 ) ]]>
L N i ( 0 ) ^ ( 2 ) = L N i ( 1 ) ^ ( 2 ) - L N i ( 1 ) ^ ( 1 ) ]]>
……
L N i ( 0 ) ^ ( t ) = L N i ( 1 ) ^ ( t ) - L N i ( 1 ) ^ ( t - 1 ) - - - ( 5 ) ]]>
然后将(4)式代入(5)式可以得到:
L N i ( 0 ) ^ ( t ) = ( L N i ( 0 ) ( 1 ) - b ^ a ^ ) × ( 1 - e a ^ ) × e - a ^ ( t - 1 ) - - - ( 6 ) ]]>
根据(6)式,可选副本所在的节点Ni在时刻t+1的负载率:
L N i ( 0 ) ^ ( t + 1 ) = ( L N i ( 0 ) ( 1 ) - b ^ a ^ ) × ( 1 - e a ^ ) × e - at ^ - - - ( 7 ) ]]>
由(7)式我们可以依次求出t+1时刻,k个节点对应的负载率预
测序列为:
{ L N 1 ( t + 1 ) , L N 2 ( t + 1 ) , L N 3 ( t + 1 ) , . . . , L N k ( t + 1 ) } ]]>
4.选取以上步骤中得到的预测负载率最低的节点并读取该节点
对应的副本,如果该副本读取失败,则进一步选择选择预测负载率次
低的节点进行副本的读取,依照这样的步骤直到某一节点对应的副本
被成功读取。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不
限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提
下还可做出种种的等同变形或替换,这些等同的变型或替换均包含在
本申请权利要求所限定的范围内。