【技术实现步骤摘要】
一种工业软件多租户数据隔离的实现方法
本专利技术涉及数据处理领域,尤其涉及一种工业软件多租户数据隔离的实现方法。
技术介绍
多租户技术(multi-tenancytechnology)或称多重租赁技术在当今时代使用越来越广,在工业的一些场景中,多租户技术是必须要使用的。多租户技术是一种软件架构技术,它是在探讨和实现如何在多用户的环境下共用相同的系统或程序组件,并仍可确保各用户间数据的隔离性。简单的说多个租户(互相没有关联的用户)在使用同一个系统中,各自实现自己的操作并且互不影响。在实现多租户技术的过程中,数据的存储是重中之重,主要的解决方案有以下三种:(1)各自独立数据库该方案是给每个租户都分配一个单独的数据库,使得每个租户的数据进行隔离。该方案的隔离级别是最高的,安全性最好,但随之而来的服务器成本、运维成本、升级成本等方面也是最高的。(2)共享数据库,各自独立的schema数据结构该方案是每个租户的数据都在一个数据库中,但给每个租户都分配一个schema,用来实现的数据隔离。该方案的 ...
【技术保护点】
1.一种工业软件多租户数据隔离的实现方法,其特征在于,包括以下步骤:/nS1、初始化,指定需要进行数据隔离的数据库表名,获得目标数据库表向量T[i];设定schema,在T[i]中所包含的数据库表中设置一个与TenantId对应的字段tenant_id;获取登录用户对应的TenantId;/nS2、拦截登录用户对数据库进行操作的原始SQL脚本,从中解析得到内含的数据库表名Tx;/nS3、判断Tx是否包含在T[i]中,若是,则在原始SQL脚本中包含的数据中添加与登录用户对应的tenant_id,生成修改后的SQL脚本;否则直接执行下一步;/nS4、执行SQL脚本,对数据库进行操作。/n
【技术特征摘要】
1.一种工业软件多租户数据隔离的实现方法,其特征在于,包括以下步骤:
S1、初始化,指定需要进行数据隔离的数据库表名,获得目标数据库表向量T[i];设定schema,在T[i]中所包含的数据库表中设置一个与TenantId对应的字段tenant_id;获取登录用户对应的TenantId;
S2、拦截登录用户对数据库进行操作的原始SQL脚本,从中解析得到内含的数据库表名Tx;
S3、判断Tx是否包含在T[i]中,若是,则在原始SQL脚本中包含的数据中添加与登录用户对应的tenant_id,生成修改后的SQL脚本;否则直接执行下一步;
S4、执行SQL脚本,对数据库进行操作。
2.根据权利要求1所述的工业软件多租户数据隔离的实现方法,其特征在于,所述S2中利用现有的过滤器技术拦截登录用户对数据库进行操作的原始SQL脚本。
...
【专利技术属性】
技术研发人员:张永文,杨磊,季东滨,李红勇,
申请(专利权)人:山东恒远智能科技有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。