行业标准网
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211260919.5 (22)申请日 2022.10.14 (71)申请人 山东浪潮爱购云链信息科技有限公 司 地址 250101 山东省济南市高新区浪潮路 1036号浪潮科技园 (72)发明人 彭志建  (74)专利代理 机构 北京君慧知识产权代理事务 所(普通合伙) 11716 专利代理师 王彬 (51)Int.Cl. G06F 16/9035(2019.01) G06F 16/2455(2019.01) G06F 16/22(2019.01) G06F 16/215(2019.01) (54)发明名称 一种基于布隆过滤器实现数据查询的方法、 设备及介质 (57)摘要 本申请公开了一种基于布隆过滤器实现数 据查询的方法、 设备及介质, 用以解决传统的布 隆过滤器无法正确判断数据库中是否存在请求 对应的数据的技术问题。 包括: 接收Web端向数据 库发送的查询请求并确定对应的请求数据标识; 基于布隆过滤器并通过至少一种哈希算法计算 请求数据标识对应的至少一个哈希值, 并确定 Redis缓存中是否包含至少一个哈希值对应的位 点信息; 若是则将查询请求发送至数据库并确定 请求数据标识对应的至少一个位点在数据库的 数组中对应的数值是否为预设目标值; 在至少一 个位点在数据库的数组中对应的数值为预设目 标值的情况下, 在位点信息对应的位点中查询并 获取请求数据标识对应的数据, 实现对请求数据 标识对应数据的查询。 权利要求书2页 说明书10页 附图4页 CN 115544329 A 2022.12.30 CN 115544329 A 1.一种基于布隆过 滤器实现数据查询的方法, 其特 征在于, 所述方法包括: 接收Web端向数据库发送的查询请求, 并确定出 所述查询请求中的请求数据标识; 基于布隆过滤器并通过至少一种哈希算法, 计算所述请求数据标识对应的至少一个哈 希值, 并根据所述至少一个哈希值对应的位点信息, 确定Redis缓存中是否包含所述请求数 据标识对应的位 点信息; 若确定所述Redis缓存中包含所述请求数据标识对应的位点信息, 则将所述查询请求 发送至数据库, 并确定所述请求数据标识对应的至少一个位点在所述数据库的数组中对应 的数值是否为预设目标值; 其中, 数据的一个哈希值对应位图中的一个位点, 所述预设预设 目标值用于指示所述 位点不为空; 在所述数据库的数组中确定所述至少一个位点对应的数值为预设目标值的情况下, 根 据所述请求数据标识对应的位点信息, 在 对应的位点中查询并获取所述请求数据标识对应 的数据, 以实现对所述请求数据标识对应数据的查询。 2.根据权利要求1所述的一种基于布隆过滤器实现数据查询的方法, 其特征在于, 所述 接收Web端向数据库发送的查询请求之前, 所述方法还 包括: 获取需要存储于所述数据库中的若干个待存储数据, 并在所述数据库中为所述若干个 待存储数据配置对应的数组; 基于一级布隆过滤器并通过至少一个一级哈希算法, 计算待存储数据对应的至少一个 一级哈希值, 并确定所述至少一个一级哈希值, 在所述数据库中对应的至少一个一级位 点; 在所述数据库的数组中获取所述至少一个一级位点对应的至少一个数值, 并根据 所述 至少一个数值, 确定所述至少一个一级位 点是否为空; 若是, 则将所述待存 储数据存 储至对应的一级位 点中, 完成对所述待存 储数据的存 储。 3.根据权利要求2所述的一种基于布隆过滤器实现数据查询的方法, 其特征在于, 所述 根据所述至少一个数值, 确定所述至少一个一级位 点是否为空之后, 所述方法还 包括: 若所述至少一个一级位点中的所有一级位点均不为空, 则基于二级布隆过滤器并通过 至少一个二级哈希算法, 计算所述待存储数据对应的至少一个二级哈希值, 并确定出所述 至少一个二级哈希值在数据库中对应的至少一个二级位 点; 在所述数据库的数组中获取所述至少一个二级位点对应的至少一个数值, 以确定所述 至少一个二级位 点是否为空; 若是, 则将所述待存 储数据存 储至对应的二级位 点中, 完成对所述待存 储数据的存 储。 4.根据权利要求3所述的一种基于布隆过滤器实现数据查询的方法, 其特征在于, 所述 在所述数据库的数组中获取所述至少一个二级位点对应的至少一个数值, 以确定所述至少 一个二级位 点是否为空之后, 所述方法还 包括: 若所述至少一个二级位点中的所有二级位点均不为空, 则获取所述至少一个二级位点 中所有二级位点对应的删除次数, 并将所述所有二级位点对应的删除次数分别与预设阈值 进行比较; 确定出删除次数小于所述预设阈值的二级位点, 并从所述删除次数小于所述预设阈值 的二级位 点中确定一个二级位 点; 将确定出的所述二级位点中存储的数据删除, 并将所述待存储数据存储至所述确定出 的二级位 点中。权 利 要 求 书 1/2 页 2 CN 115544329 A 25.根据权利要求4所述的一种基于布隆过滤器实现数据查询的方法, 其特征在于, 所述 将所述所有二级位 点对应的删除次数分别与预设阈值进行比较之后, 所述方法还 包括: 若确定所述所有二级位点对应的删除次数均大于所述预设阈值, 则 基于三级布隆过滤 器并通过至少一个三级哈希算法, 计算所述待存储数据对应的至少一个三级哈希值, 并确 定出所述至少一个三级哈希值在数据库中对应的至少一个三级位 点; 若根据获取到的所述至少一个三级位点在数组中对应的至少一个数值, 确定所述至少 一个三级位点为空, 则将所述待存储数据存储至对应的三级位点中, 完成对所述待存储数 据的存储; 若确定所述至少一个三级位点均不为空, 则继续基于四级布隆过滤器并通过至少一个 四级哈希算法, 计算对应的至少一个四级哈希值, 并根据所述至少一个四级哈希值对应的 至少一个四级位点, 在数组中对应的至少一个数值, 确定所述至少一个四级位点为空的情 况下, 将所述待存 储数据存 储至对应的四级位 点中。 6.根据权利要求1所述的一种基于布隆过滤器实现数据查询的方法, 其特征在于, 所述 根据所述至少一个哈希值对应的位点信息, 确定Redis缓存中是否包含所述请求数据标识 对应的位 点信息之前, 所述方法还 包括: 基于待存储数据对应的数据标识, 将存储所述待存储数据的位点信息存储至Redis缓 存中, 以便通过 所述Redis缓存, 确定所述数据库中是否包 含所述待存 储数据。 7.根据权利要求1所述的一种基于布隆过滤器实现数据查询的方法, 其特征在于, 所述 根据所述至少一个哈希值对应的位点信息, 确定Redis缓存中是否包含所述请求数据标识 对应的位 点信息之后, 所述方法还 包括: 若确定所述Redis缓存中不包含所述请求数据标识对应的位点信息, 则确定所述数据 库中不包 含所述请求数据标识对应的数据; 将所述请求数据标识对应的查询请求进行过滤, 并将所述查询请求对应的Web端返回 提示信息。 8.根据权利要求1所述的一种基于布隆过滤器实现数据查询的方法, 其特征在于, 所述 根据所述请求数据标识对应的位点信息, 在对应的位点中查询并获取所述请求数据标识对 应的数据之后, 所述方法还 包括: 基于所述 Web端的查询请求, 确定出 所述查询请求中包 含的所述 Web端对应的地址; 基于确定出的所述Web端对应的地址, 将查询获取到的所述请求数据标识对应的数据 返回至所述 Web端, 以响应于所述 Web端的查询请求。 9.一种基于布隆过 滤器实现数据查询的设备, 其特 征在于, 所述设备包括: 至少一个处 理器; 以及, 与所述至少一个处 理器通信连接的存 储器; 其中, 所述存储器存储有可被所述至少一个处理器执行的指令, 所述指令被所述至少 一个处理器执行, 以使所述至少一个处理器能够执行如权利要求1 ‑8任一项所述的一种基 于布隆过 滤器实现数据查询的方法。 10.一种非易失性计算机存储介质, 存储有计算机可执行指令, 其特征在于, 所述计算 机可执行指令设置为: 如权利要求1 ‑8任一项所述的一种基于布隆过 滤器实现数据查询的方法。权 利 要 求 书 2/2 页 3 CN 115544329 A 3

.PDF文档 专利 一种基于布隆过滤器实现数据查询的方法、设备及介质

文档预览
中文文档 17 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共17页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于布隆过滤器实现数据查询的方法、设备及介质 第 1 页 专利 一种基于布隆过滤器实现数据查询的方法、设备及介质 第 2 页 专利 一种基于布隆过滤器实现数据查询的方法、设备及介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 11:32:11上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。