数据库接入方法技术

技术编号:39713562 阅读:5 留言:0更新日期:2023-12-17 23:22
本申请实施例公开了一种数据库接入方法,方法包括:在代理模块配置服务与主从数据库之间的连接配置信息;连接配置信息用于建立每一服务与每一服务所能访问的数据库之间的通信连接;在获取到目标服务发送的目标数据库请求之后,通过代理模块,确定目标数据库请求的请求类型,并基于请求类型和连接配置信息建立目标服务与目标服务对应的目标数据库之间的通信连接,以实现目标服务与目标数据库之间的数据交互;目标数据库为主从数据库中的主数据库或从数据库

【技术实现步骤摘要】
数据库接入方法、数据库接入设备和计算机可读存储介质


[0001]本申请涉及通信
,尤其涉及一种数据库接入方法

数据库接入设备和计算机可读存储介质


技术介绍

[0002]为提升关系型数据库的并发性能,较多项目在使用关系数据库时会选择采用主从复制

读写分离的架构

相关技术中,在应用层中加入第三方依赖
(
例如,
ShardingProxy)
,以通过第三方依赖实现读写分离

然而,第三方依赖需要以代码的形式与服务进行集成,操作较为繁琐


技术实现思路

[0003]为解决上述技术问题,本申请实施例期望提供一种数据库接入方法

数据库接入设备和计算机可读存储介质,解决了相关技术中的第三方依赖需要以代码的形式与服务进行集成,操作较为繁琐的问题

[0004]本申请的技术方案是这样实现的:
[0005]一种数据库接入方法,所述方法包括:
[0006]在代理模块配置服务与主从数据库之间的连接配置信息;所述连接配置信息用于建立每一服务与所述每一服务所能访问的数据库之间的通信连接;
[0007]在获取到目标服务发送的目标数据库请求之后,通过所述代理模块,确定所述目标数据库请求的请求类型,并基于所述请求类型和所述连接配置信息建立所述目标服务与所述目标服务对应的目标数据库之间的通信连接,以实现所述目标服务与所述目标数据库之间的数据交互;所述目标数据库为所述主从数据库中的主数据库或从数据库

[0008]上述方案中,所述服务包括至少一个初始服务;
[0009]所述在代理模块配置服务与主从数据库之间的连接配置信息,包括:
[0010]接收针对每一所述初始服务的数据库配置信息;
[0011]基于所述数据库配置信息中的数据库类型,确定所述每一初始服务的解析策略;所述解析策略用于解析所述每一初始服务的数据库请求;
[0012]基于所述数据库配置信息和所述解析策略,在所述配置模块配置所述每一初始服务与所述主从数据库之间的连接配置信息

[0013]上述方案中,所述基于所述请求类型和所述连接配置信息建立所述目标服务与所述目标服务对应的目标数据库之间的通信连接,包括:
[0014]基于所述目标服务的解析策略对所述目标数据库请求进行解析,确定所述目标数据库请求的请求类型;
[0015]基于所述请求类型和所述连接配置信息,从所述主从数据库中筛选出所述目标数据库;
[0016]建立所述目标服务与所述目标数据库之间的通信连接

[0017]上述方案中,所述基于所述请求类型和所述连接配置信息,从所述主从数据库中筛选出所述目标数据库,包括:
[0018]在所述请求类型为写类型

且基于所述连接配置信息确定所述目标服务可与主数据库通信的情况下,将所述主数据库作为所述目标数据库;
[0019]在所述请求类型为读类型的情况下,基于所述连接配置信息确定所述目标服务对应的最优从数据库,并将所述最优从数据库作为所述目标数据库

[0020]上述方案中,所述基于所述连接配置信息确定所述目标服务对应的最优从数据库,包括:
[0021]基于所述连接配置信息,确定所述目标服务对应的至少一个从数据库;
[0022]基于所述至少一个从数据库的运行状态,从所述至少一个从数据库中确定所述最优从数据库

[0023]上述方案中,所述基于所述至少一个从数据库的运行状态,从所述至少一个从数据库中确定所述最优从数据库,包括:
[0024]获取所述至少一个从数据库的运行状态;
[0025]基于所述至少一个从数据库的运行状态,确定每一所述从数据库的目标数值;
[0026]基于所述每一从数据库的目标数值,从所述至少一个从数据库中确定所述最优从数据库

[0027]上述方案中,所述获取所述至少一个从数据库的运行状态,包括:
[0028]对所述每一从数据库进行多维度检测,得到所述每一从数据库的运行状态

[0029]上述方案中,所述方法还包括:
[0030]通过所述代理模块的目标组件,获取所述目标数据库请求

[0031]上述方案中,所述方法还包括:
[0032]通过所述通信连接,发送所述目标数据库请求至所述目标数据库;
[0033]通过所述通信连接,将所述目标数据库返回的针对所述目标数据库请求的响应信息发送至所述目标服务

[0034]上述方案中,所述方法还包括:
[0035]在所述目标服务处理完成后,通过所述代理模块,回收所述目标服务与所述目标数据库之间的通信连接

[0036]一种数据库接入设备,所述设备包括:处理器

存储器和通信总线;
[0037]所述通信总线用于实现所述处理器和所述存储器之间的通信连接;
[0038]所述处理器用于执行所述存储器中的数据库接入程序,以实现上述的数据库接入方法的步骤

[0039]一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的数据库接入方法的步骤

[0040]本申请的实施例所提供的数据库接入方法

数据库接入设备和计算机可读存储介质,可以在代理模块配置服务与主从数据库之间的连接配置信息;在获取到目标服务发送的目标数据库请求之后,通过代理模块,确定目标数据库请求的请求类型,并根据请求类型和连接配置信息建立目标服务与目标服务对应的目标数据库之间的通信连接,以实现目标
服务与目标数据库之间的数据交互;目标数据库为主从数据库中的主数据库或从数据库

如此,仅需在配置模块配置服务与主从数据库之间的连接配置信息,通过代理模块反向代理主从数据库,即可通过代理模块判断数据库请求的请求类型,并根据请求类型和连接配置信息建立目标服务与要访问的目标数据库之间的通信连接,实现数据库接入,进而实现服务与数据库之间的数据交互,不需要编写代码

操作简单

也不会对服务层面造成任何影响;并且在主从数据库变更时,仅需修改代理模块的连接配置信息

执行动态重载即可,不会影响当前正在执行的服务,解决了相关技术中的第三方依赖需要以代码的形式与服务进行集成,操作较为繁琐的问题

附图说明
[0041]图1为本申请实施例提供的一种数据库接入方法的流程示意图;
[0042]图2为本申请实施例提供的另一种数据库接入方法的流程示意图;
[0043]图3为本申请实施例提供的又一种数据库接入方法的流程示意图;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据库接入方法,其特征在于,所述方法包括:在代理模块配置服务与主从数据库之间的连接配置信息;所述连接配置信息用于建立每一服务与所述每一服务所能访问的数据库之间的通信连接;在获取到目标服务发送的目标数据库请求之后,通过所述代理模块,确定所述目标数据库请求的请求类型,并基于所述请求类型和所述连接配置信息建立所述目标服务与所述目标服务对应的目标数据库之间的通信连接,以实现所述目标服务与所述目标数据库之间的数据交互;所述目标数据库为所述主从数据库中的主数据库或从数据库
。2.
根据权利要求1所述的方法,其特征在于,所述服务包括至少一个初始服务;所述在代理模块配置服务与主从数据库之间的连接配置信息,包括:接收针对每一所述初始服务的数据库配置信息;基于所述数据库配置信息中的数据库类型,确定所述每一初始服务的解析策略;所述解析策略用于解析所述每一初始服务的数据库请求;基于所述数据库配置信息和所述解析策略,在所述配置模块配置所述每一初始服务与所述主从数据库之间的连接配置信息
。3.
根据权利要求1所述的方法,其特征在于,所述基于所述请求类型和所述连接配置信息建立所述目标服务与所述目标服务对应的目标数据库之间的通信连接,包括:基于所述目标服务的解析策略对所述目标数据库请求进行解析,确定所述目标数据库请求的请求类型;基于所述请求类型和所述连接配置信息,从所述主从数据库中筛选出所述目标数据库;建立所述目标服务与所述目标数据库之间的通信连接
。4.
根据权利要求3所述的方法,其特征在于,所述基于所述请求类型和所述连接配置信息,从所述主从数据库中筛选出所述目标数据库,包括:在所述请求类型为写类型

且基于所述连接配置信息确定所述目标服务可与主数据库通信的情况下,将所述主数据库作为所述目标数据库;在所述请求类型为读类型的情况下,基于所述连接配置信息确定所述目标服务对应的最优从数据库,并将所述最优从数据库作为所述目标数据库
。5.
根据权利要求4所述的方法,其特征在于,所述基于所述连接配置信息确定所述目标服务对应的最优从数据库,包括:...

【专利技术属性】
技术研发人员:靳晓东刘先
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1