一种云存储系统的可用性保障方法

文档序号:8006449阅读:573来源:国知局
一种云存储系统的可用性保障方法
【专利摘要】本发明公开一种云存储系统的可用性保障方法,包含:1、判断系统处于是否正常情况;2、根据动态负载均衡措施方法为合法的、突如其来的访问I/O流提供合理的存储资源分配服务;3、根据I/O请求排队与流量控制方法,化解高峰时段针对云存储系统的分布式的拒绝服务攻击,并结合动态负载均衡措施保证正常I/O请求的服务质量。本发明可以保证云存储系统在高峰时段对合法用户的可用性,一方面通过优先级排队和流量控制以及动态负载均衡,过滤掉或抑制各种异常I/O请求和攻击流,化解高峰时段针对云存储系统的DDoS攻击,保证正常I/O请求的服务质量;另一方面,系统没有DDoS攻击时,通过动态负载均衡,保证高峰时段正常的I/O请求的服务质量。
【专利说明】—种云存储系统的可用性保障方法
【技术领域】
[0001]本发明涉及网络【技术领域】,具体涉及一种云存储系统的可用性保障方法。
【背景技术】
[0002]目前,云存储系统,尤其是公有云存储系统具有以下特点:
1、典型的云存储平台包括云控制器、集群控制器和存储结点。云控制器直接面对用户,为用户提供身份认证、资源分配、负载均衡等,是黑客最直接攻击的目标。由于云控制器通常采用大型专用的计算机服务器系统。这种专用系统本身具有很高的安全和可靠性,对于许多已知的协议和操作系统的漏洞,以及网络层和运输层的攻击,都有相应的安全措施加以避免(IPSec、防火墙和各种入侵检测,数据抗灾备份等)。所以,对云控制器最直接有效的攻击将是在访问流量高峰时段应用层的DDoS (distributed denial of service分布式拒绝服务)的洪水式(flooding)攻击,造成正常I/O (Input/Output)请求流不能到达目的地。不仅如此,与以往DDoS攻击相比,基于云的应用层攻击更容易组织,破坏性更大。而一旦攻击的对象是大型云服务提供商,势必影响大批用户,所造成的损失就更加难以估量。有时,虽然没有攻击行为,高峰时段正常I/O请求的服务质量严重下降。
[0003]2、业务量(workload,即1/0量)大有时具有突发性的特点(如大型活动网站的云存储系统,以及承办重大活动的云服务商的云存储系统),相比于一般的计算机存储系统,不能用简单的平稳的随机过程来描述。通常的为一般基于主机的存储系统建立的抵御入侵的统计异常检测(statistical anomaly detection)方法,将有可能把合法的、突如其来的访问1/0请求流误判为攻击流,因而变得不适用。
[0004]3、目前针对云存储系统的DDoS攻击越来越多地发生在应用层。由于大部分应用层攻击在网络层和传输层的表现与正常数据流没有显著区别,因而现有的从网络层和传输层的角度来检测和防御网络攻击的异常检测方法和网络防御技术不能有效检测和防御这一类攻击。现有的应用层异常检测方法主要针对某种特定应用和发生在其上的特定攻击。能够识别出多类应用层攻击的异常检测方法比较少,并且现有的防御技术也没有考虑应用层协议应用过程中用户行为动态变化过程,因此存在一定的局限性。
[0005]所以,如何保证云存储系统在高峰时段或异常情况下对用户的可用性具有十分重要的意义。它包括两方面的内容:一是正常情况下高峰时段云存储系统的可用性,即如何为合法的、突如其来的访问1/0请求提供合理的存储资源分配服务;二是异常情况下高峰时段云存储系统的可用性,即找出化解针对云存储系统的DDoS攻击以及保证正常1/0请求服务质量的方法。

【发明内容】

