CN104391961A - 千万级小文件数据的一种读写解决策略 - Google Patents
千万级小文件数据的一种读写解决策略 Download PDFInfo
- Publication number
- CN104391961A CN104391961A CN201410718009.6A CN201410718009A CN104391961A CN 104391961 A CN104391961 A CN 104391961A CN 201410718009 A CN201410718009 A CN 201410718009A CN 104391961 A CN104391961 A CN 104391961A
- Authority
- CN
- China
- Prior art keywords
- file
- data
- disk space
- continuous
- small documents
- 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
- 238000013461 design Methods 0.000 claims description 14
- 239000012634 fragment Substances 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 6
- 238000000034 method Methods 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/172—Caching, prefetching or hoarding of files
-
- 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/1727—Details of free space management performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明提供一种千万级小文件数据的一种读写解决策略,设计在存储小文件时通过采用开辟大块的连续磁盘空间的方式来存储大量的小文件;首先将磁盘空间划分为多个块,大文件的连续磁盘空间就由这一系列块所组成,遇到的文件比较小时,每个小文件只能存放在单个块中,不能跨越2个块存放,每个文件数据都存放在连续的磁盘空间上。本发明主要是通过将逻辑上连续的小文件数据尽可能的存储在物理磁盘的连续空间之内,这样就提高用户对文件访问的并发性操作,从而提高了小文件的访问性能;采用Cache技术充当元数据服务器的角色,同时通过设计一种简化的小文件信息节点数据结构Node,大大提高Cache利用率和小文件读取性能。
Description
技术领域
本发明涉及计算机应用技术领域,具体地说是一种千万级小文件数据的一种读写解决策略。
背景技术
在现阶段的读取、存储领域小文件是数据访问、使用的最常见的数据形式。相对于大文件的条带化技术进行切片,来提高用户对文件访问的并发性,小文件(≤64KB)由于其不利于条带化,传统的方法一般是采用将单个文件存储在单个数据服务器上的策略,但是当小文件的数量到达一定程度之后,对小文件的大量地重复访问将会给数据服务器带来性能上的负担及I/O瓶颈问题,由于互联网上的数据信息大多以高频率的小文件形式表现出来,而且在一般用户的信息读取、存储中,对小文件的读取、存储较多,因此对互联网上高频率的小文件读/写性能的研究有重要的现实意义。
在现阶段, 传统的针对千万级小文件的处理、操作等管理上主要存在以下3个方面的问题:
1、由于小文件的访问频率较高,需要多次访问磁盘,所以磁盘I/O的性能较低;
2、因为文件比较小,容易形成文件碎片而造成磁盘空间的浪费;
3、为每个小文件请求建立一个连接时容易产生网络时延,降低了小文件的读取速率。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种千万级小文件数据的一种读写解决策略。
本发明的技术方案是按以下方式实现的,其特点是设计在存储小文件时通过采用开辟大块的连续磁盘空间的方式来存储大量的小文件;首先将磁盘空间划分为多个块,每个块的大小为64KB,大文件的连续磁盘空间就由这一系列块所组成,当遇到的文件比较小时,每个小文件只能存放在单个块中,不能跨越2个块存放,每个文件数据都存放在连续的磁盘空间上,在一个块中存放多个小文件A1,A2,A3,A4和A5为5个文件,文件与文件之间连续存放, A1与A2,A3与A4,红色部分为此块的碎片,当出现文件的大小小于这些碎片的大小时,应优先把文件存放在这些碎片中,本发明的存储布局中设计的是将逻辑上连续的数据尽可能地存储在物理磁盘的连续空间上,将同一个文件的数据或将同一个文件夹下的文件数据尽可能地存储在连续的磁盘空间块上,每一个文件夹将拥有一个或多个块,这些块都只存放此文件夹的文件;
在本系统的数据存储结构中,我们将文件信息节点的属性信息存放在元数据服务器上,在I/O服务器上,只需要知道文件的磁盘空间信息即可进行访问,在I/O服务器上,只需要记录文件的磁盘空间信息,而不需要记录文件的其他属性;对Node的数据结构进行简化设计,只保留文件的磁盘空间信息以及属于它的少量数据成员;
针对本系统的数据存储访问频率问题,首先,设计一个全局变量NodeList,NodeList是对Node的一个排序链表,根据文件的访问频率进行排序,它是为了实现优化文件传输而设计的,为整个小文件读取、存储解决方案服务。NodeList是对与每个文件夹而服务的,根据文件夹里的每个文件的访问频率形成一个排序列表,当用户访问该文件夹里的某个文件时,系统会自动地将这个列表里高访问频率的文件一起发送过去设定一个高访问频率的阈值 ,并将所有访问频率高于的文件顺序分成多个组,每个组可能包含多个文件,组中所有文件大小之和不超过64KB,每当用户请求当前文件夹中的一个文件时,系统会按照顺序将一个组的文件一起发送过去,从而降低文件传输时延,,的计算公式如下:
为文件夹每个文件的访问频率,n为当前文件夹中的文件个数,N由用户自己设置数值。
本发明的优点是:
(1)、主要是通过将逻辑上连续的小文件数据尽可能的存储在物理磁盘的连续空间之内,这样就提高用户对文件访问的并发性操作,从而提高了小文件的访问性能;
(2)、采用Cache技术充当元数据服务器的角色,同时通过设计一种简化的小文件信息节点数据结构Node,大大提高Cache利用率和小文件读取性能;
(3)、设计的策略中针对充当元数据服务器的cache的频繁I/O请求,读取时采用提前发送批量的高访问率的小文件方式来降低频繁的I/O操作,提升了小文件传输性能,可以更好的为小文件用户提供更好服务。
实施方式
下面对本发明的千万级小文件数据的一种读写解决策略作以下详细说明。
本发明的千万级小文件数据的一种读写解决策略,本发明设计在存储小文件时通过采用开辟大块的连续磁盘空间的方式来存储大量的小文件;首先将磁盘空间划分为多个块,每个块的大小为64KB,大文件的连续磁盘空间就由这一系列块所组成,当遇到的文件比较小时,每个小文件只能存放在单个块中,不能跨越2个块存放,每个文件数据都存放在连续的磁盘空间上,在一个块中存放多个小文件A1,A2,A3,A4和A5为5个文件,文件与文件之间连续存放,A1与A2,A3与A4,红色部分为此块的碎片,当出现文件的大小小于这些碎片的大小时,应优先把文件存放在这些碎片中,本发明的存储布局中设计的是将逻辑上连续的数据尽可能地存储在物理磁盘的连续空间上,将同一个文件的数据或将同一个文件夹下的文件数据尽可能地存储在连续的磁盘空间块上,每一个文件夹将拥有一个或多个块,这些块都只存放此文件夹的文件;
在本系统的数据存储结构中,我们将文件信息节点的属性信息存放在元数据服务器上,在I/O服务器上,只需要知道文件的磁盘空间信息即可进行访问,在I/O服务器上,只需要记录文件的磁盘空间信息,而不需要记录文件的其他属性;对Node的数据结构进行简化设计,只保留文件的磁盘空间信息以及属于它的少量数据成员;
针对本系统的数据存储访问频率问题,首先,设计一个全局变量NodeList,NodeList是对Node的一个排序链表,根据文件的访问频率进行排序,它是为了实现优化文件传输而设计的,为整个小文件读取、存储解决方案服务。NodeList是对与每个文件夹而服务的,根据文件夹里的每个文件的访问频率形成一个排序列表,当用户访问该文件夹里的某个文件时,系统会自动地将这个列表里高访问频率的文件一起发送过去设定一个高访问频率的阈值,并将所有访问频率高于的文件顺序分成多个组,每个组可能包含多个文件,组中所有文件大小之和不超过64KB,每当用户请求当前文件夹中的一个文件时,系统会按照顺序将一个组的文件一起发送过去,从而降低文件传输时延,,的计算公式如下:
为文件夹每个文件的访问频率,n为当前文件夹中的文件个数,N由用户自己设置数值。
本发明的千万级小文件数据的一种读写解决策略其加工制作非常简单方便,按照说明书所示即可加工。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (1)
1.千万级小文件数据的一种读写解决策略,其特征在于设计在存储小文件时通过采用开辟大块的连续磁盘空间的方式来存储大量的小文件;首先将磁盘空间划分为多个块,每个块的大小为64KB,大文件的连续磁盘空间就由这一系列块所组成,当遇到的文件比较小时,每个小文件只能存放在单个块中,不能跨越2个块存放,每个文件数据都存放在连续的磁盘空间上,在一个块中存放多个小文件A1,A2,A3,A4和A5为5个文件,文件与文件之间连续存放, A1与A2,A3与A4,红色部分为此块的碎片,当出现文件的大小小于这些碎片的大小时,应优先把文件存放在这些碎片中,本发明的存储布局中设计的是将逻辑上连续的数据尽可能地存储在物理磁盘的连续空间上,将同一个文件的数据或将同一个文件夹下的文件数据尽可能地存储在连续的磁盘空间块上,每一个文件夹将拥有一个或多个块,这些块都只存放此文件夹的文件;
在本系统的数据存储结构中,我们将文件信息节点的属性信息存放在元数据服务器上,在I/O服务器上,只需要知道文件的磁盘空间信息即可进行访问,在I/O服务器上,只需要记录文件的磁盘空间信息,而不需要记录文件的其他属性;对Node的数据结构进行简化设计,只保留文件的磁盘空间信息以及属于它的少量数据成员;
针对本系统的数据存储访问频率问题,首先,设计一个全局变量NodeList,NodeList是对Node的一个排序链表,根据文件的访问频率进行排序,它是为了实现优化文件传输而设计的,为整个小文件读取、存储解决方案服务;
NodeList是对与每个文件夹而服务的,根据文件夹里的每个文件的访问频率形成一个排序列表,当用户访问该文件夹里的某个文件时,系统会自动地将这个列表里高访问频率的文件一起发送过去设定一个高访问频率的阈值 ,并将所有访问频率高于的文件顺序分成多个组,每个组可能包含多个文件,组中所有文件大小之和不超过64KB,每当用户请求当前文件夹中的一个文件时,系统会按照顺序将一个组的文件一起发送过去,从而降低文件传输时延,,的计算公式如下:
为文件夹每个文件的访问频率,n为当前文件夹中的文件个数,N由用户自己设置数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410718009.6A CN104391961A (zh) | 2014-12-03 | 2014-12-03 | 千万级小文件数据的一种读写解决策略 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410718009.6A CN104391961A (zh) | 2014-12-03 | 2014-12-03 | 千万级小文件数据的一种读写解决策略 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104391961A true CN104391961A (zh) | 2015-03-04 |
Family
ID=52609865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410718009.6A Pending CN104391961A (zh) | 2014-12-03 | 2014-12-03 | 千万级小文件数据的一种读写解决策略 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104391961A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701059A (zh) * | 2016-02-25 | 2016-06-22 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的usb文件传输控制方法及系统 |
CN107066505A (zh) * | 2017-01-10 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种性能优化的小文件存储访问的系统及方法 |
CN107391423A (zh) * | 2017-07-26 | 2017-11-24 | Tcl移动通信科技(宁波)有限公司 | 通过otg功能传输文件的方法、存储介质及移动终端 |
CN107450853A (zh) * | 2017-08-01 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种数据文件读取方法及装置 |
CN110109886A (zh) * | 2018-02-01 | 2019-08-09 | 中兴通讯股份有限公司 | 分布式文件系统的文件存储方法及分布式文件系统 |
CN112015672A (zh) * | 2020-08-28 | 2020-12-01 | 北京浪潮数据技术有限公司 | 一种存储系统中数据处理方法、装置、设备及存储介质 |
-
2014
- 2014-12-03 CN CN201410718009.6A patent/CN104391961A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701059A (zh) * | 2016-02-25 | 2016-06-22 | 惠州Tcl移动通信有限公司 | 一种基于移动终端的usb文件传输控制方法及系统 |
CN107066505A (zh) * | 2017-01-10 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种性能优化的小文件存储访问的系统及方法 |
CN107391423A (zh) * | 2017-07-26 | 2017-11-24 | Tcl移动通信科技(宁波)有限公司 | 通过otg功能传输文件的方法、存储介质及移动终端 |
CN107450853A (zh) * | 2017-08-01 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种数据文件读取方法及装置 |
CN110109886A (zh) * | 2018-02-01 | 2019-08-09 | 中兴通讯股份有限公司 | 分布式文件系统的文件存储方法及分布式文件系统 |
CN112015672A (zh) * | 2020-08-28 | 2020-12-01 | 北京浪潮数据技术有限公司 | 一种存储系统中数据处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102332029B (zh) | 一种基于Hadoop 的海量可归类小文件关联存储方法 | |
CN103176754A (zh) | 一种海量小文件读取存储方法 | |
CN104391961A (zh) | 千万级小文件数据的一种读写解决策略 | |
CN109947668B (zh) | 存储数据的方法和装置 | |
JP6553649B2 (ja) | クラスタリング記憶方法および装置 | |
US9792344B2 (en) | Asynchronous namespace maintenance | |
US20180225090A1 (en) | Flash optimized columnar data layout and data access algorithms for big data query engines | |
CN102736961B (zh) | 数据去重复的备份和还原策略 | |
US8578096B2 (en) | Policy for storing data objects in a multi-tier storage system | |
US9311252B2 (en) | Hierarchical storage for LSM-based NoSQL stores | |
US9047330B2 (en) | Index compression in databases | |
CN105653524B (zh) | 一种数据存储方法、装置和系统 | |
CN104077405B (zh) | 时序类型数据存取方法 | |
KR20170054299A (ko) | 메모리 관리 시의 중복 제거를 위해서 기준 세트로 기준 블록을 취합하는 기법 | |
CN104462389B (zh) | 基于分级存储的分布式文件系统实现方法 | |
CN102033924B (zh) | 一种数据存储方法和系统 | |
CN110018983A (zh) | 一种元数据查询方法及装置 | |
CN104133882A (zh) | 一种基于hdfs的小文件处理方法 | |
CN103139300A (zh) | 一种基于重复数据删除的虚拟机镜像管理的优化方法 | |
CN103020255A (zh) | 分级存储方法和装置 | |
CN104375782A (zh) | 千万级小文件数据的一种读写解决方法 | |
US20210011634A1 (en) | Methods and systems for managing key-value solid state drives (kv ssds) | |
CN109800185A (zh) | 一种数据存储系统中的数据缓存方法 | |
CN103049574B (zh) | 实现文件动态副本的键值文件系统及方法 | |
CN105630810A (zh) | 一种对于海量小文件在分布式存储系统中上载的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150304 |