一种多租户数据隔离方法、服务器及系统技术方案

技术编号:22000393 阅读:97 留言:0更新日期:2019-08-31 05:26
本申请实施例公开了一种多租户数据隔离方法、服务器及系统,方法包括:当接收到携带有租户的二级域名和用户主键的租户登录请求时,根据所述用户主键确定所述租户的租户主键;根据所述租户主键查找并返回所述租户的数据至所述二级域名对应的web网站,在所述web网站中显示所述租户的数据。本申请通过给每个租户分配的二级域名和租户主键,确定租户的用户主键,即共用的数据库,查找到属于租户的数据,并显示在租户的二级域名对应的web网页中,使得租户只能通过二级域名访问到自己的那一部分的数据,实现数据隔离,解决了现有的多租户数据隔离方法的成本高,或是数据恢复困难的技术问题。

A Multi-tenant Data Isolation Method, Server and System

【技术实现步骤摘要】
一种多租户数据隔离方法、服务器及系统
本申请涉及软件架构
,尤其涉及一种多租户数据隔离方法、服务器及系统。
技术介绍
多租户技术或称多重租赁技术,是一种软件架构技术,是实现如何在多用户环境下共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。在当下云计算时代,多租户技术在共用的数据中心以单一系统架构与服务提供多数客户端相同甚至可定制化的服务,并且仍可以保障客户的数据隔离。现有的多租户数据隔离方案主要有两种,一种是采用独立数据库,该方案需要增加数据库的安装数量,因此存在维护成本以及购置成本较高的问题,另一种是采用共享数据库,隔离数据架构,该方案若出现故障,由于恢复数据库将牵涉到其他租户的数据,存在数据恢复困难的问题,同时,若需要跨租户统计数据也存在一定的困难。
技术实现思路
本申请实施例提供了一种多租户数据隔离方法、服务器及系统,解决了现有的多租户数据隔离方法的成本高,或是数据恢复困难的技术问题。有鉴于此,本申请第一方面提供了一种多租户数据隔离方法,所述方法包括:当接收到携带有租户的二级域名和用户主键的租户登录请求时,根据所述用户主键确定所述租户的租户主键;根据所述租户主键查找并返回所述租户的数据至所述二级域名对应的web网站,在所述web网站中显示所述租户的数据。可选地,所述接收到携带有租户的二级域名和用户主键的租户登录请求之前还包括:在接收到租户注册指令时,将所述租户注册指令中包含的租户主键添加至与租户相关的数据表中;将所述租户主键与用户主键关联后,确定租户的数据库空间以及二级域名。可选地,所述二级域名和所述用户主键设置于所述租户登录请求的标头中。本申请第二方面提供一种web服务器,所述web服务器包括:查找单元,用于当接收到携带有租户的二级域名和用户主键的租户登录请求时,根据所述用户主键确定所述租户的租户主键;返回单元,用于根据所述租户主键查找并返回所述租户的数据至所述二级域名对应的web网站,在所述web网站中显示所述租户的数据。可选地,还包括:处理单元,用于在接收到租户注册指令时,将所述租户注册指令中包含的租户主键添加至与租户相关的数据表中;配置单元,用于将所述租户主键与用户主键关联后,确定租户的数据库空间以及二级域名。本申请第三方面提供一种多租户数据隔离系统,所述系统包括:租户客户端、上述第二方面所述的web服务器、应用服务器集群以及数据库;所述租户客户端、所述web服务器、所述应用服务器集群和所述数据库依次通信连接;所述租户客户端向所述web服务器发送租户登录请求,所述租户登录请求携带有租户的二级域名和用户主键;所述web服务器根据所述用户主键确定所述租户的租户主键,并通过所述应用服务器集群向所述数据库请求分发所述租户主键对应的所述租户的数据;所述数据库返回所述租户的数据至所述web服务器,通过所述web服务器将所述租户的数据返回所述租户客户端,在所述租户客户端中与所述二级域名对应的所述web网站中显示所述租户的数据。可选地,还包括:所述租户客户端向所述web服务器发送租户注册指令;所述web服务器在接收到所述租户注册指令时,将所述租户注册指令中包含的租户主键通过所述应用服务器集群添加至与租户相关的所述数据库中的数据表中;所述web服务器将所述租户主键与用户主键关联后,确定租户的所述数据库控件以及二级域名,并返回所述二级域名至所述租户客户端。可选地,所述web服务器为nginxweb服务器、apacheweb服务器或tomcatweb服务器中任一种。可选地,所述数据库包括主数据库和从数据库;所述租户的数据同时保存于所述主数据库和所述从数据库中。从以上技术方案可以看出,本申请实施例具有以下优点:本申请实施例中,提供了一种多租户数据隔离方法,通过给每个租户分配的二级域名和租户主键,确定租户的用户主键,即共用的数据库,查找到属于租户的数据,并显示在租户的二级域名对应的web网页中,使得租户只能通过二级域名访问到自己的那一部分的数据,实现数据隔离,解决了现有的多租户数据隔离方法的成本高,或是数据恢复困难的技术问题。附图说明图1为本申请实施例中一种多租户数据隔离系统的系统架构图;图2为本申请实施例中一种多租户数据隔离方法的一个方法流程图;图3为本申请实施例中一种多租户数据隔离方法的另一个方法流程图;图4为本申请实施例中一种web服务器的一个结构示意图;图5为本申请实施例中一种web服务器的另一个结构示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。应理解,本申请应用于多租户数据隔离方系统,请参阅图1,图1为本申请实施例中信息处理系统架构图,如图1所示,图1中包括租户客户端、web服务器、应用服务器集群以及数据库;所述租户客户端、所述web服务器、所述应用服务器集群和所述数据库依次通信连接;所述租户客户端向所述web服务器发送租户登录请求,所述租户登录请求携带有租户的二级域名和用户主键;所述web服务器根据所述用户主键确定所述租户的租户主键,并通过所述应用服务器集群向所述数据库请求分发所述租户主键对应的所述租户的数据;所述数据库返回所述租户的数据至所述web服务器,通过所述web服务器将所述租户的数据返回所述租户客户端,在所述租户客户端中与所述二级域名对应的所述web网站中显示所述租户的数据。需要说明的是,根据图1可以理解得知,租户客户端的租户访问自己的二级域名,通过网络与web服务器发送租户登录请求,租户登录请求中携带有租户的二级域名和用户主键。用户主键是为了确定该租户是属于哪一个用户,可以设想的是,用户可以为公司账户,而租户可以为员工账号之类的关系。本实施例中,web服务器采用的是nginxweb服务器,实际还可以采用apacheweb服务器或是tomcatweb服务器,通过nginxweb服务器向后端应用服务器集群请求分发租户的数据,应用服务器集群访问数据库并从数据库中确定租户的数据后,按照原理返回至租户客户端并在租户客户端的web网页中显示该租户的数据。还可从图1中看出,数据库中分为主数据库和从数据库,双机备份加强数据保存的可靠性。进一步地,还包括:所述租户客户端向所述web服务器发送租户注册指令;所述web服务器在接收到所述租户注册指令时,将所述租户注册指令中包含的租户主键通过所述应用服务器集群添加至与租户相关的所述数据库中的数据表中;所述web服务器将所述租户主键与用户主键关联后,确定租户的所述数据库控件以及二级域名,并返回所述二级域名至所述租户客户端。需要说明的是,在租户登录前,还存在着租户注册的过程。租户客户端向web服务器发送租户注册指令,租户注册指令中包括与用户主键关联的租户主键,web服务器将租户主键加入到与租户相关的所有表中,以便数据的调取,并确定租户的二级域名,使得租户可以通过二级域名直接登录显示自己的数据的web页面。本申请设计了一种多租户数据隔离方法、服务器及系统,解决了现有的多租户本文档来自技高网
...

