一种分布式文件系统中海量小文件IO操作传输提速方法技术方案

技术编号:9896746 阅读:210 留言:0更新日期:2014-04-09 22:52
本发明专利技术提供了一种分布式文件系统中海量小文件IO操作传输提速方法,在发送端将大量小文件IO操作缓存,执行流量汇集,打包成单一大文件一次性传输到接收端,在接收端对所述大文件进行解析,获得每一个小文件IO操作,并执行相关文件写入操作。所述方法大大降低了网络交互次数,提高了海量小文件IO操作的传输速度。

【技术实现步骤摘要】
一种分布式文件系统中海量小文件IO操作传输提速方法
本专利技术涉及计算机存储领域,具体涉及集群存储中,海量小文件传输加速的方法。
技术介绍
随着网络应用的迅速发展,网络信息数据量越来越大,PB级别的海量数据存储变得越来越重要。传统意义的文件系统已不能满足现有应用的大容量、高可靠性、高性能等要求,为满足这些新要求,基于分布式文件系统发展而来的集群NAS系统得到了广泛重视。现有分布式文件系统的研究主要分为元数据与实际数据存储分开管理,通过元数据与实际数据的隔离实现了分布式文件系统的容量动态增减、性能现行扩展。然而,社会化网络、移动通信、网络视频音频、电子商务、传感器网络、科学实验等各种应用产生的数据,不仅存储容量巨大,而且还具有数据类型繁多、数据大小变化大、流动快等显著特点,往往能够产生千万级、亿级甚至十亿、百亿级的海量小文件,而且更多地是海量大小文件混合存储。由于在元数据管理、访问性能、存储效率等方面面临巨大的挑战性,因此海量小文件(LOSF,lotsofsmallfiles)问题成为了工业界和学术界公认的难题。通常我们认为大小在1MB以内的文件称为小文件,百万级数量及以上称为海量,由此量化定义海量小文件问题,以下简称LOSF。LOSF应用在目前实际中越来越常见,如社交网站、电子商务、广电、网络视频、高性能计算。由于分布式文件系统的设计原理导致其在解决海量小文件传输问题时具有先天缺陷,使得现有集群NAS系统存在严重的小文件传输瓶颈,图1示出了现有集群NAS系统中小文件IO操作方式。
技术实现思路
为了充分利用分布式文件系统的高并发处理能力特性解决海量小文件传输问题,本专利技术设计了一种分布式文件系统中海量小文件IO操作传输提速方法,包括:S1:在发送端将大量小文件IO操作缓存,并按照预定的格式进行流量合并,打包为单一的大文件传输到接收端;S2:在接收端对接收到的所述单一大文件进行解析,获得所述大量小文件IO操作,并执行文件写入操作。本专利技术的有益效果是:该方法对海量小文件的操作利用多线程技术进行缓存和汇集,将大量的小文件操作转换为单一的大文件操作,大大降低了网络交互次数,提高了海量小文件IO操作的传输速度。附图说明图1示出的是现有技术中的海量小文件IO操作传输方案。图2示出的是本专利技术提出的分布式文件系统中海量小文件IO操作传输提速方法流程图。具体实施方式下面参照附图1详细描述本专利技术提出的分布式文件系统中海量小文件传输提速方法,所述方法涉及如下几个主要步骤1,客户端的IO调用截取。该步骤通过在客户端安装专门的软件,实现对客户端操作系统IO操作的重定向,通过对文件体积的获取,区分小文件与大文件,对于大文件使用系统默认的IO路径进行传输,对于小文件则进行拦截处理。2,海量小文件的流量合并。在客户端进行了小文件IO操作的拦截之后,对小文件的文件名、文件长度、文件内容、文件属性进行读取和编码,写入到预设的网络路径中。此时大量的小文件的IO被合并为单一的大文件的IO。对于海量小文件从客户端写入集群NAS的情况,这一步骤在客户端进行小文件操作的缓存和汇集,实现流量合并;对于海量小文件从集群NAS写入客户端的情况,这一步骤在集群NAS服务端进行处理,通过多线程并发访问分布式文件系统的元数据和数据,实现高速的小文件操作的缓存和汇集,实现流量合并。3,数据解析及文件写入。上一步骤中进行了流量合并后,在IO对端一侧,对于接收到的合并后的单一大文件IO操作进行分解,对分解得到的大量小文件的操作在本地进行并行处理。对于海量小文件从客户端写入集群NAS的情况,这一步在集群NAS的服务端运行,通过多线程的并行处理进行海量小文件的数据写入、文件属性更新等操作;对于海量小文件从集群NAS写入到客户端的情况,则在客户端进行处理,并根据客户端的资源情况进行一定的并发处理。参照图2,本专利技术体系结构包括:客户端IO截取模块和集群NAS服务端数据处理模块。再一个典型的配置环境里,客户端IO截取模块作为一般应用软件安装到客户端操作系统中,当客户进行文件传输操作时,客户端IO截取模块(1)能够拦截到文件传输的IO调用,并根据文件体积进行判断,对于体积大于1MB的文件判定为大文件,调用系统默认IO流程进行处理。对于体积小于1MB的文件判定为小文件,不使用系统的默认IO流程,而是使用本发表明定义的数据格式进行缓存。对于小文件从客户端写入集群NAS,客户端IO截取模块缓存小文件IO操作的文件属性和文件内容,待积累的小文件IO操作将缓存填满后,客户端IO截取模块将缓存内容按照预定的格式进行流量合并,打包为单一的大文件传输到集群NAS服务端数据处理模块,由集群NAS服务端数据处理模块进行数据解包,并将相关文件内容、文件属性利用多线程并发直接写入到分布式文件系统的元数据和数据中。对于小文件从集群NAS写入客户端,客户端IO截取模块将小文件IO操作指令缓存起来,缓存满后将指令打包发给集群NAS服务端数据处理模块进行处理。集群NAS服务端数据处理模块根据打包的指令利用多线程技术并发直接从分布式文件系统的元数据和数据中获取相关文件的文件属性、文件内容,进行流量汇聚,打包成单一的大文件传送给客户端IO截取模块,客户端IO截取模块接收到该打包后的大文件后进行数据解析和文件内容、文件属性的写入,完成IO流程。至此,已经完成了传统海量小文件传输模式到本专利技术设计的海量小文件加速模式的转换,实现了分布式文件系统作为集群NAS系统场景下海量小文件的高速传输。当然,本专利技术还可有其他多种实施例,在不背离本专利技术精神及其实质的情况下,熟悉本领域的技术人员当可根据本专利技术作出各种相应的改变和变形,但这些相应的改变和变形都应属于本专利技术的权利要求的保护范围。本文档来自技高网...
一种分布式文件系统中海量小文件IO操作传输提速方法

【技术保护点】
一种分布式文件系统中海量小文件IO操作传输提速方法,其特征在于包括:S1:在发送端将大量小文件IO操作缓存,并按照预定的格式进行流量合并,打包为单一的大文件传输到接收端;S2:在接收端对接收到的所述单一大文件进行解析,获得所述大量小文件IO操作,并执行文件写入操作。

【技术特征摘要】
1.一种分布式文件系统中海量小文件IO操作传输提速方法,其特征在于,应用于小文件从客户端写入集群NAS,包括:客户端IO截取模块根据文件体积进行判断大文件和小文件,如果是大文件,调用系统默认IO流程进行处理,如果是小文件,采用如下方式处理:S1:客户端IO截取模块拦截大量小文件IO操作,并缓存每一个小文件IO操作的文件属性和文件内容,待积累的小文件IO操作将缓存填满后,客户端IO截取模块将缓存内容按照预定的格式进行流量合并,打包为单一的大文件传输到集群NAS服务端数据处理模块;S2:集群NAS服务端数据处理模块对接收到的所述单一大文件进行数据解析,获得每一个小文件IO操作的文件内容和文件属性,并利用多线程并发方式将所述文...

【专利技术属性】
技术研发人员:孟圣智
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1