CN109150161B - 一种用于海明空间下近似成员查询的布隆过滤电路 - Google Patents
一种用于海明空间下近似成员查询的布隆过滤电路 Download PDFInfo
- Publication number
- CN109150161B CN109150161B CN201810705401.5A CN201810705401A CN109150161B CN 109150161 B CN109150161 B CN 109150161B CN 201810705401 A CN201810705401 A CN 201810705401A CN 109150161 B CN109150161 B CN 109150161B
- Authority
- CN
- China
- Prior art keywords
- gate
- bit string
- module
- random
- input end
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
- H03K19/21—EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于海明空间下近似成员查询的布隆过滤电路,特点是包括多个并联的过滤单元和一个或门,过滤单元的输入端与输入信号连接,过滤单元的输出端与或门的输入端连接,或门的输出端输出过滤信号,优点在于多个并联的过滤单元和一个或门构成一个用于海明空间下近似成员查询的布隆过滤电路,实现了海明空间下的近似成员查询问题,而且能够适用于不同粒度的近似成员查询。
Description
技术领域
本发明涉及一种布隆过滤器,尤其是涉及一种用于海明空间下近似成员查询的布隆过滤电路。
背景技术
现实生活中存在大量集合成员查询问题,即判断一个查询对象是否是一个数据集的成员。例如,安全官员想要检查某未知的物质(具有某些可检测的高维特征)是否属于清单所列的危险化学品;网络管理员想要知道某用户的行为特征是否有害;摄影比赛裁判想检查提交的照片是从与某一张大型数据库中的照片类似,以上的问题可以统称为近似成员查询。这些查询都需要判断查询数据与集合中数据的距离。查询数据与目标数据的距离越近,数据的价值就越高。如果是低维的小数据集,可通过线性查找解决,但是对一个海量的高维数据集采用线性查找匹配的话,会非常耗时,很多情况下无法满足实时的需要。为提高处理的速度,可以设置一个高维数据过滤器代表目标数据集合,根据距离过滤掉大部分查询数据,少量剩下的数据可以再通过常规方法进一步处理,可显著提高系统的整体性能。
对于近似成员查询问题的学术研究还刚刚起步,目前对于该问题的主要研究的方向是基于局部敏感哈希函数构建的布隆过滤器。布隆过滤器是一种支持快速查询,具有高空间效率的数据结构。一般处理近似成员查询问题(AMQ)使用布隆过滤器和局部敏感哈希结合的技术,包括DSBF(Distance-Sensitive Bloom Filters)[1]、LSBF(Locality-Sensitive Bloom Filter)[2]以及MLBF(Multi-granularity Locality-sensitive BloomFilter)[3]等。它们分别从理论上、适用度量上以及实际需求的变化上补充和完善了局部敏感哈希函数构建的布隆过滤器这一崭新的近似数据过滤技术。
但是在我们生活工作中,海明距离是一个非常重要的距离度量,被广泛应用在深度学习、图像文档比较、基因分析等领域。而目前尚缺少能够用于海明空间下的近似成员查询的布隆过滤器,此外,目前的布隆过滤器主要由软件来实现,尚缺少硬件构成的电路。
上述提到的文献如下:
[1]A.Kirsch and M.Mitzenmacher,“Distance-Sensitive Bloom Filters,”InALENEX,pp.41-50,2006.
[2]Y.Hua and B.Xiao,“Locality-Sensitive Bloom Filter for ApproximateMembership Query,”IEEE Trans.on Computers,vol.61,no.1,pp.817-830,June2012.
[3]J.Qian,Q.Zhu and H.Chen,“Multi-granularity Locality-sensitiveBloom Filter,”IEEE Trans.on Computers,vol.64,no.12,pp.3500-3514,2015.
发明内容
本发明所要解决的技术问题是提供一种用于海明空间下近似成员查询的布隆过滤电路,通过硬件实现了海明空间下的近似成员查询问题,而且能够适用于不同粒度的近似成员查询。
本发明解决上述技术问题所采用的技术方案为:一种用于海明空间下近似成员查询的布隆过滤电路,包括多个并联的过滤单元和一个或门,所述的过滤单元的输入端与输入信号连接,所述的过滤单元的输出端与所述的或门的输入端连接,所述的或门的输出端输出过滤信号。
所述的过滤单元包括一个随机翻转模块、多个并联的位串模块、与所述的位串模块对应的随机哈希模块和与所述的位串模块对应的与门,在所述的随机哈希模块与所述的与门之间设置有多个并联的多路选择器,所述的随机翻转模块的输入端与输入信号连接,所述的随机翻转模块的输出端与所述的位串模块的输入端连接,所述的位串模块的输出端与所述的随机哈希模块的输入端连接,所述的随机哈希模块的输出端与所述的多路选择器的输入端连接,所述的多路选择器的输出端与所述的与门的输入端连接,所述的与门的输出端与所述的或门的输入端连接。
所述的随机翻转模块由多个异或门组成,所述的异或门的数量等于输出信号的倍数长度,所述的位串模块由多个选择器组成,所述的选择器的数量与位串数据的长度相等,各个所述的选择器的输入端分别与多个异或门的输出端对应并联连接。
与现有技术相比,本发明的优点在于多个并联的过滤单元和一个或门构成一个用于海明空间下近似成员查询的布隆过滤电路,实现了海明空间下的近似成员查询问题,而且能够适用于不同粒度的近似成员查询。
附图说明
图1为本发明的布隆过滤电路的结构示意图;
图2为本发明实施例的布隆过滤电路中的四位随机翻转模块的结构示意图;
图3为本发明实施例的布隆过滤电路中的2位位串模块的结构示意图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
实施例:如图1~3所示,一种用于海明空间下近似成员查询的布隆过滤电路,包括多个并联的过滤单元和一个或门1,或门的输出端输出过滤信号。
过滤单元包括一个随机翻转模块2、多个并联的位串模块3、与位串模块3对应的随机哈希模块4和与位串模块3对应的与门5,在随机哈希模块4与与门5之间设置有多个并联的多路选择器6,随机翻转模块2由四个异或门组成四位随机翻转模块,输出的数据为Q0、Q1、Q2和Q3,位串模块3由两个选择器组成了2位位串模块,两个选择器的输入端并联,输入信号均为Q0、Q1、Q2和Q3,一个选择器的选择信号输入端输入两个选择信号S00和S01,而在输出端输出位串信号b0,另一个选择器的选择信号输入端输入两个选择信号S10和S11,而在输出端输出位串信号b1,位串模块3的输出端与随机哈希模块4的输入端连接,随机哈希模块4的输出端与多路选择器6的输入端连接,多路选择器6的输出端与与门5的输入端连接,与门5的输出端与或门1的输入端连接。
本发明使用的随机哈希模块4为现有技术,在论文“M.V.Ramakrishna,E.Fu,E.Bahcekapili.APerformance Study of Hashing Functions for HardwareApplications.1994Int.Conf.on Computing and Information.”中已经公开。
对上述实施例的电路进入验证实验,其实验结果如下:
使用了1000个数据对象的人造数据集和100000个查询对象的人造查询集,其中约1%是近邻数据。所有数据对象和查询对象都是w=4096维度,即包含4096个比特的二进制数据。
平台为CPU为Intel Core i5-4590@3.30GHz,4.00GB内存,Microsoft Windows7,JAVA版本为JSE1.8.0_31。软件实现时,每秒能过滤数据1.08×104个数据(参数k=30,L=10,c=20)。参数c是随机翻转模块的个数,L是从一个随机翻转模块输出的位串模块的个数,k是一个位串模块的(输出)宽度,参见图1。
作为对比,我们用Altera公司的Stratix FPGA II EP2S180F1508C3实现布隆过滤电路,实验结果如表所示(参数k=30,L=10)。我们可以看到,随着随机翻转模块数量(c)的增加,硬件消耗增加,处理速度也略有下降(从每秒处理4.14×107数据下降到每秒处理3.66×107数据),但还是高于软件实现速度3个数量级。硬件逻辑使用量低于5%,功耗稳定1462mw。
FPGA实验结果
Claims (2)
1.一种用于海明空间下近似成员查询的布隆过滤电路,包括多个并联的过滤单元和一个或门,所述的过滤单元的输入端与输入信号连接,所述的过滤单元的输出端与所述的或门的输入端连接,所述的或门的输出端输出过滤信号,其特征在于所述的过滤单元包括一个随机翻转模块、多个并联的位串模块、与所述的位串模块对应的随机哈希模块和与所述的位串模块对应的与门,在所述的随机哈希模块与所述的与门之间设置有多个并联的多路选择器,所述的随机翻转模块的输入端与输入信号连接,所述的随机翻转模块的输出端与所述的位串模块的输入端连接,所述的位串模块的输出端与所述的随机哈希模块的输入端连接,所述的随机哈希模块的输出端与所述的多路选择器的输入端连接,所述的多路选择器的输出端与所述的与门的输入端连接,所述的与门的输出端与所述的或门的输入端连接。
2.如权利要求1所述的一种用于海明空间下近似成员查询的布隆过滤电路,其特征在于所述的随机翻转模块由多个异或门组成,所述的异或门的数量等于输出信号的倍数长度,所述的位串模块由多个选择器组成,所述的选择器的数量与位串数据的长度相等,各个所述的选择器的输入端分别与多个异或门的输出端对应并联连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810705401.5A CN109150161B (zh) | 2018-07-02 | 2018-07-02 | 一种用于海明空间下近似成员查询的布隆过滤电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810705401.5A CN109150161B (zh) | 2018-07-02 | 2018-07-02 | 一种用于海明空间下近似成员查询的布隆过滤电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109150161A CN109150161A (zh) | 2019-01-04 |
CN109150161B true CN109150161B (zh) | 2022-01-14 |
Family
ID=64802587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810705401.5A Active CN109150161B (zh) | 2018-07-02 | 2018-07-02 | 一种用于海明空间下近似成员查询的布隆过滤电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109150161B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130088918A (ko) * | 2012-02-01 | 2013-08-09 | 이화여자대학교 산학협력단 | 검증 블룸 필터를 포함하는 멀티 블룸 필터 |
CN104699747A (zh) * | 2014-12-15 | 2015-06-10 | 宁波大学 | 一种基于高维数据过滤器的近似成员查询方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006096324A2 (en) * | 2005-03-03 | 2006-09-14 | Washington University | Method and apparatus for performing biosequence similarity searching |
US7636703B2 (en) * | 2006-05-02 | 2009-12-22 | Exegy Incorporated | Method and apparatus for approximate pattern matching |
US20090234829A1 (en) * | 2008-03-11 | 2009-09-17 | Microsoft Corporation | Link based ranking of search results using summaries of result neighborhoods |
US10282438B2 (en) * | 2016-02-12 | 2019-05-07 | International Business Machines Corporation | Locating data in a set with a single index using multiple property values |
-
2018
- 2018-07-02 CN CN201810705401.5A patent/CN109150161B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130088918A (ko) * | 2012-02-01 | 2013-08-09 | 이화여자대학교 산학협력단 | 검증 블룸 필터를 포함하는 멀티 블룸 필터 |
CN104699747A (zh) * | 2014-12-15 | 2015-06-10 | 宁波大学 | 一种基于高维数据过滤器的近似成员查询方法 |
Non-Patent Citations (3)
Title |
---|
A Novel Accuracy and Similarity Search Structure Based on Parallel Bloom Filters;Shuai, Chunyan;《COMPUTATIONAL INTELLIGENCE AND NEUROSCIENCE》;20161026;第1-12页 * |
Integer-Granularity Locality-Sensitive Bloom Filter;Jiangbo Qian;《IEEE Communications Letters》;20160816;第2125-2128页 * |
基于局部敏感布隆过滤器的集合相似检测技术;黄志鹏;《数据通信》;20160630;第47-51页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109150161A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kelarev et al. | Cayley graphs as classifiers for data mining: The influence of asymmetries | |
Xiao et al. | Cayley graphs as models of deterministic small-world networks | |
Hsueh et al. | A load-balanced mapreduce algorithm for blocking-based entity-resolution with multiple keys | |
CN105981053A (zh) | 用于使用分布式关联记忆库确定数据相关及其中的收敛的方法、系统和计算机程序产品 | |
Ou et al. | Non-transitive hashing with latent similarity components | |
Haj Rachid et al. | A practical and scalable tool to find overlaps between sequences | |
Li et al. | Efficient subspace skyline query based on user preference using MapReduce | |
CN104834736A (zh) | 构建索引库的方法、装置及检索的方法、装置和系统 | |
WO2021027331A1 (zh) | 基于图数据的全量关系计算方法、装置、设备及存储介质 | |
CN102169491A (zh) | 一种多数据集中重复记录动态检测方法 | |
Sha et al. | Matching user accounts across social networks based on users message | |
Duan et al. | Distributed in-memory vocabulary tree for real-time retrieval of big data images | |
Hou et al. | LeNet‐5 improvement based on FPGA acceleration | |
CN109150161B (zh) | 一种用于海明空间下近似成员查询的布隆过滤电路 | |
Wang et al. | Dynamic skylines considering range queries | |
WO2017157038A1 (zh) | 数据处理的方法、装置和设备 | |
CN107122412A (zh) | 一种海量电话号码快速匹配检索方法 | |
Li et al. | Cluster-based distributed dynamic cuckoo filter system for Redis | |
Ma et al. | BCH–LSH: a new scheme of locality‐sensitive hashing | |
CN109002446A (zh) | 一种智能排序方法、终端与计算机可读存储介质 | |
CN103678695B (zh) | 一种并行处理方法及装置 | |
Hsieh et al. | Two-stage sparse graph construction using MinHash on MapReduce | |
Warashina et al. | Efficient k-nearest neighbor graph construction using mapreduce for large-scale data sets | |
Zhang et al. | Optimizing distributed joins with bloom filters using MapReduce | |
Shuai et al. | A novel accuracy and similarity search structure based on parallel bloom filters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information |
Inventor after: Qian Yucheng Inventor after: Qian Jiangbo Inventor after: Huang Zhipeng Inventor after: Chen Yefang Inventor after: Chen Huahui Inventor before: Qian Jiangbo Inventor before: Huang Zhipeng Inventor before: Chen Yefang Inventor before: Chen Huahui |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |