一种基于云存储的负载均衡计算方法

文档序号:8475216阅读:434来源:国知局
一种基于云存储的负载均衡计算方法
【技术领域】
[0001] 本发明涉及一种计算方法,具体涉及一种基于云存储的负载均衡计算方法。
【背景技术】
[0002] 公有云存储是一种利用商用机器构建并为公众用户提供数据存储服务的集群。公 有云存储集群包含有一组异构配置的存储节点S = {Si/i ε (1,..,n)}和一台充当中央协 调器(Central Coordinator,CC)的商用机器。中央协调器是公有云存储集群与用户之间 的交互接口,并对所有公有云存储集群的存储资源进行协调,通常包括存储控制模块、数据 消重模块和负载均衡模块三个组件,如图1所示。
[0003] 当所有商用机器的存储资源被统一整合后,公有云存储集群即可通过互联网提供 服务。其中,通过传输控制协议(Transmission Control Protocol,TCP)协调各个商用机 器,通过文件传输协议(File Transfer Protocol,FTP)在商用机器之间传输文件。当公有 云存储集群启动时,每个存储节点将通过中央协调器注册并定期更新自身的详细信息,包 括已用空间、剩余空间、IP地址以及网络利用率等。在收到一个文件写入请求时,中央协调 器会把该请求推送给存储控制模块。存储控制模块负责处理用户提交的存储请求,将把输 入文件分割成若干文件块并发送给数据消重模块;数据消重模块在收到存储控制模块发送 过来的众多文件块后,将进行消重以形成独一无二的文件块,并继续发送给负载均衡模块; 负载均衡模块利用特定的负载均衡算法,根据各个存储节点的负载状态合理分发这些文件 块到各个存储节点上,以实现公有云存储集群的负载均衡。
[0004] 由于公有云存储集群服务于公众用户,其存储空间需要不断扩充才能满足数量日 益剧增的公众用户的需求。但是,动态扩充新的存储节点和频繁添加或删除文件都会造成 整个公有云存储集群的负载不再均衡。公有云存储集群负载不均衡的原因主要如下:
[0005] 1、增加新的存储节点:相对于已有存储节点,新增加的存储节点可能具有较少的 数据或者没有数据;
[0006] 2、添加或者删除文件:频繁的添加或删除文件操作,可能逐渐导致公有云存储集 群的负载不再均衡;
[0007] 3、存储节点负载过重:当某个存储节点的负载超过预定阈值,该存储节点状态将 会变成过载。

【发明内容】

[0008] 针对现有技术的不足,本发明提出一种基于云存储的负载均衡计算方法。负载均 衡模块由协调代理、节点定位和负载重均衡三个子模块组成。本发明所设计的节点定位算 法,能够根据所有存储节点的状态信息和预先设定的负载阈值,计算出所有存储节点的负 载状态,并进行分离排序,为负载均衡指定了可以迀移数据的目标存储节点。本发明在明确 了可以增加负载的存储节点之后,还需要计算出能够移动的负载数量以及移动的方法。本 发明所设计的负载重均衡算法既可以解决新增存储节点所造成的负载不均衡问题,也可以 解决频繁使用公有云存储集群所造成的负载不均衡问题;数据迀移算法能够快速地将被调 整数据迀移到目标存储节点上。
[0009] 本发明的目的是采用下述技术方案实现的:
[0010] 一种基于云存储的负载均衡计算方法,其改进之处在于,当收到文件写入请求,中 央协调器中的负载均衡模块都以一种均衡所有公有云存储节点负载的方式分发输入的文 件块;其中,负载均衡模块由协调代理、节点定位和负载重均衡三个子模块组成;所述的负 载均衡计算方法包括:
[0011] ⑴获取存储节点的状态信息;
[0012] (2)计算出负载较轻的存储节点,将其IP地址记录下来;
[0013] (3)计算出需要移动的负载大小并进行数据的移动;
[0014] (4)重复步骤(1~3)直到存储节点的负载均衡为止。
[0015] 优选的,所述步骤(1)中,是由协调代理子模块通过存储节点获得IP地址、存储容 量、已用空间、剩余空间和网络带宽信息,并收集到协调代理子模块。
[0016] 进一步地,所述步骤(1)中状态信息采用一个矢量表示,由各个存储节点的存储 容量、已用空间、剩余空间、IP地址、网络利用率、节点权值、理想负载和负载状态构成;协 调代理子模块接收数据消重模块发送的文件块,并跨越存储节点进行分发以均衡整个公有 云存储集群的负载。
[0017] 优选的,所述步骤(2)中,是由节点定位子模块根据协调代理子模块传过来的信 息,计算出负载较轻的存储节点,将其IP地址记录下来,并启动负载重均衡子模块。
[0018] 进一步地,所述节点定位子模块收集协调代理子模块发送过来的所有存储节点的 状态信息和文件块,确定可存储文件块的存储节点,根据存储节点的状态信息,计算出每个 存储节点的权值:
[0019] weight = (wl*networkUtilization)+(w2*residualSpace/totalCapacity)
[0020] 其中,wl是网络利用率networkUtilization的权值因子,w2是剩余空间 residualSpace的权值因子,它们分别被设定为0. 25和0. 75,存储节点根据自己的权值进 行降序排列,并按次序访问,传送过来的第一个文件块将被安排存放于第一个能够容纳它 的存储节点中,第二个文件块依次类推。
[0021] 优选的,所述步骤(3)中,是由负载重均衡子模块通过负载重均衡算法计算出需 要移动的负载大小,利用数据迀移算法进行数据的移动。
[0022] 进一步地,所述负载重均衡算法为将每个存储节点的已用空间与其偏低负载阈 值、偏高负载阈值进行比较,如存储节点的已用空间小于偏低负载阈值,则认为该存储节点 是轻权值节点,其负载状态被设置为"low";如存储节点的已用空间大于偏高负载阈值,则 认为该存储节点是重权值节点,其负载状态被设置为"high";轻权值节点以降序方式排列, 重权值节点以升序方式排列;排序完成后,每个轻权值节点与一个相应的重权值节点进行 匹配以使存储节点的负载重新均衡;如重权值节点不能找到一个轻权值节点进行匹配,则 此次匹配停止。
[0023] 进一步地,所述数据迀移算法为中央协调器存储有一个文件索引,每个存储节点 保存了相关迀移参数,文件索引保存了全部文件信息,包括文件名和文件哈希值;根据被移 动负载Load To Be Moved和被接收负载Load To Be Accepted计算可以移动多少数据到 轻权值节点,计算重权值节点和轻权值节点的可调整负载的公式如下:
[0024] LoadToBeMoved = heavy->utilized-heavy->idealLoad
[0025] LoadToBeAccepted = light->utilized_light->idealLoad
[0026] 根据两个值计算结果判断,如LoadToBeAccepted大于或等于LoadToBeMoved,数 据将会从重权值节点迀移到轻权值节点;并判断文件索引中的文件哈希值可以使用迀移索 引检查其是否存在,如不存在,文件块将被转移到目标存储节点上,并且迀移索引表会被更 新。
[0027] 与现有技术比,本发明的有益效果为:
[0028] 本发明所
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1