基于数据集的数据库代理方法及装置制造方法及图纸

技术编号:32362574 阅读:19 留言:0更新日期:2022-02-20 03:32
基于数据集的数据库代理方法及装置,接收用户端的数据库访问请求,数据库访问请求中包括SQL语句、数据库hash分表的字段值和所属数据集参数;根据SQL参数进行SQL语句的预处理,并对预处理后的SQL语句添加主库标志位;在分库分表信息的配置库缓存表管理中进行统一的数据路由和数据定位,定位到相关的数据库实例上,数据库实例再进行读写分离以及主从库之间的负载均衡;唤醒数据库访问请求的数据路由到目标数据库的处理线程池,通过处理线程池维持数据库实例的长链接;在数据库实例上执行SQL语句;将数据库实例的反馈结果返回给请求的用户端。本发明专利技术让使用者可以更加容易的与数据库进行交互,提高了数据库的安全性。提高了数据库的安全性。提高了数据库的安全性。

【技术实现步骤摘要】
基于数据集的数据库代理方法及装置


[0001]本专利技术涉及一种基于数据集的数据库代理方法及装置,属于数据库


技术介绍

[0002]数据库是文件的集合,是依照某种数据模型组织起来并存放于二级存储器中的数据集合。而数据库实例是程序,是位于用户和操作系统之间的一层数据管理软件,用户对数据库中的数据做任何的操作,包括数据定义、数据查询、数据维护、数据库运行控制等,都是在数据库实例下进行的,应用程序只有通过数据库实例才能和数据库交互。代理是处理双方连接通信的软件,在数据库的语境中,代理是位于应用程序和数据库的中间层,应用程序连接到代理,代理将连接转发到数据库。
[0003]现阶段,在如今大数据背景下,有越多越多的数据需要存储,相应的也产生了越来越多数据存储方案。当然传统的关系型数据库是必不可少的一部分,对于传统关系型数据库的代理也有很多,这些组件服务虽然也能提供数据库代理服务,但是也有相应的弊端:(1)使用难度高,有的需要侵入原有系统,增加了使用的复杂度;(2)缺乏账户管理,以及账户安全的加密;(3)不支持数据集管理以及聚合操作。综上,亟需一种新的数据库代理技术方案。

技术实现思路

