嵌套数据源切换方法、装置、设备、存储介质及产品制造方法及图纸

技术编号:38537680 阅读:29 留言:0更新日期:2023-08-19 17:07
本发明专利技术提供一种嵌套数据源切换方法、装置、设备、存储介质及产品,改方法包括:当接收到请求时,通过既定规则解析出所述请求中的相关数据源参数;通过切面将所述相关数据源参数对应的数据源内置于当前线程变量中,得到目标线程变量;调用所述请求对应的业务服务时,从所述目标线程变量中获取所述业务服务对应的数据源,进行嵌套数据源切换,以执行所述业务服务。也即,在前端或请求层进行多数据源逻辑配置,避免dao层和数据源的强绑定,通过目标线程变量增加了动态数据源的在项目中的灵活性。程变量增加了动态数据源的在项目中的灵活性。程变量增加了动态数据源的在项目中的灵活性。

【技术实现步骤摘要】
嵌套数据源切换方法、装置、设备、存储介质及产品


[0001]本专利技术涉及数据源
,尤其涉及一种嵌套数据源切换方法、装置、设备、存储介质及产品。

技术介绍

[0002]随着用户数据量的增加和微服务的技术发展,在大数据量下,一个数据库已经很难满足业务上的需求(通常情况下,一张数据表能够承受的最优数据量是500W左右,超过这个阈值,表性能就会直线下降),因此,需要用户用更多的数据来满足系统上对于性能和业务上的需求,从而衍生了分库分表的操作,即多数据源异构操作在所难免。
[0003]现有的嵌套数据源切换是在代码中配置多个数据源,然后为每个数据源写一套对应的sessionfactory和dao层,这样做的缺点是,在添加新的数据源时还要为新的数据源添加一个sessionfactory。并且用户需要在dao层明确的知道哪些业务会调用哪些数据库,这样也需要在dao层进行数据源的明确配置,无法实现真正的一个请求内的动态嵌套数据源切换。
[0004]因此,现有技术对多嵌套数据源切换的灵活性低,面对复杂的业务场景时,比如数据源嵌套切换,单靠D本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种嵌套数据源切换方法,其特征在于,包括:当接收到请求时,通过既定规则解析出所述请求中的相关数据源参数;通过切面将所述相关数据源参数对应的数据源内置于当前线程变量中,得到目标线程变量;调用所述请求对应的业务服务时,从所述目标线程变量中获取所述业务服务对应的数据源,进行嵌套数据源切换,以执行所述业务服务。2.根据权利要求1所述的嵌套数据源切换方法,其特征在于,所述当前线程变量为栈结构,所述通过切面将所述相关数据源参数对应的数据源内置于当前线程变量中,得到目标线程变量的步骤,包括:基于预设的调用顺序,通过切面将所述相关数据源参数对应的数据源存储于所述当前线程变量的栈结构中,形成目标线程变量;其中,所述数据源存储于所述当前线程变量的栈结构中的步骤中,基于所述调用顺序,后调用的数据源在栈顶端优先进行入栈操作。3.根据权利要求2所述的嵌套数据源切换方法,其特征在于,所述基于预设的调用顺序,通过切面将所述相关数据源参数对应的数据源存储于所述当前线程变量的栈结构中,形成目标线程变量的步骤之前,所述方法还包括:对所述相关数据源参数进行初始化操作,得到至少一个具有生命周期的数据源链接;将所述数据源链接加载到项目内存的集合中。4.根据权利要求3所述的嵌套数据源切换方法,其特征在于,所述基于预设的调用顺序,通过切面将所述相关数据源参数对应的数据源存储于所述当前线程变量的栈结构中,形成目标线程变量的步骤,包括:从所述集合中获取所述相关数据源参数对应的数据源;基于预设的调用顺序,通过切面将所述数据源存储于所述当前线程变量的栈结构中,形成目标线程变量。5.根据权利要求1所述的嵌套数据源切换方法,其特征在于,所述通过切面...

【专利技术属性】
技术研发人员:吴记伟黄飞虎张璞张涛
申请(专利权)人:北京宝兰德软件股份有限公司
类型:发明
国别省市:

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

1