[发明专利]基于一致性哈希算法的分表方法及设备有效
申请号: | 201810481880.7 | 申请日: | 2018-05-18 |
公开(公告)号: | CN108763381B | 公开(公告)日: | 2022-05-17 |
发明(设计)人: | 何燕春;吴再聪 | 申请(专利权)人: | 土巴兔集团股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 广东普罗米修律师事务所 44615 | 代理人: | 齐则琳 |
地址: | 518000 广东省深圳市南山区西丽街道*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 一致性 算法 方法 设备 | ||
1.一种基于一致性哈希算法的分表方法,其特征在于,所述分表方法包括:
获取记录有业务数据的数据总表;
使用一致性哈希算法将所述数据总表中的所述业务数据存储于多个第一表格中;
在所述业务数据发生变化,且用于存储变化后的业务数据的表格的目标数量与第一表格的数量不相同时,使用一致性哈希算法对多个第一表格中的部分第一表格中的业务数据进行迁移;
所述使用一致性哈希算法将所述数据总表中的所述业务数据存储于多个第一表格中的步骤,包括:
根据设定的分表键和用于存储所述业务数据的第一表格的数量,使用一致性哈希算法得出所述数据总表中每个分表键值对应的第一表格序号;其中,所述分表键是指所述数据总表中的特定列,分表键值是指所述数据总表中的特定列的值;
根据数据总表中每个分表键值对应的第一表格序号,针对每个分表键值,分别将数据总表中分表键值对应的业务数据存储于该分表键值对应的第一表格中;其中,每个第一表格序号对应一个第一表格;
所述使用一致性哈希算法对多个第一表格中的部分第一表格中的业务数据进行迁移的步骤,包括:
根据所述目标数量和多个第一表格,使用一致性哈希算法对部分第一表格中的业务数据进行迁移;
所述根据所述目标数量和多个第一表格,使用一致性哈希算法对部分第一表格中的业务数据进行迁移的步骤,包括:
针对每个第一表格分别执行以下步骤:
根据所述分表键遍历第一表格,获取第一表格的分表键值;
根据所述目标数量和第一表格的分表键值,使用一致性哈希算法获得第一表格的分表键值对应的第二表格序号;
若所述第二表格序号与所述第一表格对应的第一表格序号相同,则不对所述第一表格中的业务数据进行迁移;
若所述第二表格序号与所述第一表格对应的第一表格序号不相同,则对所述第一表格中的业务数据进行迁移。
2.根据权利要求1所述的分表方法,其特征在于,所述对所述第一表格中的业务数据进行迁移的步骤,包括:
将所述第一表格中的业务数据插入所述第二表格序号对应的第二表格中;
删除所述第一表格中的业务数据。
3.根据权利要求1所述的分表方法,其特征在于,在所述根据数据总表中每个分表键值对应的第一表格序号,针对每个分表键值,分别将数据总表中分表键值对应的业务数据存储于该分表键值对应的第一表格中的步骤之后,所述分表方法还包括:
针对每个第一表格,分别根据第一表格对应的第一表格序号生成结构化查询语言SQL语句。
4.根据权利要求2所述的分表方法,其特征在于,在所述将所述第一表格中的业务数据插入所述第二表格序号对应的第二表格中的步骤之后,所述分表方法还包括:
针对第二表格,根据第二表格对应的第二表格序号生成SQL语句。
5.根据权利要求1所述的分表方法,其特征在于,所述目标数量不超过500万。
6.一种基于一致性哈希算法的分表设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的基于一致性哈希算法的分表方法的步骤。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的基于一致性哈希算法的分表方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于土巴兔集团股份有限公司,未经土巴兔集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810481880.7/1.html,转载请声明来源钻瓜专利网。