CN112068958A - 布隆过滤器和数据处理方法 - Google Patents
布隆过滤器和数据处理方法 Download PDFInfo
- Publication number
- CN112068958A CN112068958A CN202010898812.8A CN202010898812A CN112068958A CN 112068958 A CN112068958 A CN 112068958A CN 202010898812 A CN202010898812 A CN 202010898812A CN 112068958 A CN112068958 A CN 112068958A
- Authority
- CN
- China
- Prior art keywords
- bloom filter
- bit
- key
- configuration parameters
- counter 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种布隆过滤器和数据处理方法,所述布隆过滤器的位数组的每一bit位扩展为一个计数器,所述布隆过滤器包括:初始化模块,初始化模块用于初始化配置参数,并在初始化时生成用于存储配置参数的hash对象;判重验证模块,判重验证模块用于判定接收到的key是否已经存在;存储模块,存储模块用于在判重验证模块判定接收到的key不存在时,存储该key,并将对应每个bit位的计数器值加一;删除模块,删除模块用于在判重验证模块判定接收到的key存在时,删除该key,并将对应每个bit位的计数器值减一。本发明能够使布隆过滤器具有删除功能,并能确保数据准确性,以及能够提高布隆过滤器服务的高可用性。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种布隆过滤器和一种数据处理方法。
背景技术
在大数据量背景下处理过滤数据重复性的过滤器,常用到的场景有点赞与取消点赞功能、关注与取消关注功能。当用户量特别大的时候如果还是用相关技术中key与value方式存储记录的话,需要的内存会非常大,且非热点数据不利于查询数据速度。另外还有包括文件上传等验证重复图片上传等等应用场景,这些应用场景里在选择布隆过滤器作为存储与判断依据时如果没有可以删除的功能的话,这些应用场景都没法应用,因为点赞、关注、文件等都有逆操作。因此过滤器删除功能是很必要的功能。
发明内容
本发明为解决上述技术问题,提供了一种布隆过滤器和数据处理方法,能够使布隆过滤器具有删除功能,并能确保数据准确性,以及能够提高布隆过滤器服务的高可用性。
本发明采用的技术方案如下:
一种布隆过滤器,所述布隆过滤器的位数组的每一bit位扩展为一个计数器,所述布隆过滤器包括:初始化模块,所述初始化模块用于初始化配置参数,并在初始化时生成用于存储所述配置参数的hash对象;判重验证模块,所述判重验证模块用于判定接收到的key是否已经存在;存储模块,所述存储模块用于在所述判重验证模块判定接收到的key不存在时,存储该key,并将对应每个bit位的计数器值加一;删除模块,所述删除模块用于在所述判重验证模块判定接收到的key存在时,删除该key,并将对应每个bit位的计数器值减一。
所述配置参数包括插入的元素个数n、误报率p、布隆过滤器名称name、每个bit位的最大值repeat。
用于存储所述配置参数的hash对象为以name及其value值构成的hash对象。
每个bit位的计数器值满足如下公式:
其中,Pr(max(c)≥i)为每个bit位的计数器值大于或等于i的概率,m为所述布隆过滤器的长度。
所述判重验证模块具体用于将接收到的key用hash128函数转化成long类型的值,并根据所述配置参数计算得到一个bit数组,将该bit数组用for循环的方式依次查找是否在redis中存储过,如果该bit数组在redis中全部被查找到,则判定该key存在,否则判定该key不存在。
一种数据处理方法,包括以下步骤:构建布隆过滤器,所述布隆过滤器的位数组的每一bit位扩展为一个计数器;初始化所述布隆过滤器的配置参数,并在初始化时生成用于存储所述配置参数的hash对象;所述布隆过滤器判定接收到的key是否已经存在;所述布隆过滤器在判定接收到的key不存在时,存储该key,并将对应每个bit位的计数器值加一;所述布隆过滤器在判定接收到的key存在时,删除该key,并将对应每个bit位的计数器值减一。
所述配置参数包括插入的元素个数n、误报率p、布隆过滤器名称name、每个bit位的最大值repeat。
用于存储所述配置参数的hash对象为以name及其value值构成的hash对象。
每个bit位的计数器值满足如下公式:
其中,Pr(max(c)≥i)为每个bit位的计数器值大于或等于i的概率,m为所述布隆过滤器的长度。
所述布隆过滤器判定接收到的key是否已经存在,具体包括:将接收到的key用hash128函数转化成long类型的值,并根据所述配置参数计算得到一个bit数组;将该bit数组用for循环的方式依次查找是否在redis中存储过;如果该bit数组在redis中全部被查找到,则判定该key存在,否则判定该key不存在。
本发明的有益效果:
本发明通过将布隆计数器位数组的每一bit位扩展为一个计数器,在插入元素时将对应bit位的计数器值加一,删除元素时将对应bit位的计数器值减一,通过对计数器值的减一不会影响其它key生成相同的bit位值的存在,不会造成误删,解决了布隆过滤器不能删除的问题,也能确保数据准确性;通过在初始化时生成用于存储配置参数的hash对象,使得每个布隆过滤器可仅进行一次初始化,无需在每次服务启动时重新初始化配置参数,也不用将配置参数放在内存中一直占用,解决了当内存溢出或线程卡死的情况下获取不到配置参数导致布隆过滤器服务异常的问题,提高了布隆过滤器服务的高可用性。
附图说明
图1为本发明实施例的布隆过滤器的方框示意图;
图2为本发明一个实施例的布隆过滤器的算法示意图;
图3为本发明实施例的数据处理方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的布隆过滤器的位数组的每一bit位扩展为一个计数器Counter。如图1所示,本发明实施例的布隆过滤器包括初始化模块10、判重验证模块20、存储模块30和删除模块40。其中,初始化模块10用于初始化配置参数,并在初始化时生成用于存储配置参数的hash对象;判重验证模块20用于判定接收到的key是否已经存在;存储模块30用于在判重验证模块20判定接收到的key不存在时,存储该key,并将对应每个bit位的计数器值加一;删除模块40用于在判重验证模块20判定接收到的key存在时,删除该key,并将对应每个bit位的计数器值减一。
本发明实施例的布隆过滤器的一个具体使用场景如图2所示,key(元素)A和B经相应的hash函数映射后,共同的映射bit位的计时器值可为2。
在本发明的一个实施例中,初始化的配置参数包括插入的元素个数n、误报率p、布隆过滤器名称name、每个bit位的最大值repeat。每个bit位的最大值repeat决定计数器值的大小,代表每个bit位可以被存储repeat次,可根据具体业务场景综合设置。
在本发明的一个实施例中,用于存储配置参数的hash对象为以name及其value值构成的hash对象。通过初始化时多生成的该hash对象,实现布隆过滤器配置参数的保存。
对于计数器值大小,即repeat的选择,从使用的角度来看,当然是越大越好,因为计数器值越大就能表示越多的信息。但是越大的计数器值就意味着更多的资源占用,而且在很多时候会造成极大的空间浪费。因此,在选择计数器时,可以衡量多小的计数器值即可以满足需求。在本发明的一个实施例中,计数器值满足如下公式:
其中,Pr(max(c)≥i)为每个bit位的计数器值大于或等于i的概率,m为布隆过滤器的长度。
在实际使用布隆过滤器时,可先通过判重验证模块20判定接收到的key是否已经存在。业务中需要用到的数据取出特定值进行拼接或用对象的方式传进布隆过滤器中,在布隆过滤器中,判重验证模块20可将接收到的key用hash128函数转化成long类型的值,并根据配置参数计算得到一个bit数组,将该bit数组用for循环的方式一个一个地依次查找是否在redis中存储过,如果该bit数组在redis中全部被查找到,则判定该key存在,返回true,否则判定该key不存在,返回false。
业务中传进的key经过判重验证后确认该key是否在布隆过滤器中,如果返回false则会进行存储操作。同样地,可将key经过计算得到一个bit数组,这个bit数组会用for循环逐个的存储到过滤器中,并且把设定好的计数器值加一,标记该bit位已经使用过一次;如果返回true,则将计数器值减一。
根据本发明实施例的布隆计数器,通过将其位数组的每一bit位扩展为一个计数器,在插入元素时将对应bit位的计数器值加一,删除元素时将对应bit位的计数器值减一,通过对计数器值的减一不会影响其它key生成相同的bit位值的存在,不会造成误删,解决了布隆过滤器不能删除的问题,也能确保数据准确性;通过在初始化时生成用于存储配置参数的hash对象,使得每个布隆过滤器可仅进行一次初始化,无需在每次服务启动时重新初始化配置参数,也不用将配置参数放在内存中一直占用,解决了当内存溢出或线程卡死的情况下获取不到配置参数导致布隆过滤器服务异常的问题,提高了布隆过滤器服务的高可用性。
对应上述实施例的布隆过滤器,本发明还提出一种数据处理方法。
如图3所示,本发明实施例的数据处理方法包括以下步骤:
S1,构建布隆过滤器,布隆过滤器的位数组的每一bit位扩展为一个计数器。
S2,初始化布隆过滤器的配置参数,并在初始化时生成用于存储配置参数的hash对象。
在本发明的一个实施例中,初始化的配置参数包括插入的元素个数n、误报率p、布隆过滤器名称name、每个bit位的最大值repeat。每个bit位的最大值repeat决定计数器值的大小,代表每个bit位可以被存储repeat次,可根据具体业务场景综合设置。
在本发明的一个实施例中,用于存储配置参数的hash对象为以name及其value值构成的hash对象。通过初始化时多生成的该hash对象,实现布隆过滤器配置参数的保存。
对于计数器值大小,即repeat的选择,从使用的角度来看,当然是越大越好,因为计数器值越大就能表示越多的信息。但是越大的计数器值就意味着更多的资源占用,而且在很多时候会造成极大的空间浪费。因此,在选择计数器时,可以衡量多小的计数器值即可以满足需求。在本发明的一个实施例中,计数器值满足如下公式:
其中,Pr(max(c)≥i)为每个bit位的计数器值大于或等于i的概率,m为布隆过滤器的长度。
S3,布隆过滤器判定接收到的key是否已经存在。
具体地,布隆过滤器可将接收到的key用hash128函数转化成long类型的值,并根据配置参数计算得到一个bit数组,将该bit数组用for循环的方式依次查找是否在redis中存储过,如果该bit数组在redis中全部被查找到,则判定该key存在,返回true,否则判定该key不存在,返回false。
S4,布隆过滤器在判定接收到的key不存在时,存储该key,并将对应每个bit位的计数器值加一。
S5,布隆过滤器在判定接收到的key存在时,删除该key,并将对应每个bit位的计数器值减一。
业务中传进的key经过判重验证后确认该key是否在布隆过滤器中,如果返回false则会进行存储操作。同样地,可将key经过计算得到一个bit数组,这个bit数组会用for循环逐个的存储到过滤器中,并且把设定好的计数器值加一,标记该bit位已经使用过一次;如果返回true,则将计数器值减一。
根据本发明实施例的数据处理方法,通过将布隆计数器位数组的每一bit位扩展为一个计数器,在插入元素时将对应bit位的计数器值加一,删除元素时将对应bit位的计数器值减一,通过对计数器值的减一不会影响其它key生成相同的bit位值的存在,不会造成误删,解决了布隆过滤器不能删除的问题,也能确保数据准确性;通过在初始化时生成用于存储配置参数的hash对象,使得每个布隆过滤器可仅进行一次初始化,无需在每次服务启动时重新初始化配置参数,也不用将配置参数放在内存中一直占用,解决了当内存溢出或线程卡死的情况下获取不到配置参数导致布隆过滤器服务异常的问题,提高了布隆过滤器服务的高可用性。
在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种布隆过滤器,其特征在于,所述布隆过滤器的位数组的每一bit位扩展为一个计数器,所述布隆过滤器包括:
初始化模块,所述初始化模块用于初始化配置参数,并在初始化时生成用于存储所述配置参数的hash对象;
判重验证模块,所述判重验证模块用于判定接收到的key是否已经存在;
存储模块,所述存储模块用于在所述判重验证模块判定接收到的key不存在时,存储该key,并将对应每个bit位的计数器值加一;
删除模块,所述删除模块用于在所述判重验证模块判定接收到的key存在时,删除该key,并将对应每个bit位的计数器值减一。
2.根据权利要求1所述的布隆过滤器,其特征在于,所述配置参数包括插入的元素个数n、误报率p、布隆过滤器名称name、每个bit位的最大值repeat。
3.根据权利要求2所述的布隆过滤器,其特征在于,用于存储所述配置参数的hash对象为以name及其value值构成的hash对象。
5.根据权利要求4所述的布隆过滤器,其特征在于,所述判重验证模块具体用于将接收到的key用hash128函数转化成long类型的值,并根据所述配置参数计算得到一个bit数组,将该bit数组用for循环的方式依次查找是否在redis中存储过,如果该bit数组在redis中全部被查找到,则判定该key存在,否则判定该key不存在。
6.一种数据处理方法,其特征在于,包括以下步骤:
构建布隆过滤器,所述布隆过滤器的位数组的每一bit位扩展为一个计数器;
初始化所述布隆过滤器的配置参数,并在初始化时生成用于存储所述配置参数的hash对象;
所述布隆过滤器判定接收到的key是否已经存在;
所述布隆过滤器在判定接收到的key不存在时,存储该key,并将对应每个bit位的计数器值加一;
所述布隆过滤器在判定接收到的key存在时,删除该key,并将对应每个bit位的计数器值减一。
7.根据权利要求6所述的数据处理方法,其特征在于,所述配置参数包括插入的元素个数n、误报率p、布隆过滤器名称name、每个bit位的最大值repeat。
8.根据权利要求7所述的数据处理方法,其特征在于,用于存储所述配置参数的hash对象为以name及其value值构成的hash对象。
10.根据权利要求9所述的数据处理方法,其特征在于,所述布隆过滤器判定接收到的key是否已经存在,具体包括:
将接收到的key用hash128函数转化成long类型的值,并根据所述配置参数计算得到一个bit数组;
将该bit数组用for循环的方式依次查找是否在redis中存储过;
如果该bit数组在redis中全部被查找到,则判定该key存在,否则判定该key不存在。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010898812.8A CN112068958A (zh) | 2020-08-31 | 2020-08-31 | 布隆过滤器和数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010898812.8A CN112068958A (zh) | 2020-08-31 | 2020-08-31 | 布隆过滤器和数据处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112068958A true CN112068958A (zh) | 2020-12-11 |
Family
ID=73665078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010898812.8A Pending CN112068958A (zh) | 2020-08-31 | 2020-08-31 | 布隆过滤器和数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112068958A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112699323A (zh) * | 2021-01-07 | 2021-04-23 | 西藏宁算科技集团有限公司 | 一种基于双重布隆过滤器的云缓存系统及云缓存方法 |
CN112925629A (zh) * | 2021-03-31 | 2021-06-08 | 恩亿科(北京)数据科技有限公司 | 布隆过滤器动态调整方法、系统、电子设备及存储介质 |
CN117370624A (zh) * | 2023-12-04 | 2024-01-09 | 北京四方启点科技有限公司 | 一种电子单据处理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923568A (zh) * | 2010-06-23 | 2010-12-22 | 北京星网锐捷网络技术有限公司 | 布隆过滤器的元素增加、删除方法以及布隆过滤器 |
CN107357862A (zh) * | 2017-06-30 | 2017-11-17 | 中国联合网络通信集团有限公司 | 话单排重方法及装置 |
CN108121810A (zh) * | 2017-12-26 | 2018-06-05 | 北京锐安科技有限公司 | 一种数据去重方法、系统、中心服务器及分布式服务器 |
CN109313654A (zh) * | 2016-05-24 | 2019-02-05 | 万事达卡国际股份有限公司 | 使用布隆过滤器对被许可的区块链进行去同步恢复的方法和系统 |
US20190281000A1 (en) * | 2014-04-29 | 2019-09-12 | At&T Intellectual Property I, L.P. | Detection of Spam Messages |
CN110716931A (zh) * | 2019-09-05 | 2020-01-21 | 杉树岭网络科技有限公司 | 一种基于哈希指纹的布鲁姆过滤器 |
-
2020
- 2020-08-31 CN CN202010898812.8A patent/CN112068958A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923568A (zh) * | 2010-06-23 | 2010-12-22 | 北京星网锐捷网络技术有限公司 | 布隆过滤器的元素增加、删除方法以及布隆过滤器 |
US20190281000A1 (en) * | 2014-04-29 | 2019-09-12 | At&T Intellectual Property I, L.P. | Detection of Spam Messages |
CN109313654A (zh) * | 2016-05-24 | 2019-02-05 | 万事达卡国际股份有限公司 | 使用布隆过滤器对被许可的区块链进行去同步恢复的方法和系统 |
CN107357862A (zh) * | 2017-06-30 | 2017-11-17 | 中国联合网络通信集团有限公司 | 话单排重方法及装置 |
CN108121810A (zh) * | 2017-12-26 | 2018-06-05 | 北京锐安科技有限公司 | 一种数据去重方法、系统、中心服务器及分布式服务器 |
CN110716931A (zh) * | 2019-09-05 | 2020-01-21 | 杉树岭网络科技有限公司 | 一种基于哈希指纹的布鲁姆过滤器 |
Non-Patent Citations (2)
Title |
---|
LI FAN: "Summary Cache:A scalable wide-area web cache sharing protocol", 《IEEE/ACM TRANSACTIONS ON NETWORKING》 * |
TTTING听: "Bloomfilter基于Redis的实现", 《HTTPS://WWW.JIANSHU.COM/P/CAE51AD2486C》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112699323A (zh) * | 2021-01-07 | 2021-04-23 | 西藏宁算科技集团有限公司 | 一种基于双重布隆过滤器的云缓存系统及云缓存方法 |
CN112925629A (zh) * | 2021-03-31 | 2021-06-08 | 恩亿科(北京)数据科技有限公司 | 布隆过滤器动态调整方法、系统、电子设备及存储介质 |
CN112925629B (zh) * | 2021-03-31 | 2023-10-20 | 恩亿科(北京)数据科技有限公司 | 布隆过滤器动态调整方法、系统、电子设备及存储介质 |
CN117370624A (zh) * | 2023-12-04 | 2024-01-09 | 北京四方启点科技有限公司 | 一种电子单据处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112068958A (zh) | 布隆过滤器和数据处理方法 | |
CN108446407B (zh) | 基于区块链的数据库审计方法和装置 | |
JP7441582B2 (ja) | データ侵害を検出するための方法、装置、コンピュータ可読な記録媒体及びプログラム | |
CN110839016A (zh) | 异常流量监测方法、装置、设备及存储介质 | |
US20120041899A1 (en) | Data center customer cost determination mechanisms | |
CN111090620B (zh) | 一种文件存储方法、装置、设备及可读存储介质 | |
Breitinger et al. | Performance issues about context-triggered piecewise hashing | |
CN113572721B (zh) | 一种异常访问检测方法、装置、电子设备及存储介质 | |
CN110780815A (zh) | 日志的删除方法及装置 | |
CN111221475A (zh) | 一种存储空间的管理方法、装置、设备及可读介质 | |
CN110119633A (zh) | 一种数据处理方法及计算设备 | |
CN111552842A (zh) | 一种数据处理的方法、装置和存储介质 | |
US8407187B2 (en) | Validating files using a sliding window to access and correlate records in an arbitrarily large dataset | |
CN111539028B (zh) | 档案存储方法、装置、存储介质及电子设备 | |
CN112307272B (zh) | 确定对象之间关系信息的方法、装置、计算设备及存储介质 | |
CN114443629A (zh) | 一种集群布隆过滤器数据去重方法、终端设备及存储介质 | |
CN116820323A (zh) | 数据存储方法、装置、电子设备及计算机可读存储介质 | |
CN112463741A (zh) | 一种聚合大文件的清理方法及相关设备 | |
CN111049887A (zh) | 基于动态搜索策略的下载控制方法、系统及存储介质 | |
CN112417184B (zh) | 多场景特征信息存储结构及其比对方法、设备和存储介质 | |
CN110660216A (zh) | 行程时间阈值确定方法、系统及智能设备 | |
CN112306823B (zh) | 磁盘管理方法、系统、设备及计算机可读存储介质 | |
CN115242614B (zh) | 网络信息分析方法、装置、设备及介质 | |
CN113127572B (zh) | 档案合并方法、装置、设备及计算机可读存储介质 | |
CN109543736B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201211 |