[0006]本发明提供一种云存储系统的可用性保障方法,可以保证云存储系统在高峰时段对合法用户的可用性,一方面通过优先级排队和流量控制以及动态负载均衡,过滤掉或抑制各种异常1/0请求和攻击流,化解高峰时段针对云存储系统的DDoS攻击,保证正常I/O请求的服务质量;另一方面,通过动态负载均衡,保证高峰时段正常的I/O请求的服务质量。
[0007]为实现上述目的,本发明提供一种云存储系统的可用性保障方法,该方法包含以下步骤:
步骤1、系统判断处于是否正常情况,若是,处于正常情况,则跳转到步骤2,若否,处于异常情况,则跳转到步骤3;
步骤2、根据动态负载均衡措施方法为合法的、突如其来的访问I/O流提供合理的存储资源分配服务,完成后跳转回步骤I ;
步骤3、根据I/O请求排队与流量控制方法,化解高峰时段针对云存储系统的分布式的拒绝服务攻击,并结合动态负载均衡措施保证正常I/O请求的服务质量,完成后跳转到步骤I。
[0008]上述动态负载均衡措施方法包含:应用服务器的负载均衡方法,以及存储设备的负载均衡方法;
上述应用服务器的负载均衡方法包含以下步骤:
a)系统判断当前应用服务器是否空闲,若是,则跳转到b),若否,则跳转到c);
b)根据到达应用服务器的I/O量大小,在其剩余处理能力允许的条件下建立多个虚拟机,以提闻处理能力;
c)将负载较大的虚拟机的执行任务转移一部分至其它相对空闲的虚拟机处理,以维持所有虚拟机的负载均衡;
上述存储设备的负载均衡方法包含以下步骤:
d)通过监控存储网络中各种存储设备的状态和属性,评估其I/O能力;
e)将新的请求引导至I/O能力相对较强的存储设备。
[0009]上述服务器、虚拟机和存储设备负载能力评估,主要依据是云存储系统服务器、虚拟机和存储设备的I/o量、I/O响应时间和I/O带宽占用情况;这些参数一部分通过现有的云环境的网络监控软件获取,一部分通过汇聚流的统计行为HSMM的或然概率值计算进行评估。
[0010]上述I/O请求排队与流量控制方法包含以下步骤:
f )计算用户行为HSMM和汇聚流的统计行为HSMM的或然概率;
g)将用户行为HSMM的或然概率对应为恰当的优先级,根据汇聚流的统计行为的或然概率评估服务器等的负载情况;
h)根据用户I/O请求优先级把不同来源的I/O请求流导入不同的队列;
i)按照赤字循环调度方法进行队列调度;
j)采用令牌桶方法对输出流量进行速率限制。
[0011]上述用户行为HSMM的或然概率处理方法包含以下步骤:
k)在云存储系统外的路由器、网关处或云控制器处,采集正常用户在使用各种应用层协议访问云存储系统时产生的大量观测序列作为模型训练的数据集;
I)用采集的数据集训练描述使用各种应用层协议用户动态行为特征的HSMM,对于使用同一种应用层协议的用户,将把具有相同cookie的用户I/O请求序列对于正常I/O行为HSMM计算其或然概率,根据或然概率值分配恰当的优先级;上述汇聚流的统计行为HSMM的或然概率处理方法包含以下步骤:η)在云存储系统外的路由器、网关或云控制器处,采集正常情况下产生的大量汇聚I/O流观测序列作为训练的数据集;
m)用采集的汇聚流数据集训练描述网络动态行为特征的HSMM和设计描述网络动态行为的HSMM在线算法,计算相同源I/O流HSMM的或然概率值,根据该或然概率值估计云控制器、应用服务器或云存储设备的负载情况。
[0012]上述汇聚流的或然概率与应用服务器负载的对应关系如下:
当服务器负载正常时,访问服务器汇聚流的或然概率都集中a值附近,a为服务器达到总负载(0%,70%)时访问服务器的各种汇聚流或然概率出现的最大频率值;
当汇聚流的或然概率偏离正常值,说明服务器负载较大,偏离越远,系统负载越大;当负载达到服务器总负载的90%时,汇聚流或然概率小于a的1/8,要启动负载均衡系统,降低服务器或虚拟机的负载,保证I/O请求的服务质量。
[0013]上述用户行为的或然概率与优先级的对应关系如下:
当用户正常行为的或然概率都集中在b附近,其中b为用户正常I/O行为的或然概率出现的最大频率值,若用户行为的或然概率靠近b则其正常程度较高,赋予其I/O数据高优先级;若用户行为的或然概率远离b则其正常程度较低,赋予I/O数据低优先级;
当用户I/o行为的或然概率远离b到小于b值的1/8,说明该用户的I/O流是攻击流,则对该用户的数据直接作过滤处理;
上述用户行为的或然概率与队列的对应关系如下:
设正常用户I/o行为的或然概率出现的最大频率设为FRQ ;
当用户行为的或然概率的出现频率在(1/2FRQ,FRQ]之间,则该用户I/O数据包放高优先级队列;
当用户行为的或然概率的出现频率在(1/4FRQ,1/2FRQ]之间,则该用户I/O数据包放中优先级队列;
当用户行为的或然概率的出现频率在(1/8FRQ,1/4FRQ]之间,则该用户I/O数据包放低优先级队列;
当用户行为的或然概率的出现频率在(0.L1/8FRQ]之间,则该用户I/O行为偏离正常过远,对该用户I/O数据包进行过滤。
[0014]上述赤字循环调度方法包含:
依次按照高优先级队列、中优先级队列、低优先级队列轮询的方式为每个队列提供调度服务;
每一次循环调度后,用AVe来决定在下一次循环调度时各队列所占带宽的比例5 ;其
中爲为队列仏的滑动平均用户数,Pe为队列$的正常度P值;
上述赤字循环参数设置方法包含以下步骤:
ο)队列 (i= 1Z3)的正常度Pi 比例为 Pl:P2:P3=1:1/2:1/4:1 ;P)队列仏(i=lZ3)在下一次循环调度时获得的带宽为η = #?Λ/(Σ|=Α乃),其中Nlt = UNii it-Ujnit ;其中a为一个比例常数,表明t-Ι时刻的用户数对t时刻的作用,一般取0.8 ;nit为t时刻队列仏.中的用户数;
q)若下一次循环调度允许传送的数据包数为M,则队列& (i= 1,2,3)应分配的定额为
quantum, = Μ* ,即在下次循环中队列仏的赤字计数器的值能加上Μ* η。
[0015]上述令牌桶的参数动态调整方法包含以下步骤:
r)用汇聚I/O流HSMM计算到达应用服务器的总的和新的负载的或然概率和当前的负载水平,得出它们的自相似性/长相关性,并判断统计结果是否出现异常情况,若否,则跳转到s),若是,则跳转到t);
s)若统计结果未出现异常情况,即正常高峰时段,则根据服务器当前的剩余处理能力确定令牌桶的深度和每秒加入的令牌数;
t)若统计结果出现异常情况,即存在分布式拒绝服务攻击流,则过滤掉低优先级队列的流量。
[0016]本发明一种云存储系统的可用性保障方法和现有技术相比,其优点在于,本发明用于保证云存储系统在异常情况时,例如遇分布式的拒绝服务(DDoS)攻击和遇突发的正常高峰I/O请求时段等,对合法用户的可用性和存储服务质量,该方法通过HSMM和HSMM在线算法精确描述各种用户的动态行为特征和系统的各种汇聚I/O流的动态变化情况,根据用户的动态行为特征计算对应的或然概率值,并以此区分正常用户和异常用户,根据各种汇聚汇I/O流的动态变化情况计算对应的或然概率值,并以此评估云控制器和应用服务器等负载情况;通过优先级排队和流量控制以及动态负载均衡技术阻止异常用户对系统的访问,化解针对系统的DDoS攻击,保证系统对正常合法用户的可用性和存储服务质量。
【专利附图】