【技术保护点】
1.一种多租户数据隔离方法,其特征在于,包括:当接收到携带有租户的二级域名和用户主键的租户登录请求时,根据所述用户主键确定所述租户的租户主键;根据所述租户主键查找并返回所述租户的数据至所述二级域名对应的web网站,在所述web网站中显示所述租户的数据。

【技术特征摘要】
1.一种多租户数据隔离方法,其特征在于,包括:当接收到携带有租户的二级域名和用户主键的租户登录请求时,根据所述用户主键确定所述租户的租户主键;根据所述租户主键查找并返回所述租户的数据至所述二级域名对应的web网站,在所述web网站中显示所述租户的数据。2.根据权利要求1所述的多租户数据隔离方法,其特征在于,所述接收到携带有租户的二级域名和用户主键的租户登录请求之前还包括:在接收到租户注册指令时,将所述租户注册指令中包含的租户主键添加至与租户相关的数据表中;将所述租户主键与用户主键关联后,确定租户的数据库空间以及二级域名。3.根据权利要求2所述的多租户数据隔离方法,其特征在于,所述二级域名和所述用户主键设置于所述租户登录请求的标头中。4.一种web服务器,其特征在于,包括:查找单元,用于当接收到携带有租户的二级域名和用户主键的租户登录请求时,根据所述用户主键确定所述租户的租户主键;返回单元,用于根据所述租户主键查找并返回所述租户的数据至所述二级域名对应的web网站,在所述web网站中显示所述租户的数据。5.根据权利要求4所述的web服务器,其特征在于,还包括:处理单元,用于在接收到租户注册指令时,将所述租户注册指令中包含的租户主键添加至与租户相关的数据表中;配置单元,用于将所述租户主键与用户主键关联后,确定租户的数据库空间以及二级域名。6.一种多租户数据隔离系统,其特征在于,包括租户客户端、权利要求4...

【专利技术属性】
技术研发人员:康俊荣王志强苏鹏陈嘉毅吴治伟黄小鹏施伟周
申请(专利权)人:东信和平科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1