[发明专利]一种数据节点的随机分配方法及系统有效
申请号: | 201410504330.4 | 申请日: | 2014-09-26 |
公开(公告)号: | CN104965840B | 公开(公告)日: | 2017-04-12 |
发明(设计)人: | 翁健;许焰;周明伟;王亮;舒添翼;陈伟;张兴明 | 申请(专利权)人: | 浙江大华技术股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F3/06 |
代理公司: | 北京同达信恒知识产权代理有限公司11291 | 代理人: | 黄志华 |
地址: | 310053 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 节点 随机 分配 方法 系统 | ||
技术领域
本发明涉及云存储技术领域,尤其涉及一种数据节点的随机分配方法及系统。
背景技术
传统的分布式文件系统随机分配数据节点有两种分配模式:轮询模式和虚拟节点模式。轮询模式在批量申请节点的情况下,导致数据被固定的分配在相邻的数据节点上,成为性能瓶颈。虚拟节点模式,一般是采用一致性哈希,它的优点是在增加/删除数据节点时系统震荡较小,但一致性哈希函数是一个随机性的函数,在存储节点量少的情况下容易造成数据分配不均匀。
具体的,轮询模式是分布式存储系统为了达到极限压测性能的一种常用方式,实现简单,效率高。客户机向元数据服务器申请一个或多个连续的数据节点,直连数据节点进行相应的读写操作。在各个同构数据节点被分配次数相等的情况下,数据容量理应也是均衡的。因此采用轮询模式,分配具有很高的实时性和均衡性。然而,基于纠删码(Erasure Code,EC)算法的分布式文件系统,一个对象通常会被切割成m份,通过计算得到n份。m+n份数据被分配到连续的数据节点上,导致单个数据节点k与周围[k–(m+n-1),k+(m+n-1)]个数据节点存在强关联性。当数据节点k下线或者宕机时,数据节点k的磁盘数据恢复时需要从m台节点读取数据,通过EC算法计算得到。这样的设计使得周围[k–(m+n-1),k+(m+n-1)]数据节点成为频繁被读取的对象,不论是内存,中央处理器CPU,还是网络带宽都将成为这部分节点在数据恢复时的性能瓶颈。
虚拟节点模式也是分布式存储系统常用的一种数据分配方式,物理数据节点被抽象为虚拟的数据节点,依据一致性哈希算法,均匀的分布在哈希环中。相对于轮询,有着数据被均匀打散的特性,不存在数据热点的问题,但能否达到数据的均匀分布取决于随机算法的实现。虚拟节点模式,其实是一种一致性哈希的算法实现,并且加入了虚化物理数据节点的思想。用数学方法产生的随机数列是根据特定的算法推算出来,严格来说并不是随机的。由于是用算法产生的,因而本质上是决定性的,再加上计算机字长有限,所以无论用什么算法产生的数列,在统计特征上都不可能完全与均匀分布一致。
综上,现有技术并没有既能实现数据节点的随机分配又能保证分配概率更加均衡的方法。
发明内容
本发明实施例提供了数据节点的随机分配方法及系统,用以实现数据节点的概率更加均衡的随机分配。
本发明实施例提供的一种数据节点的随机分配方法,包括:
当确定需要进行数据节点分配时,按照预设规则,在由数据节点标识组成的分配表中确定本次需要分配的数据节点标识;
将本次需要分配的数据节点标识所对应的数据节点进行分配;
其中,所述分配表包括多行数据节点标识,每一行中的多个数据节点标识是随机分布的,任意两行中的数据节点标识的分布不同;
所述预设规则包括:相邻两次从所述分配表的不同行中确定需要分配的数据节点标识。
本发明实施例提供的数据节点的随机分配方法,通过设置由数据节点标识组成的分配表,该分配表中包括多行数据节点标识,每一行中的多个数据节点标识是随机分布的,任意两行中的数据节点标识的分布不同;在分配时,相邻两次从所述分配表的不同行中确定需要分配的数据节点标识,从而实现了数据节点的概率更加均衡的随机分配。
较佳的,确定需要进行数据节点分配,可以是接收到客户端发送的申请数据节点的请求的情况,也可以是系统需要对宕机的数据节点进行数据恢复时而申请数据节点的情况。
较佳的,所述按照预设规则,在由数据节点标识组成的分配表中确定本次需要分配的数据节点标识,包括:
根据当前分配表所对应的数据节点的累计分配次数,确定当前分配表中本次需要分配的数据节点标识所在的行;
在当前分配表中本次需要分配的数据节点标识所在的行中,根据本次需要分配的数据节点数量,确定本次需要分配的数据节点标识。
较佳的,所述根据当前分配表所对应的数据节点的累计分配次数,确定当前分配表中本次需要分配的数据节点标识所在的行,包括:
将当前分配表所对应的数据节点的累计分配次数除以分配表的行数求余,根据所得余数确定当前分配表中本次需要分配的数据节点标识所在的行。
较佳的,在当前分配表中本次需要分配的数据节点标识所在的行中,根据本次需要分配的数据节点数量,确定本次需要分配的数据节点标识,包括:
在当前分配表中本次需要分配的数据节点标识所在的行中,根据该行中上一次被分配的数据节点标识的位置,以及本次需要分配的数据节点数量,确定本次需要分配的数据节点标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大华技术股份有限公司,未经浙江大华技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410504330.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置