CN102033924B - 一种数据存储方法和系统 - Google Patents

一种数据存储方法和系统 Download PDF

Info

Publication number
CN102033924B
CN102033924B CN201010589269XA CN201010589269A CN102033924B CN 102033924 B CN102033924 B CN 102033924B CN 201010589269X A CN201010589269X A CN 201010589269XA CN 201010589269 A CN201010589269 A CN 201010589269A CN 102033924 B CN102033924 B CN 102033924B
Authority
CN
China
Prior art keywords
data
data segment
segment
repeating
watermark
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
CN201010589269XA
Other languages
English (en)
Other versions
CN102033924A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201010589269XA priority Critical patent/CN102033924B/zh
Publication of CN102033924A publication Critical patent/CN102033924A/zh
Application granted granted Critical
Publication of CN102033924B publication Critical patent/CN102033924B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

本发明提供了一种数据存储方法和系统;方法包括:将各存储的文件分割为预定大小的数据段;为分割成的各数据段生成唯一对应于该数据段的标识信息,所述标识信息用于携带所对应的数据段的属性信息;比较各数据段的内容,找出重复数据;将内容相同的两份或两份以上数据作为一组;对于各组重复数据,保留其中一份数据,并将该份数据的物理存储位置保存为该组中其他各份数据的冗余数据水印;如果一个数据段存在重复数据,则将该数据段中的重复数据用其冗余数据水印代替。本发明能够节省数据在物理存储实体上的空间资源,从而提高数据远程复制的效率和安全性。

Description

