一种数据源路由管理方法和装置制造方法及图纸

技术编号:23288097 阅读:24 留言:0更新日期:2020-02-08 18:09
本发明专利技术公开了一种数据源路由管理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:在需要选择数据源的业务方法上添加注解,并在注解的属性中指定数据源标识;通过切面拦截带有注解的业务方法,以通过执行切面中的数据源选择逻辑,得到与数据源标识对应的线程上下文环境变量;业务方法根据线程上下文环境变量,选择与业务方法对应的数据源。该实施方式能够减少重复的数据源选择逻辑代码,减少对业务代码的侵入,降低数据源选择代码与业务代码的耦合度,可以灵活配置动态数据源选择,实现统一管理数据源的动态切换,可以根据指定策略来确定数据源,不仅满足基本管理需求,还可以满足扩展需求,降低集成成本,提高开发效率。

A data source routing management method and device

【技术实现步骤摘要】
一种数据源路由管理方法和装置
本专利技术涉及计算机
,尤其涉及一种数据源路由管理方法和装置。
技术介绍
互联网在现实生活中应用非常广泛,用户可以快速的在互联网上进行信息提取和信息交流,大数据已经成为互联网发展的趋势。MySQL(一种关系型数据库管理系统)作为目前世界上使用最广泛的免费数据库,但在实际的生产环境中,由单台MySQL作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。当我们开始使用MySQL,除了考虑使用分库分表方案,另外就是让master-slave(主从数据库)发挥更大的能量,使slave(从数据库)提供方便快捷的只读服务,以及读写分离的优雅实现。目前采用硬编码的方式实现数据库读写分离,即通过在业务逻辑中通过API(应用程序编程接口)调用方式实现对数据源的选择。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:数据源选择的代码和业务代码耦合度高,对业务实现侵入较高;缺少对数据源动态切换的统一管理;数据源切换设计方案不够完善,仅解决基本的管理需求。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据源路由管理方法和装置,能够减少重复的数据源选择逻辑代码,减少对业务代码的侵入,降低数据源选择代码与业务代码的耦合度,可以灵活配置动态数据源选择,实现统一管理数据源的动态切换,可以根据指定策略来确定数据源,不仅满足基本管理需求,还可以满足扩展需求,降低集成成本,提高开发效率。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据源路由管理方法。一种数据源路由管理方法,包括:在需要选择数据源的业务方法上添加注解,并在所述注解的属性中指定数据源标识;通过切面拦截带有所述注解的业务方法,以通过执行所述切面中的数据源选择逻辑,得到与所述数据源标识对应的线程上下文环境变量;所述业务方法根据所述线程上下文环境变量,选择与所述业务方法对应的数据源。可选地,所述注解添加在所述业务方法的签名处。可选地,通过执行所述切面中的数据源选择逻辑,得到与所述数据源标识对应的线程上下文环境变量的步骤,包括:解析所述注解的属性中指定的数据源标识,并将解析得到的数据源标识值存入与所述数据源标识对应的线程上下文环境变量。可选地,在所述注解的属性中还指定注解所属业务方法的标识,所述所属业务方法的标识的优先级高于所述注解的属性中指定的数据源标识,通过执行所述切面中的数据源选择逻辑,得到与所述数据源标识对应的线程上下文环境变量的步骤,包括:解析所述注解的属性中的所属业务方法的标识,并根据所述所属业务方法的标识查询最新的数据源配置;将所述最新的数据源配置中的数据源标识,存入与所述数据源标识对应的线程上下文环境变量;其中,所述最新的数据源配置包括动态配置的业务方法与数据源标识之间的对应关系。可选地,在所述注解的属性中还指定执行策略,所述执行策略包括查询参数与数据源标识的对应关系,通过执行所述切面中的数据源选择逻辑,得到与所述数据源标识对应的线程上下文环境变量的步骤,包括:解析所述注解的属性中的执行策略,以根据所述查询参数确定对应的数据源标识;将与所述查询参数对应的数据源标识,存入与所述数据源标识对应的线程上下文环境变量。根据本专利技术实施例的另一方面,提供了一种数据源路由管理装置。一种数据源路由管理装置,包括:注解添加模块,用于在需要选择数据源的业务方法上添加注解,并在所述注解的属性中指定数据源标识;切面拦截模块,用于通过切面拦截带有所述注解的业务方法,以通过执行所述切面中的数据源选择逻辑,得到与所述数据源标识对应的线程上下文环境变量;数据源选择模块,用于所述业务方法根据所述线程上下文环境变量,选择与所述业务方法对应的数据源。可选地,所述注解添加在所述业务方法的签名处。可选地,所述切面拦截模块包括第一数据源选择逻辑执行模块,用于:解析所述注解的属性中指定的数据源标识,并将解析得到的数据源标识值存入与所述数据源标识对应的线程上下文环境变量。可选地,所述注解添加模块在所述注解的属性中还指定注解所属业务方法的标识,所述所属业务方法的标识的优先级高于所述注解的属性中指定的数据源标识,所述切面拦截模块包括第二数据源选择逻辑执行模块,用于:解析所述注解的属性中的所属业务方法的标识,并根据所述所属业务方法的标识查询最新的数据源配置;将所述最新的数据源配置中的数据源标识,存入与所述数据源标识对应的线程上下文环境变量;其中,所述最新的数据源配置包括动态配置的业务方法与数据源标识之间的对应关系。可选地,所述注解添加模块在所述注解的属性中还指定执行策略,所述执行策略包括查询参数与数据源标识的对应关系,所述切面拦截模块包括第三数据源选择逻辑执行模块,用于:解析所述注解的属性中的执行策略,以根据所述查询参数确定对应的数据源标识;将与所述查询参数对应的数据源标识,存入与所述数据源标识对应的线程上下文环境变量。根据本专利技术实施例的又一方面,提供了一种电子设备。一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本专利技术提供的数据源路由管理方法。根据本专利技术实施例的又一方面,提供了一种计算机可读介质。一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术提供的数据源路由管理方法。上述专利技术中的一个实施例具有如下优点或有益效果:在需要选择数据源的业务方法上添加注解,并在注解的属性中指定数据源标识;通过切面拦截带有注解的业务方法,以通过执行切面中的数据源选择逻辑,得到与数据源标识对应的线程上下文环境变量;业务方法根据线程上下文环境变量选择数据源。能够减少重复的数据源选择逻辑代码,减少对业务代码的侵入,降低数据源选择代码与业务代码的耦合度。在注解的属性中还可指定注解所属业务方法的标识,根据注解所属业务方法的标识查询最新的数据源配置,可以灵活配置动态数据源选择,实现统一管理数据源的动态切换。在注解的属性中还可指定执行策略,使得可以根据指定策略来确定数据源,不仅满足基本管理需求,还可以满足扩展需求。本专利技术可以降低集成成本,提高开发效率。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的数据源路由管理方法的主要步骤示意图;图2是根据本专利技术实施例的系统架构示意图;图3是根据本专利技术实施例的数据源路由管理装置的主要模块示意图;图4是本专利技术实施例可以应用于其中的示例性系统架构图;图5是适于用来实现本专利技术实施例的服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认本文档来自技高网...

