[发明专利]分布式数据库重分布的实现方法、数据库、服务器及介质在审
申请号: | 202010547494.0 | 申请日: | 2020-06-16 |
公开(公告)号: | CN113806355A | 公开(公告)日: | 2021-12-17 |
发明(设计)人: | 张军;刘志文 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/21;G06F16/27 |
代理公司: | 北京德崇智捷知识产权代理有限公司 11467 | 代理人: | 王斌 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 数据库 分布 实现 方法 服务器 介质 | ||
1.一种分布式数据库重分布的实现方法,所述方法包括以下步骤:
当数据节点的数量发生变化时,获取哈希分布对于所述数据节点的Hash值和所述数据节点的新的映射关系;
根据所述新的映射关系为所述Hash值重新分配对应的数据节点。
2.如权利要求1所述的实现方法,所述当数据节点的数量发生变化时,获取Hash值和所述数据节点的新的映射关系之前,所述方法,还包括:
基于所述哈希分布的Hash表建立所述Hash值和所述数据节点的映射关系;
根据所述映射关系将所述Hash值分配至对应的数据节点。
3.如权利要求1或2所述的实现方法,所述基于Hash表建立Hash值和数据节点的映射关系之前,所述方法,还包括:
使得每一个所述数据节点对应的所述Hash值的数量相同。
4.如权利要求3所述的实现方法,基于Hash表建立Hash值和数据节点的映射关系之前,所述方法,还包括:
保持存储数据在所有的数据节点上均匀分布。
5.如权利要求3所述的实现方法,当数据节点的数量发生变化时,获取Hash值和所述数据节点的新的映射关系,具体包括:
在所述新的映射关系中设置每一个数据节点对应数量相同的Hash值。
6.如权利要求5所述的实现方法,在所述新的映射关系中设置每一个数据节点对应数量相同的Hash值,具体包括:
当所述数据节点的数量发生变化时,确定需要迁出hash值的迁出数据节点和需要迁入Hash值的迁入数据节点,所述需要迁出hash值与所述需要迁入hash值的数量相同;
将所述迁出数据节点的所述需要迁出hash值重新分配至所述迁入数据节点。
7.如权利要求1所述的实现方法,根据修改后的所述映射关系为所述Hash值重新分配对应的数据节点之后,所述方法还包括:
生成对应的任务表,所述任务表至少包括Hash值,迁出数据节点和迁入数据节点;
根据所述任务表将所述Hash值对应的存储数据从所述迁出数据节点迁移至所述迁入数据节点;
删除所述迁出数据节点上所述Hash值对应的所述存储数据。
8.如权利要求7所述的实现方法,所述根据所述任务表将所述Hash值对应的存储数据从所述迁出数据节点迁移至所述迁入数据节点之前,所述方法,还包括:
将所述hash值隐式插入至所述hash表;
基于所述hash表中的所述hash值获取所述hash值对应的存储数据。
9.一种分布式数据库重分布的实现装置,所述装置包括:
获取模块,用于当所述数据节点的数量发生变化时,获取哈希分布对于所述数据节点的Hash值和所述数据节点的新的映射关系;
分配模块,用于根据所述新的映射关系为所述Hash值重新分配对应的数据节点。
10.如权利要求9所述的实现装置,所述装置还包括:
初始化模块,用于基于Hash表建立Hash值和数据节点的映射关系;以及,
所述分配模块,用于根据所述映射关系将所述Hash值分配至对应的数据节点。
11.一种数据库,所述数据库包括根据权利要求9或10所述的实现装置。
12.一种服务器,所述服务器包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间连接通信的数据总线,所述程序被所述处理器执行时实现如权利要求1至8中任一项所述分布式数据库重分布的实现方法的步骤。
13.一种储存介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行时,实现如权利要求1至8中任一项所述分布式数据库重分布的实现方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010547494.0/1.html,转载请声明来源钻瓜专利网。