CN112069210A - 一种saas平台多租户数据隔离方法 - Google Patents

一种saas平台多租户数据隔离方法 Download PDF

Info

Publication number
CN112069210A
CN112069210A CN202010847607.9A CN202010847607A CN112069210A CN 112069210 A CN112069210 A CN 112069210A CN 202010847607 A CN202010847607 A CN 202010847607A CN 112069210 A CN112069210 A CN 112069210A
Authority
CN
China
Prior art keywords
tenant
service instance
query request
database
preset
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
Application number
CN202010847607.9A
Other languages
English (en)
Inventor
叶乃宝
杨明
敬岩
谷冠飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shouqi Zhixing Technology Co Ltd
Original Assignee
Beijing Shouqi Zhixing Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Shouqi Zhixing Technology Co Ltd filed Critical Beijing Shouqi Zhixing Technology Co Ltd
Priority to CN202010847607.9A priority Critical patent/CN112069210A/zh
Publication of CN112069210A publication Critical patent/CN112069210A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开的saas平台多租户数据隔离方法,涉及计算机技术领域,通过解析appollo分布式配置中心配置的信息并将该信息存储于本地java虚拟机中,接收用户发起的查询请求,获取查询请求对应的租户标识及租户类型,根据租户标识及租户类型,从预设的租户与业务实例之间的匹配规则中获取相应的业务实例,将业务实例写入查询请求对应的SQL语句或该查询请求,执行该查询请求对应的SQL语句或该查询请求,根据预设的业务实例与数据库之间的匹配规则,为查询请求匹配对应的数据库,从该数据库中获取数据,节省了大量人工成本及设备成本,能快速获取租户信息并获取租户要获取的数据,提高了性能及可扩展性。

Description

