CN113704240A - 一种数据去重的方法 - Google Patents

一种数据去重的方法 Download PDF

Info

Publication number
CN113704240A
CN113704240A CN202111115705.4A CN202111115705A CN113704240A CN 113704240 A CN113704240 A CN 113704240A CN 202111115705 A CN202111115705 A CN 202111115705A CN 113704240 A CN113704240 A CN 113704240A
Authority
CN
China
Prior art keywords
target
index file
file block
value
data
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
CN202111115705.4A
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.)
Tianyi Shilian Technology Co ltd
Original Assignee
CENTURY DRAGON INFORMATION NETWORK 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 CENTURY DRAGON INFORMATION NETWORK CO LTD filed Critical CENTURY DRAGON INFORMATION NETWORK CO LTD
Priority to CN202111115705.4A priority Critical patent/CN113704240A/zh
Publication of CN113704240A publication Critical patent/CN113704240A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据去重的方法。本申请可按顺序逐行读取待检测数据;计算当前读取的目标行数据的MD5值并利用hash算法计算目标行数据的索引文件块的目标块号。判断是否存在目标块号的索引文件块;若是,则判断是否存在与目标块号的索引文件块对应的二级跳表索引文件块;若不存在,则检索目标块号的索引文件块是否存在目标行数据的MD5值;若目标块号的索引文件块存在目标行数据的MD5值,则删除目标行数据。因每行数据的MD5值的存储空间小于每行数据的存储空间,去重时,仅读取每行数据的MD5值来进行数据比对便可判断目标数据是否存在,不用读取每行数据,减轻服务器运行压力,节约服务器资源,提升了数据去重的速度。

Description

