CN104331525A - 基于重复数据删除的共享方法 - Google Patents

基于重复数据删除的共享方法 Download PDF

Info

Publication number
CN104331525A
CN104331525A CN201410717338.9A CN201410717338A CN104331525A CN 104331525 A CN104331525 A CN 104331525A CN 201410717338 A CN201410717338 A CN 201410717338A CN 104331525 A CN104331525 A CN 104331525A
Authority
CN
China
Prior art keywords
data block
data
fingerprint
partial indexes
nas
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.)
Granted
Application number
CN201410717338.9A
Other languages
English (en)
Other versions
CN104331525B (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.)
BEIJING SCISTOR TECHNOLOGY Co Ltd
National Computer Network and Information Security Management Center
Original Assignee
BEIJING SCISTOR TECHNOLOGY Co Ltd
National Computer Network and Information Security Management Center
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 BEIJING SCISTOR TECHNOLOGY Co Ltd, National Computer Network and Information Security Management Center filed Critical BEIJING SCISTOR TECHNOLOGY Co Ltd
Priority to CN201410717338.9A priority Critical patent/CN104331525B/zh
Publication of CN104331525A publication Critical patent/CN104331525A/zh
Application granted granted Critical
Publication of CN104331525B publication Critical patent/CN104331525B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明是一种基于重复数据删除的共享方法,将重复数据删除技术和NAS(Network Attached Storage)的共享功能进行深度的结合。本发明对存储的数据进行分块,为每个数据块建立局部索引,局部索引包含根据数据块指纹指定的数据块的存储分区和桶区;当NAS接收到客户端发送来的写请求时,对数据块建立局部索引并存储;当NAS接收到客户端发送来的读请求时,获取待读取数据块的指纹,根据数据块的局部索引,读取数据块。本发明方法可以对windows客户端、linux客户端提供例如:nfs/samba(cifs)/ftp等共享方式支持,可有效地将重复数据删除技术融合到后端存储进而实现在线消冗功能。

Description

