System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据库操作执行方法、装置、电子设备、介质和程序产品制造方法及图纸_技高网

数据库操作执行方法、装置、电子设备、介质和程序产品制造方法及图纸

技术编号:41253938 阅读:2 留言:0更新日期:2024-05-11 09:14
本公开的实施例公开了数据库操作执行方法、装置、电子设备、介质和程序产品。该方法的一具体实施方式包括:响应于接收到数据库操作请求,根据上述数据库操作请求对应的请求上下文,确定用户标识信息;根据上述用户标识信息,确定上述用户标识信息对应的数据源;根据租户条件语句和上述数据库操作请求对应的数据库语句,生成增强数据库语句;根据上述增强数据库语句和上述数据源,执行对应上述增强数据库语句的数据库操作。该实施方式与数据存储隔离有关,提高了数据库系统的兼容性,可以同时满足不同需求的租户。

【技术实现步骤摘要】

本公开的实施例涉及计算机,具体涉及数据库操作执行方法、装置、电子设备、介质和程序产品


技术介绍

1、软件即服务,即通过网络提供软件服务。多租户技术,是软件即服务的天然属性和关键核心。而多租户技术的本质,则在于各种计算资源的对租户的隔离。目前,行业内存在三种主流的数据库存储隔离方案,分别为:一个租户一个数据库、租户共享数据库,一个租户一个schema、租户共享数据库,schema和数据库表,租户通过表中字段区分。以上三种方案的隔离性和所需资源(包括计算资源)成正比,隔离性越高的方案所需资源较多,所需资源较低的方案隔离性则较差。

2、然而,专利技术人发现,当采用上述数据库存储隔离方案时,经常会存在如下技术问题:

3、以上三种方案不支持同时混合使用,应用的租户数据隔离只能固定选择一套方案,不能够同时兼顾少量但需求为高隔离性的租户和大量但需求为低隔离性的租户,数据库系统的兼容性较低,无法同时满足各类型租户的不同需求。

4、该
技术介绍
部分中所公开的以上信息仅用于增强对本专利技术构思的背景的理解,并因此,其可包含并不形成本国的本领域普通技术人员已知的现有技术的信息。


技术实现思路

1、本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。

2、本公开的一些实施例提出了数据库操作执行方法、装置、电子设备、计算机可读介质和计算机程序产品,来解决以上
技术介绍
部分提到的技术问题中的一项或多项。

3、第一方面,本公开的一些实施例提供了一种数据库操作执行方法,该方法包括:响应于接收到数据库操作请求,根据上述数据库操作请求对应的请求上下文,确定用户标识信息;根据上述用户标识信息,确定上述用户标识信息对应的数据源;根据租户条件语句和上述数据库操作请求对应的数据库语句,生成增强数据库语句;根据上述增强数据库语句和上述数据源,执行对应上述增强数据库语句的数据库操作。

4、可选地,在上述响应于接收到数据库操作请求,根据上述数据库操作请求对应的请求上下文,确定用户标识信息之前,上述方法还包括:响应于检测到设备启动信息,将配置文件中的数据源加载至本地数据源缓存。

5、可选地,上述根据上述用户标识信息,确定上述用户标识信息对应的数据源,包括:通过上述本地数据源缓存,确定上述用户标识信息是否对应有数据源标识;响应于确定上述用户标识信息对应有数据源标识,确定上述本地数据源缓存中是否存在对应上述数据源标识的数据源;响应于确定存在对应上述数据源标识的数据源,将对应上述数据源标识的数据源确定为上述用户标识信息对应的数据源。

6、可选地,上述在上述响应于确定上述用户标识信息对应有数据源标识,确定是否存在对应上述数据源标识的数据源之前,上述方法还包括:响应于确定上述用户标识信息未对应有数据源标识,获取上述用户标识信息对应的数据源标识;将上述数据源标识加入至上述本地数据源缓存。

7、可选地,在上述响应于确定存在对应上述数据源标识的数据源,将对应上述数据源标识的数据源确定为上述用户标识信息对应的数据源之前,上述方法还包括:响应于确定不存在对应上述数据源标识的数据源,获取上述数据源标识对应的数据源属性信息;根据上述数据源属性信息,创建数据源;将所创建的数据源确定为上述用户标识信息对应的数据源。

8、可选地,上述根据租户条件语句和上述数据库操作请求对应的数据库语句,生成增强数据库语句,包括:拦截上述数据库操作请求;读取目标数据库操作请求插件的配置信息;根据上述配置信息和上述请求上下文,确定租户条件语句;对上述数据库操作请求对应的数据库语句进行解析处理,得到解析后数据库语句;根据上述租户条件语句,对上述解析后数据库语句进行修改处理,以生成增强数据库语句。

9、可选地,在上述根据租户条件语句和上述数据库操作请求对应的数据库语句,生成增强数据库语句之前,上述方法还包括:确定上述数据库操作请求对应的数据库表是否为数据库表白名单信息包括的数据库表;响应于确定上述数据库操作请求对应的数据库表为数据库表白名单信息包括的数据库表,根据上述数据库操作请求对应的数据库语句和上述数据源,执行对应上述数据库语句的数据库操作。

10、第二方面,本公开的一些实施例提供了一种数据库操作执行装置,装置包括:第一确定单元,被配置成响应于接收到数据库操作请求,根据上述数据库操作请求对应的请求上下文,确定用户标识信息;第二确定单元,被配置成根据上述用户标识信息,确定上述用户标识信息对应的数据源;生成单元,被配置成根据租户条件语句和上述数据库操作请求对应的数据库语句,生成增强数据库语句;执行单元,被配置成根据上述增强数据库语句和上述数据源,执行对应上述增强数据库语句的数据库操作。

11、可选地,上述装置还包括加载单元,被配置成:响应于检测到设备启动信息,将配置文件中的数据源加载至本地数据源缓存。

12、可选地,上述第二确定单元进一步被配置成:通过上述本地数据源缓存,确定上述用户标识信息是否对应有数据源标识;响应于确定上述用户标识信息对应有数据源标识,确定上述本地数据源缓存中是否存在对应上述数据源标识的数据源;响应于确定存在对应上述数据源标识的数据源,将对应上述数据源标识的数据源确定为上述用户标识信息对应的数据源。

13、可选地,上述第二确定单元进一步被配置成:响应于确定上述用户标识信息未对应有数据源标识,获取上述用户标识信息对应的数据源标识;将上述数据源标识加入至上述本地数据源缓存。

14、可选地,上述第二确定单元进一步被配置成:响应于确定不存在对应上述数据源标识的数据源,获取上述数据源标识对应的数据源属性信息;根据上述数据源属性信息,创建数据源;将所创建的数据源确定为上述用户标识信息对应的数据源。

15、可选地,上述生成单元进一步被配置成:拦截上述数据库操作请求;读取目标数据库操作请求插件的配置信息;根据上述配置信息和上述请求上下文,确定租户条件语句;对上述数据库操作请求对应的数据库语句进行解析处理,得到解析后数据库语句;根据上述租户条件语句,对上述解析后数据库语句进行修改处理,以生成增强数据库语句。

16、可选地,上述装置还包括第三确定单元和第一执行单元,上述第三确定单元被配置成确定上述数据库操作请求对应的数据库表是否为数据库表白名单信息包括的数据库表;上述第一执行单元被配置成响应于确定上述数据库操作请求对应的数据库表为数据库表白名单信息包括的数据库表,根据上述数据库操作请求对应的数据库语句和上述数据源,执行对应上述数据库语句的数据库操作。

17、第三方面,本公开的一些实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述第一方面任一实现方式所本文档来自技高网...

【技术保护点】

1.一种数据库操作执行方法,包括:

2.根据权利要求1所述的方法,其中,在所述响应于接收到数据库操作请求,根据所述数据库操作请求对应的请求上下文,确定用户标识信息之前,所述方法还包括:

3.根据权利要求2所述的方法,其中,所述根据所述用户标识信息,确定所述用户标识信息对应的数据源,包括:

4.根据权利要求3所述的方法,其中,在所述响应于确定所述用户标识信息对应有数据源标识,确定是否存在对应所述数据源标识的数据源之前,所述方法还包括:

5.根据权利要求4所述的方法,其中,在所述响应于确定存在对应所述数据源标识的数据源,将对应所述数据源标识的数据源确定为所述用户标识信息对应的数据源之前,所述方法还包括:

6.根据权利要求1所述的方法,其中,所述根据租户条件语句和所述数据库操作请求对应的数据库语句,生成增强数据库语句,包括:

7.根据权利要求1所述的方法,其中,在所述根据租户条件语句和所述数据库操作请求对应的数据库语句,生成增强数据库语句之前,所述方法还包括:

8.一种数据库操作执行装置,包括:

9.一种电子设备,包括:

10.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。

11.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如权利要求1-7中任一所述的方法。

...

【技术特征摘要】

1.一种数据库操作执行方法,包括:

2.根据权利要求1所述的方法,其中,在所述响应于接收到数据库操作请求,根据所述数据库操作请求对应的请求上下文,确定用户标识信息之前,所述方法还包括:

3.根据权利要求2所述的方法,其中,所述根据所述用户标识信息,确定所述用户标识信息对应的数据源,包括:

4.根据权利要求3所述的方法,其中,在所述响应于确定所述用户标识信息对应有数据源标识,确定是否存在对应所述数据源标识的数据源之前,所述方法还包括:

5.根据权利要求4所述的方法,其中,在所述响应于确定存在对应所述数据源标识的数据源,将对应所述数据源标识的数据源确定为所述用户标识信息对应的数据源之前,...

【专利技术属性】
技术研发人员:姬秉南胡博康胜苏仲一村张乐祺
申请(专利权)人:北京京东乾石科技有限公司
类型:发明
国别省市:

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

1