CN102170396B - 一种基于区分服务的云存储系统QoS控制方法 - Google Patents
一种基于区分服务的云存储系统QoS控制方法 Download PDFInfo
- Publication number
- CN102170396B CN102170396B CN201110116396.2A CN201110116396A CN102170396B CN 102170396 B CN102170396 B CN 102170396B CN 201110116396 A CN201110116396 A CN 201110116396A CN 102170396 B CN102170396 B CN 102170396B
- Authority
- CN
- China
- Prior art keywords
- qos
- request
- service quality
- data
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明公开了一种基于区分服务的云存储系统服务质量控制方法,通过对元数据服务器端、数据存储服务器端的QoS控制机制的设定,使得本发明的方法能够从多方面、全方位保证不同等级云存储系统用户的QoS需求,实现区分服务。
Description
技术领域
本发明属于云存储系统领域,主要实现了一种基于区分服务的云存储系统服务质量 (Quality of service,QoS)控制方法。
背景技术
云存储是在云计算概念上延伸出来的一个新的概念,指的是通过应用集群技术、虚拟化技术、分布式文件系统技术等,将海量的各种异构存储设备通过应用软件和高速网络整合起来协同工作,共同对外提供大规模数据存储和访问功能的一种技术。简单地说,就是将所有基础服务内容存储在多台计算机上,利用多台计算上的有限存储空间来构成一个统一的海量存储空间对外提供服务。其中,云存储系统,也就是通常意义上所说的分布式文件系统,是云存储最为关键的技术,也是其最主要的组成部分。
QoS,即服务质量(Quality of Service),是指网络在传输数据流时需要满足的一系列服务需求,是网络与用户之间以及网络上互相通信的用户之间信息传输与共享的质量约定。作为一种安全机制,QoS主要用来解决网络延迟和阻塞等问题,具体可以量化为带宽、延迟、延迟抖动、丢失率、吞吐量等性能指标。
目前,QoS主要提供三种服务模型:Best-Effort(尽力而为)服务模型,Int-Serv(综合服务)服务模型和Diff-Serv(区分服务)服务模型。Best-Effort服务模型是最简单的服务模型,网络尽最大的努力来发送报文和数据,对时延、带宽、可靠性等QoS参数不作任何保证;Int-Serv服务模型是一个综合服务模型,通过使用资源预留协议(RSVP),它能够明确区分并保证每一个流的QoS。但是,因为RSVP需要监视每一个流,并为网络提供细粒度化的服务区分,其扩展性差;Diff-Serv服务模型是一个多服务模型,其旨在定义一种能实施QoS且更易扩展的方式,以解决Int-Serv扩展性差的缺点。通过简化信令,加粗业务流的分类力度,区分服务可以满足不同的QoS需求,同时不需要通知网络为每个业务预留资源,其实现简单,扩展性好。
QoS控制的主要目的在于为互联网应用提供性能保证和区分服务。但是,单靠网络提供的QoS机制并不能完全解决互联网应用的QoS保证问题。同样,云存储系统也不能仅仅依赖网络所提供的机制来保证自身的QoS需求,必须从系统本身的架构出发建立保证QoS需求的机制和策略。
目前,云存储系统的构建主要有两种方式,一种是软硬件一体化构建,海量文件存储系统需要在专门定制的高性能存储设备(例如:IBM XIV存储系统、惠普ExDS9100以及EMC Atmos等)上运行并提供服务;另一种是通过普通PC构建大型集群,并在之上利用分布式文件系统来提供云存储服务,Google File System、Apache Hadoop、Ceph 以及淘宝网的TFS 都是该形式的典型应用。通过第一种方式构建的云存储系统,其QoS保证机制主要由专门从事分布式存储的厂商通过硬件和软件共同完成;由于单台存储设备的性能有限,以第二种方式构建的云存储系统需要制定额外的分布式运行机制和策略,以软件而不是硬件的方式来实现整个云存储系统的QoS保证机制。
调研发现,当前国内外主流的这类云存储系统在海量数据存储能力上各有千秋,但他们通常都是针对某一特定应用而设计的,如Google公司为海量分布式数据存储与访问应用设计的高扩展性,高可靠性的分布式文件系统Google File System和构建在普通Linux集群之上,为淘宝网提供高可靠和高并发的海量小文件存储服务的淘宝TFS等。作为支撑其主营业务运行的后台存储系统,他们对用户的数据访问响应类似于一个“尽力而为”的模型,没有对用户进行区分,也没有对访问服务作出太多的QoS控制,很难满足不同用户的QoS需求。
因此,如何从构建于普通PC之上的云存储系统架构出发,开发出一种基于区分服务的云存储系统QoS控制方法,为不同等级的用户提供不同的QoS保证,扩大云存储系统的应用范围,使其能够适应不同业务场景下的海量数据访问服务成为业界的迫切需要。
发明内容
本发明针对现有技术的不足,提出一种基于区分服务的云存储系统QoS控制方法,通过设定元数据服务器端策略和数据存储服务器端策略,使得能全方位保证不同等级云存储系统用户的QoS需求,实现区分服务。
一种基于区分服务的云存储系统QoS控制方法,包括元数据服务器端策略和数据存储服务器端策略
所述元数据服务器端策略包括如下步骤:
1)将客户端用户请求映射到一个特定的服务质量等级上,所述元数据服务器端将基于服务质量等级为此用户提供不同的QoS保证;
2)所述元数据服务器端将所述不同服务质量等级的客户端用户请求通过接纳控制流程存入缓冲队列;
3)所述元数据服务器端从所述缓冲队列中取出所述不同服务质量等级的客户端用户请求进行调度处理;
所述数据存储服务器端策略包括如下步骤:
1)对单个存储请求的容量限制一个最大值;
2)所述数据存储服务器端对每个客户端用户请求各自分配一个队列,并对各队列进行调度;
3)所述数据存储服务器端对各自的服务器进行Qos负载进行检测,如发现过载则对此服务器进行Qos调节。
作为可选方案:所述数据存储服务器端策略中还包括QoS-aware负载均衡,所述QoS-aware负载均衡根据所述不同服务质量等级的客户端用户的读请求进行分流。
作为可选方案:所述数据存储服务器端策略中还包括断点续传机制,所述断点续传机制通过客户端与数据存储服务器完成,所述客户端负责在单个文件数据传输的过程中,在本地以文件的形式保存该过程的状态信息;所述数据存储服务器负责具体数据的读写及对向所述客户端反馈上传数据过程的状态信息。
作为可选方案:上述基于服务质量等级为此用户提供不同的QoS保证包括如下步骤:
1)将所述客户端用户的QoS需求建模成二元组: ,
其中表示所述客户端用户对元数据访问的QoS需求,表示所述客户端用户对数据存储的QoS需求;
2)将服务质量等级建模成3元组,即,其中为第i级服务质量等级的标识符,为第i级服务质量等级的元数据访问QoS需求,为第i级服务质量等级的数据存储QoS需求;
3)设置客户端用户QoS需求与所述服务质量等级之间的映射函数f;
4)通过步骤3)将客户端用户请求映射到特定的服务质量等级上,然后基于该服务质量等级为此客户端用户提供不同的QoS保证。
作为可选方案:上述接纳控制流程包括如下步骤:
1)当第i级服务质量等级的元数据请求到达接纳控制器时,根据公式计算当前队列的拥塞负载,如果,则允许所述元数据请求进入所述缓冲队列,接纳控制结束,否则,执行步骤2),
其中所述表示最近元数据请求的到达速率,表示服务器对请求的处理速率;
2)计算所述缓冲队列长度与最大长度之比,如果,允许所述元数据请求进入缓冲队列;否则将丢弃,
其中所述表示所述缓冲队列的当前长度,表示所述缓冲队列的最大长度,所述缓冲队列长度与最大长度之比为定值;
所述元数据服务器端策略中的调度处理包括如下步骤:
1)当服务质量等级为的客户端发送元数据请求。当所述元数据请求到达所述元数据服务器端时,计算其对应的最迟截止时间,其中为到达时间;
2)当所述元数据请求进入缓冲队列时,依据所述最迟截止时间将所述元数据请求放入到相应的排序位置;
3)元数据服务器端的请求调度器按照缓冲队列内请求的排序序列依次取出请求提交所述元数据服务器端处理。
作为可选方案:上述数据存储服务器端策略中对各队列进行调度包括如下步骤:
1)根据公式计算出各个队列为了满足传输带宽QoS需求,在时间内所需要提交所述数据存储服务器端处理的单元存储请求个数,并为每个队列设定一个倒数计数器,其初始值为;
2)数据存储服务器端的请求调度器依照服务质量等级,以队列群为单位,对多级队列进行轮循调度;
3)当所有的计数器都为0或者周期结束时,满足QoS需求的队列调度完毕,当本周期内实际提交服务器处理的总请求数时,则认为服务器负载适中,所述值取0.58。
作为可选方案:上述数据存储服务器端对各自的服务器进行Qos负载进行检测包括如下步骤:
1)设置多级队列、满足各用户QoS的请求处理数、服务器的最大请求处理数;
2)将周期T需求处理的总请求数设为零;
3)比较各个所述多级队列的长度和满足客户端用户QoS的请求处理数,取其小者加入到所述周期T需要处理的总请求数中;
4)判断是否匹配结束,如没有则重复步骤3),如结束则判断周期T需求处理的总请求是否大于最大请求数,如大于最大请求数则说明过载,否则未过载;
所述数据存储服务器端对各自的服务器进行Qos负载进行调节包括如下步骤:
1)根据公式查找当前服务质量等级最低且降级次数最少的多级队列,如果这样的多级队列存在多个,则选取最后建立的多级队列进行服务质量等级下降;
2)设所述多级队列对应的服务质量等级为,则把降为,对应的降级次数加1,然后重新计算降级后的请求处理数;
3)重新执行QoS负载检测方法,如果系统仍然过载,则返回步骤1)继续进行QoS调节,被降级的多级队列能否恢复原来的服务质量等级,取决于下一周期服务器的负载情况。
作为可选方案:所述QoS-aware负载均衡包括如下步骤:
1)统计得出数据存储服务器集群中用户请求等级L及满足各服务质量等级QoS需求的存储请求处理数集合;
2)遍历数据存储服务器集群中的所有服务器,在每次执行遍历过程中,计算出当前服务器为满足用户请求等级L需要处理的总请求数,用所述总请求数除以该服务器的最大请求处理数所得到的当前服务器的QoS负载,与load进行比较,若比load小,则将该负载作为最小的负载赋给load,本次迭代的服务器作为要找的目标服务器赋给target,然后返回步骤2)重新迭代,若tempLoad大于等于load则直接返回步骤2)迭代,直到找到负载最小的服务器并作为最合适的数据存储服务器;
其中Target表示要找的负载最小的那个数据存储服务器,在执行步骤2)前将其置为空;load表示要找的目标数据存储服务器的负载,即最小的那个负载,在执行步骤2)前将其置为最大。
作为可选方案:所述断点续传机制中将客户端数据传输状态文件设置为如下结构:type为本次数据传输的类型;identifier为传输文件在云存储系统中的唯一标示符;localpath表示该文件在客户端的绝对路径;length为该文件的大小;num为该文件传输过程中需要发送的单元存储请求个数;received为当前已完成传输的最后一个单元存储请求的编号;servers为数据传输的目标服务器地址;endflag为状态内容结束的标记。
本发明的有益效果在于:基于QoS需求每一个用户将被映射到一个特定的服务质量等级能够为不同等级的用户访问提供不同的QoS保证;元数据请求接纳控制策略能够使服务器输出链路资源利用率最大化;请求调度器采用著名的实时调度方法EDF满足用户对时延的需求;多级队列能够管理数据存储服务器不同等级的存储请求;自适应的QoS负载检测与调节机制能更好地为用户提供QoS支持;QoS-aware负载均衡保证面向QoS的请求分配最优化,结合QoS-aware数据存储服务器队列调度,能够真正实现负载均衡;轻量级的传输过程QoS保证机制能有效减轻服务器的负担;完整的QoS控制机制能够从多方面、全方位保证不同等级云存储系统用户的QoS需求,实现区分服务。
附图说明
图1为云存储系统整体架构模型图;
图2为队列缓冲技术图;
图3为数据存储服务器队列调度模型图;
图4为实现QoS-aware负载均衡的云存储系统模型图;
图5为数据传输状态文件结构图;
图6为自适应的QoS检测方法流程图;
图7为QoS-aware负载均衡策略方法流程图;
图8为元数据服务器QoS控制测试结果图;
图9为数据存储服务器QoS控制测试结果图;
图10为QoS-aware负载均衡方法和QoS-unaware方法对云存储系统的QoS控制对比结果图。
具体实施方式
下面将结合附图和具体实施例对本发明做进一步的说明。
如图1所示,该系统主要由元数据服务器(“中心节点”),数据存储服务器(“存储节点”)以及客户端三个功能实体组成。元数据服务器负责存储和管理云存储系统内所有文件的元数据信息(文件控制信息);数据存储服务器负责存储具体的文件数据块,不涉及文件的控制信息,同时向客户端提供数据的读写服务;客户端是云存储存储系统的使用平台和入口,为用户提供存储访问接口。
其总体策略主要包括以下几个部分:
(1)基于用户QoS需求的服务质量等级划分
云存储系统QoS控制的其中一个目标就是区分服务,因此对用户进行基于QoS需求的服务质量等级划分是实现QoS控制的首要环节。其中用户与服务质量等级之间是一个“多对一”映射关系,具有不同QoS需求的用户将被划分到不同服务质量等级,执行数据存储访问时系统将为不同服务质量等级的请求提供不同的QoS保证。
(2)元数据服务器的QoS控制
元数据服务器的QoS控制主要分为两步完成:
(a)元数据请求接纳控制;
(b)基于EDF的队列调度。在HDFS云存储系统中,服务器总是按照严格的FIFO顺序,从队列中取出客户端请求进行处理。这样的队列管理机制并没有区分用户和请求,无法满足基于区分服务的QoS控制,因此需要采用基于EDF的队列调度来解决服务阻塞的问题。
(3)数据存储服务器的QoS控制
本方法对数据存储服务器的QoS控制主要基于以下三个方面来考虑:
(a)单元存储请求;
(b)多级队列调度;
(c)自适应的负载检测与调节。在数据存储服务器上,接纳控制机制比较简单,当某用户的队列已满时,它才会拒绝后续的单元存储请求。因此,还必须为服务器引入自适应的QoS负载检测与调节机制。
(4)QoS-aware负载均衡
在一般的云存储系统中,负载均衡方法并没有考虑不同用户的QoS需求,而是将所有用户对数据的请求平均分配到各个数据存储服务器上。这样的QoS-unaware负载均衡策略与QoS-aware数据存储服务器队列调度具有不一致性,从而可能无法实现真正的负载均衡。因此,必须考虑用户的服务质量等级,采用QoS-aware负载均衡策略,来对不同用户的请求进行分流。
(5)传输过程的QoS保证
由于客户端在与数据存储服务器进行数据传输的过程中,有可能会出现数据丢包的现象,导致客户端上传下载流程中断或者传输的文件损坏,因此有必要对数据的传输过程也进行QoS保证,通过断点续传机制来保证数据传输的正确性和效率。
进一步的基于用户QoS需求的服务质量等级划分时将用户的QoS需求被建模成一个二元组:,表示该用户对元数据访问的QoS需求,表示该用户对数据存储的QoS需求。服务质量等级被建模成一个3元组,即,为第i级服务质量等级的标识符,具有唯一性,为第i级服务质量等级所定义的元数据访问QoS需求,为第i级服务质量等级所定义的数据存储QoS需求。表示在云存储系统中所有服务质量等级的集合。映射函数就表示在用户QoS需求与服务质量等级之间的映射函数,通过该函数,就可以把任一用户请求映射到一个特定的服务质量等级上,然后基于该服务质量等级为此用户提供不同的QoS保证。
元数据服务器端:
图2描述了元数据服务器的队列缓冲技术图,当用户的元数据请求到达元数据服务器时,该请求不会立即提交服务器处理,而是先将请求放入缓冲队列等候转发,使服务器输出链路的资源利用率最大化。
传统的接纳控制方法主要是为解决网络拥塞的QoS问题,以网络资源和带宽利用作为依据进行接纳控制,与基于普通PC构建的云存储系统还是有很大区别,同时,它们一般都假定请求到达服从泊松分布,然而相关研究已证明网络中用户的请求访问并不一定呈泊松分布,所以必须采用另外的接纳控制策略。
元数据请求的接纳控制流程如下:
步骤一:当某个第i级服务质量等级的元数据请求到达接纳控制器时,根据公式计算当前队列的拥塞负载,表示最近元数据请求的到达速率,表示服务器对请求的处理速率。如果,允许进入缓冲队列,否则,进入接纳控制考虑流程。
步骤二: 在接纳控制流程中,计算当前队列长度与最大长度之比,表示缓冲队列的当前长度,表示缓冲队列的最大长度,通常是一定值。如果,允许进入缓冲队列;否则将丢弃。
在HDFS云存储系统中,服务器总是按照严格的FIFO顺序,从队列中取出客户端请求进行处理。这样的队列管理机制并没有区分用户和请求,不适合基于区分服务的QoS控制。
采用最早截止时间优先EDF(Earliest Deadline First)的思想对缓冲队列进行调度。EDF是C.L.Liu和J.W.Layland提出的一个著名的实时调度方法。该方法中具有最早截止期限的周期任务将会被分配一个最高的优先级,并且任务的优先级是随着时间而改变的,在每一个可调度时刻,可根据任务的最早截止期限,动态改变任务的优先级。
不同服务质量等级的元数据请求,缓冲队列按照以下流程将请求提交到元数据服务器进行处理:
步骤一:某服务质量等级为的客户端发送元数据请求。当到达元数据服务器时,计算其对应的最迟截止时间,为到达时间。
步骤二:当请求进入缓冲队列时,依据其最迟截止时间将放入到相应的排序位置,该插入操作时间复杂度为,其中为当前缓冲队列的长度。
步骤三: 请求调度器按照内请求的排序序列依次取出请求提交服务器处理。
数据存储服务器端:
通过结合数据存储服务器的特点以及用户对数据传输的QoS需求,分别从单元存储请求,多级队列调度以及自适应的负载检测控制等几方面来实现数据存储服务器的QoS控制机制。
单元存储请求:
我们定义单元存储请求如下:在数据存储服务器上,所有的单个存储请求最多只能请求大小为的数据传输,该单个存储请求称之为“单元存储请求”。例如,用户要连接数据存储服务器传输大小为的文件,那么客户端必须发送个单元存储请求到服务器,而不是只发送一个请求。另外,单元存储请求的大小与服务质量等级无关,也就是在云存储系统中所有单元存储请求都具有相同的大小,不因等级而异。
多级队列请求:
为了实现对不同服务质量等级和不同用户的性能区分和隔离,数据存储服务器采用多级队列来维护和管理不同等级的存储请求。如图3所示服务器为每一个用户都分配一个队列进行调度,以防用户之间请求的相互影响。对于多级队列的调度,目前有许多方法,其中最为典型的是轮循方法(round robin,RR)。RR方法是一种相对“公平”的调度方法。它会依次从不同队列中分别取出一个请求提交处理,如果队列为空则跳过。然而该方法在队列间轮循的方式过于公平,并不适合不同等级请求的区分处理,难以进行有效的QoS控制。
为了平衡存储请求的公平性和QoS控制,本方法采用另外的队列调度策略,来满足不同等级用户的QoS需求。具体调度策略如下:
步骤一:根据公式计算出各个队列为了满足传输带宽QoS需求,在内所需要提交服务器处理的单元存储请求个数。并为每个队列设定一个倒数计数器,其初始值为。
步骤二:请求调度器依照服务质量等级,以队列群为单位,对多级队列进行轮循调度。
步骤三:当所有的计数器都为0或者周期结束时,表示本周期内所有用户的存储请求都已经提交服务器处理,满足QoS需求的队列调度完毕。如果本周期内实际提交服务器处理的总请求数,则认为当前服务器负载适中,能够充分利用系统资源,提供良好的服务性能。一般地,值取0.58较为合适。
自适应的QoS负载检测与调节:
在数据存储服务器上,接纳控制机制比较简单,当某用户的队列已满时,它才会拒绝后续的单元存储请求。因此必须为服务器引入自适应的QoS负载检测与调节。
自适应的QoS负载检测方法的流程图如图6所示;
1)设置多级队列、满足各用户QoS的请求处理数、服务器的最大请求处理数;
2)将周期T需求处理的总请求数设为零;
3)比较各个所述多级队列的长度和满足客户端用户QoS的请求处理数,取其小者加入到所述周期T需要处理的总请求数中;
4)判断是否匹配结束,如没有则重复步骤3),如结束则判断周期T需求处理的总请求是否大于最大请求数,如大于最大请求数则说明过载,否则未过载;
同时,为了避免服务器的负载过重,还应该对其QoS进行调节,其调节流程如下:
步骤一:根据公式找到当前服务质量等级最低且降级次数最少的队列,如果这样的队列存在多个,则选取最后建立的队列进行服务质量等级下降。
步骤二:设该队列对应的服务质量等级为,则把降为,对应的降级次数加1,然后重新计算降级后的请求处理数。
步骤三:重新执行QoS负载检测方法,如果此时系统不再过载,说明服务器可以满足当前所有用户的QoS需求;如果系统仍然过载,那么跳转到步骤一继续进行QoS调节。被降级的队列能否恢复原来的服务质量等级,取决于下一周期服务器的负载情况。
QoS-aware负载均衡:
在一般的云存储系统中,负载均衡方法并没有考虑不同用户的QoS需求,而是将所有用户对数据的读请求平均地分配到各个数据存储服务器上。为了实现对不同用户的读请求进行分流,必须考虑用户的服务质量等级,采用QoS-aware负载均衡策略,来对不同用户的读请求进行分流。如图4所示是实现QoS-aware负载均衡的云存储系统模型,客户端首先请求元数据服务器,元数据服务器针对客户端的请求查询数据存储服务器并将信息反馈给客户端,客户端根据反馈的信息访问数据存储服务器。如图7所示是QoS-aware负载均衡策略方法的流程图:表示当前集群内能够响应对某文件读请求的n台数据存储服务器,表示第i台数据存储服务器,i是的唯一标识符,,。其中为服务质量等级为j()的多级队列个数,为的最大请求处理数Target表示要找的负载最小的那个数据存储服务器,首先设为空,load表示要找的目标数据存储服务器的负载,即最小的那个负载,但是首先要将它置为最大,,临时变量,表示每次迭代过程中当前服务器的负载,Num表示每次迭代过程中,当前服务器为满足当前用户请求等级L需要处理的总请求数。首先遍历数据存储服务器集群中的所有服务器,找到负载最小的那个并作为最合适的数据存储服务器返回。在每次遍历过程中,计算出当前服务器器为满足用户请求等级L需要处理的总请求数(第二个循环流程),然后用总请求数除以该服务器的最大请求处理数得到当前服务器的QoS负载,并和load进行比较,若比load小,则将该负载作为最小的负载赋给load,本次迭代的服务器作为要找的目标服务器赋给target,然后进行下一轮迭代。若tempLoad大于等于load则直接进下一轮迭代。
传输过程的QoS保证:
由于客户端在与数据存储服务器进行数据传输的过程中,有可能会出现数据丢包的现象,导致客户端上传下载流程中断或者传输的文件损坏,因此有必要提供一套断点续传机制,对数据的传输过程进行QoS保证,确保数据传输的正确性和效率。传输过程的QoS保证,主要由客户端和数据存储服务器共同完成。在单个文件数据传输的过程中,客户端主要负责在本地以文件的形式来保存该过程的状态信息;而数据存储服务器除了负责具体数据的读写之外,还必须在用户上传数据的过程中周期性地向客户端反馈已经有哪些数据写入服务器。如图5所示是客户端数据传输状态文件结构图,其中,type为本次数据传输的类型;identifier为传输文件在云存储系统中的唯一标示符;localpath表示该文件在客户端的绝对路径;length为该文件的大小;num为该文件传输过程中需要发送的单元存储请求个数;received为当前已完成传输的最后一个单元存储请求的编号;servers为数据传输的目标服务器地址;endflag为状态内容结束的标记。
当客户端与数据存储服务器连接,要进行文件数据传输时,就会在本地生成一个针对该文件的传输状态文件。在对该文件的传输过程中,不断地根据服务器的反馈信息或者收到的数据包更新received,记录当前的传输状态。当发现数据传输丢包或者中断时,重新读取状态文件从断点received开始传输数据;当客户端发现传输的服务器无法连接时,选择备用服务器重新进行数据传输。
实验分析:
在测试中,我们采用自主开发的云存储系统JTangFS构建测试环境,1台元数据服务器,10台数据存储服务器,这些服务器都运行在普通PC上。元数据服务器的配置信息如表1所示:
数据存储服务器配置如表2所示:
表2数据存储服务器配置表
在对云存储QoS控制的测试中,我们先定义4个服务质量等级,分别为0~3级。第0级服务质量等级为最低级,第3级为最高级。0~3级各自要求的传输带宽分别为0.25MB/s、0.5MB/s、1MB/s以及1.5MB/s。测试客户端分别属于1~3的不同等级。进行如下实验:
1.测试元数据服务器QoS控制:
在本实验中,采用10台PC模拟不同服务质量等级的客户端向元数据服务器发送创建目录的元数据请求。在第一次测试中,客户端向元数据服务器以300请求/s的低速率发送请求,1~3等级的速率均等;第二次元数据请求则以700请求/s的高速率发送,实验结果如图8所示。从图中可看出,当元数据请求的速率较低时,元数据服务器能够快速地处理各种请求,不同等级之间的响应时延差别不大;如果请求的速率到达一个较高的水平时,由于元数据服务器采用EDF队列调度,高等级的请求可以优先处理,因此高等级客户端的响应时延比低等级客户端的响应时延要小很多,两者之间的差别较为明显。
2.测试数据存储服务器QoS控制:
在本实验中,我们启动10台PC,每台PC模拟30个客户端(1~3级客户端各为10个)向系统请求文件下载,实验结果如图从图中可看出,在服务器低负载的情况下,通过数据存储服务器的多级队列调度,每个等级的客户端都可以获得相应的传输带宽,满足其QoS需求;而在高负载的情况下,自适应的QoS负载调节会通过服务质量等级降低的方法来优先保证高等级的传输带宽。
3.对比两种负载均衡方法:
本实验主要对比QoS-aware负载均衡方法和QoS-unaware方法对云存储系统的QoS控制带来的影响。同样,我们启动10台PC,每台PC模拟30个客户端(1~3级客户端各为10个)在高负载环境下向系统请求文件下载,方法对比结果如图10所示。从图中可看出,在高负载的情况下,由于QoS-aware负载均衡考虑了各个请求的服务质量等级,因此优先保护了高等级的传输带宽,3级客户端的平均传输带宽仍然为1.5MB/s。而在QoS-unaware方法中,由于一些数据存储服务器高等级请求比较集中,从而导致服务器上后来的高等级客户端被降级,平均传输带宽约降为1.11MB/s;而另外服务器上的某些2级的客户端等级反而没有被降低,其平均传输带宽反而比采用QoS-aware负载均衡时要高,大概为0.76MB/s,产生了用户等级的“逆流”现象。因此,QoS-aware负载均衡方法更能保证这个云存储系统的QoS控制。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围内。
Claims (4)
1.一种基于区分服务的云存储系统QoS控制方法,包括元数据服务器端策略和数据存储服务器端策略,其特征在于:
所述元数据服务器端策略包括如下步骤:
1)将客户端用户请求映射到一个特定的服务质量等级上,所述元数据服务器端将基于服务质量等级为此用户提供不同的QoS保证;
2)所述元数据服务器端将所述不同服务质量等级的客户端用户请求通过接纳控制流程存入缓冲队列;
3)所述元数据服务器端从所述缓冲队列中取出所述不同服务质量等级的客户端用户请求进行调度处理;
所述数据存储服务器端策略包括如下步骤:
1)对单个存储请求的容量限制一个最大值;
2)所述数据存储服务器端对每个客户端用户请求各自分配一个队列,并对各队列进行调度;
3)所述数据存储服务器端对各自的服务器进行Qos负载检测,如发现过载则对此服务器进行Qos调节;
所述基于服务质量等级为此用户提供不同的QoS保证,包括如下步骤:
1)将所述客户端用户的QoS需求建模成二元组:u={M,S},
其中M表示所述客户端用户对元数据访问的QoS需求,S表示所述客户端用户对数据存储的QoS需求;
2)将服务质量等级建模成3元组,即leveli={Ii,Mi,Si},其中Ii为第i级服务质量等级的标识符,Mi为第i级服务质量等级的元数据访问QoS需求,Si为第i级服务质量等级的数据存储QoS需求;
3)设置客户端用户QoS需求与所述服务质量等级之间的映射函数f;
4)通过步骤3)将客户端用户请求映射到特定的服务质量等级上,然后基于该服务质量等级为此客户端用户提供不同的QoS保证。
2.根据权利要求1所述的一种基于区分服务的云存储系统QoS控制方法,其特征在于:所述数据存储服务器端策略中还包括QoS-aware负载均衡,所述QoS-aware负载均衡根据所述不同服务质量等级的客户端用户的读请求进行分流。
3.根据权利要求1所述的一种基于区分服务的云存储系统QoS控制方法,其特征在于:所述数据存储服务器端策略中还包括断点续传机制,所述断点续传机制通过客户端与数据存储服务器完成,所述客户端负责在单个文件数据传输的过程中,在本地以文件的形式保存该过程的状态信息;所述数据存储服务器负责具体数据的读写及向所述客户端反馈上传数据过程的状态信息。
4.根据权利要求3所述的一种基于区分服务的云存储系统QoS控制方法,其特征在于:所述断点续传机制中将客户端数据传输状态文件设置为如下结构:
type为本次数据传输的类型;identifier为传输文件在云存储系统中的唯一标示符;localpath表示该文件在客户端的绝对路径;length为该文件的大小;num为该文件传输过程中需要发送的单元存储请求个数;received为当前已完成传输的最后一个单元存储请求的编号;servers为数据传输的目标服务器地址;endflag为状态内容结束的标记。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110116396.2A CN102170396B (zh) | 2011-05-06 | 2011-05-06 | 一种基于区分服务的云存储系统QoS控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110116396.2A CN102170396B (zh) | 2011-05-06 | 2011-05-06 | 一种基于区分服务的云存储系统QoS控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102170396A CN102170396A (zh) | 2011-08-31 |
CN102170396B true CN102170396B (zh) | 2014-07-30 |
Family
ID=44491379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110116396.2A Active CN102170396B (zh) | 2011-05-06 | 2011-05-06 | 一种基于区分服务的云存储系统QoS控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102170396B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447631A (zh) * | 2011-12-28 | 2012-05-09 | 华为终端有限公司 | 一种心跳连接方法,相关装置以及系统 |
WO2012095053A2 (zh) * | 2012-03-01 | 2012-07-19 | 华为技术有限公司 | 数据迁移方法和设备 |
US9642066B2 (en) * | 2012-03-30 | 2017-05-02 | Sony Corporation | Network-controlled adaptive terminal behavior managing high-network-load scenarios |
CN103002034B (zh) * | 2012-12-03 | 2014-12-31 | 华中科技大学 | 一种基于云服务总线的应用QoS管理系统及其操作方法 |
CN103905517A (zh) * | 2012-12-28 | 2014-07-02 | 中国移动通信集团公司 | 一种数据存储方法及设备 |
CN103532873B (zh) * | 2013-11-08 | 2018-07-24 | 北京邮电大学 | 应用于分布式文件系统的流量控制策略 |
CN103699455B (zh) * | 2013-12-27 | 2016-05-25 | 重庆大学 | 一种多核实时容错系统中获取准确的最晚截止时间的方法 |
CN104794073A (zh) * | 2014-07-30 | 2015-07-22 | 北京中科同向信息技术有限公司 | 一种基于存储整合的技术 |
US9521089B2 (en) | 2014-08-30 | 2016-12-13 | International Business Machines Corporation | Multi-layer QoS management in a distributed computing environment |
CN104994132B (zh) * | 2015-05-20 | 2018-08-03 | 安徽易联众信息技术有限公司 | 存储系统、集中控制设备、服务质量控制方法及装置 |
CN105553874A (zh) * | 2015-12-17 | 2016-05-04 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统nas网关的流量控制方法及系统 |
CN106302784A (zh) * | 2016-08-27 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种提高缓存速度的方法和装置 |
CN107153515B (zh) * | 2017-05-10 | 2020-04-03 | 郑州云海信息技术有限公司 | 一种多控集群存储信息处理系统及方法 |
CN109413130A (zh) * | 2017-12-30 | 2019-03-01 | 广东技术师范学院 | 一种云存储系统 |
CN108768886A (zh) * | 2018-05-30 | 2018-11-06 | 无锡知更鸟网络科技有限公司 | 一种SaaS数据访问质量提升方法 |
CN109491797A (zh) * | 2018-11-26 | 2019-03-19 | 深圳市斯博科技有限公司 | 数据存储方法、系统及计算机可读存储介质 |
CN110377417B (zh) * | 2019-06-06 | 2021-09-14 | 深圳市太易云互联科技有限公司 | 数据路由方法及装置 |
CN110752941B (zh) * | 2019-09-06 | 2022-08-12 | 深圳平安通信科技有限公司 | 一种云存储系统的qos控制方法、装置、存储介质和服务器 |
CN110572410A (zh) * | 2019-09-16 | 2019-12-13 | 苏州百宝箱科技有限公司 | 基于大数据的信息安全系统和方法 |
CN111796994B (zh) * | 2019-11-20 | 2022-07-12 | 华为云计算技术有限公司 | 时延保证方法、系统及装置、计算设备、存储介质 |
CN111224816A (zh) * | 2019-11-22 | 2020-06-02 | 北京浪潮数据技术有限公司 | 一种业务处理方法、装置、系统及计算机可读存储介质 |
CN111475117B (zh) * | 2020-04-09 | 2024-01-23 | 南京信息职业技术学院 | 一种聚合云存储QoS控制方法及系统 |
CN112019620B (zh) * | 2020-08-28 | 2021-12-28 | 中南大学 | 基于Nginx动态加权的Web集群负载均衡方法及系统 |
CN112073491B (zh) * | 2020-08-31 | 2023-08-22 | 交信北斗科技有限公司 | 一种面向互联网gis应用的网关代理及服务调度方法 |
CN112231146B (zh) * | 2020-10-22 | 2022-08-30 | 浪潮云信息技术股份公司 | 基于cinder-backup的备份服务质量的实现方法、存储介质 |
CN116668372B (zh) * | 2023-08-01 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种流量控制方法和相关装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014158A (zh) * | 2010-11-29 | 2011-04-13 | 北京兴宇中科科技开发股份有限公司 | 一种云存储服务客户端高效细粒度数据缓存系统与方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7990860B2 (en) * | 2006-06-16 | 2011-08-02 | Harris Corporation | Method and system for rule-based sequencing for QoS |
-
2011
- 2011-05-06 CN CN201110116396.2A patent/CN102170396B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014158A (zh) * | 2010-11-29 | 2011-04-13 | 北京兴宇中科科技开发股份有限公司 | 一种云存储服务客户端高效细粒度数据缓存系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102170396A (zh) | 2011-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102170396B (zh) | 一种基于区分服务的云存储系统QoS控制方法 | |
Tang et al. | The impact of data replication on job scheduling performance in the data grid | |
WO2019179250A1 (zh) | 调度方法、调度器、存储介质及系统 | |
US8149846B2 (en) | Data processing system and method | |
CN103338252B (zh) | 一种分布式数据库并发存储虚拟请求机制的实现方法 | |
Noormohammadpour et al. | {DCCast}: Efficient point to multipoint transfers across datacenters | |
CN103491024B (zh) | 一种面向流式数据的作业调度方法及装置 | |
CN103294548B (zh) | 一种基于分布式文件系统的io请求调度方法和系统 | |
EP2923479A1 (en) | Method and apparatus for controlling utilization in a horizontally scaled software application | |
CN103986766A (zh) | 自适应负载均衡作业任务调度方法及装置 | |
WO2019072162A1 (zh) | 虚拟网络映射方法、设备和存储介质 | |
CN101577705A (zh) | 一种多核并行的网络业务流负载均衡方法及其系统 | |
CN102970242A (zh) | 一种实现负载均衡的方法 | |
Wen et al. | Load balancing job assignment for cluster-based cloud computing | |
WO2021120633A1 (zh) | 一种负载均衡方法及相关设备 | |
CN100466593C (zh) | 一种支持多业务的综合队列调度的实现方法 | |
Xiang et al. | Optimizing differentiated latency in multi-tenant, erasure-coded storage | |
Anton et al. | A survey of stability results for redundancy systems | |
WO2017045640A1 (zh) | 一种数据中心内关联流的带宽调度方法及装置 | |
Abdalkafor et al. | A hybrid approach for scheduling applications in cloud computing environment | |
Munir et al. | Network scheduling and compute resource aware task placement in datacenters | |
Iftikhar et al. | Towards a redundancy-aware network stack for data centers | |
Li et al. | Resource scheduling approach for multimedia cloud content management | |
Zhang et al. | Differcloudstor: Differentiated quality of service for cloud storage | |
JP2004046372A (ja) | 分散処理システム、リソース割当方法およびプログラムならびにリソース割当プログラムが記録された記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |