CN104408141A - 一种消冗文件系统及其数据部署方法 - Google Patents
一种消冗文件系统及其数据部署方法 Download PDFInfo
- Publication number
- CN104408141A CN104408141A CN201410717339.3A CN201410717339A CN104408141A CN 104408141 A CN104408141 A CN 104408141A CN 201410717339 A CN201410717339 A CN 201410717339A CN 104408141 A CN104408141 A CN 104408141A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- data block
- block
- file system
- 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
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
本发明公开了一种消冗文件系统及其数据部署方法,系统包括文件系统数据接收模块,数据分块模块,数据块管理模块,数据块存储模块,数据块索引存储模块;本发明通过对乱序的数据块进行了局部分区域排序处理,尽可能早的数据块顺序写入,降低了数据块积压,提前释放了内存,提高了系统的写入性能。对于重复数据删除在NFS共享结合上的应用又深入了一层,使NAS中NFS共享功能的应用场景和应用前景有了进一步的扩大。
Description
技术领域
本发明属于数据存储领域,涉及重复数据删除技术及NFS共享结合,具体涉及一种消冗文件系统及其数据部署方法。
背景技术
互联网时代,数据爆炸增长的时代,数据存储的压力越来越大的同时,对于系统的读、写性能要求也越来越高,随着重复数据删除技术日出成熟,应用也越来越广泛,NAS中的NFS共享功能的性能要求也同样是越来越高。
对于后端接入重复数据删除系统的NFS共享功能,虽然有了数据存储能力的显著提升,但是,同时也是牺牲了很大性能,这样极大的降低了用户的体验效果。
重复数据删除系统和NFS结合存在性能问题主要是因为数据传输为异步形式,这样就导致了重复数据删除系统数据收取时接收到随机位置的数据块,为了保证写入顺序需要在内存中全部保存,直到数据块依次收取并保存下来,系统内存才得以释放,由于内存有限,如果积压数据块较多则会导致大量数据被迫写入到交换分区,这样会大大降低系统的性能。
发明内容
本发明的目的是为了解决上述问题,提供一种消冗文件系统及其数据部署方法,能够降低数据写入时数据块积压的方案,尽快释放有限的内存,提高系统性能的重复数据删除系统的数据块存储布局方式。
一种消冗文件系统的数据部署方法,具体步骤如下:
步骤1:重复数据删除文件系统接收NFS协议写入的数据流;
步骤2:将步骤1接收到的数据流根据协议分块;
步骤3:将分好块的数据分配到对应的数据域的队列;
步骤4:判断数据域是否出现局部顺序,如果局部连续进入步骤5,否则进入步骤6;
步骤5:将数据块写入局部数据域;
步骤6:判断局部数据域的数据是否超出了预定值,如果超出进入步骤5,否则进入步骤7;
步骤7:判断是否符合文件系统预读逻辑顺序,如果符合则进入步骤5,否则进入步骤8;
步骤8:判断缓存是否超出了阈值,如果超出则进入步骤5,否则进入步骤9;
步骤9:将数据块缓存到对应的局部数据域的缓存队列。
一种消冗文件系统,包括文件系统数据接收模块,数据分块模块,数据块管理模块,数据块存储模块,数据块索引存储模块;
所述文件系统数据接收模块接收NFS协议传输过来的数据流;
所述数据分块模块将接收到的数据流切分成数据块;
所述数据块管理模块将切分好的数据块分配到数据域的数据块队列,然后再判断数据块在数据域内部是否严格顺序或者满足操作系统预读的逻辑顺序,根据内存管理模块判定规则决定数据块是继续缓存还是写入数据文件内;
所述数据存储模块根据数据块管理模块分配的任务来对数据块进行存储;
所述数据块索引存储模块根据数据块存储模块生成的数据块索引;
所述的数据块管理模块包括数据域分配模块,数据块队列缓存模块,数据块局部顺序判断模块,内存管理模块;
所述数据域分配模块是指根据所收到的数据块的全局序号和数据域分配规则来对数据块进行数据域分配,数据块为变长;
所述数据块队列缓存模块对于数据域分配模块生成的镜像队列,用来缓存被判断为非顺序的数据块;
所述数据块局部顺序判断模块通过数据块的全局序号和其所在队列的被标记为入库的序号比对,如果满足严格顺序或者是相对顺序的则交由内存管理模块根据阈值确定是缓存还是强行写入数据文件;
所述内存管理模块对消冗文件系统内全部数据块缓存域缓存空间申请释放管理的功能,保证写入数据块的顺序性的同时兼顾系统性能。
本发明的优点在于:
本发明通过对乱序的数据块进行了局部分区域排序处理,尽可能早的数据块顺序写入,降低了数据块积压,提前释放了内存,提高了系统的写入性能。对于重复数据删除在NFS共享结合上的应用又深入了一层,使NAS中NFS共享功能的应用场景和应用前景有了进一步的扩大。
附图说明
图1为本发明具体实施的一种消冗文件系统的数据部署方法的流程图;
图2为本发明具体实施的一种消冗文件系统结构框图。
图中:
1-文件系统数据接收模块 2-数据分块模块 3-数据块管理模块
4-数据块存储模块 5-数据块索引存储模块
数据域分配模块31 数据块队列缓存模块32 数据块局部顺序判断模块33
内存管理模块34
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
本发明主要是解决数据块积压,尽快释放内存的问题,为此,将收到的数据块进行局部排序,然后依次顺序写入,这样就即解决了数据块严重积压的问题又解决了数据块写入的性能问题。
数据块分布局部排序具体思路如下,初始时设定一个局部区域大小,将接收到的乱序的数据块分别分配到对应的局部区域,对于局部数据块再分别进行依次写入,这样就做到了对于整体乱序局部顺序的局面很大程度上缓解了内存压力,同时提高了系统性能。
当然,极端情况下会出现局部顺序不明显的情况,这时需要及时通过数据块缓存阈值处理机制,就是对局部数据块不再进行严格的顺序判断,而是进一步根据操作系统本身的预读大小进行局部顺序判断,可能会出现一定的局部乱序,但是操作系统的预读机制会很好的解决小部分局部乱序,进而在保证写性能的前提下不会导致系统的读性能下降。
如图1所示,一种消冗文件系统的数据部署方法,具体步骤如下:
步骤1:重复数据删除文件系统接收NFS协议写入的数据流;
步骤2:将步骤1接收到的数据流根据协议分块;
步骤3:将分好块的数据分配到对应的数据域的队列;
切分好的数据块根据数据块头4字节数据和队列数量取余,得出的值就是对应的队列所在。
步骤4:判断数据域是否出现局部顺序,如果局部连续进入步骤5,否则进入步骤6;
步骤5:将数据块写入局部数据域;
步骤6:判断局部数据域的数据是否超出了预定值,如果超出进入步骤5,否则进入步骤7;
步骤7:判断是否符合文件系统预读逻辑顺序,如果符合则进入步骤5,否则进入步骤8;
步骤8:判断缓存是否超出了阈值,如果超出则进入步骤5,否则进入步骤9;
阈值是用来控制内存占用及释放的一个临界值,比如缓存超出内存总量60%的,则视为超出。
步骤9:将数据块缓存到对应的局部数据域的缓存队列;
对应是通过对数据块的头4字节数据和队列数量取余得出的,得出了队列分配原则。
如图2所示,为消冗文件系统的模块结构框图,包括:文件系统数据接收模块1,数据分块模块2,数据块管理模块3,数据块存储模块4,数据块索引存储模块5;
所述文件系统数据接收模块1接收NFS协议传输过来的数据流;
所述数据分块模块2将接收到的数据流切分成数据块,其中数据分块分为边长分块和定长分块,其中边长分块是指边长按照一定范围内变化长度分块,定长分块是指按固定长度分块;
所述数据块管理模块3将切分好的数据块分配到数据域的数据块队列(通过上面步骤9描述的方式计算得出),然后再判断数据块在数据域内部是否严格顺序(严格顺序指按照数据块在文件内的顺序分块依次排列),或者满足操作系统预读的逻辑顺序,根据内存管理模块判定规则(判定规则主要是指根据缓存设定的阈值的来判定,超出给定预定值则认为直接写入,否则继续缓存)来决定数据块是继续缓存还是可以写入数据文件内;
所述数据存储模块4根据数据块管理模块3分配的任务来对数据块进行存储;将收到的数据块存储到文件内,同时返回给用户数据块存储位置信息,用户根据返回的位置信息及计算出的指纹等组成三级索引进行存储。
所述数据块索引存储模块5是根据数据块存储模块生成的数据块索引。索引是由根据数据存储时给出存储位置,数据块指纹,文件映射等组成,这些信息构成数据块索引信息存储到数据块索引内。
所述的数据块管理模块3包括数据域分配模块31,数据块队列缓存模块32,数据块局部顺序判断模块33,内存管理模块34。
所述数据域分配模块31是指根据所收到的数据块的全局序号和数据域分配规则来对数据块进行数据域分配,数据块为变长,因此每个数据域大小不是绝对相同的,但是都是可控范围内变化,比如变长数据块大小范围[14K~16K],那么数据域变化范围就是[14K*n~16K*n]其中n为数据块个数。
所述数据块队列缓存模块32是对于模块31生成的镜像队列,用来缓存被判断为非顺序的数据块;
所述数据块局部顺序判断模块33是通过数据块的全局序号和其所在队列的被标记为入库的序号比对,如果满足严格顺序或者是相对顺序的则交由内存管理模块根据阈值确定是缓存还是强行写入数据文件(根据阈值的范围来确定,达到缓存阈值即将数据块写入到文件内,可能是强行写入也可能是顺序写入);
所述内存管理模块34是对消冗文件系统内全部数据块缓存域缓存空间申请释放管理的功能,主要任务就是尽最大能力保证写入数据块的顺序性的同时兼顾系统性能。
应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。
Claims (2)
1.一种消冗文件系统的数据部署方法,具体步骤如下:
步骤1:重复数据删除文件系统接收NFS协议写入的数据流;
步骤2:将步骤1接收到的数据流根据协议分块;
步骤3:将分好块的数据分配到对应的数据域的队列;
步骤4:判断数据域是否出现局部顺序,如果局部连续进入步骤5,否则进入步骤6;
步骤5:将数据块写入局部数据域;
步骤6:判断局部数据域的数据是否超出了预定值,如果超出进入步骤5,否则进入步骤7;
步骤7:判断是否符合文件系统预读逻辑顺序,如果符合则进入步骤5,否则进入步骤8;
步骤8:判断缓存是否超出了阈值,如果超出则进入步骤5,否则进入步骤9;
步骤9:将数据块缓存到对应的局部数据域的缓存队列。
2.一种消冗文件系统,包括文件系统数据接收模块,数据分块模块,数据块管理模块,数据块存储模块,数据块索引存储模块;
所述文件系统数据接收模块接收NFS协议传输过来的数据流;
所述数据分块模块将接收到的数据流切分成数据块;
所述数据块管理模块将切分好的数据块分配到数据域的数据块队列,然后再判断数据块在数据域内部是否严格顺序或者满足操作系统预读的逻辑顺序,根据内存管理模块判定规则决定数据块是继续缓存还是写入数据文件内;
所述数据存储模块根据数据块管理模块分配的任务来对数据块进行存储;
所述数据块索引存储模块根据数据块存储模块生成的数据块索引;
所述的数据块管理模块包括数据域分配模块,数据块队列缓存模块,数据块局部顺序判断模块,内存管理模块;
所述数据域分配模块是指根据所收到的数据块的全局序号和数据域分配规则来对数据块进行数据域分配,数据块为变长;
所述数据块队列缓存模块对于数据域分配模块生成的镜像队列,用来缓存被判断为非顺序的数据块;
所述数据块局部顺序判断模块通过数据块的全局序号和其所在队列的被标记为入库的序号比对,如果满足严格顺序或者是相对顺序的则交由内存管理模块根据阈值确定是缓存还是强行写入数据文件;
所述内存管理模块对消冗文件系统内全部数据块缓存域缓存空间申请释放管理的功能,保证写入数据块的顺序性的同时兼顾系统性能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410717339.3A CN104408141B (zh) | 2014-12-01 | 2014-12-01 | 一种消冗文件系统及其数据部署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410717339.3A CN104408141B (zh) | 2014-12-01 | 2014-12-01 | 一种消冗文件系统及其数据部署方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104408141A true CN104408141A (zh) | 2015-03-11 |
CN104408141B CN104408141B (zh) | 2018-04-17 |
Family
ID=52645772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410717339.3A Active CN104408141B (zh) | 2014-12-01 | 2014-12-01 | 一种消冗文件系统及其数据部署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104408141B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682047A (zh) * | 2015-11-11 | 2017-05-17 | 杭州华为数字技术有限公司 | 一种数据导入方法以及相关装置 |
CN108073642A (zh) * | 2016-11-18 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 数据写入和读取的方法、装置及系统、数据交互系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183323A (zh) * | 2007-12-10 | 2008-05-21 | 华中科技大学 | 一种基于指纹的数据备份系统 |
CN102323958A (zh) * | 2011-10-27 | 2012-01-18 | 上海文广互动电视有限公司 | 重复数据删除方法 |
-
2014
- 2014-12-01 CN CN201410717339.3A patent/CN104408141B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183323A (zh) * | 2007-12-10 | 2008-05-21 | 华中科技大学 | 一种基于指纹的数据备份系统 |
CN102323958A (zh) * | 2011-10-27 | 2012-01-18 | 上海文广互动电视有限公司 | 重复数据删除方法 |
Non-Patent Citations (2)
Title |
---|
孙爱玲等: "一种基于重复数据删除的网络文件备份系统设计与实现", 《计算机应用与软件》 * |
张星煜等: "相似性—局部性方法相关参数分析", 《计算机技术与发展》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682047A (zh) * | 2015-11-11 | 2017-05-17 | 杭州华为数字技术有限公司 | 一种数据导入方法以及相关装置 |
CN106682047B (zh) * | 2015-11-11 | 2019-11-01 | 杭州华为数字技术有限公司 | 一种数据导入方法以及相关装置 |
CN108073642A (zh) * | 2016-11-18 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 数据写入和读取的方法、装置及系统、数据交互系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104408141B (zh) | 2018-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103425600B (zh) | 一种固态盘闪存转换层中的地址映射方法 | |
US9128925B2 (en) | System and method for direct memory access buffer utilization by setting DMA controller with plurality of arbitration weights associated with different DMA engines | |
CN105339910B (zh) | 在混合驱动器中的虚拟nand容量扩展 | |
CN102768645B (zh) | 混合缓存的固态硬盘预取方法和固态硬盘ssd | |
CN104737144B (zh) | 存储器存取的动态优先级管理 | |
CN104750432B (zh) | 一种数据存储方法及装置 | |
CN106406753B (zh) | 一种数据存储方法及数据存储装置 | |
CN103049220B (zh) | 存储控制方法、存储控制装置和固态存储系统 | |
CN105389135B (zh) | 一种固态盘内部缓存管理方法 | |
CN103858112A (zh) | 一种数据缓存方法、装置及系统 | |
CN105302830B (zh) | 一种地图瓦片缓存方法及装置 | |
JP2012128815A (ja) | メモリシステム | |
CN104408141A (zh) | 一种消冗文件系统及其数据部署方法 | |
CN102682086A (zh) | 数据分块方法及设备 | |
CN106293525A (zh) | 一种提高缓存使用效率的方法及系统 | |
CN103092778B (zh) | 一种存储系统的缓存镜像方法 | |
CN103823640B (zh) | 一种Flash存储器的高效率存储方法 | |
CN108845770A (zh) | 降低ssd写放大的方法、装置及计算机设备 | |
CN105389376A (zh) | 基于连续块的无碎片化多媒体数据存储方法及系统 | |
TWI720926B (zh) | 網路裝置、用於網路裝置之記憶體系統及操作網路裝置之方法 | |
CN102279825B (zh) | 一种固态硬盘控制器的智能dma控制器 | |
CN105243031A (zh) | 一种缓存分区分配空闲页的方法及装置 | |
CN101996228A (zh) | 共享文件数据块的方法及解除共享文件数据块的方法 | |
CN105224258B (zh) | 一种数据缓冲区的复用方法与系统 | |
CN103823766B (zh) | Flash存储器的高效率存储方法 |
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 |