[发明专利]一种基于Mycat的数据库多租户实现方法在审
申请号: | 201810870967.3 | 申请日: | 2018-08-02 |
公开(公告)号: | CN109241028A | 公开(公告)日: | 2019-01-18 |
发明(设计)人: | 汤海波;寇兵;傅慧;邵辉 | 申请(专利权)人: | 山东浪潮通软信息科技有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/25;G06F16/242;G06F8/20 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250100 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 租户 拦截器 数据库 业务库 封装 控制层 企业信息化 软件供应商 环境配置 密码获取 数据隔离 业务承载 业务访问 应用程序 用户登录 自动路由 运维 注解 登录 解析 改写 传递 代理 返回 访问 保证 成功 | ||
本发明特别涉及一种基于Mycat的数据库多租户实现方法。该基于Mycat的数据库多租户实现方法,封装登录接口,根据用户名与密码获取所属的业务库tenant,返回的tenant作为访问其他业务的第一参数;封装控制层拦截器,用户登录成功后获取到了业务库tenant,所有业务访问前将tenant传递给控制层拦截器;封装业务承载接口,利用sql拦截器与Mycat提供的注解改写sql语句,Mycat代理在解析时会自动路由到tenant业务库上执行sql语句。该基于Mycat的数据库多租户实现方法,可以让多个用户共用一套应用程序,在保证数据隔离与安全性的同时可以有效降低企业信息化成本、降低软件供应商的环境配置成本与运维成本。
技术领域
本发明涉及计算机软件开发技术领域,特别涉及一种基于Mycat的数据库多租户实现方法。
背景技术
随着互联网技术的迅速发展,软件产品及服务也经历了翻天覆地的变化。相对于传统软件服务模式,SaaS(Software-as-a-Service,软件即服务)大幅降低了企业信息化成本,使企业集中精力投入到经营活动中,而多租户是SaaS服务模式区别于传统软件模式的最本质区别。
多租户是一种软件架构技术,是一种探讨与实现如何在多用户环境下共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。
针对上述情况,本发明提出了一种基于Mycat的数据库多租户实现方法,在保障数据隔离性的同时实现在多用户环境下共用相同的系统或程序组件。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于Mycat的数据库多租户实现方法。
本发明是通过如下技术方案实现的:
一种基于Mycat的数据库多租户实现方法,其特征在于:封装登录接口,根据用户名与密码获取所属的业务库tenant,返回的tenant作为访问其他业务的第一参数;封装控制层拦截器,用户登录成功后获取到了业务库tenant,所有业务访问前将tenant传递给控制层拦截器;封装业务承载接口,利用sql拦截器与Mycat提供的注解改写sql语句,Mycat代理在解析时会自动路由到tenant业务库上执行sql语句。
具体包括以下步骤:
(1)用户在注册产品时,根据注册用户名生成唯一的租户ID,同时分配用户所属业务库并生成所属业务库标识tenant;
(2)用户登录时,通过用户名获取租户ID,再通过租户ID获取该用户所属的业务库标识tenant;
(3)用户登录成功后,将所属业务库标识tenant与会话信息一起存储;
(4)利用Mycat注解改写sql语句,使sql语句在解析时自动路由到业务库上。
所述步骤(1)具体包括以下步骤:
(a)用户在注册产品时,根据录入的用户名自动创建与用户名绑定的唯一租户ID并存储数据库;
(b)根据用户名生成租户ID后,自动分配与租户ID绑定的所属业务库并生成所属业务库标识tenant存储到数据库,所属业务库标识tenant用于每次用户登录后获取使用。
所述步骤(2)中,用户登录软件时,通过用户名获取租户ID,再通过租户ID查询基础库配置映射关系获取登录用户所属业务库标识tenant。
所述步骤(3)中,用户登录成功并获取到所属业务库后,将所属业务库标识tenant存储于session(会话)或cookie(储存在用户本地终端上的数据),便于访问其他业务时获取所属业务库标识tenant。
所述步骤(4)具体包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮通软信息科技有限公司,未经山东浪潮通软信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810870967.3/2.html,转载请声明来源钻瓜专利网。