加快分布式文件系统中大量小文件io操作传输的方法

电脑杂谈  发布时间:2020-06-07 06:26:19  来源:网络整理

分布式并行文件系统_常见分布式文件系统_分布式文件管理系统

加快分布式文件系统中大量小文件io操作传输的方法

[专利摘要]本发明提供了一种用于在分布式文件系统中加速大量小文件IO操作的传输的方法. 发送端缓存大量小文件IO操作,执行流量汇总,并将它们打包到一个大文件中以进行一次传输. 到接收端,在接收端解析大文件,获得每个小文件IO操作,并执行相关的文件写入操作. 该方法大大减少了网络交互的次数,提高了海量小文件IO操作的传输速度.

[专利描述]一种用于加速分布式文件系统中大量小文件IO操作传输的方法

【技术领域】

[0001]本发明涉及计算机存储领域,尤其涉及一种用于加速簇存储中海量小文件传输的方法. 【背景技术】

[0002]随着网络应用的飞速发展,网络信息数据量越来越大,PB级海量数据存储变得越来越重要. 传统文件系统已不能满足现有应用程序的大容量,高可靠性和高性能的要求. 为了满足这些新要求,基于分布式文件系统开发的集群NAS系统受到了广泛的关注.

[0003]现有的分布式文件系统的研究主要分为元数据管理和实际数据存储分开. 通过隔离元数据和实际数据,可以实现分布式文件系统容量的动态增加和减少以及当前性能的扩展. 但是,由社交网络,移动通信,网络视频和音频,电子商务,传感器网络和科学实验等各种应用程序生成的数据不仅具有巨大的存储容量,而且具有显着的数据类型,数据大小的巨大变化,并且流量很快. 功能,通常能够产生数千万,数十亿甚至数百亿的小文件,并且可以混合存储大大小小的文件. 由于元数据管理常见分布式文件系统,访问性能,存储效率等方面的巨大挑战,大量小文件(LOSF,许多小文件)的问题已成为行业和学术界公认的问题.

分布式文件管理系统_分布式并行文件系统_常见分布式文件系统

[0004]通常,我们认为大小在IMB内的文件称为小文件,数百万或更多的文件称为海量文件. 由此,定量地定义了大文件的问题,以下称为LOSF. 在实践中,诸如社交网站,电子商务,广播电视,网络视频和高性能计算等LOSF应用程序正变得越来越普遍.

[0005]由于分布式文件系统的设计原理,在解决海量小文件传输问题上存在先天缺陷,这使得现有的集群式NAS系统存在严重的小文件传输瓶颈. 图1显示了NAS系统中现有的小文件集群IO操作模式.

[发明内容]

[p] [0006]为了充分利用分布式文件系统的高并发处理能力来解决海量小文件传输的问题,本发明设计了一种方法来加速海量小文件IO操作的传输. 分布式文件系统,包括:

[0007] S1: 在发送端缓存大量小文件IO操作,并根据预定格式合并流量

[0008]并且,打包为一个大文件并传输到接收端;

[0009] S2: 在接收端分析接收到的单个大文件,获取大量小文件的IO操作,并执行文件写入操作.

分布式文件管理系统_分布式并行文件系统_常见分布式文件系统

[0010]本发明的有益效果是: 该方法采用多线程技术来缓存和聚合大量的小文件操作,将大量的小文件操作转换为单个大文件操作,大大减少了数量网络交互,提高海量小文件IO操作的传输速度.

【专利图】

[图纸说明]

[0011]图. 图1示出了现有技术中的海量小文件IO操作传输方案.

[0012]图. 图2示出了本发明提出的用于加速分布式小文件系统中大量小文件IO操作的传输的方法的流程图. [具体实现]

[0013]下面参照图2详细描述本发明提出的在分布式文件系统中加速海量小文件传输的方法. 1.该方法包括以下主要步骤

[0014] 1,客户端的IO呼叫拦截. 在此步骤中,将特殊软件安装在客户端上,以实现客户端操作系统IO操作的重定向. 通过获取文件量,区分小文件和大文件. 对于大文件,系统默认的IO路径用于传输. 小文件被拦截.

常见分布式文件系统_分布式并行文件系统_分布式文件管理系统

[0015] 2,海量小文件流被合并. 客户端截取小文件IO操作后,将读取和编码小文件的文件名,文件长度,文件内容和文件属性,并将其写入预设的网络路径. 此时,大量小文件的IO合并为单个大文件的10个. 对于从客户端向集群NAS写入大量小文件的情况,此步骤在客户端上缓存和聚合小文件操作以实现流量合并;对于将大量小文件从群集NAS写入客户端的情况,此步骤是: 群集NAS服务器执行处理,并通过多线程并发访问分布式文件系统的元数据和数据常见分布式文件系统,以实现高加快小文件操作的缓存和聚合,并实现流量合并.