一种数据存储方法和系统
技术领域
本发明涉及数据处理领域,具体涉及一种数据存储方法和系统。
背景技术
随着数字信息化速度的加快,数据量和访问量爆炸性的增加,作为数据保护的数据的复制和备份正在面临着巨大的考验。
由于数据归档的规范性等一系列问题,造成了有大量的重复数据存在于物理存储设备中,从而浪费了大量物理存储空间,许多企业不得不因此加大对存储硬件设备的投入,增加了许多不必要的开销。
目前主流的数据远程复制方式有完全复制、差量复制和差分复制,这三种实施数据复制的三种策略中,并不能从本质上完全解决数据复制的性能和效率问题,因为不论是完全复制、差量复制或是差分复制,其复制的数据存在大量的冗余,许多数据被一而再再而三的重复复制,增加了数据复制的时间开销,同时也带来了在数据复制过程中的安全隐患。
发明内容
本发明要解决的技术问题是提供一种数据存储方法和系统,能够节省数据在物理存储实体上的空间资源,从而提高数据远程复制的效率和安全性。
为了解决上述问题,本发明提供了一种数据存储方法,包括:
将各存储的文件分割为预定大小的数据段;
为分割成的各数据段生成唯一对应于该数据段的标识信息,所述标识信息用于携带所对应的数据段的属性信息;
比较各数据段的内容,找出重复数据;
将内容相同的两份或两份以上数据作为一组;对于各组重复数据,保留其中一份数据,并将该份数据的物理存储位置保存为该组中其他各份数据的冗余数据水印;如果一个数据段存在重复数据,则将该数据段中的重复数据用其冗余数据水印代替。
优选地,所述比较各数据段的内容,找出重复数据的步骤中是采用KMP算法进行比较,找到最大长度的重复数据。
优选地,各数据段的唯一标识信息可以但不限于采用红黑树的形式进行存储。
优选地,所述将数据段中的重复数据用其冗余数据水印代替的步骤包括:
将该数据段中的重复数据删除;
在该数据段的唯一标识信息中,增加所删除的重复数据在该数据段中的位置,以及所删除的重复数据的冗余数据水印。
优选地,所述的方法还包括:
当访问数据时,如果所访问的数据段中包含冗余数据水印,则从该冗余数据水印所表示的物理存储位置访问该冗余数据水印替代的数据。
本发明还提供了一种数据存储系统,包括:
分割模块,用于将各存储的文件分割为预定大小的数据段;
索引模块,用于为分割成的各数据段生成唯一对应于该数据段的标识信息,所述标识信息用于携带所对应的数据段的属性信息;
比较模块,用于比较各数据段的内容,找出重复数据;
处理模块,用于将内容相同的两份或两份以上数据作为一组;对于各组重复数据,保留其中一份数据,并将该份数据的物理存储位置保存为该组中其他各份数据的冗余数据水印;如果一个数据段存在重复数据,则将该数据段中的重复数据用其冗余数据水印代替。
优选地,所述比较模块采用KMP算法进行比较,找到最大长度的重复数据。
优选地,所述索引模块采用红黑树的形式存储各数据段的唯一标识信息。
优选地,所述处理单元将数据段中的重复数据用其冗余数据水印代替是指:
所述处理单元将该数据段中的重复数据删除;在该数据段的唯一标识信息中,增加所删除的重复数据在该数据段中的位置,以及所删除的重复数据的冗余数据水印。
优选地,所述的系统还包括:
数据重定向模块,用于当收到对数据段的访问请求时,如果该数据段中包含冗余数据水印,则将对于该冗余数据水印对应的数据的访问请求指向该冗余数据水印表示的物理存储位置。
本发明的技术方案消减了冗余数据,能提高存储空间利用率,显著的降低网络复制数据所需的带宽,有效的增强了文件远程复制时的效率、高可靠性和存储空间利用率;由于减少了传输的数据和其相关的传输时间,因此也有效的增强了数据在物理存储实体上的安全性和传输过程中的安全性,同时也增强了数据远程复制的适用范围,使其适用于更广的应用部署,丰富了存储系统的架构。
附图说明
图1为实施例一的数据存储方法的流程示意图;
图2为实施例二的数据存储系统的示意框图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一,一种数据存储方法,如图1所示,包括:
将各存储的文件分割为预定大小的数据段;
为分割成的各数据段生成唯一对应于该数据段的标识信息,所述标识信息用于携带所对应的数据段的属性信息;
比较各数据段的内容,找出重复数据;
将内容相同的两份或两份以上数据作为一组;对于各组重复数据,保留其中一份数据,并将该份数据的物理存储位置保存为该组中其他各份数据的冗余数据水印;如果一个数据段存在重复数据,则将该数据段中的重复数据用其冗余数据水印代替。
本实施例中,所述将各存储的文件分割为预定大小的数据段的步骤可以是在系统初始化时先进行一次,在初始化时对整个物理存储实体中存储的文件全部进行一次扫描,通过扫描对这些文件进行分割;还可以每次有新的文件写入物理存储实体的时候都进行一次,对新写入物理存储实体的文件进行分割。相应的,每次分割后进行比较;新写入文件时,可以不用只将已有数据段和新写入的文件分割而成的数据段进行比较,而不用再将已有数据段之间进行比较。
本实施例中,所述唯一标识信息可以称为数据指纹。
本实施例中,所述数据段的属性信息可以但不限于包括:该数据段所属文件、该数据段在所属文件中的位置等。
本实施例中,所述比较各数据段的内容,找出重复数据的步骤中,可以但不限于采用KMP算法进行比较,找到最大长度的重复数据;还可以调整对比颗粒度,比如是N个字母或字符(N为正整数)。
本实施例中,各数据段的唯一标识信息可以但不限于采用红黑树的形式进行存储,提高内容信息检索的效率和对物理存储实体的文件的相关信息进行删除的功能。
本实施例中,所述将数据段中的重复数据用其冗余数据水印代替的步骤具体可以包括:
将该数据段中的重复数据删除;
在该数据段的唯一标识信息中,增加所删除的重复数据在该数据段中的位置,以及所删除的重复数据的冗余数据水印。
如果一个数据段中有多个重复数据时,可以在该数据段的唯一标识信息中分别记录各重复数据的冗余数据水印。
本实施例中,所述方法还可以包括:
当访问数据时,如果所访问的数据段中包含冗余数据水印,则从该冗余数据水印所表示的物理存储位置访问该冗余数据水印替代的数据。
这里的访问包括“查看”、“复制”、“剪切”等。
可见,采用本实施例的方案中,当对这些数据进行远程复制时,由于减少了冗余数据而减少了传输的数据量和传输时间,因此提高了远程复制的可靠性和安全性。
实施例二,一种数据存储系统,如图2所示,包括:
分割模块,用于将各存储的文件分割为预定大小的数据段;
索引模块,用于为分割成的各数据段生成唯一对应于该数据段的标识信息,所述标识信息用于携带所对应的数据段的属性信息;
比较模块,用于比较各数据段的内容,找出重复数据;
处理模块,用于将内容相同的两份或两份以上数据作为一组;对于各组重复数据,保留其中一份数据,并将该份数据的物理存储位置保存为该组中其他各份数据的冗余数据水印;如果一个数据段存在重复数据,则将该数据段中的重复数据用其冗余数据水印代替。
本实施例中,所述分割模块可以是在系统初始化时和每次有新的文件写入物理存储实体的时候都进行一次分割。相应的,所述比较模块当有新分割成的数据段时就将新分割成的数据段和原有数据段进行比较。
本实施例中,所述数据段的属性信息可以但不限于包括:该数据段所属文件、该数据段在所属文件中的位置等。
本实施例中,所述比较模块可以但不限于采用KMP算法进行比较,找到最大长度的重复数据。
本实施例中,所述索引模块可以但不限于采用红黑树的形式存储各数据段的唯一标识信息,可提高内容信息检索的效率和对物理存储实体的文件的相关信息进行删除的功能。
本实施例中,所述处理单元将数据段中的重复数据用其冗余数据水印代替具体可以是指:
所述处理单元将该数据段中的重复数据删除;在该数据段的唯一标识信息中,增加所删除的重复数据在该数据段中的位置,以及所删除的重复数据的冗余数据水印。
如果一个数据段中有多个重复数据时,所述处理单元可以在该数据段的唯一标识信息中分别记录各重复数据的冗余数据水印。
本实施例中,所述系统还可以包括:
数据重定向模块,用于当收到对数据段的访问请求时,如果该数据段中包含冗余数据水印,则将对于该冗余数据水印对应的数据的访问请求指向该冗余数据水印表示的物理存储位置。
本实施例中,所述系统还可以包括:
远程复制模块,用于对数据进行远程复制。
本实施例中,所述系统还可以包括:
界面管理模块,用于为用户提供可管理系统的界面,方便用户与系统功能的交互,提供了文件信息查询、浏览,日志信息查看,文件远程复制等功能。
其它实现细节可以参照实施例一。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。

