CN104219163A - 一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法 - Google Patents
一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法 Download PDFInfo
- Publication number
- CN104219163A CN104219163A CN201410429037.6A CN201410429037A CN104219163A CN 104219163 A CN104219163 A CN 104219163A CN 201410429037 A CN201410429037 A CN 201410429037A CN 104219163 A CN104219163 A CN 104219163A
- Authority
- CN
- China
- Prior art keywords
- node
- load
- dynamic
- preengage
- migration
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法,包括:服务器通过分配ID,映射为哈希环中的节点依次是A,B,C,D…;每个节点负责存储从上一个节点到本节点之间的所有数据,以及前两个存储空间的副本;如果节点A的负载值超过此节点的负载阈值φA,向后继第3节点D进行预约;预约失败时,不执行负载迁移算法,等待下一次预约;预约成功并确认该节点没有参与任何负载迁移时,节点A方可激活负载迁移算法;按照NDF方法移动目标节点,执行复制、删除存储空间命令。该方法可以用更少的负载迁移代价实现过载节点的负载均衡,可以实现负载转移的并发执行;在大规模集群中使用,该方法可以快速实现负载平衡。
Description
技术领域
本发明涉及分布式存储技术领域,尤其涉及云计算存储系统中的一种基于动态副本法和虚拟节点法的节点动态前移(NDF)的负载均衡方法。
背景技术
云存储作为一种商业服务,其核心是存储集群,通常部署在一个或多个数据中心内,由结构相同、配置相当的大量普通PC服务器组成,节点间通过高速局域网相连,相比因特网环境,具有高速、稳定的网络特性。分布式哈希表(Distributed Hash Table,DHT)云存储系统是指基于DHT的存储集群系统。在云存储的特定环境下,造成DHT系统负载不均的主要原因有(1)节点分布不均;(2)存储资源分布不均;(3)资源访问热度不均。
为此设计一种用更低的负载迁移代价实现大规模存储节点的云存储负载均衡是非常有必要的。
发明内容
本发明为克服上述的不足之处,目的在于提供一种基于动态副本法和虚拟节点法的节点动态前移(NDF)的负载均衡方法,该方法采用云存储动态副本法和虚拟节点法的节点动态前移(NDF)的负载均衡方法维持存储节点的负载均衡可以用更少的负载迁移代价实现过载节点的负载均衡,大大提高存储性能。
本发明是通过以下技术方案达到上述目的:一种基于动态副本法 和虚拟节点法的节点动态前移的负载均衡方法,包括如下步骤:
(1)服务器分配ID映射为虚拟存储节点,文件利用关键字Key的哈希计算映射为原本数据与副本数据,生成哈希表;
(2)采用阀值策略确定磁盘负载超过阈值的节点K并对其进行预约;
(3)通过节点K前移至K',缩小存储分区,降低节点K的存储负载;
(4)在节点前移后,在节点中删除(K',K]数据,在节点K的后继第三节点中添加(K',K]数据,完成节点K的负载迁移。
(5)移动均衡结束,判断是否存在预约失败现象;
(6)若存在预约失败则重新执行步骤(2)至步骤(5)直到没有预约失败现象存在,结束进程;若不存在,负载均衡,结束进程。
作为优选,所述的文件利用关键字Key的哈希计算映射为原本数据与副本数据存储于两个存储节点之间的存储分区内。
作为优选,所述的阀值策略为设定节点的阈值为固定值φ,将各个节点的负载与阈值比较,对高于固定阀值的节点进行预约,且必须向后继第3节点进行预约;低于固定阀值的等待下一轮预约。
作为优选,所述的执行负载迁移过程的条件为当前时刻唯一预约,节点没有参与任何负载迁移。
作为优选,所述的动态副本法采用副本相邻放置,采用优于一对一策略,负载迁移代价LTS<2。
本发明的有益效果在于:(1)操作简单云存储动态副本法和虚拟节点法的节点动态前移(NDF)的负载均衡方法维持存储节点的负载均衡可以用更少的负载迁移代价实现过载节点的负载均衡;(2)大大提 高了云存储空间的存储性能;(3)解决了存储资源分布均匀问题和资源访问热度均匀问题。
附图说明
图1是基于节点动态前移(NDF)的负载均衡方法的流程框图;
图2是哈希环的节点示意图;
图3是节点动态前移(NDF)的具体操作示意图。
具体实施方式
下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此:
实施例:如图1所示,基于节点动态前移(NDF)的负载均衡方法的流程框图,主要包括以下步骤:
(1)服务器通过分配ID,映射为哈希环中的节点依次是A,B,C,D…;每个节点负责存储从上一个节点到本节点之间的所有数据,以及前两个存储空间的副本,生成哈希表;
分布式哈希表((Distributed Hash Table,简称DHT)的工作原理如图2所示,首先,服务器通过分配ID,映射为哈希环中的一个节点;文件通过关键字KEY的哈希计算,同时映射到哈希环中;每个节点负责存储从上一个节点到本节点之间的所有数据,这个区域称作存储分区。如节点C的存储分区为(B,C)。在云存储系统中,为了保证数据的可靠性,会在存储节点顺时针方向的2个后继节点中存储副本,因此,每个节点管理3个存储分区。以节点C为例,存储分区有(H,A),(A,B]和(B,C)。存储时,每个分区为一个独立目录。当客户端 进行访问时,先对文件关键字做哈希计算获得哈希值,再通过查询本地路由表获取存储节点地址;之后,客户端访问存储节点,完成相关操作。路由表是DHT系统中记录所有节点IP地址和ID值的映射表,每个节点独立地对其进行实时维护。
其中,每个存储分区中不仅仅包括包含从上一个节点到本节点之间的所有数据,还包括本节点前边2个存储分区的副本。因此整个存储空间中包含1个原本和2个副本。当主节点负载过“热”时,可以分散到其他两个副本节点中。如果副本也过载才触发NDF方法。由于原本和副本是连续的,更加方便转移热度。当节点删除或者新增时,可以充分利用NDF方法高效实现。
(2)云存储中采用阈值策略,各个节点设定一定的阈值由过载节点激活负载迁移;设定节点的阈值为固定值φ,将各个节点的负载与阈值比较。如果节点A的负载值超过负载阈值φ,向后继第3节点D进行预约;预约失败时,不执行负载迁移算法,等待下一轮预约;
例如A,B点负载值低于阈值φ,故节点A,B负载正常,不进行负载迁移过程。
例如节点C负载值超过阈值φ,向C点后继第3节点——即节点F进行预约。
(3)预约成功并确认该节点没有参与任何负载迁移时,节点A方可激活负载迁移算法;按照NDF方法执行新增、删除存储空间命令移动存储分区;判定其预约成功并确认该节点没有参与任何负载迁移的例子如下所示:
A、如果节点F在此时此刻正在参与其他的负载均衡迁移过程,那么预约失败,不进行NDF负载迁移,等待其他节点迁移完毕后再进行负载阈值比较。
B、如果节点F仍未参与其他的负载均衡迁移过程,那么预约成功,对节点C执行NDF负载迁移。
负载迁移算法包括以下步骤:根据当前各个节点的负载值与起初确定好的各个节点的阈值确定磁盘负载超过阈值的节点K;通过节点K前移至K',缩小存储分区,降低节点K的存储负载;通过前后对比可以发现,在节点前移后,只需在节点中删除(K',K]数据,在节点K的后继第三节点中添加(K',K]数据,即可实现节点K的负载迁移。
如图3所示,在哈希环中,节点C,D,E,F的存储分区分别为:
节点C:(H,A]+(A,B]+(B,C]=(H,C];
节点D:(A,B]+(B,C]+(C,D]=(A,D];
节点E:(B,C]+(C,D]+(D,E]=(B,E];
节点F:(C,D]+(D,E]+(E,F]=(C,F]。
如果节点C的磁盘负载超过阈值,则通过节点迁移,缩小存储分区,降低节点C的存储负载。假设将C节点移至C'处,在新的分布中,节点C,D,E,F存储的数据为:
节点C:(H,A]+(A,B]+(B,C']=(H,C'];
节点D:(A,B]+(B,C']+(C',D]=(A,D];
节点E:(B,C']+(C',D]+(D,E]=(B,E];
节点F:(C',D]+(D,E]+(E,F]=(C',F]。
通过前后对比可以发现,在节点C前移后,只需在节点C中删除(C',C]数据,在节点F中添加(C',C]数据,即可实现节点C的负载迁移。
(4)移动均衡结束,判断是否存在预约失败现象;判定规则如下:
A、当所有节点完成前面的各种可能操作后,如果全部需要负载迁移的节点预约成功,那么经过负载迁移后实现负载均衡。结束进程。
B、如果有预约失败的节点,那么再次比较各个节点负载阈值,进行负载迁移过程。直至预约全部成功,负载均衡,结束进程。
综上所述,依靠本发明完成负载均衡的同时,减少了大量数据迁移操作,提高效率;本发明的节点动态前移(NDF)的负载均衡方法使得副本一直与原本相接,免去寻找合适节点所消耗的时间,大大提高效率。
以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。
Claims (5)
1.一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法,其特征在于,包括如下步骤:
(1)服务器分配ID映射为虚拟存储节点,文件利用关键字Key的哈希计算映射为原本数据与副本数据,生成哈希表;
(2)采用阀值策略确定磁盘负载超过阈值的节点K并对其进行预约;
(3)通过节点K前移至K',缩小存储分区,降低节点K的存储负载;
(4)在节点前移后,在节点中删除(K',K]数据,在节点K的后继第三节点中添加(K',K]数据,完成节点K的负载迁移。
(5)移动均衡结束,判断是否存在预约失败现象;
(6)若存在预约失败则重新执行步骤(2)至步骤(5)直到没有预约失败现象存在,结束进程;若不存在,负载均衡,结束进程。
2.根据权利要求1所述的一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法,其特征在于,所述的文件利用关键字Key的哈希计算映射为原本数据与副本数据存储于两个存储节点之间的存储分区内。
3.根据权利要求1所述的一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法,其特征在于,所述的阀值策略为设定节点的阈值为固定值φ,将各个节点的负载与阈值比较,对高于固定阀值的节点进行预约,且必须向后继第3节点进行预约;低于固定阀值的等待下一轮预约。
4.根据权利要求1所述的一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法,其特征在于,所述的执行负载迁移过程的条件为当前时刻唯一预约,节点没有参与任何负载迁移。
5.根据权利要求1所述的一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法,所述的动态副本法采用副本相邻放置,其特征在于:采用优于一对一策略,负载迁移代价LTS<2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410429037.6A CN104219163B (zh) | 2014-08-28 | 2014-08-28 | 一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410429037.6A CN104219163B (zh) | 2014-08-28 | 2014-08-28 | 一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104219163A true CN104219163A (zh) | 2014-12-17 |
CN104219163B CN104219163B (zh) | 2016-08-17 |
Family
ID=52100309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410429037.6A Active CN104219163B (zh) | 2014-08-28 | 2014-08-28 | 一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104219163B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068767A (zh) * | 2015-08-19 | 2015-11-18 | 山东超越数控电子有限公司 | 一种基于一致性hash算法的全虚拟化存储方法 |
CN107918559A (zh) * | 2016-10-08 | 2018-04-17 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN111143324A (zh) * | 2019-12-20 | 2020-05-12 | 浪潮软件股份有限公司 | 一种kudu的基于大小的数据库数据均衡系统及实现方法 |
CN113515364A (zh) * | 2021-09-14 | 2021-10-19 | 腾讯科技(深圳)有限公司 | 一种数据迁移的方法及装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937557A (zh) * | 2006-09-05 | 2007-03-28 | 华为技术有限公司 | 结构化对等网络系统及其负载查询、转移及资源查找方法 |
US8346824B1 (en) * | 2008-05-21 | 2013-01-01 | Translattice, Inc. | Data distribution system |
WO2013106993A1 (zh) * | 2012-01-17 | 2013-07-25 | 华为技术有限公司 | 扩容的方法和设备、以及访问数据的方法和设备 |
-
2014
- 2014-08-28 CN CN201410429037.6A patent/CN104219163B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937557A (zh) * | 2006-09-05 | 2007-03-28 | 华为技术有限公司 | 结构化对等网络系统及其负载查询、转移及资源查找方法 |
US8346824B1 (en) * | 2008-05-21 | 2013-01-01 | Translattice, Inc. | Data distribution system |
WO2013106993A1 (zh) * | 2012-01-17 | 2013-07-25 | 华为技术有限公司 | 扩容的方法和设备、以及访问数据的方法和设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068767A (zh) * | 2015-08-19 | 2015-11-18 | 山东超越数控电子有限公司 | 一种基于一致性hash算法的全虚拟化存储方法 |
CN107918559A (zh) * | 2016-10-08 | 2018-04-17 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
US10698623B2 (en) | 2016-10-08 | 2020-06-30 | Tencent Technology (Shenzhen) Company Limited | Data processing method and apparatus and storage medium |
CN111143324A (zh) * | 2019-12-20 | 2020-05-12 | 浪潮软件股份有限公司 | 一种kudu的基于大小的数据库数据均衡系统及实现方法 |
CN111143324B (zh) * | 2019-12-20 | 2023-05-02 | 浪潮软件股份有限公司 | 一种kudu的基于大小的数据库数据均衡系统及实现方法 |
CN113515364A (zh) * | 2021-09-14 | 2021-10-19 | 腾讯科技(深圳)有限公司 | 一种数据迁移的方法及装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104219163B (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9052824B2 (en) | Content addressable stores based on sibling groups | |
CN105025053A (zh) | 基于云存储技术的分布式文件的上传方法及其系统 | |
Deshpande et al. | Gang migration of virtual machines using cluster-wide deduplication | |
CN102523234B (zh) | 一种应用服务器集群实现方法及系统 | |
CN103347068B (zh) | 一种基于代理集群网络缓存加速方法 | |
CN113010496B (zh) | 一种数据迁移方法、装置、设备和存储介质 | |
Zhang et al. | Smarth: Enabling multi-pipeline data transfer in hdfs | |
CN103929454A (zh) | 一种云计算平台中负载均衡存储的方法和系统 | |
WO2021253889A1 (zh) | 负载均衡方法、装置、代理设备、缓存设备及服务节点 | |
CN104065568A (zh) | 一种Web服务器集群的路由方法 | |
CN103458013A (zh) | 一种流媒体服务器集群负载均衡系统及均衡方法 | |
CN104184812A (zh) | 一种基于私有云的多点数据传输方法 | |
US11099767B2 (en) | Storage system with throughput-based timing of synchronous replication recovery | |
CN104219163A (zh) | 一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法 | |
CN104572505A (zh) | 一种保证海量数据缓存最终一致性的系统及方法 | |
CN103918239A (zh) | 负载均衡方法、装置、系统及计算机可读介质 | |
WO2017000094A1 (zh) | 一种数据存储方法、装置和系统 | |
Zhu et al. | CCDN: Content-centric data center networks | |
CN105007328A (zh) | 一种基于一致性hash的网络cache设计方法 | |
CN105468296A (zh) | 基于虚拟化平台的无共享存储管理方法 | |
KR20160037792A (ko) | 고 대역폭 피어-투-피어 스위치드 키-밸류 캐싱 | |
CN102970349B (zh) | 一种dht网络的存储负载均衡方法 | |
CN106547477A (zh) | 用于在线地减少缓存设备的方法和装置 | |
CN110309229A (zh) | 分布式系统的数据处理方法和分布式系统 | |
CN113688115A (zh) | 一种基于Hadoop的档案大数据分布式存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310018, Zhejiang, Hangzhou economic and Technological Development Zone, Poplar Street science and technology road, No. 2, 2, 3, 09 units Applicant after: HANGZHOU TIANKUAN TECHNOLOGY CO., LTD. Address before: 310000, 7 floor, Qianjiang refrigeration building, No. 398 Tianmu Road, Zhejiang, Hangzhou Applicant before: HANGZHOU TIANKUAN TECHNOLOGY CO., LTD. |
|
COR | Change of bibliographic data | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |