数据源管理方法、设备及存储介质技术

技术编号:38157287 阅读:9 留言:0更新日期:2023-07-13 09:26
本发明专利技术涉及一种数据源管理方法、设备及存储介质,该数据源管理方法应用于数据源管理系统,数据源管理系统与用户端连接,数据源管理系统包括:运行缓存区、切面组件和主数据库,数据源管理方法包括以下步骤:通过切面组件查询运行缓存区中是否存在与用户端对应的租户库数据源;若运行缓存区存在租户库数据源,基于连接点信息检测用户端是否关联有多个租户库数据源;若用户端未关联多个租户库数据源,将用户端连接至租户库数据源对应的租户数据库;若用户端关联有多个租户库数据源,获取用户端的访问动作的切换注解,将用户端连接至切换注解对应的注解数据源对应的租户数据库。本发明专利技术实现了降低数据源管理的成本同时保证数据源管理的安全性。管理的安全性。管理的安全性。

【技术实现步骤摘要】
数据源管理方法、设备及存储介质


[0001]本专利技术涉及数据库
,尤其涉及一种数据源管理方法、设备及存储介质。

技术介绍

[0002]目前基于多租户的多数据源管理系统主要有三种方案,分别是:
[0003]独立数据库,即一个租户一个数据库,这种方案可以为不同的租户提供独立的数据库,有助于简化数据模型的扩展设计,满足不同租户的独特需求;如果出现故障,恢复数据比较简单。数据完全隔离,安全性最好,但成本较高。
[0004]共享数据库与独立Schema(模式),即多个或所有租户共享数据库,但是每个租户一个Schema,这种方案为安全性要求较高的租户提供了一定程度的逻辑数据隔离,每个数据库可支持更多的租户数量,但这种方案并不是完全隔离,如果出现故障,数据恢复比较困难,因为恢复数据库将牵涉到其他租户的数据。
[0005]共享数据库、共享Schema与共享数据表,即租户共享同一个数据库、同一个Schema,这是共享程度最高、隔离级别最低的模式。
[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]可选地,所述数据源管理系统还包括:切换注解组件、数据源管理组件和运行时线程组件;其中,
[0034]所述切换注解组件用于定义租户库数据源key属性,并用于标记多数据源注解;
[0035]所述数据源管理组件用于管理租户库数据源key、租户库数据源对象的键值对映射属性和主数据源对象属性;
[0036]所述运行时线程组件用于持有当前线程正在操作的租户库数据源key。
[0037]此外,为实现上述目的,本专利技术还提供一种数据源管理装置,该数据源管理装置应用于数据源管理系统,所述数据源管理系统与用户端连接,所述数据源管理系统包括:运行
缓存区、切面组件和主数据库;其中,所述主数据库中包括多个租户数据库,各个所述租户数据库的数据业务相互隔离;
[0038]该数据源管理装置包括:
[0039]第一调用模块,用于在接收到用户端发送的访问请求时,通过所述切面组件查询所述运行缓存区中是否存在与所述用户端对应的租户库数据源;
[0040]第二调用模块,用于若所述运行缓存区存在所述租户库数据源,则通过所述切面组件解析所述用户端的连接点得到连接点信息,并基于所述连接点信息检测所述用户端是否关联有多个所述租户库数据源,其中,所述连接点信息包括对所述主数据库执行访问操作的目标方法的所属对象和参数信息;
[0041]第三调用模块,用于若所述用户端未关联多个所述租户库数据源,则通过所述切面组件将所述用户端连接至所述租户库数据源对应的租户数据库;
[0042]第四调用模块,用于若所述用户端关联有多个所述租户库数据源,则通过所述切面组件获取所述用户端的访问动作的切换注解,并通过所述切面组件将所述用户端连接至所述切换注解对应的注解数据源对应的租户数据库。
[0043]此外,为实现上述目的,本专利技术还提供一种数据源管理设备,所述数据源管理设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据源管理程序,所述数据源管理程序被所述处理器执行时实现上述数据源管理方法的步骤。
[0044]此外,为实现上述目的,本专利技术还提供一种本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据源管理方法,其特征在于,所述数据源管理方法应用于数据源管理系统,所述数据源管理系统与用户端连接,所述数据源管理系统包括:运行缓存区、切面组件和主数据库;其中,所述主数据库中包括多个租户数据库,各个所述租户数据库的数据业务相互隔离;所述数据源管理方法包括以下步骤:在接收到用户端发送的访问请求时,通过所述切面组件查询所述运行缓存区中是否存在与所述用户端对应的租户库数据源;若所述运行缓存区存在所述租户库数据源,则通过所述切面组件解析所述用户端的连接点得到连接点信息,并基于所述连接点信息检测所述用户端是否关联有多个所述租户库数据源,其中,所述连接点信息包括对所述主数据库执行访问操作的目标方法的所属对象和参数信息;若所述用户端未关联多个所述租户库数据源,则通过所述切面组件将所述用户端连接至所述租户库数据源对应的租户数据库;若所述用户端关联有多个所述租户库数据源,则通过所述切面组件获取所述用户端的访问动作的切换注解,并通过所述切面组件将所述用户端连接至所述切换注解对应的注解数据源对应的租户数据库。2.如权利要求1所述的数据源管理方法,其特征在于,所述通过所述切面组件将所述用户端连接至所述切换注解对应的注解数据源对应的所述租户数据库的步骤,包括:通过所述切面组件查询所述切换注解对应的注解数据源是否在所述运行缓存区;若所述注解数据源在所述运行缓存区,则通过所述切面组件将所述用户端连接至所述切换注解对应的注解数据源对应的租户数据库。3.如权利要求1所述的数据源管理方法,其特征在于,在所述通过所述切面组件查询所述运行缓存区中是否存在与所述用户端对应的租户库数据源的步骤之前,所述数据源管理方法还包括:将所述用户端连接至所述主数据库;通过所述切面组件解析所述访问请求得到用户端标识;所述通过所述切面组件查询所述运行缓存区中是否存在与所述用户端对应的租户库数据源的步骤,包括:通过所述切面组件根据所述用户端标识,查询所述运行缓存区中是否存在与所述用户端标识对应的租户库数据源。4.如权利要求1所述的数据源管理方法,其特征在于,所述通过所述切面组件查询所述运行缓存区中是否存在与所述用户端对应的租户库数据源的步骤之后,所述数据源管理方法还包括:若所述运行缓存区不存在所述租户库数据源,则通过所述切面组件创建新建数据源;在所述新建数据源连通正常时将所述新建数据源加载至所述运行缓存区,并将所述用户端连接至所述新建数据源对应的租户数据库。5.如权利要求4所述的数据源管理方法,其特征在于,所述在所述新建数据源连通正常时将所述新建数据源加载至所述运行缓存区的步骤之前,所述数据源管理方法还包括:检测所述新建...

【专利技术属性】
技术研发人员:覃龙吴卫平苏泉宇林显东陈世兵包敏
申请(专利权)人:一临云深圳科技有限公司
类型:发明
国别省市:

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

1