[发明专利]一种分库分表方法、装置、电子设备及存储介质在审
申请号: | 202111398776.X | 申请日: | 2021-11-19 |
公开(公告)号: | CN114138777A | 公开(公告)日: | 2022-03-04 |
发明(设计)人: | 程康;杨旭荣 | 申请(专利权)人: | 深信服科技股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/242 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 周艳;徐川 |
地址: | 518055 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分库分表 方法 装置 电子设备 存储 介质 | ||
本申请公开了一种分库分表方法、装置、电子设备及存储介质。其中,分库分表方法包括:接收应用程序发送的第一请求,第一请求用于请求基于第一编程语言进行分库分表操作。基于第一请求,调用第一API,第一API用于实现基于所述第一编程语言进行分库分表操作。通过第一API,对应用程序发送的第一SQL执行分库分表操作,获得第一SQL对应的分库分表处理结果,将第一SQL对应的分库分表处理处理结果发送给应用程序。
技术领域
本申请涉及数据库技术领域,尤其涉及一种分库分表方法、装置、电子设备及存储介质。
背景技术
如果单个数据库或单个数据表存储的数据量过多,在应用程序对这样的数据库或数据表进行读写操作时,需要较长的响应时间,严重影响应用程序对数据库和/或数据表的性能需求,因此,需要进行分库分表操作。相关技术中,主要存在两类分库分表方式,第一种是基于代理/中间件的分库分表方式,第二种是基于软件开发工具包(SDK,SoftwareDevelopment Kit)的分表分库方式。然而,第一种方式会带来较高的性能损耗;第二种方式与编程语言紧密绑定,如果通过其他类编程语言来实现的话替换成本高昂。
发明内容
有鉴于此,本申请实施例的主要目的在于提供一种分库分表方法、装置、电子设备及存储介质,以解决相关技术中基于代理/中间件的分库分表方法引起的性能损耗高的问题,和基于SDK的分库分表方法仅支持单一编程语言的问题。
为达到上述目的,本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种分库分表方法,所述方法包括:
接收应用程序发送的第一请求;所述第一请求用于请求基于第一编程语言进行分库分表操作;
基于所述第一请求,调用第一应用程序接口(API,Application ProgrammingInterface);所述第一API用于实现基于所述第一编程语言进行分库分表操作;
通过所述第一API,对所述应用程序发送的第一结构化查询语句(SQL,StructuredQuery Language)执行分库分表操作,获得所述第一SQL对应的分库分表处理结果;
将所述第一SQL对应的分库分表处理处理结果发送给所述应用程序。
上述方案中,在所述接收应用程序发送的第一请求之前,所述方法包括:
配置并存储至少一种编程语言中的每种编程语言与对应的API之间的对应关系;
所述基于所述第一请求,调用第一API,包括:
基于所述第一请求携带的第一标识,从所述对应关系中找到与所述第一标识匹配的所述第一API,并调用所述第一API;其中,
所述第一标识用于标识所述第一编程语言。
上述方案中,所述通过所述第一API,对所述应用程序发送的第一SQL执行分库分表操作,获得所述第一SQL对应的分库分表处理结果,包括:
通过所述第一API,拦截并解析所述应用程序发送的第一SQL,获取所述第一SQL对应的目标分库分表规则;
根据所述目标分库分表规则,改写所述第一SQL,得到改写后的第一SQL及对应的至少一个目标数据库和/或至少一个目标数据表;
将所述改写后的第一SQL发送至所述至少一个目标数据库和/或至少一个目标数据库表;
基于所述至少一个目标数据库和/或所述至少一个目标数据表返回的数据,获得所述第一SQL对应的分库分表处理结果。
上述方案中,所述通过所述第一API,拦截并解析所述应用程序发送的第一SQL,获取所述第一SQL对应的目标分库分表规则,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深信服科技股份有限公司,未经深信服科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111398776.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种三维虚拟模型的构建方法和系统
- 下一篇:一种转子生产线