本技术实施例涉及数据库领域,具体涉及一种saas系统数据库的隔离方法及其相关设备。
背景技术:
1、saas平台是运营saas软件的平台。saas提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无需购买软硬件、建设机房、招聘it人员,即可通过互联网使用信息系统。saas是一种软件布局模型,其应用专为网络交付而设计,便于用户通过互联网托管、部署及接入。
2、现有的saas系统,所有租户共享同一个数据库,每个租户在数据库系统中拥有一个独立的表空间。不同租户之间数据的隔离性不高,容易出现数据泄露。
技术实现思路
1、本技术实施例提供了一种saas系统数据库的隔离方法及其相关设备,用于提高数据安全性。
2、本技术实施例第一方面提供了一种saas系统数据库的隔离方法,包括:
3、接收用户的登录申请;
4、判断是否存在与用户关联的正式租户;
5、若存在与用户关联的正式租户,则判断与用户关联的正式租户数量是否大于1;
6、若与用户关联的正式租户数量大于1,则向用户反馈租户列表,租户列表中包括所有与用户关联的正式租户;
7、接收用户根据租户列表选择的目标租户的标识;
8、根据目标租户的标识获取目标租户的数据库配置,目标租户的数据库配置对应一个独立的目标数据库,关联数据库配置和用户的令牌;
9、允许用户使用令牌访问目标数据库。
10、基于本技术实施例第一方面,本技术实施例第一方面的第一种实现方式中,接收用户的登录申请前,所述方法还包括:
11、接收用户发送的多租户开通申请;
12、判断系统管理员是否通过多租户开通申请;
13、若系统管理员通过多租户开通申请,则接受系统管理员更新人员账户管理列表,为用户关联多个正式租户。
14、基于本技术实施例第一方面或第一方面的第一种实现方式,本技术实施例第一方面的第二种实现方式中,接收用户发送的多租户开通申请前,所述方法还包括:
15、接收用户发送的租户开通申请;
16、判断系统管理员是否通过租户开通申请;
17、若系统管理员通过租户开通申请,则接受系统管理员为用户分配正式租户。
18、基于本技术实施例第一方面、第一方面的第一种实现方式和第二种实现方式任一种,本技术实施例第一方面的第三种实现方式中,接收用户发送的租户开通申请前,所述方法还包括:
19、接收用户发送的注册申请;
20、为用户分配演示租户;
21、接受用户通过演示租户访问默认数据库;
22、接受系统管理员为用户分配正式租户,具体包括:
23、接受系统管理员更新演示租户的数据库配置,将演示租户确定为正式租户,关联用户和正式租户。
24、基于本技术实施例第一方面、第一方面的第一种实现方式至第三种实现方式任一种,本技术实施例第一方面的第四种实现方式中,为用户分配演示租户后,所述方法还包括:
25、获取用户标识、企业标识和演示租户标识,关联用户标识、企业标识和演示租户标识。
26、基于本技术实施例第一方面、第一方面的第一种实现方式至第四种实现方式任一种,本技术实施例第一方面的第五种实现方式中,关联数据库配置和用户的令牌后,所述方法还包括:
27、将目标租户的数据库配置和用户的令牌存储到redis。
28、从以上技术方案可以看出,本技术实施例具有以下优点:
29、本技术中,一个正式租户使用一个独立的数据库,同一个用户可以配置多个正式租户,使得一个用户的不同数据能够分别存储在不同数据库中,当数据发生泄露时,能够有效将数据泄露控制在一个租户内,避免了一个用户的所有数据同时泄露。
30、本技术实施例第二方面提供了一种saas系统数据库的隔离装置,包括:
31、登录单元,用于接收用户的登录申请;
32、判断单元,用于判断是否存在与用户关联的正式租户;
33、判断单元,还用于在存在与用户关联的正式租户时,判断与用户关联的正式租户数量是否大于1;
34、反馈单元,用于在与用户关联的正式租户数量大于1时,向用户反馈租户列表,租户列表中包括所有与用户关联的正式租户;
35、接收单元,用于接收用户根据租户列表选择的目标租户的标识;
36、关联单元,用于根据目标租户的标识获取目标租户的数据库配置,目标租户的数据库配置对应一个独立的目标数据库,关联数据库配置和用户的令牌;
37、访问单元,用于允许用户使用令牌访问目标数据库。
38、基于本技术实施例第二方面,本技术实施例第二方面的第一种实现方式中,所述装置还包括:接收单元,用于接收用户发送的多租户开通申请;
39、判断单元,还用于判断系统管理员是否通过多租户开通申请;
40、关联单元,还用于在系统管理员通过多租户开通申请,时接受系统管理员更新人员账户管理列表,为用户关联多个正式租户。
41、基于本技术实施例第二方面或第二方面的第一种实现方式,本技术实施例第二方面的第二种实现方式中,接收单元,还用于接收用户发送的租户开通申请;
42、判断单元,还用于判断系统管理员是否通过租户开通申请;
43、所述装置还包括:分配单元,用于若系统管理员通过租户开通申请,则接受系统管理员为用户分配正式租户。
44、基于本技术实施例第二方面、第二方面的第一种实现方式和第二种实现方式任一种,本技术实施例第二方面的第三种实现方式中,所述装置还包括:
45、注册单元,用于接收用户发送的注册申请;
46、分配单元,还用于为用户分配演示租户;
47、范围单元,还用于接受用户通过演示租户访问默认数据库;
48、分配单元,具体用于:接受系统管理员更新演示租户的数据库配置,将演示租户确定为正式租户,关联用户和正式租户。
49、基于本技术实施例第二方面、第二方面的第一种实现方式至第三种实现方式任一种,本技术实施例第二方面的第四种实现方式中,关联单元,还用于获取用户标识、企业标识和演示租户标识,关联用户标识、企业标识和演示租户标识。
50、基于本技术实施例第二方面、第二方面的第一种实现方式至第四种实现方式任一种,本技术实施例第二方面的第五种实现方式中,所述装置还包括:存储单元,用于将目标租户的数据库配置和用户的令牌存储到redis。
51、本技术实施例第三方面提供了一种计算机设备,包括:
52、中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
53、存储器为短暂存储存储器或持久存储存储器;
54、中央处理器配置为与存储器通信,并执行存储器中的指令操作以执行第一方面的方法。
55、本技术实施例的第四方面提供了一种计算机可读存储介质,计算机可读存储介质包括指令,当指令在计算机上运行时,使得计算机执行第一方面的方法。
56、本技术实施例的第五方面提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第一方面的方法。
57、本技术实施例的第六方面提供了一种芯片系统,芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行第一方面的方法。