数据库的处理方法、装置、电子装置和存储介质制造方法及图纸

技术编号:27360766 阅读:20 留言:0更新日期:2021-02-19 13:42
本申请涉及一种数据库的处理方法、装置、电子装置和存储介质,其中,该处理方法包括:获取结构化查询语言SQL语句并进行解析;利用预设的分片规则配置,获取到该SQL语句中的N个数据库,并获取与该N个数据库相匹配的N个SQL执行结果;其中,N为大于1的自然数;将该N个SQL执行结果进行合并处理,进而得到数据库处理结果。通过本申请,解决了数据库的处理效率低的问题,实现了高效、准确的分表分库数据处理。准确的分表分库数据处理。准确的分表分库数据处理。

【技术实现步骤摘要】
数据库的处理方法、装置、电子装置和存储介质


[0001]本申请涉及数据库
,特别是涉及数据库的处理方法、装置、电子装置和存储介质。

技术介绍

[0002]目前,单一的数据库服务器已经不足以存储所有的数据,所以需要按照一系列规则对数据库做分库分表的处理,以提高数据库操作的性能。在相关技术中,有很多开源框架可以实现分库分表以及数据的迁移,例如Sharding-JDBC,在Java的JDBC层提供的额外服务,它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖。然而,Sharding-JDBC不支持数据迁移,当需要数据迁移时,仍然需要开发者进行额外的大量工作,导致在相关技术中数据库的效率较低。
[0003]针对相关技术中数据库的处理效率低的问题,目前尚未提出有效的解决方案。

技术实现思路

[0004]本申请实施例提供了一种数据库的处理方法、装置、电子装置和存储介质,以至少解决相关技术中数据库的处理效率低的问题。
[0005]第一方面,本申请实施例提供了一种数据库的处理方法,所述方法包括:
[0006]获取结构化查询语言(Structured Query Language,简称为SQL)语句并进行解析;
[0007]利用预设的分片规则配置,获取到所述SQL语句中的N个数据库,并获取与所述N个数据库相匹配的N个SQL执行结果;其中,N为大于1的自然数;
[0008]将所述N个SQL执行结果进行合并处理,进而得到数据库处理结果。
[0009]在其中一些实施例中,所述获取与所述N个数据库相匹配的N个SQL执行结果之后,所述将所述N个SQL执行结果进行合并处理之前,所述方法还包括:
[0010]根据所述分片规则配置,将所述N个数据库的名称,均改写为所述分片规则配置中的规则名称。
[0011]在其中一些实施例中,所述获取SQL语句并进行解析包括:
[0012]获取需要解析的所述SQL语句;
[0013]在根据获取的所述SQL语句检测到需要分库的情况下,根据分库规则对所述SQL语句进行解析;或者,
[0014]在根据获取的所述SQL语句检测到需要分表的情况下,根据分表规则对所述SQL语句进行解析。
[0015]在其中一些实施例中,所述利用预设的分片规则配置,获取所述SQL语句中的N个数据库之前,所述方法还包括:
[0016]在检测到不需要分库且不需要分表的情况下,直接获取所述SQL语句的执行结果,进而得到所述数据库处理结果。
[0017]在其中一些实施例中,所述得到所述数据库处理结果之后,所述方法还包括:
[0018]在利用数据迁移模块进行数据迁移的情况下,通过数据双写得到所述N个数据库之间的同步结果。
[0019]在其中一些实施例中,所述利用预设的分片规则配置,获取所述SQL语句中的N个数据库之前,所述方法还包括:
[0020]将所述分片规则配置、数据源配置、所述数据源配置的代理配置,均注入到项目配置文件中。
[0021]在其中一些实施例中,所述获取与所述N个数据库相匹配的N个SQL执行结果包括:
[0022]利用数据库路由获取所述N个SQL执行结果。
[0023]第二方面,本申请实施例提供了一种数据库的处理装置,所述装置包括:SQL解析模块、分片规则模块和结果模块;
[0024]所述SQL解析模块,用于获取SQL语句并进行解析;
[0025]所述分片规则模块,用于利用预设的分片规则配置,获取到所述SQL语句中的N个数据库,并获取与所述N个数据库相匹配的N个SQL执行结果;其中,N为大于1的自然数;
[0026]所述结果模块,用于将所述N个SQL执行结果进行合并处理,进而得到数据库处理结果。
[0027]第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的数据库的处理方法。
[0028]第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的数据库的处理方法。
[0029]相比于相关技术,本申请实施例提供的一种数据库的处理方法、装置、电子装置和存储介质,通过获取结构化查询语言SQL语句并进行解析;利用预设的分片规则配置,获取到该SQL语句中的N个数据库,并获取与该N个数据库相匹配的N个SQL执行结果;其中,N为大于1的自然数;将该N个SQL执行结果进行合并处理,进而得到数据库处理结果,解决了数据库的处理效率低的问题,实现了高效、准确的分表分库数据处理。
附图说明
[0030]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0031]图1为根据本申请实施例的一种应用场景的示意图;
[0032]图2为根据本申请实施例的一种数据库处理方法的流程图;
[0033]图3为根据本申请实施例的一种分表分库框架的示意图;
[0034]图4为根据本申请实施例的另一种数据库处理方法的流程图;
[0035]图5为根据本申请实施例的又一种数据库处理方法的流程图;
[0036]图6为根据本申请优选实施例的一种数据库处理架构的示意图;
[0037]图7为根据本申请优选实施例的一种数据库处理方法的流程图;
[0038]图8为根据本申请实施例的一种数据库处理装置的结构框图;
[0039]图9为根据本专利技术实施例的一种计算机设备内部的结构图。
具体实施方式
[0040]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的
技术实现思路
的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
[0041]在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
[0042]除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属
内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库的处理方法,其特征在于,所述方法包括:获取结构化查询语言SQL语句并进行解析;利用预设的分片规则配置,获取所述SQL语句中的N个数据库,并获取与所述N个数据库相匹配的N个SQL执行结果;其中,N为大于1的自然数;将所述N个SQL执行结果进行合并处理,进而得到数据库处理结果。2.根据权利要求1所述的处理方法,其特征在于,所述利用预设的分片规则配置,获取所述SQL语句中的N个数据库之后,所述获取与所述N个数据库相匹配的N个SQL执行结果之前,所述方法还包括:根据所述分片规则配置,将所述N个数据库的名称,均改写为所述分片规则配置中的规则名称。3.根据权利要求1所述的处理方法,其特征在于,所述获取结构化查询语言SQL语句并进行解析包括:获取需要解析的所述SQL语句;在根据获取的所述SQL语句检测到需要分库的情况下,根据分库规则对所述SQL语句进行解析;或者,在根据获取的所述SQL语句检测到需要分表的情况下,根据分表规则对所述SQL语句进行解析。4.根据权利要求3所述的处理方法,其特征在于,所述利用预设的分片规则配置,获取所述SQL语句中的N个数据库之前,所述方法还包括:在检测到不需要分库且不需要分表的情况下,直接获取所述SQL语句的执行结果,进而得到所述数据库处理结果。5.根据权利要求1所述的处理方法,其特征在于,所述得到所述数据库处理结果之后,所述方法...

【专利技术属性】
技术研发人员:陈浩翔
申请(专利权)人:杭州大搜车汽车服务有限公司
类型:发明
国别省市:

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

1