[发明专利]分布式数据库的读写控制方法和装置以及电子设备有效
申请号: | 201811496200.5 | 申请日: | 2018-12-07 |
公开(公告)号: | CN111291112B | 公开(公告)日: | 2023-04-28 |
发明(设计)人: | 周正中 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 广州铸智知识产权代理有限公司 44886 | 代理人: | 徐瑞红 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 数据库 读写 控制 方法 装置 以及 电子设备 | ||
1.一种分布式数据库的读写控制方法,其特征在于,包括:
根据数据表建立对应的重分布表,所述重分布表中至少包含所述数据表的状态标识、重分布数据以及目标节点确定数据,所述状态标识用于标记所述数据表是否处于重分布状态,所述重分布数据为所述数据表在重分布前后的变化数据,所述目标节点确定数据用于确定存储所述数据表的目标节点;
根据待重分布的数据表,修改所述重分布表,其中,在开始对所述重分布表中与所述数据表相对应的内容进行修改时,锁定所述数据表;
在对所述重分布表中与所述数据表相对应的内容修改完成时,解除对所述数据表的锁定;
根据针对所述数据表的读写指令,基于修改后的所述重分布表,进行读写操作。
2.根据权利要求1所述的分布式数据库的读写控制方法,其特征在于,所述重分布数据为所述数据表的新分布键和旧分布键,所述目标节点确定数据为所述数据库的节点配置个数,所述根据针对所述数据表的读写指令,基于修改后的所述重分布表,进行读写操作,包括:
根据针对所述数据表的读写指令,基于所述数据表的状态标识、新分布键和旧分布键以及所述节点配置个数,对所述数据表进行读写操作,所述新分布键为所述数据表修改后的分布键,所述旧分布键为所述数据表修改前的分布键。
3.根据权利要求2所述的分布式数据库的读写控制方法,其特征在于,所述读写指令为插入操作指令,所述根据针对所述数据表的读写指令,基于所述数据表的状态标识、新分布键和旧分布键以及所述节点配置个数,对所述数据表进行读写操作,包括:
判断所述数据表的状态标识;
当所述数据表处于重分布状态时,根据所述新分布键所对应的键值与所述节点配置个数所计算出的哈希值确定新目标节点,并将插入数据写入所述新目标节点;
当所述数据表处于非重分布状态时,根据所述旧分布键所对应的键值与所述节点配置个数所计算出的哈希值确定旧目标节点,并将插入数据写入所述旧目标节点。
4.根据权利要求2所述的分布式数据库的读写控制方法,其特征在于,所述读写指令为查询操作指令、更新操作指令或删除操作指令,所述根据针对所述数据表的读写指令,基于所述数据表的状态标识、新分布键和旧分布键以及所述节点配置个数,对所述数据表进行读写操作,包括:
判断所述数据表的状态标识;
当所述数据表处于重分布状态时,根据所述新分布键所对应的键值与所述节点配置个数所计算出的哈希值确定新目标节点,根据所述旧分布键所对应的键值与所述节点配置个数所计算出的哈希值确定旧目标节点,并在所述新目标节点和所述旧目标节点中分别进行数据查询操作、数据更新操作或数据删除操作;
当所述数据表处于非重分布状态时,根据所述旧分布键所对应的键值与所述节点配置个数所计算出的哈希值确定旧目标节点,并在所述旧目标节点中进行数据查询操作、数据更新操作或数据删除操作。
5.根据权利要求1所述的分布式数据库的读写控制方法,其特征在于,所述重分布数据为所述数据库的新节点配置个数和旧节点配置个数,所述目标节点确定数据为所述数据表的分布键,所述根据针对所述数据表的读写指令,基于修改后的所述重分布表,进行读写操作,包括:
根据针对所述数据表的读写指令,基于所述数据表的状态标识和分布键、以及所述数据库的新节点配置个数和旧节点配置个数,对所述数据表进行读写操作,所述新节点配置个数为所述数据库在扩缩容之后的节点数,所述旧节点配置个数为所述数据库在扩缩容之前的节点数。
6.根据权利要求5所述的分布式数据库的读写控制方法,其特征在于,所述读写指令为插入操作指令,所述根据针对所述数据表的读写指令,基于所述数据表的状态标识和分布键、以及所述数据库的新节点配置个数和旧节点配置个数,对所述数据表进行读写操作,包括:
判断所述数据表的状态标识;
当所述数据表处于重分布状态时,根据所述分布键所对应的键值与所述新节点配置个数计算出的哈希值确定新目标节点,并将插入数据写入所述新目标节点;
当所述数据表处于非重分布状态时,根据所述分布键所对应的键值与所述旧节点配置个数计算出的哈希值确定旧目标节点,并将插入数据写入所述旧目标节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811496200.5/1.html,转载请声明来源钻瓜专利网。