一种saas平台多租户数据隔离方法
技术领域
本发明涉及计算机技术领域,具体涉及一种saas平台多租户数据隔离方法。
背景技术
当前流行的Saas平台,其搭建过程必然涉及到对租户数据进行隔离。针对多租户数据隔离的方案,一般情况下分为三种方案:一、仅共享硬件;二、仅共享应用程序,对每个租户使用不同的数据库;三、共享应用程序和数据库。第三种方案为目前主流的多租户数据隔离方案,但该方案需要复杂配置及大量的运维工作,人工及设备成本较高,不能快速定位租户信息,性能较低且灵活性及扩展性较差。
发明内容
为解决现有技术的不足,本发明实施例提供了一种saas平台多租户数据隔离方法,该方法包括以下步骤:
启动SpringBoot框架的启动器starter,解析appollo分布式配置中心配置的信息并将所述信息存储于本地java虚拟机中,其中,所述信息包括预设的租户与业务实例之间的匹配规则、预设的业务实例与数据库之间的匹配规则;
接收用户发起的查询请求,利用SQL语句解析组件或Elasticsearch查询代理组件解析用户发起的查询请求,得到所述查询请求对应的租户标识及租户类型;
根据所述租户标识及所述租户类型,从预设的租户与业务实例之间的匹配规则中获取相应的业务实例;
将所述业务实例写入所述查询请求对应的SQL语句或所述查询请求;
利用Mybatis框架中SQL语句执行组件SqlExecutor,执行所述查询请求对应的SQL语句或利用Elasticsearch查询代理组件中的索引引擎indexEngine,执行所述查询请求;
根据预设的业务实例与数据库之间的匹配规则,为所述查询请求匹配对应的数据库,从所述数据库中获取数据。
优选地,预设的租户与业务实例之间的匹配规则的创建过程包括:
利用appollo分布式配置中心,为各个业务实例设置相应的标识;
利用appollo分布式配置中心,为各个租户设置相应的类型、标识;
根据业务实例的标识、租户的标识,将业务实例与租户相关联,生成预设的租户与业务实例之间的匹配规则。
优选地,预设的业务实例与数据库之间的匹配规则的创建过程包括:
利用appollo分布式配置中心,设置各个业务实例的类型;
根据数据库的类型、业务实例的类型,将数据库与业务实例相关联,生成预设的业务实例与数据库之间的匹配规则。
优选地,一个业务实例对应不同类型的租户,同一类型的租户对应同一类型的数据库及不同的租户标识。
本发明实施例提供的saas平台多租户数据隔离方法具有以下有益效果:
(1)无需复杂配置及运维工作即可完成租户组件集成过滤,简单易用,能够节省大量人工成本及设备成本;
(2)能快速获取租户信息并获取租户要获取的数据,性能较高;
(3)各业务实例可根据其关联的租户类型,对其进行灵活配置字段,可扩展性较强。
具体实施方式
以下结合具体实施例对本发明作具体的介绍。
本发明实施例提供的saas平台多租户数据隔离方法包括以下步骤:
S101,启动SpringBoot框架的启动器starter,解析appollo分布式配置中心配置的信息并将该信息存储于本地java虚拟机中,其中,该信息包括预设的租户与业务实例之间的匹配规则、预设的业务实例与数据库之间的匹配规则。
作为本发明一个具体的实施例,针对共享汽车领域,业务实例包括订单类业务、维修类业务、车辆提供类业务及场地提供类业务。
S102,接收用户发起的查询请求,利用SQL语句解析组件或Elasticsearch查询代理组件解析用户发起的查询请求,得到查询请求对应的租户标识及租户类型。
作为本发明一个具体的实施例,租户标识为租户的登录账号,租户类型包括车辆供应商、场地供应商。
S103,根据租户标识及租户类型,从预设的租户与业务实例之间的匹配规则中获取相应的业务实例。
S104,将业务实例写入查询请求对应的SQL语句或该查询请求。
作为本发明一个具体的实施例,通过“and”语句将业务实例写入查询请求对应的SQL语句。
S105,利用Mybatis框架中SQL语句执行组件SqlExecutor,执行该查询请求对应的SQL语句或利用Elasticsearch查询代理组件中的索引引擎indexEngine,执行该查询请求。
S106,根据预设的业务实例与数据库之间的匹配规则,为查询请求匹配对应的数据库,从该数据库中获取数据。
可选地,预设的租户与业务实例之间的匹配规则的创建过程包括:
利用appollo分布式配置中心,为各个业务实例设置相应的标识;
利用appollo分布式配置中心,为各个租户设置相应的类型、标识;
根据业务实例的标识、租户的标识,将业务实例与租户相关联,生成预设的租户与业务实例之间的匹配规则。
可选地,预设的业务实例与数据库之间的匹配规则的创建过程包括:
利用appollo分布式配置中心,设置各个业务实例的类型;
根据数据库的类型、业务实例的类型,将数据库与业务实例相关联,生成预设的业务实例与数据库之间的匹配规则。
作为本发明一个具体的实施例,数据库包括Mysql等关系型数据库、Elasticsearch等非关系型数据库。
可选地,一个业务实例对应不同类型的租户,同一类型的租户对应同一类型的数据库及不同的租户标识。
本发明实施例提供的saas平台多租户数据隔离方法,通过启动SpringBoot框架的启动器starter,解析appollo分布式配置中心配置的信息并将该信息存储于本地java虚拟机中,接收用户发起的查询请求,利用SQL语句解析组件或Elasticsearch查询代理组件解析用户发起的查询请求,得到查询请求对应的租户标识及租户类型,根据租户标识及租户类型,从预设的租户与业务实例之间的匹配规则中获取相应的业务实例,将业务实例写入查询请求对应的SQL语句或该查询请求,利用Mybatis框架中SQL语句执行组件SqlExecutor,执行该查询请求对应的SQL语句或利用Elasticsearch查询代理组件中的索引引擎indexEngine,执行该查询请求,根据预设的业务实例与数据库之间的匹配规则,为查询请求匹配对应的数据库,从该数据库中获取数据,节省了大量人工成本及设备成本,能快速获取租户信息并获取租户要获取的数据,提高了性能及可扩展性。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (6)

