CN114780042B - 提升nas存储性能的方法及装置、电子设备和存储介质 - Google Patents

提升nas存储性能的方法及装置、电子设备和存储介质 Download PDF

Info

Publication number
CN114780042B
CN114780042B CN202210489131.5A CN202210489131A CN114780042B CN 114780042 B CN114780042 B CN 114780042B CN 202210489131 A CN202210489131 A CN 202210489131A CN 114780042 B CN114780042 B CN 114780042B
Authority
CN
China
Prior art keywords
file
nas
nas storage
sending
judging whether
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.)
Active
Application number
CN202210489131.5A
Other languages
English (en)
Other versions
CN114780042A (zh
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anchao Cloud Software Co Ltd
Original Assignee
Anchao Cloud Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Anchao Cloud Software Co Ltd filed Critical Anchao Cloud Software Co Ltd
Priority to CN202210489131.5A priority Critical patent/CN114780042B/zh
Publication of CN114780042A publication Critical patent/CN114780042A/zh
Application granted granted Critical
Publication of CN114780042B publication Critical patent/CN114780042B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种提升NAS存储性能的方法及装置、电子设备和存储介质,该方法包括以下步骤:通过用户态文件系统截获客户端发送到NAS存储的文件;判断所述文件是否为大文件;若是,将所述文件发送至NAS存储;若否,将所述文件合并至所述用户态文件系统小文件合并模块中的压缩包,在所述压缩包大小超过发送阈值时,将所述压缩包发送至NAS存储。该方法能够通过用户态文件系统为客户端提供一个本地目录,使得用户使用上无感知。由于通过小文件合并模块将小文件进行压缩包合并,有效的提升了单次IO的传输大小,提升了NAS存储的性能。且阈值可控,不同的NAS存储类型,在传输块大小的表现上各有不同,通过阈值设置,可用于调整出最佳存储性能。

Description

提升NAS存储性能的方法及装置、电子设备和存储介质
技术领域
本发明是关于存储领域,特别是关于一种提升NAS存储性能的方法及装置、电子设备和存储介质。
背景技术
随着近年来科技的不断进步,网络功能的愈发强大,在文件共享业务中,即需要通过网络将文件经过长距离传输到用户的客户端时,通常使用NAS(网络附加存储)来实现上述业务。
NAS就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”,是一种直接连接在网络上的存储结构,是一种专用数据存储服务器。NAS是以数据为中心,将存储设备与服务器彻底分离,并对数据进行集中管理。由于NAS存储设备的文件锁定是由设备自身处理的,所以NAS可以提供可靠的文件级整合。
存储的性能判断条件一般为存储带宽和IO吞吐率。带宽越大,IO吞吐率越高,性能越好,IO吞吐率和带宽的公式关系为:IO吞吐率*单次IO平均块大小=总带宽。现有的NAS技术在存储大文件时,由于单次IO的平均块大小较大,因此性能较好。而在存储小文件时,由于单次IO平均块大小较小,降低了总带宽,使得存储性能下降。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种提升NAS存储性能的方法及装置、电子设备和存储介质,解决在存储小文件时,由于单次IO平均块大小较小,降低了总带宽,使得存储性能下降的问题。
为实现上述目的,本发明的实施例提供了一种提升NAS存储性能的方法。
在本发明的一个或多个实施方式中,所述方法包括:通过用户态文件系统截获客户端发送到NAS存储的文件;判断所述文件是否为大文件;若是,将所述文件发送至NAS存储;若否,将所述文件合并至所述用户态文件系统小文件合并模块中的压缩包,在所述压缩包大小超过发送阈值时,将所述压缩包发送至NAS存储。
在本发明的一个或多个实施方式中,判断所述文件是否为大文件,包括:在所述用户态文件系统的过滤器打开所述文件时,将所述文件的基本信息记录至Manifest文件;以及在过滤器写入所述文件时,判断所述Manifest文件中是否标记所述文件为大文件。
在本发明的一个或多个实施方式中,所述在过滤器写入所述文件时,判断所述Manifest文件中是否标记所述文件为大文件,包括:判断写操作的长度是否大于预设阈值;若是,在所述Manifest文件中标记所述文件为大文件;若否,判断所述Manifest文件中是否存在所述文件的记录;若否,将所述文件发送至小文件合并模块。
在本发明的一个或多个实施方式中,将所述文件合并至所述用户态文件系统小文件合并模块中的压缩包,包括:在小文件合并模块收到写操作请求时,将所述文件写入到本地目录,并记录所述文件的写入状态至所述Manifest文件;以及小文件合并模块收到文件关闭操作时,将本地目录的文件合并至压缩包,并记录所述文件和所述压缩包的对应关系至所述Manifest文件中。
在本发明的一个或多个实施方式中,在所述压缩包大小超过发送阈值时,将所述压缩包发送至NAS存储,包括:判断所述压缩包大小是否超过发送阈值;若是,将所述压缩包和所述Manifest文件发送至NAS存储。
在本发明的一个或多个实施方式中,所述方法还包括:在所述压缩包大小未超过发送阈值时,判断所述压缩包是否满足更新时间阈值;若否,等待至更新时间阈值,再次判断所述压缩包是否满足更新时间阈值;若是,重置定时器,并将所述压缩包和所述Manifest文件发送至NAS存储。
在本发明的一个或多个实施方式中,所述方法还包括:通过用户态文件系统为客户端创建一个挂载目录;以及通过虚拟文件系统和用户态文件系统内核将所述文件映射至用户态的动态链接库。
在本发明的另一个方面当中,提供了一种提升NAS存储性能的装置,其包括截获模块、判断模块、大文件发送模块和小文件合并模块。
截获模块,用于通过用户态文件系统截获客户端发送到NAS存储的文件。
判断模块,用于判断所述文件是否为大文件。
大文件发送模块,用于将所述文件发送至NAS存储。
小文件合并模块,用于将所述文件合并至所述用户态文件系统小文件合并模块中的压缩包,在所述压缩包大小超过发送阈值时,将所述压缩包发送至NAS存储。
在本发明的一个或多个实施方式中,所述判断模块还用于:在所述用户态文件系统的过滤器打开所述文件时,将所述文件的基本信息记录至Manifest文件;以及在过滤器写入所述文件时,判断所述Manifest文件中是否标记所述文件为大文件。
在本发明的一个或多个实施方式中,所述判断模块还用于:判断写操作的长度是否大于预设阈值;若是,在所述Manifest文件中标记所述文件为大文件;若否,判断所述Manifest文件中是否存在所述文件的记录;若否,将所述文件发送至小文件合并模块。
在本发明的一个或多个实施方式中,所述小文件合并模块还用于:在小文件合并模块收到写操作请求时,将所述文件写入到本地目录,并记录所述文件的写入状态至所述Manifest文件;以及小文件合并模块收到文件关闭操作时,将本地目录的文件合并至压缩包,并记录所述文件和所述压缩包的对应关系至所述Manifest文件中。
在本发明的一个或多个实施方式中,所述小文件合并模块还用于:判断所述压缩包大小是否超过发送阈值;若是,将所述压缩包和所述Manifest文件发送至NAS存储。
在本发明的一个或多个实施方式中,所述小文件合并模块还用于:在所述压缩包大小未超过发送阈值时,判断所述压缩包是否满足更新时间阈值;若否,等待至更新时间阈值,再次判断所述压缩包是否满足更新时间阈值;若是,重置定时器,并将所述压缩包和所述Manifest文件发送至NAS存储。
在本发明的一个或多个实施方式中,所述截获模块还用于:通过用户态文件系统为客户端创建一个挂载目录;以及通过虚拟文件系统和用户态文件系统内核将所述文件映射至用户态的动态链接库。
在本发明的另一个方面当中,提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的提升NAS存储性能的方法。
在本发明的另一个方面当中,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的提升NAS存储性能的方法的步骤。
与现有技术相比,根据本发明实施方式的提升NAS存储性能的方法及装置、电子设备和存储介质,其能够通过用户态文件系统为客户端提供一个本地目录,使得用户使用上无感知。由于通过小文件合并模块将小文件进行压缩包合并,有效的提升了单次IO的传输大小,提升了NAS存储的性能。且阈值可控,不同的NAS存储类型,在传输块大小的表现上各有不同,通过阈值设置,可用于调整出最佳存储性能。
附图说明
图1是根据本发明一实施方式的提升NAS存储性能的方法的流程图;
图2是根据本发明一实施方式的提升NAS存储性能的方法的整体框架图;
图3是根据本发明一实施方式的提升NAS存储性能的方法的过滤器示意图;
图4是根据本发明一实施方式的提升NAS存储性能的方法的小文件合并模块示意图;
图5是根据本发明一实施方式的提升NAS存储性能的方法的具体流程图;
图6是根据本发明一实施方式的提升NAS存储性能的装置的结构图;
图7是根据本发明一实施方式的提升NAS存储性能的计算设备的硬件结构图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
以下结合附图,详细说明本发明各实施例提供的技术方案。
实施例1
如图1至图4所示,介绍本发明的一个实施例中提升NAS存储性能的方法,该方法包括如下步骤。
在步骤S101中,通过用户态文件系统截获客户端发送到NAS存储的文件。
NAS(Network Attached Storage:网络附属存储)指连接在网络上具备资料存储功能的装置,网络存储基于标准网络协议实现数据传输,为网络中的Windows/Linux/MacOS等各种不同操作系统的计算机提供文件共享和数据备份。
FUSE(Filesystem in UserSpace)用户态文件系统,用于在用户态实现自己的文件系统,是Linux中用于挂载某些网络空间,如SSH,到本地文件系统的模块。
如图2所示,通过用户态文件系统提供给客户端一个挂载目录。用户写入的文件会通过虚拟文件系统(vfs)和用户态文件系统内核映射至用户态的动态链接库(libfuse)。用户态文件系统对文件进行过滤和合并,最终发送到NAS存储,以此来提升NAS备份的存储性能。
在步骤S102中,判断文件是否为大文件。
如图3所示,文件备份到NAS存储被用户态文件系统截获的写操作主要包含三个步骤:打开文件、写入数据以及关闭文件。
当打开文件时,用户态文件系统会在本地目录生成一个Manifest文件,用于记录新打开的文件的基本信息。Manifest是个XML的描述文件,对于每个应用程序也有自己的Manifest文件。对于应用程序而言,Manifest文件可以是一个和可执行文件同一目录下的Manifest文件,也可以是作为一个资源嵌入在可执行文件内部。
在写文件操作时,如果在Manifest文件中已经标记了该文件为大文件,则将该文件的所有数据直接发送到NAS存储进行备份。而Manifest文件中大文件的标记,则是由写操作的长度决定的。如果写操作的长度大于小文件的判定阈值(在本实施例中,1MB大小以下为小文件),则更新Manifest文件,标记该文件为大文件。如果写操作的长度小于小文件的判断阈值,且Manifest文件中没有查询到该文件的记录,则将该文件发送到小文件合并模块,进行合并处理。
在步骤S103中,将文件发送至NAS存储。
在写文件操作时,如果在Manifest文件中已经标记了该文件为大文件,则将该文件的所有数据直接发送到NAS存储进行备份。
在步骤S104中,将文件合并至用户态文件系统小文件合并模块中的压缩包,在压缩包大小超过发送阈值时,将压缩包发送至NAS存储。
如图4所示,小文件合并模块在收到写操作请求时,会先将数据写入到本地目录,并记录小文件的写入状态至Manifest文件。
在收到文件关闭操作时,则将文件合并至归档的压缩包中。并记录文件和压缩包的对应关系至Manifest文件。此时判断压缩包大小是否超过发送阈值(在本实施例中,压缩包达到4M就发送到NAS),若压缩包大小超过发送阈值,则将压缩包和Manifest文件发送至NAS存储。
同时在小文件合并模块中设置定时器,用于定时发送压缩包,防止压缩包不满足发送大小,而后续没有写操作的场景。具体的,在压缩包大小未超过发送阈值时,判断压缩包是否满足更新时间阈值;若否,等待至更新时间阈值,再次判断压缩包是否满足更新时间阈值;若是,重置定时器,并将压缩包和Manifest文件发送至NAS存储。
根据本发明实施方式的提升NAS存储性能的方法及装置、电子设备和存储介质,其能够通过用户态文件系统为客户端提供一个本地目录,使得用户使用上无感知。由于通过小文件合并模块将小文件进行压缩包合并,有效的提升了单次IO的传输大小,提升了NAS存储的性能。且阈值可控,不同的NAS存储类型,在传输块大小的表现上各有不同,通过阈值设置,可用于调整出最佳存储性能。
实施例2
如图5所示,介绍本发明的一个实施例中提升NAS存储性能的方法,该方法包括如下步骤。
在步骤S201中,通过用户态文件系统截获客户端发送到NAS存储的文件。
NAS(Network Attached Storage:网络附属存储)指连接在网络上具备资料存储功能的装置,网络存储基于标准网络协议实现数据传输,为网络中的Windows/Linux/MacOS等各种不同操作系统的计算机提供文件共享和数据备份。
FUSE(Filesystem in UserSpace)用户态文件系统,用于在用户态实现自己的文件系统,是Linux中用于挂载某些网络空间,如SSH,到本地文件系统的模块。
通过用户态文件系统提供给客户端一个挂载目录。用户写入的文件会通过虚拟文件系统(vfs)和用户态文件系统内核映射至用户态的动态链接库(libfuse)。用户态文件系统对文件进行过滤和合并,最终发送到NAS存储,以此来提升NAS备份的存储性能。
在步骤S202中,在用户态文件系统的过滤器打开文件时,将文件的基本信息记录至Manifest文件。
当打开文件时,用户态文件系统会在本地目录生成一个Manifest文件,用于记录新打开的文件的基本信息。Manifest是个XML的描述文件,对于每个应用程序也有自己的Manifest文件。对于应用程序而言,Manifest文件可以是一个和可执行文件同一目录下的Manifest文件,也可以是作为一个资源嵌入在可执行文件内部。
在步骤S203中,在过滤器写入文件时,判断Manifest文件中是否标记文件为大文件。
判断写操作的长度是否大于预设阈值;若是,在Manifest文件中标记文件为大文件;若否,判断Manifest文件中是否存在文件的记录;若否,将文件发送至小文件合并模块。
在写文件操作时,如果在Manifest文件中已经标记了该文件为大文件,则将该文件的所有数据直接发送到NAS存储进行备份。而Manifest文件中大文件的标记,则是由写操作的长度决定的。如果写操作的长度大于小文件的判定阈值(在本实施例中,1MB大小以下为小文件),则更新Manifest文件,标记该文件为大文件。如果写操作的长度小于小文件的判断阈值,且Manifest文件中没有查询到该文件的记录,则将该文件发送到小文件合并模块,进行合并处理。
在步骤S204中,在小文件合并模块收到写操作请求时,将文件写入到本地目录,并记录文件的写入状态至Manifest文件。
在步骤S205中,在小文件合并模块收到文件关闭操作时,将本地目录的文件合并至压缩包,并记录文件和压缩包的对应关系至Manifest文件中。
在步骤S206中,在压缩包大小超过发送阈值时,将压缩包发送至NAS存储。
此时判断压缩包大小是否超过发送阈值(在本实施例中,压缩包达到4M就发送到NAS),若压缩包大小超过发送阈值,则将压缩包和Manifest文件发送至NAS存储。
在步骤S207中,在压缩包大小未超过发送阈值时,判断压缩包是否满足更新时间阈值。
在小文件合并模块中设置定时器,用于定时发送压缩包,防止压缩包不满足发送大小,而后续没有写操作的场景。
具体的,在压缩包大小未超过发送阈值时,判断压缩包是否满足更新时间阈值;若否,等待至更新时间阈值,再次判断压缩包是否满足更新时间阈值;若是,重置定时器,并将压缩包和Manifest文件发送至NAS存储。
根据本发明实施方式的提升NAS存储性能的方法及装置、电子设备和存储介质,其能够通过用户态文件系统为客户端提供一个本地目录,使得用户使用上无感知。由于通过小文件合并模块将小文件进行压缩包合并,有效的提升了单次IO的传输大小,提升了NAS存储的性能。且阈值可控,不同的NAS存储类型,在传输块大小的表现上各有不同,通过阈值设置,可用于调整出最佳存储性能。
如图6所示,介绍根据本发明具体实施方式的提升NAS存储性能的装置。
在本发明的实施方式中,提升NAS存储性能的装置包括截获模块601、判断模块602、大文件发送模块603和小文件合并模块604。
截获模块601,用于通过用户态文件系统截获客户端发送到NAS存储的文件。
判断模块602,用于判断文件是否为大文件。
大文件发送模块603,用于将文件发送至NAS存储。
小文件合并模块604,用于将文件合并至用户态文件系统小文件合并模块中的压缩包,在压缩包大小超过发送阈值时,将压缩包发送至NAS存储。
判断模块602还用于:在用户态文件系统的过滤器打开文件时,将文件的基本信息记录至Manifest文件;以及在过滤器写入文件时,判断Manifest文件中是否标记文件为大文件。
判断模块602还用于:判断写操作的长度是否大于预设阈值;若是,在Manifest文件中标记文件为大文件;若否,判断Manifest文件中是否存在文件的记录;若否,将文件发送至小文件合并模块。
小文件合并模块604还用于:在小文件合并模块收到写操作请求时,将文件写入到本地目录,并记录文件的写入状态至Manifest文件;以及小文件合并模块收到文件关闭操作时,将本地目录的文件合并至压缩包,并记录文件和压缩包的对应关系至Manifest文件中。
小文件合并模块604还用于:判断压缩包大小是否超过发送阈值;若是,将压缩包和Manifest文件发送至NAS存储。
小文件合并模块604还用于:在压缩包大小未超过发送阈值时,判断压缩包是否满足更新时间阈值;若否,等待至更新时间阈值,再次判断压缩包是否满足更新时间阈值;若是,重置定时器,并将压缩包和Manifest文件发送至NAS存储。
截获模块601还用于:通过用户态文件系统为客户端创建一个挂载目录;以及通过虚拟文件系统和用户态文件系统内核将文件映射至用户态的动态链接库。
图7示出了根据本说明书的实施例的用于提升NAS存储性能的计算设备70的硬件结构图。如图7所示,计算设备70可以包括至少一个处理器701、存储器702(例如非易失性存储器)、内存703和通信接口704,并且至少一个处理器701、存储器702、内存703和通信接口704经由总线705连接在一起。至少一个处理器701执行在存储器702中存储或编码的至少一个计算机可读指令。
应该理解,在存储器702中存储的计算机可执行指令当执行时使得至少一个处理器701进行本说明书的各个实施例中以上结合图1-7描述的各种操作和功能。
在本说明书的实施例中,计算设备70可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-7描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
根据本发明实施方式的提升NAS存储性能的方法及装置、电子设备和存储介质,其能够通过用户态文件系统为客户端提供一个本地目录,使得用户使用上无感知。由于通过小文件合并模块将小文件进行压缩包合并,有效的提升了单次IO的传输大小,提升了NAS存储的性能。且阈值可控,不同的NAS存储类型,在传输块大小的表现上各有不同,通过阈值设置,可用于调整出最佳存储性能。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

Claims (9)

1.一种提升NAS存储性能的方法,其特征在于,所述方法包括:
通过用户态文件系统截获客户端发送到NAS存储的文件;
判断所述文件是否为大文件;若是,
将所述文件发送至NAS存储;若否,
在小文件合并模块收到写操作请求时,将所述文件写入到本地目录,并记录所述文件的写入状态至Manifest文件;以及在小文件合并模块收到文件关闭操作时,将本地目录的文件合并至压缩包,并记录所述文件和所述压缩包的对应关系至所述Manifest文件中,在所述压缩包大小超过发送阈值时,将所述压缩包发送至NAS存储。
2.如权利要求1所述的提升NAS存储性能的方法,其特征在于,判断所述文件是否为大文件,包括:
在所述用户态文件系统的过滤器打开所述文件时,将所述文件的基本信息记录至Manifest文件;以及
在过滤器写入所述文件时,判断所述Manifest文件中是否标记所述文件为大文件。
3.如权利要求2所述的提升NAS存储性能的方法,其特征在于,所述在过滤器写入所述文件时,判断所述Manifest文件中在所述用户态文件系统的过滤器打开所述文件时,将所述文件的基本信息记录至Manifest文件;以及
在过滤器写入所述文件时,判断所述Manifest文件中是否标记所述文件为大文件;
是否标记所述文件为大文件,包括:
判断写操作的长度是否大于预设阈值;若是,
在所述Manifest文件中标记所述文件为大文件;若否,
判断所述Manifest文件中是否存在所述文件的记录;若否,
将所述文件发送至小文件合并模块。
4.如权利要求1所述的提升NAS存储性能的方法,其特征在于,在所述压缩包大小超过发送阈值时,将所述压缩包发送至NAS存储,包括:
判断所述压缩包大小是否超过发送阈值;若是,
将所述压缩包和所述Manifest文件发送至NAS存储。
5.如权利要求4所述的提升NAS存储性能的方法,其特征在于,所述方法还包括:
在所述压缩包大小未超过发送阈值时,判断所述压缩包是否满足更新时间阈值;若否,
等待至更新时间阈值,再次判断所述压缩包是否满足更新时间阈值;若是,重置定时器,并将所述压缩包和所述Manifest文件发送至NAS存储。
6.如权利要求1所述的提升NAS存储性能的方法,其特征在于,所述方法还包括:
通过用户态文件系统为客户端创建一个挂载目录;以及
通过虚拟文件系统和用户态文件系统内核将所述文件映射至用户态的动态链接库。
7.一种提升NAS存储性能的装置,其特征在于,所述装置包括:
截获模块,用于通过用户态文件系统截获客户端发送到NAS存储的文件;
判断模块,用于判断所述文件是否为大文件;
大文件发送模块,用于将所述文件发送至NAS存储;
小文件合并模块,用于在小文件合并模块收到写操作请求时,将所述文件写入到本地目录,并记录所述文件的写入状态至Manifest文件;以及在小文件合并模块收到文件关闭操作时,将本地目录的文件合并至压缩包,并记录所述文件和所述压缩包的对应关系至所述Manifest文件中,在所述压缩包大小超过发送阈值时,将所述压缩包发送至NAS存储。
8.一种电子设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1至6中任一项所述的提升NAS存储性能的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的提升NAS存储性能的方法的步骤。
CN202210489131.5A 2022-05-06 2022-05-06 提升nas存储性能的方法及装置、电子设备和存储介质 Active CN114780042B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210489131.5A CN114780042B (zh) 2022-05-06 2022-05-06 提升nas存储性能的方法及装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210489131.5A CN114780042B (zh) 2022-05-06 2022-05-06 提升nas存储性能的方法及装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN114780042A CN114780042A (zh) 2022-07-22
CN114780042B true CN114780042B (zh) 2023-07-28

Family

ID=82434593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210489131.5A Active CN114780042B (zh) 2022-05-06 2022-05-06 提升nas存储性能的方法及装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN114780042B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821487A (zh) * 2021-09-23 2021-12-21 中国联合网络通信集团有限公司 本地文件系统实现方法、装置、设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702664B2 (en) * 2006-12-26 2010-04-20 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for autonomic large file marking
US8566362B2 (en) * 2009-01-23 2013-10-22 Nasuni Corporation Method and system for versioned file system using structured data representations
CN105205082A (zh) * 2014-06-27 2015-12-30 国际商业机器公司 用于处理hdfs中的文件存储的方法和系统
CN105590067B (zh) * 2015-12-17 2018-06-19 武汉理工大学 一种基于用户空间文件系统的文件加密系统
CN106156289A (zh) * 2016-06-28 2016-11-23 北京百迈客云科技有限公司 一种读写对象存储系统中的数据的方法以及装置
CN106708627B (zh) * 2016-12-29 2020-08-07 中国科学院计算技术研究所 一种基于kvm的多虚拟机映射、多通路的fuse加速方法及系统
CN107506466B (zh) * 2017-08-30 2020-08-04 郑州云海信息技术有限公司 一种小文件存储方法及系统
CN111159124B (zh) * 2019-12-30 2022-04-22 浪潮电子信息产业股份有限公司 Linux内核文件系统异步写缓存方法、装置及介质
CN111475469B (zh) * 2020-03-19 2021-12-14 中山大学 Kubernetes用户态应用中基于虚拟文件系统的小文件存储优化系统
CN113110801A (zh) * 2021-04-15 2021-07-13 山东英信计算机技术有限公司 一种加快小文件读取速度的方法、系统、设备和存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821487A (zh) * 2021-09-23 2021-12-21 中国联合网络通信集团有限公司 本地文件系统实现方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN114780042A (zh) 2022-07-22

Similar Documents

Publication Publication Date Title
US9110963B2 (en) Transparent adaptive file transform
US8650159B1 (en) Systems and methods for managing data in cloud storage using deduplication techniques
JP6589054B2 (ja) データを不透明データバックアップストリームから復元するためのシステム及び方法
US20130018852A1 (en) Deleted data recovery in data storage systems
CN112612734B (zh) 文件传输方法、装置、计算机设备及存储介质
US8195619B2 (en) Extent reference count update system and method
US20150113218A1 (en) Distributed Data Processing Method and Apparatus
WO2019084916A1 (zh) 恢复fpga芯片中的逻辑的方法、系统和fpga设备
US8600999B2 (en) System and method for efficient resource management
US11422698B2 (en) Method, electronic device, and computer program product for storage management
US8681788B2 (en) Accelerating NDMP based virtual tape library operations
US11061603B1 (en) Systems and methods for switching replication modes in a volume replication system
US20180337993A1 (en) Sharding over multi-link data channels
CN104571955A (zh) 提高存储容量的方法和装置
US20220291975A1 (en) Techniques for managing access to file systems
US9575680B1 (en) Deduplication rehydration
US9405709B1 (en) Systems and methods for performing copy-on-write operations
CN114780042B (zh) 提升nas存储性能的方法及装置、电子设备和存储介质
CN110750221B (zh) 卷克隆方法、装置、电子设备及机器可读存储介质
US10545990B2 (en) Replication between heterogeneous storage systems
WO2022242665A1 (zh) 一种数据存储方法及相关装置
JP6507274B2 (ja) スケーラブルネットワークバッファ管理のためのシステム及び方法
US10678453B2 (en) Method and device for checking false sharing in data block deletion using a mapping pointer and weight bits
US11409604B1 (en) Storage optimization of pre-allocated units of storage
CN108848136B (zh) 一种云服务集群的共享存储方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230705

Address after: Room 1602, No. 6, Financial Third Street, Wuxi Economic Development Zone, Jiangsu Province, 214,000

Applicant after: Anchao cloud Software Co.,Ltd.

Address before: Room 1601, no.6, financial Third Street, Wuxi Economic Development Zone, Jiangsu Province, 214000

Applicant before: Jiangsu Anchao cloud Software Co.,Ltd.

GR01 Patent grant
GR01 Patent grant