基于TDSQL数据库的多数据源切换方法和相关设备技术

技术编号:36351894 阅读:49 留言:0更新日期:2023-01-14 18:07
本发明专利技术提供一种基于TDSQL数据库的多数据源切换方法和相关设备,通过在服务器端预先建立用户信息与机构编码以及TDSQL数据库数据源连接信息之间的映射关系,在用户登录时,基于登录信息确定机构编码以及目标数据库,并对登录用户进行鉴权,鉴权通过时,将机构编码发送至浏览器端,以使得浏览器缓存该机构编码,当登录的用户发起业务请求时,可以直接从浏览器端提取该机构编码,从而实现了用户在登录过程中无需发送和知晓机构编码,方便了用户使用。方便了用户使用。方便了用户使用。

【技术实现步骤摘要】
基于TDSQL数据库的多数据源切换方法和相关设备


[0001]本专利技术涉及金融管理
,具体涉及一种基于TDSQL数据库的多数据源切换方法和相关设备。

技术介绍

[0002]TDSQL数据库是由一款兼容MySQL协议的分布式数据库,业务系统采用TDSQL数据库可以存储数据量巨大的业务数据。
[0003]某业务系统采用B/S模式,是提供给不同机构使用的,当不同机构的用户使用该业务系统时,不同机构的业务数据是需要存储在不同的TDSQL数据库中,同时还不能影响用户正常使用该业务系统。
[0004]现有技术中提供了一种基于Spring Boot在不同环境的数据源接入方案,该方案根据配置文件的类型和环境变量,加载并启动与其相对应的数据访问对象配置组件,然后利用service层的基类和实现类,获取所需的数据源,进而可以访问该数据源连接的数据库。
[0005]申请人经研究发现,基于Spring Boot在不同环境的数据源接入方案需要在除登录请求外的每个业务请求中携带用户所属机构的机构编码,当业务请求中未携带机构编码的情况下,将无法找到对应的TDSQL数据库,无法做到数据源切换,影响用户使用。

技术实现思路