一种数据去重的方法
技术领域
本申请涉及数据处理技术领域,更具体地说,涉及一种数据去重的方法。
背景技术
在信息化时代,大数据成为企业和社会关注的重要战略资源,数据管理成为了企业或个人的核心竞争力。为了充分利用大数据带来的机遇,很多时候需要做大数据分析以挖掘大数据的价值。为了高效挖掘大数据的价值,有时候需要对一些冗余的大数据进行数据去重处理,以得到高质量的大数据来做大数据分析。例如,有时候需要对几百G、几T容量的大文件行数据进行去重,其中,这些大文件中的行数据很长。如果是依靠人工识别逐一比对去重将是一个巨大而繁琐的工程。所以,人们一般采用一些数据去重技术手段来实现快速去重。
常用的去重技术手段是将大文件行数据全部存储到处理器的内存来做数据去重处理,这种数据去重处理的方式对服务器资源的消耗极大,处理效率也不高。
因此,亟需提供一种可以快速去重的数据处理手段,用于解决数据去重处理时占用服务器资源多的问题。
发明内容
有鉴于此,本申请提供了一种数据去重的方法,用于解决数据去重处理占用服务器资源多的问题。
一种数据去重的方法,包括:
按顺序逐行读取待检测数据;
计算当前读取的目标行数据的MD5值;
根据所述目标行数据的MD5值利用hash算法进行计算,得到所述目标行数据的索引文件块的目标块号;
判断是否存在所述目标块号的索引文件块,所述索引文件块用来存储各行数据的MD5值,其中,各个索引文件块中的MD5值按照升序或降序方式排序;
若是,则判断是否存在与所述目标块号的索引文件块对应的二级跳表索引文件块,所述二级跳表索引文件块中包含至少一条二级跳表索引,所述二级跳表索引记录有对应索引文件块中部分MD5值所在的行号;
若不存在,则检索所述目标块号的索引文件块是否存在所述目标行数据的MD5值;
若所述目标行数据的索引文件块存在所述目标行数据的MD5值,则删除所述目标行数据。
优选地,该方法还包括:
若存在与所述目标块号的索引文件块对应的二级跳表索引文件块,则判断所述二级跳表索引文件块中是否存在所述目标行数据的MD5值对应的二级跳表索引;
若存在所述目标行数据的MD5值对应的二级跳表索引,则删除所述目标行数据;
若不存在与所述目标行数据的MD5值对应的二级跳表索引,则基于所述二级跳表索引文件块中的二级跳表索引,检索所述目标块号的索引文件块中是否存在所述目标行数据的MD5值;
若所述目标块号的索引文件块中存在所述目标行数据的MD5值,则删除所述目标行数据。
优选地,该方法还包括:
若不存在与所述目标块号对应的索引文件块,则创建与所述目标块号对应的索引文件块;
将所述目标行数据的MD5值存入创建的目标块号的索引文件块。
优选地,该方法还包括:
若所述目标块号的索引文件块不存在所述目标行数据的MD5值,则将所述目标行数据的MD5值插入所述目标块号的索引文件块中;
更新所述目标块号的索引文件块中各MD5值的排序。
优选地,在将所述目标行数据的MD5值插入所述目标块号的索引文件块中之后,还包括:
判断所述目标块号的索引文件块的大小是否超过预设的第一阈值;
若超过,则针对所述目标块号的索引文件块创建一个二级跳表索引文件块;
在所述目标块号的索引文件块的二级跳表文件块中,创建关于所述目标块号的索引文件块存储的部分MD5值的二级跳表索引。
优选地,所述创建关于所述目标块号的索引文件块存储的部分MD5值的二级跳表索引,包括:
针对所述目标块号的索引文件块中的各个MD5值,参考预设的抽取规则,抽取MD5值及所抽取的MD5值在所述目标块号的索引文件块中对应的行号;
基于所抽取的MD5值及其对应的行号,创建关于所抽取的MD5值的二级跳表索引。
优选地,所述基于所述二级跳表索引文件块中的二级跳表索引,检索与所述目标块号的索引文件块中是否存在所述目标行数据的MD5值,包括:
在所述二级跳表索引文件块的二级跳表索引中,确定与所述目标行数据的MD5值最接近且比所述目标行数据的MD5值小的MD5值对应的二级跳表索引作为第一目标二级跳表索引,与所述目标行数据的MD5值最接近且比所述目标行数据的MD5值大的MD5值对应的二级跳表索引作为第二目标二级跳表索引;
根据所述第一、第二目标二级跳表索引中MD5值对应的行号,检索所述目标块号的索引文件块中所述第一、第二目标二级跳表索引中MD5值对应的行号之间的MD5值,确定是否存在所述目标行数据的MD5值。
优选地,该方法还包括:
若所述目标块号的索引文件块中不存在所述目标行数据的MD5值,则将所述目标行数据的MD5值插入所述目标块号的索引文件块中;
更新所述目标块号的索引文件块中各MD5值的排序;
基于所述目标块号的索引文件块中更新后的各个MD5值的行号,更新所述目标块号的索引文件块对应的二级跳表索引文件块中的二级跳表索引。
优选地,在所述更新所述目标块号的索引文件块对应的二级跳表索引文件块中的二级跳表索引之后,还包括:
判断所述二级跳表索引文件块的大小是否超过预设的第二阈值;
若是,则将所述二级跳表索引文件块存入本地磁盘。
优选地,在得到所述目标行数据的索引文件块的目标块号之后,该方法还包括:
判断是否存在与所述目标块号对应的数据文件块;
若否,则创建数据文件块,定义数据文件块的块号为所述目标块号,并将所述目标行数据存入所述目标块号对应的数据文件块;
若是,则将所述目标行数据存入所述目标块号对应的数据文件块。
从上述技术方案可以看出,本申请的数据去重方法,可以按顺序逐行读取待检测数据;可以计算当前读取的目标行数据的MD5值;并利用hash算法来计算所述目标行数据的索引文件块的目标块号。在得到所述目标块号后,可以判断是否存在所述目标块号的索引文件块,所述索引文件块用来存储各行数据的MD5值,其中,各个索引文件块中MD5值按照升序或降序方式排序;若是,则判断是否存在与所述目标块号的索引文件块对应的二级跳表索引文件块,所述二级跳表索引文件块中包含至少一条二级跳表索引,所述二级跳表索引记录有对应索引文件块中部分MD5值所在的行号;若不存在,则检索所述目标块号的索引文件块是否存在所述目标行数据的MD5值;若所述目标块号的索引文件块存在所述目标行数据的MD5值,则删除所述目标行数据。
因每行数据的MD5值的存储空间小于每行数据的存储空间,在做数据去重时,仅读取每行数据的MD5值来进行数据比对便可判断目标数据是否存在,相比于现有技术,本申请不用读取待检测数据中的每行数据来进行数据比对,减轻了服务器的运行压力,节约了服务器资源,提升了数据去重的速度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1-图8为本申请实施例提供的实现数据去重的方法的流程图;
图9为本申请实施例示例的一种数据去重装置结构示意图;
图10为本申请实施例公开的一种数据去重设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
大数据时代中,常常需要对一些数据进行去重处理,但是现有的很多去重处理的方法在去重时,所占用的服务器资源较多,导致服务器的运行压力大。为了解决这一问题,本申请提供了一种数据去重的方法,可以用于解决数据去重时占用服务器资源较多的问题。
该方法可以应用于任意一种可以实现数据去重的设备中。其中,读取待检测数据的设备可以是平板电脑、手机、数字电视等具有数据处理能力的终端。
下面结合图1,介绍本申请实施例给出的数据去重方法的流程,该流程可以包括以下几个步骤:
步骤S101,按顺序逐行读取待检测数据。
具体地,所述待检测数据可以是任意一种格式的数据。可以以行为单位,逐行读取待检测数据。以行为单位逐行读取待检测数据是为了将待检测数据划分为多个行数据以便计算每行数据的MD5值。
步骤S102,计算当前读取的目标行数据的MD5值。
具体地,在读取一行数据之后,可以利用信息摘要算法来计算当前所读取的目标行数据的MD5值。
其中,MD5的全称是Message-Digest Algorithm 5,它是一种被广泛使用的密码散列函数,通过信息摘要算法计算,可以产生一个128位(16字节)的散列值(hash value),俗称MD5值,MD5值可以用于确保信息传输完整一致。MD5值等同于一个文件或一行数据的ID。如果一个文件或一行数据已被修改,该文件或数据对应的MD5值也将发生变化。
因此,可以计算所述待检测数据中每行数据的MD5值作为每行数据的ID,以便用作数据去重时的比对数据是否重复的依据。
步骤S103,根据所述目标行数据的MD5值利用hash算法进行计算,得到所述目标行数据的索引文件块的目标块号。
具体地,在得到所述目标行数据的MD5值之后,可以根据待检测数据的大小作为参数,利用hash算法进行计算,可以确定关于待检测数据的索引文件块的数量。因此,可以基于所述目标行数据的MD5值利用hash算法得到一个哈希值。可以定义所得到的哈希值作为所述目标行数据的索引文件块的目标块号,所述目标块号可被用来标记存储所述目标行数据的MD5值的索引文件块。
步骤S104,判断是否存在所述目标块号对应的索引文件块,若是,则执行步骤S105。
具体地,在得到所述目标块号之后,可以判断本地磁盘或服务器中是否存在所述目标块号对应的索引文件块。所述索引文件块可以被用来存储各行数据的MD5值,其中,各个索引文件块中的MD5值按照升序或降序方式排序。若本地磁盘或服务器中存在所述目标块号对应的索引文件块,则执行步骤S105。
步骤S105,判断是否存在与所述目标块号的索引文件块对应的二级跳表索引文件块,若否,则执行步骤S106。
具体地,若存在所述目标块号的索引文件块,可以进一步判断是否存在该索引文件块对应的二级跳表索引文件块。所述二级跳表索引文件块中包含至少一条二级跳表索引,所述二级跳表索引记录有对应的索引文件块中部分MD5值所在的行号。若不存在所述目标块号的索引文件块对应的二级跳表索引文件块,说明所述目标块号的索引文件块对应的二级跳表索引文件块中不存在与所述目标行数据的MD5值对应的二级跳表索引,则应该继续检索所述目标块号的索引文件块才可以判断是否存在所述目标行数据的MD5值。因此,若不存在所述目标块号的索引文件块对应的二级跳表索引文件块,则执行步骤S106。
步骤S106,判断所述目标块号的索引文件块是否存在所述目标行数据的MD5值,若是,则执行步骤S107。
具体地,判断所述目标块号的索引文件块是否存在所述目标行数据的MD5值,以便快速判断所述目标行数据是否已存在。若所述目标块号的索引文件块中存在所述目标行数据的MD5值,则执行步骤S107。
步骤S107,删除所述目标行数据。
具体地,若所述目标块号的索引文件块存在所述目标行数据的MD5值,说明所述目标块号的索引文件块中已经存在该行数据,所述目标行数据为重复的数据,则删除所述目标行数据。
从上述技术方案可以看出,本申请可以通过查询所述目标块号的索引文件块中是否存在所述目标行数据的MD5值,来判断所述目标行数据是否存在。由于一行数据的MD5值的存储空间小于一行数据的存储空间。在做数据去重时,本申请实施例仅读取所述目标行数据的MD5值所在的索引文件块中的各MD5值来进行数据比对,相比于现有技术,本申请实施例不用读取待检测数据中的每行数据来进行数据比对,减轻了服务器的运行压力,节约了服务器资源,提升了数据去重的速度。
考虑到在实际运用中,有可能存在与所述目标块号的索引文件块对应的二级跳表索引文件块,那么数据去重处理的过程也会有所不同。本申请的一些实施例中,介绍了存在与所述目标块号的索引文件块对应的二级跳表索引文件块时,数据去重的过程。
接下来结合图2介绍本申请实施例给出的数据去重流程,该过程可以包括如下几个步骤:
步骤S101,按顺序逐行读取待检测数据。
步骤S102,计算当前读取的目标行数据的MD5值。
步骤S103,根据所述目标行数据的MD5值利用hash算法进行计算,得到所述目标行数据的索引文件块的目标块号。
步骤S104,判断是否存在所述目标块号对应的索引文件块,若是,则执行步骤S105。
步骤S105,判断是否存在与所述目标块号的索引文件块对应的二级跳表索引文件块,若否,则执行步骤S106;若是,则执行S108。
步骤S106,判断所述目标块号的索引文件块是否存在所述目标行数据的MD5值,若是,则执行步骤S107。
步骤S107,删除所述目标行数据。
其中,步骤S101-S107,与上述实施例中的步骤S101-S107一一对应,详情请参考前述介绍,此处不再赘述。
步骤S108,判断所述目标块号的索引文件块对应的二级跳表索引文件块中是否存在与所述目标行数据的MD5值对应的二级跳表索引,若是,则执行步骤S107;若否,则执行步骤S109。
具体地,若存在与所述目标块号的索引文件块对应的二级跳表索引文件块,可以进一步判断所述二级跳表文件块中是否存在与所述目标行数据的MD5值对应的二级跳表索引,若是,说明所述目标行数据已经存在,则执行步骤S107,若否,说明所述目标块号的索引文件块对应的二级跳表索引文件块中不存在与所述目标行数据的MD5值对应的二级跳表索引,则可以执行下述步骤S109的过程。
步骤S109,基于所述二级跳表索引文件块中的二级跳表索引,检索所述目标块号的索引文件块中是否存在所述目标行数据的MD5值,若是,则执行步骤S107。
具体地,若所述目标块号的索引文件块的二级跳表索引文件块中不存在与所述目标行数据的MD5值对应的二级跳表索引,可以基于所述二级跳表索引文件块的二级跳表索引,检索所述目标块号的索引文件块中是否存在所述目标行数据的MD5值,若是,说明所述目标行数据已经存在,则执行步骤S107。
本申请实施例,在存在所述目标块号的索引文件块的情况下,可以进一步判断是否存在所述目标块号的索引文件块的二级跳表索引文件块,来快速判断是否存在所述目标行数据。若所述目标块号的索引文件块对应的二级跳表索引文件块中刚好存在所述目标数据的MD5值的二级跳表索引,则不需要检索所述目标块号的索引文件块,也能判断所述目标行数据已存在。若所述目标块号的索引文件块的二级跳表索引文件块中不存在所述目标数据的MD5值的二级跳表索引,再根据所述二级跳表索引文件块中的二级跳表索引去检索所述目标块号的索引文件块。通过二级跳表索引的作用,可以节约检索时间,减轻了服务器的运行压力,提高了数据去重的效率。
本申请的一些实施例中,对上述步骤S109,基于所述二级跳表索引文件块中的二级跳表索引,检索所述目标块号的索引文件块中是否存在所述目标行数据的MD5值的过程进行介绍。该过程可以包括以下几个步骤:
步骤S1,确定第一目标二级跳表索引和第二目标二级跳表索引。
具体地,可以在所述二级跳表索引文件块的二级跳表索引中,确定与所述目标行数据的MD5值最接近且比所述目标行数据的MD5值小的MD5值对应的二级跳表索引作为第一目标二级跳表索引,与所述目标行数据的MD5值最接近且比所述目标行数据的MD5值大的MD5值对应的二级跳表索引作为第二目标二级跳表索引。
步骤S2,根据所述第一目标二级跳表索引和第二目标二级跳表索引,检索所述目标块号的索引文件块来确定是否存在所述目标行数据的MD5值。
具体地,在确定第一目标二级跳表索引和第二目标二级跳表索引之后,可以根据所述第一、第二目标二级跳表索引中MD5值对应的行号,检索所述目标块号的索引文件块中所述第一、第二目标二级跳表索引中MD5值对应的行号之间的MD5值,确定是否存在所述目标行数据的MD5值。
本申请实施例,可以在所述目标块号的索引文件块的二级跳表索引文件块中,不存在与所述目标行数据的MD5值对应的二级跳表索引的情况下,根据所述第一目标二级跳表索引和第二目标二级跳表索引,检索所述目标块号的索引文件块来确定是否存在所述目标行数据的MD5值,根据所述目标块号的索引文件块中各MD5值的排序规则,所述目标块号的索引文件块若存在所述目标行数据的MD5值,只会存在所述第一目标二级索引与所述目标二级索引的行号之间。因此,基于所述第一、第二目标二级跳表索引可以缩小了检索的范围,减轻了服务器的运行压力,同时也缩短了检索的时间,提高了数据去重的效率。
考虑到在实际运用中,在得到所述目标块号之后,可能本地磁盘或服务器未存在所述目标块号的索引文件块,导致无法存储所述目标行数据的MD5值,为了解决这个问题,本申请的一些实施例,可以在上述步骤S103之后,增加创建所述目标块号对应的索引文件块来存储所述目标行数据的MD5值的过程。
接下来结合图3介绍创建所述目标块号的索引文件块并存储所述目标行数据的MD5值的过程,该过程可以包括如下几个步骤:
步骤S101,按顺序逐行读取待检测数据。
步骤S102,计算当前读取的目标行数据的MD5值。
步骤S103,根据所述目标行数据的MD5值利用hash算法进行计算,得到所述目标行数据的索引文件块的目标块号。
步骤S104,判断是否存在所述目标块号对应的索引文件块,若是,则执行步骤S105;若否,说明不存在所述目标块号的索引文件块以供存储所述目标行数据的MD5值,须创建与所述目标块号对应的索引文件块,故,执行步骤S110。
步骤S105,判断是否存在与所述目标块号的索引文件块对应的二级跳表索引文件块,若否,则执行步骤S106;若是,则执行S108。
步骤S106,判断所述目标块号的索引文件块是否存在所述目标行数据的MD5值,若是,则执行步骤S107。
步骤S107,删除所述目标行数据。
其中,步骤S101-S107,与上述实施例中的步骤S101-S107一一对应,详情请参考前述介绍,此处不再赘述。
步骤S110,创建与所述目标块号对应的索引文件块。
具体地,若不存在所述目标块号对应的索引文件块,可以创建一个索引文件块,定义所述目标块号为所创建的索引文件块的块号。以便用来存储所述目标行数据的MD5值。
步骤S111,将所述目标行数据的MD5值存入所述目标块号的索引文件块。
具体地,在创建所述目标块号对应的索引文件块后,可以将所述目标行数据的MD5值存入所创建的目标块号的索引文件块中。
本申请实施例,可以在没有所述目标块号对应的索引文件块的情况下,创建新的索引文件快来存储所述目标行数据的MD5值。
考虑到在实际运用中,虽存在所述目标块号的索引文件块,但该索引文件块中有可能不存在所述目标行数据的MD5值,因此,本申请实施例在上述步骤S106之后,增加了将所述目标数据的MD5值存入所述目标块号的索引文件块的过程。
接下来结合图4介绍当已存在所述目标块号的索引文件块,但该索引文件块不存在所述目标行数据的MD5值时,如何将所述目标数据的MD5值存入所述目标块号的索引文件块的过程,该过程可以包括如下几个步骤:
步骤S101,按顺序逐行读取待检测数据。
步骤S102,计算当前读取的目标行数据的MD5值。
步骤S103,根据所述目标行数据的MD5值利用hash算法进行计算,得到所述目标行数据的索引文件块的目标块号。
步骤S104,判断是否存在所述目标块号对应的索引文件块,若是,则执行步骤S105;若否,说明不存在所述目标块号的索引文件块以供存储所述目标行数据的MD5值,须创建与所述目标块号对应的索引文件块,故,执行步骤S110。
步骤S105,判断是否存在与所述目标块号的索引文件块对应的二级跳表索引文件块,若否,则执行步骤S106;若是,则执行S108。
步骤S106,判断所述目标块号的索引文件块是否存在所述目标行数据的MD5值,若是,则执行步骤S107,若否,则执行步骤S112。
步骤S107,删除所述目标行数据。
其中,步骤S101-S107,与上述实施例中的步骤S101-S107一一对应,详情请参考前述介绍,此处不再赘述。
步骤S112,将所述目标行数据的MD5值插入所述目标块号的索引文件块。
具体地,若所述目标块号的索引文件块中不存在所述目标行数据的MD5值,则可以将所述目标行数据的MD5值插入所述目标块号的索引文件块中,将所述目标行数据的MD5值插入之后,按照所述目标块号的索引文件块中的各MD5值的排序规则,更新所述目标块号的索引文件块中各MD5值的排序。
本申请实施例,当已经存在所述目标块号的索引文件块且该索引文件块不存在所述目标行数据的MD5值时,可以将所述目标行数据的MD5值存入到所述目标块号的索引文件块中,并更新该索引文件块中的各MD5值的排序,以便做进一步的处理。
考虑到在实际运用中,随着存入的MD5值逐渐增多,存储MD5值的索引文件块的大小逐渐变大,在做数据比对时,遍历一个索引文件块的各个MD5值的时间也会相应增加,为了快速确认一个索引文件块中是否存在某一个MD5值,本申请实施例可以在上述步骤S112之后,增加了一个当索引文件块的大小超过预设的第一阈值之后,针对该索引文件块创建一个二级跳表索引文件块,并在该二级跳表索引文件块创建关于该索引文件块中的部分MD5值的二级跳表索引的过程。
接下来结合图5介绍,针对所述目标块号的索引文件块创建一个二级跳表索引文件块,并在该二级跳表索引文件块中创建关于所述目标块号的索引文件中的部分MD5值的二级跳表索引的过程,该过程可以包括如下几个步骤:
步骤S101,按顺序逐行读取待检测数据。
步骤S102,计算当前读取的目标行数据的MD5值。
步骤S103,根据所述目标行数据的MD5值利用hash算法进行计算,得到所述目标行数据的索引文件块的目标块号。
步骤S104,判断是否存在所述目标块号对应的索引文件块,若是,则执行步骤S105;若否,说明不存在所述目标块号的索引文件块以供存储所述目标行数据的MD5值,须创建与所述目标块号对应的索引文件块,故,执行步骤S110。
步骤S105,判断是否存在与所述目标块号的索引文件块对应的二级跳表索引文件块,若否,则执行步骤S106;若是,则执行S108。
步骤S106,判断所述目标块号的索引文件块是否存在所述目标行数据的MD5值,若是,则执行步骤S107,若否,则执行步骤S112。
步骤S107,删除所述目标行数据。
步骤S112,将所述目标行数据的MD5值插入所述目标块号的索引文件块。
其中,步骤S101-S107、步骤S112,与上述实施例中的步骤S101-S107、步骤S112一一对应,详情请参考前述介绍,此处不再赘述。
步骤S113,判断所述目标块号的索引文件块大小是否超过预设的第一阈值,若是,则执行步骤S114。
具体地,当所述目标块号的索引文件的大小达到一定数值之后,在做数据去重的时候遍历该索引文件块的各MD5值时也比较费时,同时也增加了服务器的运行压力,因此,可以预先设置第一阈值,在将所述目标行数据的MD5值存入所述目标块号的索引文件块后,判断所述目标块号的索引文件块大小是否超过预设的第一阈值,若是,则执行步骤S114。
例如,可以将所述第一阈值设置为10M,当所述目标块号的索引文件块的大小超过10M后,可以执行步骤S114。
步骤S114,针对所述目标块号的索引文件块创建一个二级跳表索引文件块,并在该二级跳表索引文件块中创建关于所述目标块号的索引文件块中的部分MD5值的二级跳表索引。
具体地,当所述目标块号的索引文件块的大小超过预设的第一阈值后,可以针对所述目标块号的索引文件块创建一个二级跳表索引文件块;并在所述目标块号的索引文件块的二级跳表文件块中,创建关于所述目标块号的索引文件块中所存储的部分MD5值的二级跳表索引。以便用来快速判断所述目标行数据是否存在。
本申请实施例,可以在将所述目标行数据的MD5值存入所述目标块号的索引文件块后,根据预设的第一阈值来判断是否需要为所述目标块号的索引文件块创建二级跳表索引文件块及二级跳表索引,以便用来数据快速去重,基于所述二级跳表索引文件块及所述二级跳表索引,在做数据去重时,可以优先查询所述二级跳表索引文件块及所述二级跳表索引来快速判断数据是否重复,可以减少检索的时间,提高数据去重效率。
本申请的一些实施例,对上述步骤S114,针对所述目标块号的索引文件块创建一个二级跳表索引文件块,并在该二级跳表索引文件块中创建关于所述目标块号的索引文件块中的部分MD5值的二级跳表索引的过程进行介绍,该过程可以包括如下几个步骤:
步骤S1,针对所述目标块号的索引文件块中的各个MD5值,参考预设的抽取规则,抽取MD5值及所抽取的MD5值在所述目标块号的索引文件块中对应的行号。
具体地,当所述目标块号的索引文件块超过预设的第一阈值后,可以针对所述目标块号的索引文件块中的各个MD5值,可以参考预设的抽取规则,抽取MD5值及所抽取的MD5值在所述目标块号的索引文件块中对应的行号。
例如,可以在所述目标块号的索引文件块的各MD5值中,设定每隔10W行,抽取一个MD5值及所其对应的行号出来,以便创建关于所抽取的MD5值的二级跳表索引。
步骤S2,基于所抽取的MD5值及其对应的行号,创建关于所抽取的MD5值的二级跳表索引。
具体地,按照预设的抽取规则抽取相应的MD5值及其对应的行号后,可以基于所抽取的MD5值及其对应的行号,创建关于所抽取的MD5值的二级跳表索引。所述二级跳表索引可以用来做快速去重。
其中,所述二级跳表索引的存储结构可以是<MD5值,该MD5值在所述目标块号的索引文件块中对应的行号>。
本申请实施例介绍了如何针对所述目标块号的索引文件块创建二级跳表文件块及二级跳表索引的过程,所创建的二级跳表索引可以用来做数据快速去重,二级跳表索引中记录了MD5值及其在所述目标块号的索引文件块中存储的具体行号,因此,在做数据去重时,可以通过查询所述二级跳表索引,快速判断是否存在所述目标行数据,即使不能获知所述目标行数据是否存在,也可以根据所述二级跳表索引进一步缩小在所述目标块号的索引文件块的检索范围,减少服务器运行压力和检索时间,提高数据去重效率。
考虑到在实际运用中,基于所述二级跳表索引文件块中的二级跳表索引,检索所述目标块号的索引文件块是否存在所述目标行数据的MD5值时,所述目标块号的索引文件块可能不存在所述目标行数据的MD5值。针对这个情况,本申请的一些实施例,对基于所述二级跳表索引文件块中的二级跳表索引,检索所述目标块号的索引文件块是否存在所述目标行数据的MD5值时,发现所述目标块号的索引文件块不存在所述目标行数据的MD5值时,可以增加将所述目标行数据的MD5值存入与所述目标块号对应的索引文件块,并更新所述目标块号的索引文件块对应的二级跳表索引文件块中的二级跳表索引的过程。
接下来结合图6对该过程进行介绍,该过程可以包括如下几个步骤:
步骤S101,按顺序逐行读取待检测数据。
步骤S102,计算当前读取的目标行数据的MD5值。
步骤S103,根据所述目标行数据的MD5值利用hash算法进行计算,得到所述目标行数据的索引文件块的目标块号。
步骤S104,判断是否存在所述目标块号对应的索引文件块,若是,则执行步骤S105。
步骤S105,判断是否存在与所述目标块号的索引文件块对应的二级跳表索引文件块,若否,则执行步骤S106;若是,则执行S108。
步骤S106,判断所述目标块号的索引文件块是否存在所述目标行数据的MD5值,若是,则执行步骤S107。
步骤S107,删除所述目标行数据。
步骤S108,判断所述目标块号的索引文件块对应的二级跳表索引文件块中是否存在与所述目标行数据的MD5值对应的二级跳表索引,若是,则执行步骤S107;若否,则执行步骤S109。
步骤S109,基于所述二级跳表索引文件块中的二级跳表索引,检索所述目标块号的索引文件块中是否存在所述目标行数据的MD5值,若是,则执行步骤S107。若否,则执行步骤S115。
其中,步骤S101-S109,与上述实施例中的步骤S101-S109一一对应,详情请参考前述介绍,此处不再赘述。
步骤S115,将所述目标行数据的MD5值存入与所述目标块号对应的索引文件块,并更新所述目标块号的索引文件块中各MD5值的排序。
具体地,若所述目标块号的索引文件块中不存在所述目标行数据的MD5值,说明所述目标行数据是唯一的,则将所述目标行数据的MD5值插入所述目标块号的索引文件块,并根据所述目标块号的索引文件块中各MD5值的排序规则,更新所述目标块号的索引文件块中各MD5值的排序。
步骤S116,更新所述目标块号的索引文件块对应的二级跳表索引文件块中的二级跳表索引。
具体地,在更新所述目标块号的索引文件块的各MD5值的排序之后,各MD5值在该索引文件块的行号也会相应发生变化。所述二级跳表索引文件块中的二级跳表索引是基于所述目标块号的索引文件块中的部分MD5值及其对应的行号创建的。因此,所述目标块号的索引文件块的索引文件块中的各MD5值的排序更新后,也需要更新所述目标块号的索引文件块的索引文件块中部分MD5值对应的二级跳表索引。因此,可以基于所述目标块号的索引文件块中更新后的各个MD5值的行号,更新所述目标块号的索引文件块对应的二级跳表索引文件块中的二级跳表索引。
本申请实施例在将所述目标行数据的MD5值插入对应的索引文件块后,可以基于所述目标块号的索引文件块更新后的各MD5值的行号,更新所述目标块号的索引文件块各MD5值的二级跳表索引。以便做进一步的数据去重时不会发生数据混乱。
考虑到实际运用过程中,常用的CPU运行内存缓冲区的容量是有限的,在做数据去重时,所读取的数据大小超过CPU的运行内存缓冲区的容量,容易发生CPU中断故障的情况,当发生CPU中断故障时,重建数据读取进程时,读取之前做数据去重所建立的二级跳表索引会比较费时,因此,本申请实施例可以在上述步骤S116之后增加当所述二级跳表索引文件块的大小小于预设的第二阈值时,将所述二级跳表索引文件块存入本地磁盘的过程。
接下来结合图7介绍该过程,该过程可以包括如下几个步骤:
步骤S101,按顺序逐行读取待检测数据。
步骤S102,计算当前读取的目标行数据的MD5值。
步骤S103,根据所述目标行数据的MD5值利用hash算法进行计算,得到所述目标行数据的索引文件块的目标块号。
步骤S104,判断是否存在所述目标块号对应的索引文件块,若是,则执行步骤S105。
步骤S105,判断是否存在与所述目标块号的索引文件块对应的二级跳表索引文件块,若否,则执行步骤S106;若是,则执行S108。
步骤S106,判断所述目标块号的索引文件块是否存在所述目标行数据的MD5值,若是,则执行步骤S107。
步骤S107,删除所述目标行数据。
步骤S108,判断所述目标块号的索引文件块对应的二级跳表索引文件块中是否存在与所述目标行数据的MD5值对应的二级跳表索引,若是,则执行步骤S107;若否,则执行步骤S109。
步骤S109,基于所述二级跳表索引文件块中的二级跳表索引,检索所述目标块号的索引文件块中是否存在所述目标行数据的MD5值,若是,则执行步骤S107。若否,则执行步骤S115。
步骤S115,将所述目标行数据的MD5值存入与所述目标块号对应的索引文件块,并更新所述目标块号的索引文件块中各MD5值的排序。
步骤S116,更新所述目标块号的索引文件块对应的二级跳表索引文件块中的二级跳表索引。
其中,步骤S101-S109、S115-S116,与上述实施例中的步骤S101-S109、S115-S116一一对应,详情请参考前述介绍,此处不再赘述。
步骤S117,判断所述二级跳表索引文件块的大小是否超过预设的第二阈值,若是,则执行步骤S118。
具体地,可以预设第二阈值,可以用来判断所述二级跳表索引文件块的大小是否小于预设的第二阈值,当所述二级跳表索引文件块的大小超过预设的第二阈值,可以执行步骤S118。
例如,可以将所述第二阈值设置为1M,所述二级跳表索引文件块的大小超过1M时,则执行步骤S118。
步骤S118,将所述二级跳表索引文件块存入本地磁盘。
具体地,当所述二级跳表索引文件块的大小超过预设的第二阈值时,可以将所述二级跳表索引文件块存入本地磁盘。
本申请实施例可以将所述二级跳表索引文件块存入本地磁盘,以便CPU发生中断故障,须重新读取所述二级跳表索引文件块的二级跳表索引时,快速获取所述二级跳表索引文件块。
考虑到在做数据去重后,有些应用场景需要输出去重后的数据,因此,本申请实施例在得到所述目标行数据的索引文件块的目标块号之后,可以增加将所述目标行数据存入数据文件块的过程,后续对于确认重复的数据,会将其从对应的数据文件块中删除。
接下来结合图8介绍该过程,该过程可以包括以下几个步骤:
步骤S101,按顺序逐行读取待检测数据。
步骤S102,计算当前读取的目标行数据的MD5值。
步骤S103,根据所述目标行数据的MD5值利用hash算法进行计算,得到所述目标行数据的索引文件块的目标块号。
步骤S104,判断是否存在所述目标块号对应的索引文件块,若是,则执行步骤S105。
步骤S105,判断是否存在与所述目标块号的索引文件块对应的二级跳表索引文件块,若否,则执行步骤S106;若是,则执行S108。
步骤S106,判断所述目标块号的索引文件块是否存在所述目标行数据的MD5值,若是,则执行步骤S107。
步骤S107,删除所述目标行数据。
具体地,本步骤中将确认为重复的目标行数据,将其从对应的数据文件块中删除。
步骤S108,判断所述目标块号的索引文件块对应的二级跳表索引文件块中是否存在与所述目标行数据的MD5值对应的二级跳表索引,若是,则执行步骤S107;若否,则执行步骤S109。
步骤S109,基于所述二级跳表索引文件块中的二级跳表索引,检索所述目标块号的索引文件块中是否存在所述目标行数据的MD5值,若是,则执行步骤S107。若否,则执行步骤S115。
步骤S110,创建与所述目标块号对应的索引文件块。
步骤S111,将所述目标行数据的MD5值存入所述目标块号的索引文件块。步骤S112,将所述目标行数据的MD5值插入所述目标块号的索引文件块。
步骤S113,判断所述目标块号的索引文件块大小是否超过预设的第一阈值,若是,则执行步骤S114。
步骤S114,针对所述目标块号的索引文件块创建一个二级跳表索引文件块,并在该二级跳表索引文件块中创建关于所述目标块号的索引文件块中的部分MD5值的二级跳表索引。
步骤S115,将所述目标行数据的MD5值存入与所述目标块号对应的索引文件块,并更新所述目标块号的索引文件块中各MD5值的排序。
步骤S116,更新所述目标块号的索引文件块对应的二级跳表索引文件块中的二级跳表索引。
步骤S117,判断所述二级跳表索引文件块的大小是否超过预设的第二阈值,若是,则执行步骤S118。
步骤S118,将所述二级跳表索引文件块存入本地磁盘。
其中,步骤S101-S1118,与上述实施例中的步骤S101-S118一一对应,详情请参考前述介绍,此处不再赘述。
步骤S119,判断是否存在与所述目标块号对应的数据文件块,若是则执行步骤S120;若否,则执行步骤S121。
步骤S120,创建数据文件块,定义数据文件块的块号为所述目标块号。
步骤S121,将所述目标行数据存入所述目标块号对应的数据文件块。
本申请实施例,可以实现当不存在可以用来存储所述目标行数据的数据文件块时,可以基于所述目标块号创建数据文件块,以便用来存储所述目标行数据。也可以实现讲重复的目标行数据从对应的数据文件块中删除。进一步地,当需要输出去重后的数据时,输出去重后的数据。以便做进一步的处理。
下面开始介绍本申请实施例提供的数据去重装置,下文描述的数据去重装置与上文描述的数据去重方法可相互对应参照。
参见图9,图9为本申请实施例公开的一种数据去重处理装置结构示意图。
如图9所示,该数据去重装置可以包括:
读取单元110,用于按顺序逐行读取待检测数据;
MD5值计算单元120,用于计算当前读取的目标行数据的MD5值;
块号计算单元130,用于根据所述目标行数据的MD5值利用hash算法进行计算,得到所述目标行数据的索引文件块的目标块号;
第一判断单元140,用于判断是否存在所述目标块号的索引文件块,所述索引文件块用来存储各行数据的MD5值,其中,各个索引文件块中MD5值按照升序或降序方式排序;
第二判断单元150,用于当存在所述目标块号的索引文件块时,判断是否存在与所述目标块号的索引文件块对应的二级跳表索引文件块,所述二级跳表索引文件块中包含至少一条二级跳表索引,所述二级跳表索引记录有对应索引文件块中部分MD5值所在的行号;
第三判断单元160,用于当不存在所述目标块号的索引文件块时,检索所述目标块号的索引文件块是否存在所述目标行数据的MD5值;
删除单元170,用于当所述目标行数据的索引文件块存在所述目标行数据的MD5值时,则删除所述目标行数据。
其中,上述数据去重装置所包含的各个单元的具体处理流程,可以参照前文方法部分相关介绍,此处不再赘述。
本申请实施例提供的数据去重装置可应用于数据去重设备,如终端:手机、电脑等。可选的,图10示出了数据去重处理设备的硬件结构框图,参照图10,数据去重设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信。
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:实现前述终端数据去重方案中的各个处理流程。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:实现前述终端在数据去重方案中的各个处理流程。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。各个实施例之间可以相互组合。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据去重的方法,其特征在于,包括:
按顺序逐行读取待检测数据;
计算当前读取的目标行数据的MD5值;
根据所述目标行数据的MD5值利用hash算法进行计算,得到所述目标行数据的索引文件块的目标块号;
判断是否存在所述目标块号的索引文件块,所述索引文件块用来存储各行数据的MD5值,其中,各个索引文件块中的MD5值按照升序或降序方式排序;
若是,则判断是否存在与所述目标块号的索引文件块对应的二级跳表索引文件块,所述二级跳表索引文件块中包含至少一条二级跳表索引,所述二级跳表索引记录有对应索引文件块中部分MD5值所在的行号;
若不存在,则检索所述目标块号的索引文件块是否存在所述目标行数据的MD5值;
若所述目标行数据的索引文件块存在所述目标行数据的MD5值,则删除所述目标行数据。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
若存在与所述目标块号的索引文件块对应的二级跳表索引文件块,则判断所述二级跳表索引文件块中是否存在所述目标行数据的MD5值对应的二级跳表索引;
若存在所述目标行数据的MD5值对应的二级跳表索引,则删除所述目标行数据;
若不存在与所述目标行数据的MD5值对应的二级跳表索引,则基于所述二级跳表索引文件块中的二级跳表索引,检索所述目标块号的索引文件块中是否存在所述目标行数据的MD5值;
若所述目标块号的索引文件块中存在所述目标行数据的MD5值,则删除所述目标行数据。
3.根据权利要求1所述的方法,其特征在于,该方法还包括:
若不存在与所述目标块号对应的索引文件块,则创建与所述目标块号对应的索引文件块;
将所述目标行数据的MD5值存入创建的目标块号的索引文件块。
4.根据权利要求1所述的方法,其特征在于,该方法还包括:
若所述目标块号的索引文件块不存在所述目标行数据的MD5值,则将所述目标行数据的MD5值插入所述目标块号的索引文件块中;
更新所述目标块号的索引文件块中各MD5值的排序。
5.根据权利要求4所述的方法,其特征在于,在将所述目标行数据的MD5值插入所述目标块号的索引文件块中之后,还包括:
判断所述目标块号的索引文件块的大小是否超过预设的第一阈值;
若超过,则针对所述目标块号的索引文件块创建一个二级跳表索引文件块;
在所述目标块号的索引文件块的二级跳表文件块中,创建关于所述目标块号的索引文件块存储的部分MD5值的二级跳表索引。
6.根据权利要求5所述的方法,其特征在于,所述创建关于所述目标块号的索引文件块存储的部分MD5值的二级跳表索引,包括:
针对所述目标块号的索引文件块中的各个MD5值,参考预设的抽取规则,抽取MD5值及所抽取的MD5值在所述目标块号的索引文件块中对应的行号;
基于所抽取的MD5值及其对应的行号,创建关于所抽取的MD5值的二级跳表索引。
7.根据权利要求2所述的方法,其特征在于,所述基于所述二级跳表索引文件块中的二级跳表索引,检索与所述目标块号的索引文件块中是否存在所述目标行数据的MD5值,包括:
在所述二级跳表索引文件块的二级跳表索引中,确定与所述目标行数据的MD5值最接近且比所述目标行数据的MD5值小的MD5值对应的二级跳表索引作为第一目标二级跳表索引,与所述目标行数据的MD5值最接近且比所述目标行数据的MD5值大的MD5值对应的二级跳表索引作为第二目标二级跳表索引;
根据所述第一、第二目标二级跳表索引中MD5值对应的行号,检索所述目标块号的索引文件块中所述第一、第二目标二级跳表索引中MD5值对应的行号之间的MD5值,确定是否存在所述目标行数据的MD5值。
8.根据权利要求2所述的方法,其特征在于,该方法还包括:
若所述目标块号的索引文件块中不存在所述目标行数据的MD5值,则将所述目标行数据的MD5值插入所述目标块号的索引文件块中;
更新所述目标块号的索引文件块中各MD5值的排序;
基于所述目标块号的索引文件块中更新后的各个MD5值的行号,更新所述目标块号的索引文件块对应的二级跳表索引文件块中的二级跳表索引。
9.根据权利要求8所述的方法,其特征在于,在所述更新所述目标块号的索引文件块对应的二级跳表索引文件块中的二级跳表索引之后,还包括:
判断所述二级跳表索引文件块的大小是否超过预设的第二阈值;
若是,则将所述二级跳表索引文件块存入本地磁盘。
10.根据权利要求1-9中任一项所述的方法,其特征在于,在得到所述目标行数据的索引文件块的目标块号之后,该方法还包括:
判断是否存在与所述目标块号对应的数据文件块;
若否,则创建数据文件块,定义数据文件块的块号为所述目标块号,并将所述目标行数据存入所述目标块号对应的数据文件块;
若是,则将所述目标行数据存入所述目标块号对应的数据文件块。
CN202111115705.4A 2021-09-23 2021-09-23 一种数据去重的方法 Pending CN113704240A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111115705.4A CN113704240A (zh) 2021-09-23 2021-09-23 一种数据去重的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111115705.4A CN113704240A (zh) 2021-09-23 2021-09-23 一种数据去重的方法