Claims (8)

1.一种数据存储方法,包括:
将各存储的文件分割为预定大小的数据段;
为分割成的各数据段生成唯一对应于该数据段的标识信息,所述标识信息用于携带所对应的数据段的属性信息;
比较各数据段的内容,找出重复数据;
将内容相同的两份或两份以上数据作为一组;对于各组重复数据,保留其中一份数据,并将该份数据的物理存储位置保存为该组中其他各份数据的冗余数据水印;如果一个数据段存在重复数据,则将该数据段中的重复数据删除;在该数据段的唯一标识信息中,增加所删除的重复数据在该数据段中的位置,以及所删除的重复数据的冗余数据水印。
2.如权利要求1所述的方法,其特征在于:
所述比较各数据段的内容,找出重复数据的步骤中是采用KMP算法进行比较,找到最大长度的重复数据。
3.如权利要求1所述的方法,其特征在于:
各数据段的唯一标识信息可以但不限于采用红黑树的形式进行存储。
4.如权利要求1到3中任一项所述的方法,其特征在于,还包括:
当访问数据时,如果所访问的数据段中包含冗余数据水印,则从该冗余数据水印所表示的物理存储位置访问该冗余数据水印替代的数据。
5.一种数据存储系统,其特征在于,包括:
分割模块,用于将各存储的文件分割为预定大小的数据段;
索引模块,用于为分割成的各数据段生成唯一对应于该数据段的标识信息,所述标识信息用于携带所对应的数据段的属性信息;
比较模块,用于比较各数据段的内容,找出重复数据;
处理模块,用于将内容相同的两份或两份以上数据作为一组;对于各组重复数据,保留其中一份数据,并将该份数据的物理存储位置保存为该组中其他各份数据的冗余数据水印;如果一个数据段存在重复数据,则将该数据段中的重复数据删除,在该数据段的唯一标识信息中,增加所删除的重复数据在该数据段中的位置,以及所删除的重复数据的冗余数据水印。
6.如权利要求5所述的系统,其特征在于:
所述比较模块采用KMP算法进行比较,找到最大长度的重复数据。
7.如权利要求6所述的系统,其特征在于:
所述索引模块采用红黑树的形式存储各数据段的唯一标识信息。
8.如权利要求5到7中任一项所述的系统,其特征在于,还包括:
数据重定向模块,用于当收到对数据段的访问请求时,如果该数据段中包含冗余数据水印,则将对于该冗余数据水印对应的数据的访问请求指向该冗余数据水印表示的物理存储位置。
CN201010589269XA 2010-12-08 2010-12-08 一种数据存储方法和系统 Active CN102033924B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010589269XA CN102033924B (zh) 2010-12-08 2010-12-08 一种数据存储方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010589269XA CN102033924B (zh) 2010-12-08 2010-12-08 一种数据存储方法和系统

Publications (2)

Publication Number Publication Date
CN102033924A CN102033924A (zh) 2011-04-27
CN102033924B true CN102033924B (zh) 2012-10-31

Family

ID=43886817

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010589269XA Active CN102033924B (zh) 2010-12-08 2010-12-08 一种数据存储方法和系统

Country Status (1)

