CN109388631A - 一种多租户的数据库分库实现方法 - Google Patents
一种多租户的数据库分库实现方法 Download PDFInfo
- Publication number
- CN109388631A CN109388631A CN201811183545.5A CN201811183545A CN109388631A CN 109388631 A CN109388631 A CN 109388631A CN 201811183545 A CN201811183545 A CN 201811183545A CN 109388631 A CN109388631 A CN 109388631A
- Authority
- CN
- China
- Prior art keywords
- tenant
- user
- database
- mycat
- realizes
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000002085 persistent effect Effects 0.000 claims abstract description 8
- 238000013507 mapping Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 3
- 230000008878 coupling Effects 0.000 abstract description 2
- 238000010168 coupling process Methods 0.000 abstract description 2
- 238000005859 coupling reaction Methods 0.000 abstract description 2
- 238000012423 maintenance Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 4
- 238000002955 isolation Methods 0.000 description 4
- 238000002898 library design Methods 0.000 description 2
- IGXGTNBLVPCUNT-UHFFFAOYSA-N 5-[2-(2-butoxyethoxy)ethoxymethyl]-6-propyl-1,3-benzodioxole;[cyano-(3-phenoxyphenyl)methyl] 3-(2,2-dichloroethenyl)-2,2-dimethylcyclopropane-1-carboxylate;diethoxy-sulfanylidene-(3,5,6-trichloropyridin-2-yl)oxy-$l^{5}-phosphane Chemical compound CCOP(=S)(OCC)OC1=NC(Cl)=C(Cl)C=C1Cl.C1=C(CCC)C(COCCOCCOCCCC)=CC2=C1OCO2.CC1(C)C(C=C(Cl)Cl)C1C(=O)OC(C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 IGXGTNBLVPCUNT-UHFFFAOYSA-N 0.000 description 1
- 101100119081 Mus musculus Ermap gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000004224 protection Effects 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种多租户的数据库分库实现方法,通过MyCat配置,实现租户与数据库的关联映射;通过基础架构配置,实现租户与用户关联映射;通过基础架构整改,实现用户登录统一拦截,并对用户身份进行标识;通过Mybatis组件整改,对持久层SQL语句实现统一拦截处理,添加MyCat注解,实现租户只能操作其权限范围内的数据。本发明实现逻辑简单、结构清晰、低耦合、易扩展、易维护,大大减少了运维维护与租户租赁成本。
Description
技术领域
本发明涉及计算机技术领域,具体地说是一种多租户的数据库分库实现方法。
背景技术
多租户技术是SaaS应用的核心技术之一,它研究的主要问题是多租户环境下***或应用组件的复用问题,关键是确保各租户专属数据的隔离性。为了使不同租户的应用相互独立,同时租户的私有数据得到足够的保护,在不同租户间应采取应用隔离和数据隔离措施,达到租户隔离的总目标。
在技术上,有多种方式切割用户的应用环境和数据来达到隔离的目的:在数据层面,通常是切割数据库、存储区等,必要时会进行对称或非对称加密以保护敏感数据,不同的隔离方法有不同的实现复杂度与风险;在程序层面,通常利用程序挂载环境,在进程上切割租户的程序运行环境,从而在无法跨进程通信的条件下,租户的应用得以隔离;在***层面,主要利用虚拟技术,把实体***从逻辑上切割成多个虚拟机,租户在不同的虚拟机上运行应用,保存数据,达到隔离目的。
发明内容
本发明的技术任务是针对以上不足之处,提供一种多租户的数据库分库实现方法。
本发明解决其技术问题所采用的技术方案是:一种多租户的数据库分库实现方法,
通过MyCat配置,实现租户与数据库的关联映射;
通过基础架构配置,实现租户与用户关联映射;
通过基础架构整改,实现用户登录统一拦截,并对用户身份进行标识;
通过Mybatis组件整改,对持久层SQL语句实现统一拦截处理,添加MyCat注解,实现租户只能操作其权限范围内的数据。
进一步的,优选的方法为,
所述的标识用户身份,根据租户与用户的关联映射,标记用户所属的租户。
进一步的,优选的方法为,
所述的租户权限范围内的数据包括租户本级及其下级租户的数据。
进一步的,优选的方法为,
所述的租户与用户关联映射独立于租户数据库,租户与用户的关联映射单独存储。
进一步的,优选的方法为,
方法还包括根据需求,查询租户权限范围内的数据。
进一步的,优选的方法为,具体操作步骤如下:
首先在登录页面输入用户名和密码进行登录***;
然后获取用户所属的租户信息,若获取失败则进入警示页面;获取成功后,对登录用户添加所属租户身份标识,进行用户身份鉴别,通过引入Mybatis组件对要执行的SQL语句进行统一拦截处理,添加MyCat注解;
MyCat解析、分发SQL,若获取失败则进入警示页面;获取成功后,租户***执行身份认证SQL,若获取失败则进入警示页面;获取成功后,从而进入租户业务***,执行业务操作。
一种多租户的数据库分库实现***,包括租户与数据库关联映射模块、租户与用户关联映射模块、用户身份识别模块和租户操作权限限制模块;
所述的租户与数据库关联映射模块,通过MyCat配置,实现租户与数据库的关联映射;
所述的租户与用户关联映射模块,通过基础架构配置,实现租户与用户关联映射;
所述的用户身份识别模块,通过基础架构整改,实现用户登录统一拦截;并根据用户和租户关联映射,对用户身份进行标识;
所述的租户操作权限限制模块;通过Mybatis组件整改,对持久层SQL语句实现统一拦截处理,添加MyCat注解,实现租户只能操作其权限范围内的数据。
本发明的一种多租户的数据库分库实现方法和现有技术相比,有益效果如下:
1、MyCat只需配置租户与数据库的关联映射,而租户与数据库的关联映射配置是灵活的、可配置的;
2、***基础架构实现租户与用户的关系映射,租户与用户关系映射独立与租户数据库,单独进行存储;
3、登录用户可操作其权限范围内的数据,包括本级及下级租户数据;
4、通过分库设计以及编码实现多租户的数据分库隔离;
5、可以独立应用于不同的产品,实现逻辑简单、结构清晰、低耦合、易扩展、易维护,大大减少了运维维护与租户租赁成本。
附图说明
下面结合附图对本发明进一步说明。
附图1为多租户的数据库分库实现方法的流程框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
本发明为一种多租户的数据库分库实现方法, MyCat只需配置租户与数据库的关联映射,而租户与数据库的关联映射配置是灵活的、可配置的;登录用户可操作其权限范围内的数据,包括本级及下级租户数据;通过分库设计以及编码实现多租户的数据分库隔离。
实施例1:
Mycat是一个开源的分布式数据库***,是一个实现了MySQL协议的Server,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生(Native)协议与多个MySQL服务器通信,也可以用JDBC(JavaDataBaseConnectivity java,数据库连接)协议与大多数主流数据库服务器通信。
为了最终实现多租户的数据分库隔离,在设计上主要包括分库设计与编码实现,通过以下步骤完成:
租户与数据库的关联映射,配置MyCat的schema.xml,包含数据节点以及配置数据库信息,其中数据库信息又包括数据库模式、主机地址、用户名、密码等。
配置MyCat的partition-hash.txt,其中配置格式为:租户标识=数据库模式坐标,其中数据库模式坐标从0开始。
租户与用户关联映射,独立数据源存储租户与用户关联映射,此映射在租户***进行新增用户时触发,用户为新增用户,租户为创建者所属租户。
用户身份标识,用户通过登录界面登录租户***,基础架构首先查询此用户属于哪个租户,然后对此用户进行身份标识,以用户后续添加MyCat注解与多租户数据操作。
持久层添加MyCat注解,对持久层引入的Mybatis组件进行升级改造,修改org.apache.ibatis.mapping包下的MappedStatement类,对要执行的SQL语句进行统一处理,添加MyCat注解,格式如下:/*!mycat:sql= SELECT 1 FROM MASTER_SHARDING WHEREZZNM = 'SA5000000000001'*/ SQL;。
多租户数据操作,通过java线程变量存储租户列表,持久层判断此变量是否被设置,如果没有,则默认查询本租户自身数据,如果设置,则根据设置内容查询权限内租户数据。
下面对本发明的技术逻辑实现进行详细说明。
MyCat组件配置示例,包括:数据库模式配置、数据节点配置、数据库配置。
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
<!-- auto sharding by id (long) -->
<table name="MASTER_SHARDING" dataNode="dnSA5000000000001, dnSA5000000000002,dnSA5000000000003,dnSA5000000000004,dnSA5000000000005, dnSA5000000000006,dnSA5000000000007,dnSA5000000000008,dnSA5000000000009" rule="MASTER_SHARDING_rule"/>
</schema>
<dataNode name="dnSA5000000000001" dataHost="node0" database=" DBSA5000000000001" />
<dataHost name="node0" maxCon="10000" minCon="1" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType=" 1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="host0" url="10.24.21.5:3306" user="root" password="lcwkd123" />
</dataHost>
租户与数据库模式匹配配置:
SA5000000000001=0
SA5000000000002=1
SA5000000000003=2
SA5000000000004=3
SA5000000000005=4
SA5000000000006=5
SA5000000000007=6
SA5000000000008=7
SA5000000000009=8
用户登录统一拦截整改:
web.xml,此过滤器在字符处理过滤器之后,其他所有过滤器之前。
<filter>
<filter-name>SecurityContextIntegrationFilter</filter-name>
<filter-class>
org.loushang.bsp.security.context.HttpSessionContextIntegrationFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>SecurityContextIntegrationFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
过滤器核心代码如下:
//如果是登录请求的话,查询登录用户对应的租户
String pathInfo = request.getRequestURL().toString();
if (pathInfo != null && pathInfo.indexOf("/j_bsp_security_check/") >= 0
&& httpSession != null && httpSession.getAttribute(SCHEMA_BSP) == null) {
IAddStruService addStruService = AddOrganServiceFactory.ge tAddStruService();
String tenantId = addStruService.getTenantidByUserid(request.getParameter("j_username"));
httpSession.setAttribute(SCHEMA_BSP, tenantId);
}
Mybatis整改核心代码如下,对执行SQL进行统一拦截处理:
public BoundSql getBoundSql(Object parameterObject) {
BoundSql boundSql = sqlSource.getBoundSql(parameterObject);
List<ParameterMapping> parameterMappings =boundSql.getParameterMappings();
if (parameterMappings == null || parameterMappings.size() <= 0) {
boundSql = new BoundSql(configuration, boundSql.getSql(), parameterMap.getParameterMappings(), parameterObject);
}
// check for nested result maps in parameter mappings (issue #30)
for (ParameterMapping pm : boundSql.getParameterMappings()) {
String rmId = pm.getResultMapId();
if (rmId != null) {
ResultMap rm = configuration.getResultMap(rmId);
if (rm != null) {
hasNestedResultMaps |= rm.hasNestedResultMaps();
}
}
}
//添加mycat注解
String mycatAnnotation = MycatUtil.addSchemas();
if(!"".equals(mycatAnnotation)){
String sql = boundSql.getSql();
String realSql = mycatAnnotation + sql;
MetaObject metaObject = SystemMetaObject.forObject(boundSql);
metaObject.setValue("sql", realSql);
}
return boundSql;
}
线程变量核心代码如下:
/**
* 查询租户集合,可选项:
* null
* bool:true、false
* String:SELF、BRANCH、ALL
* String[]:组织内码struId数组
* List<String>:组织内码struId列表
*/
privatestatic ThreadLocal<Object> schemaHolder = new ThreadLocal<Object>();
注解拼接核心代码如下:
接口定义:
/**
* 根据当前登录用户StruId返回mycat注解
* @param schemas
* @return 返回注解。返回之前设置BspInfo的Schemas为null
*/
publicstatic String addSchemas();
接口实现:
Object schemas = SchemaContextHolder.getContext();
//未传递schema
if(schemas == null){
......
}
//boolean值
if(schemas instanceof Boolean){
......
}
//传递字符串
if(schemas instanceof String){
if(SCHEMA_TYPE_SELF.equals(((String) schemas).toUpperCase())){
//直连数据库的情况
......
}
if(SCHEMA_TYPE_BRANCH.equals(((String) schemas).toUpperCase())){
......
}
if(SCHEMA_TYPE_ALL.equals(((String) schemas).toUpperCase())){
......
}
}
if(schemas instanceof String[]){
......
}
if(schemas instanceof List){
......
}
SchemaContextHolder.setContext(null);
如附图1所示,进入多租户的业务***的工作模式如下,登录页面输入用户名和密码从而进行登录***,进行获取用户所属的租户信息,若获取失败也进入警示页面;获取成功后,对登录用户添加所属租户身份标识,进行用户身份鉴别,通过引入Mybatis组件对要执行的SQL语句进行统一拦截处理,添加MyCat注解;MyCat解析、分发SQL,若获取失败也进入警示页面;获取成功后,租户***执行身份认证SQL,若获取失败也进入警示页面;获取成功后,从而进入租户业务***,执行业务操作。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
Claims (8)
1.一种多租户的数据库分库实现方法,其特征在于,
通过MyCat配置,实现租户与数据库的关联映射;
通过基础架构配置,实现租户与用户关联映射;
通过基础架构整改,实现用户登录统一拦截,并对用户身份进行标识;
通过Mybatis组件整改,对持久层SQL语句实现统一拦截处理,添加MyCat注解,实现租户只能操作其权限范围内的数据。
2.根据权利要求1所述的一种多租户的数据库分库实现方法,其特征在于,
所述的标识用户身份,根据租户与用户的关联映射,标记用户所属的租户。
3.根据权利要求1所述的一种多租户的数据库分库实现方法,其特征在于,所述的租户权限范围内的数据包括租户本级及其下级租户的数据。
4.根据权利要求1所述的一种多租户的数据库分库实现方法,其特征在于,所述的租户与用户关联映射独立于租户数据库,租户与用户的关联映射单独存储。
5.根据权利要求3所述的一种多租户的数据库分库实现方法,其特征在于,方法还包括根据需求,查询租户权限范围内的数据。
6.根据权利要求1所述的一种多租户的数据库分库实现方法,其特征在于,具体操作步骤如下:
首先在登录页面输入用户名和密码进行登录***;
然后获取用户所属的租户信息,若获取失败则进入警示页面;获取成功后,对登录用户添加所属租户身份标识,进行用户身份鉴别,通过引入Mybatis组件对要执行的SQL语句进行统一拦截处理,添加MyCat注解;
MyCat解析、分发SQL,若获取失败则进入警示页面;获取成功后,租户***执行身份认证SQL,若获取失败则进入警示页面;获取成功后,从而进入租户业务***,执行业务操作。
7.一种多租户的数据库分库实现***,其特征在于,包括租户与数据库关联映射模块、租户与用户关联映射模块、用户身份识别模块和租户操作权限限制模块;
所述的租户与数据库关联映射模块,通过MyCat配置,实现租户与数据库的关联映射;
所述的租户与用户关联映射模块,通过基础架构配置,实现租户与用户关联映射;
所述的用户身份识别模块,通过基础架构整改,实现用户登录统一拦截;并根据用户和租户关联映射,对用户身份进行标识;
所述的租户操作权限限制模块;通过Mybatis组件整改,对持久层SQL语句实现统一拦截处理,添加MyCat注解,实现租户只能操作其权限范围内的数据。
8.根据权利要求7所述的一种多租户的数据库分库实现方法,其特征在于,所述租户与用户关联映射模块独立于租户数据库,租户与用户关联映射模块单独存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811183545.5A CN109388631A (zh) | 2018-10-11 | 2018-10-11 | 一种多租户的数据库分库实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811183545.5A CN109388631A (zh) | 2018-10-11 | 2018-10-11 | 一种多租户的数据库分库实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109388631A true CN109388631A (zh) | 2019-02-26 |
Family
ID=65427465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811183545.5A Pending CN109388631A (zh) | 2018-10-11 | 2018-10-11 | 一种多租户的数据库分库实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109388631A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765489A (zh) * | 2019-10-30 | 2020-02-07 | 深圳前海环融联易信息科技服务有限公司 | 多租户数据库隔离方法、***、电子设备及计算机存储介质 |
CN110851853A (zh) * | 2019-09-18 | 2020-02-28 | 平安科技(深圳)有限公司 | 一种数据隔离方法、装置、计算机设备及存储介质 |
CN111177776A (zh) * | 2019-12-20 | 2020-05-19 | 平安资产管理有限责任公司 | 多租户数据隔离方法与*** |
CN111241125A (zh) * | 2020-01-08 | 2020-06-05 | 成都嗨学洛子教育科技有限公司 | 一种记录操作日志的方法、装置、电子设备和存储介质 |
CN111984712A (zh) * | 2019-05-24 | 2020-11-24 | 中移(苏州)软件技术有限公司 | 一种信息处理方法、装置及存储介质 |
CN111988173A (zh) * | 2020-08-19 | 2020-11-24 | 北京安瑞志远科技有限公司 | 基于多层父子结构租户的租户管理平台和租户管理方法 |
CN112367408A (zh) * | 2021-01-13 | 2021-02-12 | 树根互联技术有限公司 | 一种物联网多租户数据的管理***及方法 |
CN112487402A (zh) * | 2020-11-30 | 2021-03-12 | 浪潮通用软件有限公司 | 一种基于erp***的多租户登录方法、设备及介质 |
CN112596857A (zh) * | 2020-12-25 | 2021-04-02 | 北京知因智慧科技有限公司 | 一种SaaS多租户数据隔离的方法、装置、设备及介质 |
CN112800122A (zh) * | 2021-02-08 | 2021-05-14 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置和电子设备 |
CN112905617A (zh) * | 2021-03-31 | 2021-06-04 | 浙江太美医疗科技股份有限公司 | 数据写入方法、服务器及计算机可读存储介质 |
WO2021169112A1 (zh) * | 2020-02-28 | 2021-09-02 | 平安国际智慧城市科技股份有限公司 | 基于共享权限的业务数据处理方法、装置、设备和介质 |
CN113535723A (zh) * | 2021-07-13 | 2021-10-22 | 杭州安恒信息技术股份有限公司 | 一种多租户数据库管控方法、***及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106686031A (zh) * | 2015-11-09 | 2017-05-17 | 广东华邦云计算股份有限公司 | 将应用升级为SaaS模式的方法及装置 |
CN107483437A (zh) * | 2017-08-14 | 2017-12-15 | 深圳市华傲数据技术有限公司 | 一种用户统一登录管理方法及装置 |
US20180024969A1 (en) * | 2016-07-24 | 2018-01-25 | Justin Khoo | System and method for interactive email |
-
2018
- 2018-10-11 CN CN201811183545.5A patent/CN109388631A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106686031A (zh) * | 2015-11-09 | 2017-05-17 | 广东华邦云计算股份有限公司 | 将应用升级为SaaS模式的方法及装置 |
US20180024969A1 (en) * | 2016-07-24 | 2018-01-25 | Justin Khoo | System and method for interactive email |
CN107483437A (zh) * | 2017-08-14 | 2017-12-15 | 深圳市华傲数据技术有限公司 | 一种用户统一登录管理方法及装置 |
Non-Patent Citations (1)
Title |
---|
张生荣: "MyBatis利用MyCat实现多租户的简单思路分享", 《HTTPS://WWW.ZHANGSHENGRONG.COM/P/BONWRVZMAW/》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984712A (zh) * | 2019-05-24 | 2020-11-24 | 中移(苏州)软件技术有限公司 | 一种信息处理方法、装置及存储介质 |
CN111984712B (zh) * | 2019-05-24 | 2022-12-13 | 中移(苏州)软件技术有限公司 | 一种信息处理方法、装置及存储介质 |
WO2021051569A1 (zh) * | 2019-09-18 | 2021-03-25 | 平安科技(深圳)有限公司 | 一种数据隔离方法、装置、计算机设备及存储介质 |
CN110851853A (zh) * | 2019-09-18 | 2020-02-28 | 平安科技(深圳)有限公司 | 一种数据隔离方法、装置、计算机设备及存储介质 |
CN110851853B (zh) * | 2019-09-18 | 2024-07-09 | 平安科技(深圳)有限公司 | 一种数据隔离方法、装置、计算机设备及存储介质 |
CN110765489A (zh) * | 2019-10-30 | 2020-02-07 | 深圳前海环融联易信息科技服务有限公司 | 多租户数据库隔离方法、***、电子设备及计算机存储介质 |
CN111177776A (zh) * | 2019-12-20 | 2020-05-19 | 平安资产管理有限责任公司 | 多租户数据隔离方法与*** |
CN111241125A (zh) * | 2020-01-08 | 2020-06-05 | 成都嗨学洛子教育科技有限公司 | 一种记录操作日志的方法、装置、电子设备和存储介质 |
CN111241125B (zh) * | 2020-01-08 | 2023-06-02 | 北京数培通网络科技有限公司 | 一种记录操作日志的方法、装置、电子设备和存储介质 |
WO2021169112A1 (zh) * | 2020-02-28 | 2021-09-02 | 平安国际智慧城市科技股份有限公司 | 基于共享权限的业务数据处理方法、装置、设备和介质 |
CN111988173A (zh) * | 2020-08-19 | 2020-11-24 | 北京安瑞志远科技有限公司 | 基于多层父子结构租户的租户管理平台和租户管理方法 |
CN111988173B (zh) * | 2020-08-19 | 2023-09-12 | 北京安瑞志远科技有限公司 | 基于多层父子结构租户的租户管理平台和租户管理方法 |
CN112487402A (zh) * | 2020-11-30 | 2021-03-12 | 浪潮通用软件有限公司 | 一种基于erp***的多租户登录方法、设备及介质 |
CN112596857A (zh) * | 2020-12-25 | 2021-04-02 | 北京知因智慧科技有限公司 | 一种SaaS多租户数据隔离的方法、装置、设备及介质 |
CN112367408A (zh) * | 2021-01-13 | 2021-02-12 | 树根互联技术有限公司 | 一种物联网多租户数据的管理***及方法 |
CN112800122A (zh) * | 2021-02-08 | 2021-05-14 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置和电子设备 |
CN112800122B (zh) * | 2021-02-08 | 2024-01-30 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置和电子设备 |
CN112905617B (zh) * | 2021-03-31 | 2023-01-24 | 浙江太美医疗科技股份有限公司 | 数据写入方法、服务器及计算机可读存储介质 |
CN112905617A (zh) * | 2021-03-31 | 2021-06-04 | 浙江太美医疗科技股份有限公司 | 数据写入方法、服务器及计算机可读存储介质 |
CN113535723A (zh) * | 2021-07-13 | 2021-10-22 | 杭州安恒信息技术股份有限公司 | 一种多租户数据库管控方法、***及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109388631A (zh) | 一种多租户的数据库分库实现方法 | |
CN108280365B (zh) | 数据访问权限管理方法、装置、终端设备及存储介质 | |
Pfaff et al. | The open vswitch database management protocol | |
US9165034B2 (en) | Heterogeneous data source management | |
US10084843B2 (en) | System and method for web container partitions in a multitenant application server environment | |
EP3465436B1 (en) | Extending object-schema-based application programming interfaces (apis) | |
US9720999B2 (en) | Meta-directory control and evaluation of events | |
CN111240763A (zh) | 配置更新方法、装置、设备及存储介质 | |
WO2017204952A1 (en) | Defining application programming interfaces (apis) using object schemas | |
CN113127199B (zh) | 负载均衡配置方法、装置、设备及存储介质 | |
CN110417863A (zh) | 生成身份识别码的方法和装置、身份认证的方法和装置 | |
CN109614110A (zh) | 一种消息中间件集中部署的方法和装置 | |
GB2522301A (en) | Obtaining a configuration of a network | |
US11567957B2 (en) | Incremental addition of data to partitions in database tables | |
US10673710B2 (en) | Service activation system | |
CN113849789A (zh) | 基于aop的权限校验方法、装置、设备及存储介质 | |
CN113239044A (zh) | 查询用sql记录的管理装置及应用*** | |
US8751946B2 (en) | Enhanced display of properties for a program object | |
Pfaff | Rfc 7047: The open vswitch database management protocol | |
US10691689B2 (en) | Automatic API façade generation in dynamic multi-tenant environments | |
WO2019209306A1 (en) | Auto-form fill based website authentication | |
US10951600B2 (en) | Domain authentication | |
US11579930B2 (en) | Resource determination based on resource definition data | |
CN104702421A (zh) | 基于Web的配置管理*** | |
WO2014175924A1 (en) | Systems and methods for scanning infrastructure for inventory data |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190226 |
|
RJ01 | Rejection of invention patent application after publication |