[发明专利]基于方法参数切面多租户数据源切换系统有效
申请号: | 201810200309.3 | 申请日: | 2018-03-12 |
公开(公告)号: | CN108520004B | 公开(公告)日: | 2021-11-19 |
发明(设计)人: | 苗江波;汤定一;张旭荣;王宏祥 | 申请(专利权)人: | 舟谱数据技术南京有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/2455 |
代理公司: | 苏州翔远专利代理事务所(普通合伙) 32251 | 代理人: | 姜微微 |
地址: | 210000 江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 方法 参数 切面 租户 数据源 切换 系统 | ||
本发明涉及基于方法参数切面多租户数据源切换系统;属于多租户数据源技术领域。用户登录,统一认证返回当前用户属于哪个库,标识为cid,它是分库键;每个用户登录后便携带cid;在拦截方法前,系统执行上下文SysContext中,给每次request请求绑定ThreadLocal,ThreadLocal保存了当前cid,用完便释放;它统一了API标准,无需关注谁来调用,无需每一处业务代码中都做判断设置当然数据源,让代码更加简洁明了、可维护性更强。
技术领域
本发明涉及基于方法参数切面多租户数据源切换系统;属于多租户数据源技术领域。
背景技术
多租户技术(英语:multi-tenancy technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。
由于云计算议题的发烧,在共用的数据中心内如何以单一系统架构与服务提供多数客户端相同甚至可定制化的服务,并且仍然可以保障客户的数据隔离,让多租户技术成为云计算技术下的显学。
在多租户技术中,租户(tenant)是指使用系统或电脑运算资源的客户,但在多租户技术中,租户包含在系统中可识别为指定用户的一切数据,举凡帐户与统计信息(accounting data),用户在系统中建置的各式数据,以及用户本身的客制化应用程序环境等,都属于租户的范围,而租户所使用的则是基于供应商所开发或建置的应用系统或运算资源等,供应商所设计的应用系统会容纳数个以上的用户在同一个环境下使用,为了要让多个用户的环境能力同一个应用程序与运算环境上使用,则应用程序与运算环境必须要特别设计,除了可以让系统平台可以允许同时让多份相同的应用程序运行外,保护租户数据的隐私与安全也是多租户技术的关键之一。
现有多租户模式一般基于第三方数据库中间件或手工静态配置数据源。缺点是经过第三方数据库中间件,效率降低15%。静态数据源配置需要增加数据源时,要在配置文件中配置,接着需要重启集群环境,影响生产稳定。另外是切换数据源时,web端往往从session中拿到分库键,然后动态设置当前数据源。但第三方、移动终端对接系统时,它无需存session,所以session中没有分库键。导致无规则,代码维护困难。
目前独立数据库增大了数据库的安装数量,随之带来维护成本和购置成本的增加;与传统的一个客户、一套数据、一套部署类似,差别只在于软件统一部署在运营商那里。如果面对的是银行、医院等需要非常高数据隔离级别的租户,可以选择这种模式,提高租用的定价。如果定价较低,产品走低价路线,这种方案一般对运营商来说是无法承受的。
共享数据库,隔离数据架构,如果出现故障,数据恢复比较困难,因为恢复数据库将牵扯到其他租户的数据;如果需要跨租户统计数据,存在一定困难
共享数据库,共享数据架构,即租户共享同一个Database、同一个Schema,但在表中通过TenantID区分租户的数据;隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量;数据备份和恢复最困难,需要逐表逐条备份和还原。
发明内容
本发明的目的在于针对现有技术的缺陷和不足,提供一种设计合理、让代码更加简洁明了、可维护性更强的基于方法参数切面多租户数据源切换系统。
为实现上述目的,本发明采用的技术方案是:它包含以下步骤:
1、用户登录,统一认证返回当前用户属于哪个库,标识为cid,它是分库键;每个用户登录后便携带cid。
2、在拦截方法前,系统执行上下文SysContext中,给每次request请求绑定ThreadLocal,ThreadLocal保存了当前cid,用完便释放。
3、拦截到方法后,从内存中找到cid对应的数据源,切换当前数据源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于舟谱数据技术南京有限公司,未经舟谱数据技术南京有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810200309.3/2.html,转载请声明来源钻瓜专利网。