基于重复数据删除的共享方法
技术领域
本发明属于数据存储领域,涉及一种支持重复数据删除并且在NAS(Network AttachedStorage,网络附属存储)的共享功能中应用方法。
背景技术
互联网时代,是数据爆炸增长的时代,数据存储的压力不容小觑,重复数据删除技术日趋成熟,应用也越来越广泛,在各行各业涉及存储相关的行业领域都发挥着极大的作用。
传统存储当中的NAS应用范围的广泛不言而喻,为了进一步解决前端的存储压力,重复数据删除技术应用面继续扩大。拥有大量市场的NAS成为了新的发展方向。
为了要做到对于各共享协议统一支持,将重复数据删除技术结合到透明文件系统内部支持POSIX(可移植操作系统标准接口),来对各共享协议提供共享目录,进而做到统一支持。
重复数据删除技术由于面临着数据更新会导致数据变更较多而引起数据安全性问题,因而应用也仅限于备份、归档类的追加写操作相关的应用。
发明内容
为了提升传统NAS数据存储能力,本发明提供一种基于重复数据删除的共享方法,通过将重复数据删除技术融合到各共享协议内部来实现存储能力优化的功能,应用局部索引,最大限度地将更新所带来的附加变更减少甚至避免,从而使系统适用面进一步的扩大。
本发明提供的一种基于重复数据删除的共享方法,在NAS的重复数据删除系统中,对数据块建立局部索引。
当NAS接收到客户端发送来的写请求时,执行如下过程:申请内存,对待写入数据分块并计算各数据块指纹,对每个数据块建立局部索引,存储数据块的局部索引。一个数据块的局部索引的存储位置与该数据块的指纹相关联。
当NAS接收到客户端发送来的读请求时,执行如下过程:获取待读取数据块的指纹,根据数据块的局部索引,读取数据块。
对数据块建立局部索引的方法是:根据数据块指纹,确定指纹特征值;根据指纹特征值为该数据块分配至某个存储分区的桶中存储;最后得到数据块的局部索引,包括数据块指纹、存储的分区号和桶号。
所述的指纹特征值,包含8个字节,其中,前四个字节与存储分区数量相除取余,得到的余数为数据块的存储分区号,后四个字节与存储分区中的桶数量相除取余,得到的余数为数据块在该区存储的桶号。
本发明的优点和积极效果在于:本发明实现了重复数据删除技术的应用领域的扩大,实现了对传统存储NAS的一个技术突破,达到了优化存储设备的存储能力的目的;有效提升了存储介质的价值,降低了用户的维护成本,节约了电能。
附图说明
图1是NAS各共享协议和重复数据删除系统部署示意图;
图2是重复数据删除系统逻辑结构图;
图3是局部索引计算流程图;
图4是重复数据删除系统局部索引结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图进一步对本发明技术方案进行详细说明。
本发明基于重复数据删除的共享方法,能够支持多种共享协议(NFS/SAMBA/FTP),在分析当前主流重复数据删除方法基础上,实现采用变长、定长结合局部索引的方式,同时提供了标准的POSIX接口对多种共享协议达到了无缝支持。本发明方法解决了支持在线删除、更新等重复数据删除技术的难点,通过多级局部索引实现了数据更新简单化,同时安全性也能够满足用户需求。
在线数据更新,会导致数据变更较多,此时所接收的数据是乱序的,需要将数据放入缓存中,将接收到的数据按序排列,再从缓存移入磁盘中。但是,这种方式会造成缓存的数据量大,而数据还不能写入磁盘,此时可能会出现数据丢失或者乱序,导致数据不安全。本发明方法通过对数据进行分块,然后在磁盘中设置分区分桶,根据数据块的指纹来指定数据块存储的位置,这样当缓存中有部分按序的数据时,就可以先将这部分数据移入磁盘,大大减少了缓存区的数据量。这种通过分区分桶的策略再加上对内存阈值设定就可以做到了对机器的内存占用的控制,在降低交换分区使用的同时也有效提升了系统的性能。随着内存数据积压降低,系统的资源(CPU、内存、网络、磁盘)分配情况也更加均衡,不会出现资源占用繁重的情况。同时也有效的保证了用户请求响应的延时较低。
本发明方法中采用的局部索引是经过一系列计算和部分持久化信息共同得出的,通过数据块指纹特征值提取、数据分区、指纹桶分配计算等一系列计算得出。局部索引意在将索引全局离散、局部聚集进而做到了高效的存取操作。特征值提取意在将指纹分散在各个数据分区内,指纹桶分配又是将各分区的近似或相同指纹聚集在一起,进而达到了全局离散局部聚集的效果。
图1给出了整个方案的部署图,客户端1通过NAS设备2连接存储设备3。其中客户端1的操作系统为Windows或者Linux。通过共享协议NFS/SAMBA(CIFS)/FTP即可在客户端1访问NAS设备2提供出来的共享空间。NAS设备2内部包括NFS协议支持模块21、SAMBA(CIFS)协议支持模块22、FTP协议支持模块23以及重复数据删除系统24。重复数据删除系统24为协议支持模块21、22、23提供了后台重复数据删除接口。
为了使重复数据删除系统做到支持共享协议NFS/SAMBA(CIFS)/FTP,需要系统遵守POSIX标准协议,为此将需要实现一个标准的Linux下的文件系统,同时具有重复数据删除功能。图2给出了重复数据删除系统的主要流程,整个系统逻辑处理方面主要是协议解析处理、读写请求处理、局部索引计算等,具体步骤如下:
步骤201:根据收到的协议,分类解析各协议NFS/SAMBA(CIFS)/FTP,分别转码标识为内部协议;若接收到写请求,进入步骤202执行,若接收到读请求,转步骤205执行;
步骤202:根据协议包标识申请内存,对待写入数据分块并计算各数据块指纹;
步骤203:根据指纹计算各数据块的局部索引;
步骤204:为步骤203得到各数据块的局部索引分配存储位置;
对于每个数据块,其局部索引的存储位置与其指纹是相关联的,例如可将其局部索引的存储位置附加到该数据块的指纹中;或者根据指纹利用设定计算方法来确定局部索引位置。
步骤205:获取待读取数据块的指纹,根据指纹获取对应局部索引的存储位置;
由于数据块的指纹和局部索引的存储位置是相关联的,根据指纹可计算得到局部索引的存储位置。
步骤206:根据步骤205获取的局部索引的存储位置,读取指纹的局部索引;
步骤207:根据步骤206读取到的局部索引读取该指纹对应的数据块。根据局部索引获取数据块的实际存储位置、长度等信息。
图3描述了获取数据块局部索引的方法,具体步骤如下:
步骤301:获取数据块的指纹特征值;根据计算出的局部索引存储位置取得指纹信息,并计算出指纹特征值;本步骤可采用多种方式获取指纹特征值,例如,最直接的方式取指纹的前8个字节作为特征值。
步骤302:根据指纹特征值,确定数据块的存储分区;本步骤可预设存储分区的指定方式,根据该方式来为数据块指定存储分区。本发明实施例中,根据指纹特征值中前0~3的4个字节与存储分区数量相除取余,得到的余数为存储区号。
例如,存储分区有8个,分别标记为分区0~7,将数据块指纹特征值前四个字节所对应的十进制数,与存储分区数量8相除取余,得到的余数就是该数据块的存储分区号。
步骤303:根据存储分区,确定数据块的桶区;得到存储分区,根据指纹特征值中4~7的4个字节与桶数量相除取余,得到的余数为数据块在该区存储的桶号。
例如,存储分区1中的桶数量为8,标记为桶0~7,将数据块指纹特征值后四个字节所对应的十进制数,与桶数量8相除取余,得到的余数为数据块在该区存储的桶号。
步骤304:根据步骤303得出的指纹桶区,得出局部索引;将数据块存储至对应的存储分区的桶区中。
从图4中可以看到重复数据删除系统局部索引结构是由指纹引导映射而形成的基本机构,该机构具有分而聚合的思想。图4所示示例中,dev0~dev5为6个数据分区,每个数据分区中存储有若干数据块指纹。该结构既解决了元数据的访问瓶颈又解决了重复数据删除技术在在线应用中所面临的修改数据的问题。根据本发明提供的方法,可以对windows客户端、linux客户端提供例如:nfs/samba(cifs)/ftp等共享方式支持,同时能够进行在线的数据优化功能,可有效地将重复数据删除技术融合到后端存储进而实现在线消冗功能。
应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。

