CN106406765B - 基于文件链接的异构分布式存储系统及其文件管理方法 - Google Patents

基于文件链接的异构分布式存储系统及其文件管理方法 Download PDF

Info

Publication number
CN106406765B
CN106406765B CN201610842105.0A CN201610842105A CN106406765B CN 106406765 B CN106406765 B CN 106406765B CN 201610842105 A CN201610842105 A CN 201610842105A CN 106406765 B CN106406765 B CN 106406765B
Authority
CN
China
Prior art keywords
file
link
pond
storage
directory
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
CN201610842105.0A
Other languages
English (en)
Other versions
CN106406765A (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.)
Jiangsu Cudatec Co Ltd
Original Assignee
Jiangsu Cudatec 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 Jiangsu Cudatec Co Ltd filed Critical Jiangsu Cudatec Co Ltd
Priority to CN201610842105.0A priority Critical patent/CN106406765B/zh
Publication of CN106406765A publication Critical patent/CN106406765A/zh
Application granted granted Critical
Publication of CN106406765B publication Critical patent/CN106406765B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • 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/172Caching, prefetching or hoarding of files
    • 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/1727Details of free space management performed by the file system
    • 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/18File system types
    • G06F16/182Distributed file systems
    • 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/0608Saving storage space on storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • 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
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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]

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系统提供屏蔽文件系统细节的透明文件访问服务的nfs/smb/cifs标准协议,构建支持多种分布式文件系统同时并行运行的系统,进而可以针对不同类型的文件进行独立的存储优化与调整,从而在总体性能、成本控制等方面提升存储优化空间,同时达到了无需上层应用根据文件特性进行存储优化与改变的目的。

Description

