一种文件系统内读写数据的方法及装置的制作方法

文档序号:6355941阅读:277来源:国知局
专利名称:一种文件系统内读写数据的方法及装置的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种文件系统内读写数据的方法及装置。
背景技术
文件系统是用来管理和存储文件信息的文件管理系统,文件系统可以通过逻辑单元(LUN)的虚拟块设备,向独立磁盘冗余阵列(Redundant Array of Independent Disk,RAID)模块读写数据。其中RAID模块中可以包括一个或多个数据存储块(记为RAIDn),每个数据存储块包括多个硬盘,数据存储在这些硬盘中,并带有附加的冗余信息。在进行数据读写时,当文件系统接收到数据读写请求即输入输出(IO)请求,对该数据读写请求进行解析后储存到LUN虚拟块设备中相应位置;而RAID模块就会从LUN虚 拟块设备中读取了数据读写请求,并对数据读写请求解析后,采用RAID的数据保护方法对请求的数据进行处理,比如将数据存储到硬盘中,或从硬盘中读取数据,其中RAID的数据保护方法即为RAID模块进行数据读写时所采用的方法,包括多种类型,即RAIDn(n = 1,2....)的数据保护方法。现有RAID模块会以数据条带为单位来存储数据,每个数据条带中存储有多个分片数据。发明人在研究中发现,现有对文件数据处理时,是文件系统将读写请求写到LUN虚拟块设备中,再由RAID模块向硬盘读写数据的,数据读写的效率较低。

发明内容
本发明实施例提供文件系统内读写数据的方法及装置,提高数据读/写效率。本发明实施例提供一种文件系统内读写数据的方法,所述文件系统支持文件级独立磁盘冗余算法操作,包括接收文件读/写请求,确定所述文件读/写请求所请求读/写的数据在数据条带中的读/写位置;所述数据条带是独立磁盘冗余阵列RAID的数据读写条带;根据所述确定的读/写位置,顺序缓存至少一个数据条带对应的文件读/写请求所请求读/写的数据信息;根据所述缓存的至少一个完整数据条带对应的文件读请求所请求读出的数据信息,从硬盘的相应数据条带读取数据,或根据所述缓存的至少一个完整数据条带对应的文件写请求所请求写入的数据信息,将所述缓存的至少一个完整数据条带对应的文件写请求所请求写入的数据信息写入所述硬盘的相应数据条带中。本发明实施例提供一种文件系统内读写数据的装置,所述文件系统支持文件级独立磁盘冗余算法操作,所述装置包括请求接收模块,位置确定模块,条带缓存模块和操作模块;所述请求接收模块,用于接收文件读/写请求;所述位置确定模块,用于确定所述文件读/写请求所请求读/写的数据在数据条带中的读/写位置;所述数据条带是独立磁盘冗余阵列RAID的数据读写条带;
所述条带缓存模块,用于根据所述位置确定模块确定的读/写位置,顺序缓存至少一个数据条带对应的文件读/写请求所请求读/写的数据信息;所述操作模块,用于根据缓存的至少一个完整数据条带对应的所述文件读请求所请求读出的数据信息,从硬盘的相应数据条带读取数据,或根据所述缓存的至少一个完整数据条带对应的文件写请求所请求写入的数据信息,将所述缓存的至少一个完整数据条带对应的文件写请求所请求写入的数据信息写入所述硬盘的相应数据条带中。本发明实施例中文件系统支持文件级独立磁盘冗余算法操作,在接收到文件读/写请求后,确定请求读/写的数据在数据条带中的读/写位置,并顺序缓存至少一个数据条带对应的请求读/写的数据信息,并对缓存的至少一个完整数据条带的数据信息进行相对应处理。这样在缓存完整一个数据条带对应的请求读/写的数据信息后,并以数据条带为单位进行数据读/写,可以不需要每次在接收到文件读/写请求后,都先将文件读/写请求写入到LUN虚拟块设备中,再由RAID模块访问硬盘,从而提高了数据读/写效率;且本发明实施例中的方法不需要经过文件系统和RAID模块分别对文件操作请求 进行解析后,再由RAID模块向硬盘进行文件操作,而是由文件系统采用RAID的数据保护算法将数据信息缓存成数据条带,并直接访问硬盘,可以提高数据存储的可靠性,并简化了文件处理的过程。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I是本发明实施例提供的一种文件系统内读写数据的方法的流程图;图2是本发明实施例提供的一种文件系统内读写数据方法的结构示意图;图3是本发明实施例提供的一种文件系统内读写数据装置的结构示意图;图4是本发明实施例中文件系统与上层应用系统之间的关系结构示意图;图5是本发明实施例提供的另一种文件系统内读写数据装置的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供一种文件系统内读写数据的方法,本发明实施例的文件操作方法是文件系统所执行的方法,流程图如图I所示,包括101,接收文件读/写请求,这里文件读/写请求即为IO请求。102,确定文件读/写请求所请求读/写的数据在数据条带中的读/写位置,这里数据条带是RAID的数据读写条带。本发明实施例中,文件系统支持文件级独立磁盘冗余算法操作,比如文件系统可以把单个文件按照RAID条带分布进行储存,即文件系统中的数据以数据条带形式存储在多个硬盘中,文件系统直接对这些硬盘进行文件操作,比如可以直接向硬盘写数据或读数据等。其中这里的硬盘可以是任何非易失性存储介质,比如传统硬盘,固态硬盘,磁带,或可擦写光盘等。本实施例中文件系统对硬盘进行的文件操作方法可以是传统的任一类型的RAID数据保护方法即RAIDn(n= 1,2...)的数据保护方法,其中RAIDn是一个数据存储块,每个数据存储块的数据保护方法的类型都不同例如RAIDl是数据多份镜像冗余的保护方法;而RAID5将数据存储在数据条带中,且每个数据条带中的任一分片数据都可以通过该数据条带中的检验块和其他分片数据计算出,其中一个数据条带中的分片数据储存在不同的硬盘上。这里数据条带是采用某些类型的RAID数据保护算法进行存储数据的单位,一个数据条带中可以包含多个分片数据。在文件读/写请求中,都会包含有文件数据相对于初始存储数据的偏移位置,文件系统可以根据这个偏移位置来确定请求读/写的数据在数据条带中的读/写位置,这里读/写位置可以是在数据条带中的第几个分片,或第几个硬盘
坐寸o可以理解,在每个硬盘上都可以有个单盘文件系统,在单盘文件系统上建立有至少两个分片文件,文件数据可以分布到这些分片文件中,而一个文件读/写请求对应的文件数据就可以分布在至少两个硬盘上单盘文件系统的分片文件中,且组成RAID的数据保护关系。103,根据确定的读/写位置,顺序缓存至少一个数据条带对应的文件读/写请求所请求读/写的数据信息。如果接收到文件写请求,则这里缓存至少一个数据条带对应的文件写请求所请求写入的数据本身,如果接收到的是文件读请求,则这里缓存的是至少一个数据条带对应的文件读请求所请求读出数据的信息。可以理解,如果一个文件读/写请求中请求读/写的数据没有占满一个数据条带,则需要等待接收其它的文件读/写请求,直到所请求读/写数据能占满一个数据条带,才执行步骤104。例如一个数据条带允许存储7个分片数据,而接收到的一个文件读/写请求所请求读/写的数据形成4个分片数据,则文件系统需要等待接收其它文件读/写请求,直到其它文件读/写请求所请求读/写的数据可以形成另外3个分片数据,才执行步骤104。如果一个文件读/写请求中请求读/写的数据超出一个数据条带的存储空间,则只要读/写数据能占满一个数据条带,就执行步骤104,并继续缓存该文件读/写请求中请求读/写的,且在该数据条带之外存储的数据信息。例如一个数据条带允许存储4个分片数据,而接收到的一个文件读/写请求所请求读/写的数据形成7个分片数据,则文件系统在顺序缓存了 4个分片数据,就执行步骤104,并将继续缓存该文件读/写请求中请求读/写的其它3个分片数据信息。本实施例中可以同时对多个数据条带对应的所请求读/写的数据信息进行缓存。104,根据缓存的至少一个完整数据条带对应的文件读请求所请求读出的数据信 息,从硬盘的相应数据条带读取数据,或根据缓存的至少一个完整数据条带对应的文件写请求所请求写入的数据信息,将缓存的至少一个完整数据条带对应的文件写请求所请求写入的数据信息写入硬盘的相应数据条带。需要说明的是,文件系统 在执行步骤103到104时,对于同一个数据条带来说是顺序执行;而对于不同的数据条带来说是并行执行,即在缓存一个数据条带对应的数据信息的同时,文件系统可以对缓存好的其他数据条带对应的数据信息进行相应读/写操作。本实施例中,文件系统是缓存一个完整的数据条带之后,才访问硬盘进行数据的读写,可见,文件系统是以一个数据条带为单位来访问硬盘的,而不是以一个文件读写请求来访问硬盘的,而数据条带是数据在硬盘中的存储位置,这样会提高文件系统进行数据的读写速率。本发明实施例中文件系统支持文件级独立磁盘冗余算法操作,在接收到文件读/写请求后,确定请求读/写的数据在数据条带中的读/写位置,并顺序缓存至少一个数据条带对应的请求读/写的数据信息,并对缓存的至少一个完整数据条带的数据信息进行相对应处理。这样在缓存完整一个数据条带对应的请求读/写的数据信息后,并以数据条带为单位进行数据读/写,可以不需要每次在接收到文件读/写请求后,都先将文件读/写请求写入到LUN虚拟块设备中,再由RAID模块访问硬盘,从而提高了数据读/写效率;且本发明实施例中的方法不需要经过文件系统和RAID模块分别对文件操作请求进行解析后,再由RAID模块向硬盘进行文件操作,而是由文件系统采用RAID的数据保护算法将数据信息缓存成数据条带,并直接访问硬盘,可以提高数据存储的可靠性,并简化了文件处理的过程。在一个具体的实施例中,文件系统在步骤101中接收到文件读/写请求后,还可以先确定文件读/写请求所请求读/写的文件类型,如果文件类型是文件数据,即文件的内容数据,则执行步骤102。如果文件类型是文件元数据,即文件系统中的属性数据,比如文件格式、文件大小等数据,则文件系统会向储存有文件元数据的任一硬盘中读取文件元数据,或按照多份镜像冗余算法,将文件元数据备份成多份并存储到至少两个硬盘中。本实施例中文件系统对不同文件类型采用不同的方法。比如对于一些文件类型的数据比较重要(如文件元数据),可以选用RAIDl的多份镜像冗余算法;而一些类型的数据(如文件数据)可以根据应用场景需要,选择RAID5,RAID6等保护方法,并以数据条带的形式对硬盘中的数据进行操作。这样使得在进行文件读/写操作时,就可以对比较重要的文件类型的数据重点保护,比如可以将重要的数据写到系统中的至少两个硬盘上等,从而提高了数据存储的可靠性。且为了进一步确保数据的可靠性,当文件系统在接收到同步(sync)操作,清除(flush)操作或关闭(close)操作等操作指令时,如果当前正在缓存的数据信息没有占满一个数据条带,也要执行步骤104中的数据写入操作,即将步骤103当前缓存的数据条带对应的数据信息写入到相应的数据条带。这样保证了在执行同步、清除或关闭文件等操作之前,将数据信息都备份到硬盘中。在本发明实施例中,文件系统是先将写入硬盘的数据以数据条带为单位进行缓存,如果在将缓存的数据写入硬盘之前,需要读取这些缓存的数据条带的数据,则为了使得数据读取的及时准确,在另一个具体的实施例中如果步骤101中接收的是文件读请求,文件系统在执行上述步骤104的读取数据时,需要先确定缓存的至少一个完整数据条带对应的文件读请求所请求读出的数据信息,是否储存在文件系统当前缓存的其它数据条带中,如果是则从文件系统当前缓存的数据条带中读取相应的数据;如果否,才从硬盘的相应数据条带读取数据。需要说明的是,在其它的具体实施例中,如果系统接收到文件写请求,则可以在开始缓存一个数据条带对应的数据信息开始计时,当计时时间到达预置的一个时长还未能存满一个完整的数据条带对应的数据信息时,则可以将当前未存满的一个数据条带对应的数据信息写入相应的数据条带中。这样可以避免缓存整一个数据条带对应的数据信息的缓存时间过长,而不能将文件写入到硬盘中。以下以一个具体的实施例为例来说明,参考图2所示,数据储存到10个硬盘中,每个硬盘上有多个分片数据,图中只画出硬盘上的11个分片数据,其中斜线填充的部分存储有校验块P,每个文件数据条带中包含有横向分布的9个分片数据和I个校验块P。
如果文件系统接收到文件读请求,确定该文件读请求所请求读取的数据的位置是在第2个数据条带中的硬盘1、2、4和5,则顺序缓存该数据条带对应的文件读请求所请求读出的数据信息。因为所请求读取的数据没有占满该数据条带中9个分片数据的空间,则文件系统会等待接收另一个文件读请求,直到其它文件读请求所请求读取的数据为另外5个分片数据,则根据缓存的该数据条带对应的数据信息,向硬盘的第2数据条带读取数据。如果文件系统接收到文件写请求,确定该文件写请求所请求写入的数据的位置是在第3个数据条带和第4个数据条带中的硬盘I到4中,则顺序缓存该数据条带对应的文件写请求所请求写入的数据。因为所请求读取的数据超过该数据条带中9个分片数据的空间,则文件系统会先将缓存的一个数据条带对应的数据写入到硬盘的第3个数据条带,并等待接收另一个文件写请求,直到其它文件写请求所请求写入的数据可以形成另外5个分片数据,再对第4个数据条带对应的数据进行写入。本发明实施例提供一种文件系统内读写数据的装置,该文件系统支持文件级独立磁盘冗余算法操作,本实施例中的装置的结构示意图如图3所示,包括请求接收模块10,位置确定模块20,条带缓存模块30和操作模块40,其中请求接收模块10,用于接收文件读/写请求;位置确定模块20,用于确定请求接收模块10接收的文件读/写请求所请求读/写的数据在数据条带中的读/写位置;数据条带是独立磁盘冗余阵列RAID的数据读写条带;条带缓存模块30,用于根据位置确定模块20确定的读/写位置,顺序缓存至少一个数据条带对应的文件读/写请求所请求读/写的数据信息; 操作模块40,用于根据条带缓存模块30缓存的至少一个完整数据条带对应的文件读请求所请求读出的数据信息,从硬盘的相应数据条带读取数据,或根据缓存的至少一个完整数据条带对应的文件写请求所请求写入的数据信息,将缓存的至少一个完整数据条带对应的文件写请求所请求写入的数据信息写入硬盘的相应数据条带中。参考图4所示,本发明实施例中的装置可以是设备在执行应用程序过程中对文件进行的操作装置,该装置中可以包括用户文件系统,该装置可以向硬盘进行数据操作,每个硬盘中有一个单盘文件系统。上层应用系统是面对用户的接口,当上层应用系统接收到文件读写请求后会发送给用户文件系统,而用户文件系统会采用RAID的数据保护方法直接访问硬盘,使得文件分布在多个硬盘上单盘文件系统中的分片文件中,并组成RAID保护关系。本发明实施例的装置中请求接收模块10在接收到文件读/写请求后,位置确定模块20确定请求读/写的数据在数据条带中的读/写位置,并由条带缓存模块30顺序缓存至少一个数据条带对应的请求读/写的数据信息,由操作模块40对缓存的至少一个完整数据条带的数据信息进行相对应处理。这样在缓存完整一个数据条带对应的请求读/写的数据信息后,并以数据条带为单位进行数据读/写,可以不需要每次在接收到文件读/写请求后,都先将文件读/写请求写入到LUN虚拟块设备中,再由RAID模块访问硬盘,从而提高了数据读/写效率;且本发明实施例中的方法不需要经过文件系统和RAID模块分别对文件操作请求进行解析后,再由RAID模块向硬盘进行文件操作,而是由文件系统采用RAID数据保护算法将数据信息缓存成数据条带,并直接访问硬盘,可以提高数据存储的可靠性,并简化了文件处理的过程。 参考图5所示,在一个具体的实施例中,文件系统内读写数据的装置还可以包括文件元数据操作模块60和操作接收模块70,其中文件元数据操作模块60,用于若请求接收模块10接收的文件读/写请求所请求读/写的文件类型是文件元数据,当接收的是文件读请求时,则向储存有文件元数据的任一硬盘中读取文件元数据,或当接收的是文件写请求时,按照多份镜像冗余算法,将文件元数据备份成多份并存储到至少两个硬盘中;操作接收模块70,用于接收同步操作、清除操作或关闭操作指令。在本实施例的装置中,当请求接收模块10接收到文件读/写请求后,如果该请求所请求读/写的文件类型是文件数据,则由位置确定模块20确定在数据条带中的读/写位置;如果文件类型中是文件元数据,则文件元数据操作模块60向存储有文件元数据的任一硬盘中读取文件元数据,或按照多份镜像冗余算法,将文件元数据备份成多份并存储到至少两个硬盘中。这样使得在进行文件读/写操作时,就可以对比较重要的文件类型的数据重点保护,比如可以将重要的数据写到至少两个硬盘上等,从而提高了数据存储的可靠性。且为了进一步确保数据的可靠性,当操作接收模块70接收到同步操作、清除操作或关闭操作等操作指令时,操作模块40会将条带缓存模块30当前缓存的数据条带对应的数据信息写入到硬盘中相应的数据条带。这样保证了在执行同步、清除或关闭文件等操作指令之前,将数据信息都备份到硬盘中。且参考图5所示,在另一个具体的实施例中,文件系统内读写数据的装置还可以包括缓存读取模块80和计时模块90,其中缓存读取模块80,用于确定条带缓存模块30缓存的至少一个完整数据条带对应的文件读请求所请求读出的数据信息,是否储存在当前缓存的其它数据条带中,如果是,则从当前缓存的数据条带中读取相应的数据;如果否,通知操作模块40从硬盘的相应数据条带读取数据;计时模块90,用于当缓存一个完整数据条带对应的所请写入的数据信息所用的时间超过预置的时长,发出写操作指令以通知操作模块40将当前缓存的未存满的数据条带对应的数据信息写入到硬盘的数据条带中。
这样当请求接收模块10接收的是文件读取请求时,在操作操作模块40进行数据的读写前,通过缓存读取模块80确定需要读取的数据信息是否储存在条带缓存模块30缓存的其它数据条带中,如果是,则从其它数据条带读取数据;如果否,则通知操作操作40从硬盘读取数据。如果请求接收模块10接收到的是文件写请求时,则计时模块90可以在开始缓存ー个数据条带对应的数据信息开始计时,当计时时间到达预置的ー个时长还未能存满ー个完整的数据条带对应的数据信息时,可以通知操作模块40将当前未存满的ー个数据条带对应的数据信息写入相应的数据条带中。这样避免缓存整一个数据条带对应的数据信息的缓存时间过长,而不能将文件写入到硬盘中。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于ー计算机可读存储介质中,存储介质可以包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。以上对本发明实施例所提供的文件系统内读写数据的方法及装置,进行了详细介 绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种文件系统内读写数据的方法,其特征在于,所述文件系统支持文件级独立磁盘冗余算法操作,包括 接收文件读/写请求,确定所述文件读/写请求所请求读/写的数据在数据条带中的读/写位置;所述数据条带是独立磁盘冗余阵列RAID的数据读写条带; 根据所述确定的读/写位置,顺序缓存至少一个数据条带对应的文件读/写请求所请求读/写的数据信息; 根据缓存的至少一个完整数据条带对应的文件读请求所请求读出的数据信息,从硬盘的相应数据条带读取数据,或根据所述缓存的至少一个完整数据条带对应的文件写请求所请求写入的数据信息,将所述缓存的至少一个完整数据条带对应的文件写请求所请求写入的数据信息写入所述硬盘的相应数据条带中。
2.如权利要求I所述的方法,其特征在于,所述接收文件读/写请求,确定所述文件读/写请求所请求读/写的数据在数据条带中的读/写位置包括 若所述文件读/写请求所请求读/写的文件类型是文件数据,则执行所述确定所述文件读/写请求所请求读/写的数据在数据条带中的读/写位置步骤。
3.如权利要求I所述的方法,其特征在于,还包括 若所述文件读/写请求所请求读/写的文件类型是文件元数据,则 当接收的是文件读请求时,向储存有文件元数据的任一硬盘中读取所述文件元数据,或当接收的是文件写请求时,按照多份镜像冗余算法,将所述文件元数据备份成多份并存储到至少两个硬盘中。
4.如权利要求I所述的方法,其特征在于,所述硬盘的单盘文件系统上建立有至少两个分片文件,所述文件读/写请求对应的文件数据分布在至少两个硬盘上单盘文件系统的分片文件中,且组成RAID的数据保护关系。
5.如权利要求I至4任一项所述的方法,其特征在于,所述方法还包括 接收到同步操作、清除操作、或关闭操作指令时,将当前缓存的数据条带对应的数据信息写入到所述硬盘的相应数据条带。
6.如权利要求I至4任一项所述的方法,其特征在于,还包括 如果缓存一个完整数据条带对应的请写入的数据信息所用的时间超过预置的时长,将当前缓存的所述未存满的数据条带对应的数据信息写入到所述硬盘的数据条带中。
7.如权利要求I至4任一项所述的方法,其特征在于,所述从硬盘的相应数据条带读取数据之前还包括 确定所述缓存的至少一个完整数据条带对应的文件读请求所请求读出的数据信息,是否储存在当前缓存的其它数据条带中,如果是,则从当前缓存的数据条带中读取相应的数据;如果否,则从硬盘的相应数据条带读取数据。
8.一种文件系统内读写数据的装置,其特征在于,所述文件系统支持文件级独立磁盘冗余算法操作,所述装置包括请求接收模块,位置确定模块,条带缓存模块和操作模块; 所述请求接收模块,用于接收文件读/写请求; 所述位置确定模块,用于确定所述文件读/写请求所请求读/写的数据在数据条带中的读/写位置;所述数据条带是独立磁盘冗余阵列RAID的数据读写条带; 所述条带缓存模块,用于根据所述位置确定模块确定的读/写位置,顺序缓存至少一个数据条带对应的文件读/写请求所请求读/写的数据信息; 所述操作模块,用于根据缓存的至少一个完整数据条带对应的所述文件读请求所请求读出的数据信息,从所述硬盘的相应数据条带读取数据,或根据所述缓存的至少一个完整数据条带对应的文件写请求所请求写入的数据信息,将所述缓存的至少一个完整数据条带对应的文件写请求所请求写入的数据信息写入所述硬盘的相应数据条带中。
9.如权利要求8所述的装置,其特征在于,所述装置还包括 文件元数据操作模块,用于若所述文件读/写请求所请求读/写的文件类型是文件元数据,则当接收的是文件读请求时,向所述储存有文件元数据的任一硬盘中读取所述文件元数据,或当接收的是文件写请求时,按照多份镜像冗余算法,将所述文件元数据备份成多份并存储到至少两个硬盘中。
10.如权利要求8所述的装置,其特征在于 所述位置确定模块,具体用于在所述文件类型是文件数据,则确定所述文件读/写请求所请求读/写的数据在数据条带中的读/写位置。
11.如权利要求8至10任一项所述的装置,其特征在于,所述装置还包括 操作接收模块,用于接收同步操作、清除操作或关闭操作指令; 所述操作模块,还用于当所述操作接收模块接收到操作指令时,将所述条带缓存模块当前缓存的数据条带对应的数据信息写入到所述硬盘中相应的数据条带。
12.如权利要求8至10任一项所述的装置,其特征在于,所述装置还包括缓存读取模块,用于确定所述条带缓存模块缓存的至少一个完整数据条带对应的文件读请求所请求读出的数据信息,是否储存在当前缓存的其它数据条带中,如果是,则从当前缓存的数据条带中读取相应的数据;如果否,通知所述操作模块从硬盘的相应数据条带读取数据。
13.如权利要求8至10任一项所述的装置,其特征在于,所述装置还包括计时模块,用于当缓存一个完整数据条带对应的所请写入的数据信息所用的时间超过预置的时长,发出写操作指令以通知所述操作模块将当前缓存的所述未存满的数据条带对应的数据信息写入到所述硬盘的数据条带中。
全文摘要
本发明实施例公开了文件系统内读写数据的方法及装置,应用于通信技术领域。本发明实施例中文件系统支持文件级独立磁盘冗余算法操作,在接收到文件读/写请求后,确定请求读/写的数据在数据条带中的读/写位置,并顺序缓存至少一个数据条带对应的请求读/写的数据信息,并对缓存的至少一个数据条带的数据信息进行相对应处理。这样在缓存完整一个数据条带对应的请求读/写的数据信息后,并以数据条带为单位进行数据读/写,可以不需要每次在接收到文件读/写请求后,都先将文件读/写请求写入到LUN虚拟块设备中,再由RAID模块访问硬盘,从而提高了数据读/写效率。
文档编号G06F17/30GK102682012SQ201110060440
公开日2012年9月19日 申请日期2011年3月14日 优先权日2011年3月14日
发明者张巍, 魏明昌 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1