(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211075063.4
(22)申请日 2022.09.02
(71)申请人 浩云科技股份有限公司
地址 511400 广东省广州市番禺区东环街
番禺大道北555号天安总部中心22号
楼101房
(72)发明人 詹伟胜 叶青 温凌敏
(74)专利代理 机构 广州三环 专利商标代理有限
公司 44202
专利代理师 吴松滨
(51)Int.Cl.
G06F 21/64(2013.01)
G06F 21/62(2013.01)
G06F 21/44(2013.01)
G06F 16/25(2019.01)G06F 16/2457(2019.01)
G06F 16/28(2019.01)
(54)发明名称
一种应用数据的隔离方法及系统
(57)摘要
本发明公开了一种应用数据的隔离方法及
系统, 方法包括接收服务请求, 并提取服务请求
中的编码, 将服务请求封装为内部请求, 根据服
务容器的应用, 对内部请求进行鉴权过滤, 获得
有权请求, 根据有权请求, 访问应用; 根据编码,
初始化应用的上下文, 并将上下文的数据临时存
储在本地线程中, 根据上下文和拦截器, 将第一
操作数据库的第一数据表名添加编码的前缀, 获
得第二操作数据库, 根据有权请求和上下文, 操
作应用的第一数据表和第二操作数据库, 隔离应
用的数据与非本应用的数据。 本实施例实现一个
服务容器中可同时运行多个应用, 保证并发时线
程的安全性, 不同应用数据互相不干 扰。
权利要求书3页 说明书7页 附图3页
CN 115408726 A
2022.11.29
CN 115408726 A
1.一种应用数据的隔离方法, 其特 征在于, 包括:
接收服务请求, 并提取所述服务请求中的编码, 将所述服务请求封装为内部请求, 根据
服务容器的应用, 对所述内部请求进行鉴权过滤, 获得有权请求, 根据所述有权请求, 访问
所述应用;
根据所述编码, 初始化所述应用的上下文, 并将所述上下文的数据临时存储在本地线
程中, 根据所述上下文和拦截器, 将第一操作数据库的第一数据 表名添加所述编 码的前缀,
获得第二操作数据库, 根据所述有权请求和所述上下文, 操作所述应用的第一数据表和所
述第二操作数据库, 隔离所述应用的数据与非本应用的数据。
2.如权利要求1所述的应用数据的隔离方法, 其特征在于, 所述接收服务请求, 并提取
所述服务请求中的编 码, 将所述服务请求封装为内部请求, 根据服务容器的应用, 对所述内
部请求进行鉴权过 滤, 获得有权请求, 根据所述有权请求, 访问所述应用, 具体为:
接收所述服务请求, 根据 所述服务请求, 获取租户编码和应用编码, 并将所述服务请求
封装为所述内部请求;
根据所述内部请求的授权信息, 判断所述租户编码和所述应用编码是否在授权列表,
若是, 则将所述内部请求标记为 鉴权通过, 获得 所述有权请求, 若否, 则返回非法访问提 示;
根据所述有权请求, 访问所述应用。
3.如权利要求2所述的应用数据的隔离方法, 其特征在于, 所述根据所述编码, 初始化
所述应用的上下文, 并将所述上下文的数据 临时存储在本地线程中, 根据所述上下文和拦
截器, 将第一操作数据库的第一数据 表名添加所述编码的前缀, 获得第二操作数据库, 根据
所述有权请求和所述上下文, 操作所述应用的第一数据表和所述第二操作数据库, 隔离所
述应用的数据与非本应用的数据, 具体为:
根据所述租户编码和所述应用编码, 初始化应用的上下文, 并将所述上下文的数据临
时存储在本地线程中;
将所述上下文赋给元数据引擎, 根据所述上下文、 所述元数据引擎和持久层框架 的拦
截器, 将所述第一操作数据库的第一数据 表名中添加所述租户编 码和所述应用编 码的编码
前缀, 获得第二操作数据库;
所述持久层框架使用所述第 二操作数据库去查询或者更新数据, 在业务处理 的过程中
从所述本地线程中获取最新上下文, 根据所述有权请求和所述最新上下文, 在所述应用中
进行所述业务处理, 并操作所述应用的第一数据表和所述第二操作数据库, 隔离所述应用
的数据与非本应用的数据。
4.如权利要求3所述的应用数据的隔离方法, 其特征在于, 所述将所述上下文赋给元数
据引擎, 根据所述上下文、 所述元数据引擎和持久层框架的拦截器, 将所述第一操作数据库
的第一数据表名中添加所述租户编码和所述应用编码的编码前缀, 获得第二操作数据库,
具体为:
将所述上下文赋给元数据引擎, 所述元数据引擎在所述拦截器中获取到要数据操作的
数据库, 获得 所述第一操作数据库;
根据分析所述第一操作数据库, 获取所述第一数据表名, 将所述第一数据表名中添加
所述租户编码和所述应用编码的编码前缀, 获得第二数据表名;
将所述第二数据表名替换在所述第 一操作数据库中的所述第 一数据表名, 获得所述第权 利 要 求 书 1/3 页
2
CN 115408726 A
2二操作数据库。
5.一种应用数据的隔离系统, 其特 征在于, 包括: 封装鉴权模块和请求处 理模块;
其中, 所述封装鉴权模块用于接收服务请求, 并提取所述服务请求中的编码, 将所述服
务请求封装为内部请求, 根据服务容器的应用, 对 所述内部请求进 行鉴权过滤, 获得有权请
求, 根据所述有权请求, 访问所述应用;
所述请求处理模块用于根据所述编码, 初始化所述应用的上下文, 并将所述上下文的
数据临时存储在本地线程中, 根据所述上下文和拦截器, 将第一操作数据库的第一数据表
名添加所述编 码的前缀, 获得第二操作数据库, 根据所述有权请求和所述上下文, 操作所述
应用的第一数据表和所述第二操作数据库, 隔离所述应用的数据与非本应用的数据。
6.如权利要求5所述的应用数据的隔离系统, 其特征在于, 所述封装鉴权模块包括封装
单元、 鉴权单 元和访问应用单 元;
其中, 所述封装单元用于接收所述服务请求, 根据 所述服务请求, 获取租户编码和应用
编码, 并将所述 服务请求封装为所述内部请求;
所述鉴权单元用于根据 所述内部请求的授权信 息, 判断所述租户编码和所述应用编码
是否在授权列表, 若 是, 则将所述内部请求标记为鉴权通过, 获得所述有权请求, 若否, 则返
回非法访问提 示;
所述访问应用单 元用于根据所述有权请求, 访问所述应用。
7.如权利要求5所述的应用数据的隔离系统, 其特征在于, 所述请求处理模块包括本地
线程单元、 添加前缀单 元和处理业务单元;
其中, 所述本地线程单元用于根据租户编码和应用编码, 初始化应用的上下文, 并将所
述上下文的数据临时存 储在本地线程中;
所述添加前缀单元用于将所述上下文赋给元数据引擎, 根据所述上下文、 所述元数据
引擎和持久层框架的拦截器, 将所述第一操作数据库的第一数据 表名中添加所述租户编码
和所述应用编码的编码前缀, 获得第二操作数据库;
所述处理业务单元用于所述持久层框架使用所述第二操作数据库去查询或者更新数
据, 在业务处理的过程中从所述本地线程中获取最新上下文, 根据所述有权请求和所述最
新上下文, 在所述应用中进行所述业务处理, 并操作所述应用的第一数据表和所述第二操
作数据库, 隔离所述应用的数据与非本应用的数据。
8.如权利要求7所述的应用数据的隔离系统, 其特征在于, 所述添加前缀单元包括获取
子单元、 添加子单 元和替换子单 元;
其中, 所述获取子单元用于将所述上下文赋给元数据引擎, 所述元数据引擎在所述拦
截器中获取到要数据操作的数据库, 获得 所述第一操作数据库;
所述添加子单元用于根据分析所述第一操作数据库, 获取所述第一数据表名, 将所述
第一数据表名中添加所述租户编码和所述应用编码的编码前缀, 获得第二数据表名;
所述替换子单元用于将所述第二数据表名替换在所述第一操作数据库中的所述第一
数据表名, 获得 所述第二操作数据库。
9.一种计算机设备, 其特征在于, 包括处理器和存储器, 所述存储器用于存储计算机程
序, 所述计算机程序被所述处理器执行时实现如权利要求 1至4任一项 所述的应用数据的隔
离方法。权 利 要 求 书 2/3 页
3
CN 115408726 A
3
专利 一种应用数据的隔离方法及系统
文档预览
中文文档
14 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:34:23上传分享