[发明专利]一种基于Gossip的分布式数据库多区域分布方法及系统在审
申请号: | 202210496407.2 | 申请日: | 2022-05-09 |
公开(公告)号: | CN114896341A | 公开(公告)日: | 2022-08-12 |
发明(设计)人: | 张士威;王瀚墨;陈磊 | 申请(专利权)人: | 山东浪潮科学研究院有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/23;G06F16/242;G06F16/28;H04L67/1095;H04L67/1097 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜鹏 |
地址: | 250100 山东省济*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gossip 分布式 数据库 区域 分布 方法 系统 | ||
1.一种基于Gossip的分布式数据库多区域分布方法,其特征是所述方法的具体步骤如下:
S1通过SQL语句对数据库、表或行进行区域配置;将区域配置信息写入对应系统对象中;
S2处理Range副本的分裂、合并和重分布流程,根据区域配置管理副本各区域分布,维持区域级容灾副本数;
S3按Gossip协议的拓扑发送和接收广播消息,实现节点之间同步数据;
S4定义广播消息的格式和内容,记录并通过S3转发广播消息到其他节点,同步消息内容到S2。
2.根据权利要求1所述的方法,其特征是所述的S1具体步骤如下:
S101解析和执行区域配置类SQL语句;
S102将区域配置信息写入对应系统对象中。
3.根据权利要求2所述的方法,其特征是所述的S2具体步骤如下:
S201将system消息中系统对象的Key区间范围和副本Key区间范围进行匹配,从而找到系统对象对应的Range副本,再将区域配置更新到对应副本;
S202根据Range副本的Key区间范围进行Range的拆分、合并或迁移;
S203由区域配置决定各区域分布的具体副本数,维持副本分布单元的区域级容灾的副本数。
4.根据权利要求3所述的方法,其特征是所述的S3具体步骤如下:
S301将S4下发的消息广播到其他节点;
S302将从其他节点接收的消息上报至S4。
5.根据权利要求4所述的方法,其特征是所述的S4具体步骤如下:
S401定义和管理主要携带节点地址和区域信息的node消息以及携带各系统对象的描述信息的system消息;
S402将S1下发各系统对象的区域配置信息写入到system消息中;
S403转换system消息中的区域配置,将区域配置信息更新到S2对应的Range副本,再将该副本放入副本处理队列;
S404当system消息中含有区域配置时,将区域配置同步给S2;当收到node消息时,将更新S2中的node信息记录表。
6.一种基于Gossip的分布式数据库多区域分布系统,其特征是所述的系统具体包括SQL区域配置单元、副本分布单元、Gossip单元和消息管理单元:
SQL区域配置单元:通过SQL语句对数据库、表或行进行区域配置;将区域配置信息写入对应系统对象中;
副本分布单元:处理Range副本的分裂、合并和重分布流程,根据区域配置管理副本各区域分布,维持区域级容灾副本数;
Gossip单元:按Gossip协议的拓扑发送和接收广播消息,实现节点之间同步数据;
消息管理单元:定义广播消息的格式和内容,记录并通过Gossip单元转发广播消息到其他节点,同步消息内容到分布单元。
7.根据权利要求6所述的系统,其特征是所述SQL区域配置单元具体包括解析执行单元和写入单元:
解析执行单元:解析和执行区域配置类SQL语句;
写入单元:将区域配置信息写入对应系统对象中。
8.根据权利要求7所述的系统,其特征是所述副本分布单元具体包括更新单元、Range操作单元和容灾单元:
更新单元:将system消息中系统对象的Key区间范围和副本Key区间范围进行匹配,从而找到系统对象对应的Range副本,再将区域配置更新到对应副本;
Range操作单元:根据Range副本的Key区间范围进行Range的拆分、合并或迁移;
容灾单元:由区域配置决定各区域分布的具体副本数,维持副本分布单元的区域级容灾的副本数。
9.根据权利要求8所述的系统,其特征是所述Gossip单元具体包括广播单元和上报单元:
广播单元:将管理单元下发的消息广播到其他节点;
上报单元:将从其他节点接收的消息上报至管理单元。
10.根据权利要求9所述的系统,其特征是所述消息管理单元具体包括定义消息管理单元、配置管理单元、分布管理单元和消息中转管理单元。
定义管理单元:定义和管理主要携带节点地址和区域信息的node消息以及携带各系统对象的描述信息的system消息;
配置管理单元:将配置单元下发各系统对象的区域配置信息写入到system消息中;
分布管理单元:转换system消息中的区域配置,将区域配置信息更新到分布单元对应的Range副本,再将该副本放入副本处理队列。
消息中转单元:当system消息中含有区域配置时,将区域配置同步给分布单元;当收到node消息时,将更新分布单元中的node信息记录表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮科学研究院有限公司,未经山东浪潮科学研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210496407.2/1.html,转载请声明来源钻瓜专利网。