【附图说明】
[0017]图1为本发明一种云存储系统的可用性保障方法的总体流程图;
图2为本发明一种云存储系统的可用性保障方法所适用的总体系统结构图;` 图3为本发明一种云存储系统的可用性保障方法中应用服务器的负载均衡方法的流程图;
图4为本发明一种云存储系统的可用性保障方法中I/O请求排队与流量控制方法的流程图;
图5为本发明一种云存储系统的可用性保障方法数据包入队的处理流程图;
图6为本发明一种云存储系统的可用性保障方法数据包出队的处理流程图;
图7为本发明一种云存储系统的可用性保障方法数据包的令牌桶示意图。
【具体实施方式】[0018]以下结合附图,进一步说明本发明的具体实施例。
[0019]如图1所示,为本发明的总体流程图,为了保证高峰时段云存储系统的可用性,一方面需要根据用户I/o请求序列精确区分正常用户和异常用户,保证正常用户的I/O服务质量;另一方面需要精确区分到达应用服务器的正常情况和异常情况的各种汇聚I/o流,并找出化解针对云存储系统的DDoS攻击的方法。本发明借鉴:隐半马尔科夫模型(HSMM,Hidden sem1-Markov modeling)描述存储系统各种汇聚I/O流的动态特性和用户行为特征,并引用与或然概率大小相对应的优先级,对I/O请求分组进行排队服务和流量控制以及动态负载均衡,从而找出化解针对云存储系统的DDoS攻击的方法,并保证系统的可用性和正常的存储服务质量。
[0020]如图2所示,为本发明的总体系统结构图,根据本发明所设计的攻防系统位于云控制器上,这样可以充分利用云存储系统服务器强大的计算能力,不断在应用中对HSMM更新完善。同时,也能保证异常检测和处理的速度。
[0021]本发明公开了一种云存储系统的可用性保障方法的实施例,该方法包含以下步骤:
步骤1、系统判断处于是否正常情况,若是,处于正常情况,则跳转到步骤2,若否,处于异常情况,则跳转到步骤3。
[0022]步骤2、根据动态负载均衡措施方法为合法的、突如其来的访问I/O流提供合理的存储资源分配服务,完成后跳转回步骤I。
[0023]步骤3、根据I/O请求排队与流量控制方法,化解高峰时段针对云存储系统的分布式的拒绝服务攻击,并结合动态负载均衡措施保证正常I/o请求的服务质量,完成后跳转回步骤I。
[0024]动态负载均衡措施方法包含:应用服务器的负载均衡方法,以及存储设备的负载均衡方法。
[0025]如图3所示,应用服务器的负载均衡方法包含以下步骤:
a)系统判断当前应用服务器是否空闲,若是,则跳转到b),若否,则跳转到C)。
[0026]b)根据到达应用服务器的I/O量大小,在其剩余处理能力允许的条件下建立多个虚拟机,以提高处理能力。
[0027]c)将负载较大的虚拟机的执行任务转移一部分至其它相对空闲的虚拟机处理,以维持所有虚拟机的负载均衡。
[0028]存储设备的负载均衡方法包含以下步骤:
d)通过监控存储网络中各种存储设备的状态和属性,评估其I/O能力。
[0029]e)将新的请求引导至I/O能力相对较强的存储设备。
[0030]上述服务器、虚拟机和存储设备负载能力评估,主要依据是云存储系统服务器、虚拟机和存储设备的I/o量、I/O响应时间和I/O带宽占用情况;这些参数一部分通过现有的云环境的网络监控软件获取,一部分通过汇聚流的统计行为HSMM的或然概率值计算进行评估。
[0031]如图4所示,上述步骤3中,I/O请求排队与流量控制方法包含以下步骤: f )计算用户行为HSMM和汇聚流的统计行为HSMM的或然概率。
[0032]g)将用户行为HSMM的或然概率对应为恰当的优先级,根据汇聚流的统计行为的或然概率评估服务器等的负载情况。
[0033]h)根据用户I/O请求优先级把不同来源的I/O请求流导入不同的队列。
[0034]i)按照赤字循环(DRR, Deficit Round Robin)调度方法进行队列调度。
[0035]j)采用令牌桶(Token Bucket)方法对输出流量进行速率限制。
[0036]步骤f)中,用户行为HSMM的或然概率处理方法包含以下步骤:
k)在云存储系统外的路由器、网关处或云控制器处,采集正常用户在使用各种应用层协议访问云存储系统时产生的大量观测序列作为模型训练的数据集。
[0037]I)用采集的数据集训练描述使用各种应用层协议用户动态行为特征的HSMM,对于使用同一种应用层协议的用户,将把具有相同cookie的用户1/0请求序列对于正常1/0行为HSMM计算其或然概率,根据或然概率值分配恰当的优先级。
[0038]汇聚流的统计行为HSMM的或然概率处理方法包含以下步骤:
η)在云存储系统外的路由器、网关或云控制器处,采集正常情况下产生的大量汇聚1/0流观测序列作为训练的数据集。
[0039]m)用采集的汇聚1/0流数据集训练描述网络动态行为特征的HSMM和设计能精确描述网络动态行为的HSMM在线算法,计算各种汇聚1/0流的或然概率值,根据该或然概率值估计云控制器、应用服务器或云存储设备的负载情况。
[0040]汇聚流的或然概率与应用服务器负载的对应关系如下:
当服务器负载正常时,访问服务器汇聚流的或然概率都集中在a值附近,其中a为服务器达到总负载的(0%,70%)时访问服务器的各种汇聚流或然概率出现的最大频率值;
当服务器汇聚流的或然概率偏离正常值,说明服务负载较大,偏离越远,系统负载越
大;
当负载达到服务器总负载的90% (汇聚流或然概率小于a的1/8)时,要启动负载均衡系统,降低服务器或虚拟机的负载,保证1/0请求的服务质量。
[0041]用户1/0行为的或然概率与优先级的对应关系如下:
研究表明:用户正常I/o流的或然概率出现的频率类似于正态分布。
[0042]当正常用户1/0行为的或然概率都集中在b附近,b为正常用户1/0行为的或然概率出现的最大频率值,若用户行为的或然概率靠近b则其正常程度较高,赋予其1/0数据高优先级。若用户行为的或然概率远离b则其正常程度较低,赋予1/0数据低优先级;
当用户I/o行为的或然概率远离b到一定程度,S卩小于正常用户1/0行为的或然概率出现的最大频率b的1/8,说明该用户的1/0流是攻击流,对该用户的1/0数据直接作过滤处理。
[0043]进一步地,根据优先级把不同来源的用户1/0流数据导入不同的队列,高优先级用户的I/o流数据导入高优先级队列,低优先级用户的1/0流数据导入低优先级队列。
[0044]具体来说,或然概率与队列的对应关系如下:
设正常用户1/0行为的或然概率出现的最大频率设为FRQ ;
当用户行为的或然概率的出现频率在(1/2FRQ,FRQ]之间,则该用户1/0数据包放高优先级队列。
[0045]当用户行为的或然概率的出现频率在(1/4FRQ,1/2FRQ]之间,则该用户1/0数据包放中优先级队列。[0046]当用户行为的或然概率的出现频率在(1/8FRQ,1/4FRQ]之间,则该用户I/O数据包放低优先级队列。
[0047]当用户行为的或然概率的出现频率在(0.1,1/8FRQ]之间,则该用户I/O行为偏离正常过远,对该用户I/o数据包进行过滤。
[0048]这样的分类机制克服了以前入侵防御控制系统只区分正常用户和非正常用户的缺点,不用确定一个区分正常和攻击的门限,而是提供具有多个优先级的队列。即使某些正常的但行为较为特殊的用户被给予了远离a的或然概率,只要不低于最小的门限(该门限可以很低,也可以不设),都可以获得一定的服务。这样就消除了唯一一个区分门限对攻击防御效果的影响,具有较大的灵活性。
[0049]为了保证正常用户的存储服务质量,需要对不同优先级的流区别服务,且同一优先级队列的用户体现公平。在对现有常用队列调度策略考察的基础上,本发明步骤i)中选择采用DRR (Deficit Round Robin,赤字循环)调度策略进行队列调度。
[0050]赤字循环(DRR,Deficit Round Robin)是一种公平队列调度策略,其工作流程如下:
(O各队列的赤字计数器(DeficitCounter)初始值置为0,各队列分配不同的定额(quantum),该定额决定队列所占的带宽;
(2)调度器轮询每个非空的队列:当访问到某个队列时,先将赤字计数器的值加上该队列的定额,得到一个新的值。若该队列首分组的大小大于赤字计数器的值,则调度下一非空队列;否则,对其提供服务,同时将计数器的值减去首分组的大小;如此对该队列进行服务,直至列队为空或队首分组的大小大于计数器的值为止。DRR克服了 FQ(Fair Queuing,公平队列)、WFQ (Weighted Fair Queuing,加权公平队列)和 WRR (Weighted Round Robin,加权循环)的缺点,算法简单且计算复杂度低,可在硬件设备上实现。调度时考虑到分组的大小问题,各个队列可以真正得到与权重相当的带宽。DRR具有算法简单、提供良好的公平性、各队列间互不影响、可按需为各队列提供不同的带宽等优点,得到了广泛的应用,其改进调度策略MDDR (Modified Deficit Round Robin)在Cisco 12000系列的路由器中被采用。
[0051]DRR通过分配给不同队列不同的定额来体现队列的优先级,分配定额的同时也达到了分配带宽的目的,具体操作时考虑两点:
1.优先级较高的队列,分配的定额相应较多。优先级较高的队列,其中的用户数据为正常用户的可能性高,应该给予较多的带宽使其获得更多的服务,因此分配的定额应该相应的多。所以考虑将正常度P值作为分配定额的一个权值因子;
2.一个队列在用户数多时得到的服务相应增多。基于DDoS攻击的特点,攻击者一般都是使用高速率的流进行攻击,因此不能用用户数据的速率作为分配带宽的权值因子。如果攻击者想要攻击流获得更多的服务,则需要仿冒正常用户的数据(这样其或然概率才会落在正常流或然概率出现的范围内,其正常度P值才会较大)。而用户数据的正常度P值、用户的数量、用户的数据流量呈现相互制约的关系,如果攻击者既要仿冒正常的用户数据,又要仿冒许多个不同的正常用户,难度就大大的增加了,这样的攻击流速率就不可能很高,因此将队列中用户数也作为分配定额的一个权值因子,和正常度P值一起决定带宽的分配。值得注意的是这里的用户数应是滑动平均的用户数,这样可以反映队列用户数的一个较为长期的状况。
[0052]基于上述考虑,本发明采用的DRR调度方法包含:
依次按照高优先级队列、中优先级队列、低优先级队列轮询的方式为每个队列提供调度服务。
[0053]每一次循环调度后,用AriPi来决定在下一次循环调度时各队列所占带宽的比例η ;
其中萬为队列仏的滑动平均用户数,Pi为队列&的正常度P值。
[0054]赤字循环参数设置方法包含以下步骤:
ο)队列仏 Ci= 1,2,3)的正常度!3,比例为 Pl:P2:P3=1:1/2:1/4:1 ;
P)队列(i = t2,3)在下一次循环调度时获得的带宽为其中Nit = aNlt_2+Cl-Ujnit ;其中a为一个比例常数,表明t-Ι时刻的用户数对t时刻的作用,一般取0.8 为t时刻队列Qi中的用户数;
q)若下一次循环调度允许传送的数据包数为M,则队列(1=1,2.,3)应分配的定额
(quantum) Squantiimi = M* Ti,即在下次循环中队列Qi的赤字计数器的值能加上M* Ti。
[0055]如图5并结合图6所示,为数据包入队、出队的处理流程。
[0056]入队的处理流程:若有数据包到达,首先检测该数据包所包含的用户信息,将包放`入其或然概率对应的队列? (〗=12.3)中(若无对应的队列,则丢弃该包,回到等待数据包到
达的状态),队列〖的长度加I。调整队列?的用户数和滑动平均用户数,回到等待数据包到达的状态。
[0057]出队处理的流程分为调度流程和发送流程:
调度流程:设当前被调度的队列为I,首先检查其定额quantum值。若其quantum值
小于1,则调度下一个队列(如果i=3,则根据当前令牌桶中的令牌数重新分配三个队列的quantum值,并将quantum值存入Store数组中备用),调度的信号就是将下一队列对应的Store赋值给quantum。回到第一步检测quantum值,直到当前被调度的队列quantum值大于或等于1,则进入发送的流程。
[0058]发送流程:若此时队列为空,则将该队列的quantum值存储到对应的Store中,并将quantum值置0,结束此次调用;若队列不为空,则发送队首数据包,将quantum值、队长和令牌数各减1,并调整队列中的用户数和滑动平均用户数,结束此次调用。[0059]因为当前调度队列的quantum值小于I是调度下一个队列的信号,所以在该队列为空的情况下将quantum值置0,以通知系统对下一个队列进行调度。Store数组用来存储三个队列在上一次调度中没用完的quantum。
[0060]本发明采用的流量控制技术采用令牌桶(Token Bucket)方法。
[0061]令牌桶是一种常见的速率控制方法,具有限制流的突发量和平均速率的特点,既可以用于流量控制,又可用于流量整形。其调节器(regulator)可以是一个流量控制器(traffic policer),也可以是一个流量整形器(traffic shaper)。需要指出的是,令牌桶仅仅对令牌进行管理,其本身没有丢弃或队列缓存的策略,而将这些任务留给数据流本身去完成。
[0062]如图7所示,为令牌桶示意图。算法描述如下:令牌桶有一个最大容限,称为令牌桶的深度,用c表示。每隔一个时间间隔就有一定数量的令牌加入到令牌桶中(设每秒产生的令牌数为r),当桶中积累的令牌达到了深度c时,新产生的令牌被丢弃。每个令牌允许发送一定数量的分组,流入的分组只有在调节器中拿到了与该分组相当的令牌才能顺利流出。当令牌桶中的令牌数不足以满足分组的要求时,分组将被丢弃或等待新的令牌加入到
桶中。设分组到达的速率为Sin <r时,新的分组到达则可申请到“许可证”,顺利通过令牌桶,令牌桶中的令牌出现节余;当《? =r时,新的分组到达也可以很快申请到“许可证”,
顺利通过令牌桶,令牌桶中的令牌数量维持不变?,当Rm >r时,如果令牌桶中尚有节余,分组
能不丢失的被发送,但如果令牌桶中没有节余,又有新的分组申请“许可证”时,这个分组就有可能丢失。由于令牌桶满时,新产生的令牌将溢出,不会再对数据流的输出做任何贡献,所以输出的突发流量近似比例于令牌桶的深度。通过令牌桶的控制,流出数据的速率可被
限制在一个范围以内CRin <.=R,R是保证I/O请求服务质量的到达分组速度的上限),以达到
速率限制和流量整形的目的。
[0063]本发明采用令牌桶来平滑送往服务器的数据的速率和流量,使到达服务器的数据流速率不超过服务器的处理能力,并且流量也不至于抖动太大。因而令牌桶的深度c和每秒加入的令牌数r需要根据服务器的处理能力来设定,并且可以根据服务器当前的状态动
态地调整。动态调整需要与服务器进行交互,及时取得服务器当前的状态信息。因此在Λ
时间内,允许的最大突发流量可用公式表示为:(b+At*r)/At =(500+80* At ) / At。即在I
秒内允许的最大突发流量为(500+80*1) /I (580数据包/秒);2秒内允许的最大突发流量为(500+80*2)/2 (330数据包/秒);3秒内允许的最大突发流量为(500+80*3)/3 (246数据包/秒)。依次类推。
[0064]令牌桶的参数根据应用服务器的当前状态进行动态调整。本发明中令牌桶(TokenBucket)的参数动态调整方法包含以下步骤:
r)用汇聚1/0流HSMM计算到达应用服务器的总的和新的负载的或然概率和当前的负载水平,得出它们的自相似性/长相关性(即Hurst parameter),并判断统计结果是否出现异常情况,若否,则跳转到S),若是,则跳转到t)。
[0065]s)若统计结果未出现异常情况,即正常高峰时段,则根据服务器当前的剩余处理能力确定令牌桶的深度和每秒加入的令牌数。
[0066]t)若统计结果出现异常情况,即存在分布式拒绝服务攻击流,则过滤掉低优先级队列的流量。
[0067]通过上述队列调度和流量控制方法,可以及时地过滤掉高峰时段针对海量存储系统的攻击流,即化解DDoS攻击。考虑到高峰时段的I/O量大且具有突发性的特点,为了保证系统的可用性和存储服务质量,本发明采用动态负载均衡措施来提高应用服务器的处理能力和存储设备(或存储节点)的响应能力。
[0068]尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
【权利要求】
1.一种云存储系统的可用性保障方法,其特征在于,该方法包含以下步骤: 步骤1、系统判断处于是否正常情况,若是,处于正常情况,则跳转到步骤2,若否,处于异常情况,则跳转到步骤3; 步骤2、根据动态负载均衡措施方法为合法的、突如其来的访问I/O流提供合理的存储资源分配服务,完成后跳转回步骤I ; 步骤3、根据I/O请求排队与流量控制方法,化解高峰时段针对云存储系统的分布式的拒绝服务攻击,并结合动态负载均衡措施保证正常I/O请求的服务质量,完成后跳转回步骤I。
2.如权利要求1所述的云存储系统的可用性保障方法,其特征在于,所述动态负载均衡措施方法包含:应用服务器的负载均衡方法,以及存储设备的负载均衡方法; 所述应用服务器的负载均衡方法包含以下步骤: a)系统判断当前应用服务器是否空闲,若是,则跳转到b),若否,则跳转到c); b)根据到达应用服务器的I/O量大小,在其剩余处理能力允许的条件下建立多个虚拟机,以提闻处理能力; c)将负载较大的虚拟机的执行任务转移一部分至其它相对空闲的虚拟机处理,以维持所有虚拟机的负载均衡; 所述存储设备的负载均衡方法包含以下步骤: d)通过监控存储网 络中各种存储设备的状态和属性,评估其I/O能力; e)将新的请求引导至I/O能力相对较强的存储设备。
3.如权利要求1或2所述的云存储系统的可用性保障方法,其特征在于,所述服务器、虚拟机和存储设备负载能力评估,主要依据是云存储系统服务器、虚拟机和存储设备的I/o量、I/O响应时间和I/O带宽占用情况;以上参数一部分通过现有的云环境的网络监控软件获取,一部分通过汇聚流的统计行为HSMM的或然概率值计算进行评估。
4.如权利要求1所述的云存储系统的可用性保障方法,其特征在于,所述I/O请求排队与流量控制方法包含以下步骤: f )计算用户行为HSMM和汇聚流的统计行为HSMM的或然概率; g)将用户行为HSMM的或然概率对应为恰当的优先级,根据汇聚流的统计行为的或然概率评估服务器等的负载情况; h)根据用户I/O请求优先级把不同来源的I/O请求流导入不同的队列; i)按照赤字循环调度方法进行队列调度; j)采用令牌桶方法对输出流量进行速率限制。
5.如权利要求4所述的云存储系统的可用性保障方法,其特征在于,所述用户行为HSMM的或然概率处理方法包含以下步骤: k)云存储系统外的路由器、网关处或云控制器处,采集正常用户在使用各种应用层协议访问云存储系统时产生的大量观测序列作为模型训练的数据集; I)用采集的数据集训练描述使用各种应用层协议用户动态行为特征的HSMM,对于使用同一种应用层协议的用户,将把具有相同cookie的用户I/O请求序列对于正常I/O行为HSMM计算其或然概率,根据或然概率值分配恰当的优先级; 所述汇聚流的统计行为HSMM的或然概率处理方法包含以下步骤:η)在云存储系统外的路由器、网关或云控制器处,采集正常情况下产生的大量汇聚流观测序列作为训练的数据集; m)用采集的各种汇聚流数据集训练描述网络动态行为特征的HSMM和设计描述网络动态行为的HSMM在线算法,计算相同源I/O流HSMM的或然概率值,根据或然概率值估计云控制器、应用服务器或云存储设备的负载情况。
6.如权利要求4所述的云存储系统的可用性保障方法,其特征在于,所述汇聚流的或然概率与应用服务器负载的对应关系如下: 当服务器负载正常时,访问服务器汇聚流的或然概率都集中a值附近,a为服务器达到总负载的(0%,70%)时服务器各种汇聚流的或然概率出现的最大频率值; 当汇聚流的或然概率偏离正常值,说明服务器负载较大,偏离越远,系统负载越大;当服务器负载达到服务器总负载的90%时,汇聚流或然概率小于a的1/8,要启动负载均衡系统,降低服务器或虚拟机的负载,保证I/O请求的服务质量。
7.如权利要求6所述的云存储系统的可用性保障方法,其特征在于,所述或然概率与优先级的对应关系如下: 当正常用户行为的或然概率都集中在b附近,其中b为正常用户I/O行为的或然概率出现的最大频率值,若用户行为的或然概率靠近b则其正常程度较高,赋予其I/O数据高优先级;若用户行为的或然概率远离b则其正常程度较低,赋予I/O数据低优先级; 当用户行为的或然概率远离b到或然概率值小于b的1/8,则说明其I/O数据流是攻击流,对该用户的I/O数 据直接作过滤处理。
8.如权利要求7所述的云存储系统的可用性保障方法,其特征在于,所述或然概率与队列的对应关系如下: 设正常用户I/o行为的或然概率出现的最大频率设为FRQ ; 当用户行为的或然概率的出现在(1/2FRQ,FRQ]之间,则该用户I/O数据包放高优先级队列; 当用户行为的或然概率的出现在(1/4FRQ,1/2FRQ]之间,则该用户I/O数据包放中优先级队列; 当用户行为的或然概率的出现在(1/8FRQ,1/4FRQ]之间,则该用户I/O数据包放低优先级队列; 当用户行为的或然概率的出现在(0.L1/8FRQ]之间,则该用户I/O行为偏离正常过远,该用户的I/O数据包要过滤掉。
9.如权利要求4所述的云存储系统的可用性保障方法,其特征在于,所述赤字循环调度方法包含: 依次按照高优先级队列、中优先级队列、低优先级队列轮询的方式为每个队列提供调度服务; 每一次循环调度后,用馬Pi来决定在下一次循环调度时各队列所占带宽的比例?I ;其中馬为队列&的滑动平均用户数,Ρ?为队列Qi的正常度P值; 所述赤字循环参数设置方法包含以下步骤:O)队列(i= 1,2,3)的正常度1 比例为 P1:P2 =P3=1:1/2:1/4:1 ; P)队列& (?=1.2,3)在下一次循环调度时获得的带宽为
10.如权利要求4所述的云存储系统的可用性保障方法,其特征在于,所述令牌桶的参数动态调整方法包含以下步骤: r)用汇聚I/O流HSMM计算到达应用服务器的总的和新的负载的或然概率和当前的负载水平,得出它们的自相似性/长相关性,并判断统计结果是否出现异常情况,若否,则跳转到s),若是,则跳转到t); s)若统计结果未出现异常情况,即正常高峰时段,则根据服务器当前的剩余处理能力确定令牌桶的深度和每秒加入的令牌数; t)若统计结果出现异常情况,即存在分布式拒绝服务攻击流,则过滤掉低优先级队列的流量。
【文档编号】H04L29/08GK103442076SQ201310396735
【公开日】2013年12月11日 申请日期:2013年9月4日 优先权日:2013年9月4日
【发明者】韩德志, 聂雄丁, 毕坤 申请人:上海海事大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1