Publications (1)

Publication Number Publication Date
CN113704240A true CN113704240A (zh) 2021-11-26

Family

ID=78661637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111115705.4A Pending CN113704240A (zh) 2021-09-23 2021-09-23 一种数据去重的方法

Country Status (1)

Country Link
CN (1) CN113704240A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100211616A1 (en) * 2009-02-16 2010-08-19 Rajesh Khandelwal Performance by Avoiding Disk I/O for Deduplicated File Blocks
CN102591855A (zh) * 2012-01-13 2012-07-18 广州从兴电子开发有限公司 一种数据标识方法及系统
CN102682085A (zh) * 2012-04-18 2012-09-19 北京十分科技有限公司 一种网页去重的方法
CN103455631A (zh) * 2013-09-22 2013-12-18 广州中国科学院软件应用技术研究所 一种数据处理方法、装置及系统
CN110704433A (zh) * 2019-09-23 2020-01-17 北京优炫软件股份有限公司 列式存储数据的brin索引构建方法、数据检索方法及装置
CN112328435A (zh) * 2020-12-07 2021-02-05 武汉绿色网络信息服务有限责任公司 目标数据备份和恢复的方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100211616A1 (en) * 2009-02-16 2010-08-19 Rajesh Khandelwal Performance by Avoiding Disk I/O for Deduplicated File Blocks
CN102591855A (zh) * 2012-01-13 2012-07-18 广州从兴电子开发有限公司 一种数据标识方法及系统
CN102682085A (zh) * 2012-04-18 2012-09-19 北京十分科技有限公司 一种网页去重的方法
CN103455631A (zh) * 2013-09-22 2013-12-18 广州中国科学院软件应用技术研究所 一种数据处理方法、装置及系统
CN110704433A (zh) * 2019-09-23 2020-01-17 北京优炫软件股份有限公司 列式存储数据的brin索引构建方法、数据检索方法及装置
CN112328435A (zh) * 2020-12-07 2021-02-05 武汉绿色网络信息服务有限责任公司 目标数据备份和恢复的方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN108319654B (zh) 计算系统、冷热数据分离方法及装置、计算机可读存储介质
CN106874348B (zh) 文件存储和索引方法、装置及读取文件的方法
CN110888837B (zh) 对象存储小文件归并方法及装置
JP5531583B2 (ja) ログ出力装置、ログ出力方法、ログ出力用プログラム
CN109241003B (zh) 文件管理方法和装置
CN106980680B (zh) 数据存储方法及存储设备
CN112732191B (zh) 基于日志结构合并树合并数据的方法、系统、设备及介质
CN111782707A (zh) 一种数据查询方法及系统
EP3422205A1 (en) Database-archiving method and apparatus that generate index information, and method and apparatus for searching archived database comprising index information
CN114416670B (zh) 适用于网盘文档的索引创建方法、装置、网盘及存储介质
JP6507657B2 (ja) 類似性判定装置、類似性判定方法および類似性判定プログラム
CN109496292A (zh) 一种磁盘管理方法、磁盘管理装置及电子设备
CN116010362A (zh) 文件存储和文件读取的方法、装置及系统
CN117369731B (zh) 一种数据的缩减处理方法、装置、设备及介质
CN109189343B (zh) 一种元数据落盘方法、装置、设备及计算机可读存储介质
CN114995759A (zh) 桶分片处理方法、装置、设备及介质
CN109213972B (zh) 确定文档相似度的方法、装置、设备和计算机存储介质
CN107315806B (zh) 一种基于文件系统的嵌入式存储方法和装置
CN113704240A (zh) 一种数据去重的方法
CN111045994A (zh) 一种基于kv数据库的文件分类检索方法及系统
CN107943849B (zh) 视频文件的检索方法及装置
CN110990394B (zh) 分布式面向列数据库表的行数统计方法、装置和存储介质
CN112925746A (zh) 文件归档方法和装置
CN111143288A (zh) 一种数据存储方法、系统及相关装置
CN118233454B (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
TA01 Transfer of patent application right

Effective date of registration: 20211208

Address after: Room 1423, No. 1256 and 1258, Wanrong Road, Jing'an District, Shanghai 200040

Applicant after: Tianyi Digital Life Technology Co.,Ltd.

Address before: 1 / F and 2 / F, East Garden, Huatian International Plaza, 211 Longkou Middle Road, Tianhe District, Guangzhou, Guangdong 510000

Applicant before: Century Dragon Information Network Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240325

Address after: Unit 1, Building 1, China Telecom Zhejiang Innovation Park, No. 8 Xiqin Street, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province, 311100

Applicant after: Tianyi Shilian Technology Co.,Ltd.

Country or region after: China

Address before: Room 1423, No. 1256 and 1258, Wanrong Road, Jing'an District, Shanghai 200040

Applicant before: Tianyi Digital Life Technology Co.,Ltd.

Country or region before: China

TA01 Transfer of patent application right