千万级小文件数据的一种读写解决方法技术

技术编号:11077065 阅读:142 留言:0更新日期:2015-02-25 15:17
本发明专利技术提供一种千万级小文件数据的一种读写解决方法,本发明专利技术在存储小文件时是通过采用开辟大块连续磁盘空间的方式来存储大量小文件,也就是将逻辑上连续的数据尽可能地存储在磁盘阵列的连续空间上;磁盘空间划分为多个块,每个块的大小为64KB,基本思想为:每个小文件只能存放在单个块中,不能跨越2个块存放,每一个文件夹将拥有一个或多个块,这些块都只存放此文件夹的数据,每个文件数据都存放在连续的磁盘空间上;本发明专利技术和现有技术相比,该发明专利技术的方法通过将逻辑上连续的数据尽可能存储在物理磁盘的连续空间,使用cache技术充当元数据服务器的角色并通过简化的文件信息节点提高cache利用率,提高了小文件访问性能。

【技术实现步骤摘要】

本专利技术涉及计算机应用
,具体地说是一种。
技术介绍
在现阶段的读取、存储领域小文件是数据访问、使用的最常见的数据形式。相对于大文件的条带化技术进行切片,来提高用户对文件访问的并发性,小文件64KB)由于其不利于条带化,传统的方法一般是采用将单个文件存储在单个数据服务器上的方法,但是当小文件的数量到达一定程度之后,对小文件的大量地重复访问将会给数据服务器带来性能上的负担及I/O瓶颈问题,由于互联网上的数据信息大多以高频率的小文件形式表现出来,而且在一般用户的信息读取、存储中,对小文件的读取、存储较多,因此对互联网上高频率的小文件读/写性能的研究有重要的现实意义。 在现阶段,传统的针对千万级小文件的处理、操作等管理上主要存在以下3个方面的问题:(1)由于小文件的访问频率较高,需要多次访问磁盘,所以磁盘I/o的性能较低;(2)因为文件比较小,容易形成文件碎片而造成磁盘空间的浪费;(3)为每个小文件请求建立一个连接时容易产生网络时延,降低了小文件的读取速率。
技术实现思路
本专利技术的目的是克服现有技术中存在的不足,提供一种,通过提前发送批量高频率访问的文件传输方法来减少小文件的传输时延,提高了小文件的读取存储的性能。 本专利技术的技术方案是按以下方式实现的,方法如下:小文件在磁盘阵列上的存储结构布局设计方法为:本专利技术在存储小文件时是通过采用开辟大块连续磁盘空间的方式来存储大量小文件,也就是将逻辑上连续的数据尽可能地存储在磁盘阵列的连续空间上,即将同一个文件的数据或将同一个文件夹下的文件数据尽可能地存储在连续的磁盘阵列块上;磁盘空间划分为多个块,每个块的大小为64KB,基本思想为:每个小文件只能存放在单个块中,不能跨越2个块存放,每一个文件夹将拥有一个或多个块,这些块都只存放此文件夹的数据,每个文件数据都存放在连续的磁盘空间上;小文件在磁盘阵列上的存储数据结构为:在本专利中设计了一种适合小文件的简化Node属性信息;同时,我们将文件信息节点的属性信息存放在元数据服务器上,这样只需要知道文件的磁盘空间信息即可进行访问;对Node的数据结构进行简化设计,只保留文件的磁盘空间信息以及属于它的少量数据成员,其中,Fil e_id是文件标识符;StartPos it 1n是文件在块中的起始位置;Long是文件的长度;Weight是文件权重,在本方法中代表文件的访问频率;Block_id是文件所存放的块的标识符;Count是文件的访问计数器;Lock是文件锁;小文件的读取操作设计为:在读写小文件的时间延迟主要花在磁盘磁头的寻道定位上,一旦定位好,读取一个数据块所花费的时间和读取连续几个数据块的时间相差不是很大,因此,结合上面提出的优化的数据存储结构,在本解决方案中采用预读的方式,将同一个块中的文件一起读取出来,从而减少磁盘I/O的次数;针对频繁访问元数据服务器上的磁盘造成整个系统I/O性能较差的问题,在本专利技术的方法中,使用cache充当元数据服务器的角色,在cache上保存文件信息节点的信息,并且通过简化的Node数据结构使每个文件信息节点只保留文件的磁盘空间信息以及另外少量有用的信息,从而提高cache的利用率,使cache能够保存大量的文件信息节点,通过这种方式,减少访问磁盘的次数和读取文件信息节点的开销,从而提高I/O性能。 本专利技术的优点是:本专利技术的和现有技术相比,该专利技术的方法通过将逻辑上连续的数据尽可能存储在物理磁盘的连续空间,使用cache技术充当元数据服务器的角色并通过简化的文件信息节点提高cache利用率,提高了小文件访问性能;聚合更新数据及其文件夹域中的相关数据为一次I/O请求写入,减少了文件碎片数量,读取时采用提前发送批量的高访问率的小文件方式来降低频繁的I/O操作,较好的提高了文件传输性能。 实施方式下面对本专利技术的作以下详细说明。 本专利技术的,方法如下:小文件在磁盘阵列上的存储结构布局设计方法为:本专利技术在存储小文件时是通过采用开辟大块连续磁盘空间的方式来存储大量小文件,也就是将逻辑上连续的数据尽可能地存储在磁盘阵列的连续空间上,即将同一个文件的数据或将同一个文件夹下的文件数据尽可能地存储在连续的磁盘阵列块上;磁盘空间划分为多个块,每个块的大小为64KB,基本思想为:每个小文件只能存放在单个块中,不能跨越2个块存放,每一个文件夹将拥有一个或多个块,这些块都只存放此文件夹的数据,每个文件数据都存放在连续的磁盘空间上;小文件在磁盘阵列上的存储数据结构为:在本专利中设计了一种适合小文件的简化Node属性信息;同时,我们将文件信息节点的属性信息存放在元数据服务器上,这样只需要知道文件的磁盘空间信息即可进行访问;对Node的数据结构进行简化设计,只保留文件的磁盘空间信息以及属于它的少量数据成员,其中,Fil e_id是文件标识符;StartPos it 1n是文件在块中的起始位置;Long是文件的长度;Weight是文件权重,在本方法中代表文件的访问频率;Block_id是文件所存放的块的标识符;Count是文件的访问计数器;Lock是文件锁;小文件的读取操作设计为:在读写小文件的时间延迟主要花在磁盘磁头的寻道定位上,一旦定位好,读取一个数据块所花费的时间和读取连续几个数据块的时间相差不是很大,因此,结合上面提出的优化的数据存储结构,在本解决方案中采用预读的方式,将同一个块中的文件一起读取出来,从而减少磁盘I/o的次数;针对频繁访问元数据服务器上的磁盘造成整个系统I/O性能较差的问题,在本专利技术的方法中,使用cache充当元数据服务器的角色,在cache上保存文件信息节点的信息,并且通过简化的Node数据结构使每个文件信息节点只保留文件的磁盘空间信息以及另外少量有用的信息,从而提高cache的利用率,使cache能够保存大量的文件信息节点,通过这种方式,减少访问磁盘的次数和读取文件信息节点的开销,从而提高I/O性能。 本专利技术设计在存储小文件时通过采用开辟大块的连续磁盘空间的方式来存储大量的小文件。首先将磁盘空间划分为多个块,每个块的大小为64KB,大文件的连续磁盘空间就由这一系列块所组成,当遇到的文件比较小时,每个小文件只能存放在单个块中,不能跨越2个块存放,每个文件数据都存放在连续的磁盘空间上,Al,A2,A3,A4和A5为5个文件,文件与文件之间连续存放,如Al与A2,A3与A4,红色部分为此块的碎片,当出现文件的大小小于这些碎片的大小时,应优先把文件存放在这些碎片中,为了提高“预读”数据的命中率,在本专利技术的存储布局中设计的是将逻辑上连续的数据尽可能地存储在物理磁盘的连续空间上,即将同一个文件的数据或将同一个文件夹下的文件数据尽可能地存储在连续的磁盘空间块上,每一个文件夹将拥有一个或多个块,这些块都只存放此文件夹的文件 在本系统的数据存储结构中,我们将文件信息节点的属性信息存放在元数据服务器上,在I/o服务器上,只需要知道文件的磁盘空间信息即可进行访问,因此在I/O服务器上,只需要记录文件的磁盘空间信息,而不需要记录文件的其他属性,如创建时间、最后访问时间和所属用户等。基于此,对Node的数据结构进行简化设计,只保留文件的磁盘空间信息以及属于它的少量本文档来自技高网...

