[发明专利]SpringBoot框架下数据源动态切换方法、装置、设备及存储介质在审

专利信息
申请号: 201910482969.X 申请日: 2019-06-04
公开(公告)号: CN110209438A 公开(公告)日: 2019-09-06
发明(设计)人: 向琪;李伟;袁游 申请(专利权)人: 武汉神算云信息科技有限责任公司
主分类号: G06F9/445 分类号: G06F9/445;G06F9/448;H04L29/08
代理公司: 武汉明正专利代理事务所(普通合伙) 42241 代理人: 江沣
地址: 430000 湖北省武汉市江汉区武汉*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 多数据源 配置文件 配置中心 动态切换 业务项目 数据源 配置 集合 读取 存储介质 存放地址 重新生成 客户端 推送 调用 抽取 仓库 创建 继承
【说明书】:

发明实施例提供了一种SpringBoot框架下数据源动态切换方法及设备。所述方法包括:创建配置中心项目,以Git为配置仓库,在所述配置中心项目中设置Git配置文件存放地址,并设置所述Git配置文件的参数,对多数据源配置文件进行多数据源lookup键值的设置,将设置后的多数据源配置文件推送至所述Git中;以业务项目作为配置中心客户端,在bootstrap配置文件中设置需要读取的配置中心地址及配置中心参数,在所述业务项目中对所述多数据源配置文件进行动态切换,调用所述业务项目的刷新接口,获取所述多数据源配置文件的配置;抽取AbstractRoutingDataSource继承类的实例,根据所述多数据源配置文件的配置,重新生成多数据源集合,并对所述多数据源集合重新赋值。本发明可以实现多数据源之间的切换。

技术领域

本发明实施例涉及数据处理技术领域,尤其涉及一种SpringBoot框架下数据源动态切换方法、装置、设备及存储介质。

背景技术

多租户提供服务的系统是典型的SAAS(Software-as-a-Service,软件即服务)系统,各租户之间数据源按数据库进行隔离,保证了各租户业务数据的独立、安全以及稳定。故系统中存在多个数据源的情况,同时需要按照当前使用者所属租户的不同动态切换数据源,以访问租户所对应的数据源来保证数据的正确性。在SpringBoot系统中多数据源动态切换的方案一般为:继承 AbstractRoutingDataSource类,该类是Spring底层提供的可以通过一个lookup 健值路由数据源的抽象类,是多数据源能够动态切换的核心部件。实现AbstractRoutingDataSource类中的determineCurrentLookupKey方法,该方法返回一个lookup健值来决定最终使用哪个数据源来进行操作,返回的lookup 健值的数据类型必须和存储的多数据源集合中lookup健值保持一致。这里一般通过ThreadLocal线程变量来实现该方法。设置AbstractRoutingDataSource 继承类的targetDataSources和defaultTargetDataSource属性。其中 targetDataSources为多数据源集合,数据类型为Map<Object,Object>,key即为lookup健值,值为数据源DataSource的具体实现。defaultTargetDataSource 为默认数据源的具体实现。数据源的配置一般存放于项目的配置文件中,项目启动时从配置文件读取配置并实例化为具体实现。使用AOP面向切面技术在执行事务方法前根据条件设置ThreadLocal线程变量进行数据源的切换。

虽然上述方案在即有的配置下可以实现多数据源的动态切换,但是在多数据源变更(新增、减少租户或租户数据源调整)的情况下,不能及时的动态进行调整,需要重新将项目打包并进行发布。因此,找到一种在不修改代码的前提下自动获取最新的数据源配置,并通过重写刷新接口,可以在不重新启动业务项目的情况下,动态调整多数据源的配置,实现多数据源之间切换的方法,就成为业界亟待解决的技术问题。

发明内容

针对现有技术存在的上述问题,本发明实施例提供了一种SpringBoot框架下数据源动态切换方法及设备。

第一方面,本发明的实施例提供了一种SpringBoot框架下数据源动态切换方法,包括:创建配置中心项目,以Git为配置仓库,在所述配置中心项目中设置Git配置文件存放地址,并设置所述Git配置文件的参数,对多数据源配置文件进行多数据源lookup键值的设置,将设置后的多数据源配置文件推送至所述Git中;以业务项目作为配置中心客户端,在bootstrap配置文件中设置需要读取的配置中心地址及配置中心参数,在所述业务项目中对所述多数据源配置文件进行动态切换,调用所述业务项目的刷新接口,获取所述多数据源配置文件的配置;抽取AbstractRoutingDataSource继承类的实例,根据所述多数据源配置文件的配置,重新生成多数据源集合,并对所述多数据源集合重新赋值。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉神算云信息科技有限责任公司,未经武汉神算云信息科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910482969.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top