团体标准网
文库搜索
切换导航
文件分类
频道
仅15元无限下载
联系我们
问题反馈
文件分类
仅15元无限下载
联系我们
问题反馈
批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211335525.1 (22)申请日 2022.10.28 (71)申请人 天翼电子商务有限公司 地址 100037 北京市西城区阜成门外大街 31号4层429D (72)发明人 张少轩 (51)Int.Cl. G06F 21/62(2013.01) G06F 16/242(2019.01) (54)发明名称 自动追加共享数据库的SAAS系统中租户ID 的方法 (57)摘要 本发明公开了一种自动追加共享数据库的 SAAS系统中租户ID的方法, 它涉及软件开发技术 领域。 请求开始, 判断请求头中是否有租户信息 TENANT_ID: 没有, 则结束操作; 有, 则从请求头中 获取TENANT_ID后, 将租户ID绑定在Threa dLocal 对象中; 自定义拦截器拦截SQL执行, 判断是否有 注解@NoSetTenantID: 有, 则跳 过拦截, 执行原始 sql; 没有, 则解析MappedStatement对象, 追加 sql中的tenant_id字段; 从ThreadLocal中获取 TENANT_ID的值作为sql参数; 包装新的 MappedStatement对象, 赋值给invocation的 args数组的第0个元素。 本发明简化SQL编写, 提 高开发效率, 减少出错率, 保证 租户数据安全, 应 用前景广阔。 权利要求书1页 说明书3页 附图1页 CN 115544575 A 2022.12.30 CN 115544575 A 1.自动追加共享数据库的SA AS系统中租户ID的方法, 其特 征在于, 其 步骤为: (1)请求开始, 判断请求头中是否有租户信息TENANT_ID; (2)如果请求头中没有TENANT_ID, 结束操作; 如 果有, 从请求头中获取TENANT_ID后, 将 租户ID绑定在ThreadL ocal对象中; (3)自定义 拦截器拦截SQ L执行; (4)判断是否有注解@NoS etTenantID: 如 果有, 则跳过拦截, 执行原始 sql后, 结束操作; 如果没有, 则解析Map pedStatement对象, 追加sql中的tenant_id字段; (5)从ThreadL ocal中获取TENANT_ID的值, 作为sql 参数; (6)包装新的MappedStatement对象, 赋值给invocation的args数组的第0个元素, 结束 操作。 2.根据权利要求1所述的自动追加共享数据库的SAAS系 统中租户ID的方法, 其特征在 于, 所述的步骤(4)通过反射获取对应的接口方法判断是否有注解@N oSetTenantID。 3.根据权利要求1所述的自动追加共享数据库的SAAS系 统中租户ID的方法, 其特征在 于, 所述的步骤(4)如果没有注解@NoSetTenantID, 解析MappedStatement对象中的 BoundSql中的原 始sql, 在后面追加租户ID字段tenant_id。 4.根据权利要求1所述的自动追加共享数据库的SAAS系 统中租户ID的方法, 其特征在 于, 所述的步骤(5)从步骤(2)中ThreadLocal中获取与 当前线程绑定的租户ID作为参数设 置在其中。 5.根据权利要求1所述的一种自动追加共享数据库的SAAS系统中租户ID的方法, 其特 征在于, 所述的步骤(6)创建新的MappedStatement对象, 将新的BoundSql对象和其他旧的 MappedStatement属性填充在新的MappedStatement对象中, 并将其赋值给invocation的 args数组的第0个元 素。权 利 要 求 书 1/1 页 2 CN 115544575 A 2自动追加共享数据库的SA AS系统中租户ID的方 法 技术领域 [0001]本发明涉及的是软件开发技术领域, 具体涉及一种利用mybatis拦截器自动追加 共享数据库的SA AS系统中租户ID的方法。 背景技术 [0002]SAAS系统中非常重要的内容就是数据隔离, 从隔离性上讲有三种常见方案: 独立 数据库、 共享库独立schema、 共享数据库共享schema, 其隔离效果依次降低, 数据共享程度 依次升高; 在共享数据库共享schema这种隔离方式下, 由于每张表的设计都需要有一个租 户ID, 在大量SQL中如果每次都手工添加租户ID, 明显会影 响开发效率, 且容易出错, 导致数 据不安全。 具体地, 有以下问题: [0003](1)在几十上百个租户的SAAS系统中, 由于每一张表都带有租户ID, 因此DML操作 几乎都需要带 上租户ID这 一字段, 操作繁杂, 开发效率低下; [0004](2)小型的SAAS系统中由于共享了数据库, 每次操作时 的租户ID 一定要正确, 否则 就会发生数据污染, 一定程度增 加出错率, 租户数据安全性较低。 [0005]为了解决上述问题, 开发一种利用mybatis拦截器自动追加共享数据库的SAAS系 统中租户ID的方法尤为必要。 发明内容 [0006]针对现有技术上存在的不足, 本 发明目的是在于提供自动追加共享数据库的SAAS 系统中租户ID的方法, 简化SQL编写, 提高开发效率, 确保数据隔离性, 减少出错率, 保证租 户数据安全, 易于推广使用。 [0007]为了实现上述目的, 本发明是通过如下的技术方案来实现: 自动追加共享数据库 的SAAS系统中租户ID的方法, 其 步骤为: [0008](1)请求开始, 判断请求头中是否有租户信息TENANT_ID; [0009](2)如果请求头中没有TENANT_ID, 结束操作; 如果有, 从请求头中获取TENANT_ID 后, 将租户ID绑定在ThreadL ocal对象中; [0010](3)自定义 拦截器拦截SQ L执行; [0011](4)判断是否有注解@NoSetTenantID: 如果有, 则跳过拦截, 执行原始sql后, 结束 操作; 如果没有, 则解析Map pedStatement对象, 追加sql中的tenant_id字段; [0012](5)从ThreadL ocal中获取TENANT_ID的值, 作为sql 参数; [0013](6)包装新的MappedStatement对象, 赋值给invocation的args数组的第0个元素, 结束操作。 [0014]作为优选, 所述的步骤(4)通过反射获取对应的接口方法判断是否有注解@ NoSetTen antID, 如果没有注解@NoSetTen antID, 解析Mapp edStatement对象中的BoundSql 中的原始sql, 在后面追加租户ID字段tenant_id。 [0015]作为优选, 所述的步骤(5)从步骤(2)中ThreadLocal中获取与当前线程绑定的租说 明 书 1/3 页 3 CN 115544575 A 3
专利 自动追加共享数据库的SAAS系统中租户ID的方法
文档预览
中文文档
6 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
赞助2.5元下载(无需注册)
温馨提示:本文档共6页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
下载文档到电脑,方便使用
赞助2.5元下载
本文档由 人生无常 于
2024-03-18 02:16:01
上传分享
举报
下载
原文档
(300.4 KB)
分享
友情链接
NB-T 33004—2020 电动汽车充换电设施工程施工和竣工验收规范.pdf
DB 31DSJ∕Z 005-2020 公共数据安全分级指南.pdf
GB-T 35281-2017 信息安全技术 移动互联网应用服务器安全技术要求.pdf
DB31-T 1339-2021 医院多学科诊疗管理规范 上海市.pdf
T-CFA 03110315—2020 铸件热处理单元数字化技术要求.pdf
tc260 大数据安全标准化白皮书 2018版.pdf
GB-T 34088-2017 接入设备节能参数和测试方法 VDSL2系统.pdf
DB41-T 1787-2019 加油站“边卸边加”技术规范 河南省.pdf
GB-T 18916.1-2021 取水定额 第1部分:火力发电.pdf
DB3607-T 009-2022 富硒稻谷生产技术规程 江西省.pdf
T-ZYLM 0003—2023 昌吉玉米种子 制种玉米种子加工技术规程.pdf
GB-T 33667-2017 高校毕业生就业指导服务规范.pdf
专利 一种具有温控功能的配电箱.PDF
GB-T 29716.4-2018 机械振动与冲击 信号处理 第4部分:冲击响应谱分析.pdf
法律法规 易制毒化学品管理条例.pdf
GB-T 15166.6-2023 高压交流熔断器 第6部分:用于变压器回路的高压熔断器的熔断件选用导则.pdf
GB-T 32932-2016 留学中介服务规范.pdf
GB-T 43229-2023 交通信号控制机与车辆检测器间通信协议.pdf
GB-T 32922-2016 信息安全技术 IPSec VPN安全接入基本要求与实施指南.pdf
GB-T 1151-2023 内燃机 主轴瓦及连杆轴瓦 技术条件.pdf
1
/
3
6
评价文档
赞助2.5元 点击下载(300.4 KB)
回到顶部
×
微信扫码支付
2.5
元 自动下载
官方客服微信:siduwenku
支付 完成后 如未跳转 点击这里 下载
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们
微信(点击查看客服)
,我们将及时删除相关资源。