(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211278582.0
(22)申请日 2022.10.19
(71)申请人 中国农业银行股份有限公司
地址 100005 北京市东城区建国门内大街
69号
(72)发明人 吕虎
(74)专利代理 机构 北京集佳知识产权代理有限
公司 11227
专利代理师 王雨
(51)Int.Cl.
G06F 16/2455(2019.01)
G06F 16/22(2019.01)
G06F 16/23(2019.01)
G06F 16/27(2019.01)
(54)发明名称
数据路由方法及装置
(57)摘要
本申请公开了一种数据路由方法及装置, 根
据欲查找数据所属的数据表和所述欲查找数据
的字段名, 确定欲利用的第一布 隆过滤器, 而无
需利用在存储所述数据表的过程中生成的全部
布隆过滤器进行判断, 节省了算力资源; 再利用
所确定的各个第一布隆过滤器, 判断所述欲查找
数据是否属于与该第一布隆过滤器对应的第一
分区, 由于布隆过滤器可能会误判, 因此可能存
在多个判断为是的第一分区, 则依次对 各个判断
为是第一分区进行全分区查找, 从而确定所述欲
查找数据在所述分布式数据库中的存储位置。 相
较于依托所存储的字段值和主键间对应关系实
现路由的方案, 本方案利用布隆过滤器节省了分
布式数据库的存储空间, 从而提高了对数据表数
据的存储性能。
权利要求书2页 说明书7页 附图3页
CN 115470249 A
2022.12.13
CN 115470249 A
1.一种数据路由方法, 其特 征在于, 包括:
在预设的路由表中, 获取与第一数据表中的第一字段名对应的若干个第一布隆过滤
器, 其中, 所述第一数据 表为欲查找数据所属的数据 表, 所述第一字段名为所述欲查找数据
的字段名, 所述第一布隆过滤器是在向分布式数据库中写入所述第一数据 表中的字段名为
所述第一字段名的数据的过程中生成的;
对于每一个所述第 一布隆过滤器: 利用所述第 一布隆过滤器判断所述欲查找数据 是否
属于第一分区, 若判断结果为是, 则在所述第一分区中, 查找所述欲查找数据, 在查找命中
的情况下, 确定所述欲查找数据被存储在所述第一分区, 其中, 所述第一分区是所述分布式
数据库中的与所述第一布隆过 滤器对应的分区。
2.根据权利要求1所述的方法, 其特征在于, 所述在预设的路由表中, 获取与第一数据
表中的第一字段名对应的若干个第一布隆过 滤器之前, 该 方法还包括:
在预设的补救路由表中, 获取与欲查找数据对应的误判分区的分区名, 以确定与所述
误判分区对应的误判布隆过 滤器;
在利用所述第一布隆过 滤器判断所述欲查找数据是否属于第一分区之前, 还 包括:
判断所述第一布隆过滤器是否为所述误判布隆过滤器, 若否, 则执行利用所述第一布
隆过滤器判断所述欲查找数据是否属于第一分区的步骤;
在所述查找所述欲查找数据之后, 还 包括:
在查找未命中的情况下, 向所述补救路由表中添加误判的对应关系, 所述误判的对应
关系用于表征 所述第一分区为所述欲查找数据的误判分区。
3.根据权利要求2所述的方法, 其特征在于, 所述在查找未命中的情况下, 向所述补救
路由表中添加误判的对应关系, 包括:
在查找未命中的情况下, 利用第 一线程将补 救消息和补救标志写入消息服务器中的第
一主题的消息队列, 其中, 所述第一主题为所述第一数据表的所述第一字段名, 所述补救消
息包括所述第一数据表、 所述第一字段名、 所述欲查找数据和所述第一分区;
利用第二线程根据读取到所述消息队列中的所述补 救消息和所述补救标志, 向所述补
救路由表中添加误判的对应关系。
4.根据权利要求3所述的方法, 其特征在于, 所述补救路由表是key为欲查找数据及其
所属的数据表表名 和字段名, value是被误判为存储所述欲查找数据的误判分区的分区名
的哈希表。
5.根据权利要求1 ‑4中任一项所述的方法, 其特征在于, 所述路由表是在向所述分布式
数据库中写入所述第一数据表的数据的过程中, 通过 下述步骤得到的:
在向所述分布式数据库中的目标分区写入目标表的目标字段的目标字段值数据的情
况下, 生成目标布隆过滤器, 所述 目标布隆过滤器用于判断字段名为所述 目标字段 的数据
是否属于用于所述目标分区;
获取所述路由表中的与所述目标分区对应的原始布隆过滤器, 其中, 初始时刻的所述
路由表为空;
合并所述目标布隆过 滤器和所述原 始布隆过滤器, 得到合并后的布隆过 滤器;
将所述路由表中的与所述目标分区对应的原始布隆过滤器修改为所述合并后的布隆
过滤器。权 利 要 求 书 1/2 页
2
CN 115470249 A
26.根据权利要求5所述的方法, 其特征在于, 所述在向所述分布式数据库中的目标分区
写入目标表的目标字段的目标字段值数据的情况 下, 生成目标布隆过 滤器, 包括:
在向所述分布式数据库中的目标分区写入目标表的目标字段的目标字段值数据的情
况下, 利用第三线程将路由更新消息写入消息服务器中的第二主题的消息队列, 其中, 所述
第二主题为所述目标表的所述 目标字段, 所述路由更新消息包括所述 目标表、 所述 目标字
段、 所述目标分区和所述 目标布隆过滤器, 所述路由更新请求用于更新与所述目标分区对
应的布隆过 滤器并更新所述路由表中的对应关系;
利用第四线程根据读取到的所述消息队列中的所述路由更新消息, 生成目标布隆过滤
器并发起路由更新请求。
7.根据权利要求6所述的方法, 其特征在于, 所述利用第四线程根据读取到的所述消息
队列中的所述路由更新消息, 生成目标布隆过 滤器并发起路由更新请求, 包括:
利用第四线程读取所述消息服务器的各消息队列中的所述路由更新消息, 在读取到至
少两条所述路由更新消息的情况下, 基于每一条所述路由更新消息生成对应的目标布隆过
滤器并发起对应的路由更新请求。
8.根据权利要求7所述的方法, 其特征在于, 所述路由表是key为目标分区的分区名及
所述目标分区所存储的数据所属的目标表和目标字段, value为用于判断所述目标表中的
字段名为所述目标字段的数据是否属于所述目标分区的布隆过 滤器的哈希 表。
9.根据权利要求1 ‑4任一项所述的方法, 其特征在于, 所述在查找命中的情况下, 确定
所述欲查找数据被存 储在所述第一分区, 包括:
在查找命中的情况下, 判断所述查找命中的所述欲查找数据 是否具备删除标志, 若是,
则表征所述欲查找数据未被存储在所述第一分区, 若否, 则确定所述欲查找数据被存储在
所述第一分区, 其中, 所述删除标志是在欲删除所述分布式数据库中的所述欲查找数据的
情况下, 配置给存 储在所述第一分区上的所述欲查找数据的标志。
10.一种数据路由装置, 其特 征在于, 包括:
布隆过滤器获取单元, 用于在预设的路由表中, 获取与第一数据表中的第一字段名对
应的若干个第一布隆过滤器, 其中, 所述第一数据 表为欲查找数据所属的数据 表, 所述第一
字段名为所述欲查找数据的字段名, 所述第一布隆过滤器是在向分布式数据库中写入所述
第一数据表中的字段名为所述第一字段名的数据的过程中生成的;
数据查找单元, 用于利用各个所述第 一布隆过滤器判断所述欲查找数据 是否属于第 一
分区, 若判断结果为是, 则 在所述第一分区中, 查找所述欲查找数据, 在查找命中的情况下,
确定所述欲查找数据被存储在所述第一分区, 其中, 所述第一分区是所述分布式数据库中
的与所述第一布隆过 滤器对应的分区。权 利 要 求 书 2/2 页
3
CN 115470249 A
3
专利 数据路由方法及装置
安全报告 >
其他 >
文档预览
中文文档
13 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 思考人生 于 2024-02-07 20:38:20上传分享