【技术保护点】
1.一种数据源路由管理方法,其特征在于,包括:/n在需要选择数据源的业务方法上添加注解,并在所述注解的属性中指定数据源标识;/n通过切面拦截带有所述注解的业务方法,以通过执行所述切面中的数据源选择逻辑,得到与所述数据源标识对应的线程上下文环境变量;/n所述业务方法根据所述线程上下文环境变量,选择与所述业务方法对应的数据源。/n

【技术特征摘要】
1.一种数据源路由管理方法,其特征在于,包括:
在需要选择数据源的业务方法上添加注解,并在所述注解的属性中指定数据源标识;
通过切面拦截带有所述注解的业务方法,以通过执行所述切面中的数据源选择逻辑,得到与所述数据源标识对应的线程上下文环境变量;
所述业务方法根据所述线程上下文环境变量,选择与所述业务方法对应的数据源。


2.根据权利要求1所述的方法,其特征在于,所述注解添加在所述业务方法的签名处。


3.根据权利要求1所述的方法,其特征在于,通过执行所述切面中的数据源选择逻辑,得到与所述数据源标识对应的线程上下文环境变量的步骤,包括:
解析所述注解的属性中指定的数据源标识,并将解析得到的数据源标识值存入与所述数据源标识对应的线程上下文环境变量。


4.根据权利要求1所述的方法,其特征在于,在所述注解的属性中还指定注解所属业务方法的标识,所述所属业务方法的标识的优先级高于所述注解的属性中指定的数据源标识,
通过执行所述切面中的数据源选择逻辑,得到与所述数据源标识对应的线程上下文环境变量的步骤,包括:
解析所述注解的属性中的所属业务方法的标识,并根据所述所属业务方法的标识查询最新的数据源配置;
将所述最新的数据源配置中的数据源标识,存入与所述数据源标识对应的线程上下文环境变量;
其中,所述最新的数据源配置包括动态配置的业务方法与数据源标识之间的对应关系。


5.根据权利要求1所述的方法,其特征在于,在所述注解的属性中还指定执行策略,所述执行策略包括查询参数与数据源标识的对应关系,
通过执行所述切面中的数据源选择逻辑,得到与所述数据源标识对应的线程上下文环境变量的步骤,包括:
解析所述注解的属性中的执行策略,以根据所述查询参数确定对应的数据源标识;
将与所述查询参数对应的数据源标识,存入与所述数据源标识对应的线程上下文环境变量。


6.一种数据源路由管理装置,其特征在于,包括:
注解添加模块,用于在需要选择数据源的业务方法上添加注解,并在所述注解的属性中指定数据源标识;
切面拦截模块,...

【专利技术属性】
技术研发人员:隋红华
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1