CN104077380B - 一种重复数据删除方法、装置及系统 - Google Patents

一种重复数据删除方法、装置及系统 Download PDF

Info

Publication number
CN104077380B
CN104077380B CN201410295300.7A CN201410295300A CN104077380B CN 104077380 B CN104077380 B CN 104077380B CN 201410295300 A CN201410295300 A CN 201410295300A CN 104077380 B CN104077380 B CN 104077380B
Authority
CN
China
Prior art keywords
data
data page
page
fingerprint value
file
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
CN201410295300.7A
Other languages
English (en)
Other versions
CN104077380A (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.)
Shenzhen Institute of Information Technology
Original Assignee
Shenzhen Institute of Information Technology
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 Shenzhen Institute of Information Technology filed Critical Shenzhen Institute of Information Technology
Priority to CN201410295300.7A priority Critical patent/CN104077380B/zh
Publication of CN104077380A publication Critical patent/CN104077380A/zh
Application granted granted Critical
Publication of CN104077380B publication Critical patent/CN104077380B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • G06F16/152File search processing using file content signatures, e.g. hash values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments

Landscapes

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

Abstract

本发明适用于数据库技术领域,提供了一种重复数据删除方法、装置及系统,包括:内存数据库在缓存区中,缓存待写入外部存储器的数据页;在将缓存中的数据页写入所述外部存储器时,调取所述数据页;根据SHA安全散列算法,对调取到的所述数据页中的数据进行压缩映射,生成所述数据页对应的指纹值;在预置的指纹索引表中,查找是否存在所述指纹值;若在预置的指纹索引表中存在所述指纹值时,判断所述数据页为冗余页,不将所述数据页写入所述外部存储器中的数据文件,将所述数据页对应的指纹值写入所述外部存储器中的备份信息文件。本发有益效果在于两方面,一方面,节省了外部存储器的存储空间;另一方面,提高了内存数据库备份当前数据的效率。

Description

一种重复数据删除方法、装置及系统
技术领域
本发明属于数据库技术领域,尤其涉及一种重复数据删除方法、装置及系统。
背景技术
内存数据库是一类将数据库中的数据完全放在内存中的新型数据库,由于所有的操作均在内存中完成,因此,相比传统基于内存的数据库,内存数据库在性能方面具有不可比拟的巨大优势,十分适合对于性能要求极高的应用场合。与此同时,内存数据库通过持续数据保护,定期自动将当前数据备份至外部存储器,以避免出现断电等故障会造成内存中的数据丢失的情况。由于内存数据库需要向外界提供极高的访问性能,因此内存数据库备份当前数据必须在极短的时间内完成。
然而,现有内存数据库通过持续数据保护,会将当前数据中的重复数据备份至外部存储器,而当前数据中的重复数据是内存数据库不需要备份的,备份重复数据既浪费了外部存储器的存储空间,又降低了内存数据库备份当前数据的效率,使得内存数据库备份当前数据无法在极短的时间内完成。若内存数据库对当前数据中重复数据进行删除,则需要通过遍历当前数据的方式,以判断某个当前数据中是否存在重复数据,但在内存数据库中,只会显示当前数据各个数据块的名称、创建日期等,内存数据库无法通过这些信息,准确判断当前数据是否存在重复数据,导致备份重复数据浪费了外部存储器的存储空间,降低内存数据库备份当前数据的效率。
发明内容
本发明实施例的目的在于提供一种重复数据删除方法,旨在解决现有的内存数据库在持续数据保护时,会将当前数据中的重复数据备份至外部存储器,导致备份重复数据浪费了外部存储器的存储空间,降低了内存数据库备份当前数据的效率,使得内存数据库备份当前数据无法在极短的时间内完成的问题。
本发明实施例是这样实现的,一种重复数据删除方法,包括:
内存数据库在缓存区中,缓存待写入外部存储器的数据页;
在将缓存中的数据页写入所述外部存储器时,调取所述数据页;
根据SHA安全散列算法,对调取到的所述数据页中的数据进行压缩映射,生成所述数据页对应的指纹值;
在预置的指纹索引表中,查找是否存在所述指纹值;
若在预置的指纹索引表中存在所述指纹值时,判断所述数据页为冗余页,不将所述数据页写入所述外部存储器中的数据文件,将所述数据页对应的指纹值写入所述外部存储器中的备份信息文件;
其中,所述数据文件中保存了所述内存数据库的数据页;
其中,所述备份信息文件中保存了本次备份所述数据页对应的指纹值;
其中,所述指纹值在所述备份信息文件中,按照所述数据页在写入外部存储器时的顺序排列;
其中,所述指纹索引表中包括已写入所述数据文件的数据页对应的指纹值,以及已写入所述数据文件的数据页对应的指纹值,在所述数据文件中的数据页偏移量。
本发明实施例的另一目的在于提供一种重复数据删除装置,包括:
缓存单元,用于在缓存区中,缓存待写入外部存储器的数据页;
调取单元,用于在将缓存中的数据页写入所述外部存储器时,调取所述数据页;
生成单元,用于根据SHA安全散列算法,对调取到的所述数据页中的数据进行压缩映射,生成所述数据页对应的指纹值;
查找单元,用于在预置的指纹索引表中,查找是否存在所述指纹值;
第一写入单元,用于若在预置的指纹索引表中存在所述指纹值时,判断所述数据页为冗余页,不将所述数据页写入所述外部存储器中的数据文件,将所述数据页对应的指纹值写入所述外部存储器中的备份信息文件;
其中,所述数据文件中保存了所述内存数据库的数据页;
其中,所述备份信息文件中保存了本次备份所述数据页对应的指纹值;
其中,所述指纹值在所述备份信息文件中,按照所述数据页在写入外部存储器时的顺序排列;
其中,所述指纹索引表中包括已写入所述数据文件的数据页对应的指纹值,以及已写入所述数据文件的数据页对应的指纹值,在所述数据文件中的数据页偏移量。
在本发明实施例中,若在预置的指纹索引表中存在指纹值,判断数据页为冗余页,不将数据页写入所述外部存储器中的数据文件,解决了内存数据库在持续数据保护时,会将当前数据中的重复数据备份至外部存储器,导致备份重复数据浪费了外部存储器的存储空间,降低了内存数据库备份当前数据的效率的问题。其有益效果在于两方面,一方面,节省了外部存储器的存储空间;另一方面,提高了内存数据库备份当前数据的效率。
附图说明
图1是本发明实施例提供的重复数据删除方法的实现流程图;
图2是本实施例提供的三个备份点的数据文件较佳的样例图;
图3是本发明实施例提供的重复数据删除在实际应用中较佳的备份流程图;
图4是本发明实施例提供的重复数据删除在实际应用中较佳的恢复流程图;
图5是本发明实施例提供的重复数据删除装置的结构框图;
图6是一种重复数据删除系统网络结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
参考图1,图1是本发明实施例提供的一种重复数据删除方法的实现流程图,详述如下:
在步骤S101中,内存数据库在缓存区中,缓存待写入外部存储器的数据页;
其中,外部存储器包括但不限于磁盘、软盘,硬盘或光盘。
其中,待写入外部存储器的数据页,也就是备份至外部存储器的当前数据的数据页。
其中所述内存数据库在缓存区中,缓存待写入外部存储器的数据页,具体为:
所述内存数据库在缓存区中,缓存待写入外部存储器的数据页,同时将外界的数据请求事件存放在一个缓存队列中,以停止处理外界的数据请求事件。
其中,内存数据库停止处理外界的数据请求事件,保证数据库中的数据是一致的,提高了备份的稳定性。
在步骤S102中,在将缓存中的数据页写入所述外部存储器时,调取所述数据页;
其中,检测将缓存中的数据页写入外部存储器的事件,当检测到将缓存中的数据页写入外部存储器的事件,根据写入顺序调取数据页。
在步骤S103中,根据SHA安全散列算法,对调取到的所述数据页中的数据进行压缩映射,生成所述数据页对应的指纹值;
其中,可以采用现有的任意一种安全散列算法对调取到的所述数据页中的数据进行压缩映射,生成数据页对应的指纹值。
例如,通过SHA-1hash函数,对调取到的所述数据页中的数据进行压缩映射,生成数据页对应的指纹值。
在步骤S104中,在预置的指纹索引表中,查找是否存在所述指纹值;
其中,所述指纹索引表中包括已写入所述数据文件的数据页对应的指纹值,以及已写入所述数据文件的数据页对应的指纹值,在所述数据文件中的数据页偏移量。
其中,在预置的指纹索引表中,查找是否存在待写入外部存储器的数据页的指纹值,以判断待写入外部存储器的数据页是否与已写入数据文件的数据页重复。
在步骤S105中,若在预置的指纹索引表中存在所述指纹值时,判断所述数据页为冗余页,不将所述数据页写入所述外部存储器中的数据文件,将所述数据页对应的指纹值写入所述外部存储器中的备份信息文件;
其中,所述数据文件中保存了所述内存数据库的数据页;
其包括多个备份点,每一次备份,生成一个备份点。
参考图2,图2是本实施例提供的三个备份点的数据文件较佳的样例图。
其中,所述备份信息文件中保存了本次备份所述数据页对应的指纹值;
其中,所述指纹值在所述备份信息文件中,按照所述数据页在写入外部存储器时的顺序排列。
其中,冗余页是指重复的数据页。
其中,若在预置的指纹索引表中存在所述指纹值时,表示待写入外部存储器的数据页对应的指纹值与已写入所述数据文件的数据页对应的指纹值重复,由于指纹值与数据页相对应,因此可判断出待写入外部存储器的数据页与已写入数据文件的数据页重复,判断待写入外部存储器的数据页为冗余页,不写入所述外部存储器中的数据文件,将所述数据页对应的指纹值写入所述外部存储器中的备份信息文件。
在本实施例中,若在预置的指纹索引表中存在指纹值,判断数据页为冗余页,不将数据页写入所述外部存储器中的数据文件,解决了内存数据库在持续数据保护时,会将当前数据中的重复数据备份至外部存储器,导致备份重复数据浪费了外部存储器的存储空间,降低了内存数据库备份当前数据的效率的问题。其有益效果在于两方面,一方面,节省了外部存储器的存储空间;另一方面,提高了内存数据库备份当前数据的效率。
实施例二
本实施例主要描述了若在预置的指纹索引表中不存在所述指纹值时的实施过程,详述如下:
在预置的指纹索引表中,查找是否存在所述指纹值之后,还包括:
若在预置的指纹索引表中不存在所述指纹值时,判断所述数据页不为冗余页,将所述数据页写入所述数据文件;
获取所述数据页在所述数据文件中的数据页偏移量;
将所述数据页对应的指纹值以及所述数据页在所述数据文件中的数据页偏移量写入指纹索引表中,并将所述数据页对应的指纹值写入内存备份信息文件。
其中,若在预置的指纹索引表中不存在所述指纹值,表示待写入外部存储器的数据页对应的指纹值与已写入所述数据文件的数据页对应的指纹值不重复,由于指纹值与数据页相对应,因此可判断出待写入外部存储器的数据页与已写入数据文件的数据页不重复。将待写入外部存储器的数据页对应的指纹值以及待写入外部存储器的数据页在所述数据文件中的数据页偏移量写入指纹索引表中,并将待写入外部存储器的数据页对应的指纹值写入内存备份信息文件。
在本实施例中,将待写入外部存储器的数据页对应的指纹值写入内存备份信息文件,便于后续通过内存备份信息文件,恢复备份前的内存数据库。
实施例三
本实施例主要描述了还原内存数据库中的数据页的实施过程,详述如下:
接收选择的备份点;
根据接收到的备份点读取所述备份信息文件,在所述备份信息文件中,逐个读取所述指纹值;
每读取一条所述指纹值,通过所述指纹值,在所述指纹索引表中,查找与所述指纹值对应的数据页偏移量;
根据所述数据页偏移量和数据页大小,在所述数据文件中读取所述数据页中的数据,并将读取到的数据加载到内存中,以还原所述内存数据库中的数据页。
在本实施例中,重复以上过程,直到完成还原,之后内存数据库中的数据恢复到了备份点的数据状态。
实施例四
本实施例主要描述了本发明在实际应用中的较佳的实施过程,详述如下:
内存数据库备份当前数据,以B+树的形式将当前数据写入外部存储器中的数据文件。内存数据库会将当前数据的数据页写入缓存中,内存数据库的缓存中保存着完整的内存数据库数据。重复数据删除在第一阶段执行,在将缓存中的数据页写入外部存储器时,首先通过SHA-1hash函数来计算数据页的指纹值,根据该指纹值通过查找指纹索引表来判断当前数据页是否为冗余数据页,指纹索引表中保存了已经写入数据文件的所有数据页对应的指纹值以及其对应的在数据文件中的数据页偏移量。
如果指纹在索引表中查找到,则说明该数据页为冗余数据页,将该数据页对应的指纹值写入备份信息文件中。
如果在指纹索引表中未查找到指纹值,则将当前数据页写入数据文件中,同时,将当前数据页对应的指纹值以及当前数据页在数据文件中的数据页偏移量写入指纹索引表中。最后,写入当前数据页对应的指纹值到备份信息文件中。
实施例五
本实施例主要描述了在实际应用中执行本发明的较佳的实施过程,详述如下:
读取系统时间和配置的执行时限,判断执行时限是否到达;
在所述执行时限到达时,执行所述内存数据库在缓存区中,缓存待写入外部存储器的数据页的步骤。
其中,内存数据库的备份指令可以是用户主动输入的更新启动命令触发,也可以是系统根据配置的执行时限,在执行时限到时自动触发。
在本实施例中,用户可以预先配置内存数据库的执行时限,例如配置为每半时、每小时、每日、每周或者每10天更新一次等,内存数据库监测执行时限,在执行时限到时,自动执行所述内存数据库在缓存区中,缓存待写入外部存储器的数据页的步骤。
实施例六
参考图3,图3是本发明实施例提供的重复数据删除在实际应用中较佳的备份流程图,详述如下:
S301,获取当前缓存中的数据页;
S302,计算SHA-1指纹值;
S303,查找指纹索引表;
S304,当前的指纹是否存在,是执行SS07,否则执行S305;
S305,将当前数据页写入数据文件中;
S306,将数据页对应指纹值写入指纹索引表中;
S307,将指纹值写入备份信息文件中。
实施例七
参考图4,图4是本发明实施例提供的重复数据删除在实际应用中较佳的恢复流程图,详述如下:
S401,读取备份信息文件;
S402,备信信息文件是否结束,是则执行S403,否则结束;
S403,获取一条指纹值;
S404,查找指纹值索引表;
S405,获取当前页偏移量;
S306,在数据文件中读取数据页;
实施例八
参照图5,图5是本发明实施例提供的一种重复数据删除装置的结构框图,该装置可以运行于具备内存的各种服务器。为了便于说明,仅示出了与本实施例相关的部分。
该重复数据删除装置,包括:
缓存单元,用于在缓存区中,缓存待写入外部存储器的数据页;
调取单元,用于在将缓存中的数据页写入所述外部存储器时,调取所述数据页;
生成单元,用于根据SHA安全散列算法,对调取到的所述数据页中的数据进行压缩映射,生成所述数据页对应的指纹值;
查找单元,用于在预置的指纹索引表中,查找是否存在所述指纹值;
第一写入单元,用于若在预置的指纹索引表中存在所述指纹值时,判断所述数据页为冗余页,不将所述数据页写入所述外部存储器中的数据文件,将所述数据页对应的指纹值写入所述外部存储器中的备份信息文件;
其中,所述数据文件中保存了所述内存数据库的数据页;
其中,所述备份信息文件中保存了本次备份所述数据页对应的指纹值;
其中,所述指纹值在所述备份信息文件中,按照所述数据页在写入外部存储器时的顺序排列;
其中,所述指纹索引表中包括已写入所述数据文件的数据页对应的指纹值,以及已写入所述数据文件的数据页对应的指纹值,在所述数据文件中的数据页偏移量。
进一步地,在该重复数据删除装置中,还包括:
第二写入单元,用于若在预置的指纹索引表中不存在所述指纹值时,判断所述数据页不为冗余页,将所述数据页写入所述数据文件;
获取单元,用于获取所述数据页在所述数据文件中的数据页偏移量;
第三写入单元,用于将所述数据页对应的指纹值以及所述数据页在所述数据文件中的数据页偏移量写入指纹索引表中,并将所述数据页对应的指纹值写入内存备份信息文件。
进一步地,在该重复数据删除装置中,还包括:
接收单元,用于接收选择的备份点;
读取备份信息文件单元,用于根据接收到的备份点读取所述备份信息文件,在所述备份信息文件中,逐个读取所述指纹值;
查找单元,用于每读取一条所述指纹值,通过所述指纹值,在所述指纹索引表中,查找与所述指纹值对应的数据页偏移量;
还原单元,用于根据所述数据页偏移量和数据页大小,在所述数据文件中读取所述数据页中的数据,并将读取到的数据加载到内存中,以还原所述内存数据库中的数据页。
进一步地,在该重复数据删除装置中,所述缓存单元,具体用于所述在缓存区中,缓存待写入外部存储器的数据页,同时将外界的数据请求事件存放在一个缓存队列中,以停止处理外界的数据请求事件。
进一步地,在该重复数据删除装置中,还包括:
判断单元,用于读取系统时间和配置的执行时限,判断执行时限是否到达;
执行单元,用于在所述执行时限到达时,执行所述内存数据库在缓存区中,缓存待写入外部存储器的数据页的步骤。
本发明实施例提供的重复数据删除装置可以应用在前述对应的方法实施例中,详情参见上述实施例的描述,在此不再赘述。
参考图6,图6是一种重复数据删除系统网络结构图,重复数据删除系统包括:重复数据删除装置和外部存储器,重复数据删除装置和外部存储器之间相连接。
重复数据删除装置内置于内部存储器中。
其中,外部存储器存放备份信息文件以及数据文件,重复数据删除装置用于在缓存区中,缓存待写入外部存储器的数据页,所述数据页包括数据页1、数据页2、数据页3、数据页4。
在将缓存中的数据页写入所述外部存储器时,调取数据页,根据SHA安全散列算法,对调取到的所述数据页中的数据进行压缩映射,生成所述数据页对应的指纹值,用于在预置的指纹索引表中,查找是否存在所述指纹值,若在预置的指纹索引表中存在所述指纹值时,判断所述数据页为冗余页,不将所述数据页写入所述外部存储器中的数据文件,将所述数据页对应的指纹值写入所述外部存储器中的备份信息文件。
其中,指纹索引表中包括已写入所述数据文件的数据页对应的指纹值,以及已写入所述数据文件的数据页对应的指纹值,在所述数据文件中的数据页偏移量。
例如,指纹索引表包括指纹1、与指纹1相对应的数据页偏移量(简称:偏移量1),指纹索引表包括指纹2、与指纹2相对应的数据页偏移量(简称:偏移量2)。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种重复数据删除方法,其特征在于,包括:
内存数据库在缓存区中,缓存待写入外部存储器的数据页;
在将缓存中的数据页写入所述外部存储器时,调取所述数据页;
根据SHA安全散列算法,对调取到的所述数据页中的数据进行压缩映射,生成所述数据页对应的指纹值;
在预置的指纹索引表中,查找是否存在所述指纹值;
若在预置的指纹索引表中存在所述指纹值时,判断所述数据页为冗余页,不将所述数据页写入所述外部存储器中的数据文件,将所述数据页对应的指纹值写入所述外部存储器中的备份信息文件;
其中,所述数据文件中保存了所述内存数据库的数据页;
其中,所述备份信息文件中保存了本次备份所述数据页对应的指纹值;
其中,所述指纹值在所述备份信息文件中,按照所述数据页在写入外部存储器时的顺序排列;
其中,所述指纹索引表中包括已写入所述数据文件的数据页对应的指纹值,以及已写入所述数据文件的数据页对应的指纹值,在所述数据文件中的数据页偏移量;
其中,在预置的指纹索引表中,查找是否存在待写入外部存储器的数据页的指纹值,以判断待写入外部存储器的数据页是否与已写入数据文件的数据页重复。
2.根据权利要求1所述的重复数据删除方法,其特征在于,在预置的指纹索引表中,查找是否存在所述指纹值之后,还包括:
若在预置的指纹索引表中不存在所述指纹值时,判断所述数据页不为冗余页,将所述数据页写入所述数据文件;
获取所述数据页在所述数据文件中的数据页偏移量;
将所述数据页对应的指纹值以及所述数据页在所述数据文件中的数据页偏移量写入指纹索引表中,并将所述数据页对应的指纹值写入内存备份信息文件。
3.根据权利要求1或2所述的重复数据删除方法,其特征在于,还包括:
接收选择的备份点;
根据接收到的备份点读取所述备份信息文件,在所述备份信息文件中,逐个读取所述指纹值;
每读取一条所述指纹值,通过所述指纹值,在所述指纹索引表中,查找与所述指纹值对应的数据页偏移量;
根据所述数据页偏移量和数据页大小,在所述数据文件中读取所述数据页中的数据,并将读取到的数据加载到内存中,以还原所述内存数据库中的数据页。
4.根据权利要求1所述的重复数据删除方法,其特征在于,所述内存数据库在缓存区中,缓存待写入外部存储器的数据页,具体为:
所述内存数据库在缓存区中,缓存待写入外部存储器的数据页,同时将外界的数据请求事件存放在一个缓存队列中,以停止处理外界的数据请求事件。
5.根据权利要求1所述的重复数据删除方法,其特征在于,还包括:
读取系统时间和配置的执行时限,判断执行时限是否到达;
在所述执行时限到达时,执行所述内存数据库在缓存区中,缓存待写入外部存储器的数据页的步骤。
6.一种重复数据删除装置,其特征在于,包括:
缓存单元,用于在缓存区中,缓存待写入外部存储器的数据页;
调取单元,用于在将缓存中的数据页写入所述外部存储器时,调取所述数据页;
生成单元,用于根据SHA安全散列算法,对调取到的所述数据页中的数据进行压缩映射,生成所述数据页对应的指纹值;
查找单元,用于在预置的指纹索引表中,查找是否存在所述指纹值;
第一写入单元,用于若在预置的指纹索引表中存在所述指纹值时,判断所述数据页为冗余页,不将所述数据页写入所述外部存储器中的数据文件,将所述数据页对应的指纹值写入所述外部存储器中的备份信息文件;
其中,所述数据文件中保存了所述内存数据库的数据页;
其中,所述备份信息文件中保存了本次备份所述数据页对应的指纹值;
其中,所述指纹值在所述备份信息文件中,按照所述数据页在写入外部存储器时的顺序排列;
其中,所述指纹索引表中包括已写入所述数据文件的数据页对应的指纹值,以及已写入所述数据文件的数据页对应的指纹值,在所述数据文件中的数据页偏移量;
其中,在预置的指纹索引表中,查找是否存在待写入外部存储器的数据页的指纹值,以判断待写入外部存储器的数据页是否与已写入数据文件的数据页重复。
7.根据权利要求6所述的重复数据删除装置,其特征在于,还包括:
第二写入单元,用于若在预置的指纹索引表中不存在所述指纹值时,判断所述数据页不为冗余页,将所述数据页写入所述数据文件;
获取单元,用于获取所述数据页在所述数据文件中的数据页偏移量;
第三写入单元,用于将所述数据页对应的指纹值以及所述数据页在所述数据文件中的数据页偏移量写入指纹索引表中,并将所述数据页对应的指纹值写入内存备份信息文件。
8.根据权利要求6或7所述的重复数据删除装置,其特征在于,还包括:
接收单元,用于接收选择的备份点;
读取备份信息文件单元,用于根据接收到的备份点读取所述备份信息文件,在所述备份信息文件中,逐个读取所述指纹值;
查找单元,用于每读取一条所述指纹值,通过所述指纹值,在所述指纹索引表中,查找与所述指纹值对应的数据页偏移量;
还原单元,用于根据所述数据页偏移量和数据页大小,在所述数据文件中读取所述数据页中的数据,并将读取到的数据加载到内存中,以还原所述内存数据库中的数据页。
9.根据权利要求8所述的重复数据删除装置,其特征在于,所述缓存单元,具体用于所述在缓存区中,缓存待写入外部存储器的数据页,同时将外界的数据请求事件存放在一个缓存队列中,以停止处理外界的数据请求事件。
10.一种重复数据删除系统,其特征在于,包括权利要求6至9任意一项权利要求所述的重复数据删除装置以及外部存储器,所述重复数据删除装置与所述外部存储器相连接。
CN201410295300.7A 2014-06-26 2014-06-26 一种重复数据删除方法、装置及系统 Active CN104077380B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410295300.7A CN104077380B (zh) 2014-06-26 2014-06-26 一种重复数据删除方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410295300.7A CN104077380B (zh) 2014-06-26 2014-06-26 一种重复数据删除方法、装置及系统

