CN114461640A - 一种数据记录方法及装置 - Google Patents
一种数据记录方法及装置 Download PDFInfo
- Publication number
- CN114461640A CN114461640A CN202210076997.3A CN202210076997A CN114461640A CN 114461640 A CN114461640 A CN 114461640A CN 202210076997 A CN202210076997 A CN 202210076997A CN 114461640 A CN114461640 A CN 114461640A
- Authority
- CN
- China
- Prior art keywords
- recorded
- data
- array
- relocation
- recording
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种数据记录方法及装置,包括:获取待记录数据;确定待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置;根据第一待记录位置对应的第一数组的重定位次数和第二待记录位置对应的第二数组的重定位次数,在第一待记录位置和第二待记录位置中确定待记录数据的记录位置;重定位次数用于指示数组中记录的数据发生替换的次数;第一数组和第二数组为第i布谷鸟过滤器中不同维的数组;将待记录数据的指纹信息记录至记录位置。以此提高布谷鸟过滤器记录数据的均衡性,控制布谷鸟过滤器中重定位操作的次数,提高数据记录效率。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据记录方法及装置。
背景技术
随着大数据应用的蓬勃发展,数据集合表示(Set Representation)成为一个重要的问题。其中,数据集合表示是指通过某种数据结构将集合中的元素存储起来,以使在进行元素判定时,确定待判定元素是否记录在该数据集合中。
现有技术中,数据记录方法一般包括一下三种方法:
1、哈希编码:通过键值对的方式,将各待记录数据的完整信息进行记录;
2、BF(Bloom Filter,布隆过滤器):通过布隆过滤器中各数组值记录待记录数据;
3、DCF(Dynamic Cuckoo Filter,动态布谷鸟过滤器):通过布谷鸟过滤器中各数组值记录待记录数据。
但上述方法1中需要记录各待记录数据的完整信息,空间开销大,空间效率低;上述方法2中不支持将已记录的数据删除,无法实现动态应用数据集合表示;上述方法3中,布谷鸟过滤器的任一数组位置无法记录多个待记录数据,即仅能记录单个待记录数据,需要通过多次重定位操作将多个待记录数据记录在不同的数组位置中,计算开销大,记录耗时长、效率低。
发明内容
本发明实施例提供一种数据记录方法及装置,用于提高布谷鸟过滤器记录数据的均衡性,减少布谷鸟过滤器中重定位操作的次数,降低数据记录耗时,提高数据记录效率。
第一方面,本发明实施例提供一种数据记录方法,包括:
获取待记录数据;
确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置;
根据所述第一待记录位置对应的第一数组的重定位次数和所述第二待记录位置对应的第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中确定所述待记录数据的记录位置;所述重定位次数用于指示数组中记录的数据发生替换的次数;所述第一数组和所述第二数组为所述第i布谷鸟过滤器中不同维的数组;
将所述待记录数据的指纹信息记录至所述记录位置。
上述技术方案中,通过第一数组的重定位次数和第二数组的重定位次数在第一待记录位置和第二待记录位置中确定待记录数据的记录位置,以此提高布谷鸟过滤器记录数据的均衡性,控制布谷鸟过滤器中重定位操作的次数,进而控制重定位操作的计算开销,提高数据记录效率。
可选的,确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置之后,在所述第一待记录位置和所述第二待记录位置中确定所述待记录数据的记录位置之前,还包括:
确定在所述第一待记录位置和所述第二待记录位置中均已记录数据。
上述技术方案中,根据第一待记录位置和第二待记录位置中是否已记录数据来区分不同的场景,进而提升记录数据的灵活性。
可选的,根据所述第一待记录位置对应的第一数组的重定位次数和所述第二待记录位置对应的第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中确定所述待记录数据的记录位置,包括:
对比所述第一数组的重定位次数和所述第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中,将重定位次数最小的数组对应的待记录位置确定为所述待记录数据的记录位置。
上述技术方案中,通过对比第一数组的重定位次数和第二数组的重定位次数,确定出重定位次数小的数组,进而将重定位次数最小的数组对应的待记录位置确定为待记录数据的记录位置,进而减少布谷鸟过滤器中重定位操作的次数,减小重定位操作的计算开销,降低数据记录耗时,提高布谷鸟过滤器记录数据的均衡性,提高数据记录效率。
可选的,还包括:
若所述第一待记录位置或所述第二待记录位置未记录数据,则在所述第一待记录位置和所述第二待记录位置中,将未记录数据的待记录位置确定为所述待记录数据的记录位置。
可选的,还包括:
若所述第一待记录位置和所述第二待记录位置均未记录数据,则对比所述第一数组的重定位次数和所述第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中,将重定位次数最小的数组对应的待记录位置确定为所述待记录数据的记录位置。
可选的,确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置,包括:
根据第一哈希函数对所述待记录数据进行哈希运算,得到所述待记录数据的第一哈希值,并根据所述第一哈希值确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置以及所述第一待记录位置对应的第一数组;
根据第二哈希函数对所述待记录数据进行哈希运算,得到所述待记录数据的第二哈希值,并根据所述第二哈希值确定所述待记录数据在第i布谷鸟过滤器中的第二待记录位置以及所述第二待记录位置对应的第二数组。
可选的,获取待记录数据之后,确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置之前,还包括:
若确定第i布谷鸟过滤器中任一维数组的重定位次数大于重定位阈值,则将所述待记录数据记录至第i+1布谷鸟过滤器中。
上述技术方案中,通过设置重定位阈值,及时使用其他布谷鸟过滤器记录数据,控制重定位操作的计算开销,提高数据记录效率。
第二方面,本发明实施例提供一种数据记录装置,包括:
获取模块,用于获取待记录数据;
处理模块,用于确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置;
根据所述第一待记录位置对应的第一数组的重定位次数和所述第二待记录位置对应的第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中确定所述待记录数据的记录位置;所述重定位次数用于指示数组中记录的数据发生替换的次数;所述第一数组和所述第二数组为所述第i布谷鸟过滤器中不同维的数组;
将所述待记录数据的指纹信息记录至所述记录位置。
可选的,所述处理模块还用于:
确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置之后,在所述第一待记录位置和所述第二待记录位置中确定所述待记录数据的记录位置之前,确定在所述第一待记录位置和所述第二待记录位置中均已记录数据。
可选的,所述处理模块具体用于:
对比所述第一数组的重定位次数和所述第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中,将重定位次数最小的数组对应的待记录位置确定为所述待记录数据的记录位置。
可选的,所述处理模块还用于:
若所述第一待记录位置或所述第二待记录位置未记录数据,则在所述第一待记录位置和所述第二待记录位置中,将未记录数据的待记录位置确定为所述待记录数据的记录位置。
可选的,所述处理模块还用于:
若所述第一待记录位置和所述第二待记录位置均未记录数据,则对比所述第一数组的重定位次数和所述第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中,将重定位次数最小的数组对应的待记录位置确定为所述待记录数据的记录位置。
可选的,所述处理模块具体用于:
根据第一哈希函数对所述待记录数据进行哈希运算,得到所述待记录数据的第一哈希值,并根据所述第一哈希值确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置以及所述第一待记录位置对应的第一数组;
根据第二哈希函数对所述待记录数据进行哈希运算,得到所述待记录数据的第二哈希值,并根据所述第二哈希值确定所述待记录数据在第i布谷鸟过滤器中的第二待记录位置以及所述第二待记录位置对应的第二数组。
可选的,所述处理模块还用于:
获取待记录数据之后,确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置之前,若确定第i布谷鸟过滤器中任一维数组的重定位次数大于重定位阈值,则将所述待记录数据记录至第i+1布谷鸟过滤器中。
第三方面,本发明实施例还提供一种计算机设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述数据记录方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述数据记录方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构示意图;
图2为本发明实施例提供的一种数据记录方法的流程示意图;
图3为本发明实施例提供的一种第i布谷鸟过滤器的示意图;
图4为本发明实施例提供的一种数据记录装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
数据集合表示是指通过某种数据结构将集合中的元素存储起来,以使在进行元素判定时,确定待判定元素是否记录在该数据集合中。例如,云存储系统中,为了实现重复文件仅存储一份来实现高效的空间利用,需要快速的检测出需要存储的文件是否已经存在于云存储系统中。再如,云闪付的口令码系统中,为了防止有人恶意生成口令码来碰撞,需要识别出该口令码是否是云闪付口令码系统生成的,即是否记录在口令码系统中。
进一步地,数据记录方法一般包括一下三种方法:
1、哈希编码:通过键值对的方式,将各待记录数据的完整信息进行记录,得到数据集合;例如,待记录数据为个人姓名,以每个人的姓氏为键(如崔、王等),以每个人的姓名完整信息(如王xx、崔xx等)为值进行记录得到数据集合。在确定待判定元素是否记录在数据集合中时,根据待判定元素的姓氏找到数据集合对应的键,在该键对应的值中遍历,确定是否记录有待判定元素。
2、布隆过滤器:通过布隆过滤器中各数组值记录待记录数据;例如,布隆过滤器为p个位置的一维数组,通过预设的三个哈希函数对待记录数据进行哈希计算,得到三个哈希值a1、a2和a3,根据a1、a2和a3确定三个哈希值在一维数组中对应的位置,将三个哈希值对应位置的数值标记为1;举例来说,三个哈希值对应的位置分别为第1个位置、第2个位置和第5个位置,则将数组中第1个位置、第2个位置和第5个位置的数值标记为1;在确定待判定元素是否记录在数据集合中时,使用预设的三个哈希函数对待判定元素哈希计算,确定三个哈希值b1、b2和b3,若b1、b2和b3在数组中对应位置的数值为1,则确定待判定元素记录在数据集合中。
3、动态布谷鸟过滤器:通过布谷鸟过滤器中各数组值记录待记录数据;例如,布谷鸟过滤器为n维×m列的数组,通过预设的两个哈希函数对待记录数据进行哈希计算,得到两个哈希值a1和a2,并确定a1和a2在数组中的位置,若a1和a2对应的位置已记录数据,则将待记录数据随机记录在a1或a2对应的位置中,并将待记录数据所记录位置原有数据踢出该位置;举例来说,将待记录数据记录在a1对应的位置w1中,a1对应的位置中原有数据为s1,则将s1提出,因为s1也确定有两个待记录位置,其中一个为w1,此时将s1记录在另一待记录位置,完成一次重定位操作;以此类推,将多个待记录数据的指纹信息记录在布谷鸟过滤器中。在确定待判定元素是否记录在数据集合中时,遍历布谷鸟过滤器中各指纹信息,与待判定元素的指纹信息进行比对,进而确定待判定元素是否记录在布谷鸟过滤器中。
但上述方法1中需要记录各待记录数据的完整信息,空间开销大,空间效率低;且确定待判定元素是否记录在该数据集合中时,需要遍历完整信息,导致判定效率低。在上述方法2中的数组不支持已记录的数据删除,数据集合表示的灵活性差。在上述方法3中随机选择待记录位置进行记录数据,无法减少布谷鸟过滤器中重定位操作的次数,存在重定位操作开销大,数据记录耗时长、效率低。
图1示例性的示出了本发明实施例所适用的一种系统架构,该系统架构包括服务器100,该服务器100可以包括处理器110、通信接口120和存储器130。
其中,通信接口120用于接收待记录数据。
处理器110是服务器100的控制中心,利用各种接口和路线连接整个服务器100的各个部分,通过运行或执行存储在存储器130内的软件程序/或模块,以及调用存储在存储器130内的数据,执行服务器100的各种功能和处理数据。可选地,处理器110可以包括一个或多个处理单元。
存储器130可用于存储软件程序以及模块,处理器110通过运行存储在存储器130的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器130可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据业务处理所创建的数据等。此外,存储器130可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图2示例性的示出了本发明实施例提供的一种数据记录方法的流程示意图,该流程可由数据记录装置执行。
如图2所示,该流程具体包括:
步骤210,获取待记录数据。
本发明实施例中,待记录数据可以为个人唯一标识,云闪付口令码等,在此不做限定。
步骤220,确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置。
本发明实施例中,通过两个不同的哈希函数确定待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置。
步骤230,根据所述第一待记录位置对应的第一数组的重定位次数和所述第二待记录位置对应的第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中确定所述待记录数据的记录位置。
本发明实施例中,重定位次数用于指示数组中记录的数据发生替换的次数;第一数组和第二数组为所述第i布谷鸟过滤器中不同维的数组。
步骤240,将所述待记录数据的指纹信息记录至所述记录位置。
待记录数据的指纹信息是通过预设的哈希函数生成的。
在步骤220中,通过使用两个不同的预设哈希函数对待记录数据进行哈希运算,进而确定出待记录数据在第i布谷鸟过滤器中的两个待记录位置。
进一步地,根据第一哈希函数对待记录数据进行哈希运算,得到待记录数据的第一哈希值,并根据第一哈希值确定待记录数据在第i布谷鸟过滤器中的第一待记录位置以及第一待记录位置对应的第一数组;根据第二哈希函数对待记录数据进行哈希运算,得到待记录数据的第二哈希值,并根据第二哈希值确定待记录数据在第i布谷鸟过滤器中的第二待记录位置以及第二待记录位置对应的第二数组。
例如,通过一致性哈希方法,将布谷鸟过滤器的各数组位置设置在哈希环上,进而通过第一哈希值和第二哈希值确定待记录数据在布谷鸟过滤器中的两个待记录位置。
在步骤230中,确定出的第一待记录位置和第二待记录位置具有三种可能存在的情况:第一、第一待记录位置和第二待记录位置均已记录数据;第二、第一待记录位置和第二待记录位置均未记录数据,即第一待记录位置和第二待记录位置为空;第三、第一待记录位置和第二待记录位置中,有一个待记录位置记录了数据,另一个待记录位置未记录数据。
基于上述描述,在确定待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置之后,确定第一待记录位置和第二待记录位置是否记录有数据,然后确定待记录数据的记录位置。
示例性的,确定在第一待记录位置和第二待记录位置中均已记录数据;根据第一待记录位置对应的第一数组的重定位次数和第二待记录位置对应的第二数组的重定位次数,在第一待记录位置和第二待记录位置中确定待记录数据的记录位置。
进一步地,对比第一数组的重定位次数和第二数组的重定位次数,在第一待记录位置和第二待记录位置中,将重定位次数最小的数组对应的待记录位置确定为待记录数据的记录位置。
图3为本发明实施例示例性示出的一种第i布谷鸟过滤器的示意图,如图3所示,第i布谷鸟过滤器为3维5列的数组,每一维数组包括5个记录数据的位置;其中每一维数组维护一个重定位计数,用于记录对应维数组中发生重定位操作的次数,例如第一维(即第一行)数组中5个位置发生重定位操作的次数的总和为第一维数组的重定位次数;重定位操作指的是任一数组位置中,数据发生替换的操作,例如(n2,m3)位置记录有数据s1,现需要将待记录数据s2记录至(n2,m3)位置,则将数据s1在(n2,m3)位置踢出,将数据s2在(n2,m3)位置进行记录,从而完成一次重定位操作。
假设待记录数据的第一待记录位置为(n1,m3),第二待记录位置为(n3,m2),则第一待记录位置对应的第一数组为第i布谷鸟过滤器中的第一维数组,即第一行数组;第二待记录位置对应的第二数组为第i布谷鸟过滤器中的第三维数组,即第三行数组。
例如,第一数组的重定位次数为100,第二数组的重定位次数为120,则将第一待记录位置确定为待记录数据的记录位置。
再如,第一数组的重定位次数为150,第二数组的重定位次数为130,则将第二待记录位置确定为待记录数据的记录位置。
示例性的,若第一待记录位置和第二待记录位置中仅有一个位置未记录数据,则将未记录数据的位置确定为待记录数据的记录位置。具体的,第一待记录位置或第二待记录位置未记录数据,则在第一待记录位置和第二待记录位置中,将未记录数据的待记录位置确定为待记录数据的记录位置。
基于上述图3举例来说,例如,若(n1,m3)位置未记录数据,(n3,m2)位置已记录数据,则将待记录数据记录在(n1,m3)位置;再如,若(n1,m3)位置已记录数据,(n3,m2)位置未记录数据,则将待记录数据记录在(n3,m2)位置。
示例性的,若第一待记录位置和第二待记录位置均未记录数据,则可以根据第一待记录位置对应的第一数组的重定位次数和第二待记录位置对应的第二数组的重定位次数确定待记录数据的记录位置。
具体的,若第一待记录位置和第二待记录位置均未记录数据,则对比第一数组的重定位次数和第二数组的重定位次数,在第一待记录位置和第二待记录位置中,将重定位次数最小的数组对应的待记录位置确定为待记录数据的记录位置;或将重定位次数最大的数组对应的待记录位置确定为待记录数据的记录位置。
在一种可实施的方式中,若第一待记录位置和第二待记录位置均未记录数据,也可以将待记录数据随机记录在第一待记录位置和第二待记录位置中任一位置上。
在本发明实施例中,可以通过检测第i布谷鸟过滤器中各维数组的重定位次数来确定是否需要使用第i+1布谷鸟过滤器来存储数据。
进一步地,确定待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置之前,若确定第i布谷鸟过滤器中任一维数组的重定位次数大于重定位阈值,则将待记录数据记录至第i+1布谷鸟过滤器中。其中,重定位阈值可以是根据经验预设的值,如500、600等。
基于上述图3举例来说,例如第一维数组、第二维数组和第三维数组中任一维数组的重定位次数大于300(重定位阈值),则表征第i布谷鸟过滤器无法记录新数据,需要将待记录数据记录至第i+1布谷鸟过滤器中。
在一种可实施的方式中,也可以检测确定第i布谷鸟过滤器的重定位次数(即各数组的重定位次数的总和)来确定是否需要使用第i+1布谷鸟过滤器来存储数据。
本发明实施例中还提供另一种可实施的方式,在每一个记录位置维护一个重定位计数,进而得到每一个记录位置的重定位次数,然后据第一待记录位置的重定位次数和第二待记录位置的重定位次数,在第一待记录位置和第二待记录位置中确定待记录数据的记录位置;其中第一待记录位置和第二待记录位置可以是第i布谷鸟过滤器中任意两个数组位置;也可以是同一维数组中任意两个数组位置,在此不做限定。
基于相同的技术构思,图4示例性的示出了本发明实施例提供的一种数据记录装置的结构示意图,该装置可以执行数据记录方法的流程。
如图4所示,该装置具体包括:
获取模块410,用于获取待记录数据;
处理模块420,用于确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置;
根据所述第一待记录位置对应的第一数组的重定位次数和所述第二待记录位置对应的第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中确定所述待记录数据的记录位置;所述重定位次数用于指示数组中记录的数据发生替换的次数;所述第一数组和所述第二数组为所述第i布谷鸟过滤器中不同维的数组;
将所述待记录数据的指纹信息记录至所述记录位置。
可选的,所述处理模块420还用于:
确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置之后,在所述第一待记录位置和所述第二待记录位置中确定所述待记录数据的记录位置之前,确定在所述第一待记录位置和所述第二待记录位置中均已记录数据。
可选的,所述处理模块420具体用于:
对比所述第一数组的重定位次数和所述第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中,将重定位次数最小的数组对应的待记录位置确定为所述待记录数据的记录位置。
可选的,所述处理模块420还用于:
若所述第一待记录位置或所述第二待记录位置未记录数据,则在所述第一待记录位置和所述第二待记录位置中,将未记录数据的待记录位置确定为所述待记录数据的记录位置。
可选的,所述处理模块420还用于:
若所述第一待记录位置和所述第二待记录位置均未记录数据,则对比所述第一数组的重定位次数和所述第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中,将重定位次数最小的数组对应的待记录位置确定为所述待记录数据的记录位置。
可选的,所述处理模块420具体用于:
根据第一哈希函数对所述待记录数据进行哈希运算,得到所述待记录数据的第一哈希值,并根据所述第一哈希值确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置以及所述第一待记录位置对应的第一数组;
根据第二哈希函数对所述待记录数据进行哈希运算,得到所述待记录数据的第二哈希值,并根据所述第二哈希值确定所述待记录数据在第i布谷鸟过滤器中的第二待记录位置以及所述第二待记录位置对应的第二数组。
可选的,所述处理模块420还用于:
获取待记录数据之后,确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置之前,若确定第i布谷鸟过滤器中任一维数组的重定位次数大于重定位阈值,则将所述待记录数据记录至第i+1布谷鸟过滤器中。
基于相同的技术构思,本发明实施例还提供一种计算机设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述数据记录方法。
基于相同的技术构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述数据记录方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种数据记录方法,其特征在于,包括:
获取待记录数据;
确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置;
根据所述第一待记录位置对应的第一数组的重定位次数和所述第二待记录位置对应的第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中确定所述待记录数据的记录位置;所述重定位次数用于指示数组中记录的数据发生替换的次数;所述第一数组和所述第二数组为所述第i布谷鸟过滤器中不同维的数组;
将所述待记录数据的指纹信息记录至所述记录位置。
2.如权利要求1所述的方法,其特征在于,确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置之后,在所述第一待记录位置和所述第二待记录位置中确定所述待记录数据的记录位置之前,还包括:
确定在所述第一待记录位置和所述第二待记录位置中均已记录数据。
3.如权利要求2所述的方法,其特征在于,根据所述第一待记录位置对应的第一数组的重定位次数和所述第二待记录位置对应的第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中确定所述待记录数据的记录位置,包括:
对比所述第一数组的重定位次数和所述第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中,将重定位次数最小的数组对应的待记录位置确定为所述待记录数据的记录位置。
4.如权利要求2所述的方法,其特征在于,还包括:
若所述第一待记录位置或所述第二待记录位置未记录数据,则在所述第一待记录位置和所述第二待记录位置中,将未记录数据的待记录位置确定为所述待记录数据的记录位置。
5.如权利要求2所述的方法,其特征在于,还包括:
若所述第一待记录位置和所述第二待记录位置均未记录数据,则对比所述第一数组的重定位次数和所述第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中,将重定位次数最小的数组对应的待记录位置确定为所述待记录数据的记录位置。
6.如权利要求1至5任一项所述的方法,其特征在于,确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置,包括:
根据第一哈希函数对所述待记录数据进行哈希运算,得到所述待记录数据的第一哈希值,并根据所述第一哈希值确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置以及所述第一待记录位置对应的第一数组;
根据第二哈希函数对所述待记录数据进行哈希运算,得到所述待记录数据的第二哈希值,并根据所述第二哈希值确定所述待记录数据在第i布谷鸟过滤器中的第二待记录位置以及所述第二待记录位置对应的第二数组。
7.如权利要求1至5任一项所述的方法,其特征在于,获取待记录数据之后,确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置之前,还包括:
若确定第i布谷鸟过滤器中任一维数组的重定位次数大于重定位阈值,则将所述待记录数据记录至第i+1布谷鸟过滤器中。
8.一种数据记录装置,其特征在于,包括:
获取模块,用于获取待记录数据;
处理模块,用于确定所述待记录数据在第i布谷鸟过滤器中的第一待记录位置和第二待记录位置;
根据所述第一待记录位置对应的第一数组的重定位次数和所述第二待记录位置对应的第二数组的重定位次数,在所述第一待记录位置和所述第二待记录位置中确定所述待记录数据的记录位置;所述重定位次数用于指示数组中记录的数据发生替换的次数;所述第一数组和所述第二数组为所述第i布谷鸟过滤器中不同维的数组;
将所述待记录数据的指纹信息记录至所述记录位置。
9.一种计算机设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210076997.3A CN114461640A (zh) | 2022-01-24 | 2022-01-24 | 一种数据记录方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210076997.3A CN114461640A (zh) | 2022-01-24 | 2022-01-24 | 一种数据记录方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114461640A true CN114461640A (zh) | 2022-05-10 |
Family
ID=81411830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210076997.3A Pending CN114461640A (zh) | 2022-01-24 | 2022-01-24 | 一种数据记录方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114461640A (zh) |
-
2022
- 2022-01-24 CN CN202210076997.3A patent/CN114461640A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489405B (zh) | 数据处理的方法、装置和服务器 | |
CN106874348B (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
CN103324533A (zh) | 分布式数据处理方法、装置及系统 | |
CN107402870B (zh) | 一种元数据服务器中日志段的处理方法及装置 | |
CN112783831B (zh) | 一种文件迁移方法及装置 | |
CN111414424B (zh) | 一种配置数据自动同步redis的方法、系统、介质及设备 | |
CN114721594A (zh) | 一种分布式存储方法、装置、设备及机器可读存储介质 | |
CN114647658A (zh) | 一种数据检索方法、装置、设备及机器可读存储介质 | |
CN114138181A (zh) | 一种绑定池放置组选主的方法、装置、设备及可读介质 | |
CN116301644B (zh) | 基于多硬盘协调的数据存储方法、系统、终端及介质 | |
CN109271097A (zh) | 数据处理方法、数据处理装置和服务器 | |
CN114461640A (zh) | 一种数据记录方法及装置 | |
CN106528876A (zh) | 分布式系统的信息处理方法及分布式信息处理系统 | |
CN114268501B (zh) | 数据处理方法、防火墙生成方法、计算设备及存储介质 | |
CN109558249B (zh) | 一种并发操作的控制方法及装置 | |
CN113763166B (zh) | 一种数据核对的方法及装置 | |
CN104216666A (zh) | 一种管理磁盘数据写入的方法及装置 | |
CN110609861A (zh) | 车辆识别方法、装置、电子设备及存储介质 | |
CN113326266A (zh) | 一种基于表结构关系的数据同步方法及装置 | |
CN114296996A (zh) | 一种基于有向无环图业务流程恢复的方法及装置 | |
CN110704241B (zh) | 一种文件元数据的恢复方法、装置、设备及介质 | |
CN112800057A (zh) | 一种指纹表管理方法及装置 | |
CN111371818B (zh) | 一种数据请求的验证方法、装置及设备 | |
CN112463741A (zh) | 一种聚合大文件的清理方法及相关设备 | |
CN111880735A (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 |