一种提高文件系统吞吐量的方法与系统的制作方法
【技术领域】
[0001]本发明涉及计算机存储领域,特别是涉及一种提高文件系统吞吐量的方法与系统。
【背景技术】
[0002]文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构,负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等,一般来说文件系统性能有顺序写、顺序读、随机写、随机读等性能指标。一个具体的文件系统的性能指标与具体的硬件配置有关,在硬件配置相同的情况下文件系统实现的方式不同各种性能指标也不同。
[0003]随着网络应用的迅速发展,网络信息数据量越来越大,文件系统的吞吐量不高将影响整个文件系统的性能。
【发明内容】
[0004]有鉴于此,本发明的主要目的在于提供一种提高文件系统吞吐量的方法与系统,可以有效地提尚文件系统的吞吐量。
[0005]为实现上述目的,本发明提供了一种提高文件系统吞吐量的方法,包括:
[0006]响应文件写请求,根据系统位数在文件系统预分配对应数量的块存储所述写请求对应的数据;
[0007]将所述块中存储的所述写请求对应的数据写入页高速缓冲存储器;
[0008]将所述页高速缓冲存储器中的所述写请求对应的数据同步至存储硬件。
[0009]优选地,响应文件写请求,根据系统位数在文件系统预分配对应数量的块存储所述写请求对应的数据还包括:
[0010]接收经过虚拟文件系统层发送的客户端发起的所述文件写请求。
[0011 ]优选地,响应文件写请求,根据系统位数在文件系统预分配对应数量的块存储所述写请求对应的数据包括:
[0012I响应文件写请求,确定系统位数;
[0013]为文件系统预分配与所述系统位数相同数量的块;
[0014]将所述写请求对应的数据存入所述块中。
[0015]本发明还提供了一种提高文件系统吞吐量的系统,包括:
[0016]块预分配模块,用于响应文件写请求,根据系统位数在文件系统预分配对应数量的块存储所述写请求对应的数据;
[0017]缓存模块,用于将所述块中存储的所述写请求对应的数据写入页高速缓冲存储器;
[0018]存储模块,用于将所述页高速缓冲存储器中的所述写请求对应的数据同步至存储硬件。
[0019]优选地,所述提高文件系统吞吐量的系统还包括:
[0020]写请求获取模块,用于接收经过虚拟文件系统层发送的客户端发起的所述文件写请求。
[0021 ]优选地,所述块预分配模块包括:
[0022]系统位数确定子模块,用于响应文件写请求,确定系统位数;
[0023]块分配子模块,用于为文件系统预分配与所述系统位数相同数量的块;数据存储子模块,用于将所述写请求对应的数据存入所述块中。
[0024]应用本发明提供的一种提高文件系统吞吐量的方法与系统,响应文件写请求,根据系统位数在文件系统预分配对应数量的块存储所述写请求对应的数据,将所述块中存储的所述写请求对应的数据写入页高速缓冲存储器,将所述页高速缓冲存储器中的所述写请求对应的数据同步至存储硬件,为写请求预分配块,提高了块的分配效率,带动提高页高速缓冲存储器的缓存效率,进一步提尚读与效率,从而有效地提尚了文件系统的吞吐量。
【附图说明】
[0025]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0026]图1为本发明一种提高文件系统吞吐量的方法实施例的流程图;
[0027]图2为本发明一种提高文件系统吞吐量的方法实施例客户端和文件系统的交互原理示意图;
[0028]图3为本发明一种提高文件系统吞吐量的方法实施例文件系统和存储设备的结构原理示意图;
[0029]图4为本发明一种提高文件系统吞吐量的系统实施例的结构示意图;
[0030]图5为本发明一种提高文件系统吞吐量的系统实施例的详细结构示意图;
[0031]图6为本发明一种提高文件系统吞吐量的系统实施例的又一结构示意图。
【具体实施方式】
[0032]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0033]文件系统的后端存储一般都是许多磁盘,有物理磁盘、有磁盘阵列等。说到整个文件系统的读写性能,最后都要归于单个物理磁盘的性能。单个物理磁盘性能特点有:顺序1的性能好,因为不需要磁盘的寻道时间;随机1性能差,每秒的小块读写1PS也就100左右;1请求长度越大,吞吐量越高;由磁盘的物理结构限定,磁盘片外圈的1性能好于内圈。磁盘阵列是对许多磁盘的封装,性能特点虽然不像单个磁盘那么明显,但总体趋势还是相符合的。无论是单个磁盘还是磁盘整列,我们都称为存储,存储主要有两项性能指标,吞吐量和10PS。一般情况下,1PS指的是小块1的1PS,吞吐量以大块1来测量,其中,吞吐量指存储每秒处理的数据总量,1PS指存储每秒处理的1请求总个数。
[0034]吞吐量和1PS之间一般还是有一定的关联,存储的性能较好,1PS越高,吞吐量就较高,反之亦然。1PS越高,1请求的响应时间就越短。另外无论是吞吐量还是1PS都是1越有顺序,就越高,反之越随机,就越低。
[0035]由于顺序大块与决定了文件系统的最尚与性能,通过优化顺序大块与性能提尚文件系统的最高写性能。
[0036]当客户端发起一个文件写请求时,先经过操作系统的vfs层发送给文件系统处理,最后答复结果给客户端。对于NAS系统来说客户端需要首先通过网络发送到服务器端的NAS服务程序,然后才能经过vfs层发送给文件系统。
[0037]能够顺序大块读写时才能使存储的使用率达到100%,这时便可以发挥出硬件存储的最大吞吐量。存储的使用率是100%,是指存储在任何时间都在工作,没有空闲的时间。如要达到这个目标,需要存储排队的读写1数持续大于I,那么存储的利用率就能达到100%。存储的排队的1数持续大于I,也就是说文件系统发出持续的1请求。在文件系统和存储设备之间存在页高速缓冲存储器Page Cache,引入缓存层的目的,是为了提高1效率。如何发挥Page Cache的效率就成了提高吞吐量的关键。
[0038]本发明提供了一种提高文件系统吞吐量的方法,图1示出了本发明提高文件系统吞吐量的方法实施例的流程图,包括:
[0039]步骤SlOl:响应文件写请求,根据系统位数在文件系统预分配对应数量的块存储所述写请求对应的数据;
[0040]首先接收经过虚拟文件系统vfs层发