【技术保护点】
千万级小文件数据的一种读写解决方法,其特征在于:小文件在磁盘阵列上的存储结构布局设计方法为:本专利技术在存储小文件时是通过采用开辟大块连续磁盘空间的方式来存储大量小文件,也就是将逻辑上连续的数据尽可能地存储在磁盘阵列的连续空间上,即将同一个文件的数据或将同一个文件夹下的文件数据尽可能地存储在连续的磁盘阵列块上;磁盘空间划分为多个块,每个块的大小为64KB,基本思想为:每个小文件只能存放在单个块中,不能跨越2个块存放,每一个文件夹将拥有一个或多个块,这些块都只存放此文件夹的数据,每个文件数据都存放在连续的磁盘空间上; 小文件在磁盘阵列上的存储数据结构为:在本专利中设计了一种适合小文件的简化Node属性信息;同时,我们将文件信息节点的属性信息存放在元数据服务器上,这样只需要知道文件的磁盘空间信息即可进行访问;对Node的数据结构进行简化设计,只保留文件的磁盘空间信息以及属于它的少量数据成员,其中,File_id是文件标识符;StartPosition是文件在块中的起始位置;Long是文件的长度;Weight是文件权重,在本方法中代表文件的访问频率;Block_id是文件所存放的块的标识符;Count是文件的访问计数器;Lock是文件锁;小文件的读取操作设计为:在读写小文件的时间延迟主要花在磁盘磁头的寻道定位上,一旦定位好,读取一个数据块所花费的时间和读取连续几个数据块的时间相差不是很大,因此,结合上面提出的优化的数据存储结构,在本解决方案中采用预读的方式,将同一个块中的文件一起读取出来,从而减少磁盘I/O的次数;针对频繁访问元数据服务器上的磁盘造成整个系统I/O性能较差的问题,在本专利技术的方法中,使用cache充当元数据服务器的角色,在cache上保存文件信息节点的信息,并且通过简化的Node数据结构使每个文件信息节点只保留文件的磁盘空间信息以及另外少量有用的信息,从而提高cache的利用率,使cache能够保存大量的文件信息节点,通过这种方式,减少访问磁盘的次数和读取文件信息节点的开销,从而提高I/O性能。...

【技术特征摘要】
1.千万级小文件数据的一种读写解决方法,其特征在于: 小文件在磁盘阵列上的存储结构布局设计方法为: 本发明在存储小文件时是通过采用开辟大块连续磁盘空间的方式来存储大量小文件,也就是将逻辑上连续的数据尽可能地存储在磁盘阵列的连续空间上,即将同一个文件的数据或将同一个文件夹下的文件数据尽可能地存储在连续的磁盘阵列块上;磁盘空间划分为多个块,每个块的大小为64KB,基本思想为:每个小文件只能存放在单个块中,不能跨越2个块存放,每一个文件夹将拥有一个或多个块,这些块都只存放此文件夹的数据,每个文件数据都存放在连续的磁盘空间上; 小文件在磁盘阵列上的存储数据结构为: 在本专利中设计了一种适合小文件的简化Node属性信息;同时,我们将文件信息节点的属性信息存放在元数据服务器上,这样只需要知道文件的磁盘空间信息即可进行访问;对Node的数据结构进行简化设计,只保留文件的磁盘空间信息以及属于它的少量数据成员,其中,File_id是文件标识符;StartPosit1n是文件...

【专利技术属性】
技术研发人员:张砚波吴丙涛
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1