发明名称 一种海量小文件读取存储方法
摘要 本发明提供一种海量小文件读取存储方法,通过将逻辑上连续的数据尽可能存储在物理磁盘的连续空间,使用cache技术充当元数据服务器的角色并通过简化的文件信息节点提高cache利用率,提高了小文件访问性能;聚合更新数据及其文件夹域中的相关数据为一次I/O请求写入,减少了文件碎片数量,读取时采用提前发送批量的高访问率的小文件方式来降低频繁的I/O操作,较好的提高了文件传输性能。
申请公布号 CN103176754A 申请公布日期 2013.06.26
申请号 CN201310112179.5 申请日期 2013.04.02
申请人 浪潮电子信息产业股份有限公司 发明人 张砚波;王东风
分类号 G06F3/06(2006.01)I 主分类号 G06F3/06(2006.01)I
代理机构 代理人
主权项 一种海量小文件读取存储方法, 其特征在于通过将逻辑上连续的小文件数据尽可能的存储在物理磁盘的连续空间之内,以此提高用户对文件访问的并发性操作,从而提高了海量小文件的访问性能,其中:小文件的读取操作设计为:在读写小文件的时间延迟主要花在磁盘磁头的寻道定位上,一旦定位好,读取一个数据块所花费的时间和读取连续几个数据块的时间相差不是很大,因此,结合上面提出的优化的数据存储结构,采用预读的方式,将同一个块中的文件一起读取出来,从而减少磁盘I/O的次数;针对频繁访问元数据服务器上的磁盘造成整个系统I/O性能较差的问题,使用cache充当元数据服务器的角色,在cache上保存文件信息节点的信息,并且通过简化的Node数据结构使每个文件信息节点只保留文件的磁盘空间信息以及另外少量有用的信息,从而提高cache的利用率,使cache能够保存大量的文件信息节点,通过这种方式,减少访问磁盘的次数和读取文件信息节点的开销,从而提高I/O性能;海量小文件在磁盘阵列上的存储方法为:在存储小文件时,通过采用开辟大块连续磁盘空间的方式来存储海量小文件,也就是将逻辑上连续的数据尽可能地存储在磁盘阵列的连续空间上,即将同一个文件的数据或将同一个文件夹下的文件数据尽可能地存储在连续的磁盘阵列块上,将磁盘空间划分为多个块,每个块的大小为64KB,每个小文件只能存放在单个块中,不能跨块存放,每一个文件夹将拥有一个或多个块,这些块都只存放此文件夹的数据,每个文件数据都存放在连续的磁盘空间上,以此提高“预读”数据的命中率,减少磁盘寻道时间,提高存储效能; 小文件在磁盘阵列上的存储数据存储方式是:通过简化Node属性信息,将文件信息节点的属性信息存放在元数据服务器上,用户只需要知道文件的磁盘空间信息即可进行访问,对Node的数据结构进行简化设计,只保留文件的磁盘空间信息以及属于它的少量数据成员,其中,File_id是文件标识符;StartPosition是文件在块中的起始位置;Long是文件的长度;Weight是文件权重,在本策略中代表文件的访问频率;Block_id是文件所存放的块的标识符;Count是文件的访问计数器;Lock是文件锁。
地址 250014 山东省济南市高新区舜雅路1036号