System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据库的数据分发方法、装置、电子设备及存储介质制造方法及图纸_技高网

数据库的数据分发方法、装置、电子设备及存储介质制造方法及图纸

技术编号:40537552 阅读:11 留言:0更新日期:2024-03-01 13:59
本申请公开了一种数据库的数据分发方法、装置、电子设备及存储介质,属于数据库技术领域。其中,该方法包括:接收第一建表语句,第一建表语句包括待执行数据,第一建表语句用于将待执行数据存储至分布式数据库,判断第一建表语句中是否包含第一分布规则,若第一建表语句中不包含第一分布规则,则从分布式数据库预配置的分布规则列表中匹配目标分布规则,若匹配到目标分布规则,则将目标分布规则补充至第一建表语句,得到第二建表语句,执行第二建表语句,以按照目标分布规则将待执行数据分发至分布式数据库的多个数据节点。通过本申请,解决了相关技术中由于无法由外部生态工具指定分布式数据库的分布规则语法,数据分发异常的技术问题。

【技术实现步骤摘要】

本申请涉及数据库,具体而言,涉及一种数据库的数据分发方法、装置、电子设备及存储介质


技术介绍

1、随着互联网的迅速发展,数据量的飞速增长给传统的单机数据库带来了诸多困扰,单机数据库的容量有限,且难以满足高并发的需求。为了解决这一问题,分布式数据库应运而生。

2、相关技术中,通常通过外部生态工具进行数据同步、迁移等,例如在数据同步的场景下,要求在同步进行时立刻建立一张分片表,以将待同步数据分发至分布式数据库的多个数据节点,然而,目前大多数同步工具发送至分布式数据库的建表语句都不携带分布规则,从而无法实现数据分发。

3、针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。


技术实现思路

1、本申请提供了一种数据库的数据分发方法、装置、电子设备及存储介质,以解决相关技术中存在的上述技术问题。

2、根据本申请的一个实施例,提供了一种数据库的数据分发方法,包括:接收第一建表语句,所述第一建表语句包括待执行数据,所述第一建表语句用于将所述待执行数据存储至分布式数据库;判断所述第一建表语句中是否包含第一分布规则;若所述第一建表语句中不包含第一分布规则,则从所述分布式数据库预配置的分布规则列表中匹配目标分布规则;若匹配到目标分布规则,则将所述目标分布规则补充至所述第一建表语句,得到第二建表语句,执行所述第二建表语句,以按照所述目标分布规则将所述待执行数据分发至分布式数据库的多个数据节点。

3、根据本申请的另一个实施例,提供了一种数据库的数据分发装置,包括:接收模块,用于接收第一建表语句,所述第一建表语句包括待执行数据,所述第一建表语句用于将所述待执行数据存储至分布式数据库;判断模块,用于判断所述第一建表语句中是否包含第一分布规则;匹配模块,用于若所述第一建表语句中不包含第一分布规则,则从所述分布式数据库预配置的分布规则列表中匹配目标分布规则;补充模块,用于若匹配到目标分布规则,则将所述目标分布规则补充至所述第一建表语句,得到第二建表语句,执行所述第二建表语句,以按照所述目标分布规则将所述待执行数据分发至分布式数据库的多个数据节点。

4、可选地,所述匹配模块包括提取单元,用于提取所述待执行数据的各源数据表的第一表名;查找单元,用于从所述分布规则列表中查找第二表名与所述第一表名匹配的第二分布规则,并将所述第二分布规则作为目标分布规则,其中,所述分布规则列表中的每一条分布规则包括与分布规则对应的第二表名。

5、可选地,所述查找单元包括查找子单元,用于从所述分布规则列表中的首个分布规则开始匹配,依次执行以下步骤,直到匹配到第二分布规则,则将所述第二分布规则作为目标分布规则,或者直到所述分布规则列表中的最后一个分布规则:判断当前分布规则的第二表名是否包含所述第一表名,若当前分布规则的第二表名包含所述第一表名,则确定所述当前分布规则为第二分布规则,若当前分布规则的第二表名不包含所述第一表名,则将下一个分布规则确定为当前分布规则。

