[发明专利]一种基于分库分表的数据访问方法、装置、设备和介质在审
申请号: | 202310115322.X | 申请日: | 2023-02-13 |
公开(公告)号: | CN116226124A | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 张昆;李保进;熊学武;韦利东 | 申请(专利权)人: | 成都泛微网络科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/242;G06F16/27 |
代理公司: | 成都顶峰专利事务所(普通合伙) 51224 | 代理人: | 冉丽 |
地址: | 610000 四川省成都市*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分库分表 数据 访问 方法 装置 设备 介质 | ||
本发明公开了一种基于分库分表的数据访问方法、装置、设备和介质,方法包括:从配置单元中读取分库分表规则,并将所述分库分表规则加载到内存中;接收数据访问请求,获取所述数据访问请求中的分库分表变量信息,并将所述分库分表变量信息存储到线程的上下文中,以便线程在执行SQL语句时从上下文中读取所述分库分表变量信息;将所述分库分表信息与所述分库分表规则进行匹配计算,并将所述SQL语句路由到对应的分库分表上执行数据访问。本发明通过将数据访问请求触发线程的上下文中的分库分表变量信息,再基于分库分表规则转发到具体的数据源和分表上执行SQL,实现不依赖于SQL解析进行的路由转发,提高了数据访问性能。
技术领域
本发明属于数据处理技术领域,具体涉及一种基于分库分表的数据访问方法、装置、设备和介质。
背景技术
随着信息化社会的发展,人们越来越习惯于使用网络来进行业务,使得通过网络进行的业务的数量在不断增加,而将大量数据保存在一个数据库或者数据表中的方法,会使数据库的运行效率大大降低,所以人们开始采用分库分表技术,即将数据库中的一个数据表根据预设的规则拆分为多个数据库中的多个分表,以解决单一数据库和数据表的性能瓶颈问题。
但是,现有的分库分表的数据访问方法,需要对SQL(Structured QueryLanguage,结构化查询语言)语句进行解析,即获取SQL中分库分表的字段的值,并根据预设的分库分表规则,将SQL语句转发到对应的数据库执行,然而,上述依赖于SQL解析的方法,在数据请求并发量高的时候,将导致数据访问系统性能不稳定,对于复杂SQL的解析可能无法100%解析成功,或者解析存在限制的问题。
发明内容
本发明的目的是提供一种数据库的分库分表方法、装置、设备和介质,用以解决现有技术中依赖于SQL解析的方法,在数据请求并发量高的时候,将导致数据访问系统性能不稳定,对于复杂SQL的解析可能无法100%解析成功,或者解析存在限制的技术问题。
为了实现上述目的,本发明采用以下技术方案:
第一方面提供一种基于分库分表的数据访问方法,包括:
从配置单元中读取分库分表规则,并将所述分库分表规则加载到内存中;
接收数据访问请求,获取所述数据访问请求中的分库分表变量信息,并将所述分库分表变量信息存储到线程的上下文中,以便线程在执行SQL语句时从上下文中读取所述分库分表变量信息;
将所述分库分表信息与所述分库分表规则进行匹配计算,并将所述SQL语句路由到对应的分库分表上执行数据访问。
在一种可能的设计中,从配置单元中读取分库分表规则,并将所述分库分表规则加载到内存中,包括:
在启动过程中,从配置文件或配置中心读取分库分表规则,并将所述分库分表规则加载到内存中进行存储。
在一种可能的设计中,所述分库分表规则包括分库分表变量字段、分库分表的数量以及分库分表的类型。
在一种可能的设计中,接收数据访问请求,获取所述数据访问请求中的分库分表变量信息,并将所述分库分表变量信息存储到线程的上下文中,包括:
接收前端发送的http数据访问请求,至少获取所述http数据访问请求中的租户信息和时间信息,将所述租户信息和所述时间信息存储到线程的上下文中,其中,线程包括同步线程和异步线程。
在一种可能的设计中,线程在执行SQL语句时从上下文中读取所述分库分表变量信息,包括:
在执行SQL语句前,通过代理程序对SQL语句进行拦截以及从上下文中读取所述分库分表变量信息,以便将所述分库分表信息与所述分库分表规则进行匹配计算,并将所述SQL语句路由转发到对应的分库分表上执行数据访问。
第二方面提供一种基于分库分表的数据访问装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都泛微网络科技有限公司,未经成都泛微网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310115322.X/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置