1.一种saas平台多租户数据隔离方法,其特征在于,包括:
启动SpringBoot框架的启动器starter,解析appollo分布式配置中心配置的信息并将所述信息存储于本地java虚拟机中,其中,所述信息包括预设的租户与业务实例之间的匹配规则、预设的业务实例与数据库之间的匹配规则;
接收用户发起的查询请求,利用SQL语句解析组件或Elasticsearch查询代理组件解析用户发起的查询请求,得到所述查询请求对应的租户标识及租户类型;
根据所述租户标识及所述租户类型,从预设的租户与业务实例之间的匹配规则中获取相应的业务实例;
将所述业务实例写入所述查询请求对应的SQL语句或所述查询请求;
利用Mybatis框架中SQL语句执行组件SqlExecutor,执行所述查询请求对应的SQL语句或利用Elasticsearch查询代理组件中的索引引擎indexEngine,执行所述查询请求;
根据预设的业务实例与数据库之间的匹配规则,为所述查询请求匹配对应的数据库,从所述数据库中获取数据。
2.根据权利要求1所述的saas平台多租户数据隔离方法,其特征在于,预设的租户与业务实例之间的匹配规则的创建过程包括:
利用appollo分布式配置中心,为各个业务实例设置相应的标识;
利用appollo分布式配置中心,为各个租户设置相应的类型、标识;
根据业务实例的标识、租户的标识,将业务实例与租户相关联,生成预设的租户与业务实例之间的匹配规则。
3.根据权利要求1所述的saas平台多租户数据隔离方法,其特征在于,预设的业务实例与数据库之间的匹配规则的创建过程包括:
利用appollo分布式配置中心,设置各个业务实例的类型;
根据数据库的类型、业务实例的类型,将数据库与业务实例相关联,生成预设的业务实例与数据库之间的匹配规则。
4.根据权利要求1所述的saas平台多租户数据隔离方法,其特征在于,一个业务实例对应不同类型的租户,同一类型的租户对应同一类型的数据库及不同的租户标识。
5.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如权利要求1至3任一项所述的方法。
6.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至3任一项所述的方法。
CN202010847607.9A 2020-08-21 2020-08-21 一种saas平台多租户数据隔离方法 Pending CN112069210A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010847607.9A CN112069210A (zh) 2020-08-21 2020-08-21 一种saas平台多租户数据隔离方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010847607.9A CN112069210A (zh) 2020-08-21 2020-08-21 一种saas平台多租户数据隔离方法

Publications (1)

Publication Number Publication Date
CN112069210A true CN112069210A (zh) 2020-12-11

Family

ID=73658803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010847607.9A Pending CN112069210A (zh) 2020-08-21 2020-08-21 一种saas平台多租户数据隔离方法

Country Status (1)