6、可选地,所述补充模块还包括补充单元,用于若在所述分布式数据库预配置的分布规则列表中未匹配到目标分布规则,则检测所述分布式数据库的默认分布规则是否启用;在所述分布式数据库的默认分布规则启用时,获取所述默认分布规则,将所述默认分布规则补充至所述第一建表语句,得到第三建表语句,执行所述第三建表语句,以按照所述默认分布规则将所述待执行数据分发至分布式数据库的多个数据节点。

7、可选地,所述补充模块还包括第一执行单元,用于在执行所述第三建表语句时,获取所述第三建表语句中默认分布规则的默认分发策略、默认拆分规则和默认分片规则;基于所述默认分发策略、所述默认拆分规则和默认分片规则,将所述待执行数据分发至所述分布式数据库的所有的数据节点。

8、可选地,所述补充模块还包括第二执行单元,用于在执行所述第二建表语句时,获取所述第二建表语句中目标分布规则的哈希分发策略、拆分规则和第一分片规则;获取所述拆分规则的指定拆分字段,以及所述第一分片规则指定的若干个第一数据节点;基于所述哈希分发策略、所述指定拆分字段、将所述待执行数据分发至所述第一数据节点。

9、可选地,所述补充模块还包括第三执行单元,用于在执行所述第二建表语句时,获取所述第二建表语句中目标分布规则的副本复制分发策略和第二分片规则;获取所述第二分片规则指定的若干个第二数据节点;基于所述副本复制分发策略,将所述待执行数据分发至所述第二数据节点。

10、根据本申请的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项装置实施例中的步骤。

11、根据本申请的又一个实施例,还提供了一种电子装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。

12、根据本申请的又一个实施例,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。

13、通过本申请实施例,接收第一建表语句,第一建表语句包括待执行数据,第一建表语句用于将待执行数据存储至分布式数据库,判断第一建表语句中是否包含第一分布规则,若第一建表语句中不包含第一分布规则,则从分布式数据库预配置的分布规则列表中匹配目标分布规则,若匹配到目标分布规则,则将目标分布规则补充至第一建表语句,得到第二建表语句,执行第二建表语句,以按照目标分布规则将待执行数据分发至分布式数据库的多个数据节点,在分布式数据库接收到不携带分布规则的建表语句时,分布式数据库内部根据配置自动化补齐携带目标分布规则的建表语句并执行,从而解决当前数据库系统在同步或迁移数据时,由于无法由外部生态工具指定分布式数据库的分发语法的问题。

本文档来自技高网...

【技术保护点】

1.一种数据库的数据分发方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,从所述分布式数据库预配置的分布规则列表中匹配目标分布规则包括:

3.根据权利要求2所述的方法,其特征在于,从所述分布规则列表中查找第二表名与所述第一表名匹配的第二分布规则,并将所述第二分布规则作为目标分布规则包括:

4.根据权利要求1所述的方法,其特征在于,在从所述分布式数据库预配置的分布规则列表中匹配目标分布规则之后,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,执行所述第三建表语句,以按照所述默认分布规则将所述待执行数据分发至分布式数据库的多个数据节点包括:

6.根据权利要求1所述的方法,其特征在于,执行所述第二建表语句,以按照所述目标分布规则将所述待执行数据分发至分布式数据库的多个数据节点包括:

7.根据权利要求1所述的方法,其特征在于,执行所述第二建表语句,以按照所述目标分布规则将所述待执行数据分发至分布式数据库的多个数据节点包括:

8.一种数据库的数据分发装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:

10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至7中任一项所述的数据库的数据分发方法。

...

【技术特征摘要】

1.一种数据库的数据分发方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,从所述分布式数据库预配置的分布规则列表中匹配目标分布规则包括:

3.根据权利要求2所述的方法,其特征在于,从所述分布规则列表中查找第二表名与所述第一表名匹配的第二分布规则,并将所述第二分布规则作为目标分布规则包括:

4.根据权利要求1所述的方法,其特征在于,在从所述分布式数据库预配置的分布规则列表中匹配目标分布规则之后,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,执行所述第三建表语句,以按照所述默认分布规则将所述待执行数据分发至分布式数据库的多个数据节点包括:

6.根...

【专利技术属性】
技术研发人员:王静方沛马玉伟
申请(专利权)人:金篆信科有限责任公司
类型:发明
国别省市:

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

1