[0016] 3,数据分析和文件写入. 在上一步执行流量合并之后,在IO对等方,将接收到的单个大文件IO操作分解,并通过本地并行处理通过分解获得的大量小文件的操作. 对于从客户端将大量小文件写入群集NAS的情况,此步骤在群集NAS的服务器端运行,并且多线程并行处理用于写入数据和更新磁盘的文件属性. 大小文件;当群集NAS写入客户端时,将在客户端上对其进行处理,并根据客户端的资源状况执行某些并发处理.

[0017]参考图. 如图2所示,本发明的架构包括: 客户端IO拦截模块和集群NAS服务器数据处理模块.

[0018]在另一个典型的配置环境中,客户端IO拦截模块作为通用应用程序软件安装在客户端操作系统中. 当客户端执行文件传输操作时,客户端IO拦截模块(I)可以拦截IO调用进行文件传输,并根据文件量进行判断. 对于卷大于IMB的文件,它被确定为大文件,并调用系统默认IO进程进行处理. 对于大小小于IMB的文件,它被认为是小文件,而不是使用系统的默认IO进程,而是使用此公告中定义的数据格式进行缓存.

[0019]对于从客户端写入群集NAS的小型文件,客户端IO拦截模块将缓存小型文件IO操作的文件属性和文件内容. 累积的小文件IO操作填满缓存后,客户端IO拦截模块会根据预定格式合并缓存的内容,将其打包为单个大文件,然后将其传输到集群NAS服务器数据处理模块. 集群式NAS服务器数据处理模块将数据以及相关文件的内容和文件属性解压缩. 使用多线程并发功能直接将其写入分布式文件系统的元数据和数据.

[0020]对于从群集NAS写入客户端的小文件,客户端IO拦截模块将缓存小文件IO操作指令. 缓存已满后,指令将打包并发送到集群NAS服务器数据处理模块进行处理. 集群NAS服务器数据处理模块采用多线程技术,根据打包后的指令直接从分布式文件系统的元数据和数据中获取相关文件的文件属性和文件内容,将流量汇总后打包为一个大文件,以传输到客户端IO拦截模块. 客户端IO拦截模块接收到打包的大文件后,会分析数据并写入文件内容和文件属性以完成IO处理.

[0021]到目前为止,已经完成了将传统的海量文件传输模式转换为本发明设计的海量文件加速模式,在分布式NAS的情况下海量文件的高速传输该系统已作为集群NAS系统得以实现. [0022]当然,在不脱离本发明的精神和实质的情况下,本发明可以具有其他各种实施方式,本领域技术人员可以根据本发明做出各种对应的改变和修改,但是这些对应的改变和修改应落入本发明权利要求的保护范围内.

常见分布式文件系统_分布式文件管理系统_分布式并行文件系统

[要求]

1. 一种加速分布式文件系统中大量小文件IO操作传输的方法,该方法包括: S1: 在发送端缓存大量小文件IO操作,按照预定格式合并流量,并打包为一个大文件发送到接收端; S2: 在接收端,对接收到的单个大文件进行解析以获得大量的小文件IO操作,并执行文件写入操作.

2. 2.根据权利要求1所述的方法,其特征在于,所述发送端为客户端IO拦截模块,所述接收端为集群NAS服务器数据处理模块. 步骤SI具体为: 客户端终端IO拦截模块拦截大量小文件IO操作,并缓存每个小文件IO操作的文件属性和文件内容. 累积的小文件IO操作填满缓存后,客户端IO拦截模块将根据缓存内容. 流量以预定格式合并并打包为单个大文件,并传输到集群NAS服务器数据处理模块;步骤S2具体为: 集群NAS服务器数据处理模块对接收到的单个大文件进行数据分析,得到每个小文件IO操作的文件内容和文件属性,并将文件内容和文件属性直接写入元数据;多线程并发模式的分布式文件系统数据.

3. 2.根据权利要求1所述的方法,其特征在于,所述发送端为集群NAS服务器数据处理模块,所述接收端为客户端IO拦截模块. 步骤S1还包括步骤: 客户端IO拦截模块缓存大量的小文件IO操作指令. 当缓存被填满时,缓存中的指令被打包并一次发送到集群NAS服务器数据处理模块. 步骤SI具体为: 集群NAS服务器数据处理模块根据指令同时使用多线程技术直接从分布式文件系统的元数据和数据中获取相关的小文件IO操作的文件属性和文件内容,执行流量聚合,并将其打包为一个大文件传输到客户端IO拦截模块;步骤S2具体为: 客户端IO拦截模块接收打包后的大文件,并对数据进行分析,以获得每个小文件IO操作的文件内容和文件属性,并进行写操作.

【文件号】G06F17 / 30GK103716413SQ201410014559

【公众日】2014年4月9日申请日期: 2014年1月13日优先权日期: 2014年1月13日

[发明人]孟胜志申请人: 浪潮(北京)电子信息产业.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-236873-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...