CN102075581B - 一种面向分布式文件系统的数据传输方法及装置 - Google Patents
一种面向分布式文件系统的数据传输方法及装置 Download PDFInfo
- Publication number
- CN102075581B CN102075581B CN 201110027458 CN201110027458A CN102075581B CN 102075581 B CN102075581 B CN 102075581B CN 201110027458 CN201110027458 CN 201110027458 CN 201110027458 A CN201110027458 A CN 201110027458A CN 102075581 B CN102075581 B CN 102075581B
- Authority
- CN
- China
- Prior art keywords
- file
- access
- access mode
- data
- client
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种面向分布式文件系统的数据传输方法,包括下列步骤:1)客户端获取当前所要访问文件的元数据信息;所述元数据信息包括文件尺寸;2)根据是否超过文件尺寸阈值来选择当前所要访问文件的访问方式,所述访问方式在带内数据访问方式和带外数据访问方式中选择;3)客户端根据所选择的访问方式请求从文件元数据服务层或存储设备层获取文件数据。本发明还提供了相应的面向分布式文件系统的数据传输装置。与现有技术相比,本发明可以使分布式系统依据应用访问负载自适应地选择适合于被访问文件的数据访问方式,同时满足大文件和小文件访问的性能要求。并且,本发明中数据访问方式的切换对应用程序是透明的,无需对用户应用程序做任何修改。
Description
技术领域
本发明涉及计算机存储技术领域,更具体地,本发明涉及一种面向分布式文件系统的数据传输方法。
背景技术
随着信息技术的不断发展,信息系统已经在企业发展中发挥着不可替代的作用。然而,随着音视频、图像等技术的进一步发展,应用数据量呈现出爆炸性的增长。根据研究结果,2010年全球数据总量将达到9880亿GB以上,超过95%为非结构化数据,由此将进一步拉动分布式文件系统方面的需求。
典型的分布式文件系统包括文件客户端层,文件元数据服务层和存储设备层。其中,文件客户端层具有文件系统客户端,文件元数据服务层具有文件元数据服务器,存储设备层具有存储设备,如网络存储设备。文件系统客户端上的应用访问文件数据的过程可以分为两个部分。首先是获取文件的元数据信息。例如:文件的大小、访问权限、文件数据位置、分布式锁等。然后是根据文件的元数据信息,尤其是文件数据位置信息,获取文件数据。目前,典型的分布式文件系统的数据传输方法有两类,即:带内数据访问和带外数据访问。
对于带内数据访问,文件系统客户端将文件访问请求发送给文件元数据服务器,随后异步或同步等待文件访问结果。当文件元数据服务器处理完文件访问请求后,将访问结果(其中包括返回值、文件数据以及文件数据描述信息等)给文件系统客户端。这样一次文件操作完成。传统的带内数据访问方式,有利于小文件的访问需求。这是由于文件数据较少,元数据服务器处理文件数据所占用的服务器处理能力较少。因此可以获得较为满意的小文件访问性能。其缺陷是当文件数据较多时,元数据服务器的处理能力开销将会大幅增加,极大地影响文件访问性能。
而对于带外数据访问,文件系统客户端将文件访问请求发送给文件系统元数据服务器。此时文件元数据服务器将对应文件的数据位置信息返回给客户端。然后,客户端依据文件位置信息,直接并行访问位于存储设备上的文件数据(通常的文件数据存储方法是将数据以条带化或类似于条带化的方式存储在多个存储设备之上)。带外的数据访问方式,更利于大文件的访问需求。这是由于元数据服务器仅需要处理元数据访问,客户端自己负责文件数据的访问。对于众多客户端,整个文件系统可以获得更高的文件访问聚合带宽。但由于带外数据访问方式增加了网络交互开销,因此不利于小文件的访问性能。
综上所述,现有分布式文件系统的两类数据传输方法均存在各自的缺陷,难以同时使具有多样性的各种文件都达到满意的访问性能。因此,当前迫切需要一种能够同时使各种文件都达到满意的访问性能的数据传输方法及装置。
发明内容
本发明的目的是提供一种能够同时使各种文件都达到满意的访问性能的面向分布式文件系统的数据传输方法及装置。
为实现上述发明目的,本发明提供了一种面向分布式文件系统的数据传输方法,所述面向分布式文件系统包括文件客户端层,文件元数据服务层和存储设备层,所述文件客户端层包括多个客户端,其特征在于,所述数据传输方法包括下列步骤:
1)客户端获取当前所要访问文件的元数据信息;所述元数据信息包括文件尺寸;
2)根据是否超过文件尺寸阈值来选择当前所要访问文件的访问方式,所述访问方式在带内数据访问方式和带外数据访问方式中选择;
3)客户端根据所选择的访问方式请求从文件元数据服务层或存储设备层获取文件数据。
其中,所述步骤1)中,所述元数据信息还包括文件IO块尺寸;
所述步骤2)中,所述文件尺寸阈值包括第一文件尺寸阈值和第二文件尺寸阈值,且所述第一文件尺寸阈值小于所述第二文件尺寸阈值;所述步骤2)包括下列子步骤:
21)如果当前所要访问文件的尺寸小于第一文件尺寸阈值,选择带内数据访问方式;
22)如果当前所要访问文件的尺寸大于第二文件尺寸阈值,选择带外数据访问方式;
23)如果当前所要访问文件的尺寸在第一文件尺寸阈值和第二文件尺寸阈值之间,则根据当前文件IO块尺寸是否超过文件IO块尺寸阈值来选择当前所要访问文件的访问方式。
其中,所述文件IO块尺寸阈值包括第一文件IO块尺寸阈值和第二文件IO块尺寸阈值,且所述第一文件IO块尺寸阈值小于所述第二文件IO块尺寸阈值;所述步骤23)包括下列子步骤:
231)如果当前文件IO块尺寸小于第一文件IO块尺寸阈值,选择带内数据访问方式;
232)如果当前文件IO块尺寸大于第二文件IO块尺寸阈值,选择带外数据访问方式;
233)如果当前文件IO块尺寸在第一文件IO块尺寸阈值和第二文件IO块尺寸阈值之间,则按同一文件在同一客户端的上一次访问的访问方式来确定当前的访问方式。
其中,所述步骤233)中,如果客户端是第一次访问所述当前文件,则默认选择带外数据访问方式。
其中,所述数据传输方法还包括:
4)文件元数据服务层接收客户端对所述当前文件的访问请求;
5)文件元数据服务层计算所述当前文件的尺寸与其全局访问次数的比值,如果该比值小于预先设定的判定阈值,按带内数据访问方式执行本次文件数据的传输,否则,按带外数据访问方式执行本次文件数据的传输;所述文件元数据服务层实时记录各文件的全局访问次数;当文件元数据服务层确定的访问方式与客户端不一致时,文件元数据服务层拒绝客户端按其原访问方式的访问;
6)在文件元数据服务层拒绝客户端的访问后,客户端切换其访问方式。
其中,所述步骤4)和步骤5)之间,执行下列步骤:
41)如果所述当前文件的尺寸小于所述第一文件尺寸阈值,元数据服务层确定执行带内数据访问方式;
42)如果所述当前文件的尺寸大于所述第二文件尺寸阈值,元数据服务层确定执行带内数据访问方式;
43)如果当前所要访问文件的尺寸在第一文件尺寸阈值和第二文件尺寸阈值之间;执行下列子步骤:
431)如果所述当前文件IO块尺寸小于所述第一文件IO块尺寸阈值,元数据服务层确定执行带内数据访问方式;
432)如果所述当前文件IO块尺寸大于所述第二文件IO块尺寸阈值,元数据服务层确定执行带外数据访问方式;
432)如果所述当前文件IO块尺寸在第一文件IO块尺寸阈值和第二文件IO块尺寸阈值之间,则元数据服务层执行所述步骤5)以确定对于所述当前文件执行那种数据访问方式。
为实现本发明的另一发明目的,本发明还提供了一种面向分布式文件系统的数据传输装置,所述面向分布式文件系统包括文件客户端层,文件元数据服务层和存储设备层,所述文件客户端层包括多个客户端,其特征在于,所述数据传输装置包括:
位于客户端的元数据信息获取模块,用于获取当前所要访问文件的元数据信息;所述元数据信息包括文件尺寸;
位于客户端的客户端混合传输判定模块,用于根据是否超过文件尺寸阈值来选择当前所要访问文件的访问方式,所述访问方式在带内数据访问方式和带外数据访问方式中选择;以及
位于客户端的客户端文件数据传输模块,用于根据所选择的访问方式从文件元数据服务层或存储设备层获取文件数据。
其中,所述元数据信息还包括文件IO块尺寸;所述文件尺寸阈值包括第一文件尺寸阈值和第二文件尺寸阈值,且所述第一文件尺寸阈值小于所述第二文件尺寸阈值;
所述客户端混合传输判定模块还用于在当前所要访问文件的尺寸小于第一文件尺寸阈值时,选择带内数据访问方式;
在当前所要访问文件的尺寸大于第二文件尺寸阈值时,选择带外数据访问方式;
在当前所要访问文件的尺寸在第一文件尺寸阈值和第二文件尺寸阈值之间时,则根据当前文件IO块尺寸是否超过文件IO块尺寸阈值来选择当前所要访问文件的访问方式。
其中,所述客户端混合传输判定模块还用于在当前文件IO块尺寸小于第一文件IO块尺寸阈值时,选择带内数据访问方式;
在当前文件IO块尺寸大于第二文件IO块尺寸阈值时,选择带外数据访问方式;
在当前文件IO块尺寸在第一文件IO块尺寸阈值和第二文件IO块尺寸阈值之间时,则按同一文件在同一客户端的上一次访问的访问方式来确定当前的访问方式,如果客户端是第一次访问所述当前文件,则默认选择带外数据访问方式。
其中,所述数据传输装置还包括:
位于文件元数据服务层的文件访问请求接收模块,用于接收客户端对所述当前文件的访问请求;
位于文件元数据服务层的元数据服务器混合传输判定模块,用于实时记录各文件的全局访问次数;还用于计算所述当前文件的尺寸与其全局访问次数的比值,如果该比值小于预先设定的判定阈值,按带内数据访问方式执行本次文件数据的传输,否则,按带外数据访问方式执行本次文件数据的传输;还用于在文件元数据服务层确定的访问方式与客户端不一致时拒绝客户端按其原访问方式的访问;以及
位于客户端的切换模块,用于在文件元数据服务层拒绝客户端的访问时切换客户端的访问方式。
与现有技术相比,本发明具有下列技术效果:
1、本发明可以使分布式系统依据应用访问负载自适应地选择适合于被访问文件的数据访问方式,同时满足大文件和小文件访问的性能要求。
2、本发明中数据访问方式的切换对应用程序是透明的,无需对用户应用程序做任何修改。
附图说明
图1示出了本发明一个实施例的数据混合传输方法及装置;
图2示出了本发明一个实施例中根据文件尺寸判定数据访问方式的示意图;
图3示出了本发明一个实施例中根据文件IO块尺寸判定数据访问方式的示意图。
具体实施方式
下面结合附图和具体实施例,对本发明做进一步地说明。
根据本发明的一个实施例,提供了一种面向分布式文件系统的数据混合传输方法。图1示出了该实施例的数据混合传输方法及其所涉及的分布式文件系统。如图1所示,在该实施例中,分布式文件系统包括文件客户端层,文件元数据服务层和存储设备层。其中,文件客户端层具有多个文件系统客户端,每个文件系统客户端包括混合传输判定模块,文件元数据服务层包括元数据服务器混合传输判定模块、文件元数据管理模块和文件数据缓存管理模块,存储设备层具有多个网络存储设备。
本实施例中,混合传输是指分布式文件系统既可以利用带外数据传输方法,也可以利用带内数据传输方法进行数据传输。
具体地,本实施例的数据传输方法包括下列步骤:
1)客户端获取当前所要访问文件的元数据信息;所述元数据信息包括文件尺寸和文件IO块尺寸等信息。
2)根据是否超过文件尺寸阈值来选择当前所要访问文件的访问方式,所述访问方式在带内数据访问方式和带外数据访问方式中选择。
3)客户端根据所选择的访问方式请求从文件元数据服务层或存储设备层获取文件数据。
4)文件元数据服务层接收客户端对所述当前文件的访问请求。
5)文件元数据服务层计算所述当前文件的尺寸与其全局访问次数的比值,如果该比值小于预先设定的判定阈值,按带内数据访问方式执行本次文件数据的传输,否则,按带外数据访问方式执行本次文件数据的传输;所述文件元数据服务层实时记录各文件的全局访问次数;当文件元数据服务层确定的访问方式与客户端不一致时,文件元数据服务层拒绝客户端按其原访问方式的访问。
6)在文件元数据服务层拒绝客户端的访问后,客户端自动切换其访问方式(即将带内数据访问方式切换成带外数据访问方式,或者将带外数据访问方式切换成带内数据访问方式)。
在一个优选实施例中,所述文件尺寸阈值包括第一文件尺寸阈值和第二文件尺寸阈值,且所述第一文件尺寸阈值小于所述第二文件尺寸阈值;所述步骤2)包括下列子步骤:
21)如果当前所要访问文件的尺寸小于第一文件尺寸阈值,选择带内数据访问方式;
22)如果当前所要访问文件的尺寸大于第二文件尺寸阈值,选择带外数据访问方式;
23)如果当前所要访问文件的尺寸在第一文件尺寸阈值和第二文件尺寸阈值之间,则根据当前文件IO块尺寸是否超过文件IO块尺寸阈值来选择当前所要访问文件的访问方式。IO块尺寸是指一次文件IO操作所访问的数据块的尺寸。进一步地,在一个优选实施例中,所述文件IO块尺寸阈值包括第一文件IO块尺寸阈值和第二文件IO块尺寸阈值,且所述第一文件IO块尺寸阈值小于所述第二文件IO块尺寸阈值;所述步骤23)包括下列子步骤:
231)如果当前文件IO块尺寸小于第一文件IO块尺寸阈值,选择带内数据访问方式;
232)如果当前文件IO块尺寸大于第二文件IO块尺寸阈值,选择带外数据访问方式;
233)如果当前文件IO块尺寸在第一文件IO块尺寸阈值和第二文件IO块尺寸阈值之间,则按同一文件在同一客户端的上一次访问的访问方式来确定当前的访问方式。如果客户端是第一次访问所述当前文件,则默认选择带外数据访问方式。
在上述实施例中,结合了文件尺寸和文件IO块尺寸两个因素对访问方式进行综合判定,相对于单一的文件尺寸或文件IO块尺寸判定,能够更好地提高分布式文件系统的文件访问性能。并且,当文件大小和IO大小都处于中值范围内时,客户端倾向于选择与上一次访问一致的访问路径,而文件元数据服务层则可以通过当前文件的尺寸与其全局访问次数的比值来得出更为合理的访问路径。上述实施例中,由文件元数据服务层决定最终访问路径,能够进一步提高文件访问性能。与此同时,上述实施例也考虑到文件元数据服务层的数据处理量大,有时可能难以分配足够的资源来计算当前文件的合理访问路径,此时,由于客户端也能够对访问路径作出一个初步判断(即选择与上一次访问一致的访问路径),因此,可以直接根据客户端选择的访问路径传输数据。
在上述实施例的基础上,还提供了另一个优选实施例。该实施例中,文件元数据服务层通过与客户端类似的判断方法来判断当文件大小和IO大小都处于中值范围内。具体如下:
在上述步骤4)和步骤5)之间,执行下列步骤:
41)如果所述当前文件的尺寸小于所述第一文件尺寸阈值,元数据服务层确定执行带内数据访问方式;
42)如果所述当前文件的尺寸大于所述第二文件尺寸阈值,元数据服务层确定执行带内数据访问方式;
43)如果当前所要访问文件的尺寸在第一文件尺寸阈值和第二文件尺寸阈值之间,执行下列子步骤:
431)如果所述当前文件IO块尺寸小于所述第一文件IO块尺寸阈值,元数据服务层确定执行带内数据访问方式;
432)如果所述当前文件IO块尺寸大于所述第二文件IO块尺寸阈值,元数据服务层确定执行带外数据访问方式;
433)如果所述当前文件IO块尺寸在第一文件IO块尺寸阈值和第二文件IO块尺寸阈值之间,则元数据服务层执行所述步骤5)以确定对于所述当前文件执行那种数据访问方式。
根据本发明的另一个实施例,提供了一种融合了带外数据传输方法和带内数据传输方法的面向分布式文件系统的混合数据传输方法。图1中,步骤(一)、(二)、(三)示出了带外数据传输方法的数据流向,步骤①②③④⑤⑥示出了带内数据传输方法的数据流向。该实施例提供的混合数据传输方法具体如下:
客户端选择当前文件的数据访问方式,其具体步骤可以参照上文中叙述的步骤1)~2),当然,也可以进一步包含上文中叙述的步骤21)~23)以及步骤231)~233)。
当客户端的选择的是带外数据传输方法时,大致由三个步骤完成。参考图1,其中,
步骤(一)是客户端向文件元数据服务层发出文件访问请求。文件元数据服务层中的混合传输判定模块负责验证和判定本次文件请求是否可以采用带外数据传输方式。若是,则执行步骤(二);否则,拒绝本次请求,随后客户端会重试其它数据传输方式。
步骤(二)是文件元数据服务层中文件元数据管理模块处理客户端的文件访问中的元数据操作,并返回给客户端对应文件操作区域的数据位置信息。
步骤(三)是客户端根据获取的文件数据位置信息,直接并行访问网络存储设备进行数据操作。
当客户端的选择的是带内数据传输方法时,大致由六个步骤完成。参考图1,其中,
步骤①是客户端向文件元数据服务层发出文件访问请求。文件元数据服务层中的混合传输判定模块负责验证和判定本次文件请求是否可以采用带内数据传输方式。若是,则执行步骤②;否则,拒绝本次请求,随后客户端会重试其它数据传输方式。
步骤②是文件元数据服务层中文件元数据管理模块处理客户端的文件访问中的元数据操作,并向文件数据缓存管理模块查询和定位数据。
步骤③是文件数据缓存管理模块查询和定位对应的文件数据。若在文件数据缓存中找到所有对应的文件数据,则执行步骤⑤;否则,执行步骤④。
步骤④是文件数据缓存管理模块并行地从网络存储设备上获取对应的文件数据。
步骤⑤是文件数据缓存管理模块根据文件访问请求进行对应的文件数据操作,并将文件操作结果(其中包括返回值、文件数据以及文件数据描述信息等)返回给文件元数据管理模块。步骤⑥文件元数据管理模块将文件访问结果(其中包括返回值、文件数据以及文件数据描述信息等)返回给文件系统客户端。
本实施例还进一步提供了一种面向分布式文件系统的数据混合传输装置。其中,客户端混合传输判定模块用于根据文件系统客户端的每次文件IO访问特性,判定本次文件IO访问采用带内访问路径,还是采用带外访问路径。其中具体判别过程如图2所示。图2中的数字仅用于示例说明,其它合理的数值同样适用于本方法。首先,客户端混合传输判定模块在发起文件IO访问时,检查文件大小。如果文件大小大于256MB,位于第三区域23,则采用带外传输方式,并用文件上次访问路径记录单元42来记录本次访问方式。如果文件大小小于1MB,位于第一区域21,则采用带内传输方式,并用文件上次访问路径记录单元42来记录本次访问方式。否则,文件大小位于第二区域22。然后,客户端混合传输判定模块检查本次IO操作的块大小。如果IO块大小大于32MB,位于IO第三区域33,则采用带外传输方式,并用文件上次访问路径记录单元42来记录本次访问方式。如果IO块大小小于64KB,位于IO第一区域31,则采用带内传输方式,并用文件上次访问路径记录单元42来记录本次访问方式。否则,IO块大小位于IO第二区域32。随后,客户端混合传输判定模块检查本客户端对该文件的上次访问方式。若上次访问方式为带外方式,则采用带外传输方式。若上次访问方式为带内方式,则采用带内方式。若本次访问为首次访问,则采用带外方式,并用文件上次访问路径记录单元42来记录本次访问方式。当文件访问完成时,若文件访问方式不变,则文件上次访问路径记录单元42来保持不变。若在文件访问过程中,元数据服务器拒绝了客户端选定的数据传输方式,则客户端会自动切换至另一种方式进行数据传输操作。此时,根据实际的文件传输方式,修改文件上次访问路径记录单元42中所记录的访问方式。以上结合了文件尺寸和文件IO块尺寸两个因素对访问方式进行综合判定,相对于单一的文件尺寸或文件IO块尺寸判定,能够更好地提高分布式文件系统的文件访问性能。
元数据服务器混合传输判定模块用于根据文件系统全局的文件访问特性,判定文件IO访问采用带内访问路径,还是采用带外访问路径。其中具体判别过程如图3所示。图3中的数字仅用于示例说明,其它合理的数值同样适用于本方法。首先,元数据服务器混合传输判定模块在接收到文件访问时,检查文件大小。如果文件大小大于256MB,位于第三区域23,则采用带外传输方式。如果文件大小小于1MB,位于第一区域21,则采用带内传输方式。否则,文件大小位于第二区域22。然后,元数据服务器混合传输判定模块检查本次IO操作的块大小。如果IO块大小大于32MB,位于IO第三区域33,则采用带外传输方式。如果IO块大小小于64KB,位于IO第一区域31,则采用带内传输方式。否则,IO块大小位于IO第二区域32。随后,元数据服务器混合传输判定模块检查文件全局访问次数Fcount(一个文件的全局访问次数是指所有客户端对该文件的访问次数)。若该文件为首次被访问,则采用带外访问方式。否则,计算S/Fcount,其中S是文件大小,Fcount是该文件当前的全局访问次数。如果S/Fcount结果小于1MB,则采用带内访问方式,否则采用带外访问方式。最后,元数据服务器混合传输判定模块检查此次客户端请求访问文件的方式。若客户端请求的访问方式和元数据服务器混合传输判定模块判定的结果不一致,则拒绝客户端以此种访问进行访问。文件系统客户端会自动切换另一种方式进行访问。若客户端请求的访问方式和元数据服务器混合传输判定模块判定的结果一致,则元数据服务器会计算全局访问次数Fcount=Fcount+1,即将全局访问次数Fcount累加1,然后进行正常文件访问过程。由元数据服务器混合传输判定模块基于S/Fcount这一比值来判定数据访问方式,能够更好地提高访问性能,同时还能够保证客户端的访问方式具有较高的一致性,避免客户端频繁地来回切换访问方式而造成资源浪费。
文件元数据管理模块是通用的文件系统元数据管理程序,其负责管理大量的文件、目录的元信息。比如:文件大小、访问权限、文件修改时间、文件数据位置等信息。文件元数据管理模块会根据元数据服务器混合传输判定模块的需要,向其提供文件大小信息,并记录文件的全局访问次数Fcount。
文件数据缓存管理模块负责在元数据服务器上缓存进行过带内文件访问的文件数据,以便该文件再次进行带内访问时,直接访问或修改文件数据缓存管理模块上的数据,不必远程访问数据存储设备。当元数据服务器进行带内文件访问时,文件数据缓存管理模块首先检查自身是否已缓存该文件数据。若以有对应数据,则直接在文件数据缓存上完成IO访问。若没有对应数据,且为文件读取操作,则文件数据缓存管理模块通过远程网络,从数据存储设备上读取对应的数据,并把结果数据返回给元数据服务器。若没有对应数据,且为文件写入操作,则文件数据缓存管理模块从远程存储设备上读取必要的小部分数据块对齐数据,并将写入数据直接写入文件数据缓存。当元数据服务器准备进行带外文件访问时,文件数据缓存管理模块会检查缓存中是否有对应文件的修改过的数据。如果没有则直接返回。若有,则文件数据缓存管理模块会首先将对应文件修改过的数据写回对应的远程存储设备上,然后通知元数据服务器可以进行带外文件访问。
另外,本实施例中数据混合传输装置还包括位于客户端的元数据信息获取模块,用于获取当前所要访问文件的元数据信息;所述元数据信息包括文件尺寸;客户端文件数据传输模块,用于根据所选择的访问方式从文件元数据服务层或存储设备层获取文件数据;以及位于文件元数据服务层的文件访问请求接收模块,用于接收客户端对所述当前文件的访问请求。
进一步地,在一个优选实施例中,客户端还包括客户端文件信息缓存模块,用于在分布式文件系统客户端程序为文件数据和文件元数据提供缓存空间以及缓存空间的管理。客户端文件信息缓存模块的输入是根据客户端程序的文件访问行为,决定在缓存空间内保留哪些文件数据和文件元数据,并且根据缓存空间和客户端文件访问行为的变化,依据既定的缓存替换策略,选定和替换文件数据和文件元数据信息。客户端文件信息缓存模块的输出是当客户端访问文件信息时,如果被访问文件信息刚好保留在缓存空间内时,缓存模块就直接给客户端提供相应信息,不必重新访问文件系统元数据服务器和存储设备。
本发明适合于分布式文件系统环境下的数据传输通路的控制和管理,其优点在于可以在分布式文件系统环境下实现依据应用负载自动选择适合的数据传输方式,有效提高文件访问性能。也就是说,对于大文件或大粒度的文件访问,本发明机制可以自动选择带外数据传输方式,保证对存储设备的大规模并发访问,消除元数据的访问瓶颈点。对于小文件或小粒度的文件访问,本发明机制可以自动选择带内的数据传输方式,借助元数据服务器内的高性能数据缓存直接返回数据内容,减少网络交互开销,提高文件访问性能。此外,本发明机制是在分布式文件系统内部实现的自动机制,可以实现对应用程序透明的自动数据访问管理。
以上实施例仅仅是示例性的说明,本领域技术人员易于理解,基于文件尺寸和/或文件IO块尺寸和相应的阈值,本发明也可以采用不同于上述实施例的其它方式来判定数据访问方式,在一定程度上,也能达到使分布式系统依据应用访问负载自适应地选择适合于被访问文件的数据访问方式,同时满足大文件和小文件访问的性能要求的技术效果。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非对其限制,并且在应用上可以延伸到其他的修改、变化、应用和实施例,同时认为所有这样的修改、变化、应用、实施例都在本发明的精神和范围内。
Claims (10)
1.一种面向分布式文件系统的数据传输方法,所述面向分布式文件系统包括文件客户端层,文件元数据服务层和存储设备层,所述文件客户端层包括多个客户端,其特征在于,所述数据传输方法包括下列步骤:
1)客户端获取当前所要访问文件的元数据信息;所述元数据信息包括文件尺寸;
2)根据是否超过文件尺寸阈值来选择当前所要访问文件的访问方式,所述访问方式在带内数据访问方式和带外数据访问方式中选择;
3)客户端根据所选择的访问方式请求从文件元数据服务层或存储设备层获取文件数据。
2.根据权利要求1所述的面向分布式文件系统的数据传输方法,其特征在于,所述步骤1)中,所述元数据信息还包括文件IO块尺寸;
所述步骤2)中,所述文件尺寸阈值包括第一文件尺寸阈值和第二文件尺寸阈值,且所述第一文件尺寸阈值小于所述第二文件尺寸阈值;所述步骤2)包括下列子步骤:
21)如果当前所要访问文件的尺寸小于第一文件尺寸阈值,选择带内数据访问方式;
22)如果当前所要访问文件的尺寸大于第二文件尺寸阈值,选择带外数据访问方式;
23)如果当前所要访问文件的尺寸在第一文件尺寸阈值和第二文件尺寸阈值之间,则根据当前文件IO块尺寸是否超过文件IO块尺寸阈值来选择当前所要访问文件的访问方式。
3.根据权利要求2所述的面向分布式文件系统的数据传输方法,其特征在于,所述文件IO块尺寸阈值包括第一文件IO块尺寸阈值和第二文件IO块尺寸阈值,且所述第一文件IO块尺寸阈值小于所述第二文件IO块尺寸阈值;所述步骤23)包括下列子步骤:
231)如果当前文件IO块尺寸小于第一文件IO块尺寸阈值,选择带内数据访问方式;
232)如果当前文件IO块尺寸大于第二文件IO块尺寸阈值,选择带外数据访问方式;
233)如果当前文件IO块尺寸在第一文件IO块尺寸阈值和第二文件IO块尺寸阈值之间,则按同一文件在同一客户端的上一次访问的访问方式来确定当前的访问方式。
4.根据权利要求3所述的面向分布式文件系统的数据传输方法,其特征在于,所述步骤233)中,如果客户端是第一次访问所述当前文件,则默认选择带外数据访问方式。
5.根据权利要求4所述的面向分布式文件系统的数据传输方法,其特征在于,所述数据传输方法还包括:
4)文件元数据服务层接收客户端对所述当前文件的访问请求;
5)文件元数据服务层计算所述当前文件的尺寸与其全局访问次数的比值,如果该比值小于预先设定的判定阈值,按带内数据访问方式执行本次文件数据的传输,否则,按带外数据访问方式执行本次文件数据的传输;所述文件元数据服务层实时记录各文件的全局访问次数;当文件元数据服务层确定的访问方式与客户端不一致时,文件元数据服务层拒绝客户端按其原访问方式的访问;
6)在文件元数据服务层拒绝客户端的访问后,客户端切换其访问方式。
6.根据权利要求5所述的面向分布式文件系统的数据传输方法,其特征在于,所述步骤4)和步骤5)之间,执行下列步骤:
41)如果所述当前文件的尺寸小于所述第一文件尺寸阈值,元数据服务层确定执行带内数据访问方式;
42)如果所述当前文件的尺寸大于所述第二文件尺寸阈值,元数据服务层确定执行带外数据访问方式;
43)如果当前所要访问文件的尺寸在第一文件尺寸阈值和第二文件尺寸阈值之间;执行下列子步骤:
431)如果所述当前文件IO块尺寸小于所述第一文件IO块尺寸阈值,元数据服务层确定执行带内数据访问方式;
432)如果所述当前文件IO块尺寸大于所述第二文件IO块尺寸阈值,元数据服务层确定执行带外数据访问方式;
433)如果所述当前文件IO块尺寸在第一文件IO块尺寸阈值和第二文件IO块尺寸阈值之间,则元数据服务层执行所述步骤5)以确定对于所述当前文件执行那种数据访问方式。
7.一种面向分布式文件系统的数据传输装置,所述面向分布式文件系统包括文件客户端层,文件元数据服务层和存储设备层,所述文件客户端层包括多个客户端,其特征在于,所述数据传输装置包括:
位于客户端的元数据信息获取模块,用于获取当前所要访问文件的元数据信息;所述元数据信息包括文件尺寸;
位于客户端的客户端混合传输判定模块,用于根据是否超过文件尺寸阈值来选择当前所要访问文件的访问方式,所述访问方式在带内数据访问方式和带外数据访问方式中选择;以及
位于客户端的客户端文件数据传输模块,用于根据所选择的访问方式从文件元数据服务层或存储设备层获取文件数据。
8.根据权利要求7所述的面向分布式文件系统的数据传输装置,其特征在于,所述元数据信息还包括文件IO块尺寸;所述文件尺寸阈值包括第一文件尺寸阈值和第二文件尺寸阈值,且所述第一文件尺寸阈值小于所述第二文件尺寸阈值;
所述客户端混合传输判定模块还用于在当前所要访问文件的尺寸小于第一文件尺寸阈值时,选择带内数据访问方式;
在当前所要访问文件的尺寸大于第二文件尺寸阈值时,选择带外数据访问方式;
在当前所要访问文件的尺寸在第一文件尺寸阈值和第二文件尺寸阈值之间时,则根据当前文件IO块尺寸是否超过文件IO块尺寸阈值来选择当前所要访问文件的访问方式。
9.根据权利要求8所述的面向分布式文件系统的数据传输装置,其特征在于,所述客户端混合传输判定模块还用于在当前文件IO块尺寸小于第一文件IO块尺寸阈值时,选择带内数据访问方式;
在当前文件IO块尺寸大于第二文件IO块尺寸阈值时,选择带外数据访问方式;
在当前文件IO块尺寸在第一文件IO块尺寸阈值和第二文件IO块尺寸阈值之间时,则按同一文件在同一客户端的上一次访问的访问方式来确定当前的访问方式,如果客户端是第一次访问所述当前文件,则默认选择带外数据访问方式。
10.根据权利要求9所述的面向分布式文件系统的数据传输装置,其特征在于,所述数据传输装置还包括:
位于文件元数据服务层的文件访问请求接收模块,用于接收客户端对所述当前文件的访问请求;
位于文件元数据服务层的元数据服务器混合传输判定模块,用于实时记录各文件的全局访问次数;还用于计算所述当前文件的尺寸与其全局访问次数的比值,如果该比值小于预先设定的判定阈值,按带内数据访问方式执行本次文件数据的传输,否则,按带外数据访问方式执行本次文件数据的传输;还用于在文件元数据服务层确定的访问方式与客户端不一致时拒绝客户端按其原访问方式的访问;以及
位于客户端的切换模块,用于在文件元数据服务层拒绝客户端的访问时切换客户端的访问方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110027458 CN102075581B (zh) | 2011-01-25 | 2011-01-25 | 一种面向分布式文件系统的数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110027458 CN102075581B (zh) | 2011-01-25 | 2011-01-25 | 一种面向分布式文件系统的数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102075581A CN102075581A (zh) | 2011-05-25 |
CN102075581B true CN102075581B (zh) | 2013-06-12 |
Family
ID=44033922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110027458 Expired - Fee Related CN102075581B (zh) | 2011-01-25 | 2011-01-25 | 一种面向分布式文件系统的数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102075581B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866995B (zh) * | 2011-07-05 | 2017-05-24 | 中兴通讯股份有限公司 | 对等网络的文件访问方法、管理方法及分布式文件系统 |
CN103761256B (zh) * | 2013-12-30 | 2017-04-12 | 中国科学院计算技术研究所 | 一种远程目录分支点维护系统及其方法 |
CN103838853B (zh) * | 2014-03-17 | 2017-05-10 | 华中科技大学 | 一种基于不同存储介质的混合文件系统 |
CN103902669B (zh) * | 2014-03-17 | 2017-06-16 | 华中科技大学 | 一种基于不同存储介质的分离式文件系统 |
CN105095511A (zh) * | 2015-09-08 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种基于分布式系统的文件处理方法、装置及系统 |
CN105656686B (zh) * | 2016-02-29 | 2018-08-10 | 中国人民解放军国防信息学院 | 自适应设备管理适配方法 |
CN107016130A (zh) * | 2017-05-18 | 2017-08-04 | 郑州云海信息技术有限公司 | 一种文件存储的方法及装置 |
CN112965810B (zh) * | 2021-01-27 | 2022-06-24 | 合肥大多数信息科技有限公司 | 一种基于共享网络通道的多内核浏览器数据整合方法 |
CN115314361B (zh) * | 2022-08-05 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 一种服务器集群管理方法及其相关组件 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1481636A (zh) * | 2000-10-26 | 2004-03-10 | ÷ | 大有效负载文件的分段的实时并行交付方法和设备 |
EP2216958A1 (en) * | 2009-02-10 | 2010-08-11 | Alcatel Lucent | Method and device for reconstructing torrent content metadata |
-
2011
- 2011-01-25 CN CN 201110027458 patent/CN102075581B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1481636A (zh) * | 2000-10-26 | 2004-03-10 | ÷ | 大有效负载文件的分段的实时并行交付方法和设备 |
EP2216958A1 (en) * | 2009-02-10 | 2010-08-11 | Alcatel Lucent | Method and device for reconstructing torrent content metadata |
Non-Patent Citations (4)
Title |
---|
杨德志等.蓝鲸分布式文件系统元数据服务.《计算机工程》.2008,第34卷(第7期),全文. |
蓝鲸分布式文件系统元数据服务;杨德志等;《计算机工程》;20080430;第34卷(第7期);正文4-6,9页 * |
蓝鲸分布式文件系统的分布式分层资源管理模型;黄华等;《计算机研究与发展》;20050630(第6期);正文1034-1038 * |
黄华等.蓝鲸分布式文件系统的分布式分层资源管理模型.《计算机研究与发展》.2005,(第6期),全文. |
Also Published As
Publication number | Publication date |
---|---|
CN102075581A (zh) | 2011-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102075581B (zh) | 一种面向分布式文件系统的数据传输方法及装置 | |
US20220210498A1 (en) | Content Archive Model | |
US9672267B2 (en) | Hybrid data management system and method for managing large, varying datasets | |
US10303649B2 (en) | Storage media abstraction for uniform data storage | |
US11005717B2 (en) | Storage capacity evaluation method based on content delivery network application and device thereof | |
CN101763437B (zh) | 高速缓冲存储实现方法及装置 | |
US20110307534A1 (en) | Distributed file system supporting data block dispatching and file processing method thereof | |
US11226930B2 (en) | Distributed file system with integrated file object conversion | |
US20130238582A1 (en) | Method for operating file system and communication device | |
US11093143B2 (en) | Methods and systems for managing key-value solid state drives (KV SSDS) | |
US20150264448A1 (en) | Interactive personal/internet protocol television reservation system, reservation plan management method and device | |
CN102662713A (zh) | 提高应用程序运行速度的方法、装置及终端 | |
CN102789458B (zh) | 一种影像文件处理方法及系统 | |
Zhai et al. | Hadoop perfect file: A fast and memory-efficient metadata access archive file to face small files problem in hdfs | |
CN110706148B (zh) | 人脸图像处理方法、装置、设备和存储介质 | |
CN101483668A (zh) | 热点数据的网络存储和访问方法、设备及系统 | |
CN112711564B (zh) | 合并处理方法以及相关设备 | |
CN110347656B (zh) | 文件存储系统中请求的管理方法和装置 | |
US9330181B2 (en) | Methods and apparatuses for document processing at distributed processing nodes | |
US8423585B2 (en) | Variants of files in a file system | |
US20170286442A1 (en) | File system support for file-level ghosting | |
CN103442034A (zh) | 一种基于云计算技术的流媒体服务方法和系统 | |
US9069821B2 (en) | Method of processing files in storage system and data server using the method | |
CN108287793A (zh) | 响应消息的缓冲方法及服务器 | |
US8407266B1 (en) | Method and system for automatically saving a document to multiple file formats |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130612 Termination date: 20220125 |
|
CF01 | Termination of patent right due to non-payment of annual fee |