著录项信息
专利名称 | 负载均衡方法及系统和管理服务器 |
申请号 | CN200910208814.3 | 申请日期 | 2009-10-29 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2011-05-11 | 公开/公告号 | CN102055650A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/56 | IPC分类号 | H;0;4;L;1;2;/;5;6;;;H;0;4;L;2;9;/;0;8查看分类表>
|
申请人 | 华为技术有限公司 | 申请人地址 | 江苏省苏州市常熟市常福街道联丰路68号4号楼5楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 常熟市知识产权运营中心有限公司 | 当前权利人 | 常熟市知识产权运营中心有限公司 |
发明人 | 段翰聪;任立勇;侯孟书;戴芬;王铁英 |
代理机构 | 北京同立钧成知识产权代理有限公司 | 代理人 | 刘芳 |
摘要
本发明实施例涉及一种负载均衡方法及系统和管理服务器,该方法包括:获取系统内各存储服务器的服务能力和负载信息,所述存储服务器包括原存储服务器和新存储服务器;根据所述存储服务器的服务能力和负载信息,获取所述系统内不同类型的文件对应的均衡值,并根据所述均衡值获取所述原存储服务器中需要向所述新存储服务器迁移的不同类型的文件的数量;根据向所述新存储服务器迁移的文件的迁移顺序,所述原存储服务器将需要向所述新存储服务器迁移的不同类型的文件按照对应的数量向所述新存储服务器迁移。本发明实施例能够快速实现均衡,减少数据的迁入迁出,从而减少系统的抖动,提高系统的服务质量。
负载均衡方法及系统和管理服务器 \n技术领域\n[0001] 本发明实施例涉及通信技术领域,特别涉及一种负载均衡方法及系统和管理服务器。 \n背景技术\n[0002] 在服务型的分布式存储系统中,每个存储服务器节点都是专门部署用来提供服务的高性能服务器。数据的分布状况对分布式存储性能有极大的影响。如果数据分布均匀合理,数据访问的负载均匀分布在各个存储服务器节点上,较少出现负载失衡导致的服务质量降低和系统资源不能充分利用的状况。由于互联网和用户需求的增长,为了满足分布式系统的可扩展性,存储系统需要加入新存储服务器节点例如:新服务器。 [0003] 新存储服务器节点加入后对系统中数据分布有重要的影响。由于新存储服务器节点不包含任何数据,若不向新存储服务器节点填充数据,加入的新存储服务器节点在初始时间可能得不到有效利用。在已有的分布式存储系统和相关研究中对新加入系统后数据的分布有了一些研究和处理方式。在一些基于规则来确定数据的存储位置的系统中,新存储服务器节点加入后按照规则将相应的数据迁移到新存储服务器节点;在一些以定位表机制寻找数据的分布式系统中,按照磁盘利用率来确定迁移数据,使得各个存储服务器节点的磁盘利用率趋于均衡。 \n[0004] 现有的一种负载均衡策略为谷歌文件系统(the Google File System;简称:\nGFS)。图1为现有GFS的系统架构图,如图1所示,GFS集群由一个管理服务器1(Master)和多个块服务器2(Chunkserver)即存储服务器节点组成。管理服务器1用于管理所有文件系统的元数据,包括:名字空间(namespace)、访问控制信息、文件到文件块(chunk)的映射关系、 当前文件块位置等信息。连接到各应用系统的GFS客户节点代码中包括文件系统的应用程序编程接口(Application Programming Interface;简称:API),可以与管理服务器1和块服务器2进行通讯,代表应用程序进行读写数据的操作。客户节点3和管理服务器1进行元数据的操作,但是所有的数据相关的通讯是直接和块服务器2进行的。GFS重新均衡的步骤一般包括:首先,管理服务器1定期获取各个块服务器2中副本的分布情况。\n然后,根据磁盘剩余空间和分片分布所需要满足的条件(例如:不能在同一个机架等)迁移分片,例如:GFS将磁盘空间利用率高于平均水平的块服务器2的文件移动分布到新加入的块服务器上,以平衡磁盘空间利用率。 \n[0005] 采用GFS进行海量存储系统内的负载均衡和文件发布时,GFS中发布的文件优先存储在磁盘空间利用率低的存储服务器节点,可以使新加入的块服务器上存储更多新内容;限制每一个块服务器上的“最近”创建文件的数量,但只在新文件发布频繁时起一定作用;GFS渗透使用一个新存储服务器节点,管理服务器必须决定哪个副本需要移动,一般倾向于高于平均磁盘空间利用率的块服务器的文件块移动分布到新存储服务器节点,以平衡磁盘空间使用;GFS中定期进行副本均衡,将副本调整到更好的磁盘和负载分布,但没有动态负载均衡。因此,GFS的新加入的块服务器上存储的新文件内容比旧的块服务器上存储的新内容多,而访问新文件的概率更大,容易出现新的块服务器的负载过重、系统服务质量和系统资源利用率降低的现象。并且由于GFS中没有动态负载均衡,对于新加入的块服务器,均衡系统负载需要的时间较长,如果系统负载过重,在系统均衡前,系统的服务质量较差。 [0006] 现有的另一种负载均衡策略为在内容分发网络(ContentDistribution Network;\n简称:CDN)中加入新的存储服务器节点。CDN构成一个虚拟树;新节点加入时,在整个网络中发送一遍新节点加入通知信息,通知信息中携带位图(bitmap);各节点根据新节点的位图信息,比较本地存储的内容有哪些新节点应该存储,返回应答消息时携带内容信 息和自身性能;新节点从接收到的各应答消息中,获知应存储的内容,及应存储内容所在的节点位置,从不拥塞的节点下载自己应存储的内容,完成“学习”过程。新加入节点存储的内容由“规则”确定,而且CDN中新节点存储了某个内容不会导致其他节点对该内容副本的删除。在CDN中加入新存储服务器节点时,数据迁移到新存储服务器节点后,原存储服务器节点数据并不删除。 \n[0007] 现有的另一种负载均衡策略为副本迁移和扩散技术,在副本迁移和扩散技术中,新文件的发布、数据的动态扩散和迁移时,将数据存储到负载较小的存储服务器节点(新加入的存储服务器节点的存储空间和访问压力的负载较小)。在新节点上线后,不进行按比例的文件迁移,而是将迫切迁移的文件移动到新节点,同时由于磁盘利用率和负载较低,新文件也会趋向于存储在新节点上。在副本迁移和扩散技术中,迁移到新节点的数据主要为新数据,因此系统的数据分布状况为新数据存储在新节点、老数据存储在老节点。在新节点上,上传时间点接近的新数据的访问周期比较相似,会引起新节点负载急剧上升或急剧下降,从而引起新数据的反复迁出或迁进。类似的,新上传的文件的访问周期使得访问热点来临时,新节点负载急剧上升,引起大量数据的迁出。在副本迁移和扩散技术中反复的迁移浪费系统资源,会导致新节点的磁盘利用率低,老节点磁盘利用率高。长期运行,将导致老节点的磁盘空间用完后无法存储新上传文件,访问热度降低,但又无法将数据向老节点迁移,从而导致系统带宽等资源闲置浪费。 \n[0008] 发明人在实现本发明的过程中发现现有技术至少存在如下问题: [0009] 现有的在系统中加入新的存储服务器节点后进行负载均衡的各种方法,存在负载均衡速度慢、系统服务质量差、浪费系统资源等缺点。 \n发明内容\n[0010] 本发明实施例提供一种负载均衡方法及系统和管理服务器,用以解决现有技术存在的负载均衡速度慢、系统服务质量差、浪费系统资源等的问题,以提高加入新存储服务器的系统的均衡速度和服务质量。 \n[0011] 本发明实施例提供一种负载均衡方法,包括: \n[0012] 获取系统内各存储服务器的服务能力和负载信息,所述存储服务器包括原存储服务器和新存储服务器; \n[0013] 根据所述存储服务器的服务能力和负载信息,获取所述系统内不同类型的文件对应的均衡值,并根据所述均衡值获取所述原存储服务器中需要向所述新存储服务器迁移的不同类型的文件的数量; \n[0014] 根据向所述新存储服务器迁移的文件的迁移顺序,所述原存储服务器将需要向所述新存储服务器迁移的不同类型的文件按照对应的数量向所述新存储服务器迁移,其中,所述文件的类型包括热点文件、活跃文件、新文件和不活跃文件。 \n[0015] 本发明实施例又提供一种管理服务器,包括: \n[0016] 获取模块,用于获取系统内各存储服务器的服务能力和负载信息,所述存储服务器包括原存储服务器和新存储服务器; \n[0017] 均衡模块,用于根据所述存储服务器的服务能力和负载信息,获取所述系统内不同类型的文件对应的均衡值; \n[0018] 迁移模块,用于根据向所述新存储服务器迁移的文件的迁移顺序,指示所述原存储服务器在获取所述原存储服务器中需要向所述新存储服务器迁移的不同类型的文件的数量后、按照所述迁移顺序、将需要向所述新存储服务器迁移的不同类型的文件按照对应的数量向所述新存储服务器迁移,其中,所述文件的类型包括热点文件、活跃文件、新文件和不活跃文件。 \n[0019] 本发明实施例再提供一种负载均衡系统,包括: \n[0020] 管理服务器,用于获取系统内各所述存储服务器的服务能力和负载信息;根据所述存储服务器的服务能力和负载信息,获取所述系统内不同类型的文件对应的均衡值;根据向所述新存储服务器迁移的文件的迁移顺序,指示所述原存储服务器在获取所述原存储服务器中需要向新存储服务器迁移的不同类型的文件的数量后、按照所述迁移顺序、将需要向所述新存储服务器迁移的不同类型的文件按照对应的数量向所述新存储服务器迁移; \n[0021] 存储服务器,用于存储不同类型的文件,所述存储服务器包括所述原存储服务器和所述新存储服务器,所述原存储服务器根据所述均衡值获取需要 向新存储服务器迁移的不同类型的文件的数量,按照所述迁移顺序、将需要向所述新存储服务器迁移的不同类型的文件按照对应的数量向所述新存储服务器迁移,其中,所述文件的类型包括热点文件、活跃文件、新文件和不活跃文件。 \n[0022] 本发明实施例提供的负载均衡方法及系统和管理服务器,根据当前的系统内中各个存储服务器的负载信息和服务能力,计算不同类型的文件对应的均衡值和迁移量,使加入新存储服务器后的系统能够快速实现均衡,减少数据的迁入迁出,从而减少系统的抖动,提高系统的服务质量,节约系统资源。 \n[0023] 附图说明\n[0024] 图1为现有GFS的系统架构图; \n[0025] 图2为本发明实施例系统整体框架的示意图; \n[0026] 图3为本发明负载均衡方法实施例一的流程图; \n[0027] 图4为本发明负载均衡方法实施例二的流程图; \n[0028] 图5为本发明管理服务器实施例一的结构示意图; \n[0029] 图6为本发明管理服务器实施例二的结构示意图; \n[0030] 图7为本发明负载均衡系统实施例的结构示意图。 \n[0031] 具体实施方式\n[0032] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。 [0033] 在分层的分布式存储系统中,由存储服务器节点构成分布式哈希表(Distributed Hash Table;以下简称:DHT)网络,对文件进行分片存储。客户节点通过已知接入的存储服务器节点,在网络中进行发布、查询、更新和删除文件等操作。每个文件由特定的节点管理其元数据,包括文件版本号、文件大小、分块信息、每个块副本所在的服务器列表以及下载和拥有此文件的用户列表,该特定的节点为文件的根节点或根服务器。 \n[0034] 在DHT网络中,文件的根节点为根据文件名进行哈希运算得到的标识(ID)对应的责任节点。每个文件对应的根节点不同,可以分散负载压力。根据存储服务器节点和客户节点所在地理位置和运营商的不同,DHT网络可以划分为不同的域,对存储服务器节点进行分域管理。每个域的所有节点由域根节点管理,域根节点可以为根据域的域名哈希运算得到的ID对应的责任节点。 \n[0035] 文件的根节点对该文件进行管理,保存文件的元数据信息,例如:文件的大小、存储位置、文件ID等;域根节点对该域内的节点进行管理,保存域内节点信息。和文件分块一样,为了提高可靠性,也需要对文件的根节点所保存的元数据信息备份,以副本的方式避免因责任节点的不可访问对系统造成的灾难性的影响。 \n[0036] 图2为本发明实施例系统整体框架的示意图,如图2所示: \n[0037] 存储服务器节点4构成DHT网络,在系统中兼顾存储节点、控制节点和管理节点等多重角色。这些存储服务器节点4放置在不同的域中,每个存储服务器节点4都可能承担某些文件的根节点工作,管理该文件的元数据信息,以及记录该文件在网络中存储服务器节点和对等(Peer)节点的分布情况;每一个域中所有存储服务器节点4由域根节点管理,域根节点由某一存储服务器节点4担当;存储服务器节点4还具有基本的存储功能,对文件分块或不分块进行存储。 \n[0038] 客户节点5处于不同的域中,当需要对某个文件进行下载时,先访问该文件的根服务器,获取该文件各块在存储服务器节点4的分布情况,以及该文件在网络中其它对等节点的分布情况,之后优先向邻居对等节点进行访问,当下载需求得不到满足时,再向存储服务器节点4发起连接,同一个域中的存储服务器节点4优先进行访问。 \n[0039] 此外,系统中还可以包括一个登录(Port)服务器,用于对用户登录进行验证。首次登录,用户从该登录服务器6获取接入存储服务器节点4的信息,后续用户登录可直接从已知存储服务器节点4进行登录,但是遇到存储服务器节点4失效掉线等情况时,用户从登录服务器6获取一个当前有效的存储服务器节点4作为接入。 \n[0040] 本发明以下实施例中存储服务器节点为存储服务器,文件的根节点为根服务器,域根节点为管理服务器。其中DHT网络中文件的域根节点和根节点有可能为同一节点,该域根节点或根节点同时也可能作为文件的存储服务器 节点。 \n[0041] 本发明的主要思想是:根据文件划分的不同的类型,在新存储服务器接入时,获取当前域内不同类型的文件的均衡值、迁移量等参数,按照一定的迁移顺序进行迁移,从而优化数据分布、减少重复迁移、节约系统资源。 \n[0042] 由于数据的分布对分布式存储系统的性能有很大的影响,要优化数据的分布就必须对各种文件的类型进行划分。本发明实施例中根据系统中文件的新旧、冷热进行划分,例如:根据上传时间,可将存储系统中的文件分为新文件和旧文件。其中,新文件是指:距当前一定时间内被发布到系统的文件数据。由于新文件在后续时间内,相比起旧文件,被访问的概率较大,很可能成为热点文件,所以有必要对这些新文件的分布进行优化。新文件在被大量访问后,转变为热点文件,随着访问周期的变化慢慢变为活跃文件或不活跃文件;新文件可能不被大量访问,没有成为热点文件,随着时间的推移,其变成活跃文件或不活跃文件。 \n[0043] 除新文件外,上传时间较长,访问特性在当前已经显现的文件数据称为旧文件。根据旧文件被用户访问的特点,还可以将旧文件分为热点文件,活跃文件和不活跃文件。其中热点文件是指:当前正在被用户大量访问的旧文件,热点文件是分布式存储系统负载压力的主要原因。活跃文件是指:在距当前一定时间内被用户访问过、根据文件数据访问的周期很可能在不久的时间内再次被访问的旧文件。不活跃文件是指:当前系统中很长时间内不被访问的旧文件,不活跃文件可能已经过了数据访问的周期,在将来再被访问的概率很小,在一定程度上对系统资源的需求只是磁盘空间。 \n[0044] 图3为本发明负载均衡方法实施例一的流程图,如图3所示,该负载均衡方法包括以下步骤: \n[0045] 步骤101、获取系统内各存储服务器的服务能力和负载信息,所述存储服务器包括原存储服务器和新存储服务器。 \n[0046] 网络中各存储服务器可能是异构的,服务能力存在差异,不能使负载绝对平均地分摊到这些存储服务器上。采用存储服务器的硬件配置参数进行加权的方法可以获得系统内各个存储服务器的服务能力。其中系统可以为网络 内的一个域,也可以为整个网络。\n一个存储服务器的服务能力和其硬件配置的参数存在关联关系,一般来说硬件配置参数越好,服务能力越强。对于一个存储服务器,CPU的计算能力,内存大小,磁盘的平均读写速度,网卡的上行带宽对其服务能力具有主要的决定作用。可以采用以下公式(1)计算存储服务器的服务能力: \n[0047] CAB=a×CPU+b×MEMORY+c×DISK_SPEED+d×NET_SPEED (1) \n[0048] 在公式(1)中,CAB为存储服务器的服务能力,CPU为CPU的计算能力,可以是CPU的时钟频率;MEMORY为内存大小;DISK_SPEED为磁盘平均读写速度;网卡速度为NET_SPEED。a,b,c,d为各个指标的权重因子,且0≤a,b,c,d≤1;a+b+c+d=1。 [0049] 管理服务器可以获取系统内各个存储服务器的服务能力,包括系统内原来存在的原存储服务器和新加入该系统内的新存储服务器。管理服务器还可以获取系统内每个存储服务器的负载信息,其中负载信息包括文件的类型、数量、访问次数和占用的磁盘空间等,文件的类型包括热点文件、活跃文件、新文件和不活跃文件等。 \n[0050] 步骤102、根据所述存储服务器的服务能力和负载信息,获取所述系统内不同类型的文件对应的均衡值,并根据所述均衡值获取所述原存储服务器中需要向所述新存储服务器迁移的不同类型的文件的数量。 \n[0051] 首先,管理服务器根据系统内所有存储服务器的服务能力和负载信息,可以获取系统内不同类型的文件对应的均衡值,当文件的类型包括热点文件、活跃文件、新文件和不活跃文件时,具体地可以分为以下情况: \n[0052] 情况一、根据所述系统内所有存储服务器的服务能力、负载的所有热点文件的数量和所述热点文件的访问次数,获取所述热点文件对应的均衡值。 \n[0053] 管理服务器根据系统内所有存储服务器的服务能力、负载的所有热点文件的数量和热点文件的访问次数,可以采用以下公式(2)计算理想状况下的热点文件的均衡值: [0054] \n[0055] 在公式(2)中,LOADbalance为热点文件的均衡值,N为热点文件数量,NUMk为第k个热点文件的访问次数,M为系统内所有存储服务器的数量,CABi为系统内第i个存储服务器的服务能力。 \n[0056] 情况二、根据所述系统内所有存储服务器的服务能力和负载的所有活跃文件的数量,获取所述活跃文件对应的均衡值。 \n[0057] 管理服务器根据系统内所有存储服务器的服务能力和负载的所有活跃文件的数量,可以采用以下公式(3)计算理想状况下的活跃文件的均衡值: \n[0058] \n[0059] 在公式(3)中,ACTbalance为活跃文件的均衡值,S为活跃文件数量,M为系统内所有存储服务器的数量,CABi为系统内第i个存储服务器的服务能力。 \n[0060] 情况三、根据所述系统内所有存储服务器的服务能力和负载的所有新文件的数量,获取所述新文件对应的均衡值。 \n[0061] 管理服务器根据系统内所有存储服务器的服务能力和负载的所有新文件的数量,可以采用以下公式(4)计算理想状况下的新文件的均衡值: \n[0062] \n[0063] 在公式(4)中,NewFilebalance为新文件的均衡值,T为新文件数量,M为系统内所有存储服务器的数量,CABi为系统内第i个存储服务器的服务能力。 \n[0064] 情况四、根据所述系统的总磁盘空间和所述不活跃文件占用的磁盘空间,获取所述不活跃文件对应的均衡值。 \n[0065] 管理服务器根据系统的总磁盘空间和所述不活跃文件占用的磁盘空间,可以采用以下公式(5)计算理想状况下不活跃文件的均衡值: \n[0066] \n[0067] 在公式(5)中,COLDbalance为不活跃数据的均衡值:FileSize为系统内当前所有不活跃文件占用的磁盘空间,DiskSize为系统的总磁盘空间,Diskk为第k个存储服务器的磁盘空间,FileSizei为第i个存储服务器拥有的不活跃文件占用的磁盘空间。 [0068] 管理服务器获取系统内不同类型的文件对应的均衡值后,可以根据各个均衡值对应的获取原存储服务器中需要向新存储服务器迁移的不同类型的文件的数量,然后将需要向新存储服务器迁移的不同类型的文件的数量发送给对应的原存储服务器;也可以是管理服务器将获取的系统内不同类型的文件对应的均衡值、服务能力和各加权因子等信息发送给原存储服务器后,原存储服务器自己计算需要向新存储服务器迁移的不同类型的文件的数量,具体可以对应的分为以下场景: \n[0069] 场景一:根据所述热点文件的均衡值、所述原存储服务器中热点文件的数量、访问次数和所述原存储服务器的服务能力,获取所述原存储服务器需要向所述新存储服务器迁移的热点文件的数量。 \n[0070] 热点文件需要根据其对系统造成的负载和系统内各个存储服务器的服务能力进行均匀分摊,由于对系统造成负载压力的直接原因是该数据访问次数多,可以采用各个热点文件的当前的访问次数来表示该热点文件对该系统造成的负载压力。因此管理服务器或原存储服务器可以采用以下的公式(6)计算理想情况下从第i个原存储服务器向新存储服务器的迁移的热点文件的迁移量。 \n[0071] \n[0072] \n[0073] \n[0074] 在公式(6)中LOADout为第j个原存储服务器向新存储服务器的迁移的 热点文件的负载,N表示第j个原存储服务器上迁移前拥有的热点文件数量,NUMr为第j个原存储服务上第r个热点文件的访问次数,CABj为系统内第j个原存储服务器的服务能力,LOADbalance为热点文件的均衡值。由公式(6)可知,LOADout等于第j个原存储服务器的当前负载与均衡负载的差值,而这个迁出负载LOADout还可以用T个文件的访问量(总访问次数之和)来表示,即迁出这T个文件后,该第j个原存储服务器的热门文件负载达到均衡;NUMk表示第j个原存储服务器上待迁出的T个热门文件中第k个文件的访问次数。因此,第j个原存储服务器向新存储服务器迁移的热点文件数量就是这T个文件。例如:LOADbalance为100,CABi为4, 为1000;则LOADout为600,表示该第j个原存储服务器中热门文件超出的负载量为600;此时,若有3个热点文件的访问次数之和接近600,则可以选择放弃这3个文件,则T=3。而如果LOADout的值为负数,表示第j个原存储服务器的热点文件不需要迁出,因为第j个原存储服务器的热点文件拥有率低于平均值,尚存在将热点文件迁入第j个原存储服务器的能力。 \n[0075] 场景二:根据所述活跃文件均衡值、所述原存储服务器中活跃文件的数量和所述原存储服务器的服务能力,获取所述原存储服务器需要向所述新存储服务器迁移的活跃文件的数量。 \n[0076] 由于用户对活跃文件的访问具有周期性,活跃文件很可能在一定时间内继续被访问,因此有必要对活跃文件的分布进行优化。管理服务器可以按照原存储服务器的服务能力的比例分摊各个活跃文件。因此管理服务器或原存储服务器可以采用以下的公式(7)计算理想状况下从第j个原存储服务器迁出的活跃文件的迁移量: \n[0077] ACTout=ACTj-CABj*ACTbalance (7) \n[0078] 在公式(7)中,ACTout为当前系统内第j个原存储服务器向新存储服务器的迁移的活跃文件的迁移量,ACTj为当前系统内第j个原存储服务器具有的活跃文件数量;CABj为系统内第j个原存储服务器的服务能力,ACTbalance为 活跃文件的均衡值。如果ACTout的值为负数,表示第j个原存储服务器中的活跃数据不需要迁出,第j个原存储服务器的活跃文件量低于平均值,存在将活跃文件迁入第j个原存储服务器的能力。公式(7)根据各个原存储服务器上存储活跃文件的数量ACTj和原存储服务器应存储的活跃文件的合理数量CABj*ACTbalance来确定各个原存储服务器的应该迁移的活跃文件的数量,具体哪一个活跃文件需被迁移,可以采用随机选择等方法确定。 \n[0079] 场景三:根据所述新文件的均衡值、所述原存储服务器中新文件的数量和所述原存储服务器的服务能力,获取所述原存储服务器需要向所述新存储服务器迁移的新文件的数量。 \n[0080] 由于新文件与活跃文件具有同样的性质,即将来可能被访问,可以采用与活跃文件同样的方法计算新文件的迁移。具体地,管理服务器或原存储服务器可以采用公式以下的公式(8)计算理想状况下从第j个原存储服务器迁出的新文件的迁移量: [0081] NewFileout=NewFilej-CABj*NewFilebalance (8) \n[0082] 在公式(8)中,NewFileout为当前系统内第j个原存储服务器向新存储服务器的迁移的新文件的迁移量,NewFilej为当前系统内第j个原存储服务器具有的新文件数量;CABj为系统内第j个原存储服务器的服务能力,NewFilebalance为新文件的均衡值。 [0083] 场景四:根据所述不活跃文件的均衡值、所述不活跃文件在所述原存储服务器占用的磁盘空间和所述原存储服务器的总磁盘空间,获取所述原存储服务器需要向所述新存储服务器迁移的不活跃文件的数量。 \n[0084] 由于不活跃数据需要的资源主要是磁盘空间,可以根据磁盘使用率进行分摊,优先迁移磁盘剩余空间少的节点上的数据,使系统磁盘使用率趋于平均,具体迁移不活跃数据中的哪些数据可以是随机选择。管理服务器可以采用以下的公式(9)计算理想状况下从第j个原存储服务器迁出的不活跃文件的迁移量: \n[0085] COLDout=FileSizej-COLDbalance*Diskj (9) \n[0086] 在公式(9)中,COLDout为第j个原存储服务器要迁移出的不活跃数据量,Diskj为当前系统内第j个原存储服务器的总磁盘空间,FileSizej为当前系统内第j个原存储服务器拥有的不活跃文件占用的磁盘空间。COLDout表示的是第j个原存储服务器当前的磁盘存储量与均衡值之间的差值,由于不活跃文件由占用的磁盘空间来衡量,而不是文件个数来衡量,可以体现均衡磁盘利用率的目标。如果COLDout的值为负数,表示第j个原存储服务器中的不活跃文件不需要迁出,因为第j个原存储服务器的磁盘利用率低于平均利用率,存在将不活跃文件迁入的第j个原存储服务器能力。 \n[0087] 由以上的情况和场景可以看出,各种类型文件的数据迁移至新存储服务器而进行负载均衡为一个定性的概念,均衡值和迁移量为理想状况下的数值。各原存储服务器根据该理想状况下的均衡值进行迁移,但最后迁移完成的结果,并不会在负载、磁盘空间使用率等方面的绝对均衡。而绝对的均衡难以实现也没有必要,即使当前在系统内实现绝对均衡,由于文件热度的变化也将使这种均衡很快被打破。 \n[0088] 步骤103、根据向所述新存储服务器迁移的文件的迁移顺序,所述原存储服务器将需要向所述新存储服务器迁移的不同类型的文件按照对应的数量向所述新存储服务器迁移。 \n[0089] 向所述新存储服务器迁移的文件的迁移顺序可以预先设置,也可以根据新存储服务器加入当前系统的原因设置迁移顺序。新存储服务器加入当前系统的原因多种多样,例如:当前系统的磁盘空间不足,或者访问当前系统的用户过多导致当前系统的带宽等服务能力不足等。根据不同的加入原因设定不同的迁移顺序的方法可以包括: [0090] 方法一、若所述系统的磁盘空间小于设定的磁盘空间阈值,则将向所述新存储服务器迁移的文件的迁移顺序设定为:先迁移不活跃文件,然后迁移热点文件、新文件或活跃文件。 \n[0091] 可以预先设置一个系统的磁盘空间阈值,当系统的磁盘空间小于设定的磁盘空间阈值时,可以判定当前系统的磁盘空间不足。系统的磁盘空间不足 可能导致新文件的发布和副本扩展出现问题,此时加入新存储服务器,如果新存储服务器添加当前系统后不对磁盘空间进行优化,可能会导致数据不能向原存储服务器发布而只能发布到新存储服务器上,从而出现数据访问负载大量出现在新存储服务器上,而原存储服务器闲置状况。因此,在当前系统中,应该优先迁移不活跃数据到新存储服务器上,为各个存储服务器发布新文件的数据和数据扩散让出资源。这样也潜在的分摊了当前系统的系统负载,使系统负载均衡时保持高服务质量。在进行不活跃数据迁移时,可以优先迁移磁盘剩余空间少的存储服务器。 \n[0092] 由于海量存储服务器的磁盘容量巨大,不活跃文件所占比例也比较大,因而对不活跃文件的迁移耗时,也很耗费系统资源,要使得迁移对系统的影响降到最小,可以设置最大并行迁移数据对象个数,避免迁移对系统造成冲击。由于不活跃文件迁移的时间长,迁移不活跃文件时可能导致过多的新文件被发布到新存储服务器,为了降低后续热点文件的反复迁移造成的抖动,可以根据系统的不同需求采取以下处理方法:(1)限制各个存储服务器在一定时间内发布新文件的个数。(2)根据各个存储服务器当前包含的新文件个数和各个存储服务器配置的服务能力来决定将新文件发布到哪个节点。 \n[0093] 因此当前系统的磁盘空间不足时,文件迁移的顺序为:不活跃文件、热点文件、新文件、活跃文件。每次迁移一种类型的数据时计算各个文件类型的迁移量。其中迁移不活跃文件后,热点文件、新文件、活跃文件的迁移顺序也可以没有严格的时序要求。 [0094] 方法二、若所述系统的服务能力小于设定的服务能力阈值,则将向所述新存储服务器迁移的文件的迁移顺序设定为:先迁移热点文件,然后迁移新文件、活跃文件或不活跃文件。 \n[0095] 系统的服务能力包括系统所提供的下载带宽、计算资源等,可以预先设定一个服务能力阈值例如:下载带宽阈值,如果当前系统所提供的下载带宽小于下载带宽阈值时,可以判定系统的服务能力不足。系统的服务能力不足触发的新存储服务器的添加与由于磁盘空间不足有所不同。在系统的服务能 力不足的情况下,均摊各个存储服务器的负载,以避免后续数据的反复迁移是首要目标,即首先迁移热点文件。因此系统中文件的迁移顺序优选为:先迁移热点文件,再按照新文件、活跃文件、不活跃文件的顺序迁移。其中迁移热点文件后,新文件、活跃文件、不活跃文件的迁移顺序也可以没有严格的时序要求。 [0096] 原存储服务器按照迁移顺序、将需要向所述新存储服务器迁移的不同类型的文件按照对应的数量向新存储服务器迁移完毕之后,原存储服务器和新存储服务器还可以将各自文件的变化状态信息发送给相应的文件根服务器,然后根服务器对登记的文件副本信息进行更新,该文件根服务器根据所述变化状态信息更新保存的文件的元数据信息中的文件副本信息。 \n[0097] 本实施例管理服务器根据系统中文件的冷热和新旧,可以将系统的文件均匀的分摊到各个存储服务器,避免出现传统副本管理机制中,新节点存储新数据、旧节点存储旧数据的状况,减少了系统资源的浪费;使各个存储服务器节点上的数据的冷热、新旧文件分布趋于一致,可以从很大程度避免突发的负载失衡;根据网络中当前的系统内中各个存储服务器的负载信息和服务能力计算不同类型的文件对应的均衡值和迁移量,可以使加入新存储服务器后的系统能够快速实现均衡,从而优化数据分布、减少数据的迁入迁出,从而减少系统的抖动,提高系统服务质量,节约系统资源。 \n[0098] 图4为本发明负载均衡方法实施例二的流程图,如图4所示,在本发明负载均衡方法实施例一的基础上,当管理服务器为系统根节点,新存储服务器为新节点,原存储服务器为旧节点,根服务器为根节点时,该负载均衡方法包括以下步骤: \n[0099] 步骤201、新节点上线后向域根节点报告新节点自身的磁盘信息、配置的服务能力的信息。 \n[0100] 步骤202、域根节点向当前系统中原有的旧节点索取相关信息,包括:旧节点的服务能力例如:带宽资源等的一项或多项的函数、热点文件的数量及热点值(热点值可用单位时间内访问次数来衡量)、活跃文件的数量、新文件的数量、系统的总磁盘空间、不活跃文件所占用的磁盘空间等信息。其 中域根节点可以判断加入的节点是否是新节点,先加入的也有可能是掉线后重新启动的加入节点,如果不是新节点,则可以不执行以下的步骤。 [0101] 步骤203、域根节点根据当前系统内各个节点的服务能力和负载信息,计算各种类型的文件在当前系统中理想情况下的均衡值,域根节点或旧节点根据该均衡值对应确定各种类型文件理想情况下应该迁入新节点的迁移量。 \n[0102] 其中,负载信息包括文件的类型、数量、访问次数和占用的磁盘空间,文件的类型包括热点文件、活跃文件、新文件和不活跃文件。域根节点可以根据均衡值采用上述实施例中的计算公式(6)到(8),计算各种类型的文件在当前系统中理想情况下的迁移量,将迁移量告知旧节点;也可以将均衡值、服务能力和各加权因子等信息发送给旧节点,由旧节点采用上述实施例中的计算公式(6)到(8),计算各种类型的文件在当前系统中理想情况下的迁移量。其中域根节点根据当前系统内各个节点的服务能力和负载信息,域根节点或旧节点计算不同类型文件均衡值和迁移量的方法,可以参照本发明负载均衡方法实施例一中管理服务器获取不同类型文件均衡值和迁移量的方法的相关公式和描述。 \n[0103] 步骤204、域根节点根据各个节点的磁盘利用率信息和负载状况判断触发新节点加入的原因,如果是当前系统磁盘空间不足触发的新节点加入,执行步骤205;如果是当前系统负载过大导致系统带宽等服务能力不足而触发的新节点加入,执行步骤207。 [0104] 步骤205、域根节点通知新节点从各旧节点迁移不活跃文件,根据步骤203的计算确定旧节点中应该迁移的不活跃文件的数量即迁移量;新节点从磁盘剩余空间小的旧节点上优先迁移相应的不活跃文件,直到需要迁移的相应数据量迁移完毕。 \n[0105] 步骤206、域根节点通知新节点从其他旧节点迁移其他类型的文件,处理次序优选为:热点文件、新文件、活跃文件,执行步骤209。 \n[0106] 步骤207、域根节点通知新节点迁移热点文件,根据步骤203确定应该从每个旧节点迁移的热点文件的数量;新节点从各旧节点迁移热点文件,直到需要迁移的相应数据量迁移完毕。 \n[0107] 步骤208、域根节点通知新节点迁移的其他类型的文件,按照新文件、活跃文件、不活跃文件的顺序依次进行文件迁移,执行209。 \n[0108] 步骤209、各个类型的文件迁移完成后,迁移流程完毕;新节点和旧节点根据本地存储文件的变化,向对应文件的根节点汇报,根节点对登记的元数据信息中的文件副本信息进行更新,以保存文件最新的存储位置等信息。 \n[0109] 本实施例域根节点按照系统内各个节点的负载信息和服务能力计算文件的迁移量,避免多次的迭代来实现系统负载均衡,可以使新节点加入后能快速分摊系统负载;使各个节点上的数据的冷热、新旧文件分布趋于一致,可以从很大程度避免突发的负载失衡;根据系统中文件的冷热和新旧,将系统的文件均匀的分摊到各个存储节点上,避免出现传统副本管理机制中,新节点存储新数据、旧节点存储旧数据的状况,减少了系统资源的浪费。 [0110] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。 \n[0111] 图5为本发明管理服务器实施例一的结构示意图,如图5所示,该管理服务器包括:获取模块41、均衡模块42和迁移模块44。其中获取模块41用于获取系统内各存储服务器的服务能力和负载信息,所述存储服务器包括原存储服务器和新存储服务器。均衡模块\n42用于根据所述存储服务器的服务能力和负载信息,获取所述系统内不同类型的文件对应的均衡值。迁移模块44用于根据向所述新存储服务器迁移的文件的迁移顺序,指示所述原存储服务器在获取所述原存储服务器中需要向所述新存储服务器迁移的不同类型的文件的数量后、按照所述迁移顺序、将需要向所述新存储服务器迁移的不同类型的文件按照对应的数量向所述新存储服务器迁移。 \n[0112] 具体地,网络中各存储服务器的服务能力可能存在差异,当有新存储服务器加入当前系统时,获取模块41可以获取系统内各存储服务器的服务能力和负载信息。其中存储服务器的服务能力与该存储服务器的硬件配置有关,CPU的计算能力,内存大小,磁盘的平均读写速度,网卡的上行带宽对其服 务能力具有主要的决定作用,服务能力的具体计算方法可以参照本发明负载均衡方法实施例一中的公式(1)及相关描述。本实施例中负载信息包括文件的类型、数量、访问次数和占用的磁盘空间等,文件的类型包括热点文件、活跃文件、新文件和不活跃文件。然后均衡模块42根据系统内所有存储服务器的服务能力和负载信息,可以获取系统内不同类型的文件对应的均衡值,具体地方法可以参照本发明负载均衡方法实施例一中的相关描述,以及公式(2)到公式(5)。然后该管理服务器可以根据均衡模块42获取的各个均衡值,对应的获取原存储服务器中需要向新存储服务器迁移的不同类型的文件的数量,并将该原存储服务器中需要向新存储服务器迁移的不同类型的文件的数量通知该原存储服务器;或者管理服务器将各个均衡值告知原存储服务器,原存储服务器自己计算需要向新存储服务器迁移的不同类型的文件的数量。具体地方法可以参照本发明负载均衡方法实施例一中的相关描述,以及公式(6)到公式(9)。然后迁移模块44根据向新存储服务器迁移的文件的迁移顺序,指示原存储服务器按照所述迁移顺序、将需要向所述新存储服务器迁移的不同类型的文件按照对应的数量向所述新存储服务器迁移。其中根据新存储服务器加入当前系统的原因的不同迁移顺序可以不同,具体地可以参照本发明负载均衡方法实施例一中方法一、方法二的相关描述。迁移完毕后,原存储服务器和新存储服务器还可以将各自文件的变化状态信息发送给根服务器,然后根服务器对登记的文件副本信息进行更新。 \n[0113] 本实施例获取模块获取网络中当前的系统内中各个存储服务器的负载信息和服务能力后,均衡模块、迁移量模块分别计算出不同类型的文件对应的均衡值和迁移量,迁移模块根据迁移顺序进行迁移,从而使加入新存储服务器后的系统能够快速实现均衡,减少数据的迁入迁出,减少系统的抖动,提高系统稳定性,节约系统资源。 \n[0114] 图6为本发明管理服务器实施例二的结构示意图,如图6所示,在本发明管理服务器实施例一的基础上,均衡模块42包括:热点文件均衡子模块51、活跃文件均衡子模块52、新文件均衡子模块53和不活跃文件均衡子模块54。其中,热点文件均衡子模块51用于根据所述系统内所有存储服务 器的服务能力、负载的所有热点文件的数量和所述热点文件的访问次数,获取所述热点文件对应的均衡值,例如可以采用上述的公式(2)计算热点文件对应的均衡值。活跃文件均衡子模块52用于根据所述系统内所有存储服务器的服务能力和负载的所有活跃文件的数量,获取所述活跃文件对应的均衡值,例如可以采用上述的公式(3)计算活跃文件对应的均衡值。新文件均衡子模块53用于根据所述系统内所有存储服务器的服务能力和负载的所有新文件的数量,获取所述新文件对应的均衡值,例如可以采用上述的公式(4)计算新文件对应的均衡值。不活跃文件均衡子模块54用于根据所述系统的总磁盘空间和所述不活跃文件占用的磁盘空间,获取所述不活跃文件对应的均衡值,例如可以采用上述的公式(5)计算不活跃文件对应的均衡值。 \n[0115] 进一步地,当管理服务器需要计算原存储服务器中需要向新存储服务器迁移的不同类型的文件的数量时,还可以包括迁移量模块43,用于根据所述均衡值获取所述原存储服务器中需要向所述新存储服务器迁移的不同类型的文件的数量。其中迁移量模块43可以包括:热点文件迁移量子模块55、活跃文件迁移量子模块56、新文件迁移量子模块57和不活跃文件迁移量子模块58。其中,热点文件迁移量子模块55用于根据所述热点文件的均衡值、所述原存储服务器中热点文件的数量、访问次数和所述原存储服务器的服务能力,获取所述原存储服务器需要向所述新存储服务器迁移的热点文件的数量,例如可以采用上述的公式(6)计算原存储服务器需要向新存储服务器迁移的热点文件的数量。活跃文件迁移量子模块56用于根据所述活跃文件均衡值、所述原存储服务器中活跃文件的数量和所述原存储服务器的服务能力,获取所述原存储服务器需要向所述新存储服务器迁移的活跃文件的数量,例如可以采用上述的公式(7)计算原存储服务器需要向新存储服务器迁移的活跃文件的数量。新文件迁移量子模块57用于根据所述新文件的均衡值、所述原存储服务器中新文件的数量和所述原存储服务器的服务能力,获取所述原存储服务器需要向所述新存储服务器迁移的新文件的数量,例如可以采用上述的公式(8)计算原存储服务器需要向新存储服务器迁移的新文件的数量。不活跃文件迁移量子模块58用于根据所述不活跃文件的均衡值、所述不活跃 文件在在所述原存储服务器占用的磁盘空间和所述原存储服务器的总磁盘空间,获取所述原存储服务器需要向所述新存储服务器迁移的不活跃文件的数量,例如可以采用上述的公式(9)计算原存储服务器需要向新存储服务器迁移的不活跃文件的数量。 \n[0116] 新存储服务器加入当前系统的原因多种多样,根据不同的加入原因可以设定不同的迁移顺序的方法。因此,再进一步地,管理服务器还包括第一迁移顺序模块45和第二迁移顺序模块46。其中,第一迁移顺序模块45用于若所述系统的磁盘空间小于设定的磁盘空间阈值,则将向所述新存储服务器迁移的文件的迁移顺序设定为:先迁移不活跃文件,然后迁移热点文件、新文件或活跃文件。第二迁移顺序模块46用于若所述系统的服务能力小于设定的服务能力阈值,则将向所述新存储服务器迁移的文件的迁移顺序设定为:先迁移热点文件,然后迁移新文件、活跃文件或不活跃文件。根据不同的加入原因,第一迁移顺序模块、第二迁移顺序模块设定不同的迁移顺序的具体方法,可以参照本发明负载均衡方法实施例一中方法一、方法二的相关描述。 \n[0117] 本实施例中获取模块获取网络中当前的系统内中各个存储服务器的负载信息和服务能力后,均衡模块、迁移量模块的各个子模块分别计算出不同类型的文件对应的均衡值和迁移量,迁移模块根据迁移顺序进行迁移,从而使加入新存储服务器后的系统能够快速实现均衡,减少数据的迁入迁出,减少系统的抖动,提高系统稳定性;另外,根据系统中文件的冷热、新旧,可以将系统的文件均匀的分摊到各个存储服务器上,节约系统资源。 [0118] 图7为本发明负载均衡系统实施例的结构示意图,如图7所示,该负载均衡系统包括:管理服务器61和存储服务器62。其中管理服务器61用于获取系统内各所述存储服务器的服务能力和负载信息;根据所述存储服务器的服务能力和负载信息,获取所述系统内不同类型的文件对应的均衡值;根据向所述新存储服务器迁移的文件的迁移顺序,指示所述原存储服务器在获取所述原存储服务器中需要向新存储服务器迁移的不同类型的文件的数量后、按照所述迁移顺序、将需要向所述新存储服务器迁移的不同类型的文件按照对应的数量向所述新存储服务器迁移。存储服务器62用于存储不同类型的文 件,所述存储服务器包括所述原存储服务器和所述新存储服务器,所述原存储服务器根据所述均衡值获取需要向新存储服务器迁移的不同类型的文件的数量,按照所述迁移顺序、将需要向所述新存储服务器迁移的不同类型的文件按照对应的数量向所述新存储服务器迁移。 [0119] 进一步地,该负载均衡系统还可以包括根服务器63,用于保存所述文件的元数据信息,所述元数据信息包括文件副本信息,接收所述原存储服务器和所述新存储服务器发送所存储的该文件的变化状态信息,根据所述变化状态信息更新所述文件副本信息。 [0120] 具体地,管理服务器61获取系统内各存储服务器62的服务能力和负载信息后,根据存储服务器62的服务能力和负载信息、获取所述系统内不同类型的文件对应的均衡值,并根据所述均衡值获取原存储服务器中需要向新存储服务器迁移的不同类型的文件的数量;然后根据向新存储服务器迁移的文件的迁移顺序,指示原存储服务器按照所述迁移顺序、将需要向新存储服务器迁移的不同类型的文件按照对应的数量向新存储服务器迁移。\n迁移完毕后,原存储服务器和新存储服务器向根服务器63发送各自存储的文件的变化状态信息,根服务器63根据所述文件的变化状态信息更新所述文件的副本信息。其中,管理服务器和文件根服务器可以为同一个服务器。 \n[0121] 本实施例管理服务器根据网络中当前的系统内中各个存储服务器的负载信息和服务能力,计算不同类型的文件对应的均衡值和迁移量,可以使加入新存储服务器后的系统能够快速实现均衡,减少数据的迁入迁出,从而减少系统的抖动,提高系统稳定性;根据系统中文件的冷热、新旧,可以将系统的文件均匀的分摊到各个存储服务器上,节约系统资源。 \n[0122] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
法律信息
- 2022-02-08
专利权的转移
登记生效日: 2022.01.24
专利权人由常熟市知识产权运营中心有限公司变更为江苏航天龙梦信息技术有限公司
地址由215500 江苏省苏州市常熟市常福街道联丰路68号4号楼5楼变更为215500 江苏省苏州市常熟市梦兰路8号
- 2021-03-09
专利权人的姓名或者名称、地址的变更
专利权人由常熟市知识产权运营中心有限公司变更为常熟市知识产权运营中心有限公司
地址由215500 江苏省苏州市常熟市草荡路13号变更为215500 江苏省苏州市常熟市常福街道联丰路68号4号楼5楼
- 2020-11-24
专利权的转移
登记生效日: 2020.11.12
专利权人由华为技术有限公司变更为广东高航知识产权运营有限公司
地址由518129 广东省深圳市龙岗区坂田华为总部办公楼变更为510630 广东省广州市天河区五山路371号之一主楼2414-2416单元
- 2020-11-24
专利权的转移
登记生效日: 2020.11.12
专利权人由广东高航知识产权运营有限公司变更为常熟市知识产权运营中心有限公司
地址由510630 广东省广州市天河区五山路371号之一主楼2414-2416单元变更为215500 江苏省苏州市常熟市草荡路13号
- 2012-10-17
- 2011-06-29
实质审查的生效
IPC(主分类): H04L 12/56
专利申请号: 200910208814.3
申请日: 2009.10.29
- 2011-05-11
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |