分布式存储的管理方法、装置及系统的制作方法

文档序号:7920827阅读:155来源:国知局
专利名称:分布式存储的管理方法、装置及系统的制作方法
技术领域
本发明涉及服务型的分布式存储系统,尤其涉及分布式存储的管理方法、装置及系统。
背景技术
在分布式存储系统中以多副本方式为客户端提供服务,所谓多副本方式就是在存储系统中将提供服务的文件保存为多个副本。当系统中一个副本或者多个副本发生故障时,客户端可以从其他未发生故障的副本处得到相应的服务,所以,以多副本方式提供服务能够提高系统的可靠性。同时,一般情况下,分布式存储系统的多个副本是分布在不同的存储节点上的,能够有效的将访问负荷分散到多个存储节点上。此外,用户可以选择距离客户端最近的副本获取相应服务,縮短了客户端访问的响应时间。 分布式存储系统中文件的副本个数即为副本冗余度,如果副本冗余度过大,虽然用户下载体验相对较高,但过多的副本需要进行同步将消耗大量的网络资源;如果副本冗余度过小,文件的可靠性和用户体验都将降低。所以,分布式存储系统需要设定一个较为合适的副本冗余度。
目前的副本管理方案中,主要是基于用户的访问频率调整副本冗余度,S卩采用基
于频率的副本管理机制(風Frequency-based R印lication Management)对系统进行管
理。首先,统计用户对文件各个副本的访问频率,增加访问频率高的文件的副本,以提高系
统服务性能;并且减少访问频率低的文件的副本,以减轻存储节点的负荷。 在实现上述副本管理方案的过程中,发明人发现现有技术中至少存在如下问题 在某些系统中,仅仅依靠存储节点的被访问频率来调整副本冗余度,不够合理,,
不能合理调整客户端接受服务的质量。 例如在P2P (Peer to Peer,点对点)的传输模式下,分布式存储系统中的存储节
点和客户端同时提供服务,系统服务的总体能力体现在客户端和存储节点两方面的服务能
力上。所以,在P2P传输模式下,随着加入系统的客户端数量增加,客户端的服务能力也在
逐渐增大,甚至可能超过存储节点的服务能力。客户端对文件的访问频率可能很高,按照现
有的副本管理方案就需要增加副本数量,但实际上由于客户端能够提高足够的服务能力,
并不需要增加副本数量,就可以满足客户端的需求,这就造成了存储节点的资源浪费。 并且,如果某个文件的访问频率不高,那么说明加入系统的客户端较少,这样就基
本上要依靠存储节点的服务能力来满足客户端的需求,而现有的副本管理方案却减少访问
频率低的文件的副本数量,造成该文件能够提供的服务质量得不到保证,违背了以多副本
方式提供服务的初衷。

发明内容
本发明的实施例提供一种分布式存储的管理方法、装置及系统,能够合理的对文件的副本数量进行调整,以合理地调整客户端接受服务的质量。
为达到上述目的,本发明的实施例采用如下技术方案
—种分布式存储的管理方法,包括 计算文件提供服务的用户体验值; 将所述用户体验值发送给所述文件的存储根节点,所述用户体验值为调整所述文 件在各个管理域内的副本数量提供依据。 —种分布式存储的管理方法,包括 接收客户端发送的文件的用户体验值; 在每个管理域中,根据接收的用户体验值计算所述文件的整体用户体验值; 根据所述整体用户体验值调整对应管理域中所述文件的副本数量。 —种客户端,包括 计算单元,用于计算文件提供服务的用户体验值; 发送单元,用于将所述用户体验值发送给所述文件的存储根节点,所述用户体验
值为调整所述文件在各个管理域内的副本数量提供依据。 —种存储节点,包括 接收单元,用于接收客户端发送的文件的用户体验值; 计算单元,用于根据接收的用户体验值,按管理域计算所述文件的整体用户体验 值; 处理单元,用于根据所述整体用户体验值调整对应管理域中所述文件的副本数 —种分布式存储系统,包括至少一个存储节点,其中一个存储节点为文件的存储 根节点,所述存储根节点用于接收客户端发送的文件的用户体验值;根据接收的用户体验 值按管理域计算所述文件所有客户端的整体用户体验值;并根据所述整体用户体验值调整 对应管理域中所述文件的副本数量。 本发明实施例提供的分布式存储的管理方法、装置及系统,客户端计算用户体验 值并将计算出的用户体验值反馈给存储节点,这样,存储节点就能够根据接收到的用户体 验值对各个管理域内的副本数量进行调整。由于用户体验值反映了客户端接受到的服务质 量,所以,这种调整方式相对于现有技术中单纯根据访问频率进行副本冗余度的调整而言, 本发明实施例更能体现客户端接受服务的质量,调整后的副本冗余度也较符合客户端的要 求,即使得客户端接受到的服务质量更加合理。


