(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210324516.6
(22)申请日 2022.03.30
(71)申请人 北京柏睿 数据技术股份有限公司
地址 100102 北京市朝阳区利泽西街6号院
3号楼7层701内5
(72)发明人 丁若冰 刘睿民 张锦
(74)专利代理 机构 北京睿博行远知识产权代理
有限公司 1 1297
专利代理师 申超平
(51)Int.Cl.
G06F 16/22(2019.01)
G06F 16/27(2019.01)
G06F 16/2455(2019.01)
G06F 21/62(2013.01)
(54)发明名称
一种多租户共享数据的处 理方法和系统
(57)摘要
本发明公开了一种多租户共享数据的处理
方法和系统, 该方法包括: 当接收到租户发送的
与目标数据源配置id对应的目标数据时, 根据目
标数据源配置id和目标数据的属性生成目标数
据的目标数据标识和各目标数据切分单元的目
标单元标识; 若根据目标数据标识和各目标单元
标识判断数据库中不存在目标数据, 将目标单元
标识存储到共享数据表, 将目标数据标识存储到
共享数据存储表, 进行预设关联操作并存储目标
数据; 当接收到租户对目标数据的查询请求时,
根据租户的租户名称、 租户数据关联表、 共享数
据存储表和共享数据表获取目标数据, 并将目标
数据返回租户, 从而在保证多租户系统隔离性的
同时, 提高了多租户共享数据的处理效率并减少
了存储冗余。
权利要求书3页 说明书10页 附图2页
CN 114791907 A
2022.07.26
CN 114791907 A
1.一种多租户共享数据的处理方法, 其特征在于, 应用于包括租户数据关联表、 共享数
据存储表和共享数据表的数据库中, 所述方法包括:
当接收到租户发送的与目标数据源配置id对应的目标数据时, 根据 所述目标数据源配
置id和所述 目标数据的属 性生成所述 目标数据的目标数据标识和各目标数据切分单元 的
目标单元标识, 其中, 各所述 目标数据切分单元是根据所述属 性切分所述 目标数据后生成
的;
根据所述目标数据标识和各所述目标单元标识判断数据库中是否存在所述目标数据,
若数据库中不存在所述 目标数据, 将所述 目标单元标识存储到所述共享数据表, 将所述 目
标数据标识存 储到所述共享数据存 储表, 进行 预设关联操作并存 储所述目标 数据;
当接收到租户对所述目标数据的查询请求时, 根据租户的租户名称、 所述租户数据关
联表、 所述共享数据存储表和所述共享数据表获取所述 目标数据, 并将所述 目标数据返回
租户;
其中, 所述租户数据关联表表征了租户名称和所述目标数据标识所属的数据标识的关
联关系, 所述共享数据存储表表征了数据标识、 所述 目标单元标识所属的单元标识和所述
目标数据源配置id所属的数据源配置id 的关联关系, 所述共享数据 表表征了单元标识和所
述目标数据所属的真实数据的关联关系, 数据源配置id由数据源IP地址和端口号生成, 所
述预设关联操作为将租户名称和所述目标数据标识关联到所述租户数据关联表并将所述
目标数据标识和所述目标 单元标识关联到所述共享数据存 储表。
2.如权利要求1所述的方法, 其特征在于, 在根据 所述目标数据标识和各所述目标单元
标识判断数据库中是否存在所述目标 数据之后, 所述方法还 包括:
若数据库中已存在所述目标 数据, 进行 所述预设 关联操作。
3.如权利要求1所述的方法, 其特征在于, 根据 所述目标数据源配置id和所述目标数据
的属性生成所述目标数据的目标数据标识和各目标数据切分单元的目标单元标识, 具体
为:
根据所述属性切分所述目标 数据并获取 各所述目标 数据切分单 元的目标 单元数据;
缓存各所述目标 单元数据并生成各 所述目标 单元数据的缓存路径;
根据所述缓存路径获取各所述目标单元数据的数据字节, 并按预设标识计算函数对所
述数据字节处 理后生成各 所述目标 单元标识;
根据所述目标 数据源配置id和各 所述目标 单元标识生成所述目标 数据标识。
4.如权利要求3所述的方法, 其特征在于, 根据所述属性切分所述目标数据并获取各所
述目标数据切分单 元的目标 单元数据, 具体为:
根据所述属性确定各 所述目标 数据切分单 元的属性 值Min.length;
调用Length ( ) 函数计算并获取 所述目标 数据的最大属性 值MAX.length;
若MAX.length除以Min.length的余数不为零, 则所述目标数据切分单元的数量Count=
MAX.length/Min.len gth+1, 所述目标数据切分单元的编号Sdata_id[Count,i]=Sdata_id
[MAX.length /Min.length+1 , i];
若MAX.length除 以Min.length的余数为零, 则Count=MA X.length/Min.length, Sdata_
id[Count,i]=Sdata_id[MAX.length /Min.length , i];
按Count和Sdata_id[Count,i]切分所述 目标数据, 获取Count个目标单元数据Sdata_权 利 要 求 书 1/3 页
2
CN 114791907 A
2id[Count,i].Data;
其中1≤i≤ Count。
5.如权利要求3所述的方法, 其特 征在于, 存 储所述目标 数据, 具体为:
若所述共享数据存储表中不存在与所述目标数据源配置id相同的数据源配置id, 将各
所述目标单元标识存储到所述共享数据表, 将所述目标数据标识存储到所述共享数据存储
表, 将所述 目标数据标识和用户名称关联到所述租户数据关联表, 并将各所述目标单元数
据进行存 储;
若所述共享数据存储表中存在与所述目标数据源配置id相同的数据源配置id, 且所述
目标数据源配置id下 的所述共享数据表中存在分别与各所述 目标单元标识相同的单元标
识, 进行所述预设 关联操作;
若所述共享数据存储表中存在与所述目标数据源配置id相同的数据源配置id, 且各所
述目标单元标识与所述 目标数据源配置id下 的所述共享数据表中的单元标识均不相同或
一部分相同, 根据不相同的目标数据切分单元的编号将对应的不相同的目标单元数据存
储, 并将所述 目标单元标识存储到所述共享数据表, 将所述 目标数据标识存储到所述共享
数据存储表, 并进行 所述预设 关联操作。
6.一种多租户共享数据的处理系统, 其特征在于, 应用于包括租户数据关联表、 共享数
据存储表和共享数据表的数据库中, 所述系统包括:
生成模块, 用于当接收到租户发送 的与目标数据源配置id对应的目标数据时, 根据所
述目标数据源配置id和所述 目标数据的属 性生成所述 目标数据的目标数据标识和各目标
数据切分单元 的目标单元标识, 其中, 各所述 目标数据切分单元是根据所述属 性切分所述
目标数据后生成的;
存储模块, 用于根据 所述目标数据标识和各所述目标单元标识判断数据库中是否存在
所述目标数据, 若数据库中不存在所述 目标数据, 将所述 目标单元标识存储到所述共享数
据表, 将所述 目标数据标识存储到所述共享数据存储表, 进行预设关联操作并存储所述 目
标数据;
获取模块, 用于当接收到租户对所述目标数据的查询请求时, 根据租户的租户名称、 所
述租户数据关联表、 所述共享数据存储表和所述共享数据表获取所述 目标数据, 并将所述
目标数据返回租户;
其中, 所述租户数据关联表表征了租户名称和所述目标数据标识所属的数据标识的关
联关系, 所述共享数据存储表表征了数据标识、 所述 目标单元标识所属的单元标识和所述
目标数据源配置id所属的数据源配置id 的关联关系, 所述共享数据 表表征了单元标识和所
述目标数据所属的真实数据的关联关系, 数据源配置id由数据源IP地址和端口号生成, 所
述预设关联操作为将租户名称和所述目标数据标识关联到所述租户数据关联表并将所述
目标数据标识和所述目标 单元标识关联到所述共享数据存 储表。
7.如权利要求6所述的系统, 其特 征在于, 所述存 储模块还用于:
若数据库中已存在所述目标 数据, 进行 所述预设 关联操作。
8.如权利要求6所述的系统, 其特 征在于, 所述 生成模块, 具体用于:
根据所述属性切分所述目标 数据并获取 各所述目标 数据切分单 元的目标 单元数据;
缓存各所述目标 单元数据并生成各 所述目标 单元数据的缓存路径;权 利 要 求 书 2/3 页
3
CN 114791907 A
3
专利 一种多租户共享数据的处理方法和系统
文档预览
中文文档
16 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共16页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:39:49上传分享