Country Link
CN (1) CN102033924B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI448121B (zh) * 2011-08-10 2014-08-01 Inventec Corp 點對點傳輸的重複數據刪除處理方法及其系統
CN102999605A (zh) * 2012-11-21 2013-03-27 重庆大学 一种通过优化数据放置来减少数据碎片的方法和装置
US8922414B2 (en) * 2013-02-12 2014-12-30 Cortica, Ltd. Multi-layer system for symbol-space based compression of patterns
CN103609091B (zh) * 2013-06-24 2017-01-11 华为技术有限公司 一种数据传输的方法和装置
CN103559279A (zh) * 2013-11-07 2014-02-05 深信服网络科技(深圳)有限公司 云存储加速方法及装置
CN103744939B (zh) * 2013-12-31 2017-07-14 华为技术有限公司 一种日志的记录方法、日志的恢复方法及日志管理器
CN104239575A (zh) * 2014-10-08 2014-12-24 清华大学 一种虚拟机镜像文件存储、分发方法及装置
CN104394228A (zh) * 2014-12-08 2015-03-04 浪潮(北京)电子信息产业有限公司 一种文件系统的存储方法及装置
CN105760781B (zh) * 2016-03-02 2018-05-08 四川师范大学 有序可推演大数据文件的存储方法、恢复方法和操作方法
CN107957848B (zh) * 2016-10-14 2020-01-10 上海交通大学 重删处理方法及存储设备
CN107480479B (zh) * 2017-08-15 2020-08-07 北京奇虎科技有限公司 应用程序的加固方法及装置、计算设备、计算机存储介质
CN112800284A (zh) * 2021-02-01 2021-05-14 北京机电工程研究所 一种基于环境模型数据库的快速查询方法
CN113691352A (zh) * 2021-08-19 2021-11-23 白杰 数据分割方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101320372A (zh) * 2008-05-22 2008-12-10 上海爱数软件有限公司 一种重复数据的压缩方法
CN101882141A (zh) * 2009-05-08 2010-11-10 北京众志和达信息技术有限公司 一种实现重复数据数据删除的方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4951331B2 (ja) * 2006-12-26 2012-06-13 株式会社日立製作所 ストレージシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101320372A (zh) * 2008-05-22 2008-12-10 上海爱数软件有限公司 一种重复数据的压缩方法
CN101882141A (zh) * 2009-05-08 2010-11-10 北京众志和达信息技术有限公司 一种实现重复数据数据删除的方法和系统

Also Published As

Publication number Publication date
CN102033924A (zh) 2011-04-27

Similar Documents

Publication Publication Date Title
CN102033924B (zh) 一种数据存储方法和系统
US10031675B1 (en) Method and system for tiering data
US20230013281A1 (en) Storage space optimization in a system with varying data redundancy schemes
US8712976B1 (en) Managing deduplication density
US9047301B2 (en) Method for optimizing the memory usage and performance of data deduplication storage systems
US8805796B1 (en) Deduplicating sets of data blocks
US8977812B1 (en) Iterating in parallel for deduplication
US9436558B1 (en) System and method for fast backup and restoring using sorted hashes
US8751547B2 (en) Multiple file system and/or multi-host single instance store techniques
CN102629247B (zh) 一种数据处理方法、装置和系统
US20130018855A1 (en) Data deduplication
US8538933B1 (en) Deduplicating range of data blocks
CN105787037B (zh) 一种重复数据的删除方法及装置
CN104679665A (zh) 一种实现分布式文件系统块存储的方法及系统
CN103399823B (zh) 业务数据的存储方法、设备和系统
CN102915278A (zh) 重复数据删除方法
CN105069111A (zh) 云存储中基于相似性的数据块级数据去重方法
US10628298B1 (en) Resumable garbage collection
Zou et al. The dilemma between deduplication and locality: Can both be achieved?
US11151056B2 (en) Efficient virtualization layer structure for a data storage system
CN104462389A (zh) 基于分级存储的分布式文件系统实现方法
CN105893169A (zh) 一种基于纠删码的文件存储方法和系统
CN113535670B (zh) 一种虚拟化资源镜像存储系统及其实现方法
CN107506466B (zh) 一种小文件存储方法及系统
RU2665272C1 (ru) Способ и устройство для восстановления дедуплицированных данных

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
TR01 Transfer of patent right

Effective date of registration: 20201118

Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Patentee after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: 100085 Beijing, Haidian District on the road to information on the ground floor, building 2-1, No. 1, C

Patentee before: Inspur (Beijing) Electronic Information Industry Co.,Ltd.

TR01 Transfer of patent right