基于文件链接的异构分布式存储系统及其文件管理方法
技术领域
本发明涉及分布式文件存储技术领域,尤其涉及一种基于文件链接的异构分布式存储系统及其文件管理方法。
背景技术
大数据时代的到来,不仅仅促进了数据信息的深层次挖掘与有效使用,对于海量信息的存储,特别是半结构化数据和非结构化数据,也使得NoSQL存储系统和分布式文件系统迎来了技术浪潮,得到了长足的发展。目前,主流的分布式文件系统有MooseFS、Ceph、GlusterFS、Lustre、Google File System等开源解决方案。这些主流的分布式文件系统发展已经较为成熟、稳定。不同的分布式文件系统,其系统架构、运行机制、维护方式、扩展成本等各不相同。因此,对于不同存储特性的数据存储操作,这些分布式文件系统表现出不同的性能,具体为读取速度、写入速度、每秒IO次数等。即便同一分布式文件系统,由于在系统部署时对系统的初始化参数不同,也会表现出不同存储性能。
在实际生产领域中选择、部署分布式文件系统时,往往根据上层应用访问数据的特性,对分布式存储进行针对性优化。然而,同一分布式文件系统,需要在文件平均大小、数据容量、吞吐量、响应时间、实时性、空间利用率等特性之间进行权衡。牺牲某一方面的性能换取全局的平衡。例如,文件可靠性依赖于底层存储的文件副本数,文件副本数越大,文件可靠性越高;然而,高可性的代价是存储空间利用率的牺牲与下降。因此,采用同一分布式文件系统做为上层应用的存储方案,面临着需要在多个存储性能之间进行权衡与选择。
为了充分发挥存储的性能,上层应用往往需要对存储在读写等方面进行控制、调整与优化。然而,在一些应用中,读写存储的应用软件往往由第三方厂商开发,而非存储使用方自行开发。因此,真正部署、使用分布式文件系统的用户方无法控制上层应用对存储的读写操作。写入操作可以通过其他技术手段解决,比如先将文件写入本地缓存,然后再通过自行开发的程序将本地缓存的文件正式写入存储。然而,特别是读取操作则完全无法控制。这便无法进一步优化底层分布式文件系统。支撑这类应用的底层存储系统,必须与其他通用存储一样,做全局性性能选择与权衡。比如云渲染行业,需要高速率、高并发、高可用的存储服务,同时文件大小从几K到几G大小不等,一个渲染任务涉及到的所有文件总和可能高达几十TB。其上层的应用软件是由欧特克公司开发的3DS Max、Maya等软件对分布式文件系统中的文件进行读写。由于欧特克公司并未对其软件进行开源,也未开放类似控制文件读写的软件接口,则底层分布式文件系统无法根据文件大小分别独立存储,更无法进行有针对性的优化。
因此,分析各行业的应用场景特性,如文件平均大小、数据容量、吞吐量、响应性、实时性、灵活性、冷热数据分布特性等因素,充分利用不同分布式文件系统的各自存储优势,以混合的方式构建异构分布式文件系统,透明地向上层应用提供存储服务,能够进一步细粒度地优化分布式文件系统的性能,同时,也能更好的控制存储的总体成本。
发明内容
针对上述问题,本发明提供了基于文件链接的异构分布式存储系统及其文件管理方法,利用操作系统文件链接,以及能够为集群NAS系统提供屏蔽文件系统细节的透明文件访问服务的nfs/smb/cifs标准协议,构建支持多种分布式文件系统同时并行运行的系统,进而可以针对不同类型的文件进行独立的存储优化与调整,从而在总体性能、成本控制等方面提升存储优化空间,同时达到了无需上层应用根据文件特性进行存储优化与改变的目的。
为了实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
基于文件链接的异构分布式存储系统,包括存储服务挂载目录、链接池、文件写入算法子程序、文件删除算法子程序、文件移动算法子程序。
所述存储服务挂载目录,主要用于将部署于底层存储系统上的分布式存储服务所提供的存储内容映射到异构分布式存储系统可访问的本地目录内。本发明的一个实施例中,可以通过Linux操作系统平台上的nfs或samba服务,将存储于某具体分布式文件系统中的内容,挂载至存储服务挂载目录;可同时存在多个存储服务挂载目录,每个目录对应于一个分布式文件系统,以分别独立优化,这些分布式文件系统可以同异,也可以异构。
所述链接池,主要用于将底层存储系统中所提供的文件内容以链接的形式向上层应用集群提供文件存储服务,特别是读取服务。如在技术背景部分所述,写操作可以通过其他技术手段实现。链接池具体用途为存储文件链接,这些文件链接指向存储服务挂载目录中的对应文件。其以目录的形式呈现,上层应用集群可以通过nfs或samba服务来挂载链接池至上层应用本地。当上层应用访问链接池中的这些文件链接时,这些文件链接会将访问重定向到存储服务挂载目录所对应的底层存储系统内的具体文件。链接池为整个异构分布式存储系统中的核心与关键,其通过文件链接使得上层应用访问文件时直接沿着链接的指向访问到真正的文件。而对于上层应用而言,这一切均是透明发生的。本发明的一个实施例中,可以采用Linux操作系统中的软链接来实现文件链接,生成链接池;各文件链接可以存在目录关系,以适应上层应用或反映底层存储的文件结构。
所述文件写入算法子程序,其主要作用是读取外部或上层应用传来的文件,根据该文件的类型、大小特性等信息,以及用户提前定义好的存储选择规则,选择对应的存储服务挂载目录。每一个存储服务挂载目录对应于底层的一种分布式文件系统。然后,再将文件写入到所选的存储服务挂载目录内,也即将文件写入到底层的分布式存储服务内。最后,为新写入的文件在链接池内生成文件链接,以使上层应用访问链接池中生成的新文件链接便可访问到新写入的文件。本发明的重点在于提供了松耦合的异构分布式存储系统架构与方法,并不限定、约束用户根据文件类型、大小特性等信息选择何种类型存储的规则。例如,在具体实施时,可以提供两类分布式文件存储,一类对大文件进行读优化,另一类对小文件进行写优化。当输入小文件时,文件写入算法将选择对应的小文件写优化后的分布式文件存储,并在链接池内生成包含目录结构的文件链接。
所述文件删除算法子程序,其主要作用是接受外部或上层应用传入的文件删除指令,并对底层存储系统及链接池进行相应的具体文件与文件链接进行删除。首先,其根据链接池内的文件链接,查找到对应的存储服务挂载目录内的真实文件。然后,先删除链接池内的文件链接,以防止外部或上层应用通过链接池内的该文件链接访问并不存在的真实文件。若删除文件链接后,链接池内相应的目录为空,则清除相关的文件目录。最后,删除存储服务挂载目录内的真实文件。
所述文件移动算法子程序,其主要作用是接受外部或上层应用传入的文件移动指令,仅对链接池内的文件链接进行修改与维护,并不对底层存储系统中的文件进行操作。通过修改文件链接达到上层应用移动文件的目的。
基于文件链接的异构分布式存储文件管理方法,由文件写入算法、文件删除算法以及文件移动算法,它们分别对应于文件写入、删除与移动操作。文件重命名可以通过文件移动操作实现。
进一步地,文件写入算法,包括步骤如下:
W01:从文件源读入待写文件信息。本发明的一个实施例中,可以由外部应用给出待写文件信息,也可由本算法主动读取指定文件源内的文件信息;
W02:根据步骤W01中读取的文件信息,选择相应的存储服务挂载目录。本发明的一个实施例中,选择存储服务挂载目录的策略,可为根据待写文件大小进行选择;
W03:将步骤W01中的待写文件写入所选择的存储服务挂载目录内,也即将文件写入到底层的分布式存储服务内;
W04:判断步骤W01中的待写文件目标目录是否存在。若存在,则转步骤W06,否则转步骤W05。链接池中的文件链接除了提供文件链接存储之外,还通过目录结构维护着不同文件链接之间的层级关系。因此,在链接池内生成文件链接时,若对应的目录不存在,需要创建目标目录,以存放生成的文件链接;
W05:根据步骤W01中的待写文件信息,在链接池内生成相应的目录。本发明的一个实施例中,可以生成多层级的目录;
W06:在链接池内,根据步骤W01中的待写文件的目录结构,生成文件链接。
进一步地,文件删除算法,包括步骤如下:
D01:接受外部或上层应用传入的文件删除指令;
D02:保存文件删除指令中所描述的待删文件链接至临时变量x;
D03:删除链接池中与文件删除指令相应的文件链接。从而断开与底层存储系统中的链接关系,使得上层应用无法通过该文件链接访问底层存储系统中的文件;
D04:判断步骤D03中删除文件链接后,当前目录或文件夹内是否为空。若为空,则需要逐级清除空文件夹,转步骤D05,否则转步骤D06;
D05:清除步骤D03中删除文件链接后的当前目录或文件夹。若清除之后,上层目录依然为空,则逐级清除,直至目录不为空或根目录为止;
D06:根据步骤D02中保存的临时变量x,删除其所指向的分布式存储中的真实文件。
进一步地,文件移动算法,包括步骤如下:
M01:接受外部或上层应用传入的文件移动指令。其由源文件路径与目标文件路由构成。由于文件移动操作仅涉及到源文件链接与目标文件链接的变更,因此无需删除底层存储系统中的文件;
M02:判断链接池内移动目标目录是否存在。若不存在,则转步骤M03,否则转步骤M04;
M03:根据步骤M01中传入的文件移动指令中所描述的目标目录,在链接池内创建相应目标目录;
M04:在链接池内生成对应的目标文件链接;
M05:删除链接池中源文件链接;
M06:判断步骤M05中删除链接池中源文件链接后,相应的目录或文件夹是否为空,为空转步骤M07,否则文件移动算法结束;
M07:清除步骤M05中删除链接池中源文件链接后,相应的目录或文件夹。若清除之后,上层目录依然为空,则逐级清除,直至目录不为空或根目录为止。文件移动算法结束。
本发明的有益效果是:考虑到不同类型的分布式文件系统的特性,以及第三方上层应用不可控性,通过文件链接,将不同的分布式存储系统汇集在一起,供上层应用透明读取。可充分独立优化各分布式文件系统的性能,并控制总体存储成本。整个系统可充分独立优化各分布式文件系统的性能,并控制总体存储成本,具有较高的市场价值。
附图说明
图1是本发明基于文件链接的异构分布式存储系统结构示意图。
图2是本发明基于文件链接的异构分布式存储系统的文件写入算法流程图。
图3是本发明基于文件链接的异构分布式存储系统的文件删除算法流程图。
图4是本发明基于文件链接的异构分布式存储系统的文件移动算法流程图。
具体实施方式
下面结合附图和具体的实施例对本发明技术方案作进一步的详细描述,以使本领域技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
如图1所示,基于文件链接的异构分布式存储系统101,包括存储服务挂载目录102、链接池103、文件写入算法子程序104、文件删除算法子程序105、文件移动算法子程序106。
所述存储服务挂载目录102,主要用于将部署于底层存储系统107上的分布式存储服务108所提供的存储内容通过nfs/samba/服务映射到异构分布式存储系统101可访问的本地目录内。从而使得文件写入算法子程序104、文件删除算法子程序105和文件移动算法子程序106均可以通过存储服务挂载目录102访问到底层存储系统107上所提供的存储服务。
所述链接池103,主要用于将底层存储系统107中所提供的文件内容以链接的形式向上层应用集群110提供文件存储服务,尤其是读取服务。链接池103具体用途为存储文件链接,这些文件链接指向存储服务挂载目录102中的对应文件。其以目录的形式呈现。由应用服务器111构成的上层应用集群110可以通过nfs或samba服务来挂载链接池103至相应的上层应用服务器111本地。当上层应用访问链接池103中的这些文件链接时,这些文件链接会将访问重定向到存储服务挂载目录102所对应的底层存储系统107内的具体文件。优选实施例可以采用Linux操作系统中的软链接来实现文件链接,生成链接池103;各文件链接可以存在目录关系,以适应上层应用或反映底层存储的文件结构。
所述文件写入算法子程序104,其主要作用是读取外部或上层应用传来的文件源112,根据该文件的类型、大小特性等信息,以及用户提前定义好的存储选择规则,选择对应的存储服务挂载目录102。每一个存储服务挂载目录102对应于底层的一种分布式文件系统。然后,再将文件写入到所选的存储服务挂载目录102内,也即将文件写入到底层的分布式存储服务108内。最后,为新写入的文件在链接池103内生成文件链接,以使上层应用访问链接池103中生成的新文件链接便可访问到新写入的文件。优选实施例可以提供两类分布式文件存储,一类对大文件进行读优化,另一类对小文件进行写优化。当输入小文件时,文件写入算法将选择对应的小文件写优化后的分布式文件存储,并在链接池内生成包含目录结构的文件链接。
所述文件删除算法子程序105,其主要作用是接受外部或上层应用传入的文件删除指令,并对底层存储系统107及链接池103进行相应的具体文件与文件链接进行删除。首先,其根据链接池103内的文件链接,查找到对应的存储服务挂载目录102内的真实文件。然后,先删除链接池103内的文件链接,以防止外部或上层应用通过链接池103内的该文件链接访问并不存在的真实文件。若删除文件链接后,链接池内相应的目录为空,则清除相关的文件目录。最后,删除存储服务挂载目录102内的真实文件。
所述文件移动算法子程序106,其主要作用是接受外部或上层应用传入的文件移动指令,仅对链接池103内的文件链接进行修改与维护,并不对底层存储系统107中的文件进行操作。通过修改文件链接达到上层应用移动文件的目的。
基于文件链接的异构分布式存储文件管理方法,由文件写入算法、文件删除算法以及文件移动算法,它们分别对应于文件写入、删除与移动操作。文件重命名可以通过文件移动操作实现。
如图2所示,运行于文件写入算法子程序内的文件写入算法,包括步骤如下:
201:从文件源112读入待写文件信息。优选实施例中,可以由外部应用给出待写文件信息,也可由本算法主动读取指定文件源112内的文件信息;
202:根据步骤201中读取的文件信息,选择相应的存储服务挂载目录102。优选实施例中,选择存储服务挂载目录的策略,可为根据待写文件大小进行选择;
203:将步骤201中的待写文件写入所选择的存储服务挂载目录102内,也即将文件写入到底层的分布式存储服务108内;
204:判断步骤201中的待写文件目标目录是否存在。若存在,则转步骤206,否则转步骤205;
205:根据步骤201中的待写文件信息,在链接池103内生成相应的目录。优选实施例中,可以生成多层级的目录;
206:在链接池103内,根据步骤201中的待写文件的目录结构,生成文件链接。
如图3所示,运行于文件删除算法子程序内的文件删除算法,包括步骤如下:
301:接受外部或上层应用传入的文件删除指令;
302:保存文件删除指令中所描述的待删文件链接至临时变量x;
303:删除链接池103中与文件删除指令相应的文件链接。从而断开与底层存储系统107中的链接关系,使得上层应用无法通过该文件链接访问底层存储系统107中的文件;
304:判断步骤303中删除文件链接后,当前目录或文件夹内是否为空。若为空,则需要逐级清除空文件夹,转步骤305,否则转步骤306;
305:清除步骤303中删除文件链接后的当前目录或文件夹。若清除之后,上层目录依然为空,则逐级清除,直至目录不为空或根目录为止;
306:根据步骤302中保存的临时变量x,删除其所指向的分布式存储中的真实文件。
如图4所示,运行于文件移动算法子程序内的文件移动算法,包括步骤如下:
401:接受外部或上层应用传入的文件移动指令。其由源文件路径与目标文件路由构成。由于文件移动操作仅涉及到源文件链接与目标文件链接的变更,因此无需删除底层存储系统107中的文件;
402:判断链接池103内移动目标目录是否存在。若不存在,则转步骤403,否则转步骤404;
403:根据步骤401中传入的文件移动指令中所描述的目标目录,在链接池103内创建相应目标目录;
404:在链接池103内生成对应的目标文件链接;
405:删除链接池103中源文件链接;
406:判断步骤405中删除链接池103中源文件链接后,相应的目录或文件夹是否为空,为空转步骤407,否则文件移动算法结束;
407:清除步骤405中删除链接池103中源文件链接后,相应的目录或文件夹。若清除之后,上层目录依然为空,则逐级清除,直至目录不为空或根目录为止。文件移动算法结束。
本发明考虑到不同类型的分布式文件系统的特性,以及第三方上层应用不可控性,利用操作系统文件链接,以及能够为集群NAS系统提供屏蔽文件系统细节的透明文件访问服务的nfs/smb/cifs标准协议,构建支持多种分布式文件系统同时并行运行的系统,进而可以针对不同类型的文件进行独立的存储优化与调整,从而在总体性能、成本控制等方面提升存储优化空间,同时达到了无需上层应用根据文件特性进行存储优化与改变的目的。
以上仅是本发明的优先实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.基于文件链接的异构分布式存储系统,其特征在于:它包括存储服务挂载目录、链接池、文件写入算法子程序、文件删除算法子程序、文件移动算法子程序;
所述文件写入算法子程序,读取外部或上层应用传来的文件,根据该文件的类型、大小特性信息,以及用户提前定义好的存储选择规则,选择对应的存储服务挂载目录;每一个存储服务挂载目录对应于底层的一种分布式文件系统;然后,再将文件写入到所选的存储服务挂载目录内,也即将文件写入到底层的分布式存储服务内;最后,为新写入的文件在链接池内生成文件链接,以使上层应用访问链接池中生成的新文件链接便可访问到新写入的文件。
2.根据权利要求1所述的基于文件链接的异构分布式存储系统,其特征在于:所述存储服务挂载目录,用于将部署于底层存储系统上的分布式存储服务所提供的存储内容映射到异构分布式存储系统可访问的本地目录内。
3.根据权利要求1所述的基于文件链接的异构分布式存储系统,其特征在于:所述链接池,用于将底层存储系统中所提供的文件内容以链接的形式向上层应用集群提供文件存储服务,文件存储服务包括读取服务。
4.根据权利要求1所述的基于文件链接的异构分布式存储系统,其特征在于:所述文件删除算法子程序,接受外部或上层应用传入的文件删除指令,并对底层存储系统及链接池进行相应的具体文件与文件链接进行删除;首先,其根据链接池内的文件链接,查找到对应的存储服务挂载目录内的真实文件;然后,先删除链接池内的文件链接,以防止外部或上层应用通过链接池内的该文件链接访问并不存在的真实文件;若删除文件链接后,链接池内相应的目录为空,则清除相关的文件目录;最后,删除存储服务挂载目录内的真实文件。
5.根据权利要求1所述的基于文件链接的异构分布式存储系统,其特征在于:所述文件移动算法子程序,接受外部或上层应用传入的文件移动指令,仅对链接池内的文件链接进行修改与维护,并不对底层存储系统中的文件进行操作;通过修改文件链接达到上层应用移动文件的目的。
6.基于文件链接的异构分布式存储文件管理方法,它包括文件写入步骤、文件删除步骤以及文件移动步骤;其特征在于:所述文件写入步骤,具体为:
W01:从文件源读入待写文件信息;
W02:根据步骤W01中读取的文件信息,选择相应的存储服务挂载目录;
W03:将步骤W01中的待写文件写入所选择的存储服务挂载目录内,也即将文件写入到底层的分布式存储服务内;
W04:判断步骤W01中的待写文件目标目录是否存在;若存在,则转步骤W06,否则转步骤W05;
W05:根据步骤W01中的待写文件信息,在链接池内生成相应的目录;
W06:在链接池内,根据步骤W01中的待写文件的目录结构,生成文件链接。
7.根据权利要求6所述的基于文件链接的异构分布式存储文件管理方法,其特征在于:所述文件删除步骤,具体为:
D01:接受外部或上层应用传入的文件删除指令;
D02:保存文件删除指令中所描述的待删文件链接至临时变量x;
D03:删除链接池中与文件删除指令相应的文件链接,从而断开与底层存储系统中的链接关系,使得上层应用无法通过该文件链接访问底层存储系统中的文件;
D04:判断步骤D03中删除文件链接后,当前目录或文件夹内是否为空;若为空,则需要逐级清除空文件夹,转步骤D05,否则转步骤D06;
D05:清除步骤D03中删除文件链接后的当前目录或文件夹;若清除之后,上层目录依然为空,则逐级清除,直至目录不为空或根目录为止;
D06:根据步骤D02中保存的临时变量x,删除其所指向的分布式存储中的真实文件。
8.根据权利要求6所述的基于文件链接的异构分布式存储文件管理方法,其特征在于:所述文件移动步骤,具体为:
M01:接受外部或上层应用传入的文件移动指令;其由源文件路径与目标文件路由构成;由于文件移动操作仅涉及到源文件链接与目标文件链接的变更,因此无需删除底层存储系统中的文件;
M02:判断链接池内移动目标目录是否存在;若不存在,则转步骤M03,否则转步骤M04;
M03:根据步骤M01中传入的文件移动指令中所描述的目标目录,在链接池内创建相应目标目录;
M04:在链接池内生成对应的目标文件链接;
M05:删除链接池中源文件链接;
M06:判断步骤M05中删除链接池中源文件链接后,相应的目录或文件夹是否为空,为空转步骤M07,否则文件移动算法结束;
M07:清除步骤M05中删除链接池中源文件链接后,相应的目录或文件夹;若清除之后,上层目录依然为空,则逐级清除,直至目录不为空或根目录为止;文件移动算法结束。
CN201610842105.0A 2016-09-22 2016-09-22 基于文件链接的异构分布式存储系统及其文件管理方法 Active CN106406765B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610842105.0A CN106406765B (zh) 2016-09-22 2016-09-22 基于文件链接的异构分布式存储系统及其文件管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610842105.0A CN106406765B (zh) 2016-09-22 2016-09-22 基于文件链接的异构分布式存储系统及其文件管理方法

