[发明专利]一种实现多租户系统的方法及装置有效
申请号: | 201710326691.8 | 申请日: | 2017-05-10 |
公开(公告)号: | CN108881111B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 张舰 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L67/566 | 分类号: | H04L67/566;H04L67/146;H04L9/40 |
代理公司: | 北京天昊联合知识产权代理有限公司 11112 | 代理人: | 姜春咸;冯建基 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 租户 系统 方法 装置 | ||
1.一种实现多租户系统的方法,其特征在于,包括:
在系统运行前,预先定义多租户引用类,并使用多租户引用类替换业务处理器中引入的单租户引用类,所述多租户引用类用于将单租户文件访问接口、单租户内存访问接口分别封装成多租户文件访问接口、多租户内存访问接口;
在系统运行后,接收用户的业务处理请求,调用与业务处理请求相对应的业务处理器进行业务处理;
截获业务处理器发出的数据库访问请求,获取用户所属的租户信息,并将数据库访问请求转换成与所获取的租户信息对应的数据库的访问请求,获取用户所属的租户的数据库数据并返回至业务处理器。
2.根据权利要求1所述的方法,其特征在于,在所述接收用户的业务处理请求的步骤之前,所述方法还包括:
接收并验证用户的登录请求,创建会话对象,生成会话标识,并将用户所属的租户信息保存在会话对象中;
在所述调用与业务处理请求相对应的业务处理器进行业务处理的步骤中,所述方法还包括:
根据业务处理请求中的会话标识,从会话对象中获取所述用户所属的租户信息,并将其存储在存储区域中;
在所述获取用户所属的租户信息的步骤中,从存储区域中获取用户所属的租户信息。
3.根据权利要求2所述的方法,其特征在于,所述存储区域包括本地线程、内存缓存或数据库。
4.根据权利要求1所述的方法,其特征在于,所述截获业务处理器发出的数据库访问请求的步骤,具体包括:通过监听操作系统层的接口、监听Java数据库连接JDBC接口或设置TCP代理截获业务处理器发出的数据库访问请求。
5.一种实现多租户系统的装置,其特征在于,包括封装单元、请求分发单元、业务处理单元、截获单元,其中,
封装单元,用于在系统运行前,预先定义多租户引用类,并使用多租户引用类替换业务处理单元中引入的单租户引用类,所述多租户引用类用于将单租户文件访问接口、单租户内存访问接口分别封装成多租户文件访问接口、多租户内存访问接口;
请求分发单元,用于在系统运行后,接收用户的业务处理请求,调用与业务处理请求相对应的业务处理单元进行业务处理;
业务处理单元,用于进行业务处理,并在进行业务处理的过程中,发出数据库访问请求、文件访问请求或内存访问请求;
截获单元,用于当业务处理单元发出数据库访问请求时,截获所述数据库访问请求,获取用户所属的租户信息,并将数据库访问请求转换成与所获取的租户信息对应的数据库的访问请求,获取用户所属的租户的数据库数据并返回至业务处理单元。
6.根据权利要求5所述的装置,其特征在于,所述请求分发单元还用于,在接收用户的业务处理请求前,接收并验证用户的登录请求,创建会话对象,生成会话标识,并将用户所属的租户信息保存在会话对象中;
在接收用户的业务处理请求时,根据业务处理请求中的会话标识,从会话对象中获取所述用户所属的租户信息,并将其存储在存储区域中;
所述截获单元具体用于,从存储区域中获取用户所属的租户信息。
7.根据权利要求6所述的装置,其特征在于,所述存储区域包括本地线程、内存缓存或数据库。
8.根据权利要求5所述的装置,其特征在于,所述截获单元具体用于,通过监听操作系统层的接口、监听Java数据库连接JDBC接口或设置TCP代理截获业务处理单元发出的数据库访问请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710326691.8/1.html,转载请声明来源钻瓜专利网。