数据库的分库分表方法、装置、介质及计算机设备制造方法及图纸

技术编号:24683322 阅读:27 留言:0更新日期:2020-06-27 07:57
本申请涉及一种数据库的分库分表方法。该方法包括:获取待存储的目标数据,确定所述目标数据的第一哈希值;将所述第一哈希值与预设存储单元中各个虚拟节点的基准哈希值进行匹配,获取与所述第一哈希值匹配的第二哈希值,所述预设存储单元存储有所述基准哈希值与所述虚拟节点的节点字符串的映射关系;根据所述映射关系获取与所述第二哈希值对应的节点字符串,所述节点字符串中包含所述节点字符串对应虚拟节点所属的物理分库分表的标识信息;提取所述节点字符串中的标识信息,将所述目标数据存入所述标识信息对应的物理分库分表中。本申请可以实现分库分表后数据的均衡分布,并且在分库分表时不受预设数据库中的数据内容所限制。

Method, device, medium and computer equipment of database Division

【技术实现步骤摘要】
数据库的分库分表方法、装置、介质及计算机设备
本申请涉及数据处理
,特别是涉及一种数据库的分库分表方法、装置、介质及计算机设备。
技术介绍
分库分表就是要把一个预设数据库切分成多个部分放到不同的预设数据库上,从而缓解单一预设数据库的性能问题,其可以对预设数据库中已有的数据进行拆分,也可以对未入库的数据进行分布存储。在一定库数量的情况下常规的分库分表方法一般包括如下几种:其一、采用对分库分表因子计算Hash值取模分库分表此方式是通过计算分库分表因子的Hash值,一个32位甚至更多位的整数值然后对库数量和表数量进行取模得出库号表号进行数据落库落表。该方案计算简洁且高性能,然而,如果分库分表因子不是按Hash值递增的情况下,会导致分库分表数据分布非常不均衡,特别是在有限分库分表因子的情况下极度不均衡,甚至会出现有些库表没有分布到相关数据的情况。其二、采用对分库分表因子计算时间区间分库分表此方式是通过抽取分库分表因子中包含的时间值,然后按照分库分表对预设数据库规定的时间规则进行相关匹配达到数据按时间规则可落本文档来自技高网...

【技术保护点】
1.一种数据库的分库分表方法,所述方法包括:/n获取待存储的目标数据,确定所述目标数据的第一哈希值;/n将所述第一哈希值与预设存储单元中各个虚拟节点的基准哈希值进行匹配,获取与所述第一哈希值匹配的第二哈希值,所述预设存储单元存储有所述基准哈希值与所述虚拟节点的节点字符串的映射关系;/n根据所述映射关系获取与所述第二哈希值对应的节点字符串,所述节点字符串中包含所述节点字符串对应虚拟节点所属的物理分库分表的标识信息;/n提取所述节点字符串中的标识信息,将所述目标数据存入所述标识信息对应的物理分库分表中。/n

【技术特征摘要】
1.一种数据库的分库分表方法,所述方法包括:
获取待存储的目标数据,确定所述目标数据的第一哈希值;
将所述第一哈希值与预设存储单元中各个虚拟节点的基准哈希值进行匹配,获取与所述第一哈希值匹配的第二哈希值,所述预设存储单元存储有所述基准哈希值与所述虚拟节点的节点字符串的映射关系;
根据所述映射关系获取与所述第二哈希值对应的节点字符串,所述节点字符串中包含所述节点字符串对应虚拟节点所属的物理分库分表的标识信息;
提取所述节点字符串中的标识信息,将所述目标数据存入所述标识信息对应的物理分库分表中。


2.根据权利要求1所述的方法,其特征在于,所述输入待分配的目标数据之前,所述方法还包括:
获取至少一个所述物理分库分表的库表信息,所述库表信息包括所述至少一个所述物理分库分表中分库的数量以及各个分库中分表的数量;
根据所述库表信息确定所述物理分库分表的数量;
根据所述物理分库分表的数量确定所述虚拟节点的数量;
根据所述库表信息以及第一预设规则为各个物理分库分表设定标识信息;
根据各个物理分库分表的标识信息以及第二预设规则,分别生成包含各个标识信息的节点字符串;
根据预设的哈希算法确定各个节点字符串的基准哈希值;
创建各个基准哈希值与对应节点字符串的映射关系;
按照预设的排序规则将各个基准哈希值进行排序,得到排序后的映射关系队列;
将所述映射关系队列存入所述预设存储单元。


3.根据权利要求1所述的方法,其特征在于,所述将所述第一哈希值与预设存储单元中虚拟节点的基准哈希值进行匹配,获取与所述第一哈希值匹配的第二哈希值,包括:
根据所述预设存储单元中的映射关系队列构建环形分布数据组;
按照预设时针方向从所述环形分布数据组中选取大于所述第一哈希值,且与所述第一哈希值差值最小的基准哈希值,作为与所述第一哈希值匹配的第二哈希值。


4.根据权利要求1所述的方法,其特征在于,所述标识信息包括所述物理分库分表中分库的第一标识信息以及所述物理分库分表中分表的第二标识信息,所述提取所节点述字符串中的标识信息,将所述目标数据存入所述标识信息对应的物理分库分表中,包括:
提取所述标识信息中的第一标识信息以及第二标识信息;
根据所述第一标识信息确定所述物理分库分表中分库;
根据所述第二标识信息确定所述物理分库分表中的分表;
将所述目标数据存入所述分库中的所述分表中。


5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收新增物理分库分表的请求;
提取所述请求中的新增物理分库分表的库表信息;
根据所述库表信息,确定该新增物...

【专利技术属性】
技术研发人员:徐雄飞储存张超万全伟
申请(专利权)人:苏宁云计算有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1