[发明专利]基于TDSQL数据库的多数据源切换方法和相关设备在审
申请号: | 202211332659.8 | 申请日: | 2022-10-28 |
公开(公告)号: | CN115599864A | 公开(公告)日: | 2023-01-13 |
发明(设计)人: | 鄢勇;张艺馨;姜精萍;王洋洋 | 申请(专利权)人: | 中国农业银行股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/28;G06F16/2455;G06F16/242;G06F21/31 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 林哲生 |
地址: | 100005 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 tdsql 数据库 多数 切换 方法 相关 设备 | ||
本发明提供一种基于TDSQL数据库的多数据源切换方法和相关设备,通过在服务器端预先建立用户信息与机构编码以及TDSQL数据库数据源连接信息之间的映射关系,在用户登录时,基于登录信息确定机构编码以及目标数据库,并对登录用户进行鉴权,鉴权通过时,将机构编码发送至浏览器端,以使得浏览器缓存该机构编码,当登录的用户发起业务请求时,可以直接从浏览器端提取该机构编码,从而实现了用户在登录过程中无需发送和知晓机构编码,方便了用户使用。
技术领域
本发明涉及金融管理技术领域,具体涉及一种基于TDSQL数据库的多数据源切换方法和相关设备。
背景技术
TDSQL数据库是由一款兼容MySQL协议的分布式数据库,业务系统采用TDSQL数据库可以存储数据量巨大的业务数据。
某业务系统采用B/S模式,是提供给不同机构使用的,当不同机构的用户使用该业务系统时,不同机构的业务数据是需要存储在不同的TDSQL数据库中,同时还不能影响用户正常使用该业务系统。
现有技术中提供了一种基于Spring Boot在不同环境的数据源接入方案,该方案根据配置文件的类型和环境变量,加载并启动与其相对应的数据访问对象配置组件,然后利用service层的基类和实现类,获取所需的数据源,进而可以访问该数据源连接的数据库。
申请人经研究发现,基于Spring Boot在不同环境的数据源接入方案需要在除登录请求外的每个业务请求中携带用户所属机构的机构编码,当业务请求中未携带机构编码的情况下,将无法找到对应的TDSQL数据库,无法做到数据源切换,影响用户使用。
发明内容
有鉴于此,本发明实施例提供一种基于TDSQL数据库的多数据源切换方法和相关设备,以使得用户无需在每次发送请求时均需要携带机构编码,方便了用户使用。
为实现上述目的,本发明实施例提供如下技术方案:
一种基于TDSQL数据库的多数据源切换方法,包括:
在AOP切面中截取用户请求;
当所述用户请求为登录请求时,由所述登陆请求中直接在预配置文件中匹配提取专门存储用户信息的TDSQL数据库数据源连接信息;
将所述TDSQL数据库数据源连接信息写入所述用户登陆请求的请求线程,并放行所述用户请求;
基于所述请求线程中的TDSQL数据库数据源连接信息发起数据库请求,并建立数据库连接;
采用负载均衡器配置的转发路由,将用户登录请求转发至用于存储用户信息的TDSQL数据库的SQL引擎;
通过所述SQL引擎将所述用户登录请求转发至数据节点;
基于所述用户登录请求提取用户信息;
将提取到的用户信息反馈至应用程序;
所述应用程序对所述用户信息进行鉴权;
当鉴权通过时,缓存所述用户信息,并将登陆成功提示信息反馈给浏览器,所述登陆成功提示信息中至少包括机构编码;以使得浏览器在获取到所述登陆成功提示信息后,将所述机构编码缓存在浏览器中;
当AOP切面中截取的用户请求为业务请求时,由请求的请求报头中获取机构编码,并执行所述业务请求,所述请求报头中的机构编码由浏览器缓存中提取得到。
可选的,上述基于TDSQL数据库的多数据源切换方法中,所述TDSQL数据库数据源连接信息,包括:
负责转发数据库请求的负载均衡器地址和端口,通过负载均衡器的不同端口区分不同TDSQL数据库,负载均衡器的对应端口用于将数据库请求转发至对应TDSQL数据库的SQL引擎,再由SQL引擎将请求转发至数据节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国农业银行股份有限公司,未经中国农业银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211332659.8/2.html,转载请声明来源钻瓜专利网。