CN112364017A - 一种利用布隆过滤器过滤黑白名单的方法 - Google Patents
一种利用布隆过滤器过滤黑白名单的方法 Download PDFInfo
- Publication number
- CN112364017A CN112364017A CN202011184354.8A CN202011184354A CN112364017A CN 112364017 A CN112364017 A CN 112364017A CN 202011184354 A CN202011184354 A CN 202011184354A CN 112364017 A CN112364017 A CN 112364017A
- Authority
- CN
- China
- Prior art keywords
- black
- white list
- hash
- detection information
- hash value
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000001914 filtration Methods 0.000 title claims abstract description 12
- 238000001514 detection method Methods 0.000 claims abstract description 53
- 238000004364 calculation method Methods 0.000 claims abstract description 33
- 238000013507 mapping Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 5
- 208000000044 Amnesia Diseases 0.000 abstract description 4
- 208000026139 Memory disease Diseases 0.000 abstract description 4
- 230000006984 memory degeneration Effects 0.000 abstract description 4
- 208000023060 memory loss Diseases 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种利用布隆过滤器过滤黑白名单的方法,所述方法执行以下步骤:步骤1:根据预置的黑白名单,设置比特数组的大小;步骤2:将所述黑白名单映射到所述比特数组;步骤3:对检测信息进行哈希计算,得到哈希值,并将所述哈希值与所述比特数组进行比对,根据比对结果确定所述检测信息是否存在于所述黑白名单中。根据本发明的方法,使用布隆过滤器检索黑白名单,大大提升检索效率,降低内存损耗,保证事件产生的实时性和多路同时检测的性能。
Description
技术领域
本发明涉及智能识别技术领域,特别涉及一种利用布隆过滤器过滤黑白名单的方法。
背景技术
目前,在智能识别中主要存在两种过滤黑名单的方法,一种是根据智能检测结果直接查询数据库黑白名单表,查询是否存在相关记录,但这种方法的缺陷在于数据库操作效率低,当同时开启多路智能检测或者数据量庞大时,务必会影响到整个智能识别系统的性能;另一种是通过在智能识别系统开启缓存区来提升速度,缓存策略可以提升查询速度,但是这种方法的缺陷在于,当黑白名单数据比较多的时候,会消耗大量的内存。
发明内容
本发明提供一种利用布隆过滤器过滤黑白名单的方法,用以在提升检索效率的同时降低内存损耗。
本发明提供了一种利用布隆过滤器过滤黑白名单的方法,所述方法执行以下步骤:
步骤1:根据预置的黑白名单,设置比特数组的大小;
步骤2:将所述黑白名单映射到所述比特数组;
步骤3:对检测信息进行哈希计算,得到哈希值,并将所述哈希值与所述比特数组进行比对,根据比对结果确定所述检测信息是否存在于所述黑白名单中。
进一步地,所述步骤1:所述根据预置的黑白名单,设置比特数组的大小包括:
根据预置的黑白名单的大小,设置布隆过滤器所申请的缓存区中比特数组的长度。
进一步地,在所述步骤1中,根据以下公式设置布隆过滤器所申请的缓存区中比特数组的长度:
k=(m/n)/ln2
其中,k表示哈希函数的个数,m表示布隆过滤器所申请的缓存区中比特数组的长度,n表示布隆过滤器中元素的数量。
进一步地,所述步骤2:将所述黑白名单映射到所述比特数组包括:
根据用户配置的黑白名单的结构信息,采用多个哈希算法映射到所述比特数组。
进一步地,所述黑白名单的结构信息包括:标记所述黑白名单记录中每一条记录的特征值,
并且所述黑白名单记录包括:姓名、身份证、性别、家庭住址中的至少一种。
进一步地,在所述步骤2中,将所述黑白名单映射到所述比特数组所采用的哈希算法包括:murmurhash或FNV。
进一步地,所述步骤3:对检测信息进行哈希计算,得到哈希值,并将所述哈希值与所述比特数组进行比对,根据比对结果确定所述检测信息是否存在于所述黑白名单中执行以下步骤:
步骤S31:对智能检测信息进行哈希计算,得到哈希值;
步骤S32:将所述哈希值与所述比特数组进行比对;
步骤S33:若所述比特数组中与所述哈希值对应的每个比特位均匹配成功,则所述检测信息存在于所述黑白名单中;
步骤S34:若所述比特数组中与所述哈希值对应的至少一个比特位未匹配成功,则所述检测信息不存在于所述黑白名单中。
进一步地,所述步骤S31:对智能检测信息进行哈希计算,得到哈希值包括:
采用多个哈希算法对同一个智能检测信息进行哈希计算,得到多个哈希值。
进一步地,所述步骤S31:对智能检测信息进行哈希计算,得到哈希值执行以下步骤:
步骤S311:采用第一哈希算法对一个智能检测信息进行哈希计算,得到第一哈希值;
步骤S312:采用不同于所述第一哈希算法的第二哈希算法对所述第一哈希值进行哈希计算,得到第二哈希值。
进一步地,在所述步骤S31中,所述智能检测信息包括:人脸信息或人体特征值。
本发明实施例提供的一种利用布隆过滤器过滤黑白名单的方法,具有以下有益效果:使用布隆过滤器检索黑白名单,大大提升检索效率,降低内存损耗,保证事件产生的实时性和多路同时检测的性能。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种利用布隆过滤器过滤黑白名单的方法的流程示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提供了一种利用布隆过滤器过滤黑白名单的方法,如图1所示,所述方法执行以下步骤:
步骤1:根据预置的黑白名单,设置比特数组的大小;
步骤2:将所述黑白名单映射到所述比特数组;
步骤3:对检测信息进行哈希计算,得到哈希值,并将所述哈希值与所述比特数组进行比对,根据比对结果确定所述检测信息是否存在于所述黑白名单中。
上述技术方案的工作原理为:布隆过滤器是一个二进制比特数组与一个高效的哈希映射函数的组合,可用于检索一个元素是否在一个集合中,它在空间效率和时间效率上远超一般算法。
其中,本发明的利用布隆过滤器过滤黑白名单的方法的适用场景包括人脸识别场景、智能算法识别场景等。
在本发明中,首先,根据预置的黑白名单,设置比特数组的大小;然后,将黑白名单映射到比特数组,建立黑白名单与比特数组之间的关联;最后,对检测信息进行哈希计算,并将计算得到的哈希值与之前与黑白名单建立关联的比特数组进行比对,根据比对结果可以确定检测信息是否存在于黑白名单中。
上述技术方案的有益效果为:使用布隆过滤器检索黑白名单,大大提升检索效率,降低内存损耗,保证事件产生的实时性和多路同时检测的性能。
在一个实施例中,所述步骤1:所述根据预置的黑白名单,设置比特数组的大小包括:
根据预置的黑白名单的大小,设置布隆过滤器所申请的缓存区中比特数组的长度。
上述技术方案的工作原理为:黑白名单的大小可以由智能识别系统的存储容量进行定制,例如可以为1000或2000等。需要说明的是,本发明对黑白名单的大小以及布隆过滤器所申请的缓存区中比特数组的长度不作具体限定。
上述技术方案的有益效果为:提供了根据预置的黑白名单,设置比特数组的大小的具体方法。
在一个实施例中,在所述步骤1中,根据以下公式设置布隆过滤器所申请的缓存区中比特数组的长度:
k=(m/n)/ln2
其中,k表示哈希函数的个数,m表示布隆过滤器所申请的缓存区中比特数组的长度,n表示布隆过滤器中元素的数量。
上述技术方案的工作原理为:基于以上公式,根据哈希函数的个数、布隆过滤器中元素的数量可以得到布隆过滤器所申请的缓存区中比特数组的长度。
上述技术方案的有益效果为:提供了设置布隆过滤器所申请的缓存区中比特数组的长度的具体公式。
在一个实施例中,所述步骤2:将所述黑白名单映射到所述比特数组包括:
根据用户配置的黑白名单的结构信息,采用多个哈希算法映射到所述比特数组。
上述技术方案的工作原理为:所述黑白名单的结构信息包括:标记所述黑白名单记录中每一条记录的特征值,并且所述黑白名单记录包括:姓名、身份证、性别、家庭住址中的至少一种。
黑白名单记录中的姓名、身份证、性别、家庭住址等记录均对应一个特征值,可以将其对应的特征值采用多个哈希算法映射到比特数组。
上述技术方案的有益效果为:提供了将黑白名单映射到比特数组的具体方法。
在一个实施例中,在所述步骤2中,将所述黑白名单映射到所述比特数组所采用的哈希算法包括:murmurhash或FNV。
上述技术方案的工作原理为:采用murmurhash或FNV这些高效的哈希算法,可以提高检索效率。需要说明的是,本发明还可以采用其他高效的哈希算法,本发明对此不作具体限定。
上述技术方案的有益效果为:提供了将黑白名单映射到比特数组所采用的哈希算法,可以提高检索效率。
在一个实施例中,所述步骤3:对检测信息进行哈希计算,得到哈希值,并将所述哈希值与所述比特数组进行比对,根据比对结果确定所述检测信息是否存在于所述黑白名单中执行以下步骤:
步骤S31:对智能检测信息进行哈希计算,得到哈希值;
步骤S32:将所述哈希值与所述比特数组进行比对;
步骤S33:若所述比特数组中与所述哈希值对应的每个比特位均匹配成功,则所述检测信息存在于所述黑白名单中;
步骤S34:若所述比特数组中与所述哈希值对应的至少一个比特位未匹配成功,则所述检测信息不存在于所述黑白名单中。
上述技术方案的工作原理为:在所述步骤S31中,所述智能检测信息包括:人脸信息或人体特征值。
若比特数组中与哈希值对应的每个比特位均匹配成功,则说明检测信息存在于黑白名单中;反之,若比特数组中与哈希值对应的至少一个比特位未匹配成功,则说明检测信息不存在于所述黑白名单中。
上述技术方案的有益效果为:提供了对检测信息进行哈希计算,得到哈希值,并将哈希值与比特数组进行比对,根据比对结果确定检测信息是否存在于黑白名单中的具体步骤。
在一个实施例中,所述步骤S31:对智能检测信息进行哈希计算,得到哈希值包括:
采用多个哈希算法对同一个智能检测信息进行哈希计算,得到多个哈希值。
上述技术方案的工作原理为:采用多个哈希算法对同一个智能检测信息对应的特征值进行哈希计算,得到多个哈希值,相应地,在步骤S32中,将得到的多个哈希值与比特数组进行比对。
上述技术方案的有益效果为:提供了对智能检测信息进行哈希计算,得到哈希值的一种策略。
在一个实施例中,所述步骤S31:对智能检测信息进行哈希计算,得到哈希值执行以下步骤:
步骤S311:采用第一哈希算法对一个智能检测信息进行哈希计算,得到第一哈希值;
步骤S312:采用不同于所述第一哈希算法的第二哈希算法对所述第一哈希值进行哈希计算,得到第二哈希值。
上述技术方案的工作原理为:在采用第一哈希算法对一个智能检测信息进行哈希计算,得到第一哈希值之后,再采用另外一个哈希算法重新哈希计算一次,得到第二哈希值,相应地,在步骤S32中,将得到的第二哈希值与比特数组进行比对。
上述技术方案的有益效果为:提供了对智能检测信息进行哈希计算,得到哈希值的另一种策略。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种利用布隆过滤器过滤黑白名单的方法,其特征在于,所述方法执行以下步骤:
步骤1:根据预置的黑白名单,设置比特数组的大小;
步骤2:将所述黑白名单映射到所述比特数组;
步骤3:对检测信息进行哈希计算,得到哈希值,并将所述哈希值与所述比特数组进行比对,根据比对结果确定所述检测信息是否存在于所述黑白名单中。
2.如权利要求1所述的方法,其特征在于,所述步骤1:所述根据预置的黑白名单,设置比特数组的大小包括:
根据预置的黑白名单的大小,设置布隆过滤器所申请的缓存区中比特数组的长度。
3.如权利要求2所述的方法,其特征在于,在所述步骤1中,根据以下公式设置布隆过滤器所申请的缓存区中比特数组的长度:
k=(m/n)/ln2
其中,k表示哈希函数的个数,m表示布隆过滤器所申请的缓存区中比特数组的长度,n表示布隆过滤器中元素的数量。
4.如权利要求1所述的方法,其特征在于,所述步骤2:将所述黑白名单映射到所述比特数组包括:
根据用户配置的黑白名单的结构信息,采用多个哈希算法映射到所述比特数组。
5.如权利要求4所述的方法,其特征在于,所述黑白名单的结构信息包括:标记所述黑白名单记录中每一条记录的特征值,
并且所述黑白名单记录包括:姓名、身份证、性别、家庭住址中的至少一种。
6.如权利要求4所述的方法,其特征在于,在所述步骤2中,将所述黑白名单映射到所述比特数组所采用的哈希算法包括:murmurhash或FNV。
7.如权利要求1所述的方法,其特征在于,所述步骤3:对检测信息进行哈希计算,得到哈希值,并将所述哈希值与所述比特数组进行比对,根据比对结果确定所述检测信息是否存在于所述黑白名单中执行以下步骤:
步骤S31:对智能检测信息进行哈希计算,得到哈希值;
步骤S32:将所述哈希值与所述比特数组进行比对;
步骤S33:若所述比特数组中与所述哈希值对应的每个比特位均匹配成功,则所述检测信息存在于所述黑白名单中;
步骤S34:若所述比特数组中与所述哈希值对应的至少一个比特位未匹配成功,则所述检测信息不存在于所述黑白名单中。
8.如权利要求7所述的方法,其特征在于,所述步骤S31:对智能检测信息进行哈希计算,得到哈希值包括:
采用多个哈希算法对同一个智能检测信息进行哈希计算,得到多个哈希值。
9.如权利要求7所述的方法,其特征在于,所述步骤S31:对智能检测信息进行哈希计算,得到哈希值执行以下步骤:
步骤S311:采用第一哈希算法对一个智能检测信息进行哈希计算,得到第一哈希值;
步骤S312:采用不同于所述第一哈希算法的第二哈希算法对所述第一哈希值进行哈希计算,得到第二哈希值。
10.如权利要求4所述的方法,其特征在于,在所述步骤S31中,所述智能检测信息包括:人脸信息或人体特征值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011184354.8A CN112364017A (zh) | 2020-10-28 | 2020-10-28 | 一种利用布隆过滤器过滤黑白名单的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011184354.8A CN112364017A (zh) | 2020-10-28 | 2020-10-28 | 一种利用布隆过滤器过滤黑白名单的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112364017A true CN112364017A (zh) | 2021-02-12 |
Family
ID=74513739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011184354.8A Pending CN112364017A (zh) | 2020-10-28 | 2020-10-28 | 一种利用布隆过滤器过滤黑白名单的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112364017A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113572747A (zh) * | 2021-07-14 | 2021-10-29 | 奇安信科技集团股份有限公司 | 一种ip地址的处理方法、装置、存储介质和处理器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079042A (zh) * | 2006-12-28 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 一种快速查询黑白名单的系统及方法 |
CN109145158A (zh) * | 2017-06-13 | 2019-01-04 | 华为技术有限公司 | 一种布隆过滤器中数据的处理方法以及布隆过滤器 |
CN109977295A (zh) * | 2019-04-11 | 2019-07-05 | 北京安护环宇科技有限公司 | 一种黑白名单匹配方法及装置 |
-
2020
- 2020-10-28 CN CN202011184354.8A patent/CN112364017A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079042A (zh) * | 2006-12-28 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 一种快速查询黑白名单的系统及方法 |
CN109145158A (zh) * | 2017-06-13 | 2019-01-04 | 华为技术有限公司 | 一种布隆过滤器中数据的处理方法以及布隆过滤器 |
CN109977295A (zh) * | 2019-04-11 | 2019-07-05 | 北京安护环宇科技有限公司 | 一种黑白名单匹配方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113572747A (zh) * | 2021-07-14 | 2021-10-29 | 奇安信科技集团股份有限公司 | 一种ip地址的处理方法、装置、存储介质和处理器 |
CN113572747B (zh) * | 2021-07-14 | 2023-06-09 | 奇安信科技集团股份有限公司 | 一种ip地址的处理方法、装置、存储介质和处理器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021091489A1 (en) | Method and apparatus for storing time series data, and server and storage medium thereof | |
CN106874348B (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
US20040109376A1 (en) | Method for detecting logical address of flash memory | |
CN102622434B (zh) | 数据存储方法、查找方法及装置 | |
CN102754394B (zh) | 一种哈希表存储、查找方法以及装置 | |
EP1560224A2 (en) | Data recovery apparatus and method used for flash memory | |
CN106648463A (zh) | Nand Flash块管理方法和系统 | |
US20040088474A1 (en) | NAND type flash memory disk device and method for detecting the logical address | |
CN114461854A (zh) | 一种基于向量数据库的监控视频人物检索方法及系统 | |
CN112364017A (zh) | 一种利用布隆过滤器过滤黑白名单的方法 | |
CN109189696B (zh) | 一种ssd缓存系统及缓存方法 | |
CN115951832A (zh) | 针对对象存储的智能小文件合并的方法及系统 | |
CN111356094B (zh) | 一种sim短消息处理方法及装置 | |
CN114266302A (zh) | 面向异构内存设备的深度学习Embedding数据高效处理系统及方法 | |
CN110674057A (zh) | 一种数据处理方法及系统 | |
CN112214493A (zh) | 一种历史记录存储方法、装置、电子设备以及存储介质 | |
CN105574157A (zh) | 一种照片存储方法及设备 | |
CN110825940A (zh) | 网络数据包存储和查询方法 | |
CN116737666A (zh) | 一种高效的大数据存储文件结构及数据存储方法 | |
CN113515527B (zh) | 一种聚合型ip索引的建立和应用方法 | |
CN111901600B (zh) | 一种损失较低的视频压缩方法 | |
CN114491197B (zh) | 一种基于大数据的数据库扩展方法和装置 | |
CN113032179B (zh) | 一种第三方数据恢复软件清除效果评估与选择方法 | |
CN117526963A (zh) | 数据压缩方法、装置、计算机设备及可读存储介质 | |
CN106681939A (zh) | 磁盘页面的读取方法和装置 |
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 |