[发明专利]基于Bloom Filter的海量数据查询方法在审
申请号: | 201811581515.X | 申请日: | 2018-12-24 |
公开(公告)号: | CN109783441A | 公开(公告)日: | 2019-05-21 |
发明(设计)人: | 王东;王伟;曹娇娇 | 申请(专利权)人: | 南京中新赛克科技有限责任公司 |
主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/14;G06F16/182 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
地址: | 210012 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据文件 海量数据查询 查询数据 海量数据 查询 读取 数据文件生成 分区存储 数据查询 数据读取 数据系统 索引信息 逻辑表 算法 索引 过滤 改进 | ||
1.一种基于Bloom Filter的海量数据查询方法,其特征在于包括以下步骤:
(1)使用SQL引擎将收集到的海量数据按分区存储到数据系统中,生成SQL逻辑表,形成数据文件;
(2)基于Bloom Filter算法,对数据文件生成Bloom Filter索引;
(3)查询数据时,SQL引擎根据所述的Bloom Filter索引信息判断数据文件中是否包含请求查询的数据,从而决定是否读取该数据文件。
2.根据权利要求1所述的基于Bloom Filter的海量数据查询方法,其特征在于为步骤(1)中所述SQL引擎可以是Apache Impala、Presto、Apache Drill、Apache HAWQ中的任一种。
3.根据权利要求1所述的基于Bloom Filter的海量数据查询方法,其特征在于为步骤(1)中所述海量数据是通过消息中间件从多种数据源收集、过滤和预处理后得到的,包括结构化和非结构化数据。
4.根据权利要求1所述的基于Bloom Filter的海量数据查询方法,其特征在于:步骤(1)中所述的数据系统是分布式文件系统HDFS。
5.根据权利要求1所述的基于Bloom Filter的海量数据查询方法,其特征在于:步骤(2)中每1个数据文件对应1个Bloom Filter索引,该索引信息存储在关系数据库中。
6.根据权利要求1所述的基于Bloom Filter的海量数据查询方法,其特征在于步骤(2)中的生成Bloom Filter索引包括以下步骤:
(21)建立m位的bit数组,m由文件数据量大小决定,数组中每一位的数值都为0;
(22)对SQL表中的字段数据x做k次hash运算,其中第i次hash运算结果n=(hash(x)%m),每次运算后将所述m位的bit数组中的第n位中设置为1,其中1≤i≤k≤m。
7.根据权利要求6所述的基于Bloom Filter的海量数据查询方法,其特征在于步骤(3)中的具体步骤为:对查询数据y做k次哈希运算,如果运算所映射的m位的bit数组中相应位置都为1,则判断包含数据y,将数据文件保存到待读取文件列表中;如果不全为1,则判断不包含对象数据y,忽略该数据文件。
8.根据权利要求7所述的基于Bloom Filter的海量数据查询方法,其特征在于还包括针对新增数据的操作:对新增数据进行k次hash运算,将结果映射到所在数据文件对应的Bloom Filter索引中并更新索引信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京中新赛克科技有限责任公司,未经南京中新赛克科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811581515.X/1.html,转载请声明来源钻瓜专利网。