CN115906049A - 一种SaaS系统数据库的隔离方法及其相关设备 - Google Patents
一种SaaS系统数据库的隔离方法及其相关设备 Download PDFInfo
- Publication number
- CN115906049A CN115906049A CN202211573753.2A CN202211573753A CN115906049A CN 115906049 A CN115906049 A CN 115906049A CN 202211573753 A CN202211573753 A CN 202211573753A CN 115906049 A CN115906049 A CN 115906049A
- Authority
- CN
- China
- Prior art keywords
- user
- tenant
- formal
- database
- tenants
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000002955 isolation Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 claims description 44
- 238000012545 processing Methods 0.000 claims description 4
- 230000002085 persistent effect Effects 0.000 claims description 3
- 230000001052 transient effect Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 101001072091 Homo sapiens ProSAAS Proteins 0.000 description 3
- 102100036366 ProSAAS Human genes 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供了一种SaaS系统数据库的隔离方法及其相关设备,用于提高数据安全性,包括:接收用户的登录申请;判断是否存在与用户关联的正式租户;若存在与用户关联的正式租户,则判断与用户关联的正式租户数量是否大于1;若与用户关联的正式租户数量大于1,则向用户反馈租户列表,租户列表中包括所有与用户关联的正式租户;接收用户根据租户列表选择的目标租户的标识;根据目标租户的标识获取目标租户的数据库配置,目标租户的数据库配置对应一个独立的目标数据库,关联数据库配置和用户的令牌;允许用户使用令牌访问目标数据库。一个正式租户使用一个独立的数据库,同一个用户可以配置多个正式租户,能够有效将数据泄露控制在一个租户内。
Description
技术领域
本申请实施例涉及数据库领域,具体涉及一种SaaS系统数据库的隔离方法及其相关设备。
背景技术
SaaS平台是运营saas软件的平台。SaaS提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无需购买软硬件、建设机房、招聘IT人员,即可通过互联网使用信息系统。SaaS是一种软件布局模型,其应用专为网络交付而设计,便于用户通过互联网托管、部署及接入。
现有的SaaS系统,所有租户共享同一个数据库,每个租户在数据库系统中拥有一个独立的表空间。不同租户之间数据的隔离性不高,容易出现数据泄露。
发明内容
本申请实施例提供了一种SaaS系统数据库的隔离方法及其相关设备,用于提高数据安全性。
本申请实施例第一方面提供了一种SaaS系统数据库的隔离方法,包括:
接收用户的登录申请;
判断是否存在与用户关联的正式租户;
若存在与用户关联的正式租户,则判断与用户关联的正式租户数量是否大于1;
若与用户关联的正式租户数量大于1,则向用户反馈租户列表,租户列表中包括所有与用户关联的正式租户;
接收用户根据租户列表选择的目标租户的标识;
根据目标租户的标识获取目标租户的数据库配置,目标租户的数据库配置对应一个独立的目标数据库,关联数据库配置和用户的令牌;
允许用户使用令牌访问目标数据库。
基于本申请实施例第一方面,本申请实施例第一方面的第一种实现方式中,接收用户的登录申请前,所述方法还包括:
接收用户发送的多租户开通申请;
判断系统管理员是否通过多租户开通申请;
若系统管理员通过多租户开通申请,则接受系统管理员更新人员账户管理列表,为用户关联多个正式租户。
基于本申请实施例第一方面或第一方面的第一种实现方式,本申请实施例第一方面的第二种实现方式中,接收用户发送的多租户开通申请前,所述方法还包括:
接收用户发送的租户开通申请;
判断系统管理员是否通过租户开通申请;
若系统管理员通过租户开通申请,则接受系统管理员为用户分配正式租户。
基于本申请实施例第一方面、第一方面的第一种实现方式和第二种实现方式任一种,本申请实施例第一方面的第三种实现方式中,接收用户发送的租户开通申请前,所述方法还包括:
接收用户发送的注册申请;
为用户分配演示租户;
接受用户通过演示租户访问默认数据库;
接受系统管理员为用户分配正式租户,具体包括:
接受系统管理员更新演示租户的数据库配置,将演示租户确定为正式租户,关联用户和正式租户。
基于本申请实施例第一方面、第一方面的第一种实现方式至第三种实现方式任一种,本申请实施例第一方面的第四种实现方式中,为用户分配演示租户后,所述方法还包括:
获取用户标识、企业标识和演示租户标识,关联用户标识、企业标识和演示租户标识。
基于本申请实施例第一方面、第一方面的第一种实现方式至第四种实现方式任一种,本申请实施例第一方面的第五种实现方式中,关联数据库配置和用户的令牌后,所述方法还包括:
将目标租户的数据库配置和用户的令牌存储到Redis。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请中,一个正式租户使用一个独立的数据库,同一个用户可以配置多个正式租户,使得一个用户的不同数据能够分别存储在不同数据库中,当数据发生泄露时,能够有效将数据泄露控制在一个租户内,避免了一个用户的所有数据同时泄露。
本申请实施例第二方面提供了一种SaaS系统数据库的隔离装置,包括:
登录单元,用于接收用户的登录申请;
判断单元,用于判断是否存在与用户关联的正式租户;
判断单元,还用于在存在与用户关联的正式租户时,判断与用户关联的正式租户数量是否大于1;
反馈单元,用于在与用户关联的正式租户数量大于1时,向用户反馈租户列表,租户列表中包括所有与用户关联的正式租户;
接收单元,用于接收用户根据租户列表选择的目标租户的标识;
关联单元,用于根据目标租户的标识获取目标租户的数据库配置,目标租户的数据库配置对应一个独立的目标数据库,关联数据库配置和用户的令牌;
访问单元,用于允许用户使用令牌访问目标数据库。
基于本申请实施例第二方面,本申请实施例第二方面的第一种实现方式中,所述装置还包括:接收单元,用于接收用户发送的多租户开通申请;
判断单元,还用于判断系统管理员是否通过多租户开通申请;
关联单元,还用于在系统管理员通过多租户开通申请,时接受系统管理员更新人员账户管理列表,为用户关联多个正式租户。
基于本申请实施例第二方面或第二方面的第一种实现方式,本申请实施例第二方面的第二种实现方式中,接收单元,还用于接收用户发送的租户开通申请;
判断单元,还用于判断系统管理员是否通过租户开通申请;
所述装置还包括:分配单元,用于若系统管理员通过租户开通申请,则接受系统管理员为用户分配正式租户。
基于本申请实施例第二方面、第二方面的第一种实现方式和第二种实现方式任一种,本申请实施例第二方面的第三种实现方式中,所述装置还包括:
注册单元,用于接收用户发送的注册申请;
分配单元,还用于为用户分配演示租户;
范围单元,还用于接受用户通过演示租户访问默认数据库;
分配单元,具体用于:接受系统管理员更新演示租户的数据库配置,将演示租户确定为正式租户,关联用户和正式租户。
基于本申请实施例第二方面、第二方面的第一种实现方式至第三种实现方式任一种,本申请实施例第二方面的第四种实现方式中,关联单元,还用于获取用户标识、企业标识和演示租户标识,关联用户标识、企业标识和演示租户标识。
基于本申请实施例第二方面、第二方面的第一种实现方式至第四种实现方式任一种,本申请实施例第二方面的第五种实现方式中,所述装置还包括:存储单元,用于将目标租户的数据库配置和用户的令牌存储到Redis。
本申请实施例第三方面提供了一种计算机设备,包括:
中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
存储器为短暂存储存储器或持久存储存储器;
中央处理器配置为与存储器通信,并执行存储器中的指令操作以执行第一方面的方法。
本申请实施例的第四方面提供了一种计算机可读存储介质,计算机可读存储介质包括指令,当指令在计算机上运行时,使得计算机执行第一方面的方法。
本申请实施例的第五方面提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第一方面的方法。
本申请实施例的第六方面提供了一种芯片系统,芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行第一方面的方法。
附图说明
图1是本申请实施例SaaS系统数据库的隔离方法的一种流程示意图;
图2是本申请实施例SaaS系统数据库的隔离方法的另一种流程示意图;
图3是本申请实施例SaaS系统数据库的隔离方法的另一种流程示意图;
图4是本申请实施例SaaS系统数据库的隔离方法的另一种流程示意图;
图5是本申请实施例计算机设备的一种结构示意图。
具体实施方式
本申请实施例可以由计算机设备实现,计算机设备可以包括终端以及服务器中的至少之一,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。下面以SAAS服务集群为例进行说明。SAAS服务集群可以称为SAAS服务器,或简称服务器。
SaaS系统包括服务器、用户和系统管理员。系统管理员也可以通过网络接口与服务器连接,或者系统管理员通过输入接口控制服务器。系统管理员拥有服务器的管理权限,可以对服务器内的数据进行编辑。用户也可以称为客户端或用户端,用户可以访问服务器。服务器内有多个相互独立的数据库,数据库用于向用户提供服务。
本申请中以业财融合分析(MultipleAnalysis Platform,简称“MAP”)作为SaaS系统的例子。由于业财融合分析MAP的业务属性,所以接入的租户的数据都是非常敏感的金额,交易流水,现金流等数据,各租户对数据安全性要求高,为了保证数据的隔离与安全,避免数据泄露,所以本申请设计了不同的租户绑定不同的数据库的架构体系,将不同租户的业务数据完全隔离开来,即使在系统出错或者一个租户的账号泄露的情况下,也只能看到异常账号对应租户的数据,而不会看到整个系统所有租户的业务数据,避免了所有租户数据的泄露。
如图1所示,本申请实施例提供了一种SaaS系统数据库的隔离方法,包括步骤101至步骤107。
101、接收用户的登录申请。
通过网络接口接收用户发送的登录申请。登录申请中携带用户的标识,例如用户名、用户地址、用户代号、用户ID或用户IP等。
102、判断是否存在与用户关联的正式租户。
服务器查询人员账户管理列表,判断用户是否关联了正式租户。
当用户登录MAP系统后,后台会通过查询用户与租户的关联记录来判断该用户是否绑定了正式租户,如果没有,则继续使用默认数据库,后台不做操作(系统启动后会使用默认数据库)。
103、若存在与用户关联的正式租户,则判断与用户关联的正式租户数量是否大于1。
如果用户是否关联了正式租户,则进一步判断用户关联的正式用户的数量是1还是大于1。
如果只绑定了一个正式租户,则登录后,后台会自动切换其对应的数据库为正式租户绑定的数据库,具体实现方式为后台查询出当前用户关联的租户id,并将其设置进一个继承AbstractRoutingDataSource类的determineCurrentLookupKey方法里,系统会在进行数据库操作的时候读取该方法返回的租户id,再决定使用具体某个数据库(通过租户id去查找setTargetDataSource方法中的数据源value)。
104、若与用户关联的正式租户数量大于1,则向用户反馈租户列表,租户列表中包括所有与用户关联的正式租户。
如果用户关联的正式租户的数量大于1,就需要确定用户需要使用哪一个正式租户,因此将该用户的租户列表发送给用户。租户列表是人员账户管理列表的一部分,人员账户管理列表中记录所有用户的所有租户信息,租户列表则记录一个用户的所有租户信息。
如果其绑定了多个正式租户,则后台会将该用户关联的租户列表数据返回给前端,前端在该用户登录成功后立刻弹框展示这些租户信息,让用户选择进入哪一个正式租户,用户选择某个租户点击确定提交后,后台会按上述步骤将用户选择的租户的id设置进determineCurrentLookupKey方法里进行数据库的动态切换操作,同时当确定了用户使用某个正式租户的数据库时,后台也会将该用户的token与其所选的租户id的关联信息存储到redis里面,每次该用户操作业务数据时,都会先从redis里面获取到其租户信息并设置进determineCurrentLookupKey方法来进行数据库的动态切换,让其操作的业务数据存储到对应的独立数据库,以此保证数据的完全隔离、安全。
105、接收用户根据租户列表选择的目标租户的标识。
用户接收到服务器发送的租户列表后,选择一个目标租户,将目标租户的标识发送到服务器。服务器接收用户发送的目标租户的标识,确定目标租户。租户的标识可以是租户账号或租户地址等。
106、根据目标租户的标识获取目标租户的数据库配置,目标租户的数据库配置对应一个独立的目标数据库,关联数据库配置和用户的令牌。
服务器根据目标租户的标识确定了目标租户后,获取目标租户的数据库配置。租户的数据库配置包括数据库的IP、端口、名称、密码等信息。一个租户对应一个数据库,也就是说用户需要使用数据库就需要先租用该数据库,申请称为租户,一个租户租用一个数据库,租用多个数据库就需要多个租户。一个用户可以租用一个数据库,也可以租用多个数据库,所以一个用户可以申请一个租户,也可以申请多个租户。为了让用户能够访问目标数据库,将目标租户的数据库配置和用户的令牌关联。用户向服务器发送的登录申请中可以携带令牌。令牌也可以是用户专门发送给服务器的。
107、允许用户使用令牌访问目标数据库。
用户使用令牌对目标数据库进行访问,服务器允许用户的访问。对数据库的访问包括读取、写入、修改等操作。
如图2所示,本申请实施例的一种实现方式中,接收用户的登录申请前,所述方法还包括:
201、接收用户发送的多租户开通申请。
用户向服务器发送多租户开通申请。多租户开通申请用于开通多个新的正式租户。服务器接收用户发送的多租户开通申请。
202、判断系统管理员是否通过多租户开通申请。
服务器将多租户开通申请发送给系统管理员。系统管理员接收到多租户开通申请后,决定是否通过用户提交的多租户开通申请,并将通过或不通过的决定发送到服务器。
203、若系统管理员通过多租户开通申请,则接受系统管理员更新人员账户管理列表,为用户关联多个正式租户。
如果系统管理员通过了用户提交的租户开通申请,则系统管理员进一步对人员账户管理列表进行修改。系统管理员在人员账户管理列表中,为用户关联多个正式租户,也就是使得一个用户下有多个正式租户。人员账户管理列表修改后,用户的租户列表也会被对应修改。服务器接受系统管理员修改人员账户管理列表等操作。
系统管理员可以根据需要在人员账户管理列表为不同的用户分配多个租户,具体步骤为,登录管理后台,打开人员账户管理列表,选择某条用户信息,点击分配权限,可以在租户栏选择下拉租户,分配租户后提交保存,后台会将该用户与提交的租户数据进行关联保存,以作后面用户登录系统时选择租户之用。用户可以在不同的正式租户之间进行切换绑定。
如图3所示,本申请实施例的一种实现方式中,接收用户发送的多租户开通申请前,所述方法还包括:
301、接收用户发送的租户开通申请。
用户向服务器发送租户开通申请。租户开通申请用于开通新的正式租户。服务器接收用户发送的租户开通申请。
302、判断系统管理员是否通过租户开通申请。
服务器将租户开通申请发送给系统管理员。系统管理员接收到租户开通申请后,决定是否通过用户提交的租户开通申请,并将通过或不通过的决定发送到服务器。
303、若系统管理员通过租户开通申请,则接受系统管理员为用户分配正式租户。
如果系统管理员通过了用户提交的租户开通申请,则系统管理员进一步为用户分配的正式租户。具体的,系统管理员修改租户的数据库配置,使得正式租户与独立的数据库关联。服务器接受系统管理员为用户分配正式租户等操作。
当注册的租户提交开通正式租户功能获批后,系统管理员会登录管理后台,进入租户管理列表,点开该租户的配置页面,填写上数据库的IP,端口,用户名,密码,库名后保存提交,后台会将这些信息更新到该租户的数据里,同时将该租户的状态更新为正式租户,并且会将新增加的数据库配置注册为新的数据源载入系统内存,该操作通过继承AbstractRoutingDataSource类并重写setTargetDataSource方法实现(setTargetDataSource方法的参数类型为哈希数据结构,key为租户id,value为数据源对象),则该租户下的用户都拥有了该数据库数据的操作权限,业务数据也会被存储到该独立的数据库里。业务数据可以简称为数据。
如图4所示,本申请实施例的一种实现方式中,接收用户发送的租户开通申请前,所述方法还包括:
401、接收用户发送的注册申请。
用户向服务器发送注册申请,注册申请是用户首次连接服务器时向服务器发送的申请。服务器接收用户发送的注册申请,记录写用户的用户名称、用户地址等信息。
用户在MAP系统的页面上进行注册,填写企业信息、用户信息后提交给后台。服务器也可以称为后台。
402、为用户分配演示租户。
服务器为注册完成的用户分配演示租户。演示租户对应的是默认数据库,默认数据库时公用的数据库,所有用户都能够进行访问。
后台会根据用户填写的信息在默认数据库生成一条用户数据,一条租户数据,一条企业数据,且这三者之间有关联关系。此时租户的功能并没有生效,其状态为演示租户,所以该用户的业务数据也都会落到默认数据库,其他所有用户都可以看到,数据不安全。
403、接受用户通过演示租户访问默认数据库。
已经注册但未申请正式租户的用户需要访问数据库时,服务器允许用户通过演示租户访问默认数据库。
当一个用户登录MAP系统后,后台会判断当前用户所绑定的租户,如果是没有开通租户功能的用户,则默认为演示租户,使用默认的数据库即可,如果用户绑定了正式的租户,则后台会进行数据库动态切换,使当前用户操作的业务数据存储到其绑定的租户所配置的独立数据库里,与其他正式租户以及演示租户的业务数据进行库隔离,这样当用户查看数据时也只能从当前租户的数据库中查询数据,而不能查看其他租户的业务数据,完全保证了数据的安全性与隔离性。
接受系统管理员为用户分配正式租户,具体包括:
接受系统管理员更新演示租户的数据库配置,将演示租户确定为正式租户,关联用户和正式租户。
系统管理员为用户分配的正式租户的方法是,将演示租户的数据库配置进行修改,也就是将演示租户对应的数据库从默认数据库修改为一个独立的数据库,然后将演示租户确定为正式租户,并将用户和正式租户关联,也就是使得用户名下拥有了正式租户。
本申请实施例的一种实现方式中,为用户分配演示租户后,所述方法还包括:
获取用户标识、企业标识和演示租户标识,关联用户标识、企业标识和演示租户标识。
在为用户分配演示租户之后,且接收用户发送的租户开通申请之前,获取用户标识、企业标识和演示租户标识,标识可以是名称或账号等。企业是指用户从属的企业。企业标识可以用户选择的或填写的。服务器将用户标识、企业标识和演示租户标识关联。
本申请实施例的一种实现方式中,关联数据库配置和用户的令牌后,所述方法还包括:
将目标租户的数据库配置和用户的令牌存储到Redis。
为了能够使得拥有多个正式租户的用户快速访问数据库,将目标租户的数据库配置和用户的令牌存储到Redis,如此用户能够在确定了目标租户后持续访问目标租户对应的目标数据库,直到用户重新选择其他正式租户为目标租户。
当有用户登录MAP系统时,后台会根据该用户的token与该用户所选的绑定的租户关联,同时将该关联存储到redis里面,每次该用户操作业务数据时,后台都会先去查redis其关联的租户信息,如果没有则查默认的数据库,如果有则根据租户绑定的数据库信息进行数据库的动态切换,使其操作的业务数据落到独立的数据库里,以保证数据的完全隔离,达到数据安全的目的。
本申请实施例还提供了一种SaaS系统数据库的隔离装置,包括:
登录单元,用于接收用户的登录申请。
判断单元,用于判断是否存在与用户关联的正式租户。
判断单元,还用于在存在与用户关联的正式租户时,判断与用户关联的正式租户数量是否大于1。
反馈单元,用于在与用户关联的正式租户数量大于1时,向用户反馈租户列表,租户列表中包括所有与用户关联的正式租户。
接收单元,用于接收用户根据租户列表选择的目标租户的标识。
关联单元,用于根据目标租户的标识获取目标租户的数据库配置,目标租户的数据库配置对应一个独立的目标数据库,关联数据库配置和用户的令牌。
访问单元,用于允许用户使用令牌访问目标数据库。
本申请实施例的一种实现方式中,所述装置还包括:接收单元,用于接收用户发送的多租户开通申请。
判断单元,还用于判断系统管理员是否通过多租户开通申请。
关联单元,还用于在系统管理员通过多租户开通申请,时接受系统管理员更新人员账户管理列表,为用户关联多个正式租户。
本申请实施例的一种实现方式中,接收单元,还用于接收用户发送的租户开通申请。
判断单元,还用于判断系统管理员是否通过租户开通申请。
所述装置还包括:分配单元,用于若系统管理员通过租户开通申请,则接受系统管理员为用户分配正式租户。
本申请实施例的一种实现方式中,所述装置还包括:
注册单元,用于接收用户发送的注册申请。
分配单元,还用于为用户分配演示租户。
范围单元,还用于接受用户通过演示租户访问默认数据库。
分配单元,具体用于:接受系统管理员更新演示租户的数据库配置,将演示租户确定为正式租户,关联用户和正式租户。
本申请实施例的一种实现方式中,关联单元,还用于获取用户标识、企业标识和演示租户标识,关联用户标识、企业标识和演示租户标识。
本申请实施例的一种实现方式中,所述装置还包括:存储单元,用于将目标租户的数据库配置和用户的令牌存储到Redis。
如图5所示,本申请实施例还提供了一种计算机设备500,包括:
中央处理器501,存储器505,输入输出接口504,有线或无线网络接口503以及电源502。
存储器505为短暂存储存储器或持久存储存储器。
中央处理器501配置为与存储器505通信,并执行存储器505中的指令操作以执行如图1至图4所示实施例中的方法。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质包括指令,当指令在计算机上运行时,使得计算机执行如图1至图4所示实施例中的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如图1至图4所示实施例中的方法。
本申请实施例还提供了一种芯片系统,芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行如图1至图4所示实施例中的方法。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种SaaS系统数据库的隔离方法,其特征在于,包括:
接收用户的登录申请;
判断是否存在与用户关联的正式租户;
若存在与用户关联的正式租户,则判断与用户关联的正式租户数量是否大于1;
若与用户关联的正式租户数量大于1,则向用户反馈租户列表,租户列表中包括所有与用户关联的正式租户;
接收用户根据租户列表选择的目标租户的标识;
根据目标租户的标识获取目标租户的数据库配置,目标租户的数据库配置对应一个独立的目标数据库,关联数据库配置和用户的令牌;
允许用户使用令牌访问目标数据库。
2.根据权利要求1所述的SaaS系统数据库的隔离方法,其特征在于,接收用户的登录申请前,所述方法还包括:
接收用户发送的多租户开通申请;
判断系统管理员是否通过多租户开通申请;
若系统管理员通过多租户开通申请,则接受系统管理员更新人员账户管理列表,为用户关联多个正式租户。
3.根据权利要求2所述的SaaS系统数据库的隔离方法,其特征在于,接收用户发送的多租户开通申请前,所述方法还包括:
接收用户发送的租户开通申请;
判断系统管理员是否通过租户开通申请;
若系统管理员通过租户开通申请,则接受系统管理员为用户分配正式租户。
4.根据权利要求3所述的SaaS系统数据库的隔离方法,其特征在于,
接收用户发送的租户开通申请前,所述方法还包括:
接收用户发送的注册申请;
为用户分配演示租户;
接受用户通过演示租户访问默认数据库;
接受系统管理员为用户分配正式租户,具体包括:
接受系统管理员更新演示租户的数据库配置,将演示租户确定为正式租户,关联用户和正式租户。
5.根据权利要求4所述的SaaS系统数据库的隔离方法,其特征在于,
为用户分配演示租户后,所述方法还包括:
获取用户标识、企业标识和演示租户标识,关联用户标识、企业标识和演示租户标识。
6.根据权利要求1所述的SaaS系统数据库的隔离方法,其特征在于,
关联数据库配置和用户的令牌后,所述方法还包括:
将目标租户的数据库配置和用户的令牌存储到Redis。
7.一种SaaS系统数据库的隔离装置,其特征在于,包括:
登录单元,用于接收用户的登录申请;
判断单元,用于判断是否存在与用户关联的正式租户;
判断单元,还用于在存在与用户关联的正式租户时,判断与用户关联的正式租户数量是否大于1;
反馈单元,用于在与用户关联的正式租户数量大于1时,向用户反馈租户列表,租户列表中包括所有与用户关联的正式租户;
接收单元,用于接收用户根据租户列表选择的目标租户的标识;
关联单元,用于根据目标租户的标识获取目标租户的数据库配置,目标租户的数据库配置对应一个独立的目标数据库,关联数据库配置和用户的令牌;
访问单元,用于允许用户使用令牌访问目标数据库。
8.根据权利要求7所述的SaaS系统数据库的隔离装置,其特征在于,所述装置还包括:接收单元,用于接收用户发送的多租户开通申请;
判断单元,还用于判断系统管理员是否通过多租户开通申请;
关联单元,还用于在系统管理员通过多租户开通申请,时接受系统管理员更新人员账户管理列表,为用户关联多个正式租户。
9.一种计算机设备,其特征在于,包括:
中央处理器,存储器,输入输出接口,有线或无线网络接口以及电源;
存储器为短暂存储存储器或持久存储存储器;
中央处理器配置为与存储器通信,并执行存储器中的指令操作以执行如权利要求1至6中任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211573753.2A CN115906049A (zh) | 2022-12-08 | 2022-12-08 | 一种SaaS系统数据库的隔离方法及其相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211573753.2A CN115906049A (zh) | 2022-12-08 | 2022-12-08 | 一种SaaS系统数据库的隔离方法及其相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115906049A true CN115906049A (zh) | 2023-04-04 |
Family
ID=86489510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211573753.2A Pending CN115906049A (zh) | 2022-12-08 | 2022-12-08 | 一种SaaS系统数据库的隔离方法及其相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115906049A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117408579A (zh) * | 2023-12-14 | 2024-01-16 | 沈阳思陌网络科技有限公司 | 一种人工智能SaaS架构模式公务员平时考核评价系统及方法 |
-
2022
- 2022-12-08 CN CN202211573753.2A patent/CN115906049A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117408579A (zh) * | 2023-12-14 | 2024-01-16 | 沈阳思陌网络科技有限公司 | 一种人工智能SaaS架构模式公务员平时考核评价系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111240763B (zh) | 配置更新方法、装置、设备及存储介质 | |
RU2598324C2 (ru) | Средства управления доступом к онлайновой службе с использованием внемасштабных признаков каталога | |
CN108737325A (zh) | 一种多租户数据隔离方法、装置及系统 | |
CN107077389A (zh) | 用于在多租户应用服务器环境中使用全局运行时的系统和方法 | |
CN107077388A (zh) | 用于在多租户应用服务器环境中提供端到端生命周期的系统和方法 | |
US8316420B2 (en) | Access control on dynamically instantiated portal applications | |
US7596674B2 (en) | Data managed storage system for regulatory compliance | |
CN108694065A (zh) | 虚拟桌面系统及虚拟桌面控制方法 | |
KR20120062514A (ko) | SaaS 환경에서의 권한 관리 장치 및 방법 | |
CN111352737A (zh) | 一种基于资源池的容器云计算服务平台 | |
CN109951530A (zh) | 一种多租户模式的技术实现方法 | |
CN115906049A (zh) | 一种SaaS系统数据库的隔离方法及其相关设备 | |
US20220067170A1 (en) | Automated code analysis tool | |
CN112653665A (zh) | 一种基于云服务的数据隔离交互方法及系统 | |
CN111291354B (zh) | 设备绑定管理方法、系统、可读存储介质及设备终端 | |
US11405381B2 (en) | Tag-based access permissions for cloud computing resources | |
JP2012094106A (ja) | 情報処理装置及びプログラム | |
CN112037048B (zh) | 企业用户的网上银行使用方法及装置 | |
US20230195792A1 (en) | Database management methods and associated apparatus | |
CN113657943A (zh) | 一种虚拟资产划拨系统、方法、电子设备及存储介质 | |
US20090063620A1 (en) | Novel method and system for controlling access to features of a software program | |
CN113761506A (zh) | 权限管理方法和装置 | |
CN112699093A (zh) | 一种支持混合多云的文件存储方法及设备 | |
US20230007004A1 (en) | Account provisioning manager | |
CN113837593B (zh) | 虚拟数据分配方法、装置、设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |