【技术实现步骤摘要】
数据均匀化方法、装置、计算机设备及存储介质
本专利技术涉及数据存储领域,尤其涉及一种数据均匀化方法、装置、计算机设备及存储介质。
技术介绍
Region是HBase集群分布的最小单元,HBase会将每张业务表所拥有的Region分布在各个RegionServer上。一般情况下,一张业务数据表刚开始只有一个对应的Region,但随着业务数据表的数据量的增大,并在数据量达到阀值时,Region会继续分裂成多个Region,若在业务数据表的数据量处于较多的情况下,会造成每张业务数据表的数据在Region中出现数据分布不均匀的现象,也会对Region关联的RegionServer造成压力,从而影响到RegionServer关联的HBase的读写性能。并且频繁对Region进行分裂操作,也会大大占用HBase集群所在服务器的资源,从而也会影响到HBase的读写性能。因此,亟需寻找一种技术方案解决上述所提到的问题。
技术实现思路
基于此,有必要针对上述技术问题,提供一种数据均匀化方法、装置、计算机设备及存储介质,用于将数据表中的数据均匀化于每一个Region中,进而提高Region对应的RegionServer的读写性能。一种数据均匀化方法,包括:将HBase集群中的Region的最大数据存储量设定为预设数据阈值;接收对所述HBase集群中的数据表的数据均匀化指令,获取所述数据表的所有主键内容;其中,一个所述主键内容关联所述数据表的其中一类存储数据的总数据量;与所述主键内容对应的一类存 ...
【技术保护点】
1.一种数据均匀化方法,其特征在于,包括:/n将HBase集群中的Region的最大数据存储量设定为预设数据阈值;/n接收对所述HBase集群中的数据表的数据均匀化指令,获取所述数据表的所有主键内容;其中,一个所述主键内容关联所述数据表的其中一类存储数据的总数据量;与所述主键内容对应的一类存储数据中包含至少一个主键数据;/n根据所述预设数据阈值和每一个所述主键内容对应的所述总数据量确定所述数据表中与每一个所述主键内容对应的Region的个数;/n利用预设Hash算法获取所述数据表中的每一个所述主键内容对应的RowKey数据集;所述RowKey数据集包括所述主键内容对应的每一个主键数据的RowKey;/n自与所述主键内容对应的所述RowKey数据集中各所述RowKey中提取第一关键值后,根据所述第一关键值对所述主键内容对应的每一个主键数据进行排序,并获取排序之后的序列值;/n根据所述主键内容对应的Region的个数以及所述序列值,自与所述主键内容对应的所有主键数据中,确定出与所述主键内容对应的每一个Region的两个边界元素,并通过与所述主键内容对应的每一个Region的两个所述边界元素 ...
【技术特征摘要】
1.一种数据均匀化方法,其特征在于,包括:
将HBase集群中的Region的最大数据存储量设定为预设数据阈值;
接收对所述HBase集群中的数据表的数据均匀化指令,获取所述数据表的所有主键内容;其中,一个所述主键内容关联所述数据表的其中一类存储数据的总数据量;与所述主键内容对应的一类存储数据中包含至少一个主键数据;
根据所述预设数据阈值和每一个所述主键内容对应的所述总数据量确定所述数据表中与每一个所述主键内容对应的Region的个数;
利用预设Hash算法获取所述数据表中的每一个所述主键内容对应的RowKey数据集;所述RowKey数据集包括所述主键内容对应的每一个主键数据的RowKey;
自与所述主键内容对应的所述RowKey数据集中各所述RowKey中提取第一关键值后,根据所述第一关键值对所述主键内容对应的每一个主键数据进行排序,并获取排序之后的序列值;
根据所述主键内容对应的Region的个数以及所述序列值,自与所述主键内容对应的所有主键数据中,确定出与所述主键内容对应的每一个Region的两个边界元素,并通过与所述主键内容对应的每一个Region的两个所述边界元素确定该Region的前边界值和后边界值;所述前边界值和后边界值均为与所述边界元素对应的第一关键值;每一个Region的前边界值和后边界值之间的范围记录为该Region的边界范围;
获取所述主键内容对应的主键数据的所述第一关键值,在确认获取的所述第一关键值的大小在与所述主键内容对应的Region的边界范围之内时,将所述主键内容中与所述第一关键值对应的主键数据分配至该Region中进行存储。
2.根据权利要求1所述的数据均匀化方法,其特征在于,所述利用预设Hash算法获取所述数据表中的每一个所述主键内容对应的RowKey数据集,包括:
通过对所述数据表中的每一个所述主键内容对应的该类存储数据中的每一个主键数据运用Hash,得到各个所述主键内容中的各个主键数据的HashKey,并提取各个所述HashKey对应的各个第二关键值;
获取各个所述主键内容中的各个主键数据的字符长度,并分别将各个所述第二关键值与各个所述字符长度利用绝对值算法进行运算,得到各个第三关键值;
自预设字符分布表中获取各个所述第三关键值所对应的字符,并将获取的各所述字符和对应的主键数据通过预设符号对应进行拼接,得到所述RowKey数据集;所述RowKey数据集中的每一个所述RowKey均由至少一个所述字符与一个所述主键内容中的一个主键数据通过预设符号拼接而成。
3.根据权利要求1所述的数据均匀化方法,其特征在于,所述将所述主键内容中与所述第一关键值对应的主键数据分配至该Region中进行存储之后,还包括:
获取所述主键内容对应的所述RowKey数据集中需检索的RowKey,根据与所述RowKey对应的所述第一关键值,确定所述RowKey对应的主键数据在所述HBase集群中存储的目标Region;
定位与已确定的所述目标Region存在调度关系的至少一个RegionServer,建立起与所述RegionServer的通信连接后,通过所述RegionServer读取与所述RowKey对应的主键数据,并将所述RegionServer读取的主键数据通过通信连接写入至本地的预设数据表中。
4.根据权利要求3所述的数据均匀化方法,其特征在于,所述定位与已确定的所述目标Region存在调度关系的至少一个RegionServer之后,还包括:
实时监控参与读写任务的所述RegionServer的运行状态,并在其中一个所述RegionServer的运行状态为宕机时,获取与宕机的所述RegionServer关联的所述目标Region;
令所述Region解除与宕机的所述RegionServer之间的调度关系,并根据预设的调度规则建立所述目标Region与至少一个运行状态为正常的所述RegionServer之间的调度关系。
5.根据权利要求3所述的数据均匀化方法,其特征在于,所述将所述RegionServer读取的数据通过通信连接写入至本地中的预设数...
【专利技术属性】
技术研发人员:郑金伟,
申请(专利权)人:中国平安人寿保险股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。