Country Link
CN (1) CN112069210A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112367408A (zh) * 2021-01-13 2021-02-12 树根互联技术有限公司 一种物联网多租户数据的管理系统及方法
CN112527504A (zh) * 2020-12-17 2021-03-19 金蝶蝶金云计算有限公司 多租户的资源配额管理方法、装置、计算机设备
CN112905630A (zh) * 2021-03-31 2021-06-04 浙江太美医疗科技股份有限公司 数据操作方法、服务器和计算机可读介质
CN112905617A (zh) * 2021-03-31 2021-06-04 浙江太美医疗科技股份有限公司 数据写入方法、服务器及计算机可读存储介质
CN112905636A (zh) * 2021-03-31 2021-06-04 浙江太美医疗科技股份有限公司 数据操作方法、服务器和计算机可读介质
CN113821531A (zh) * 2021-09-28 2021-12-21 山东舜网传媒股份有限公司 融媒体多租户数据隔离方法、系统及设备
CN115118765A (zh) * 2022-06-20 2022-09-27 北京京东乾石科技有限公司 服务处理的方法、装置、电子设备和存储介质
CN115391828A (zh) * 2022-10-31 2022-11-25 泰豪软件股份有限公司 基于微服务架构的多租户平台的数据隔离方法及系统
CN116010431A (zh) * 2023-03-27 2023-04-25 北京有生博大软件股份有限公司 基于多租户模式下的数据要素管理方法及管理系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036856A (zh) * 2011-10-09 2013-04-10 镇江金软计算机科技有限责任公司 基于saas应用的多租户系统实现
CN104462421A (zh) * 2014-12-12 2015-03-25 中国科学院声学研究所 基于键-值数据库的多租户扩展方法
CN108829507A (zh) * 2018-03-30 2018-11-16 北京百度网讯科技有限公司 分布式数据库系统的资源隔离方法、装置和服务器
CN109412878A (zh) * 2019-01-16 2019-03-01 紫光云数科技有限公司 多租户业务接入实现方法、装置及电子设备
CN110737663A (zh) * 2019-10-15 2020-01-31 腾讯科技(深圳)有限公司 一种数据存储方法、装置、设备及存储介质
CN110765489A (zh) * 2019-10-30 2020-02-07 深圳前海环融联易信息科技服务有限公司 多租户数据库隔离方法、系统、电子设备及计算机存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036856A (zh) * 2011-10-09 2013-04-10 镇江金软计算机科技有限责任公司 基于saas应用的多租户系统实现
CN104462421A (zh) * 2014-12-12 2015-03-25 中国科学院声学研究所 基于键-值数据库的多租户扩展方法
CN108829507A (zh) * 2018-03-30 2018-11-16 北京百度网讯科技有限公司 分布式数据库系统的资源隔离方法、装置和服务器
CN109412878A (zh) * 2019-01-16 2019-03-01 紫光云数科技有限公司 多租户业务接入实现方法、装置及电子设备
CN110737663A (zh) * 2019-10-15 2020-01-31 腾讯科技(深圳)有限公司 一种数据存储方法、装置、设备及存储介质
CN110765489A (zh) * 2019-10-30 2020-02-07 深圳前海环融联易信息科技服务有限公司 多租户数据库隔离方法、系统、电子设备及计算机存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527504A (zh) * 2020-12-17 2021-03-19 金蝶蝶金云计算有限公司 多租户的资源配额管理方法、装置、计算机设备
CN112367408A (zh) * 2021-01-13 2021-02-12 树根互联技术有限公司 一种物联网多租户数据的管理系统及方法
CN112905630A (zh) * 2021-03-31 2021-06-04 浙江太美医疗科技股份有限公司 数据操作方法、服务器和计算机可读介质
CN112905617A (zh) * 2021-03-31 2021-06-04 浙江太美医疗科技股份有限公司 数据写入方法、服务器及计算机可读存储介质
CN112905636A (zh) * 2021-03-31 2021-06-04 浙江太美医疗科技股份有限公司 数据操作方法、服务器和计算机可读介质
CN112905617B (zh) * 2021-03-31 2023-01-24 浙江太美医疗科技股份有限公司 数据写入方法、服务器及计算机可读存储介质
CN113821531A (zh) * 2021-09-28 2021-12-21 山东舜网传媒股份有限公司 融媒体多租户数据隔离方法、系统及设备
CN115118765A (zh) * 2022-06-20 2022-09-27 北京京东乾石科技有限公司 服务处理的方法、装置、电子设备和存储介质
CN115118765B (zh) * 2022-06-20 2024-04-05 北京京东乾石科技有限公司 服务处理的方法、装置、电子设备和存储介质
CN115391828A (zh) * 2022-10-31 2022-11-25 泰豪软件股份有限公司 基于微服务架构的多租户平台的数据隔离方法及系统
CN116010431A (zh) * 2023-03-27 2023-04-25 北京有生博大软件股份有限公司 基于多租户模式下的数据要素管理方法及管理系统

Similar Documents

Publication Publication Date Title
CN112069210A (zh) 一种saas平台多租户数据隔离方法
CN109977110B (zh) 数据清洗方法、装置及设备
US9558218B2 (en) Truncating data associated with objects in a multi-tenant database
US9323809B2 (en) System and methods for rapid data analysis
CN101031907B (zh) 索引处理
CN108932313B (zh) 数据处理方法、装置、电子设备及存储介质
CN107016019B (zh) 数据库索引创建方法及装置
CA3176450A1 (en) Method and apparatus for implementing incremental data consistency
CN109144978B (zh) 权限管理方法及装置
CN106407360B (zh) 一种数据的处理方法及装置
CA2461871A1 (en) An efficient index structure to access hierarchical data in a relational database system
CN107291770A (zh) 一种分布式系统中海量数据的查询方法及装置
US20120215569A1 (en) Method, system and computer program to provide fares detection from rules attributes
US20120330988A1 (en) Systems And Methods For Performing Index Joins Using Auto Generative Queries
CN103793401B (zh) 建立多个数据库表的共享索引的方法及装置
CN109669946B (zh) 一种基于海量用户的复杂权限体系数据隔离系统及方法
CN110147396B (zh) 一种映射关系生成方法及装置
US10007689B1 (en) Temporally consistent group keys
CN111078728A (zh) 一种数据库归档模式下跨库查询方法和装置
US9087052B2 (en) Batch DBMS statement processing such that intermediate feedback is provided prior to completion of processing
CN106372121B (zh) 服务器及数据处理方法
JP5278533B2 (ja) アクセス制御装置、情報管理装置およびアクセス制御方法
CN107832349A (zh) 一种业务对象的管理方法以及信息管理系统
GB2507874A (en) Comparing man-hours for manual and automated testing
CN102799645A (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