[发明专利]一种数据节点的分配方法及系统有效
申请号: | 201410362891.5 | 申请日: | 2014-07-28 |
公开(公告)号: | CN104967638A | 公开(公告)日: | 2015-10-07 |
发明(设计)人: | 翁健;许焰;周明伟;王亮;舒添翼;陈伟;张兴明 | 申请(专利权)人: | 浙江大华技术股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 310053 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 节点 分配 方法 系统 | ||
技术领域
本发明涉及云存储技术领域,尤其涉及一种数据节点的分配方法及系统。
背景技术
分布式存储系统作为一种商业系统,核心是管理海量存储资源,提供高速、稳定、线性扩展的服务。分布式存储系统常用的负载分配方法主要是节点信息权重法,节点信息权重法的实现流程如下:
通过实时采集各个数据节点的负载信息(中央处理器CPU负载,内存负载,网络输入输出负载),通过一定的权重算法,例如:负载load=x*A+y*B+z*C,其中A为CPU的当前负载,B为当前内存的当前负载,C为当前网络输入输出的当前负载,x、y和z为权重因子,且x+y+z=1;通过该计算方式计算出各个数据节点的负载信息,选出负载最轻的多个数据节点分配出去。
目前,节点信息权重法被作为分布式存储系统中的一种主流的动态负载分配方式,但该方法也存在一些不足:
分配方式取决于节点负载,对于新加入的数据节点,瞬间会被压到高负载,在后面的所有时间,后加入的节点和先加入的节点是一致对待的,而先加入的节点已经被使用一段时间,已经占有一定的磁盘容量,后面加入的节点和原有节点一致对待,导致先加入的节点容量始终大于后加入的节点的容量,因此容量一直是不均衡的,这对于需要快速达到容量均衡的分布式存储系统来说是不能接受的。
因此,现有技术中,如何快速协调数据节点的容量和负载一直是分布式存储系统的设计难点。
发明内容
本发明实施例提供了数据节点的分配方法,用以在云存储系统中进行数据节点分配时,实现快速的达到容量均衡。
本发明实施例提供的一种数据节点的分配方法,包括:
接收至少一个数据节点上报的心跳信息,其中每一数据节点的心跳信息包括该数据节点的标识信息和负载信息;
根据每一数据节点的心跳信息,更新预先建立的可用队列的数据节点的负载信息和不可用队列的数据节点的负载信息;
当满足预设条件时,根据当前可用队列的每一数据节点的负载信息,确定该可用队列的负载列表和剩余容量列表;根据当前不可用队列的每一数据节点的负载信息,确定该不可用队列的负载列表;
当可用队列中负载最大的数据节点的负载大于不可用队列中负载最小的数据节点的负载时,将可用队列中剩余容量最小的数据节点移入不可用队列,将不可用队列中负载最小的数据节点移入可用队列;
当接收到客户端发送的申请数据节点的请求时,在当前可用队列中为该客户端分配数据节点。
需要说明的是,当接收到客户端发送的申请数据节点的请求时,在当前可用队列中为该客户端分配数据节点,是指元数据中心接收到客户端发送的申请数据节点的请求时,就在当前的可用队列中为该客户端分配数据节点。该过程是随时都可能发生的,不受上述步骤的顺序的限制。
采用本发明实施例提供的上述方法,采用预先建立的可用队列和不可用队列,有利于数据节点的平滑分配,提供更为稳定的吞吐量,再将可用队列中剩余容量最小的数据节点移入不可用队列,将不可用队列中负载最小的数据节点移入可用队列,从而能够实现快速的达到容量均衡。
较佳的,所述根据每一数据节点的心跳信息,更新预先建立的可用队列的数据节点的负载信息和不可用队列的数据节点的负载信息,包括:
根据每一数据节点的标识信息,判断该数据节点是否属于预先建立的可用队列;
若该数据节点不属于可用队列,则判断该数据节点是否属于预先建立的不可用队列;
若该数据节点属于可用队列,则根据该数据节点的负载信息更新可用队列中该数据节点的负载信息;
若该数据节点不属于可用队列也不属于不可用队列,则将该数据节点加入可用队列中,并更新可用队列中该数据节点的负载信息;
若该数据节点属于不可用队列,则根据该数据节点的负载信息更新不可用队列中该数据节点的负载信息。
在本发明中,当接收到一个新的数据节点的心跳信息时,由于该数据节点是新上线的,因此将该数据节点默认为低负荷,而将其加入可用队列。
较佳的,
在更新预先建立可用队列的数据节点的负载信息和不可用队列的数据节点的负载信息之后,该方法还包括:
根据当前可用队列的每一数据节点的负载信息和不可用队列的每一数据节点的负载信息,更新可用队列的数据节点的数量占当前数据节点总数的比例;
所述当满足预设条件时,根据当前可用队列的每一数据节点的负载信息,确定该可用队列的负载列表和剩余容量列表;根据当前不可用队列的每一数据节点的负载信息,确定该不可用队列的负载列表,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大华技术股份有限公司,未经浙江大华技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410362891.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置