数据源动态切换方法、装置和设备制造方法及图纸

技术编号:38151628 阅读:11 留言:0更新日期:2023-07-13 09:16
本发明专利技术实施例提供一种数据源动态切换方法、装置和设备,该方法包括:获取用户输入的数据源标识;根据数据源标识和预设的数据源映射规则,确定数据源标识对应的目标数据源名称;数据源映射规则用于将数据源名称、数据源标识和业务场景进行关联映射;将目标数据源名称绑定至本地线程变量中;根据本地线程变量中的目标数据源名称,从用户当前的数据源切换至目标数据源名称对应的目标数据源。本发明专利技术实施例的方法达到了提升数据源配置的便捷性、安全性和可扩展性、减少代码冗余量,有效提高数据源切换效率的效果。换效率的效果。换效率的效果。

【技术实现步骤摘要】
数据源动态切换方法、装置和设备


[0001]本专利技术涉及多数据库切换的
,尤其涉及一种数据源动态切换方法、装置和设备。

技术介绍

[0002]数据源切换是指在一个应用程序中使用多个数据源,在必要的业务环节切换到不同数据源获取相关数据源对应的数据信息。数据源是指一个应用程序使用的数据库或其他数据存储设备。在数据源切换中,应用程序可以在不同的数据源之间切换,以便在不同的环境中进行测试、开发和生产。
[0003]相关技术中,基于面向切面编程的Spring AOP切面技术进行数据源的切换,通过配置事务的方式,将不同数据源事务的切面织入到程序的类和方法上。由于数据源、事务管理器和代码切面一一对应,针对每个数据源都需要编写一个不同的类或方法来完成相同功能,产生大量的重复代码,此种情况还会随着功能环节的增加成倍放大,大大增加了代码冗余量,影响系统开发效率,使得数据源切换效率较低。

技术实现思路

[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]图1是本专利技术实施例提供的数据源动态切换方法的流程示意图;
[0034]图2是本专利技术实施例提供的另一数据源动态切换方法的流程示意图;
[0035]图3是本专利技术实施例提供的数据源动态切换装置的结构示意图;
[0036]图4是本专利技术实施例提供的电子设备的结构示意图。
具体实施方式
[0037]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术中的附图,对本专利技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0038]本专利技术实施例的方法可以应用于数据源切换场景中,实现数据源的高效切换。
[0039]相关技术中,基于面向切面编程的Spring AOP切面技术进行数据源的切换,通过配置事务的方式,将不同数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据源动态切换方法,其特征在于,包括:获取用户输入的数据源标识;根据所述数据源标识和预设的数据源映射规则,确定所述数据源标识对应的目标数据源名称;所述数据源映射规则用于将数据源名称、数据源标识和业务场景进行关联映射;将所述目标数据源名称绑定至本地线程变量中;根据所述本地线程变量中的目标数据源名称,从用户当前的数据源切换至所述目标数据源名称对应的目标数据源。2.根据权利要求1所述的数据源动态切换方法,其特征在于,所述根据所述数据源标识和预设的数据源映射规则,确定所述数据源标识对应的目标数据源名称之前,还包括:利用枚举方式建立至少一个业务场景对应的数据源映射规则。3.根据权利要求2所述的数据源动态切换方法,其特征在于,所述利用枚举方式建立至少一个业务场景对应的数据源映射规则,包括以下至少一项:利用枚举方式建立机构场景对应的数据源映射规则;所述机构场景对应的数据源映射规则包括数据源名称、数据源标识和机构场景的映射关系;利用枚举方式建立时间场景对应的数据源映射规则;所述时间场景对应的数据源映射规则包括数据源名称、数据源标识和时间场景的映射关系;利用枚举方式建立系统场景对应的数据源映射规则;所述系统场景对应的数据源映射规则包括数据源名称、数据源标识和系统场景的映射关系。4.根据权利要求3所述的数据源动态切换方法,其特征在于,所述根据所述数据源标识和预设的数据源映射规则,确定所述数据源标识对应的目标数据源名称,包括:根据所述数据源标识对应的业务场景,将所述数据源标识和预设的数据源映射规则进行匹配,确定所述数据源标识对应的目标数据源名称。5.根据权利要求4所述的数据源动态切换方法,其特征在于,所述根据所述数据源标识和预设的数据源映射规则,确定所述数据源标识对应的目标数据源名...

【专利技术属性】
技术研发人员:刘晓强王吉玲张路蔺元飞
申请(专利权)人:中国人民财产保险股份有限公司
类型:发明
国别省市:

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

1