Claims (3)

1.一种基于重复数据删除的共享方法,应用在网络附属存储NAS的重复数据删除系统中,其特征在于,
当NAS接收到客户端发送来的写请求时,执行如下过程:申请内存,对待写入数据分块并计算各数据块指纹,对每个数据块建立局部索引,存储数据块的局部索引;一个数据块的局部索引的存储位置与该数据块的指纹相关联;
当NAS接收到客户端发送来的读请求时,执行如下过程:获取待读取数据块的指纹,根据数据块的局部索引,读取数据块;
其中,对数据块建立局部索引的方法是:根据数据块指纹,确定指纹特征值;根据指纹特征值将该数据块分配至某个存储分区的桶中存储;最后得到数据块的局部索引,包括数据块指纹、存储的分区号和桶号。
2.根据权利要求1所述的一种基于重复数据删除的共享方法,其特征在于,所述的指纹特征值,包含8个字节,其中,前四个字节与存储分区数量相除取余,得到的余数为数据块的存储分区号,后四个字节与存储分区中的桶数量相除取余,得到的余数为数据块在该区存储的桶号。
3.根据权利要求1所述的一种基于重复数据删除的共享方法,其特征在于,所述的数据块的局部索引的存储位置,添加到数据块的指纹中,当得到数据块指纹时,也获取到了局部索引的存储位置。
CN201410717338.9A 2014-12-01 2014-12-01 基于重复数据删除的共享方法 Active CN104331525B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410717338.9A CN104331525B (zh) 2014-12-01 2014-12-01 基于重复数据删除的共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410717338.9A CN104331525B (zh) 2014-12-01 2014-12-01 基于重复数据删除的共享方法

Publications (2)

Publication Number Publication Date
CN104331525A true CN104331525A (zh) 2015-02-04
CN104331525B CN104331525B (zh) 2018-01-16

Family

ID=52406252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410717338.9A Active CN104331525B (zh) 2014-12-01 2014-12-01 基于重复数据删除的共享方法

Country Status (1)

