CN110990640B - 一种数据判定方法、装置、设备及计算机可读存储介质 - Google Patents

一种数据判定方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN110990640B
CN110990640B CN201911121559.9A CN201911121559A CN110990640B CN 110990640 B CN110990640 B CN 110990640B CN 201911121559 A CN201911121559 A CN 201911121559A CN 110990640 B CN110990640 B CN 110990640B
Authority
CN
China
Prior art keywords
data
bloom filter
target data
deletion
filter
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
Application number
CN201911121559.9A
Other languages
English (en)
Other versions
CN110990640A (zh
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.)
Beijing Inspur Data Technology Co Ltd
Original Assignee
Beijing Inspur Data Technology Co 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 Beijing Inspur Data Technology Co Ltd filed Critical Beijing Inspur Data Technology Co Ltd
Priority to CN201911121559.9A priority Critical patent/CN110990640B/zh
Publication of CN110990640A publication Critical patent/CN110990640A/zh
Application granted granted Critical
Publication of CN110990640B publication Critical patent/CN110990640B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (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

本发明公开了一种数据判定方法、装置、设备及计算机可读存储介质,该方法包括:获取待判定数据和多级过滤器;其中,多级过滤器包括按第一预设时间间隔生成更新的目标数据集对应的布隆过滤器和按第二预设时间间隔生成更新的目标数据集对应的删除标志布隆过滤器,删除标志布隆过滤器的数据为包括删除标记位;利用多级过滤器,判定目标数据集中是否存在待判定数据;本发明在现有的布隆过滤器的基础上加入了删除标志布隆过滤器,利用删除标志布隆过滤器提升数据更新的频率,且通过删除标志布隆过滤器的数据中删除标记位的设置,使多级过滤器的使用占用内存少且高性能,为大规模业务处理系统提供了基础保障,提高了系统性能。

Description

一种数据判定方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及数据处理技术领域,特别涉及一种数据判定方法、装置、设备及计算机可读存储介质。
背景技术
随着数据处理系统和业务规模的快速提升服务器所需处理的数据量越来越大,对处理大规模数据性能要求越来越严格和迫切。Bloom Filter(布隆过滤器)算法实现了判断一个元素是否属于一个数量十分大的集合,具有极高的性能,应用于数据重复判断、网络缓存共享和字符串匹配等基础但对性能要求极高的应用场景。
布隆过滤器算法实现步骤:1、建立Bloom Filter过滤器(布隆过滤器)和k个BloomFilter Hash函数;2、用数据集合中的数据和Bloom Filter Hash函数初始化Bloom Filter过滤器;3、应用服务加载Bloom Filter过滤器,根据Bloom Filter Hash函数及其BloomFilter过滤器中对应的状态位判定是否存在,算法复杂度为O(k)。其中,第1和2步需要提前生成,因此无法实现数据的实时更新。如需更新,需要周期性执行上述步骤。
现有技术中,利用现有的布隆过滤器虽然可以判定数据是否属于数据集,但布隆过滤器必须提前生成,由于布隆过滤器的数据量往往十分庞大,难以实现数据的实时更新;并且虽然Counting Bloom Filter(一种改进型Bloom Filter)采用单独标记数据实现数据是否删除,从而可以支持数据的实时更新,但其中的标记数据会占用大量内存,降低了服务器的性能。
因此,如何能够提供一种占用内存少且高性能的数据判定方法,并且提升数据更新的频率,为大规模业务处理系统提供基础保障,提高系统性能,是现今急需解决的问题。
发明内容
本发明的目的是提供一种数据判定方法、装置、设备及计算机可读存储介质,以通过多级过滤器的使用,提升数据更新的频率,使数据的判定占用内存少且高性能。
为解决上述技术问题,本发明提供一种数据判定方法,包括:
获取待判定数据和多级过滤器;其中,所述多级过滤器包括按第一预设时间间隔生成更新的目标数据集对应的布隆过滤器和按第二预设时间间隔生成更新的所述目标数据集对应的删除标志布隆过滤器,所述第二预设时间间隔小于所述第一预设时间间隔,所述删除标志布隆过滤器的数据为所述布隆过滤器的最新生成时间至所述删除标志布隆过滤器的最新生成时间之间所述布隆过滤器的数据中相对于所述目标数据集未删除或未增加的数据,所述删除标志布隆过滤器的数据为包括删除标记位;
利用所述多级过滤器,判定所述目标数据集中是否存在所述待判定数据。
可选的,所述多级过滤器还包括:哈希表;
其中,所述哈希表的数据为所述删除标志布隆过滤器的最新生成时间至当前时间之间所述布隆过滤器和所述删除标志布隆过滤器的数据中相对于所述目标数据集未删除或未增加的数据。
可选的,所述利用所述多级过滤器,判定所述目标数据集中是否存在所述待判定数据,包括:
判断所述待判定数据是否为所述哈希表中的新增数据;其中,所述新增数据为所述布隆过滤器和所述删除标志布隆过滤器的数据中相对于所述目标数据集未增加的数据;
若是,则确定所述目标数据集中存在所述待判定数据;
若否,则判断所述待判定数据是否为所述哈希表中的删除数据;其中,所述删除数据为所述布隆过滤器和所述删除标志布隆过滤器的数据中相对于所述目标数据集未删除的数据;
若所述待判定数据为所述删除数据,则确定所述目标数据集中不存在所述待判定数据;
若所述待判定数据不为所述删除数据,则判断所述删除标志布隆过滤器的数据中是否存在目标数据,且所述目标数据的删除标记位为未删除标志;其中,所述目标数据为删除标志布隆过滤器的数据中所述待判定数据对应的数据;
若所述删除标志布隆过滤器的数据中存在所述目标数据且所述目标数据的删除标记位为未删除标志,则确定所述目标数据集中存在所述待判定数据;
若所述删除标志布隆过滤器的数据中不存在所述目标数据或所述目标数据的删除标记位为删除标志,则判断所述删除标志布隆过滤器的数据中是否存在所述目标数据,且所述目标数据的删除标记位为删除标志;
若所述删除标志布隆过滤器的数据中存在所述目标数据且所述目标数据的删除标记位为删除标志,则确定所述目标数据集中不存在所述待判定数据;
若所述删除标志布隆过滤器的数据中不存在所述目标数据,则判断所述布隆过滤器的数据中是否存在所述待判定数据;
若所述布隆过滤器的数据中存在所述待判定数据,则确定所述目标数据集中存在所述待判定数据;
若所述布隆过滤器的数据中不存在所述待判定数据,则确定所述目标数据集中不存在所述待判定数据。
可选的,所述删除标记位为一个比特位。
可选的,所述第一预设时间间隔为24小时,所述第二预设时间间隔为30分钟。
可选的,获取所述多级过滤器的过程,包括:
根据所述目标数据集,按所述第一预设时间间隔生成所述布隆过滤器,并将之前生成的所述布隆过滤器、所述删除标志布隆过滤器和哈希表删除;
根据所述目标数据集,按所述第二预设时间间隔生成所述删除标志布隆过滤器,并将之前生成的所述删除标志布隆过滤器和所述哈希表删除;
根据所述目标数据集,实时生成或更新所述哈希表。
本发明还提供了一种数据判定装置,包括:
获取模块,用于获取待判定数据和多级过滤器;其中,所述多级过滤器包括按第一预设时间间隔生成更新的目标数据集对应的布隆过滤器和按第二预设时间间隔生成更新的所述目标数据集对应的删除标志布隆过滤器,所述第二预设时间间隔小于所述第一预设时间间隔,所述删除标志布隆过滤器的数据为所述布隆过滤器的最新生成时间至所述删除标志布隆过滤器的最新生成时间之间所述布隆过滤器的数据中相对于所述目标数据集未删除或未增加的数据,所述删除标志布隆过滤器的数据为包括删除标记位;
判定模块,用于利用所述多级过滤器,判定所述目标数据集中是否存在所述待判定数据。
可选的,所述获取模块,包括:
第一生成子模块,用于根据所述目标数据集,按所述第一预设时间间隔生成所述布隆过滤器,并将之前生成的所述布隆过滤器、所述删除标志布隆过滤器和哈希表删除;其中,所述哈希表的数据为所述删除标志布隆过滤器的最新生成时间至当前时间之间所述布隆过滤器和所述删除标志布隆过滤器的数据中相对于所述目标数据集未删除或未增加的数据;
第二生成子模块,用于根据所述目标数据集,按所述第二预设时间间隔生成所述删除标志布隆过滤器,并将之前生成的所述删除标志布隆过滤器和所述哈希表删除;
第三生成子模块,用于根据所述目标数据集,实时生成或更新所述哈希表。
本发明还提供了一种数据判定设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述的数据判定方法的步骤。
此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的数据判定方法的步骤。
本发明所提供的一种数据判定方法,包括:获取待判定数据和多级过滤器;其中,多级过滤器包括按第一预设时间间隔生成更新的目标数据集对应的布隆过滤器和按第二预设时间间隔生成更新的目标数据集对应的删除标志布隆过滤器,第二预设时间间隔小于第一预设时间间隔,删除标志布隆过滤器的数据为布隆过滤器的最新生成时间至删除标志布隆过滤器的最新生成时间之间布隆过滤器的数据中相对于目标数据集未删除或未增加的数据,删除标志布隆过滤器的数据为包括删除标记位;利用多级过滤器,判定目标数据集中是否存在待判定数据;
可见,本发明通过多级过滤器的使用,在现有的布隆过滤器的基础上加入了删除标志布隆过滤器,利用删除标志布隆过滤器提升数据更新的频率,且通过删除标志布隆过滤器的数据中删除标记位的设置,使多级过滤器的使用占用内存少且高性能,为大规模业务处理系统提供了基础保障,提高了系统性能。此外,本发明还提供了一种数据判定装置、设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种数据判定方法的流程图;
图2为本发明实施例所提供的一种数据判定装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的一种数据判定方法的流程图。
该方法可以包括:
步骤101:获取待判定数据和多级过滤器;其中,多级过滤器包括按第一预设时间间隔生成更新的目标数据集对应的布隆过滤器和按第二预设时间间隔生成更新的目标数据集对应的删除标志布隆过滤器,第二预设时间间隔小于第一预设时间间隔,删除标志布隆过滤器的数据为布隆过滤器的最新生成时间至删除标志布隆过滤器的最新生成时间之间布隆过滤器的数据中相对于目标数据集未删除或未增加的数据,删除标志布隆过滤器的数据为包括删除标记位。
具体的,本步骤中服务器中的处理器获取的待判定数据可以为需要判定其是否属于目标数据集的数据,如现有技术中的Bloom Filter过滤器(布隆过滤器)所判定的数据。
可以理解的是,本步骤中的多级过滤器可以由多个进行数据判定的过滤器组成,多级过滤器可以包括第一级的布隆过滤器(Bloom Filter过滤器)和第二级的删除标志布隆过滤器(Deleted Flag Bloom Filter过滤器),通过删除标志布隆过滤器的生成更新,相比于现有技术中单独的布隆过滤器设置提高了数据更新的频率。
对应的,对于多级过滤器的具体结构,可以由设计人员根据实用场景和用户需求自行设置,如多级过滤器可以仅包括第一级的布隆过滤器和第二级的删除标志布隆过滤器;如第二预设时间间隔的时间较长时,为了实现数据的实时更新,多级过滤器还可以包括第三级的哈希表(Hash表),哈希表的数据为删除标志布隆过滤器的最新生成时间至当前时间之间布隆过滤器和删除标志布隆过滤器的数据中相对于目标数据集未删除或未增加的数据。本实施例对此不做任何限制。
具体的,本实施例中多级过滤器中第一级的布隆过滤器可以采用与现有技术中的布隆过滤器相同或相似的方式进行设置;布隆过滤器的数据可以为在生成该布隆过滤器时目标数据集的快照。本实施例中的第二级的删除标志布隆过滤器也可以采用与现有技术中的布隆过滤器相似的方式进行设置,只是删除标志布隆过滤器相对于现有的布隆过滤器在每个数据中增加了删除标记位,用于存储删除标记或未删除标记;删除标志布隆过滤器的数据可以为最新的布隆过滤器的生成时间至生成该删除标志布隆过滤器的时间之间目标数据集中的更新数据,即最新的布隆过滤器的数据中相对于目标数据集未删除或未增加的数据。上述多级过滤器中的第三级的哈希表可以采用与现有技术中的哈希表相同或相似的方式进行设置;生成最新的布隆过滤器的同时或之后若生成了删除标志布隆过滤器,则哈希表的数据可以为最新的删除标志布隆过滤器的生成时间至当前时间之间目标数据集中的更新数据,即布隆过滤器和删除标志布隆过滤器的数据中相对于目标数据集未删除或未增加的数据;生成最新的布隆过滤器的同时或之后若未生成删除标志布隆过滤器,哈希表的数据可以为最新的布隆过滤器的生成时间至当前时间之间目标数据集中的更新数据。
对应的,对于删除标志布隆过滤器的每个数据的删除标记位的具体设置,可以由设计人员根据实用场景和用户需求自行设置,如删除标记位可以为在每个数据尾端增加的一个比特位,通过0和1分别作未删除标志和删除标志。例如,删除标志布隆过滤器的生成时间加载的数据集合为A,其中一个数据a1=11001100……00110011;当添加一个a1时,即a1为最新的布隆过滤器的数据中未增加的数据时,a1=11001100……001100110;当删除一个a1时,即a1为最新的布隆过滤器的数据中未删除的数据时,a1=11001100……001100111,处理所有集合A中的数据生成集合B,使用集合B生成删除标志布隆过滤器。本实施例中数据集合的操作是幂等的,即最终状态与最后一次状态一致。删除标志布隆过滤器所处理数据是经过幂等去重的。
需要说明的是,对于本步骤中布隆过滤器和删除标志布隆过滤器的具体生成更新时间,即第一预设时间间隔和第二预设时间间隔的具体时间值设置,可以由设计人员根据实用场景和用户需求自行设置,如第一预设时间间隔可以设置为24小时,即每天生成一次布隆过滤器,替换前一天生成的布隆过滤器;第二预设时间间隔可以设置为30分钟,即每30分钟生成一次删除标志布隆过滤器,替换上一次生成的删除标志布隆过滤器;也可以将第二预设时间间隔设置为更小的时间值。只要保证第二预设时间间隔小于第一预设时间间隔,本实施例对此不做任何限制。
对应的,多级过滤器包括布隆过滤器、删除标志布隆过滤器和哈希表时,本步骤中获取多级过滤器的过程可以包括:根据目标数据集,按第一预设时间间隔生成布隆过滤器,并将之前生成的布隆过滤器、删除标志布隆过滤器和哈希表删除;根据目标数据集,按第二预设时间间隔生成删除标志布隆过滤器,并将之前生成的删除标志布隆过滤器和哈希表删除;根据目标数据集,实时生成或更新哈希表。
步骤102:利用多级过滤器,判定目标数据集中是否存在待判定数据。
可以理解的是,本步骤中处理器利用多级过滤器,判断目标数据集中是否存在待判定数据的具体方式,可以由设计人员自行设置,如处理器可以依次利用多级过滤器中的每级过滤器对待判定数据进行判定,得到最终目标数据集中是否存在待判定数据的结果;例如多级过滤器包括第一级的布隆过滤器、第二级的删除标志布隆过滤器和第三级的哈希表时,可以从第三级到第一级依次判定。处理器可以通过多个线程或进程同时利用多级过滤器中的每级过滤器对待判定数据进行判定,得到最终目标数据集中是否存在待判定数据的结果。本实施例对此不做任何限制。
具体的,多级过滤器包括第一级的布隆过滤器、第二级的删除标志布隆过滤器和第三级的哈希表时,本步骤可以包括:判断待判定数据是否为哈希表中的新增数据;其中,新增数据为布隆过滤器和删除标志布隆过滤器的数据中相对于目标数据集未增加的数据;若待判定数据为新增数据,则确定目标数据集中存在待判定数据;若待判定数据不为新增数据,则判断待判定数据是否为哈希表中的删除数据;其中,删除数据为布隆过滤器和删除标志布隆过滤器的数据中相对于目标数据集未删除的数据;若待判定数据为删除数据,则确定目标数据集中不存在待判定数据;若待判定数据不为删除数据,则判断删除标志布隆过滤器的数据中是否存在目标数据,且目标数据的删除标记位为未删除标志;其中,目标数据为删除标志布隆过滤器的数据中待判定数据对应的数据;若删除标志布隆过滤器的数据中存在目标数据且目标数据的删除标记位为未删除标志,则确定目标数据集中存在待判定数据;若删除标志布隆过滤器的数据中不存在目标数据或目标数据的删除标记位为删除标志,则判断删除标志布隆过滤器的数据中是否存在目标数据,且目标数据的删除标记位为删除标志;若删除标志布隆过滤器的数据中存在目标数据且目标数据的删除标记位为删除标志,则确定目标数据集中不存在待判定数据;若删除标志布隆过滤器的数据中不存在目标数据,则判断布隆过滤器的数据中是否存在待判定数据;若布隆过滤器的数据中存在待判定数据,则确定目标数据集中存在待判定数据;若布隆过滤器的数据中不存在待判定数据,则确定目标数据集中不存在待判定数据。
其中,本步骤中的目标数据集可以为生成多级过滤器所使用的数据集合,如数据库中的数据集合,即本步骤利用根据目标数据集生成的多级过滤器,判断待判定数据是否在目标数据集中。
需要说明的是,以本步骤中的多级过滤器包括第一级的布隆过滤器、第二级的删除标志布隆过滤器和第三级的哈希表为例,第一级的布隆过滤器的时间复杂度为O(k),k为Bloom Filter Hash函数个数,与自身的数据集合中数据位数一个数量级;第二级的删除标志布隆过滤器相比普通Bloom Filter过滤器每个数据只增加了一个比特位,所以时间复杂度也是O(k);第三级的哈希表的时间复杂度为O(1)。综合可知,多级过滤器的时间复杂度为O(k)。第一级的布隆过滤器和第二级的删除标志布隆过滤器的空间复杂度与现有的布隆过滤器一致,可以简单计算为O(N),N为集合元素个数,即自身的数据集合中的数据个数。第三级的哈希表的空间复杂度为O(M),M为第二级最新生成时间点到当前时间的更新数据个数,相比整个集合的数据来说非常小。综合可知,多级过滤器的空间复杂度为O(N)。
本实施例中,本发明实施例通过多级过滤器的使用,在现有的布隆过滤器的基础上加入了删除标志布隆过滤器,利用删除标志布隆过滤器提升数据更新的频率,且通过删除标志布隆过滤器的数据中删除标记位的设置,使多级过滤器的使用占用内存少且高性能,为大规模业务处理系统提供了基础保障,提高了系统性能。
请参考图2,图2为本发明实施例所提供的一种数据判定装置的结构框图,该装置可以包括:
获取模块10,用于获取待判定数据和多级过滤器;其中,多级过滤器包括按第一预设时间间隔生成更新的目标数据集对应的布隆过滤器和按第二预设时间间隔生成更新的目标数据集对应的删除标志布隆过滤器,第二预设时间间隔小于第一预设时间间隔,删除标志布隆过滤器的数据为布隆过滤器的最新生成时间至删除标志布隆过滤器的最新生成时间之间布隆过滤器的数据中相对于目标数据集未删除或未增加的数据,删除标志布隆过滤器的数据为包括删除标记位;
判定模块20,用于利用多级过滤器,判定目标数据集中是否存在待判定数据。
可选的,获取模块10,可以包括:
第一生成子模块,用于根据目标数据集,按第一预设时间间隔生成布隆过滤器,并将之前生成的布隆过滤器、删除标志布隆过滤器和哈希表删除;其中,哈希表的数据为删除标志布隆过滤器的最新生成时间至当前时间之间布隆过滤器和删除标志布隆过滤器的数据中相对于目标数据集未删除或未增加的数据;
第二生成子模块,用于根据目标数据集,按第二预设时间间隔生成删除标志布隆过滤器,并将之前生成的删除标志布隆过滤器和哈希表删除;
第三生成子模块,用于根据目标数据集,实时生成或更新哈希表。
本实施例中,本发明实施例通过判定模块20对多级过滤器的使用,在现有的布隆过滤器的基础上加入了删除标志布隆过滤器,利用删除标志布隆过滤器提升数据更新的频率,且通过删除标志布隆过滤器的数据中删除标记位的设置,使多级过滤器的使用占用内存少且高性能,为大规模业务处理系统提供了基础保障,提高了系统性能。
本发明实施例还提供了一种数据判定设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述实施例所提供的数据判定方法的步骤。
其中,本实施例中的存储器至少包括一种类型的可读存储介质,该可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器在一些实施例中可以是数据判定设备(如服务器)的内部存储单元,例如服务器的硬盘。存储器在另一些实施例中也可以是数据判定设备的外部存储设备,例如服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digita,SD)卡,闪存卡(Flash Card)等。进一步地,存储器还可以既包括数据判定设备的内部存储单元也包括外部存储设备。存储器不仅可以用于存储安装于数据判定设备的应用软件及各类数据,例如:执行数据判定方法的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
本实施例中的处理器在一些实施例中可以是中央处理器(Central ProcessingUnit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器中存储的程序代码或处理数据,例如执行数据判定方法的程序的代码等。
此外,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述实施例所提供的数据判定方法的步骤。
其中,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上对本发明所提供的一种数据判定方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (6)

1.一种数据判定方法,其特征在于,包括:
获取待判定数据和多级过滤器;其中,所述多级过滤器包括按第一预设时间间隔生成更新的目标数据集对应的布隆过滤器和按第二预设时间间隔生成更新的所述目标数据集对应的删除标志布隆过滤器,所述第二预设时间间隔小于所述第一预设时间间隔,所述删除标志布隆过滤器的数据为所述布隆过滤器的最新生成时间至所述删除标志布隆过滤器的最新生成时间之间所述布隆过滤器的数据中相对于所述目标数据集未删除或未增加的数据,所述删除标志布隆过滤器的数据为包括删除标记位;
利用所述多级过滤器,判定所述目标数据集中是否存在所述待判定数据;
所述多级过滤器还包括:哈希表;
其中,所述哈希表的数据为所述删除标志布隆过滤器的最新生成时间至当前时间之间所述布隆过滤器和所述删除标志布隆过滤器的数据中相对于所述目标数据集未删除或未增加的数据;
所述删除标记位为一个比特位;
获取所述多级过滤器的过程,包括:
根据所述目标数据集,按所述第一预设时间间隔生成所述布隆过滤器,并将之前生成的所述布隆过滤器、所述删除标志布隆过滤器和哈希表删除;
根据所述目标数据集,按所述第二预设时间间隔生成所述删除标志布隆过滤器,并将之前生成的所述删除标志布隆过滤器和所述哈希表删除;
根据所述目标数据集,实时生成或更新所述哈希表。
2.根据权利要求1所述的数据判定方法,其特征在于,所述利用所述多级过滤器,判定所述目标数据集中是否存在所述待判定数据,包括:
判断所述待判定数据是否为所述哈希表中的新增数据;其中,所述新增数据为所述布隆过滤器和所述删除标志布隆过滤器的数据中相对于所述目标数据集未增加的数据;
若是,则确定所述目标数据集中存在所述待判定数据;
若否,则判断所述待判定数据是否为所述哈希表中的删除数据;其中,所述删除数据为所述布隆过滤器和所述删除标志布隆过滤器的数据中相对于所述目标数据集未删除的数据;
若所述待判定数据为所述删除数据,则确定所述目标数据集中不存在所述待判定数据;
若所述待判定数据不为所述删除数据,则判断所述删除标志布隆过滤器的数据中是否存在目标数据,且所述目标数据的删除标记位为未删除标志;其中,所述目标数据为删除标志布隆过滤器的数据中所述待判定数据对应的数据;
若所述删除标志布隆过滤器的数据中存在所述目标数据且所述目标数据的删除标记位为未删除标志,则确定所述目标数据集中存在所述待判定数据;
若所述删除标志布隆过滤器的数据中不存在所述目标数据或所述目标数据的删除标记位为删除标志,则判断所述删除标志布隆过滤器的数据中是否存在所述目标数据,且所述目标数据的删除标记位为删除标志;
若所述删除标志布隆过滤器的数据中存在所述目标数据且所述目标数据的删除标记位为删除标志,则确定所述目标数据集中不存在所述待判定数据;
若所述删除标志布隆过滤器的数据中不存在所述目标数据,则判断所述布隆过滤器的数据中是否存在所述待判定数据;
若所述布隆过滤器的数据中存在所述待判定数据,则确定所述目标数据集中存在所述待判定数据;
若所述布隆过滤器的数据中不存在所述待判定数据,则确定所述目标数据集中不存在所述待判定数据。
3.根据权利要求1所述的数据判定方法,其特征在于,所述第一预设时间间隔为24小时,所述第二预设时间间隔为30分钟。
4.一种数据判定装置,其特征在于,包括:
获取模块,用于获取待判定数据和多级过滤器;其中,所述多级过滤器包括按第一预设时间间隔生成更新的目标数据集对应的布隆过滤器和按第二预设时间间隔生成更新的所述目标数据集对应的删除标志布隆过滤器,所述第二预设时间间隔小于所述第一预设时间间隔,所述删除标志布隆过滤器的数据为所述布隆过滤器的最新生成时间至所述删除标志布隆过滤器的最新生成时间之间所述布隆过滤器的数据中相对于所述目标数据集未删除或未增加的数据,所述删除标志布隆过滤器的数据为包括删除标记位;
判定模块,用于利用所述多级过滤器,判定所述目标数据集中是否存在所述待判定数据;
所述多级过滤器还包括:哈希表;
其中,所述哈希表的数据为所述删除标志布隆过滤器的最新生成时间至当前时间之间所述布隆过滤器和所述删除标志布隆过滤器的数据中相对于所述目标数据集未删除或未增加的数据;
所述删除标记位为一个比特位;
所述获取模块,包括:
第一生成子模块,用于根据所述目标数据集,按所述第一预设时间间隔生成所述布隆过滤器,并将之前生成的所述布隆过滤器、所述删除标志布隆过滤器和哈希表删除;其中,所述哈希表的数据为所述删除标志布隆过滤器的最新生成时间至当前时间之间所述布隆过滤器和所述删除标志布隆过滤器的数据中相对于所述目标数据集未删除或未增加的数据;
第二生成子模块,用于根据所述目标数据集,按所述第二预设时间间隔生成所述删除标志布隆过滤器,并将之前生成的所述删除标志布隆过滤器和所述哈希表删除;
第三生成子模块,用于根据所述目标数据集,实时生成或更新所述哈希表。
5.一种数据判定设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至3任一项所述的数据判定方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的数据判定方法的步骤。
CN201911121559.9A 2019-11-15 2019-11-15 一种数据判定方法、装置、设备及计算机可读存储介质 Active CN110990640B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911121559.9A CN110990640B (zh) 2019-11-15 2019-11-15 一种数据判定方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911121559.9A CN110990640B (zh) 2019-11-15 2019-11-15 一种数据判定方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110990640A CN110990640A (zh) 2020-04-10
CN110990640B true CN110990640B (zh) 2022-07-05

Family

ID=70084658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911121559.9A Active CN110990640B (zh) 2019-11-15 2019-11-15 一种数据判定方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110990640B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882310B (zh) * 2020-05-15 2022-03-22 马上消费金融股份有限公司 一种数据对比方法、装置、设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901248A (zh) * 2010-04-07 2010-12-01 北京星网锐捷网络技术有限公司 一种布隆过滤器的生成、更新以及查询元素方法和装置
CN104424256A (zh) * 2013-08-28 2015-03-18 华为技术有限公司 布隆过滤器生成方法和装置
CN109828721A (zh) * 2019-01-23 2019-05-31 平安科技(深圳)有限公司 数据删除方法、装置、计算机设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032529B2 (en) * 2007-04-12 2011-10-04 Cisco Technology, Inc. Enhanced bloom filters

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901248A (zh) * 2010-04-07 2010-12-01 北京星网锐捷网络技术有限公司 一种布隆过滤器的生成、更新以及查询元素方法和装置
CN104424256A (zh) * 2013-08-28 2015-03-18 华为技术有限公司 布隆过滤器生成方法和装置
CN109828721A (zh) * 2019-01-23 2019-05-31 平安科技(深圳)有限公司 数据删除方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN110990640A (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
US8719237B2 (en) Method and apparatus for deleting duplicate data
CN103514201B (zh) 一种非关系型数据库的数据查询方法和装置
CN110147204B (zh) 一种元数据落盘方法、装置、系统及计算机可读存储介质
CN110445828B (zh) 一种基于Redis的数据分布式处理方法及其相关设备
CN111125033B (zh) 一种基于全闪存阵列的空间回收方法及系统
US20190258619A1 (en) Data compression method, data compression device, computer program, and database system
CN108446110B (zh) Lua脚本生成方法、装置、终端及计算机可读介质
CN108038253B (zh) 一种日志查询的处理方法及装置
CN111190899B (zh) 一种埋点数据处理方法、装置、服务器及存储介质
CN110647423B (zh) 一种基于应用创建存储卷镜像的方法、设备及可读介质
CN110990640B (zh) 一种数据判定方法、装置、设备及计算机可读存储介质
CN114297196B (zh) 元数据存储方法、装置、电子设备及存储介质
CN113468118B (zh) 一种基于区块链的文件增量存储方法、装置及存储介质
CN108628892B (zh) 有序数据存储的方法、装置、电子设备和可读存储介质
CN113590144A (zh) 一种依赖处理方法及装置
CN110362540B (zh) 一种数据存储、访客数获取方法及装置
CN112711649A (zh) 一种数据库多字段匹配方法、装置、设备及存储介质
CN113986942B (zh) 一种基于人机对话的消息队列管理方法及装置
CN110781101A (zh) 一种一对多映射关系的存储方法、装置、电子设备及介质
CN110708355A (zh) 一种文件上传的方法、系统、设备及可读存储介质
CN112632266B (zh) 数据写入方法、装置、计算机设备及可读存储介质
CN112463741A (zh) 一种聚合大文件的清理方法及相关设备
US10037148B2 (en) Facilitating reverse reading of sequentially stored, variable-length data
CN114138552B (zh) 数据动态重删方法、系统、终端及存储介质
US11960451B2 (en) Method, computer-readable medium and file system for deduplication utilzing calculation range and re-chunking

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
GR01 Patent grant
GR01 Patent grant