Publications (2)

Publication Number Publication Date
CN106406765A CN106406765A (zh) 2017-02-15
CN106406765B true CN106406765B (zh) 2019-06-04

Family

ID=57997368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610842105.0A Active CN106406765B (zh) 2016-09-22 2016-09-22 基于文件链接的异构分布式存储系统及其文件管理方法

Country Status (1)

Country Link
CN (1) CN106406765B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480281B (zh) * 2017-08-23 2020-06-26 金钱猫科技股份有限公司 一种异构文件系统之间的统一视图的构建方法
CN108920100B (zh) * 2018-06-25 2021-06-15 重庆邮电大学 基于Ceph的读写模型优化和异构副本组合方法
CN111741107B (zh) * 2020-06-19 2023-08-04 北京星辰天合科技股份有限公司 基于文件存储系统的分层方法及装置、电子设备
CN111741106A (zh) * 2020-06-19 2020-10-02 星辰天合(北京)数据科技有限公司 基于文件存储系统的文件归档方法及装置、电子设备
CN114048185B (zh) * 2021-11-18 2022-09-02 北京聚存科技有限公司 一种分布式文件系统中海量小文件透明打包存储与访问的方法
CN114500406B (zh) * 2022-02-11 2024-05-14 浪潮云信息技术股份公司 一种云文件存储细粒度QoS控制方法及系统
CN116126812B (zh) * 2023-02-27 2024-02-23 开元数智工程咨询集团有限公司 一种工程行业文件存储与集成的方法与系统
CN116501713B (zh) * 2023-06-26 2023-09-22 成都谐盈科技有限公司 一种分布式文件系统的实现方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621405A (zh) * 2009-07-07 2010-01-06 中兴通讯股份有限公司 分布式管理监控系统及其监控方法、创建方法
US8078622B2 (en) * 2008-10-30 2011-12-13 Network Appliance, Inc. Remote volume access and migration via a clustered server namespace
CN103237046A (zh) * 2013-02-25 2013-08-07 中国科学院深圳先进技术研究院 支持混合云存储应用的分布式文件系统及实现方法
CN103491187A (zh) * 2013-09-30 2014-01-01 华南理工大学 一种基于云计算的大数据统一分析处理方法
CN103747064A (zh) * 2013-12-26 2014-04-23 广东中科遥感技术有限公司 基于MooseFS分布文件系统的挂载方法、客户端及系统
CN105404474A (zh) * 2015-12-07 2016-03-16 上海爱数信息技术股份有限公司 一种异构分布式存储系统的数据迁移方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078622B2 (en) * 2008-10-30 2011-12-13 Network Appliance, Inc. Remote volume access and migration via a clustered server namespace
CN101621405A (zh) * 2009-07-07 2010-01-06 中兴通讯股份有限公司 分布式管理监控系统及其监控方法、创建方法
CN103237046A (zh) * 2013-02-25 2013-08-07 中国科学院深圳先进技术研究院 支持混合云存储应用的分布式文件系统及实现方法
CN103491187A (zh) * 2013-09-30 2014-01-01 华南理工大学 一种基于云计算的大数据统一分析处理方法
CN103747064A (zh) * 2013-12-26 2014-04-23 广东中科遥感技术有限公司 基于MooseFS分布文件系统的挂载方法、客户端及系统
CN105404474A (zh) * 2015-12-07 2016-03-16 上海爱数信息技术股份有限公司 一种异构分布式存储系统的数据迁移方法

