CN111367857B - 数据存储方法、装置、ftp服务器及存储介质 - Google Patents
数据存储方法、装置、ftp服务器及存储介质 Download PDFInfo
- Publication number
- CN111367857B CN111367857B CN202010140346.7A CN202010140346A CN111367857B CN 111367857 B CN111367857 B CN 111367857B CN 202010140346 A CN202010140346 A CN 202010140346A CN 111367857 B CN111367857 B CN 111367857B
- Authority
- CN
- China
- Prior art keywords
- file
- storage
- path
- target file
- target
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据存储方法、装置、FTP服务器及存储介质,通过接收FTP客户端发送的存储指令;根据存储指令,获取目标文件和目标文件的第一存储路径;确定目标文件的文件特征;根据文件特征,确定与文件特征相匹配的文件存储系统;根据文件存储系统的类型,将目标文件的第一存储路径转换为第二存储路径;将目标文件存储在相匹配的文件存储系统的第二存储路径下,由于本方法能够根据目标文件的文件特征确定相应的文件存储系统,并通过对目标文件的存储路径进行转化,实现目标文件在特定文件存储系统下进行存储,提高目标文件的存储效率,进而降低FTP服务器的内存占用率,提高FTP服务器的可靠性和运行效率。
Description
技术领域
本发明涉及服务器技术领域,尤其涉及一种数据存储方法、装置、FTP服务器及存储介质。
背景技术
FTP服务器(File Transfer Protocol Server)是在网络上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务,随着计算机网络技术的发展,为实现海量数据文件存储及平滑扩容,并对外支持FTP协议的文件存取,产生了分布式FTP服务器。
现有技术中,Hadoop分布式文件系统(HDFS)是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统,HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用,基于HDFS的分布式FTP系统是一种常用的服务器文件系统。
但是同时,随着FTP服务器上负载数据的日益增长,使用HDFS文件系统进行数据的存取,常会出现内存耗尽问题,降低了FTP服务器的可靠性和运行效率。
发明内容
本发明提供一种数据存储方法、装置、FTP服务器及存储介质,用以解决使用HDFS文件系统进行数据的存取,导致的内存耗尽,进而降低FTP服务器的可靠性和运行效率的问题。
根据本公开实施例的第一方面,本发明提供了一种数据存储方法,应用于FTP服务器,所述方法包括:
接收FTP客户端发送的存储指令;
根据所述存储指令,获取目标文件和所述目标文件的第一存储路径;
确定所述目标文件的文件特征;
根据所述文件特征,确定与所述文件特征相匹配的文件存储系统;
根据文件存储系统的类型,将所述目标文件的第一存储路径转换为第二存储路径;
将所述目标文件存储在所述相匹配的文件存储系统的第二存储路径下。
可选地,所述文件特征包括所述目标文件的文件大小,所述根据所述文件特征,确定与所述文件特征相匹配的文件存储系统,包括:
若所述目标文件的文件大小小于预设文件大小阈值,则确定所述相匹配的文件存储系统为Hbase。
可选地,所述根据所述文件特征,确定与所述文件特征相匹配的文件存储系统,还包括:
若所述目标文件的文件大小大于或等于预设文件大小阈值,则确定所述相匹配的文件存储系统为HDFS。
可选地,所述第一存储路径为相对存储路径,所述根据文件存储系统的类型,将所述目标文件的第一存储路径转换为第二存储路径,包括:
若所述文件存储系统为Hbase,则将所述目标文件的相对存储路径转换为绝对存储路径,并将所述绝对存储路径确定为第二存储路径;
若所述文件存储系统为HDFS,则将所述目标文件的相对存储路径确定为第二存储路径。
可选地,所述存储指令内还包括所述FTP客户端的登录信息,所述将所述目标文件的相对存储路径转换为绝对存储路径,包括:
获取所述登录信息;
根据登录信息,建立与所述登录信息对应的工作目录路径;
根据所述登录信息对应的工作目录路径和所述相对存储路径,确定所述绝对存储路径。
可选地,所述根据所述对应的工作目录路径和所述相对存储路径,确定所述绝对存储路径,包括:
将所述登录信息对应的工作目录路径与所述相对存储路径拼接,作为所述绝对存储路径。
可选地,所述存储指令中包括目标文件的原存储地址,所述根据所述存储指令,获取目标文件,包括:
获取所述存储指令中的所述目标文件的原存储地址;
通过所述目标文件的原存储地址,获取所述目标文件。
根据本公开实施例的第二方面,本发明提供了一种数据存储装置,包括:
存储指令获取模块,用于获取FTP客户端发送的存储指令;
目标文件获取模块,用于根据所述存储指令,获取目标文件和所述目标文件的第一存储路径;
文件特征确定模块,用于确定所述目标文件的文件特征;
文件存储系统确定模块,根据所述文件特征,确定与所述文件特征相匹配的文件存储系统;
路径转换模块,用于根据文件存储系统的类型,将所述目标文件的第一存储路径转换为第二存储路径;
存储模块,用于将所述目标文件存储在所述相匹配的文件存储系统的第二存储路径下。
可选地,所述文件特征包括所述目标文件的文件大小,所述文件存储系统确定模块,具体用于:
若所述目标文件的文件大小小于预设文件大小阈值,则确定所述相匹配的文件存储系统为Hbase。
可选地,所述文件存储系统确定模块,具体用于:
若所述目标文件的文件大小大于或等于预设文件大小阈值,则确定所述相匹配的文件存储系统为HDFS。
可选地,所述第一存储路径为相对存储路径,所述路径转换模块,具体用于:
若所述文件存储系统为Hbase,则将所述目标文件的相对存储路径转换为绝对存储路径,并将所述绝对存储路径确定为第二存储路径;
若所述文件存储系统为HDFS,则将所述目标文件的相对存储路径确定为第二存储路径。
可选地,所述存储指令内还包括所述FTP客户端的登录信息,所述路径转换模块在将所述目标文件的相对存储路径转换为绝对存储路径时,具体用于:
获取所述登录信息;
根据登录信息,建立与所述登录信息对应的工作目录路径;
根据所述登录信息对应的工作目录路径和所述相对存储路径,确定所述绝对存储路径。
可选地,所述路径转换模块在根据所述对应的工作目录路径和所述相对存储路径,确定所述绝对存储路径时,具体用于:
将所述登录信息对应的工作目录路径与所述相对存储路径拼接,作为所述绝对存储路径。
可选地,所述存储指令中包括目标文件的原存储地址,所述目标文件获取模块具体用于:
获取所述存储指令中的所述目标文件的原存储地址;
通过所述目标文件的原存储地址,获取所述目标文件。
根据本公开实施例的第三方面,本发明提供了一种FTP服务器,包括:存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行如本公开实施例第一方面任一项所述的数据存储方法。
根据本公开实施例的第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如本公开实施例第一方面任一项所述的数据存储方法。
本发明提供的数据存储方法、装置、FTP服务器及存储介质,通过接收FTP客户端发送的存储指令;根据所述存储指令,获取目标文件和所述目标文件的第一存储路径;确定所述目标文件的文件特征;根据所述文件特征,确定与所述文件特征相匹配的文件存储系统;根据文件存储系统的类型,将所述目标文件的第一存储路径转换为第二存储路径;将所述目标文件存储在所述相匹配的文件存储系统的第二存储路径下,由于本方法能够根据目标文件的文件特征确定相应的文件存储系统,并通过对目标文件的存储路径进行转化,实现目标文件在特定文件存储系统下进行存储,提高目标文件的存储效率,进而降低FTP服务器的内存占用率,提高FTP服务器的可靠性和运行效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本发明一个实施例提供的数据存储方法的流程图;
图2为本发明另一个实施例提供的数据存储方法的流程图;
图3为图2所示实施例中步骤S206的流程图;
图4为本发明再一个实施例提供的数据存储方法的流程图;
图5为本发明一个实施例提供的数据存储装置的结构示意图;
图6为本发明一个实施例提供的FTP服务器的示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
首先对本发明所涉及的名词进行解释:
绝对路径:绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。完整的描述文件位置的路径就是绝对路径,以web站点为例,web站点中文件或目录的绝对路径,就是以web站点根目录为参考基础的目录路径。绝对路径名的指定是从树型目录结构顶部的根目录开始到某个目录或文件的路径,由一系列连续的目录组成,中间用斜线分隔,直到要指定的目录或文件,路径中的最后一个名称即为要指向的目录或文件。
相对路径:相对路径就是指由这个文件所在的当前路径引起的跟其它文件(或文件夹)的路径关系,一般情况下,当前路径也成为工作路径,即默认的其实路径,相对路径就是在该其实路径的基础上,建立的路径关系。通过FTP客户端去访问FTP服务器,是通过在FTP客户端输入相对路径实现的。
Hbase:HBase(Hadoop Database)是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群,Hbase建立在HDFS基础上,并可通过HDFS作为其文件存储系统,相对于HDFS的文件存储系统,Hbase对于碎片化文件的存取效率更高。
现有技术中,基于HDFS的分布式FTP系统是一种常用的服务器文件系统,HDFS能提供高吞吐量的数据访问,在存取大文件时,效率很高。但是由于HDFS自身的特性,基于HDFS的分布式ftp系统,存取文件时受到文件数量与文件大小的限制,在面对海量碎片文件的存取时,常会出现内存耗尽的现象,从而导致FTP服务器的可靠性和运行效率降低,而Hbase可弥补HDFS文件系统处理海量碎片文件效率低下的问题,因此,如何结合HDFS和Hbase,使针对不同的目标文件,使用不同的文件系统进行处理,从而避免内存耗尽现象导致的FTP服务器的可靠性和运行效率降低,是本发明要解决的技术问题。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图1为本发明一个实施例提供的数据存储方法的流程图,应用于FTP服务器,如图1所示,本实施例提供的数据存储方法包括以下几个步骤:
步骤S101,接收FTP客户端发送的存储指令。
具体地,FTP客户端是指可以是运行在电脑或其他终端设备的上的客户端程序,用户可以通过FTP客户端通过FTP协议访问位于FTP服务器上的资源,可选地,FTP客户端可以为CS架构的客户端程序,也可以是BS架构的客户端程序,可根据具体的使用需求进行设置,此处不做具体限定。
当用户通过FTP客户端向FTP服务器存储一个或多个目标文件时,需要通过FTP客户端向FTP服务器发送存储指令,以便FTP服务器能够按照存储指令的要求,进行存储。
可选地,为了使FTP服务器能够根据存储指令进行正确的存储,存储指令中除了包括必要的符合FTP协议的存储请求外,还包括其他解释性的描述信息,例如,对待存储的原始目标文件的描述信息、用户的身份信息等。
步骤S102,根据存储指令,获取目标文件和目标文件的第一存储路径。
具体地,存储指令中包括了FTP服务器执行目标文件存储指令所包含的所有必要信息,该必要信息包括,待存储的目标文件和目标文件的第一存储路径,因此,通过存储指令,FTP服务器获取目标文件和目标文件的第一存储路径。
其中,目标文件的第一存储路径,为用户输入的用于存储目标文件的目标储存路径。例如,第一存储路径为“download\readme.txt”。进一步地,可选地,用户从FTP客户端输入第一存储路径的方式可以为,直接输入代码地址,例如上述第一存储路径“download\readme.txt”;也可以为用户通过FTP客户端的图形交互界面,通过点击、触摸、滑动等方式实现的第一存储路径的输入,例如,用户通过FTP客户端程序的图形交互界面,点击“我的空间”,再点击“下载”文件夹,再通过系统默认的方式获得文件名“readme.txt”,最后点击“确认”按钮,完成用户的第一存储路径输入操作。FTP客户端获得用户输入的第一存储路径为“download\readme.txt”。当然,可以理解的是,用户也可以通过混合输入的方式,输入第一存储路径,例如,先通过图像交互界面点击“下载”的文件夹,再手动输入“readme.txt”,并点击“确定”按钮,完成第一存储路径的输入,FTP客户端获得用户输入的第一存储路径为“download\readme.txt”。对于用户输入第一存储路径的方式有很多种,可按照具体需要和使用场景进行设定,此处不做具体限定。
步骤S103,确定目标文件的文件特征。
可选地,目标文件包括文件或文件夹,以文件为例,每个文件都具有其文件特征,例如,文件的文件大小、使用频率、文件类型等。按照文件的文件大小,可将文件分为“大文件”和“小文件”;按照文件的使用频率,可将文件分为“高频使用文件”和“低频使用文件”按照文件的文件类型,可将文件分为“应用文件”、“备份文件”等。类似的,文件夹也具有其文件特征,例如文件夹中文件的数量,案子文件夹中文件的数量,可将文件夹分为“大量数据文件夹”和“少量数据文件夹”。
可以理解的是,上述步骤中目标文件的文件特征仅是示例性的,目标文件的文件特征种类不限于上述提及的文件特征,文件特征的名称也不限于上述示例中文件特征的名称。文件特征的确定方法,可以根据使用需求和场景确定,此处不做具体限定。
步骤S104,根据文件特征,确定与文件特征相匹配的文件存储系统。
由于不同文件特征的目标文件,所适用的文件存储系统不同,因此,确定目标文件的文件特征后,可以对不同文件特征的目标文件,利用不同的文件存储系统进行存储处理,即,确定与文件特征相匹配的文件存储系统。例如,将大文件通过HDFS文件存储系统进行存储,而小文件通过Hbase文件存储系统进行存储,以充分利用不同的文件存储系统的特性,提高FTP服务器的整体工作效率。
步骤S105,根据文件存储系统的类型,将目标文件的第一存储路径转换为第二存储路径。
确定了与目标文件相匹配的文件存储系统后,由于通过FTP协议传输来的第一存储路径可能与该文件存储系统所使用的存储路径不匹配,会导致文件存储系统无法识别该存储路径。例如,第一存储路径为用户输入的相对存储路径,而Hbase文件存储系统需要使用绝对存储路径对目标文件进行存储,因此,会导致Hbase文件存储系统由于无法识别相对存储路径而无法进行存储。因此,在利用相匹配的文件存储系统对目标文件进行存储前,需要先将用户输入的第一存储路径转换为能够被相匹配的文件存储系统识别的存储路径,即第二存储路径。
步骤S106,将目标文件存储在相匹配的文件存储系统的第二存储路径下。
获得第二存储路径后,相匹配的文件存储系统根据第二存储路径,能够确定目标文件的具体存储位置,进而,可以高效的将目标文件存储在该具体储存位置处,即第二存储路径下,从而完成对FTP服务器对目标文件的高效存储过程。
本实施例中,通过接收FTP客户端发送的存储指令;根据存储指令,获取目标文件和目标文件的第一存储路径;确定目标文件的文件特征;根据文件特征,确定与文件特征相匹配的文件存储系统;根据文件存储系统的类型,将目标文件的第一存储路径转换为第二存储路径;将目标文件存储在相匹配的文件存储系统的第二存储路径下,由于本方法能够根据目标文件的文件特征确定相应的文件存储系统,并通过对目标文件的存储路径进行转化,实现目标文件在特定文件存储系统下进行存储,提高目标文件的存储效率,进而降低FTP服务器的内存占用率,提高FTP服务器的可靠性和运行效率。
图2为本发明另一个实施例提供的数据存储方法的流程图,如图2所示,本实施例提供的数据存储方法在图1所示实施例提供的数据存储方法的基础上,对步骤S104和步骤S105进一步细化,则本实施例提供的数据存储方法包括以下几个步骤:
步骤S201,接收FTP客户端发送的存储指令。
步骤S202,根据存储指令,获取目标文件和目标文件的第一存储路径。
步骤S203,确定目标文件的文件特征。
可选地,文件特征包括目标文件的文件大小。
步骤S204,若目标文件的文件大小小于预设文件大小阈值,则确定相匹配的文件存储系统为Hbase。
文件特征包括目标文件的文件大小,根据目标文件的文件特征,可以获得目标文件的文件大小,例如,目标文件为“readme.txt”,该目标文件的文件大小为100kb。由于Hbase文件存储系统更适合于处理小文件,因此,需要设定一个判断阈值以区分大文件和小文件,即预设文件大小阈值。
具体地,FTP服务器内,存储有预设文件大小阈值,例如,预设文件大小阈值为200kb。通过将目标文件的文件大小与预设文件大小阈值进行比较,以确定与目标文件相匹配的存储系统。具体地,例如,目标文件的文件大小为100kb,预设文件大小阈值为200kb,目标文件的文件大小小于预设文件大小阈值,因此,该目标文件相匹配的文件存储系统为Hbase。
步骤S205,若目标文件的文件大小大于或等于预设文件大小阈值,则确定相匹配的文件存储系统为HDFS。
类似的,由于HDFS文件存储系统更适合于处理大文件,因此,目标文件的大小超过预设文件大小阈值时,则通过HDFS文件存储系统进行处理效率更高。具体地,例如,目标文件的文件大小为300kb,预设文件大小阈值为200kb,目标文件的文件大小大于预设文件大小阈值,因此,该目标文件相匹配的文件存储系统为HDFS。
可选的,当目标文件为文件夹时,文件特征还包括文件夹内的文件数量。由于Hbase文件存储系统更适用于存储大量的文件类型,因此,根据目标文件的文件数量确定与目标文件相匹配的文件存储系统。
具体地,若目标文件的文件数量小于预设文件数量阈值,则确定相匹配的文件存储系统为HDFS。
相应的,若目标文件的文件数量大于预设文件数量阈值,则确定相匹配的文件存储系统为Hbase。
例如,目标文件为文件夹A,文件夹A内包括300个子文件及子文件夹;预设文件数量阈值为400,文件夹A的文件数量小于预设文件数量阈值,因此,该目标文件相匹配的文件存储系统为HDFS。
再例如,目标文件为文件夹B,文件夹B内包括600个子文件及子文件夹;预设文件数量阈值为400,文件夹B的文件数量大于预设文件数量阈值,因此,该目标文件相匹配的文件存储系统为Hbase。
可选地,还可以根据文件特征中的文件大小和文件数量,共同确定与目标文件相匹配的文件存储系统的。
例如,预设文件数量阈值为400;预设文件大小阈值为100MB;当目标文件的大小大于预设文件数量阈值,且目标文件的数量大于预设文件数量阈值时,则确定与目标文件相匹配的文件存储系统为Hbase;否则确定与目标文件相匹配的文件存储系统为HDFS。
本实施例步骤中,通过设置多个文件特征对目标文件进行区分,使目标文件能够匹配到最适合的文件存储系统,增加方法的适用场景和使用灵活性,提高FTP服务器的存储效率。
可选地,第一存储路径为相对存储路径。
步骤S206,若文件存储系统为Hbase,则将目标文件的相对存储路径转换为绝对存储路径,并将绝对存储路径确定为第二存储路径;若文件存储系统为HDFS,则将目标文件的相对存储路径确定为第二存储路径。
由用户从FTP客户端输入的第一存储路径为相对存储路径,而对于Hbase文件存储系统而言,需要将该相对路径转换为绝对路径才能识别,因此需要在将目标文件通过Hbase文件存储系统存入FTP服务器前,向将相对存储地址转换为绝对存储地址。而对于HDFS系统而言,可以直接识别由用户从FTP客户端输入的相对存储路径,因此,直接将该相对存储路径作为第二存储路径输入HDFS,即可实现通过HDFS文件存储系统对目标文件的存储。
可选地,存储指令内还包括FTP客户端的登录信息,如图3所示,步骤S206中,将目标文件的相对存储路径转换为绝对存储路径,包括以下三个具体实现步骤:
步骤S2061:获取登录信息。
为了保证FTP服务器的安全性,防止未授权的访问和存储,需要在对FTP服务器进行存储前,进行权限的审核。因此,用户使用FTP客户端对FTP服务器进行存储前,需要先登录FTP客户端,由于登录FTP客户端并实现FTP客户端与FTP服务器之间的通讯连接的实现方法为本领域现有技术,此次不再赘述。
用户登录FTP客户端后,在向FTP服务器发送存储指令时,会相应的发送FTP客户端的登录信息,例如,登录信息为FTP客户端的ID号。
步骤S2062:根据登录信息,建立与登录信息对应的工作目录路径。
可选地,每个FTP客户端用户登录后,会自动指定工作目录:“/”,FTP服务器以字典的形式建立登录信息与对应的工作目录路径的映射关系,例如:map<user_id,current_work_dir>。其中,user_id为FTP客户端的ID号,current_work_dir为当前路径的绝对路径,即工作目录路径。通过该映射关系,对每个登录的FTP客户端的工作目录的绝对路径进行关联。
可选地,每接收到FTP的“cd”命令,均更新map中当前用户的current_work_dir为cd命令指定的目录的路径。
可选地,FTP服务器接收的第一存储路径中,以“/”开头的目录或文件视为绝对路径,不进行路径标准化处理,即直接将第一存储路径确定为第二存储路径。
步骤S2063:根据登录信息对应的工作目录路径和相对存储路径,确定绝对存储路径。
可选地,步骤S2063的具体实现方法包括:
将登录信息对应的工作目录路径与相对存储路径拼接,作为绝对存储路径。
在确定登录信息对应的工作目录路径后,相当于获得了FTP服务器中为用户设置的用于存储文件的目录的绝对地址,该目录的绝对地址即工作目录路径,将该工作目录路径与相对存储路径拼接,即为绝对存储地址。例如:工作目录路径为“c:\userID\”,相对存储路径为“download\readme.txt”;则绝对存储地址为“c:\userID\download\readme.txt”。
步骤S207、将目标文件存储在相匹配的文件存储系统的第二存储路径下。
本实施例的步骤中,通过根据用户信息确定工作目录路径,再根据工作目录路径和相对存储路径确定绝对储存路径,可以实现用户文件的灵活管理,实现通过Hbase文件存储系统对目标文件进行高效存储的效果。
本实施例中,步骤S201-步骤S203、步骤S207的实现方式与本发明图1所示实施例中的步骤S101-步骤S103、步骤S106的实现方式相同,在此不再一一赘述。
图4为本发明再一个实施例提供的数据存储方法的流程图,如图4所示,本实施例提供的数据存储方法在图2-图3所示实施例提供的数据存储方法的基础上,对步骤S202进一步细化,则本实施例提供的数据存储方法包括以下几个步骤:
步骤S401,接收FTP客户端发送的存储指令。
步骤S402,获取存储指令中的目标文件的原存储地址。
可选地,原存储地址包括FTP客户端所在终端设备内目标文件的地址,和/或,其他第三方网站或服务器内目标文件的存储地址。
步骤S403,通过目标文件的原存储地址,获取目标文件。
可选地,当目标文件的原存储地址为FTP客户端所在终端设备上存储的目标文件的地址时,根据原存储地址,可以通过FTP协议,将该目标文件上传至FTP服务器,并进行后续的存储。
可选地,当目标文件的原存储地址为其他第三方网站或服务器内目标文件的存储地址时,根据该原存储地址,FTP服务器直接通过FTP协议,从第三方网站或服务器内的原存储地址,获取目标文件,并进行后续的存储。
本实施例步骤中,通过获取存储指令中的原存储地址,实现多种获取目标文件的途径,使FTP服务器获取目标文件的方式更加灵活和多样化。
步骤S404,确定目标文件的文件特征。
步骤S405,若目标文件的文件大小小于预设文件大小阈值,则确定相匹配的文件存储系统为Hbase。
步骤S406,若目标文件的文件大小大于或等于预设文件大小阈值,则确定相匹配的文件存储系统为HDFS。
步骤S407,若文件存储系统为Hbase,则将目标文件的相对存储路径转换为绝对存储路径,并将绝对存储路径确定为第二存储路径;若文件存储系统为HDFS,则将目标文件的相对存储路径确定为第二存储路径。
步骤S408,将目标文件存储在相匹配的文件存储系统的第二存储路径下。
本实施例中,步骤S401、步骤S404-步骤S408的实现方式与本发明图2-图3所示实施例中的步骤S201、步骤S203-步骤S207的实现方式相同,在此不再一一赘述。
可选地,在目标文件存储在相匹配的文件存储系统的第二存储路径下之后,即完成了目标文件的存储。当用户需要读取该目标文件时,也可以类似的步骤实现。可选地,该步骤包括:
步骤S501,接收FTP客户端发送的读取指令。
步骤S502,根据读取指令,获取目标文件的第一存储路径。
步骤S503,将第一存储路径转换为第二存储路径。
步骤S504,读取第二存储路径下的目标文件。
具体地,在读取目标文件的过程中,由于已经完成了目标文件的分类存储,即,将目标文件存储至于目标文件的文件特征相匹配的文件存储系统中,因此,读取目标文件的过程中,也能够实现提高目标文件的读取效率,降低FTP服务器的内存占用率,提高FTP服务器的可靠性和运行效率的技术效果。
其中,步骤S501-步骤S504的实现方式与本发明图1-图4所示的数据存储方法中的对应步骤类似,在此不再一一赘述。
图5为本发明一个实施例提供的数据存储装置的结构示意图,应用于FTP服务器,如图5所示,本实施例提供的数据存储装置5包括:
存储指令获取模块51,用于获取FTP客户端发送的存储指令。
目标文件获取模块52,用于根据存储指令,获取目标文件和目标文件的第一存储路径。
文件特征确定模块53,用于确定目标文件的文件特征。
文件存储系统确定模块54,根据文件特征,确定与文件特征相匹配的文件存储系统。
路径转换模块55,用于根据文件存储系统的类型,将目标文件的第一存储路径转换为第二存储路径。
存储模块56,用于将目标文件存储在相匹配的文件存储系统的第二存储路径下。
可选地,文件特征包括目标文件的文件大小,文件存储系统确定模块54,具体用于:
若目标文件的文件大小小于预设文件大小阈值,则确定相匹配的文件存储系统为Hbase。
可选地,文件存储系统确定模块54,具体用于:
若目标文件的文件大小大于或等于预设文件大小阈值,则确定相匹配的文件存储系统为HDFS。
可选地,第一存储路径为相对存储路径,路径转换模块55,具体用于:
若文件存储系统为Hbase,则将目标文件的相对存储路径转换为绝对存储路径,并将绝对存储路径确定为第二存储路径。
若文件存储系统为HDFS,则将目标文件的相对存储路径确定为第二存储路径。
可选地,存储指令内还包括FTP客户端的登录信息,路径转换模块55在将目标文件的相对存储路径转换为绝对存储路径时,具体用于:
获取登录信息。
根据登录信息,建立与登录信息对应的工作目录路径。
根据登录信息对应的工作目录路径和相对存储路径,确定绝对存储路径。
可选地,路径转换模块55在根据对应的工作目录路径和相对存储路径,确定绝对存储路径时,具体用于:
将登录信息对应的工作目录路径与相对存储路径拼接,作为绝对存储路径。
可选地,存储指令中包括目标文件的原存储地址,目标文件获取模块52具体用于:
获取存储指令中的目标文件的原存储地址。
通过目标文件的原存储地址,获取目标文件。
其中,存储指令获取模块51、目标文件获取模块52、文件特征确定模块53、文件存储系统确定模块54、路径转换模块55和存储模块56依次连接。本实施例提供的数据存储装置5可以执行以实现本发明图2-图4所对应的实施例中任一实施例提供的数据存储方法,其实现原理和技术效果类似,此处不再赘述。
图6为本发明一个实施例提供的FTP服务器的示意图,如图6所示,本实施例提供的FTP服务器包括:存储器601,处理器602以及计算机程序。
其中,计算机程序存储在存储器601中,并被配置为由处理器602执行以实现本发明图2-图4所对应的实施例中任一实施例提供的数据存储方法。
其中,存储器601和处理器602通过总线603连接。
相关说明可以对应参见图2-图4的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
本发明一个实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本发明图2-图4所对应的实施例中任一实施例提供的数据存储方法。
其中,计算机可读存储介质可以是ROM、随机存储存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。
Claims (7)
1.一种数据存储方法,应用于FTP服务器,其特征在于,所述方法包括:
接收FTP客户端发送的存储指令;
根据所述存储指令,获取目标文件和所述目标文件的第一存储路径;
确定所述目标文件的文件特征;
根据所述文件特征,确定与所述文件特征相匹配的文件存储系统;
根据文件存储系统的类型,将所述目标文件的第一存储路径转换为第二存储路径;
将所述目标文件存储在所述相匹配的文件存储系统的第二存储路径下;
所述文件特征包括所述目标文件的文件大小,所述根据所述文件特征,确定与所述文件特征相匹配的文件存储系统,包括:
若所述目标文件的文件大小小于预设文件大小阈值,则确定所述相匹配的文件存储系统为Hbase;
所述根据所述文件特征,确定与所述文件特征相匹配的文件存储系统,还包括:
若所述目标文件的文件大小大于或等于预设文件大小阈值,则确定所述相匹配的文件存储系统为HDFS;
所述第一存储路径为相对存储路径,所述根据文件存储系统的类型,将所述目标文件的第一存储路径转换为第二存储路径,包括:
若所述文件存储系统为Hbase,则将所述目标文件的相对存储路径转换为绝对存储路径,并将所述绝对存储路径确定为第二存储路径;
若所述文件存储系统为HDFS,则将所述目标文件的相对存储路径确定为第二存储路径。
2.根据权利要求1所述的方法,其特征在于,所述存储指令内还包括所述FTP客户端的登录信息,所述将所述目标文件的相对存储路径转换为绝对存储路径,包括:
获取所述登录信息;
根据登录信息,建立与所述登录信息对应的工作目录路径;
根据所述登录信息对应的工作目录路径和所述相对存储路径,确定所述绝对存储路径。
3.根据权利要求2所述的方法,其特征在于,所述根据所述对应的工作目录路径和所述相对存储路径,确定所述绝对存储路径,包括:
将所述登录信息对应的工作目录路径与所述相对存储路径拼接,作为所述绝对存储路径。
4.根据权利要求1所述的方法,其特征在于,所述存储指令中包括目标文件的原存储地址,所述根据所述存储指令,获取目标文件,包括:
获取所述存储指令中的所述目标文件的原存储地址;
通过所述目标文件的原存储地址,获取所述目标文件。
5.一种数据存储装置,其特征在于,所述装置包括:
存储指令获取模块,用于获取FTP客户端发送的存储指令;
目标文件获取模块,用于根据所述存储指令,获取目标文件和所述目标文件的第一存储路径;
文件特征确定模块,用于确定所述目标文件的文件特征;
文件存储系统确定模块,根据所述文件特征,确定与所述文件特征相匹配的文件存储系统;
路径转换模块,用于根据文件存储系统的类型,将所述目标文件的第一存储路径转换为第二存储路径;
存储模块,用于将所述目标文件存储在所述相匹配的文件存储系统的第二存储路径下;
所述文件特征包括所述目标文件的文件大小,文件存储系统确定模块,具体用于:
若所述目标文件的文件大小小于预设文件大小阈值,则确定所述相匹配的文件存储系统为Hbase;
所述文件存储系统确定模块,具体用于:
若所述目标文件的文件大小大于或等于预设文件大小阈值,则确定所述相匹配的文件存储系统为HDFS;
所述第一存储路径为相对存储路径,所述路径转换模块,具体用于:
若所述文件存储系统为Hbase,则将所述目标文件的相对存储路径转换为绝对存储路径,并将所述绝对存储路径确定为第二存储路径;
若所述文件存储系统为HDFS,则将所述目标文件的相对存储路径确定为第二存储路径。
6.一种FTP服务器,其特征在于,包括:存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-4中任一项所述的数据存储方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至4任一项所述的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010140346.7A CN111367857B (zh) | 2020-03-03 | 2020-03-03 | 数据存储方法、装置、ftp服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010140346.7A CN111367857B (zh) | 2020-03-03 | 2020-03-03 | 数据存储方法、装置、ftp服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367857A CN111367857A (zh) | 2020-07-03 |
CN111367857B true CN111367857B (zh) | 2023-06-16 |
Family
ID=71208408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010140346.7A Active CN111367857B (zh) | 2020-03-03 | 2020-03-03 | 数据存储方法、装置、ftp服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367857B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111988419A (zh) * | 2020-08-28 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 文件上传方法、下载方法、装置、计算机设备和存储介质 |
CN116486973A (zh) * | 2020-09-03 | 2023-07-25 | 武汉联影医疗科技有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN112328550A (zh) * | 2020-11-03 | 2021-02-05 | 深圳壹账通智能科技有限公司 | 一种分布式文件系统架构下的文件管理方法及装置 |
CN118069589B (zh) * | 2024-04-17 | 2024-08-27 | 济南浪潮数据技术有限公司 | 文件访问方法、装置、计算机设备及程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109327546A (zh) * | 2018-11-21 | 2019-02-12 | Oppo(重庆)智能科技有限公司 | 一种访问ftp服务器的方法、客户端、mes及电子设备 |
JP2019204472A (ja) * | 2018-05-22 | 2019-11-28 | 広東技術師範学院 | Hadoopに基づいて、データマージモジュールとHBaseキャッシュモジュールを備えるHDFSから複数の2MB以下の小さなファイルを読み込む方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205082A (zh) * | 2014-06-27 | 2015-12-30 | 国际商业机器公司 | 用于处理hdfs中的文件存储的方法和系统 |
CN104750815B (zh) * | 2015-03-30 | 2017-11-03 | 浪潮集团有限公司 | 一种基于HBase的Lob数据的存储方法及装置 |
CN105025086A (zh) * | 2015-06-11 | 2015-11-04 | 江南大学 | 面向移动智能终端数据之云端安全存/取方法 |
CN106445951B (zh) * | 2015-08-07 | 2022-05-17 | 中兴通讯股份有限公司 | 一种文件传输方法和装置 |
CN105159966A (zh) * | 2015-08-25 | 2015-12-16 | 航天恒星科技有限公司 | 创建目录实体的方法、装置和目录实体处理系统 |
CN105677826A (zh) * | 2016-01-04 | 2016-06-15 | 博康智能网络科技股份有限公司 | 一种针对海量非结构化数据的资源管理方法 |
US10108637B2 (en) * | 2016-03-08 | 2018-10-23 | International Business Machines Corporation | Spatial-temporal storage system, method, and recording medium |
CN106407355A (zh) * | 2016-09-07 | 2017-02-15 | 中国农业银行股份有限公司 | 一种数据存储方法及装置 |
CN106484821A (zh) * | 2016-09-27 | 2017-03-08 | 浪潮软件集团有限公司 | 一种云计算架构下的混合云存储方法 |
US10572506B2 (en) * | 2017-03-07 | 2020-02-25 | Salesforce.Com, Inc. | Synchronizing data stores for different size data objects |
CN108053863B (zh) * | 2017-12-22 | 2020-09-11 | 中国人民解放军第三军医大学第一附属医院 | 适合大小文件的海量医疗数据存储系统及数据存储方法 |
CN109522288A (zh) * | 2018-10-24 | 2019-03-26 | 中国海洋大学 | 一种用于对海洋数据进行存储的方法及系统 |
CN109614373A (zh) * | 2018-11-21 | 2019-04-12 | 安徽云融信息技术有限公司 | 一种小文件存储架构的存储和读取方法 |
CN110069451A (zh) * | 2019-03-28 | 2019-07-30 | 浪潮卓数大数据产业发展有限公司 | 一种hdfs存储小文件的方法及装置 |
CN110765075A (zh) * | 2019-10-24 | 2020-02-07 | 北京百度网讯科技有限公司 | 自动驾驶数据的存储方法和设备 |
-
2020
- 2020-03-03 CN CN202010140346.7A patent/CN111367857B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019204472A (ja) * | 2018-05-22 | 2019-11-28 | 広東技術師範学院 | Hadoopに基づいて、データマージモジュールとHBaseキャッシュモジュールを備えるHDFSから複数の2MB以下の小さなファイルを読み込む方法 |
CN109327546A (zh) * | 2018-11-21 | 2019-02-12 | Oppo(重庆)智能科技有限公司 | 一种访问ftp服务器的方法、客户端、mes及电子设备 |
Non-Patent Citations (1)
Title |
---|
一种基于HBase的RDF数据存储改进方法;朱道恒;秦学;刘君凤;;软件(第12期);1-7 * |
Also Published As
Publication number | Publication date |
---|---|
CN111367857A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367857B (zh) | 数据存储方法、装置、ftp服务器及存储介质 | |
WO2019227689A1 (zh) | 数据监控方法、装置、计算机设备及存储介质 | |
US9851961B2 (en) | Caching and analyzing images for faster and simpler cloud application deployment | |
CN104020961B (zh) | 分布式数据存储方法、装置及系统 | |
US9600486B2 (en) | File system directory attribute correction | |
CN112749145A (zh) | 存储和访问数据的方法、设备和计算机程序产品 | |
CN113986835A (zh) | FastDFS分布式文件的管理方法、装置、设备及存储介质 | |
KR20190110082A (ko) | 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법 | |
CN110737719A (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
CN108595574B (zh) | 数据库集群的连接方法、装置、设备及存储介质 | |
CN114138558A (zh) | 一种对象存储方法、装置、电子设备和存储介质 | |
CN112764830B (zh) | 一种应用于国产化替代的数据迁移方法及系统 | |
JP2021140430A (ja) | データベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラム | |
CN112948474A (zh) | 数据导出方法、装置、设备及计算机可读存储介质 | |
CN114124883B (zh) | 基于云存储地址的数据访问方法、装置、计算机设备及介质 | |
CN105549912A (zh) | 同时包含多种类操作系统的服务器集群的存储方法 | |
CN103220327B (zh) | 用户信息存储方法及装置 | |
CN106790521B (zh) | 采用基于ftp的节点设备进行分布式组网的系统及方法 | |
CN112965745B (zh) | 一种系统接入方法、装置、设备及计算机可读介质 | |
CN113691575B (zh) | 通信方法、装置及系统 | |
CN111104787B (zh) | 用于比较文件的方法、设备和计算机程序产品 | |
CN112256669A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
US20200089814A1 (en) | Software detection based on user accounts | |
US10845978B1 (en) | Scroll positioning using element association | |
CN114826919B (zh) | 一种基于sdn的负载均衡软件纳管方法、装置、设备及介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |