基于分布式存储的QoS方法及系统技术方案

技术编号:28148307 阅读:39 留言:0更新日期:2021-04-21 19:36
本发明专利技术提供了一种基于分布式存储的QoS方法及系统。该方法包括:获取到来自客户端的IO请求时,将获取到的IO请求存入依客户端构建的二级队列;对每个客户端所对应的请求队列,构建预留标签二叉树、权重标签二叉树及上限标签二叉树;根据处于预留标签二叉树或者权重标签二叉树的节点是否符合出队条件,确定请求是否出队。本发明专利技术提供的基于分布式存储的QoS方法及系统使在某客户端出现突发IO请求时,能使其在不影响预留的情况下,更快相应该客户端的请求。求。求。

【技术实现步骤摘要】
基于分布式存储的QoS方法及系统


[0001]本专利技术涉及QoS
,特别是涉及一种基于分布式存储的QoS方法及系统。

技术介绍

[0002]QoS(Quality of Service)即服务质量或配额,为服务系统提供针对不同用户、不同数据流的不同权重服务的能力。在电信领域,多媒体服务领域内QoS能提供不同需求的定制服务,提供不同优先级;在存储领域,QoS能够根据系统配置,对I/O数据流按照权重进行资源分配,从而提高存储的服务质量。云计算时代,由于数据量规模庞大、资源类型复杂及云计算构建具有可变性和不可预测性,资源调度变得更加复杂且更为重要。
[0003]在分布式存储领域,块存储提供了将卷映射到主机使用的能力。由于资源的有限性,分布式存储系统同样需要对资源进行服务质量管理。当下流行的分布式存储系统中,针对块存储的QoS的定制算法存在实现成本过高、实现复杂等问题。
[0004]现有QoS算法主要基于两种算法,令牌桶算法及dmClock算法。
[0005]令牌桶算法是网络流量整形和速率限制中最常使用的一种算法。经典算法的原理是通过监督流入存储端端口的流量速率,对超出的流量进行限制,从而调配各客户端I/O,使得端口IOPS控制在预设范围。大小固定的令牌桶可自行按照系统预设的速度源源不断地产生令牌。当桶中的令牌数量超过最大容量限制,新的令牌将会被舍弃。如果令牌桶中存在令牌,则允许发送流量或接受I/O;而如果令牌桶中不存在令牌,则不允许发送流量或接受I/O。
[0006]dmClock算法是mClock算法的分布式版本。mClock算法将QoS定义为保证I/O资源的界定参数,分别是权重(weight或proportion)、预留(reservation)和上限(limit)等等。其基本思想是首先保证预留IOPS,然后对于没有超过上限IOPS的资源,按照权重分配IOPS。当资源I/O请求到达后,根据QoS三个参数会计算这三个指标,公式为:
[0007][0008][0009][0010]其中,表示第i个资源的第r个请求的reservation标签,和P
in
以此类推,分别代表limit标签和proportion标签。r,l和w分别代表用户预设的reservation,limit和weight参数。
[0011]dmClock算法将应用场景变为了分布式存储,虚拟机将I/O请求发送到存储集群的某一个节点上。其指标公式改进为:
[0012][0013][0014][0015]其中,ρ
i
和δ
i
是包含在I/O命令中的信息。因为分布式系统中存在多个服务器,发往同一个服务器的两次I/O之间其他服务器可能已经完成了预留值或最小值,所以需要服务器将每次I/O完成调度信息后基于预留值以及权重返还给客户端,客户端分别叠加计算为ρ
i
和δ
i
,再包含在I/O命令中发送给服务器。

技术实现思路

[0016]本专利技术要解决的技术问题是提供一种基于分布式存储的QoS方法及系统,使在某客户端出现突发IO请求时,能使其在不影响预留的情况下,更快相应该客户端的请求。
[0017]为解决上述技术问题,本专利技术提供了一种基于分布式存储的QoS方法,所述方法包括:获取到来自客户端的IO请求时,将获取到的IO请求存入依客户端构建的二级队列;对每个客户端所对应的请求队列,构建预留标签二叉树、权重标签二叉树及上限标签二叉树,其中,且预留标签二叉树、权重标签二叉树及上限标签二叉树均根据节点的标签取值,确定请求队列中请求在其中的存储位置;根据处于预留标签二叉树或者权重标签二叉树的节点是否符合出队条件,确定请求是否出队。
[0018]在一些实施方式中,预留标签二叉树、权重标签二叉树及上限标签二叉树均为完全二叉树。
[0019]在一些实施方式中,预留标签二叉树中的标签取值,根据如下公式调整:
[0020][0021]其中,表示第i个资源的第n个请求的预留标签取值,r
i
表示第i个资源上的预设预留值,ρ
i
表示第i个资源发送到其他服务器的请求个数,t表示当前时间。
[0022]在一些实施方式中,对于预留标签二叉树,出队条件包括:若当其根节点的队首元素的预留标签小于或等于当前时间,则可以出队。
[0023]在一些实施方式中,权重标签二叉树中的标签取值,根据如下公式调整:
[0024][0025]其中,W
in
表示第i个资源的第n个请求的权重标签取值,w
i
表示第i个资源上的预设权重值,δ
i
表示第i个资源发送到其他服务器的请求个数,s
i
表示第i个资源的突发可调参数,t表示当前时间。
[0026]在一些实施方式中,对于权重标签二叉树,出队条件包括:某个节点的队元素的权重标签小于或等于当前时间,则将权重标签二叉树中对应节点的ready变为true,并上浮到
根节点;并将上限标签二叉树中对应节点的ready变为true,并下沉到叶子节点。
[0027]在一些实施方式中,上限标签二叉树的标签取值,根据如下公式调整:
[0028][0029]其中,表示第i个资源的第n个请求的上限标签取值,l
i
表示第i个资源上的预设权重值,δ
i
表示第i个资源发送到其他服务器的请求个数,s
i
表示第i个资源的突发可调参数,t表示当前时间。
[0030]在一些实施方式中,二级队列包括:客户端队列,以及与客户端队列中的客户端相对应的请求队列。
[0031]此外,本专利技术还提供了一种基于分布式存储的QoS系统,所述系统包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的基于分布式存储的QoS方法。
[0032]采用这样的设计后,本专利技术至少具有以下优点:
[0033]该方案通过预设一个自适应可调节的参数并以此设计了一种实现方式,提高了系统的适应性;当面对突发I/O状况时,能更为及时合理地处理请求。
附图说明
[0034]上述仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,以下结合附图与具体实施方式对本专利技术作进一步的详细说明。
[0035]图1是本专利技术实施例提供的二级队列的原理示意图;
[0036]图2是本专利技术实施例提供的出队流程的流程示意图;
[0037]图3是本专利技术实施例提供的基于分布式存储的QoS系统的结构示意图。
具体实施方式
[0038]以下结合附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。
[0039]本专利从IOPS的角度出发,从小块数据(典型如4KB)来设计,给出如本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于分布式存储的QoS方法,其特征在于,包括:获取到来自客户端的IO请求时,将获取到的IO请求存入依客户端构建的二级队列;对每个客户端所对应的请求队列,构建预留标签二叉树、权重标签二叉树及上限标签二叉树,其中,且预留标签二叉树、权重标签二叉树及上限标签二叉树均根据节点的标签取值,确定请求队列中请求在其中的存储位置;根据处于预留标签二叉树或者权重标签二叉树的节点是否符合出队条件,确定请求是否出队。2.根据权利要求1所述的基于分布式存储的QoS方法,其特征在于,预留标签二叉树、权重标签二叉树及上限标签二叉树均为完全二叉树。3.根据权利要求1所述的基于分布式存储的QoS方法,其特征在于,预留标签二叉树中的标签取值,根据如下公式调整:其中,表示第i个资源的第n个请求的预留标签取值,r
i
表示第i个资源上的预设预留值,ρ
i
表示第i个资源发送到其他服务器的请求个数,t表示当前时间。4.根据权利要求3所述的集约分布式存储的QoS方法,其特征在于,对于预留标签二叉树,出队条件包括:若当其根节点的队首元素的预留标签小于或等于当前时间,则可以出队。5.根据权利要求1所述的基于分布式存储的QoS方法,其特征在于,权重标签二叉树中的标签取值,根据如下公式调整:其中,W
in
表示第i个资源的第n个请求的权重标签取值,w
i
表示第...

【专利技术属性】
技术研发人员:李昆鹏张承冰杨恒宣旭迎杨宏兵袁鹏飞文中领周泽湘
申请(专利权)人:北京同有飞骥科技股份有限公司
类型:发明
国别省市:

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

1