The invention discloses a storage balance method and device for a memory cluster, relating to the database field. The method includes: table section on the original primary key K1 segmentation are divided according to the original number; a key K1, patch number to generate a balanced level key; using K1 '(K1', DO) data storage form key data; the original primary key K1 for custom as of DO's original logical key, the original primary key K1 database by segment, data table, table section section, a balanced level key K1 'for the balance of the logical key custom object DO. Thus, the data can be evenly distributed on the memory cluster data nodes, and then the storage capacity of the memory cluster can be fully utilized.
【技术实现步骤摘要】
内存集群的存储均衡方法及装置
本专利技术涉及数据库领域,特别涉及一种内存集群的存储均衡方法及装置。
技术介绍
由代理服务器对集群中的键(key)做一致性哈希,理想情况下能保证键在集群节点上的均匀分布。由于分区的数据量通常不一样,分区数据量的不同会导致集群节点的存储资源占用不均衡。如图1所示,假设集群有4个节点,每个节点的存储是10。分两次存储8个分区数据,第一次存储4个分区(4个键),数据量分别是1、2、4、8;第二次再存储4个分区(4个键),数据量都是2。如果两次的存储的分区数据都被均匀保存在4个节点上,那么4个节点的数据量分别是3、4、6、10。如果再向集群节点插入数据,很可能数据被一致性哈希到存储为10的节点上,则存储失败。此时,其它3个节点都有不同程度的闲置资源但却不可用。可见,传统的一致性哈希算法未考虑分区影响,直接对数据成员对等处理,同时近年来加入虚拟节点的方式加剧了分区分布不均的情况,因此有必要解决分区数据过度集中于若干服务节点造成整体性能瓶颈问题。
技术实现思路
本专利技术所要解决的技术问题是:如何实现数据在内存集群数据节点上的均匀分布,进而充分利用内存集群的存储容量。根据本专利技术实施例的一个方面,提供了一种内存集群的存储均衡方法,包括:对原始一级键K1的表分区段进行切分得到分片号;根据原始一级键K1、分片号生成均衡一级键K1’;采用(K1’,DO)的数据存储形式存储键值数据;其中,原始一级键K1为定制对象DO的原始逻辑键,所述原始一级键K1由数据库段、数据表段、表分区段组成,均衡一级键K1’为定制对象DO的均衡逻辑键。根据本专利技术实施例的 ...
【技术保护点】
一种内存集群的存储均衡方法,包括:对原始一级键K1的表分区段进行切分得到分片号;根据原始一级键K1、分片号生成均衡一级键K1’;采用(K1’,DO)的数据存储形式存储键值数据;其中,原始一级键K1为定制对象DO的原始逻辑键,所述原始一级键K1由数据库段、数据表段、表分区段组成,均衡一级键K1’为定制对象DO的均衡逻辑键。
【技术特征摘要】
1.一种内存集群的存储均衡方法,包括:对原始一级键K1的表分区段进行切分得到分片号;根据原始一级键K1、分片号生成均衡一级键K1’;采用(K1’,DO)的数据存储形式存储键值数据;其中,原始一级键K1为定制对象DO的原始逻辑键,所述原始一级键K1由数据库段、数据表段、表分区段组成,均衡一级键K1’为定制对象DO的均衡逻辑键。2.根据权利要求1所述的方法,其特征在于,其中,定制对象DO中存储(K2,V),二级键K2为定制对象DO的数据键,V为定制对象DO的数据值;所述对原始一级键K1的表分区段进行切分得到分片号包括:对原始一级键K1和二级键K2进行哈希运算;将哈希运算所得哈希值对计划分片数M进行取余运算;将取余运算的结果作为分片号。3.根据权利要求1所述的方法,其特征在于,其中,定制对象DO中存储(K2,V),二级键K2为定制对象DO的数据键,V为定制对象DO的数据值;所述对原始一级键K1的表分区段进行切分得到分片号包括:对原始一级键K1和二级键K2进行md5运算;取md5运算所得摘要值的后n位作为分片号,n位所能表示的最大数值不大于计划分片数M。4.根据权利要求2或3所述的方法,其特征在于,还包括:根据用户存储的节点数确定所述计划分片数M,所述计划分片数M为节点数的N倍,其中N为不大于10的自然数。5.根据权利要求1所述的方法,其特征在于,其中,所述定制对象DO以MAP的形式存储。6.一种内存集群的存储均...
【专利技术属性】
技术研发人员:杨维,
申请(专利权)人:中国电信股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。