Also Published As

Publication number Publication date
CN106406765A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
CN106406765B (zh) 基于文件链接的异构分布式存储系统及其文件管理方法
US10754550B2 (en) Optimized data placement for individual file accesses on deduplication-enabled sequential storage systems
CN105242881B (zh) 分布式存储系统及其数据读写方法
CN104850358B (zh) 一种磁光电混合存储系统及其数据获取和存储方法
CN102855294B (zh) 一种智能哈希数据布局方法、集群存储系统及其方法
CN103503414A (zh) 一种计算存储融合的集群系统
US20150058548A1 (en) HIERARCHICAL STORAGE FOR LSM-BASED NoSQL STORES
CN107302561B (zh) 一种云存储系统中热点数据副本放置方法
US20160019254A1 (en) Tiered data storage architecture
Lockwood et al. Storage 2020: A vision for the future of hpc storage
CN106021381A (zh) 一种云存储服务系统的数据访问/存储方法及装置
JP2010191647A (ja) ファイル共有システム、ファイルサーバ、ファイル管理方法
CN102999584A (zh) 电力gis跨平台空间数据服务方法及系统
CN103366016A (zh) 基于hdfs的电子文件集中存储及优化方法
CN110058822A (zh) 一种磁盘阵列横向拓展方法
JP5244979B2 (ja) ストレージシステムおよびその制御方法
CN103002027A (zh) 基于键值对系统实现树形目录结构的数据存储系统及方法
CN105981033B (zh) 将放置策略分配给片段集合
CN106775446A (zh) 基于固态硬盘加速的分布式文件系统小文件访问方法
CN1664794A (zh) 一种可扩充的高速存储网络缓存系统
CN108153487A (zh) 一种基于nand flash的星载固存多源数据文件系统
JP2015035020A (ja) ストレージシステム、ストレージ制御装置及び制御プログラム
CN106326229A (zh) 一种嵌入式系统的文件存储方法和装置
CN105450734A (zh) 分布式存储ceph的数据分布优化方法
US20100250626A1 (en) Storage apparatus and its file control method and storage system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant