CN103152430B - 一种缩减数据占用空间的云存储方法 - Google Patents
一种缩减数据占用空间的云存储方法 Download PDFInfo
- Publication number
- CN103152430B CN103152430B CN201310092773.2A CN201310092773A CN103152430B CN 103152430 B CN103152430 B CN 103152430B CN 201310092773 A CN201310092773 A CN 201310092773A CN 103152430 B CN103152430 B CN 103152430B
- Authority
- CN
- China
- Prior art keywords
- data
- code
- symbol table
- word string
- character
- 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
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种缩减数据占用空间的云存储方法,包括如下步骤:从终端上传数据到云存储服务器;用固定尺寸划分算法的块检测技术将重复的数据删除;数据存入数据块后,再用LZW数据压缩技术降低基本数据块体积,实现数据压缩。本发明通过将数据压缩技术与重复数据删除技术相结合,先删除重复数据再数据压缩的方法,实现更高的数据缩减比例,获得更高的数据压缩率和性能。
Description
技术领域
本发明涉及云存储技术领域,特别是涉及一种缩减数据占用空间的云存储方法。
背景技术
面对数据的急剧膨胀,企业需要不断购置大量的存储设备来应对不断增长的存储需求。然而,单纯地提高存储容量不能从根本解决问题。因此提出了高效存储理念,它旨在缓解存储系统的空间增长问题,缩减数据占用空间,简化存储管理,最大程度地利用已有资源,降低成本。
目前业界公认的五项高效存储技术分别是数据压缩、重复数据删除、自动精简配置、自动分层存储和存储虚拟化。目前,数据压缩和重复数据删除是实现数据缩减的两种关键技术。数据压缩技术通过对数据重新编码来降低冗余度,而重复删除技术侧重于删除重复的数据块。数据压缩与重复数据删除两种技术具有不同层面的针对性,将两种技术结合起来,可以实现更高的数据缩减比例。
发明内容
发明目的:本发明提供了一种缩减数据占用空间的云存储方法,通过将数据压缩技术与重复数据删除技术相结合,先删除重复数据再数据压缩的方法,实现更高的数据缩减比例,获得更高的数据压缩率和性能。
技术方案:一种缩减数据占用空间的云存储方法,包括如下步骤:
从终端上传数据到云存储服务器;
用固定尺寸划分算法的块检测技术将重复的数据删除;基于固定尺寸划分算法的块检测技术是将数据划分为很多数据块,然后计算检测重复数据块,将相同的数据块只保留唯一副本,其他重复副本用指向唯一副本的指针替换,计算检测重复数据块的核心是数据指纹算法。
数据存入数据块后,再用LZW数据压缩技术降低基本数据块体积,实现数据压缩。
本发明采用上述技术方案,具有以下有益效果:本发明提供了一种缩减数据占用空间的云存储方法,通过将数据压缩技术与重复数据删除技术相结合,先删除重复数据再数据压缩的方法,实现更高的数据缩减比例,获得更高的数据压缩率和性能。
附图说明
图1为本发明实施例的方法流程图;
图2为本发明实施例的删除重复数据流程图;
图3为本发明实施例的LZW算法压缩数据流程图;
图4为本发明实施例的LZW算法解压数据流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种缩减数据占用空间的云存储方法,包括:终端上传数据到云存储服务器;采用基于FSP算法的块检测技术将重复的数据删除;数据存入数据块后,再采用数据压缩技术降低基本数据块体积。
基于固定尺寸划分算法(FSP)的相同数据块检测技术是使用固定大小的分块策略在存储系统中识别相同数据的方法。基于FSP算法的块检测技术是一种“智能压缩”方法,是将数据划分为很多数据块,然后计算检测重复数据块,将相同的数据块只保留唯一的一个副本,其他重复副本用指向唯一副本的指针替换,计算检测重复数据块的核心是数据指纹算法,本发明采用MD5算法实现数据指纹计算。
LZW数据压缩技术可压缩和解压缩任何类型的数据,它处理可预测性较小的数据且通常得到的文件格式最小。在它对数据的编码过程中建立一个符号表,如果读到已经编码的数据块,则可用编码符号来代表,把原始数据转化成一系列符号标志或代码,这样做数据量会大为减少。LZW是完全可逆的,所有信息都保留了,其符号表在压缩和解压缩过程中完全自生成。实现采用9~12位的可变长编码,允许压缩算法表示0-4096的数字,所以符号表中最多可有4096项。这个串表对不同数据是不一样的,但不需要保留给解压缩程序,解压缩过程中能自动建立和压缩过程中相同的符号表。
MD5算法为计算机广泛使用的一种哈希算法。该算法是将任意长度的输入信息经过复杂的线性变换,生成一个唯一的长为128位(bits)的散列值,即数字指纹。由于任意两段明文加密以后得到相同的密文,如果加密特定的数据,得到的密文一定是相同的,因此可以采用MD5算法计算指纹,判别数据是否重复。
所述重复数据删除过程如下:
1)将数据流分成固定的数据块;
2)将每个数据块生成一个独特的指纹;
3)如果新数据块的指纹与设备散列索引中的某个散列匹配,仅存入指针,并指向存储相同数据块的原始位置。否则,如果数据块是唯一的,就将数据块的指纹存入索引中。
所述LZW数据压缩过程如下:
1)初始化符号表;
2)读取第一个字符K,前缀字串P=K;
3)对字符流中每个字符重复做4~9步;
4)读入下一个字符K;
5)假如K是“结束”符,输出K的代码,然后算法结束;
6)假如P+K在符号表中,则P=P+K,转步4;
7)写符号表中对应P的代码到代码流;
8)将P+K加入符号表,符号表增加一项;
9)P=K,转步5。
相对于压缩过程,LZW算法的解压过程关键在于其初始化与压缩程序一致,解压过程关键在于其初始化的符号表几乎与压缩过程同步。
LZW数据解压过程如下:
1)初始化符号表;
2)输入第一个代码并赋值给备用字符串O;
3)输出字符串O;
4)对代码流中每个代码重复做5~9步;
5)读取一个代码Code;
6)假如Code是“结束”码,则算法结束;
7)假如Code在符号表中,则输出符号表中对应Code项的字串N,将符号表中对应上次读取的代码OldCode项的字串O和符号表中对应Code项的字串N首字符连结成的字串加入符号表,转步9;
8)输出符号表中对应上次读取的代码OldCode项的字串O和该字串首字符连结成的字串,将此结果字串加入符号表中;
9)O=N,转步5。
Claims (1)
1.一种缩减数据占用空间的云存储方法,其特征在于:包括如下步骤:
(1)从终端上传数据到云存储服务器;
(2)用固定尺寸划分算法的块检测技术将重复的数据删除,具体过程为:
将数据划分为很多数据块,然后计算检测重复数据块,将相同的数据块只保留唯一副本,其他重复副本用指向唯一副本的指针替换,计算检测重复数据块的核心是数据指纹算法;
(3)数据存入数据块后,再用LZW数据压缩技术降低基本数据块体积,实现数据压缩;
其中,所述数据指纹算法是指采用MD5算法;
所述采用LZW数据压缩技术进行压缩的过程是:
1)初始化符号表;
2)读取第一个字符K,前缀字串P=K;
3)对字符流中每个字符重复做4~9步;
4)读入下一个字符K;
5)假如K是“结束”符,输出K的代码,然后算法结束;
6)假如P+K在符号表中,则P=P+K,转步4;
7)写符号表中对应P的代码到代码流;
8)将P+K加入符号表,符号表增加一项;
9)P=K,转步5;
所述LZW数据解压过程如下:
1)初始化符号表;
2)输入第一个代码并赋值给备用字符串O;
3)输出字符串O;
4)对代码流中每个代码重复做5~9步;
5)读取一个代码Code;
6)假如Code是“结束”码,则算法结束;
7)假如Code在符号表中,则输出符号表中对应Code项的字串N,将符号表中对应上次读取的代码OldCode项的字串O和符号表中对应Code项的字串N首字符连结成的字串加入符号表,转步9;
8)输出符号表中对应上次读取的代码OldCode项的字串O和该字串首字符连结成的字串,将此结果字串加入符号表中;
9)O=N,转步5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310092773.2A CN103152430B (zh) | 2013-03-21 | 2013-03-21 | 一种缩减数据占用空间的云存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310092773.2A CN103152430B (zh) | 2013-03-21 | 2013-03-21 | 一种缩减数据占用空间的云存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103152430A CN103152430A (zh) | 2013-06-12 |
CN103152430B true CN103152430B (zh) | 2016-06-08 |
Family
ID=48550289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310092773.2A Active CN103152430B (zh) | 2013-03-21 | 2013-03-21 | 一种缩减数据占用空间的云存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103152430B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016004629A1 (zh) * | 2014-07-11 | 2016-01-14 | 华为技术有限公司 | 一种计算数据的预期压缩率的方法及装置 |
CN104778095B (zh) * | 2015-01-20 | 2017-11-17 | 成都携恩科技有限公司 | 一种云平台数据管理方法 |
CN105389387B (zh) * | 2015-12-11 | 2018-12-14 | 上海爱数信息技术股份有限公司 | 一种基于压缩的重复数据删除性能及重删率提升的方法和系统 |
CN105631000B (zh) * | 2015-12-25 | 2019-03-29 | 江苏东大金智信息系统有限公司 | 基于移动终端位置特征信息的终端缓存的数据压缩方法 |
CN107577549A (zh) * | 2017-08-24 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种存储重删功能的测试方法 |
CN107612554B (zh) * | 2017-09-21 | 2020-08-11 | 国家电网公司 | 数据压缩处理方法 |
CN112560244B (zh) * | 2020-12-08 | 2021-12-10 | 河海大学 | 一种基于Docker的虚拟仿真实验系统及方法 |
CN113051238A (zh) * | 2021-03-31 | 2021-06-29 | 联想(北京)有限公司 | 处理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706825A (zh) * | 2009-12-10 | 2010-05-12 | 华中科技大学 | 一种基于文件内容类型的重复数据删除方法 |
CN102156727A (zh) * | 2011-04-01 | 2011-08-17 | 华中科技大学 | 一种采用双指纹哈希校验的重复数据删除方法 |
CN102684827A (zh) * | 2012-03-02 | 2012-09-19 | 华为技术有限公司 | 数据处理方法及数据处理设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8412682B2 (en) * | 2006-06-29 | 2013-04-02 | Netapp, Inc. | System and method for retrieving and using block fingerprints for data deduplication |
-
2013
- 2013-03-21 CN CN201310092773.2A patent/CN103152430B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706825A (zh) * | 2009-12-10 | 2010-05-12 | 华中科技大学 | 一种基于文件内容类型的重复数据删除方法 |
CN102156727A (zh) * | 2011-04-01 | 2011-08-17 | 华中科技大学 | 一种采用双指纹哈希校验的重复数据删除方法 |
CN102684827A (zh) * | 2012-03-02 | 2012-09-19 | 华为技术有限公司 | 数据处理方法及数据处理设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103152430A (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103152430B (zh) | 一种缩减数据占用空间的云存储方法 | |
US9880746B1 (en) | Method to increase random I/O performance with low memory overheads | |
JP5423896B2 (ja) | ストレージシステム | |
US9851917B2 (en) | Method for de-duplicating data and apparatus therefor | |
US9244623B1 (en) | Parallel de-duplication of data chunks of a shared data object using a log-structured file system | |
US20160283505A1 (en) | Methods and apparatus for efficient compression and deduplication | |
US8836548B1 (en) | Method and system for data compression at a storage system | |
US9569357B1 (en) | Managing compressed data in a storage system | |
CN103488709B (zh) | 一种索引建立方法及系统、检索方法及系统 | |
EP3376393B1 (en) | Data storage method and apparatus | |
US10656858B1 (en) | Deduplication featuring variable-size duplicate data detection and fixed-size data segment sharing | |
US10108644B1 (en) | Method for minimizing storage requirements on fast/expensive arrays for data mobility and migration | |
CN103116615B (zh) | 一种基于版本矢量的数据索引方法及服务器 | |
CN102999543A (zh) | 利用了数据段的相似度的高效数据存储 | |
WO2014067063A1 (zh) | 重复数据检索方法及设备 | |
WO2013086969A1 (zh) | 重复数据查找方法、装置及系统 | |
CN105069111A (zh) | 云存储中基于相似性的数据块级数据去重方法 | |
CN110109617B (zh) | 一种加密重复数据删除系统中的高效元数据管理方法 | |
CN108027713A (zh) | 用于固态驱动器控制器的重复数据删除 | |
JP6807395B2 (ja) | プロセッサ・グリッド内の分散データ重複排除 | |
CN103227818A (zh) | 终端、服务器、文件传输方法、文件存储管理系统和方法 | |
CN107135662B (zh) | 一种差异数据备份方法、存储系统和差异数据备份装置 | |
CN105677238A (zh) | 一种基于分布式存储重复数据删除的虚拟机系统盘的方法 | |
CN108415671A (zh) | 一种面向绿色云计算的重复数据删除方法及系统 | |
US9933971B2 (en) | Method and system for implementing high yield de-duplication for computing applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |