一种基于分库分表的数据访问方法、装置、设备和介质制造方法及图纸

技术编号:37786670 阅读:29 留言:0更新日期:2023-06-09 09:17
本发明专利技术公开了一种基于分库分表的数据访问方法、装置、设备和介质,方法包括:从配置单元中读取分库分表规则,并将所述分库分表规则加载到内存中;接收数据访问请求,获取所述数据访问请求中的分库分表变量信息,并将所述分库分表变量信息存储到线程的上下文中,以便线程在执行SQL语句时从上下文中读取所述分库分表变量信息;将所述分库分表信息与所述分库分表规则进行匹配计算,并将所述SQL语句路由到对应的分库分表上执行数据访问。本发明专利技术通过将数据访问请求触发线程的上下文中的分库分表变量信息,再基于分库分表规则转发到具体的数据源和分表上执行SQL,实现不依赖于SQL解析进行的路由转发,提高了数据访问性能。提高了数据访问性能。提高了数据访问性能。

【技术实现步骤摘要】
一种基于分库分表的数据访问方法、装置、设备和介质


[0001]本专利技术属于数据处理
,具体涉及一种基于分库分表的数据访问方法、装置、设备和介质。

技术介绍

[0002]随着信息化社会的发展,人们越来越习惯于使用网络来进行业务,使得通过网络进行的业务的数量在不断增加,而将大量数据保存在一个数据库或者数据表中的方法,会使数据库的运行效率大大降低,所以人们开始采用分库分表技术,即将数据库中的一个数据表根据预设的规则拆分为多个数据库中的多个分表,以解决单一数据库和数据表的性能瓶颈问题。
[0003]但是,现有的分库分表的数据访问方法,需要对SQL(Structured Query Language,结构化查询语言)语句进行解析,即获取SQL中分库分表的字段的值,并根据预设的分库分表规则,将SQL语句转发到对应的数据库执行,然而,上述依赖于SQL解析的方法,在数据请求并发量高的时候,将导致数据访问系统性能不稳定,对于复杂SQL的解析可能无法100%解析成功,或者解析存在限制的问题。

技术实现思路

[0004]本专利技术的目本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于分库分表的数据访问方法,其特征在于,包括:从配置单元中读取分库分表规则,并将所述分库分表规则加载到内存中;接收数据访问请求,获取所述数据访问请求中的分库分表变量信息,并将所述分库分表变量信息存储到线程的上下文中,以便线程在执行SQL语句时从上下文中读取所述分库分表变量信息;将所述分库分表信息与所述分库分表规则进行匹配计算,并将所述SQL语句路由到对应的分库分表上执行数据访问。2.根据权利要求1所述的基于分库分表的数据访问方法,其特征在于,从配置单元中读取分库分表规则,并将所述分库分表规则加载到内存中,包括:在启动过程中,从配置文件或配置中心读取分库分表规则,并将所述分库分表规则加载到内存中进行存储。3.根据权利要求1所述的基于分库分表的数据访问方法,其特征在于,所述分库分表规则包括分库分表变量字段、分库分表的数量以及分库分表的类型。4.根据权利要求1所述的基于分库分表的数据访问方法,其特征在于,接收数据访问请求,获取所述数据访问请求中的分库分表变量信息,并将所述分库分表变量信息存储到线程的上下文中,包括:接收前端发送的http数据访问请求,至少获取所述http数据访问请求中的租户信息和时间信息,将所述租户信息和所述时间信息存储到线程的上下文中,其中,线程包括同步线程和异步线程。5.根据权利要求1所述的基于分库分表的数据访问方法,其特征在于,线程在执行SQL语句时从上下文中读取所述分库分表变量信息,包括:在执行SQL语句前,通过代理程序对SQL语句进行拦截以及从上下文中读取所述分库分表变量信息,以便将所...

【专利技术属性】
技术研发人员:张昆李保进熊学武韦利东
申请(专利权)人:成都泛微网络科技有限公司
类型:发明
国别省市:

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

1