图1为本发明实施例分布式存储的管理方法在客户端实现的流程图; 图2为本发明实施例分布式存储的管理方法在存储节点实现的流程图; 图3为本发明实施例客户端的原理图; 图4为本发明实施例存储节点的原理图; 图5为本发明实施例分布式存储系统的原理图; 图6为本发明实施例分布式存储的管理方法在客户端实现的流程图; 图7为本发明实施例分布式存储的管理方法在存储节点实现的流程图; 图8为本发明实施例客户端的原理6
图9为本发明实施例存储节点的原理图; 图10为本发明实施例分布式存储系统的原理图。
具体实施例方式
在分布式存储系统中,由存储服务器(ChimkServer)作为存储节点构成DHT (分布式哈希表,Distributed Hash Table)网络;客户端通过已知的存储节点在系统中进行各种操作,例如发布、查询、更新和删除文件等操作。每个文件均由特定的存储节点管理其元数据,包括文件的版本号、大小、分块信息、每个块的副本所分布的存储节点列表以及下载和拥有此文件的客户端列表,此节点称为该文件的存储根节点。 一般来说,存储根节点是由文件的名称通过哈希计算得到的,由于每个文件对应的存储根节点可能不同,这样就分散了各个存储节点的负载压力。 存储节点一般由四个功能构成存储功能、域管理功能、DHT路由功能和文件管理功能。 存储功能存储节点最基本的就是存储功能,并且可以将文件分成分块进行存储,各个分块分布在不同的存储节点中,也可以将整个文件作为整体进行存储。文件分块后,存储在不同的存储节点中,为客户端提供下载等服务,存储各个分块的存储节点需要定期所对应文件的存储根节点发送心跳报文,同时也接收所述存储文件根节点的定期扫描,以表明该分块处于激活状态。 域管理功能根据存储节点和客户端所在地理位置和运营商的不同,可以将DHT网络划分成不同的管理域。每个管理域中所有节点由域根节点管理,域根节点由管理域的域名哈希得到的节点承担。当客户端需要访问某个文件时,先访问该文件的存储根节点,获取该文件各个分块在其他存储节点的分布情况,以及该文件在DHT网络中其它客户端的分布情况;然后优先访问邻居的客户端,当访问需求得不到满足时,再访问存储节点,并且是优先访问与该客户端处于同一个管理域的存储节点。 在一个管理域中的所有存储节点需要定期向域根节点发送心跳报文,并且域根节点需要定期扫描该管理域中存储节点的信息,确定这些存储节点是否处于存活状态。
DHT路由功能该功能主要处理客户端的查询请求,比如客户端下载或者发布某文件时,需要查询该文件对应的存储根节点。存储节点收到用户的请求时,通过DHT路由功能计算得到所查询文件的存储根节点地址,或者计算该管理域的域根节点地址,并返回给客户端。 文件管理功能当某个存储节点作为文件的存储根节点时,需要文件管理功能完成各个分块的副本和分布情况的统计和管理。 为了完成对各个分块的管理,该文件管理功能需要保存各个分块的元数据信息,例如分块号、分块大小、分块版本号、以及分块副本分布的存储节点列表。所述的文件管理功能还需要管理正在下载此文件的客户端列表,客户端下载文件时,向存储根结点发送请求Peerlist(节点列表)报文,存储根节点向客户端返回Peerlist,且客户端需要定期向存储根结点发送心跳报文。如果当前网络中拥有该文件的客户端节点不够,则需要将文件的分块所分布的存储节点返回给客户端。 文件管理功能还需要定期检查副本冗余度,进行相应的副本扩散或者副本收縮。副本扩散指在指定管理域内增加副本;副本收縮指在指定管理域内删除副本。 下面结合附图,对本发明实施例分布式存储的管理方法、存储节点、客户端及系统
进行详细描述。 本发明实施例提供一种分布式存储的管理方法,可以在客户端实现,如图1所示,该管理方法包括 101、计算接受到文件提供的服务的用户体验值,例如客户端在下载某文件时,需要计算下载的用户体验值。 102、将所述用户体验值发送给所述文件的存储根节点,该存储根节点就是管理该文件各个副本的存储节点。所述用户体验值为存储根结点调整所述文件在各个管理域内的副本数量提供依据。 本发明实施例还提供一种可以在存储根节点处实现的分布式存储的管理方法,如图2所示,该方法包括 201、接收到正在访问该文件的客户端所发送的用户体验值。 202、由于客户端所处的地位位置不同使得客户端可能属于不同的管理域,所以,将所接收到的用户体验值按照客户端所属的管理域来划分,并且根据划分情况计算每个管理域中所有客户端的整体用户体验值。所述的整体用户体验值是根据该管理域中所有客户端所发送的用户体验值计算得到的。 203、本发明实施例需要根据计算得出的整体用户体验值调整对应管理域中所述
文件的副本数量。由于各个管理域中的整体用户体验值都有可能不处于预定的范围内,所
以,需要调整该文件的副本数量,以使得整体用户体验值处于预定的范围内。 本发明实施例还提供一种客户端,如图3所示,该客户端包括计算单元31和发送
单元32。 其中,计算单元31用于计算文件提供服务的用户体验值;发送单元32用于将所述
用户体验值发送给所述文件的存储根节点,该存储根节点就是管理该文件各个副本的存储
节点,所述用户体验值为存储根节点调整所述文件的副本数量提供依据。 本发明实施例还提供一种存储节点,如图4所示,该存储节点包括接收单元41、计
算单元42和处理单元43。 其中,接收单元41用于接收客户端发送的文件的用户体验值,该存储节点为该文件的存储根节点;根据客户端所属管理域的不同,计算单元42用于根据接收的用户体验值计算所述文件所有客户端的整体用户体验值,并且是每个管理域都分别计算出一个整体用户体验值;处理单元43用于根据所述整体用户体验值调整对应管理域中所述文件的副本数量,以使得整体用户体验值能够符合预定的范围。 上述客户端可存储节点可以组成分布式存储系统,一般来说分布式存储系统是包括至少一个管理域,并且每个管理域中包括客户端和存储节点,该存储系统中的一个存储节点为文件的存储根节点。如图5所示,该系统包括作为存储根节点的存储节点51、以及多个客户端(52、53至5n)。 在所有的客户端中,如果任何一个客户端(52、53或5n)正在访问一个存储根节点51管理的文件,那么,该客户端(52、53或5n)就需要计算文件提供服务的用户体验值,并将所述用户体验值发送给所述文件的存储根节点51。
所述作为存储根节点的存储节点51用于接收客户端(52、53或5n)发送的文件的用户体验值;然后按照客户端所属的管理域不同,根据每个管理域中接收的用户体验值计算所述文件所有客户端的整体用户体验值;并根据所述整体用户体验值调整对应管理域中所述文件的副本数量。 本发明实施例提供的分布式存储的管理方法、存储节点、客户端及系统,客户端计算用户体验值并将计算出的用户体验值反馈给存储节点,这样,存储节点就能够根据接收到的用户体验值进行文件的副本数量调整。由于用户体验值反映了客户端接受到的服务质量,所以,这种调整方式相对于现有技术中单纯根据访问频率进行副本数量的调整而言,本发明实施例更能体现客户端接受服务的质量,调整后的副本数量也较符合客户端的要求,即使得客户端接受到的服务质量更加合理。 本发明实施例提供一种适用于客户端实现的分布式存储的管理方法,如图6所示,该管理方法包括 601、为了计算接受到文件提供的服务的用户体验值,例如客户端在下载某文件时,需要计算下载的用户体验值,首先获取该文件在统计周期内的平均下载速率^和该统计周期末点的瞬时下载速率Vm。 602、计算平均下载速率va和瞬时下载速率vm的加权平均值,计算公式为
fa*va+fm*vm, fa和fm分别表示平均下载速率va和瞬时下载速率vm对用户体验的影响因子,并且fp+fm = 1。 603、由于客户端当前的下载进程的数量N和该文件所对应的优先级Pt都会影响到用户的体验,所以本发明实施例需要根据优先级来确定该文件理论上占用的下载带宽,计算公式为 、f 其中,Pt表示该文件对应的优先级,&表示所有下载进程分别对应的优先级,T表示该客户端所享有的总的下载带宽。 604、将所述加权平均值除以所述理论上占用的下载带宽得到用户体验值,具体公式为 <formula>formula see original document page 9</formula> 605、为了进一步体现用户体验对连续性的要求,本发明实施例中还需要计算本统计周期内用户体验值UENew和上一周期内用户体验值UEPrevi。us的加权平均值,并将所述加权平均值作为本统计周期内新的用户体验值。当前周期新的用户体验值UE^,t的计算公式为 UECu ent = fpWEprevi。us+f,UE肠,其中,fp和4作为权值,分别表示用户前一周期的体验值和本周期的体验值对当前体验值(即新的用户体验值)的贡献程度,并且满足fp+fn=1。 如果客户端非常重视体验的连续性,可以将fp取大一些;如果用户只重视本周期的体验,可以将4设大一些。在某些情况下 fp也可以取零值,例如在文件被访问的初始情况下,即第一个周期内,用户没有前一周期体验值UEprw,所以fp默认为O,此时,4取权值1。在fp默认为0时,表示本周期的用户体验值就是该文件提供服务的用户体验值。
—般来说,通过上述601至604已经能够计算出的用户体验值UE^,并且是可以直接使用的,本发明实施例是为了体现客户端对体验连续性的需要,增加了 605,在实际运用时,可以省去605,而直接执行606,此时,相当于采用本周期的用户体验值作为该文件提供服务的用户体验值。 606、客户端将所述用户体验值发送给所述文件的存储根节点,该存储根节点就是
管理该文件各个副本的存储节点。所述用户体验值为存储根结点调整所述文件的副本数量
提供依据。具体的,客户端是在向存储根节点发送的心跳报文中携带了所述的用户体验值。 如果实施例中执行了 605,那么发送的用户体验值为当前体验值UEcent,如果实
施例中没有执行605,则发送的用户体验值为本统计周期内用户体验值UEN 。 在本发明实施例中计算用户体验值时,需要用到该文件理论上占用的下载带宽,
但在某些情况下,客户端需要保持一定的理想下载速率才能有较好的用户体验,例如对于
实时播放类的应用,就需要客户端保持一定的理想下载速率,才能保证播放的流畅。所以,
在具体运用时,可以采用客户端需要保持的理想下载速率R来代替该文件理论上占用的下
载带宽,这样,本统计周期内的用户体验值计算公式可以改为 OEA 在客户端将上述用户体验值发送给存储根节点后,存储根节点根据这些用户体验值调整文件的副本数量。存储根结点采用的方法如图7所示,该分布式存储的管理方法包括 701、接收客户端发送的心跳报文,该报文中携带了所述文件的用户体验值。
702、由于客户端所处的地位位置不同使得客户端可能属于不同的管理域,所以,
存储根节点需要将所接收到的用户体验值按照客户端所属的管理域来划分,并且根据划分情况计算每个管理域中所有客户端的整体用户体验值。所述的整体用户体验值是根据该管
理域中所有客户端所发送的用户体验值计算得到的,一般取所有客户端发送的所述文件的用户体验值的平均值,整体用户体验值AverageUE的计算公式如下
<formula>formula see original document page 10</formula>
N为该管理域中访问该文件的客户端数量,UEi为每个客
户端反馈的用户体验值。 本发明实施例中,存储根节点需要保存如下信息 管理域的名称,文件的副本数,前一统计周期的整体用户体验值,当前周期的整体用户体验值,以及每个用户的用户名及其对应的体验值。每个用户的体验值具体表示为〈
用户l,用户1体验值〉,〈用户2,用户2体验值〉......〈用户n,用户n体验值〉。 其保存的数据结构如下表
ReplicaNu
DomainlD 其中,上述表示的意识对应如下
DomainID :管理域的ID ;
AverageUE
P66rsVs(#
PeerlD
PeerU
R印licaN咖该管理域内文件副本数量; AverageUE :该管理域内下载该文件客户端的整体用户体验值;
PeersVec :该管理域内下载该文件的用户信息;
PeerID :用户ID ;
PeerUE :用户体验值。 703、在存储根节点中设置有用户体验值的合理范围,若整体用户体验值位于该范 围内,则表示这样的服务质量和存储节点的负荷是合理的;如果整体用户体验值小于该范 围的用户体验最小值UEmin,表示用户的服务质量得不到满足;如果整体用户体验值大于该 范围的用户体验最大值UE^,表示用户的服务质量得到的过分的满足,可能给存储节点带 来过多的负荷。 —般情况下,这个合理的范围为1至1. 2。 本过程可以获取所有管理域中整体用户体验值超过UE^的第一比例,以及整体用 户体验值小于UEmin的第二比例。 704、判断所述第一比例是否超过预设的第一目标比例T^,若所述第一比例超过
!^,则执行705 ;否则执行706。 705、减小所述文件的副本冗余度的上限。 706、判断所述第二比例是否超过预设的第二目标比例Tmin,若所述第二比例超过
Tmin,则执行707 ;否则执行708。 707、增大所述文件的副本冗余度的上限。 在上述705和707中需要调整副本冗余度的上限,一般来说,每个文件都会配置 副本冗余度的上限和下限。冗余度下限是为保证文件可靠性而设定的,即某个副本掉线, 而其它副本仍然可以访问,只有所有副本全都掉线的时候,才可能该文件不可得。比如,一 个存储节点的可靠性为0. 9,则设置副本冗余度下限设置为3时,可得到该文件的可靠性为 1-0. 1*0. 1*0. 1 = 0. 999,只有0. 001的概率该文件所有的3个副本全都同时掉线,而使文 件不可获得,这样就保证了文件的可靠性。 其中,704至705为减小所述文件的副本冗余度的上限的操作,而706至707为增 大所述文件的副本冗余度的上限的操作,这两个操作可以都执行,也可以只执行其中一个
操作。如假设所述1_和1^相加等于或超过100%,那么就只会执行其中一个操作。 设置副本冗余度的上限是为了保证资源的合理利用,因为过多的副本会造成存储 节点的开销增大,且在总的存储空间有限的情况下,无节制的副本增加会造成其它文件占 用的存储空间减少。本发明实施例通过对副本冗余度上限进行动态调整,使得存储节点的 资源利用更加合理。 708、判断当前的副本冗余度是否小于副本冗余度的下限,如果当前的副本冗余度 小于副本冗余度的下限,则执行709 ;否则执行710。 709、在最小的整体用户体验值对应的管理域中进行副本扩散,并返回执行708。
710、判断当前的副本冗余度是否大于副本冗余度的上限,如果当前的副本冗余度 大于副本冗余度的上限,则执行711 ;否则执行712。 711、在最大的整体用户体验值对应的管理域中进行副本收縮,并返回执行710。
上述709和711中分别进行了副本扩散和副本收縮的操作,这样可以合理调整该文件在系统中的副本冗余度,整个存储系统中该文件的副本冗余度符合设定的副本冗余度 的上限要求和下限要求,使其更符合存储节点所能提供的资源。 虽然,整个系统的副本冗余度满足的要求,但由于副本冗余度只关心整个系统的 运营的平均状况,所以可能存在这样的情况某个管理域中的副本较多,而另一个管理域中 的副本较少,这样副本较多的管理域中的客户端就能更好的下载文件,其体验值也会相对 较好;而副本较少的管理域中的客户端的体验就相对较差。 为了使各个管理域之间的副本数量合理分布,本发明实施例中,对于每个管理域 都可以执行下述过程 712、从所有管理域中选出最大的整体用户体验值。 713、判断所选最大的整体用户体验值是否大于用户体验最大值UE^,如果所选最 大的整体用户体验值大于UE^,则执行714 ;否则执行715。
714、在对应的管理域中收縮所述文件的副本。
715、从所有管理域中选出最小的整体用户体验值。 716、判断所选最小的整体用户体验值是否小于用户体验最小值UEmin,如果所选 最小的整体用户体验值小于预设的用户体验最小值,则执行717 ;否则结束该管理方法的 流程。 717、在对应的管理域中扩散所述文件的副本。 通过执行上述712至717,在整体用户体验值过于好的管理域中收縮副本,而在整
体用户体验值过于差的管理域中扩散副本,相当于把体验值较好的管理域中的副本转移到
了体验值较差的管理域中,实现了对整个系统各个管理域中副本数量的合理分布。 上述712至714为收縮副本操作,715至717为扩散副本操作,并且,收縮副本和扩
散副本的操作可以只执行其中一个操作,也可以两个操作都执行。 上述703至707是对副本冗余度上限的调整,708至711是根据副本冗余度进行副 本数量的调整,712至717是根据整体用体验值对管理域中的副本数量进行调整,所述这三 个方案之间没有必然的联系,可以单独存在于实施例中,也可以组合存在于实施例中。并且 在调整副本冗余度上限的方案和根据副本冗余度调整副本数量的方案同时存在的情况下, 后者需要利用前者调整后得到的副本冗余度上限。 对应于图6所描述的分布式存储的管理方法,本发明实施例还提供一种客户端, 如图8所示,该客户端包括计算单元81和发送单元82。 计算单元81用于计算文件提供服务的用户体验值;,该计算单元81包括如下两 种实现方式 第一、计算单元81包括本统计周期内用户体验值计算模块815和输出模块816,其 中的本统计周期内用户体验值计算模块用于计算本统计周期内用户体验值UE^;输出模块 用于将本统计周期内用户体验值UENCT作为文件提供服务的用户体验值输出。
第二、为了能够体现文件提供服务的用户体验值的连续性,还可以在用户体验值 计算模块815和输出模块816的基础上增加存储模块817和加权计算模块818 (见图8的 虚线部分)。其中,本统计周期内用户体验值计算模块815用于计算本统计周期内用户体验 值UE^ ;存储模块817用于存储上一周期内用户体验值UEprw ;加权计算模块818用于计 算本统计周期内用户体验值和上一周期内用户体验值的加权平均值;输出模块816用于将所述的加权平均值作为文件提供服务的用户体验值输出。 上述用户体验值计算模块815包括获取子模块811 、加权子模块812 、处理子模块 813、除法子模块814 获取子模块811用于获取该文件统计周期内的平均下载速率va和该统计周期末 点的瞬时下载速率vm ;加权子模块812用于计算平均下载速率va和瞬时下载速率vm的加权 平均值,计算公式为fa*va+fm*Vm, fa和fm分别表示平均下载速率va和瞬时下载速率vm对用 户体验的影响因子,并且4+4= 1 ;处理子模块813用于依据文件向的下载优先级确定该
文件理论上占用的下载带宽,公式为g《 其中,Pt表示该文件对应的优先级,Pi表示 所有下载进程分别对应的优先级,T表示该客户端所享有的总的下载带宽;除法子模块814
用于将所述加权平均值除以所述理论上占用的下载带宽得到用户体验值,即本统计周期 内用户体验值。 发送单元82用于将所述用户体验值发送给所述文件的存储根节点,该存储根节 点就是管理该文件各个副本的存储节点,所述用户体验值为存储根节点调整所述文件的副 本冗余度提供依据。 在具体运用时,可以采用客户端需要保持的理想下载速率R来代替该文件理论上
占用的下载带宽,这样处理子模块813就用于确定该文件理论上的理想下载速率R。 对应于图7所描述的分布式存储的管理方法,本发明实施例还提供一种存储节
点,如图9所示,该客户端包括接收单元91、计算单元92和处理单元93。 其中,接收单元91用于接收客户端发送的文件的用户体验值,该存储节点为该文
件的存储根节点;根据客户端所属管理域的不同,计算单元92用于根据接收的用户体验值
计算所述文件所有客户端的整体用户体验值,并且是每个管理域都分别计算出一个整体用
户体验值,一般来说,所述计算单元92计算所有客户端发送的所述文件的用户体验值的平
均值,并将该平均值作为整体用户体验值;处理单元93用于根据所述整体用户体验值调整
对应管理域中所述文件的副本冗余度,以使得整体用户体验值能够符合预定的范围。 在存储节点中事先设置有用户体验值的合理范围,若整体用户体验值位于该范围
内,则表示这样的服务质量和存储节点的负荷是合理的;如果整体用户体验值小于该范围
的用户体验最小值UE^,表示用户的服务质量得不到满足;如果整体用户体验值大于该范
围的用户体验最大值UEmax,表示用户的服务质量得到的过分的满足,可能给存储节点带来
过多的负荷。 在具体实施时,本发明实施例中的处理单元93可以包括第五判断模块937、第六 判断模块938、第一获取模块939、第二获取模块9313、第一调整模块9312和第二调整模块 9314。 第一获取模块939用于获取所有管理域中整体用户体验值超过UEMX的第一 比例,; 第五判断模块937用于判断所述第一比例是否超过预设的第一 目标比例Tmax ;如果所述第 一比例超过Tmax,则第一调整模块9312用于减小所述文件的副本冗余度的上限。
第二获取模块9313用于获取所有管理域中整体用户体验值小于UEmin的第二比 例,第六判断模块938用于判断所述第二比例是否超过预设的第二目标比例Tmin,如果所述第二比例超过预设的比例Tmin,所述第二调整模块9314用于增大所述文件的副本冗余度的上限。 上述增大副本冗余度上限和减小副本冗余度上限的方案可以同时存在于一个实 施例中,也可以只将其中一个方案部署在实施例中。 通过上面的操作,本发明实施例完成对副本冗余度上限的调整。在有的情况下,可 以第五判断模块937和第六判断模块938只存在其中一个,例如T^和Tmax相加等于或超 过100%。 在具体实施时,本发明实施例中的处理单元93可以包括第三判断模块935、第四 判断模块936、扩散模块9310、收縮模块9311。并执行如下操作第三判断模块935用于判 断当前的副本冗余度是否小于副本冗余度的下限;如果当前的副本冗余度小于副本冗余度 的下限,所述扩散模块9310在最小的整体用户体验值对应的管理域中进行副本扩散;第四 判断模块936用于判断当前的副本冗余度是否大于副本冗余度的上限;如果当前的副本冗 余度大于副本冗余度的上限,所述收縮模块9311在最大的整体用户体验值对应的管理域 中进行副本收縮。 为了使各个管理域中副本的数量合理分布,在具体实施时,本发明实施例中的处 理单元93也可以包括第一选择模块931、第二选择模块932、第一判断模块933、第二判 断模块934。并执行如下操作第一选择模块931用于从所有管理域中选出最大的整体用 户体验值;第一判断模块933用于判断所选最大的整体用户体验值是否大于UEMX,如果所 选最大的整体用户体验值大于UE^,则收縮模块9311在对应的管理域中收縮所述文件的 副本;第二选择模块932用于从所有管理域中选出最小的整体用户体验值;第二判断模块 934于判断所选最小的整体用户体验值是否小于UEmin,如果所选最小的整体用户体验值小 于UEmin,扩散模块9310在对应的管理域中扩散所述文件的副本。 本发明实施例中第一选择模块931、第一判断模块933和收縮模块9311配合完成 副本收縮,而第二选择模块932、第二判断模块934和扩散模块9310配合完成副本扩散,并 且上述两组模块可以只选择其中一个作为本发明实施例的处理单元93的组成部分。
上述实施例中分别实现了副本冗余度上限的调整、根据副本冗余度进行副本数量 的调整、根据整体用体验值对管理域中的副本数量进行调整,但这三个方案之间没有必然 的联系,都可以作为一个单独实现方案,也可以将上述三个方案按照各种方式组合作为一 个实现方案。 当调整副本冗余度上限的方案和根据副本冗余度调整副本数量的方案同时存在
时,后者需要利用前者调整后的副本冗余度上限,在这种情况下,第一调整模块9312和第
二调整模块9314均需要分别连接到第四判断模块936 (见图9中的虚线)。 本发明实施例中的存储节点和客户端可以组成一个分布式存储系统,具体如图10
所示,其中客户端和存储节点都是按照管理域进行管理的。 本发明实施例可以用于各种分布式存储系统中,但对于P2P的存储系统而言,本 发明实施例具有明显的优点,下面具体分析将本发明实施例运用于P2P系统中的优势
以客户端下载某一个文件为例,假设系统中目前有M个副本,并且Min《M《Max, 其中,Min为副本冗余度下限,Max为副本冗余度上限,同时假设目前系统中有P个该文件的 数据分片分布在网络的客户端中,并能够以P2P方式提供数据,并且N个客户端正在对该文件进行下载。如果存储节点的上行带宽均为Us,客户端的上行带宽为Ui,客户端的下行带宽 为Di,其中i G [l,N],上述这些带宽均为分配给该文件的带宽。 0143] 则存储节点能为每个客户端提供的平均最大上行带宽为
<formula>formula see original document page 15</formula>
0144] Average"
0145]W 。
具有数据分片的客户端能为需求节点提供的平均最大上行带宽为
<formula>formula see original document page 15</formula>
0147] 我们假设系统能提供的上行带宽都能被有效的利用,那么每个客户端能得到的平 均上行带宽作为它的下载速度,则客户的最大下载体验值为 Average + Average
0148] 0149]
0150]
0151] 0152]
系统平均下载体验值为
》,》
假设每个客户端的上行带宽和下行带宽均为U。, D。,则 M 尸 £1 TV A
0153] 由上述公式可知,当下载该文件的客户端数量N越来越大,该文件的副本数M显 然无法与N在一个数量级进行增长,但是,如果P的数值越大,就能够平衡下载客户端数量 N的增长,使得此时的用户体验不强烈依赖于服务器副本数目M增长,并且用户体验仍然保 持在一个可以接受的水平。如果文件副本在系统中的分布不广,P数值也较小,此时用户体 验由副本数M和数据分片的规模P共同决定,这时增加副本数对提高用户体验能够产生积 极的效果。 例如用户启动单任务下载,接入网为adsl, Uc = 512kbps, Dc = 2Mbps, Us = lGbps,通过上述计算可得AverageUE = (0. 25P+500M)/N 假设,当前系统中只有1个副本,且客户端还没有数据分片时,即M = l,P = 0。若 N = 1000, AverageUE = 0. 5 ;当N增大到10000时,AverageUE减小到0. 05,降低了 90%, 若此时将M增大到6(相当于增加5个副本),AverageUE增大到O. 3;当M为1, P此时是 10000, N增大到10000时,AverageUE = 0. 3,如果0. 3是可接受的体验值,则不必再存储节 点增加副本。在这个案例中,客户端提供的访问能力,能使大规模并发访问时,在保证同样 0. 3体验值的基础上,为存储节点节省5个副本的资源。 本发明实施例综合考虑了P2P系统中客户端同时提供服务的情况,避免了在采用 访问频率控制机制下出现的不合理增加副本的情况。 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借 助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部 分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计 算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本发明各个实施例所述的方法。 以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求
一种分布式存储的管理方法,其特征在于,包括计算文件提供服务的用户体验值;将所述用户体验值发送给所述文件的存储根节点,所述用户体验值为调整所述文件在各个管理域内的副本数量提供依据。
2. 根据权利要求1所述的分布式存储的管理方法,其特征在于,计算文件提供服务的用户体验值具体包括计算本统计周期内用户体验值,并计算所述本统计周期内用户体验值和上一周期内用户体验值的加权平均值,以所述加权平均值作为所述文件提供服务的用户体验值。
3. 根据权利要求2所述的分布式存储的管理方法,其特征在于,计算文件提供服务的用户体验值具体包括计算本统计周期内用户体验值;以本统计周期内用户体验值作为所述文件提供服务的用户体验值。
4. 根据权利要求2或3所述的分布式存储的管理方法,其特征在于,所述计算本统计周期内用户体验值包括获取该文件在统计周期内的平均下载速率和该统计周期末点的瞬时下载速率;计算平均下载速率和瞬时下载速率的加权平均值;依据文件的下载优先级确定该文件理论上占用的下载带宽;将所述加权平均值除以所述理论上占用的下载带宽得到用户体验值。
5. 根据权利要求2或3所述的分布式存储的管理方法,其特征在于,所述计算本统计周期内用户体验值包括获取该文件在统计周期内的平均下载速率和该统计周期末点的瞬时下载速率;计算平均下载速率和瞬时下载速率的加权平均值;确定该文件理论上的理想下载速率;将所述加权平均值除以所述理想下载速率得到用户体验值。
6. —种分布式存储的管理方法,其特征在于,包括接收客户端发送的文件的用户体验值;在每个管理域中,根据接收的用户体验值计算所述文件的整体用户体验值;根据所述整体用户体验值调整对应管理域中所述文件的副本数量。
7. 根据权利要求6所述的分布式存储的管理方法,其特征在于,所述每个管理域的整体用户体验值为该管理域中所有客户端发送的所述文件的用户体验值的平均值。
8. 根据权利要求6所述的分布式存储的管理方法,其特征在于,根据所述整体用户体验值调整对应管理域中所述文件的副本数量包括从所有管理域中选出最大的整体用户体验值;判断所选最大的整体用户体验值是否大于预设的用户体验最大值;如果所选最大的整体用户体验值大于预设的用户体验最大值,则在对应的管理域中收縮所述文件的副本;和/或从所有管理域中选出最小的整体用户体验值;判断所选最小的整体用户体验值是否小于预设的用户体验最小值;如果所选最小的整体用户体验值小于预设的用户体验最小值,则在对应的管理域中扩散所述文件的副本。
9. 根据权利要求6或8所述的分布式存储的管理方法,其特征在于,根据所述整体用户体验值调整对应管理域中所述文件的副本数量进一步包括判断当前的副本冗余度是否小于副本冗余度的下限;如果当前的副本冗余度小于副本冗余度的下限,则在最小的整体用户体验值对应的管 理域中进行副本扩散;判断当前的副本冗余度是否大于副本冗余度的上限;如果当前的副本冗余度大于副本冗余度的上限,则在最大的整体用户体验值对应的管 理域中进行副本收縮。
10. 根据权利要求9所述的分布式存储的管理方法,其特征在于,根据所述整体用户体 验值调整对应管理域中所述文件的副本数量还包括获取所有管理域中整体用户体验值超过预设的用户体验最大值的第一比例;判断所述 第一比例是否超过预设的第一目标比例;若所述第一比例超过预设的第一目标比例,则减 小所述文件的副本冗余度的上限;和/或获取所有管理域中整体用户体验值小于预设的用户体验最小值的第二比例;判断所述 第二比例是否超过预设的第二目标比例;若所述第二比例超过预设的第二目标比例,则增 大所述文件的副本冗余度的上限。
11. 一种客户端,其特征在于,包括 计算单元,用于计算文件提供服务的用户体验值;发送单元,用于将所述用户体验值发送给所述文件的存储根节点,所述用户体验值为 调整所述文件在各个管理域内的副本数量提供依据。
12. 根据权利要求11所述的客户端,其特征在于,所述计算单元包括 本统计周期内用户体验值计算模块,用于计算本统计周期内用户体验值; 存储模块,用于存储上一周期内用户体验值。加权计算模块,用于计算本统计周期内用户体验值和上一周期内用户体验值的加权平 均值;输出模块,用于将所述的加权平均值作为文件提供服务的用户体验值输出。
13. 根据权利要求12所述的客户端,其特征在于,所述计算单元还包括 本统计周期内用户体验值计算模块,用于计算本统计周期内用户体验值; 输出模块,用于将所述的本统计周期内用户体验值作为文件提供服务的用户体验值输出。
14. 根据权利要求12或13所述的客户端,其特征在于,所述本统计周期内用户体验值 计算模块包括获取子模块,用于获取该文件在统计周期内的平均下载速率和该统计周期末点的瞬时 下载速率;加权子模块,用于计算平均下载速率和瞬时下载速率的加权平均值; 处理子模块,用于依据文件的下载优先级确定该文件理论上占用的下载带宽; 除法子模块,用于将所述加权平均值除以所述理论上占用的下载带宽得到用户体验值。
15. 根据权利要求12或13所述的客户端,其特征在于,所述本统计周期内用户体验值 计算模块包括获取子模块,用于获取该文件在统计周期内的平均下载速率和该统计周期末点的瞬时下载速率;加权子模块,用于计算平均下载速率和瞬时下载速率的加权平均值; 处理子模块,用于确定该文件理论上的理想下载速率;除法子模块,用于将所述加权平均值除以所述理想下载速率得到用户体验值。
16. —种存储节点,其特征在于,包括 接收单元,用于接收客户端发送的文件的用户体验值;计算单元,用于根据接收的用户体验值,按管理域计算所述文件的整体用户体验值; 处理单元,用于根据所述整体用户体验值调整对应管理域中所述文件的副本数量。
17. 根据权利要求16所述的存储节点,其特征在于,所述所述文件的整体用户体验值 为所述管理域中所有客户端发送的所述文件的用户体验值的平均值。
18. 根据权利要求16所述的存储节点,其特征在于,所述处理单元包括 第一选择模块,用于从所有管理域中选出最大的整体用户体验值;第一判断模块,用于判断所选最大的整体用户体验值是否大于预设的用户体验最大值;收縮模块,用于在所选 最大的整体用户体验值大于预设的用户体验最大值时,在对应的管理域中收縮所述文件的 副本;和/或第二选择模块,用于从所有管理域中选出最小的整体用户体验值;第二判断模块,用于 判断所选最小的整体用户体验值是否小于预设的用户体验最小值;扩散模块,用于在所选 最小的整体用户体验值小于预设的用户体验最小值时,在对应的管理域中扩散所述文件的 副本。
19. 根据权利要求16或18所述的存储节点,其特征在于,所述处理单元进一步包括 第三判断模块,用于判断当前的副本冗余度是否小于副本冗余度的下限; 所述扩散模块还用于在当前的副本冗余度小于副本冗余度的下限时,在最小的整体用户体验值对应的管理域中进行副本扩散;第四判断模块,用于判断当前的副本冗余度是否大于副本冗余度的上限; 所述收縮模块还用于在当前的副本冗余度大于副本冗余度的上限时,在最大的整体用户体验值对应的管理域中进行副本收縮。
20. 根据权利要求19所述的存储节点,其特征在于,所述处理单元还包括 第一获取模块,用于获取所有管理域中整体用户体验值超过预设的用户体验最大值的第一比例;第五判断模块,用于判断所述第一比例是否超过预设的第一目标比例;第一调 整模块,在所述第一比例超过预设的第一目标比例时,减小所述文件的副本冗余度的上限; 和/或第二获取模块,用于获取所有管理域中整体用户体验值小于预设的用户体验最小值的 第二比例;第六判断模块,用于判断所述第二比例是否超过预设的第二目标比例;第二调 整模块,用于在所述第二比例超过预设的第二目标比例时,增大所述文件的副本冗余度的 上限。
21. —种分布式存储系统,其特征在于,包括至少一个存储节点,其中一个存储节点为 文件的存储根节点,所述存储根节点用于接收客户端发送的文件的用户体验值;根据接收 的用户体验值按管理域计算所述文件所有客户端的整体用户体验值;并根据所述整体用户 体验值调整对应管理域中所述文件的副本数量。
全文摘要
本发明公开了一种分布式存储的管理方法、装置及系统,涉及服务型的分布式存储系统,解决了现有技术中没有从用户体验的角度考虑进行副本管理的问题。本发明实施例在客户端需要计算用户体验值,并将该用户体验值发送给存储根节点,由存储根节点根据接收到的用户体验值计算出整体用户体验值,然后在相应管理域进行副本数量的调整。本发明实施例主要用于分布式存储系统,特别是P2P模式下的分布式存储系统。
文档编号H04L29/08GK101729582SQ20081017251
公开日2010年6月9日 申请日期2008年10月27日 优先权日2008年10月27日
发明者任立勇, 侯孟书, 戴芬, 段翰聪, 王铁英 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1