[0006]有鉴于此,本专利技术实施例提供一种基于TDSQL数据库的多数据源切换方法和相关设备,以使得用户无需在每次发送请求时均需要携带机构编码,方便了用户使用。
[0007]为实现上述目的,本专利技术实施例提供如下技术方案:
[0008]一种基于TDSQL数据库的多数据源切换方法,包括:
[0009]在AOP切面中截取用户请求;
[0010]当所述用户请求为登录请求时,由所述登陆请求中直接在预配置文件中匹配提取专门存储用户信息的TDSQL数据库数据源连接信息;
[0011]将所述TDSQL数据库数据源连接信息写入所述用户登陆请求的请求线程,并放行所述用户请求;
[0012]基于所述请求线程中的TDSQL数据库数据源连接信息发起数据库请求,并建立数据库连接;
[0013]采用负载均衡器配置的转发路由,将用户登录请求转发至用于存储用户信息的TDSQL数据库的SQL引擎;
[0014]通过所述SQL引擎将所述用户登录请求转发至数据节点;
[0015]基于所述用户登录请求提取用户信息;
[0016]将提取到的用户信息反馈至应用程序;
[0017]所述应用程序对所述用户信息进行鉴权;
[0018]当鉴权通过时,缓存所述用户信息,并将登陆成功提示信息反馈给浏览器,所述登陆成功提示信息中至少包括机构编码;以使得浏览器在获取到所述登陆成功提示信息后,将所述机构编码缓存在浏览器中;
[0019]当AOP切面中截取的用户请求为业务请求时,由请求的请求报头中获取机构编码,并执行所述业务请求,所述请求报头中的机构编码由浏览器缓存中提取得到。
[0020]可选的,上述基于TDSQL数据库的多数据源切换方法中,所述TDSQL数据库数据源连接信息,包括:
[0021]负责转发数据库请求的负载均衡器地址和端口,通过负载均衡器的不同端口区分不同TDSQL数据库,负载均衡器的对应端口用于将数据库请求转发至对应TDSQL数据库的SQL引擎,再由SQL引擎将请求转发至数据节点。
[0022]可选的,上述基于TDSQL数据库的多数据源切换方法中,执行所述业务请求,包括:
[0023]根据预设配置文件中定义的机构编码与TDSQL数据库数据源之间的对应关系,获取到所述机构编码的TDSQL数据库数据源连接信息,并将所述数据源连接信息写入业务请求对应的请求线程,放行所述业务请求;
[0024]根据所述请求线程中的数据源连接信息发起数据库请求,建立数据库连接;
[0025]采用负载均衡器配置的转发路由,将业务请求转发至与所述机构编码相匹配的TDSQL数据库的SQL引擎;
[0026]TDSQL数据库SQL引擎将业务请求转发至数据节点,获取与所述业务请求相对应业务数据,并反馈至用户终端。
[0027]可选的,上述基于TDSQL数据库的多数据源切换方法中,采用负载均衡器配置的转发路由,将用户登录请求转发至用于存储用户信息的TDSQL数据库的SQL引擎,通过所述SQL引擎将所述用户登录请求转发至数据节点,包括:
[0028]由至少1个负载均衡器中选择一个负载均衡器配置的转发路由,将用户登录请求转发至用于存储用户信息的TDSQL数据库的SQL引擎,通过所述SQL引擎将所述用户登录请求转发至数据节点,其中,当所述负载均衡器的数量大于1个时,多个负载均衡器的各个端口号相同或不同,当所述负载均衡器的数量为1个时,负载均衡器的各个端口号不相同。
[0029]一种基于TDSQL数据库的多数据源切换装置,包括:
[0030]用户请求获取单元,用于在AOP切面中截取用户请求;
[0031]登陆请求处理单元,用于当所述用户请求为用户登陆请求时,建立所述用户登陆请求对应的请求线程;由所述登陆请求中直接在预配置文件中匹配提取专门存储用户信息的TDSQL数据库数据源连接信息;将所述TDSQL数据库数据源连接信息写入所述用户登陆请求的请求线程,并放行所述用户请求;基于所述请求线程中的TDSQL数据库数据源连接信息发起数据库请求,并建立数据库连接;采用负载均衡器配置的转发路由,将用户登录请求转发至用于存储用户信息的TDSQL数据库的SQL引擎;通过所述SQL引擎将所述用户登录请求转发至数据节点;基于所述用户登录请求提取用户信息;将提取到的用户信息反馈至应用程序;所述应用程序对所述用户信息进行鉴权;当鉴权通过时,缓存所述用户信息,并将登陆成功提示信息反馈给浏览器,所述登陆成功提示信息中至少包括机构编码;
[0032]缓存单元,用于浏览器在获取到所述登陆成功提示信息后,将所述机构编码缓存在浏览器中;
[0033]业务处理单元,用于当AOP切面中截取的用户请求为业务请求时,由请求的请求报头中获取机构编码,并执行所述业务请求,所述请求报头中的机构编码由浏览器缓存的用户信息中提取得到,在执行所述业务请求时,采用负载均衡器根据配置的转发路由,将业务请求转发至用于存储用户信息的TDSQL数据库的SQL引擎,通过所述SQL引擎将所述业务请求转发至数据节点。
[0034]可选的,上述基于TDSQL数据库的多数据源切换装置中,所述TDSQL数据库数据源连接信息,包括:
[0035]负责转发数据库请求的负载均衡器地址和端口,通过负载均衡器的不同端口区分不同TDSQL数据库,负载均衡器的对应端口用于将数据库请求转发至对应TDSQL数据库的SQL引擎,再由SQL引擎将请求转发至数据节点。
[0036]可选的,上述基于TDSQL数据库的多数据源切换装置中,所述业务处理单元在执行所述业务请求时,具体用于:
[0037]根据预设配置文件中定义的机构编码与TDSQL数据库数据源之间的对应关系,获取到本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于TDSQL数据库的多数据源切换方法,其特征在于,包括:在AOP切面中截取用户请求;当所述用户请求为登录请求时,由所述登陆请求中直接在预配置文件中匹配提取专门存储用户信息的TDSQL数据库数据源连接信息;将所述TDSQL数据库数据源连接信息写入所述用户登陆请求的请求线程,并放行所述用户请求;基于所述请求线程中的TDSQL数据库数据源连接信息发起数据库请求,并建立数据库连接;采用负载均衡器配置的转发路由,将用户登录请求转发至用于存储用户信息的TDSQL数据库的SQL引擎;通过所述SQL引擎将所述用户登录请求转发至数据节点;基于所述用户登录请求提取用户信息;将提取到的用户信息反馈至应用程序;所述应用程序对所述用户信息进行鉴权;当鉴权通过时,缓存所述用户信息,并将登陆成功提示信息反馈给浏览器,所述登陆成功提示信息中至少包括机构编码;以使得浏览器在获取到所述登陆成功提示信息后,将所述机构编码缓存在浏览器中;当AOP切面中截取的用户请求为业务请求时,由请求的请求报头中获取机构编码,并执行所述业务请求,所述请求报头中的机构编码由浏览器缓存中提取得到。2.根据权利要求1所述的基于TDSQL数据库的多数据源切换方法,其特征在于,所述TDSQL数据库数据源连接信息,包括:负责转发数据库请求的负载均衡器地址和端口,通过负载均衡器的不同端口区分不同TDSQL数据库,负载均衡器的对应端口用于将数据库请求转发至对应TDSQL数据库的SQL引擎,再由SQL引擎将请求转发至数据节点。3.根据权利要求1所述的基于TDSQL数据库的多数据源切换方法,其特征在于,执行所述业务请求,包括:根据预设配置文件中定义的机构编码与TDSQL数据库数据源之间的对应关系,获取到所述机构编码的TDSQL数据库数据源连接信息,并将所述数据源连接信息写入业务请求对应的请求线程,放行所述业务请求;根据所述请求线程中的数据源连接信息发起数据库请求,建立数据库连接;采用负载均衡器配置的转发路由,将业务请求转发至与所述机构编码相匹配的TDSQL数据库的SQL引擎;TDSQL数据库SQL引擎将业务请求转发至数据节点,获取与所述业务请求相对应业务数据,并反馈至用户终端。4.根据权利要求1所述的基于TDSQL数据库的多数据源切换方法,其特征在于,采用负载均衡器配置的转发路由,将用户登录请求转发至用于存储用户信息的TDSQL数据库的SQL引擎,通过所述SQL引擎将所述用户登录请求转发至数据节点,包括:由至少1个负载均衡器中选择一个负载均衡器配置的转发路由,将用户登录请求转发至用于存储用户信息的TDSQL数据库的SQL引擎,通过所述SQL引擎将所述用户登录请求转
发至数据节点,其中,当所述负载均衡器的数量大于1个时,多个负载均衡器的各个端口号相同或不同,当所述负载均衡器的数量为1个时,负载均衡器的各个端口号不相同。5.一种基于TDSQL数据库的多数据源切换装置,其特征在于,包括:用户请求获取单元,用于在AOP切面中截取用户请求;登陆请求处理单元,用于当所述用户请求为用户登陆请求时,建立所述用户登陆请求对应的请求线程;由所述登陆请求中直接在预配置文件中匹配提取专门存储用户信息的TDSQL数据库数据源连接信息;将所述TDSQL数据库数据源连接信息写入所述用户登陆请求的请求线程,并放行所述...

【专利技术属性】
技术研发人员:鄢勇张艺馨姜精萍王洋洋
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:

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

1