Publications (2)

Publication Number Publication Date
CN104077380A CN104077380A (zh) 2014-10-01
CN104077380B true CN104077380B (zh) 2017-07-18

Family

ID=51598634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410295300.7A Active CN104077380B (zh) 2014-06-26 2014-06-26 一种重复数据删除方法、装置及系统

Country Status (1)

Country Link
CN (1) CN104077380B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630834B (zh) * 2014-11-07 2021-07-20 中兴通讯股份有限公司 一种实现重复数据删除的方法及装置
CN104573089A (zh) * 2015-01-29 2015-04-29 西安交通大学 一种NewSQL数据库中的增量式快照方法
CN106796588B (zh) * 2015-06-03 2019-11-22 华为技术有限公司 索引表的更新方法和设备
CN105786651B (zh) * 2016-02-29 2018-12-04 北京航空航天大学 一种面向备份任务的重复数据删除方法
CN107179878B (zh) * 2016-03-11 2021-03-19 伊姆西Ip控股有限责任公司 基于应用优化的数据存储的方法和装置
CN106569745B (zh) * 2016-10-25 2019-07-19 暨南大学 一种内存过载下面向重复数据删除的内存优化系统
CN111090397B (zh) * 2019-12-12 2021-10-22 苏州浪潮智能科技有限公司 一种数据重删方法、系统、设备及计算机可读存储介质
CN111338581B (zh) * 2020-03-27 2020-11-17 上海天天基金销售有限公司 基于云计算的数据存储方法、装置、云服务器及系统
CN113568897A (zh) * 2021-07-05 2021-10-29 西安震有信通科技有限公司 适应多种格式外部文件去重处理方法、装置、终端及介质
CN113495903B (zh) * 2021-09-08 2021-12-17 西安热工研究院有限公司 电力时序数据库缓存方法、系统、设备及可读存储介质
CN116069678A (zh) * 2021-10-29 2023-05-05 华为技术有限公司 一种数据处理方法及相关装置
CN114885068A (zh) * 2022-04-27 2022-08-09 河北时代电子有限公司 一种控制性详细规划审查管理系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663115A (zh) * 2012-04-16 2012-09-12 中国人民大学 基于页面染色技术的内存数据库访问优化方法
CN103559101A (zh) * 2013-10-15 2014-02-05 华为技术有限公司 一种操作系统数据的备份和还原的方法、存储设备及终端
CN103870514A (zh) * 2012-12-18 2014-06-18 华为技术有限公司 重复数据删除方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455908A (zh) * 2012-05-30 2013-12-18 Sap股份公司 云环境中的头脑风暴

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663115A (zh) * 2012-04-16 2012-09-12 中国人民大学 基于页面染色技术的内存数据库访问优化方法
CN103870514A (zh) * 2012-12-18 2014-06-18 华为技术有限公司 重复数据删除方法和装置
CN103559101A (zh) * 2013-10-15 2014-02-05 华为技术有限公司 一种操作系统数据的备份和还原的方法、存储设备及终端

