CN108549716A - 一种基于布隆算法实现海量黑名单处理的方法 - Google Patents

一种基于布隆算法实现海量黑名单处理的方法 Download PDF

Info

Publication number
CN108549716A
CN108549716A CN201810367564.7A CN201810367564A CN108549716A CN 108549716 A CN108549716 A CN 108549716A CN 201810367564 A CN201810367564 A CN 201810367564A CN 108549716 A CN108549716 A CN 108549716A
Authority
CN
China
Prior art keywords
cloth
blacklist
magnanimity
processing
grand
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
Application number
CN201810367564.7A
Other languages
English (en)
Inventor
韦晓翰
刘�东
方小娇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Austrian Austrian Buyer Agel Ecommerce Ltd
Original Assignee
Guangdong Austrian Austrian Buyer Agel Ecommerce Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Austrian Austrian Buyer Agel Ecommerce Ltd filed Critical Guangdong Austrian Austrian Buyer Agel Ecommerce Ltd
Priority to CN201810367564.7A priority Critical patent/CN108549716A/zh
Publication of CN108549716A publication Critical patent/CN108549716A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders
    • G06Q30/0637Approvals

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种基于布隆算法实现海量黑名单处理的方法,首先,选取jdk7软件,jdk7软件已经实现了布隆算法;然后,将刷单黑名单存入布隆过滤器,通过一个hash函数将一个元素映像成一个位阵列中的一个点,通过观察这个点是不是1,即可知道集合中有没有它。通过采用布隆算法,并配合利用布隆过滤器,使得在处理过程中存储的不是元素集合,而是经过一系列Hash算法计算完以后的二进制数组,通过控制k、m来控制占用内存的大小,大大节省了内存空间,为使用带来方便。

Description

一种基于布隆算法实现海量黑名单处理的方法
技术领域
本发明涉及电商领域技术,尤其是指一种基于布隆算法实现海量黑名单处理的方法。
背景技术
目前,防刷单系统中需要实现黑名单用户机制,主要有以下方法:
1、通常判断一个元素是否存在于某个集合,一般的做法是把数据原文保存到内存中,然后再进行判断是否存在。但是随着数据量日积月累的增加,消耗的内存就越来越严重。
2、计算机中的集合是用哈希表(hash table)来存储的。它的好处是快速准确,缺点是费存储空间。当集合比较小时,这个问题不显着,但是当集合巨大时,哈希表存储效率低的问题就显现出来了
3、由于那些刷单账号者不停地在注册新的账号,达到几十亿个账号,将他们都存起来则需要大量的网络服务器。如果用哈希表,每存储一亿个账号地址,就需要1.6GB的内存,然后将这些信息指纹存入哈希表,由于哈希表的存储效率一般只有50%,因此一个账号需要占用十六个字节。一亿个地址大约要1.6GB,即十六亿字节的内存)。因此存贮几十亿个账号可能需要上百G的内存。除非是超级计算机,一般服务器是无法存储的。
发明内容
有鉴于此,本发明针对现有技术存在之缺失,其主要目的是提供一种基于布隆算法实现海量黑名单处理的方法,其能有效解决现有之防刷单系统中实现黑名单用户机制的方法耗费存储空间的问题。
为实现上述目的,本发明采用如下之技术方案:
一种基于布隆算法实现海量黑名单处理的方法,首先,选取jdk7软件,jdk7软件已经实现了布隆算法;然后,将刷单黑名单存入布隆过滤器,通过一个hash函数将一个元素映像成一个位阵列中的一个点,通过观察这个点是不是1,即可知道集合中有没有它。
优选的,所述布隆过滤器存储的是经过一系列Hash算法计算完以后的二进制数组,通过控制k、m来控制占用内存的大小。
优选的,所述k和m相同,使用同一组Hash函数的两个布隆过滤器的交并差运算使用位操作进行。
本发明与现有技术相比具有明显的优点和有益效果,具体而言,由上述技术方案可知:
通过采用布隆算法,并配合利用布隆过滤器,使得在处理过程中存储的不是元素集合,而是经过一系列Hash算法计算完以后的二进制数组,通过控制k、m来控制占用内存的大小,大大节省了内存空间,为使用带来方便。
为更清楚地阐述本发明的结构特征和功效,下面结合附图与具体实施例来对本发明进行详细说明:
附图说明
图1是本发明之较佳实施例中二进制数组的示意图。
具体实施方式
本发明揭示了一种基于布隆算法实现海量黑名单处理的方法,首先,选取jdk7软件,jdk7软件已经实现了布隆算法;然后,将刷单黑名单存入布隆过滤器,通过一个hash函数将一个元素映像成一个位阵列中的一个点,通过观察这个点是不是1,即可知道集合中有没有它。
所述布隆过滤器存储的是经过一系列Hash算法计算完以后的二进制数组,通过控制k、m来控制占用内存的大小,大大节省了内存空间。k是该位数组的大小,m是Hash函数的个数。
如果我们的位阵列长度是m,那么如果我们想将容错率降低到3%,这个散列表就只能容纳m/300个元素。显然这就不叫空间有效了。解决方法也简单,就是使用很多个hash,如果它们有一个说元素不在集合中,那就必定不在集合中。
在很多Key-Value系统中也使用了布隆过滤器来加快查询过程,如Hbase,Accumulo,Leveldb,一般而言,Value保存在磁盘中,访问磁盘需要花费大量时间,然而使用布隆过滤器可以快速判断某个Key对应的Value是否存在,因此可以避免很多不必要的磁盘IO操作,只是引入布隆过滤器会带来一定的内存消耗
相比于其它的数据结构,布隆过滤器在空间和时间方面都有巨大的优势。布隆过滤器存储空间和插入/查询时间都是常数。另外,Hash函数相互之间没有关系,方便由硬件并行实现。布隆过滤器不需要存储元素本身,在某些对保密要求非常严格的场合有优势。
以及,布隆过滤器可以表示全集,其它任何数据结构都不能。
另外,所述k和m相同,使用同一组Hash函数的两个布隆过滤器的交并差运算使用位操作进行。
本发明的设计重点是:通过采用布隆算法,并配合利用布隆过滤器,使得在处理过程中存储的不是元素集合,而是经过一系列Hash算法计算完以后的二进制数组,通过控制k、m来控制占用内存的大小,大大节省了内存空间,为使用带来方便。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

Claims (3)

1.一种基于布隆算法实现海量黑名单处理的方法,其特征在于:首先,选取jdk7软件,jdk7软件已经实现了布隆算法;然后,将刷单黑名单存入布隆过滤器,通过一个hash函数将一个元素映像成一个位阵列中的一个点,通过观察这个点是不是1,即可知道集合中有没有它。
2.如权利要求1所述的一种基于布隆算法实现海量黑名单处理的方法,其特征在于:所述布隆过滤器存储的是经过一系列Hash算法计算完以后的二进制数组,通过控制k、m来控制占用内存的大小。
3.如权利要求2所述的一种基于布隆算法实现海量黑名单处理的方法,其特征在于:所述k和m相同,使用同一组Hash函数的两个布隆过滤器的交并差运算使用位操作进行。
CN201810367564.7A 2018-04-23 2018-04-23 一种基于布隆算法实现海量黑名单处理的方法 Pending CN108549716A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810367564.7A CN108549716A (zh) 2018-04-23 2018-04-23 一种基于布隆算法实现海量黑名单处理的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810367564.7A CN108549716A (zh) 2018-04-23 2018-04-23 一种基于布隆算法实现海量黑名单处理的方法

Publications (1)

Publication Number Publication Date
CN108549716A true CN108549716A (zh) 2018-09-18

Family

ID=63512302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810367564.7A Pending CN108549716A (zh) 2018-04-23 2018-04-23 一种基于布隆算法实现海量黑名单处理的方法

Country Status (1)

Country Link
CN (1) CN108549716A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111899019A (zh) * 2020-07-28 2020-11-06 朱玮 一种黑名单多方交叉验证和共享的方法及系统
CN112532598A (zh) * 2020-11-19 2021-03-19 南京大学 一种用于实时入侵检测系统的过滤方法
CN113572747A (zh) * 2021-07-14 2021-10-29 奇安信科技集团股份有限公司 一种ip地址的处理方法、装置、存储介质和处理器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110132A (zh) * 2010-12-08 2011-06-29 北京星网锐捷网络技术有限公司 统一资源定位符匹配查找方法、装置和网络侧设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110132A (zh) * 2010-12-08 2011-06-29 北京星网锐捷网络技术有限公司 统一资源定位符匹配查找方法、装置和网络侧设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张皓: "Webmon整站分析系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111899019A (zh) * 2020-07-28 2020-11-06 朱玮 一种黑名单多方交叉验证和共享的方法及系统
CN112532598A (zh) * 2020-11-19 2021-03-19 南京大学 一种用于实时入侵检测系统的过滤方法
CN113572747A (zh) * 2021-07-14 2021-10-29 奇安信科技集团股份有限公司 一种ip地址的处理方法、装置、存储介质和处理器
CN113572747B (zh) * 2021-07-14 2023-06-09 奇安信科技集团股份有限公司 一种ip地址的处理方法、装置、存储介质和处理器

Similar Documents

Publication Publication Date Title
US11620524B2 (en) Issuing alerts for storage volumes using machine learning
CN103929185B (zh) 实时减少数据压缩的中央处理单元开销的方法和系统
CN104205115B (zh) 使用不同安全擦除算法以从文件擦除与不同安全级别关联的组块
CN104461935B (zh) 一种进行数据存储的方法、装置及系统
US8464003B2 (en) Method and apparatus to manage object based tier
US9239842B2 (en) Real-time identification of data candidates for classification based compression
US9652374B2 (en) Sparsity-driven matrix representation to optimize operational and storage efficiency
CN108549716A (zh) 一种基于布隆算法实现海量黑名单处理的方法
US9792350B2 (en) Real-time classification of data into data compression domains
CN101673192B (zh) 时序化的数据处理方法、装置及系统
US20180239553A1 (en) Method for deduplication in storage system, storage system, and controller
CN106201923B (zh) 读写数据方法及装置
WO2014037767A1 (en) Multi-level inline data deduplication
WO2015103794A1 (zh) 一种文件访问权限控制方法及装置
US20180159866A1 (en) Computer Malware Detection
CN106021027B (zh) 终端数据处理方法和系统
EP2811410B1 (en) Monitoring record management method and device
US10209905B2 (en) Reusing storage blocks of a file system
CN112346647A (zh) 数据存储方法、装置、设备和介质
CN109614411B (zh) 数据存储方法、设备和存储介质
CN101021891A (zh) 一种进程管理方法和装置
CN104636078B (zh) 用于对多种类型的存储等级组的非易失性存储(nvs)的有效阈值化的方法和系统
CN106528876B (zh) 分布式系统的信息处理方法及分布式信息处理系统
CN103645995B (zh) 写数据的方法及装置
US8498622B2 (en) Data processing system with synchronization policy

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180918

RJ01 Rejection of invention patent application after publication