Country Link
CN (1) CN104331525B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104793902A (zh) * 2015-04-17 2015-07-22 北京赛思信安技术有限公司 一种重复数据删除系统数据存取方法
CN105930223A (zh) * 2016-04-24 2016-09-07 湖南大学 一种减少检查点文件大小的方法
CN106293525A (zh) * 2016-08-05 2017-01-04 上海交通大学 一种提高缓存使用效率的方法及系统
CN117149724A (zh) * 2023-10-30 2023-12-01 宁德思客琦智能装备有限公司 一种云环境系统重复数据删除的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183323A (zh) * 2007-12-10 2008-05-21 华中科技大学 一种基于指纹的数据备份系统
US20090063528A1 (en) * 2007-09-05 2009-03-05 Emc Corporation De-duplication in a virtualized server environment
CN102323958A (zh) * 2011-10-27 2012-01-18 上海文广互动电视有限公司 重复数据删除方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090063528A1 (en) * 2007-09-05 2009-03-05 Emc Corporation De-duplication in a virtualized server environment
CN101183323A (zh) * 2007-12-10 2008-05-21 华中科技大学 一种基于指纹的数据备份系统
CN102323958A (zh) * 2011-10-27 2012-01-18 上海文广互动电视有限公司 重复数据删除方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104793902A (zh) * 2015-04-17 2015-07-22 北京赛思信安技术有限公司 一种重复数据删除系统数据存取方法
CN105930223A (zh) * 2016-04-24 2016-09-07 湖南大学 一种减少检查点文件大小的方法
CN106293525A (zh) * 2016-08-05 2017-01-04 上海交通大学 一种提高缓存使用效率的方法及系统
CN106293525B (zh) * 2016-08-05 2019-06-28 上海交通大学 一种提高缓存使用效率的方法及系统
CN117149724A (zh) * 2023-10-30 2023-12-01 宁德思客琦智能装备有限公司 一种云环境系统重复数据删除的方法及系统
CN117149724B (zh) * 2023-10-30 2024-03-15 宁德思客琦智能装备有限公司 一种云环境系统重复数据删除的方法及系统

Also Published As

Publication number Publication date
CN104331525B (zh) 2018-01-16

Similar Documents

Publication Publication Date Title
US11994984B2 (en) Namespace mapping optimization in non-volatile memory devices
US10678703B2 (en) Namespace mapping structual adjustment in non-volatile memory devices
US20180253456A1 (en) Disk optimized paging for column oriented databases
CN107092439B (zh) 一种数据存储的方法及设备
CN103440208B (zh) 一种数据存储的方法及装置
CN108519862A (zh) 区块链系统的存储方法、装置、系统和存储介质
CN103034684A (zh) 一种基于内容寻址存储的虚拟机镜像存储优化方法
CN102023809A (zh) 存储系统、从存储系统读取数据的方法及写入数据的方法
CN103399823B (zh) 业务数据的存储方法、设备和系统
CN104580437A (zh) 一种云存储客户端及其高效数据访问方法
CN102609360A (zh) 一种数据处理方法、装置及系统
US20180253252A1 (en) Storage system
CN112632069B (zh) 哈希表数据存储管理方法、装置、介质和电子设备
CN103514210A (zh) 小文件处理方法及装置
CN104331525A (zh) 基于重复数据删除的共享方法
CN105824881A (zh) 一种基于负载均衡的重复数据删除数据放置方法器
CN112346647B (zh) 数据存储方法、装置、设备和介质
KR100622130B1 (ko) 객체 기반 스토리지 시스템에서 고속의 데이터 입출력을위한 객체 저장소 관리 시스템 및 방법
CN111949210A (zh) 分布式存储系统中元数据存储方法、系统及存储介质
CN110427347A (zh) 重复数据删除的方法、装置、存储节点及存储介质
CN103984507A (zh) 一种生物信息学高性能计算平台的存储配置以及优化策略
CN103942301A (zh) 一种面向多数据类型访问应用的分布式文件系统
CN102769642A (zh) 移动云存储系统及移动云存储实现方法
CN101783814A (zh) 海量存储系统的元数据存储方法
CN115934002B (zh) 固态硬盘的访问方法、固态硬盘、存储系统及云服务器

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