Also Published As

Publication number Publication date
CN104077380A (zh) 2014-10-01

Similar Documents

Publication Publication Date Title
CN104077380B (zh) 一种重复数据删除方法、装置及系统
US20200150890A1 (en) Data Deduplication Method and Apparatus
US7681001B2 (en) Storage system
AU2013403132B2 (en) Data storage method, data storage apparatus, and storage device
US8782005B2 (en) Pruning previously-allocated free blocks from a synthetic backup
CN102306115B (zh) 异步远程复制方法、系统及设备
US9547706B2 (en) Using colocation hints to facilitate accessing a distributed data storage system
CN104615504B (zh) 一种实现数据保护的方法及装置
CN111400083B (zh) 数据存储方法及系统、存储介质
CN104932841A (zh) 一种云存储系统中节约型重复数据删除方法
US9405643B2 (en) Multi-level lookup architecture to facilitate failure recovery
WO2019001521A1 (zh) 数据存储方法、存储设备、客户端及系统
CN102024034B (zh) 一种面向高清媒体的嵌入式文件系统的碎片处理方法
US10628298B1 (en) Resumable garbage collection
CN109144416B (zh) 查询数据的方法和装置
CN108228678B (zh) 一种多副本数据恢复方法及装置
JP2017079053A (ja) ストレージジャーナリングを改善する方法およびシステム
US8572338B1 (en) Systems and methods for creating space-saving snapshots
CN104965835B (zh) 一种分布式文件系统的文件读写方法及装置
CN110134551B (zh) 一种持续数据保护方法及装置
CN104486387A (zh) 一种数据同步处理方法及系统
US10852997B1 (en) Relocation target selection
KR101252375B1 (ko) 저장 장치의 중복 제거 성능 향상을 위한 맵핑 관리 시스템 및 방법
CN114077517A (zh) 数据处理的方法、设备及系统
US8281096B1 (en) Systems and methods for creating snapshots

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant