CN105912622A - 一种针对无损压缩文件的数据去重方法 - Google Patents
一种针对无损压缩文件的数据去重方法 Download PDFInfo
- Publication number
- CN105912622A CN105912622A CN201610213219.9A CN201610213219A CN105912622A CN 105912622 A CN105912622 A CN 105912622A CN 201610213219 A CN201610213219 A CN 201610213219A CN 105912622 A CN105912622 A CN 105912622A
- Authority
- CN
- China
- Prior art keywords
- file
- compressed
- signature
- data
- file signature
- 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
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/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种针对无损压缩文件的数据去重方法。该方法利用压缩文件本身存在的数据完整性校验码,如循环冗余校验码(CRC校验码),作为文件签名(File Signature)来识别重复的压缩文件。在冲突率的要求限制下,也可以提取其他文件属性,如文件长度,将文件长度和校验码一起作为文件签名来识别重复文件。若压缩文件本身不存在校验码,则通过计算提取校验码或者使用哈希算法计算出哈希值作为文件签名进行重复文件的识别。该方法还可以与已有的重复数据删除技术结合起来,填补无法对压缩文件进行数据去重的技术空白。
Description
技术领域
本发明属于计算机信息存储技术领域,具体涉及一种针对无损压缩文件的数据去重方法。
背景技术
在信息存储技术领域,数据压缩是用于缩减数据量的常用手段。数据压缩包含无损压缩和有损压缩。无损压缩主要通过在一定的范围内统计原始数据的冗余信息,利用冗余统计信息对原始数据进行重新编码,去除冗余数据,以此达到减少数据量的目的。不同的无损压缩算法有着不同的编码方法。无损压缩广泛应用于文本数据、程序和特殊应用场合的图像数据等需要精确存储数据的压缩。有损压缩方法则利用了人类视觉、听觉对图像、声音中的某些频率成分不敏感的特性,允许压缩的过程中损失一定的信息。有损压缩广泛应用于语音、图像和视频数据的压缩。
随着数据量的***性增长,除了数据压缩之外,重复数据删除技术在最近十年内跃然成为另一种缩减数据量的有力工具。重复数据删除技术是指对数据流进行分块,通过发现并去除冗余数据块来达到缩减数据量的目的。一般来说,数据块的平均大小在4K至32K,甚至更大。重复数据删除技术是一种新兴的无损压缩方法,主要应用在大规模存储***,弥补了传统的无损数据压缩方法无法在数据块级别去除冗余数据的缺陷。
在现有的存储***中,重复数据删除已被视为一个常规性的功能部件出现存储***中。但是,对于压缩文件(即采用传统的压缩方法压缩过的文件),重复数据删除并不能发现其潜在的冗余数据。这主要是因为相同或相似的文件,通过采用不同的压缩算法进行压缩之后,会得到与原始文件完全不同的数据流,导致重复数据删除技术无法识别其潜在的冗余数据。而在存储***中,为了缩减数据量,很多文件都采用压缩文件的形式进行传输和存储,无法识别压缩文件潜在的冗余数据是重复数据删除技术的一大缺陷。本发明提出一种针对无损压缩文件的数据去重方法,该方法能有效地识别和去除压缩文件中的冗余数据,填补了无法对压缩文件进行数据去重的技术空白。
发明内容
本发明提出一种针对无损压缩文件的数据去重方法。该方法利用压缩文件本身存在的数据完整性校验码,如循环冗余校验码(CRC校验码),作为文件签名(File Signature)来识别重复的压缩文件,若两个文件的校验码相同,则认为这两个压缩文件相同,以此去除重复文件。在冲突率的要求限制下,也可以提取其他文件属性,如文件长度,将文件长度和校验码一起作为文件签名来识别重复文件。若压缩文件本身不存在校验码,则通过计算提取校验码或者使用哈希算法计算出哈希值作为文件签名进行重复文件的识别。同时,该方法还可以与已有的重复数据删除技术结合起来,加强重复数据删除技术的去重效果,填补了无法对压缩文件进行数据去重的技术空白。
本发明提出一种针对无损压缩文件的数据去重方法。具体步骤为:
(1)提取压缩包里每个压缩文件的文件签名(File Signature),具体步骤为:
(1.1)提取每个压缩文件现有的数据完整性校验码,如循环冗余校验码(CRC校验码),作为文件签名。在冲突率的要求限制下,也可以提取其他文件属性,如文件长度,将文件长度和校验码一起作为文件签名。
(1.2)若压缩文件本身不存在校验码,则计算压缩文件(压缩之前的原始文件)的校验码作为文件签名。
(1.3)除了使用校验码之外,也可以采用哈希算法,如MD5,SHA-1等,计算压缩文件(压缩之前的原始文件)的哈希值作为文件签名。
(2)若存在两个文件的文件签名相同,则标记为重复文件,否则标记为非重复文件。具体步骤为:
(2.1)在文件签名库(File Signature store)里查找是否具有(1)得出的文件签名。
(2.2)若在文件签名库里找到(1)得到的文件签名,则标识(1)中 的对应的文件为重复文件,不需要存储或传输该文件内容。
(2.3)若在文件签名库里没有找到(1)得到的文件签名,则标识(1)中的对应的文件为非重复文件,并将(1)得到的文件签名存储至文件签名库。
(2.4)若和已有的重复数据删除方法相结合,则(2.1)、(2.2)和(2.3)可以使用已有的重复数据删除方法的文件签名库。
(3)去除(2)中识别出的重复文件,构建新的压缩包以及压缩包谱。其中新压缩包是指在(1)所指的压缩包中去除(2.2)识别出的重复文件之后重新构建的新压缩包。压缩包谱则描述(1)所指的压缩包由哪些文件组成,方便以后恢复(1)所指的压缩包。
(4)若和***已有的重复数据删除方法相结合,则转入已有的重复数据删除步骤,否则,去重过程结束。
附图说明
图1为本发明的模块结构示意图;
图2为本发明的流程示意图;
具体实施方式
本发明涉及的主体有客户端和存储服务器。具体实施方式包括两种:1)独立处理模式:客户端向存储服务器传送压缩文件,存储服务器对压缩文件进行处理。2)协作模式:客户端和存储服务器互相协作对压缩文件进行处理。
图1为本发明的模块结构示意图。主要包含五部分:文件签名提取模块101,重复文件识别模块102,文件签名库管理模块103,压缩包和压缩包谱构建模块104,重复数据删除模块105。文件签名提取模块101用于提取压缩包里每个压缩文件的文件签名;重复文件识别模块102通过咨询文件签名库,查找出重复的文件;文件签名库管理模块103用于管理存储文件签名的文件签名库;压缩包和压缩包谱构建模块用于构建新的不包含重复文件的压缩包以及对应的压缩 包谱。重复数据删除模块105是指***已有的用于删除重复数据的重复数据删除模块。在独立处理模式的实施方式中,上述所有的模块均存在存储服务器上;而在协作处理模式中,文件签名提取模块101与压缩包和压缩包谱构建模块104在客户端上,重复文件识别模块102与文件签名库管理模块103在存储服务器上,重复数据删除模块则根据***已有的方式既可以存在客户端上,也可以存在存储服务器上。
图2为本发明的流程示意图,其中使用循坏冗余校验码(CRC校验码)作为压缩文件的数据完整性校验码。具体为:
(1)读取压缩包文件;
(2)查看压缩包里的一个压缩文件,文件签名提取模块101提取该压缩文件的文件签名,具体步骤为:
(2.1)查看该压缩文件是否存在CRC校验码,若存在CRC校验码,则采用该CRC校验码作为文件签名;若不存在该校验码,则重新计算该压缩文件(压缩之前的原始文件)的CRC校验码作为文件签名。另外,在冲突率的要求限制下,也可以提取其他文件属性,如文件长度,将文件长度和CRC校验码一起作为文件签名;(2.2)若与已有的重复数据删除方法相结合,也可以采用哈希算法计算文件哈希值作为该压缩文件的文件签名;
(3)重复文件识别模块102在文件签名库中查找步骤(2)得到的文件签名,若找到相同的文件签名,则标记步骤(2)查看的压缩文件为重复文件;否则,标记步骤(2)查看的压缩文件为非重复文件;
(4)文件签名库管理模块103将步骤(3)标记的非重复文件的文件签名写入文件签名库中;
(5)查看该压缩包是否还有未识别的压缩文件,若有,则转步骤(2),否则进入下一步骤;
(6)压缩包和压缩包谱构建模块104重新构建压缩包和对应的压缩包谱,去除步骤(3)标记的重复文件;
(7)若***已有重复数据删除方法,已有的重复数据删除模块105将处理(6)得到的新压缩包和压缩包谱;否则,针对压缩文件的去重过程结束。
Claims (1)
1.本发明提出一种针对无损压缩文件的数据去重方法。具体步骤为:
(1)提取压缩包里每个压缩文件的文件签名(File Signature),具体步骤为:
(1.1)提取每个压缩文件现有的数据完整性校验码,如循环冗余校验码(CRC校验码),作为文件签名。在冲突率的要求限制下,也可以提取其他文件属性,如文件长度,将文件长度和校验码一起作为文件签名。
(1.2)若压缩文件本身不存在校验码,则计算压缩文件(压缩之前的原始文件)的校验码作为文件签名。
(1.3)除了使用校验码之外,也可以采用哈希算法,如MD5,SHA-1等,计算压缩文件(压缩之前的原始文件)的哈希值作为文件签名。
(2)若存在两个文件的文件签名相同,则标记为重复文件,否则标记为非重复文件。具体步骤为:
(2.1)在文件签名库(File Signature store)里查找是否具有(1)得出的文件签名。
(2.2)若在文件签名库里找到(1)得到的文件签名,则标识(1)中的对应的文件为重复文件,不需要存储或传输该文件内容。
(2.3)若在文件签名库里没有找到(1)得到的文件签名,则标识(1)中的对应的文件为非重复文件,并将(1)得到的文件签名存储至文件签名库。
(2.4)若和已有的重复数据删除方法相结合,则(2.1)、(2.2)和(2.3)可以使用已有的重复数据删除方法的文件签名库。
(3)去除(2)中识别出的重复文件,构建新的压缩包以及压缩包谱。其中新压缩包是指在(1)所指的压缩包中去除(2.2)识别出的重复文件之后重新构建的新压缩包。压缩包谱则描述(1)所指的压缩包由哪些文件组成,方便以后恢复(1)所指的压缩包。
(4)若和***已有的重复数据删除方法相结合,则转入已有的重复数据删除步骤,否则,去重过程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610213219.9A CN105912622A (zh) | 2016-04-05 | 2016-04-05 | 一种针对无损压缩文件的数据去重方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610213219.9A CN105912622A (zh) | 2016-04-05 | 2016-04-05 | 一种针对无损压缩文件的数据去重方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105912622A true CN105912622A (zh) | 2016-08-31 |
Family
ID=56745477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610213219.9A Pending CN105912622A (zh) | 2016-04-05 | 2016-04-05 | 一种针对无损压缩文件的数据去重方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105912622A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528703A (zh) * | 2016-10-26 | 2017-03-22 | 杭州宏杉科技股份有限公司 | 一种重复删除的模式切换方法及装置 |
CN106874399A (zh) * | 2017-01-16 | 2017-06-20 | 厦门天锐科技股份有限公司 | 一种联网备份***及备份方法 |
CN107085613A (zh) * | 2017-05-17 | 2017-08-22 | 广州四三九九信息科技有限公司 | 入库文件的过滤方法和装置 |
CN107402725A (zh) * | 2017-03-20 | 2017-11-28 | 威盛电子股份有限公司 | 非易失性存储装置及其数据去重复方法 |
CN108563649A (zh) * | 2017-12-12 | 2018-09-21 | 南京富士通南大软件技术有限公司 | 基于GlusterFS分布式文件***的离线去重方法 |
CN109144768A (zh) * | 2017-06-16 | 2019-01-04 | 西部数据技术公司 | 在纠删码编码期间的cpu错误修复 |
CN112230032A (zh) * | 2020-08-03 | 2021-01-15 | 青岛鼎信通讯股份有限公司 | 一种电能表数据压缩及解压方法 |
CN114077569A (zh) * | 2020-08-18 | 2022-02-22 | 富泰华工业(深圳)有限公司 | 压缩数据的方法及设备、解压缩数据的方法及设备 |
CN115993939A (zh) * | 2023-03-22 | 2023-04-21 | 陕西中安数联信息技术有限公司 | 存储***重复数据删除方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908077A (zh) * | 2010-08-27 | 2010-12-08 | 华中科技大学 | 一种适用于云备份的重复数据删除方法 |
CN102207939A (zh) * | 2010-03-31 | 2011-10-05 | 联想(北京)有限公司 | 一种多硬件***数据处理设备及删除重复数据的方法 |
CN102323958A (zh) * | 2011-10-27 | 2012-01-18 | 上海文广互动电视有限公司 | 重复数据删除方法 |
CN103020317A (zh) * | 2013-01-10 | 2013-04-03 | 曙光信息产业(北京)有限公司 | 基于重复数据删除的数据压缩方法和装置 |
CN103177111A (zh) * | 2013-03-29 | 2013-06-26 | 西安理工大学 | 重复数据删除***及其删除方法 |
CN103873438A (zh) * | 2012-12-12 | 2014-06-18 | 鸿富锦精密工业(深圳)有限公司 | 压缩包上传去重***及方法 |
-
2016
- 2016-04-05 CN CN201610213219.9A patent/CN105912622A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207939A (zh) * | 2010-03-31 | 2011-10-05 | 联想(北京)有限公司 | 一种多硬件***数据处理设备及删除重复数据的方法 |
CN101908077A (zh) * | 2010-08-27 | 2010-12-08 | 华中科技大学 | 一种适用于云备份的重复数据删除方法 |
CN102323958A (zh) * | 2011-10-27 | 2012-01-18 | 上海文广互动电视有限公司 | 重复数据删除方法 |
CN103873438A (zh) * | 2012-12-12 | 2014-06-18 | 鸿富锦精密工业(深圳)有限公司 | 压缩包上传去重***及方法 |
CN103020317A (zh) * | 2013-01-10 | 2013-04-03 | 曙光信息产业(北京)有限公司 | 基于重复数据删除的数据压缩方法和装置 |
CN103177111A (zh) * | 2013-03-29 | 2013-06-26 | 西安理工大学 | 重复数据删除***及其删除方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528703A (zh) * | 2016-10-26 | 2017-03-22 | 杭州宏杉科技股份有限公司 | 一种重复删除的模式切换方法及装置 |
CN106874399A (zh) * | 2017-01-16 | 2017-06-20 | 厦门天锐科技股份有限公司 | 一种联网备份***及备份方法 |
CN106874399B (zh) * | 2017-01-16 | 2020-06-12 | 厦门天锐科技股份有限公司 | 一种联网备份***及备份方法 |
CN107402725A (zh) * | 2017-03-20 | 2017-11-28 | 威盛电子股份有限公司 | 非易失性存储装置及其数据去重复方法 |
CN107402725B (zh) * | 2017-03-20 | 2020-08-25 | 威盛电子股份有限公司 | 非易失性存储装置及其数据去重复方法 |
CN107085613A (zh) * | 2017-05-17 | 2017-08-22 | 广州四三九九信息科技有限公司 | 入库文件的过滤方法和装置 |
CN107085613B (zh) * | 2017-05-17 | 2020-07-28 | 广州四三九九信息科技有限公司 | 入库文件的过滤方法和装置 |
CN109144768A (zh) * | 2017-06-16 | 2019-01-04 | 西部数据技术公司 | 在纠删码编码期间的cpu错误修复 |
CN109144768B (zh) * | 2017-06-16 | 2021-12-17 | 西部数据技术公司 | 用于数据编码的***及其计算机实现方法 |
CN108563649A (zh) * | 2017-12-12 | 2018-09-21 | 南京富士通南大软件技术有限公司 | 基于GlusterFS分布式文件***的离线去重方法 |
CN108563649B (zh) * | 2017-12-12 | 2021-12-07 | 南京富士通南大软件技术有限公司 | 基于GlusterFS分布式文件***的离线去重方法 |
CN112230032A (zh) * | 2020-08-03 | 2021-01-15 | 青岛鼎信通讯股份有限公司 | 一种电能表数据压缩及解压方法 |
CN114077569A (zh) * | 2020-08-18 | 2022-02-22 | 富泰华工业(深圳)有限公司 | 压缩数据的方法及设备、解压缩数据的方法及设备 |
CN114077569B (zh) * | 2020-08-18 | 2023-07-18 | 富泰华工业(深圳)有限公司 | 压缩数据的方法及设备、解压缩数据的方法及设备 |
CN115993939A (zh) * | 2023-03-22 | 2023-04-21 | 陕西中安数联信息技术有限公司 | 存储***重复数据删除方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105912622A (zh) | 一种针对无损压缩文件的数据去重方法 | |
CN102246137B (zh) | 身份副本删除之后的delta压缩 | |
CN106815326B (zh) | 一种检测无主键数据表一致性的***及方法 | |
US8972358B2 (en) | File storage apparatus, file storage method, and program | |
CN103959256A (zh) | 基于指纹的数据重复删除 | |
CN103177111A (zh) | 重复数据删除***及其删除方法 | |
CN108108394B (zh) | Apfs文件***的压缩文件恢复方法及存储介质 | |
WO2010148201A3 (en) | Data compression for reducing storage requirements in a database system | |
CN101807208A (zh) | 视频指纹快速检索方法 | |
CN107229420A (zh) | 数据存储方法、读取方法、删除方法和数据操作*** | |
US20180067978A1 (en) | Log management method, log management device, and recording medium | |
CN110019640B (zh) | 涉密文件检查方法及装置 | |
CN105095330A (zh) | 一种基于压缩包内容的文件格式识别方法及*** | |
WO2015067145A1 (zh) | 应用识别方法与装置 | |
CN104021217A (zh) | 一种提取手机碎片文件和被删除文件的***和方法 | |
CN105447168A (zh) | Mp4格式的碎片文件恢复与重组的方法 | |
CN105279171B (zh) | 在压缩的可变长度字符串上进行谓词评估的方法和设备 | |
CN105515586B (zh) | 一种快速差量压缩方法 | |
US20140222772A1 (en) | Storage system and methods for time continuum data retrieval | |
Ravi et al. | A method for carving fragmented document and image files | |
CN109947776B (zh) | 一种数据压缩、解压方法及装置 | |
CN104281412A (zh) | 一种在数据存储前去除重复数据的方法 | |
CN110019056B (zh) | 用于云层的容器元数据分离 | |
CN105677746A (zh) | 一种基于数据库事务操作的重复文档归并***及方法 | |
US11652495B2 (en) | Pattern-based string compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160831 |
|
RJ01 | Rejection of invention patent application after publication |