一种基于制造技术

技术编号:39895336 阅读:10 留言:0更新日期:2023-12-30 13:08
本发明专利技术提供了一种基于

【技术实现步骤摘要】
一种基于SaaS平台的多租户资源隔离方法及相关装置


[0001]本专利技术涉及
SaaS
平台部署
,具体而言,涉及一种基于
SaaS
平台的多租户资源隔离方法及相关装置


技术介绍

[0002]SaaS
是一种软件布局模型,其应用专为网络交付而设计,便于用户通过互联网托管

部署及接入

在一台或者一组服务器上运行的
SaaS
系统,可以为多个租户
(
客户
)
提供服务,目的是为了让多个租户在互联网环境下使用同一套程序,且保证租户间的数据隔离

可以看出,多租户架构的重点就是同一套程序下多个租户资源的隔离

目前,在共享单应用实例时,无法实现应用实例内的资源隔离和租户间的差异化定制,例如,数据库连接池

线程池等其他资源的隔离,发生异常时,会导致租户间的相互影响

付费用户会分配更多的数据库链接数量

而普通用户仅能使用固定少量的链接等


技术实现思路

[0003]本专利技术的目的在于提供一种基于
SaaS
平台的多租户资源隔离方法及相关装置,以改善上述问题

为了实现上述目的,本专利技术采取的技术方案如下:
[0004]第一方面,本申请提供了一种基于
SaaS
平台的多租户资源隔离方法,包括:
[0005]根据预设的
Spring Scope
接口生成对象实例化策略;
[0006]获取多个租户的第二请求信息,根据每个租户的第二请求信息
,
利用对象实例化策略为每个用户生成对应的资源容器以管理租户的对象实例;
[0007]自定义注解
TenantScope
类,并确定
Scope

value
值;
[0008]实例化
TenantScope
类的一个实例,并将
Scope

value
值注册至
Spring
中;
[0009]将需要隔离的资源的
Scope
值定义为
value
值以实现资源隔离

[0010]第二方面,本申请还提供了一种基于
SaaS
平台的多租户资源隔离装置,包括:
[0011]第一生成模块:用于根据预设的
Spring Scope
接口生成对象实例化策略;
[0012]第二生成模块:用于获取多个租户的第二请求信息,根据每个租户的第二请求信息
,
利用对象实例化策略为每个用户生成对应的资源容器以管理租户的对象实例;
[0013]自定义模块:用于自定义注解
TenantScope
类,并确定
Scope

value
值;
[0014]实例化模块:用于实例化
TenantScope
类的一个实例,并将
Scope

value
值注册至
Spring
中;
[0015]隔离模块:用于将需要隔离的资源的
Scope
值定义为
value
值以实现资源隔离

[0016]第三方面,本申请还提供了一种基于
SaaS
平台的多租户资源隔离设备,包括:
[0017]存储器,用于存储计算机程序;
[0018]处理器,用于执行所述计算机程序时实现所述基于
SaaS
平台的多租户资源隔离方法的步骤

[0019]第四方面,本申请还提供了一种可读存储介质,所述可读存储介质上存储有计算
机程序,所述计算机程序被处理器执行时实现上述基于
SaaS
平台的多租户资源隔离方法的步骤

[0020]本专利技术的有益效果为:
[0021]本专利技术通过
URL
中的租户标志位对租户身份进行识别,然后将请求转向同一个
echo
服务,从而识别不同租户身份的问题,并通过为识别出的客户按情况构建不同资源实例,为每个租户创建一个线程池资源,实现对租户数据的隔离,有效防止租户数据不经意或被他人恶意地获取和篡改

[0022]本专利技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术实施例了解

本专利技术的目的和其他优点可通过在所写的说明书

权利要求书

以及附图中所特别指出的结构来实现和获得

附图说明
[0023]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图

[0024]图1为本专利技术实施例中所述的基于
SaaS
平台的多租户资源隔离方法流程示意图;
[0025]图2为本专利技术实施例中所述的对象实例化策略的生成方法示意图;
[0026]图3为本专利技术实施例中所述的基于
SaaS
平台的多租户资源隔离装置结构示意图;
[0027]图4为本专利技术实施例中所述的基于
SaaS
平台的多租户资源隔离设备结构示意图

[0028]图中标记:
[0029]800、
基于
SaaS
平台的多租户资源隔离设备;
801、
处理器;
802、
存储器;
803、
多媒体组件;
804、I/O
接口;
805、
通信组件

具体实施方式
[0030]为使本专利技术实施例的目的

技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚

完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例

通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计

因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例

基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围

[0031]应注意到:相似的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于
SaaS
平台的多租户资源隔离方法,其特征在于,包括:根据预设的
Spring Scope
接口生成对象实例化策略;获取多个租户的第二请求信息,根据每个租户的第二请求信息
,
利用对象实例化策略为每个用户生成对应的资源容器以管理租户的对象实例;自定义注解
TenantScope
类,并确定
Scope

value
值;实例化
TenantScope
类的一个实例,并将
Scope

value
值注册至
Spring
中;将需要隔离的资源的
Scope
值定义为
value
值以实现资源隔离
。2.
根据权利要求1所述的基于
SaaS
平台的多租户资源隔离方法,其特征在于
,
根据预设的
Spring Scope
接口生成对象实例化策略,还包括:分别获取每个租户对于应用程序接口的第一请求信息;在第一请求信息中添加对应的租户身份信息
,
生成第二请求信息
。3.
根据权利要求1所述的基于
SaaS
平台的多租户资源隔离方法,其特征在于
,
获取多个租户的第二请求信息之前,还包括:依次实例化持有者对象和实例化
TenantFilter
对象;将持有者对象注入
TenantFilter
对象中;注册
TenantFilter
对象到请求信息过滤器以使请求信息过滤器生效
。4.
根据权利要求1所述的基于
SaaS
平台的多租户资源隔离方法,其特征在于
,
获取多个租户的第二请求信息之后,还包括:分别从多个租户的第二请求信息中提取租户身份信息,并将全部租户身份信息存储在持有者对象的实例中;将所有提取租户身份信息后的请求信息转发至相同的计算服务中
。5.
根据权利要求4所述的基于
SaaS
平台的多租户资源隔离方法,其特征在于
,
从租户的第二请求信息中提取租户身份信息
,
包括
:
采用预设的正则表达式对租户的第二请求信息进行匹配
:
当符合匹配条件时
,
则提取第二请求信息中的租户位置上的字符串作为用户身份信息;提取路径位置上的字符串作为新的
ServletPath。6.
根据权利要求5所述的基于
SaaS
平台的多租户资源隔离方法,其特征在于
,
所述对象实例化策略根据每个租户的请求信息生成对应的资源容器以管理租户的对象实例,包括:访问新的
ServletPath
,从持有者对象的实例中获取租户身份信息;根据租户身份信息判断所述用户是否有用于保存对象的容器中:若不存在,则为所述用户创建容器;否则,返回所述用户的容器;获取所述用户包含的对象,判断所述对象是否已存在与所述用户的容器内:若不存在,则实例化所述对象并保存至所述用户的容器中;否则,返回容器中的所述对象
。7.
一种基于
SaaS
平台的多租户资源隔离装置,其特征在于,包括:第一生成模块:用于根据预设的
Spring Scope
接口生成对象实例化策略;第二生成模块:用于获取多个租户的第二请求信息,根据每个租户的第二请求信...

【专利技术属性】
技术研发人员:聂文彬
申请(专利权)人:中信百信银行股份有限公司
类型:发明
国别省市:

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

1