[0004]为此,本专利技术提供一种基于数据集的数据库代理方法及装置,降低用户使用数据库的难度,增强数据库的高性能和高可用性。
[0005]为了实现上述目的,本专利技术提供如下技术方案:基于数据集的数据库代理方法,包括以下步骤:
[0006]接收用户端的数据库访问请求,所述数据库访问请求中包括SQL语句、数据库hash分表的字段值和所属数据集参数;
[0007]接收用户端的数据库访问请求后,根据SQL参数进行SQL语句的预处理,并对预处理后的SQL语句添加主库标志位;
[0008]根据所述数据库访问请求中的SQL语句、数据库hash分表的字段值和所属数据集,以及对SQL语句的预处理后结果,在分库分表信息的配置库缓存表管理中进行统一的数据路由和数据定位,定位到相关的数据库实例上,数据库实例再进行读写分离以及主从库之间的负载均衡;
[0009]唤醒所述数据库访问请求的数据路由到目标数据库的处理线程池,通过所述处理线程池维持数据库实例的长链接;处理线程池将SQL语句发送到数据库实例上进行SQL语句的执行;
[0010]将数据库实例的反馈结果返回给请求的用户端,做出所述数据库访问请求的请求响应。
[0011]作为基于数据集的数据库代理方法的优选方案,通过数据库代理服务器接收用户
端的数据库访问请求,所述数据库代理服务器接收用户端的数据库访问请求后,根据SQL参数进行SQL语句的预处理,并对预处理后的SQL语句添加主库标志位。
[0012]作为基于数据集的数据库代理方法的优选方案,根据SQL参数进行SQL语句的预处理包括语法检测和语句分析整理。
[0013]作为基于数据集的数据库代理方法的优选方案,所述数据库代理服务器加载业务方的配置表到缓存中,所述配置表中包括分库分表信息以及数据库实例信息;
[0014]分库分表的配置库缓存按照预设的周期进行检测更新。
[0015]作为基于数据集的数据库代理方法的优选方案,根据是否带有所述主库标志位及主从库数量配置进行主从库之间的读写分离;并对读请求在主从库之间进行负载均衡,确定目标数据库信息。
[0016]作为基于数据集的数据库代理方法的优选方案,数据库实例的反馈结果还包括异常返回的错误信息,将数据库实例异常返回的错误信息返回给请求的用户端。
[0017]本专利技术还提供一种基于数据集的数据库代理装置,包括:
[0018]访问请求接收模块,用于接收用户端的数据库访问请求,所述数据库访问请求中包括SQL语句、数据库hash分表的字段值和所属数据集参数;
[0019]SQL预处理模块,用于接收用户端的数据库访问请求后,根据SQL参数进行SQL语句的预处理,并对预处理后的SQL语句添加主库标志位;
[0020]数据交互模块,用于根据所述数据库访问请求中的SQL语句、数据库hash分表的字段值和所属数据集,以及对SQL语句的预处理后结果,在分库分表信息的配置库缓存表管理中进行统一的数据路由和数据定位,定位到相关的数据库实例上,数据库实例再进行读写分离以及主从库之间的负载均衡;
[0021]线程池唤醒模块,用于唤醒所述数据库访问请求的数据路由到目标数据库的处理线程池,通过所述处理线程池维持数据库实例的长链接;
[0022]SQL执行模块,用于在处理线程池被唤醒后,处理线程池将SQL语句发送到数据库实例上进行SQL语句的执行;
[0023]访问响应模块,用于将数据库实例的反馈结果返回给请求的用户端,做出所述数据库访问请求的请求响应。
[0024]作为基于数据集的数据库代理装置的优选方案,所述访问请求接收模块中,通过数据库代理服务器接收用户端的数据库访问请求;
[0025]所述SQL预处理模块中,数据库代理服务器接收用户端的数据库访问请求后,根据SQL参数进行SQL语句的预处理,并对预处理后的SQL语句添加主库标志位;
[0026]所述SQL预处理模块中,根据SQL参数进行SQL语句的预处理包括语法检测和语句分析整理。
[0027]作为基于数据集的数据库代理装置的优选方案,还包括业务方配置模块,用于所述数据库代理服务器加载业务方的配置表到缓存中,所述配置表中包括分库分表信息以及数据库实例信息。
[0028]作为基于数据集的数据库代理装置的优选方案,还包括缓存更新模块,用于分库分表的配置库缓存按照预设的周期进行检测更新。
[0029]作为基于数据集的数据库代理装置的优选方案,所述数据交互模块中,根据是否
带有所述主库标志位及主从库数量配置进行主从库之间的读写分离;并对读请求在主从库之间进行负载均衡,确定目标数据库信息;
[0030]所述访问响应模块中,数据库实例的反馈结果还包括异常返回的错误信息,将数据库实例异常返回的错误信息返回给请求的用户端。
[0031]本专利技术具有如下优点:通过接收用户端的数据库访问请求,数据库访问请求中包括SQL语句、数据库hash分表的字段值和所属数据集参数;接收用户端的数据库访问请求后,根据SQL参数进行SQL语句的预处理,并对预处理后的SQL语句添加主库标志位;根据数据库访问请求中的SQL语句、数据库hash分表的字段值和所属数据集,以及对SQL语句的预处理后结果,在分库分表信息的配置库缓存表管理中进行统一的数据路由和数据定位,定位到相关的数据库实例上,数据库实例再进行读写分离以及主从库之间的负载均衡;唤醒数据库访问请求的数据路由到目标数据库的处理线程池,通过处理线程池维持数据库实例的长链接;处理线程池将SQL语句发送到数据库实例上进行SQL语句的执行;将数据库实例的反馈结果返回给请求的用户端,做出数据库访问请求的请求响应。本专利技术让使用者可以更加容易的与数据库进行交互,像使用单库单表一样;维本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于数据集的数据库代理方法,其特征在于,包括以下步骤:接收用户端的数据库访问请求,所述数据库访问请求中包括SQL语句、数据库hash分表的字段值和所属数据集参数;接收用户端的数据库访问请求后,根据SQL参数进行SQL语句的预处理,并对预处理后的SQL语句添加主库标志位;根据所述数据库访问请求中的SQL语句、数据库hash分表的字段值和所属数据集,以及对SQL语句的预处理后结果,在分库分表信息的配置库缓存表管理中进行统一的数据路由和数据定位,定位到相关的数据库实例上,数据库实例再进行读写分离以及主从库之间的负载均衡;唤醒所述数据库访问请求的数据路由到目标数据库的处理线程池,通过所述处理线程池维持数据库实例的长链接;处理线程池将SQL语句发送到数据库实例上进行SQL语句的执行;将数据库实例的反馈结果返回给请求的用户端,做出所述数据库访问请求的请求响应。2.根据权利要求1所述的基于数据集的数据库代理方法,其特征在于,通过数据库代理服务器接收用户端的数据库访问请求,所述数据库代理服务器接收用户端的数据库访问请求后,根据SQL参数进行SQL语句的预处理,并对预处理后的SQL语句添加主库标志位。3.根据权利要求2所述的基于数据集的数据库代理方法,其特征在于,根据SQL参数进行SQL语句的预处理包括语法检测和语句分析整理。4.根据权利要求2所述的基于数据集的数据库代理方法,其特征在于,所述数据库代理服务器加载业务方的配置表到缓存中,所述配置表中包括分库分表信息以及数据库实例信息;分库分表的配置库缓存按照预设的周期进行检测更新。5.根据权利要求4所述的基于数据集的数据库代理方法,其特征在于,根据是否带有所述主库标志位及主从库数量配置进行主从库之间的读写分离;并对读请求在主从库之间进行负载均衡,确定目标数据库信息。6.据权利要求1所述的基于数据集的数据库代理方法,其特征在于,数据库实例的反馈结果还包括异常返回的错误信息,将数据库实例异常返回的错误信息返回给请求的用户端。7.基于数据集的数据库代理装置,其特征在于,包括:访问请求接收模块,用于接收用户端的数据库访问请求...

【专利技术属性】
技术研发人员:赵景石施王兴杜晓祥
申请(专利权)人:北京云上曲率科技有限公司
类型:发明
国别省市:

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

1