CN113609092B - 分布式存储对接hdfs客户端的方法、系统、终端及存储介质 - Google Patents

分布式存储对接hdfs客户端的方法、系统、终端及存储介质 Download PDF

Info

Publication number
CN113609092B
CN113609092B CN202110743141.2A CN202110743141A CN113609092B CN 113609092 B CN113609092 B CN 113609092B CN 202110743141 A CN202110743141 A CN 202110743141A CN 113609092 B CN113609092 B CN 113609092B
Authority
CN
China
Prior art keywords
interface
hdfs
distributed storage
file
setting
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
CN202110743141.2A
Other languages
English (en)
Other versions
CN113609092A (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.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology 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 Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202110743141.2A priority Critical patent/CN113609092B/zh
Publication of CN113609092A publication Critical patent/CN113609092A/zh
Application granted granted Critical
Publication of CN113609092B publication Critical patent/CN113609092B/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/18File system types
    • G06F16/182Distributed 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/17Details of further file system functions

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种分布式存储对接HDFS客户端的方法、系统、终端及存储介质,包括:设置HDFS服务端的getFi l e Info接口对接分布式存储的文件元数据获取函数;设置HDFS服务端的getL i s t i ng接口对接分布式存储的目录读取函数;设置HDFS客户端对接getFi l eInfo接口和getL i s t ing接口,HDFS客户端通过getFi l eInfo接口和getLi st ing接口获取分布式存储的文件元数据和目录信息。本发明实现了在hdfs中客户端使用l s接口时,显示分布式文件存储系统中的文件信息和目录信息的功能,实现了两种文件系统的对接,提高了文件系统之间数据交互速率。

Description

分布式存储对接HDFS客户端的方法、系统、终端及存储介质
技术领域
本发明涉及文件存储技术领域,具体涉及一种分布式存储对接HDFS客户端的方法、系统、终端及存储介质。
背景技术
分布式文件系统(Distributed File System,DFS),又名分布式存储,是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(可简单的理解为一台计算机)相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。DFS为分布在网络上任意位置的资源提供一个逻辑上的树形文件系统结构,从而使用户访问分布在网络上的共享文件更加简便。单独的DFS共享文件夹的作用是相对于通过网络上的其他共享文件夹的访问点。
Hadoop(HDFS)是指被设计成适合运行在通用硬件(commodity hardware)上的文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。
随着存储技术的发展,对文件存储系统的互通也要求更高,例如使用分布式文件系统服务端替代hdfs服务端,从而为hdfs客户端提供数据。现有的文件存储系统之间的数据交互是两个系统之间进行数据发送,因此速度较为缓慢、效率较低。
发明内容
针对现有技术的上述不足,本发明提供一种分布式存储对接HDFS客户端的方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种分布式存储对接HDFS客户端的方法,包括:
设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数;
设置HDFS服务端的getListing接口对接分布式存储的目录读取函数;
设置HDFS客户端对接getFileInfo接口和getListing接口,HDFS客户端通过getFileInfo接口和getListing接口获取分布式存储的文件元数据和目录信息。
进一步的,设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数,包括:
利用JNA插件为分布式存储中的文件元数据获取函数设置第一Java接口,所述第一Java接口对接getFileInfo接口。
进一步的,设置HDFS服务端的getListing接口对接分布式存储的目录读取函数,包括:
利用JNA插件为分布式存储中的目录读取函数设置第二Java接口,所述第二Java接口对接getListing接口。
进一步的,所述方法还包括:
采用hdfs服务原生的存储文件信息的类HdfsFileStatus来存储单个文件或目录的元数据信息,通过获取目录文件列表然后遍历获取的方式来批量获取文件;
用DirectoryListing数组来存储获取的信息,并将存储的信息返回HDFS客户端;
对第一Java接口和第二Java接口进行二次封装。
第二方面,本发明提供一种分布式存储对接HDFS客户端的系统,包括:
第一对接单元,用于设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数;
第二对接单元,用于设置HDFS服务端的getListing接口对接分布式存储的目录读取函数;
数据获取单元,用于设置HDFS客户端对接getFileInfo接口和getListing接口,HDFS客户端通过getFileInfo接口和getListing接口获取分布式存储的文件元数据和目录信息。
进一步的,所述第一对接单元包括:
第一对接模块,用于利用JNA插件为分布式存储中的文件元数据获取函数设置第一Java接口,所述第一Java接口对接getFileInfo接口。
进一步的,所述第二对接单元包括:
第二对接模块,用于利用JNA插件为分布式存储中的目录读取函数设置第二Java接口,所述第二Java接口对接getListing接口。
进一步的,所述系统还包括:
批量获取模块,用于采用hdfs服务原生的存储文件信息的类HdfsFileStatus来存储单个文件或目录的元数据信息,通过获取目录文件列表然后遍历获取的方式来批量获取文件;
信息存储模块,用于用DirectoryListing数组来存储获取的信息,并将存储的信息返回HDFS客户端;
接口优化模块,用于对第一Java接口和第二Java接口进行二次封装。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的分布式存储对接HDFS客户端的方法,通过设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数,设置HDFS服务端的getListing接口对接分布式存储的目录读取函数,而HDFS客户端对接getFileInfo接口和getListing接口,由此HDFS客户端可以通过getFileInfo接口和getListing接口从分布式存储服务端获取文件元数据信息和目录信息。本发明实现了在hdfs中客户端使用ls接口时,显示分布式文件存储系统中的文件信息和目录信息的功能,实现了两种文件系统的对接,提高了文件系统之间数据交互速率。
本发明提供的分布式存储对接HDFS客户端的系统,通过设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数,设置HDFS服务端的getListing接口对接分布式存储的目录读取函数,而HDFS客户端对接getFileInfo接口和getListing接口,由此HDFS客户端可以通过getFileInfo接口和getListing接口从分布式存储服务端获取文件元数据信息和目录信息。本发明实现了在hdfs中客户端使用ls接口时,显示分布式文件存储系统中的文件信息和目录信息的功能,实现了两种文件系统的对接,提高了文件系统之间数据交互速率。
本发明提供的终端包括处理器,处理器执行分布式存储对接HDFS客户端的方法,通过设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数,设置HDFS服务端的getListing接口对接分布式存储的目录读取函数,而HDFS客户端对接getFileInfo接口和getListing接口,由此HDFS客户端可以通过getFileInfo接口和getListing接口从分布式存储服务端获取文件元数据信息和目录信息。本发明实现了在hdfs中客户端使用ls接口时,显示分布式文件存储系统中的文件信息和目录信息的功能,实现了两种文件系统的对接,提高了文件系统之间数据交互速率。
本发明提供的存储介质,存储有执行分布式存储对接HDFS客户端的方法的程序,通过设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数,设置HDFS服务端的getListing接口对接分布式存储的目录读取函数,而HDFS客户端对接getFileInfo接口和getListing接口,由此HDFS客户端可以通过getFileInfo接口和getListing接口从分布式存储服务端获取文件元数据信息和目录信息。本发明实现了在hdfs中客户端使用ls接口时,显示分布式文件存储系统中的文件信息和目录信息的功能,实现了两种文件系统的对接,提高了文件系统之间数据交互速率。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的系统的示意性框图。
图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种分布式存储对接HDFS客户端的系统。
如图1所示,该方法包括:
步骤110,设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数;
步骤120,设置HDFS服务端的getListing接口对接分布式存储的目录读取函数;
步骤130,设置HDFS客户端对接getFileInfo接口和getListing接口,HDFS客户端通过getFileInfo接口和getListing接口获取分布式存储的文件元数据和目录信息。
本发明提供的分布式存储对接HDFS客户端的方法,通过设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数,设置HDFS服务端的getListing接口对接分布式存储的目录读取函数,而HDFS客户端对接getFileInfo接口和getListing接口,由此HDFS客户端可以通过getFileInfo接口和getListing接口从分布式存储服务端获取文件元数据信息和目录信息。本发明实现了在hdfs中客户端使用ls接口时,显示分布式文件存储系统中的文件信息和目录信息的功能,实现了两种文件系统的对接,提高了文件系统之间数据交互速率。
为了便于对本发明的理解,下面以本发明分布式存储对接HDFS客户端的方法的原理,结合实施例中对分布式存储和HDFS客户端进行对接设置的过程,对本发明提供的分布式存储对接HDFS客户端的方法做进一步的描述。
hdfs作为hadoop原生的存储项目,分为客户端和服务端。使用分布式存储的服务端替代hdfs的服务端,直接和hdfs的客户端对接。使hdfs客户端能够用ls接口显示分布式存储系统中的文件信息和目录信息。从而实现目录信息的批量获取和返回。使用JNA(JavaNative Access)技术来完成ls接口的转接。并针对不同的情况下的ls进行了改进和优化。
具体的,所述分布式存储对接HDFS客户端的方法包括:
S1、设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数。
利用JNA插件为分布式存储中的文件元数据获取函数设置第一Java接口,所述第一Java接口对接getFileInfo接口。
具体的,hdfs客户端调用ls接口显示文件信息时,hdfs客户端会调用hdfs服务端的getFileInfo接口,修改了该接口的代码,在该接口中调用分布式存储系统的函数来获取文件在存储系统中的元数据信息,使用的参数是文件路径名。储存元数据的方式是通过JNA模拟结构体来进行接收。
由于大多数分布式存储系统是用C/C++开发的,因此此处需要使用JNA插件来将分布式文件系统中的获取文件元数据信息的C/C++函数制作出Java接口,供hdfs的Java代码调用。实现了转接和调用之后,即可成功实现在hdfs中使用ls显示分布式存储系统中的文件信息。
S2、设置HDFS服务端的getListing接口对接分布式存储的目录读取函数。
利用JNA插件为分布式存储中的目录读取函数设置第二Java接口,所述第二Java接口对接getListing接口。
具体的,hdfs客户端会调用hdfs服务端的getListing接口,修改了该接口的代码,在该接口中调用分布式存储系统的打开目录函数打开要显示的目录,然后调用分布式存储系统的读取目录函数获取目录信息。使用的参数是目录的路径名称。在此处同样使用JNA插件将分布式文件系统中的打开目录函数和获取目录信息函数制作出Java接口供hdfs代码调用。在实现了转接和调用之后,即可成功实现在hdfs中使用ls显示分布式存储系统中的目录信息。
S3、设置HDFS客户端对接getFileInfo接口和getListing接口,HDFS客户端通过getFileInfo接口和getListing接口获取分布式存储的文件元数据和目录信息。
在hdfs的客户端中,使用ls接口时会调用服务端的getFileInfo和getListing两个函数接口。其中,getFileInfo是ls显示文件信息时调用的接口,getListing是ls显示目录信息时调用的接口。
HDFS客户端通过getFileInfo和getListing两个函数接口获取分布式存储服务端的文件元数据信息和目录信息。
S4、显示信息的批量获取与批量返回
在使用ls显示目录信息时,目录内部可能会存在多个文件和目录,此时会涉及到批量处理。对这个处理方法进行了优化。就是采用hdfs原生的存储文件信息的类HdfsFileStatus来存储单个文件或目录的元数据信息,通过获取目录文件列表然后遍历获取的方式来批量获取;然后用数组DirectoryListing数组来存储这些信息,并将存储的信息返回,实现批量返回。
S5、JNA接口优化
在使用JNA将C/C++函数转化出Java接口时,对C/C++函数进行了二次封装和优化。具体来说,就是在接口内部获取不同的返回值,并根据返回值的结果判断不同的情况,进行对应的处理,输出对应的日志。方便问题的定位和解决。
本实施例提供的分布式存储对接HDFS客户端的方法,通过设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数,设置HDFS服务端的getListing接口对接分布式存储的目录读取函数,而HDFS客户端对接getFileInfo接口和getListing接口,由此HDFS客户端可以通过getFileInfo接口和getListing接口从分布式存储服务端获取文件元数据信息和目录信息。本实施例实现了在hdfs中客户端使用ls接口时,显示分布式文件存储系统中的文件信息和目录信息的功能,实现了两种文件系统的对接,提高了文件系统之间数据交互速率。
如图2所示,该系统200包括:
第一对接单元210,用于设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数;
第二对接单元220,用于设置HDFS服务端的getListing接口对接分布式存储的目录读取函数;
数据获取单元230,用于设置HDFS客户端对接getFileInfo接口和getListing接口,HDFS客户端通过getFileInfo接口和getListing接口获取分布式存储的文件元数据和目录信息。
可选地,作为本发明一个实施例,所述第一对接单元包括:
第一对接模块,用于利用JNA插件为分布式存储中的文件元数据获取函数设置第一Java接口,所述第一Java接口对接getFileInfo接口。
可选地,作为本发明一个实施例,所述第二对接单元包括:
第二对接模块,用于利用JNA插件为分布式存储中的目录读取函数设置第二Java接口,所述第二Java接口对接getListing接口。
可选地,作为本发明一个实施例,所述系统还包括:
批量获取模块,用于采用hdfs服务原生的存储文件信息的类HdfsFileStatus来存储单个文件或目录的元数据信息,通过获取目录文件列表然后遍历获取的方式来批量获取文件;
信息存储模块,用于用DirectoryListing数组来存储获取的信息,并将存储的信息返回HDFS客户端;
接口优化模块,用于对第一Java接口和第二Java接口进行二次封装。
图3为本发明实施例提供的一种终端300的结构示意图,该终端300可以用于执行本发明实施例提供的分布式存储对接HDFS客户端的方法。
其中,该终端300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数,设置HDFS服务端的getListing接口对接分布式存储的目录读取函数,而HDFS客户端对接getFileInfo接口和getListing接口,由此HDFS客户端可以通过getFileInfo接口和getListing接口从分布式存储服务端获取文件元数据信息和目录信息。本发明实现了在hdfs中客户端使用ls接口时,显示分布式文件存储系统中的文件信息和目录信息的功能,实现了两种文件系统的对接,提高了文件系统之间数据交互速率,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (6)

1.一种分布式存储对接HDFS客户端的方法,其特征在于,包括:
设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数;
设置HDFS服务端的getListing接口对接分布式存储的目录读取函数;
设置HDFS客户端对接getFileInfo接口和getListing接口,HDFS客户端通过getFileInfo接口和getListing接口获取分布式存储的文件元数据和目录信息;
设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数,包括:
利用JNA插件为分布式存储中的文件元数据获取函数设置第一Java接口,所述第一Java接口对接getFileInfo接口;
设置HDFS服务端的getListing接口对接分布式存储的目录读取函数,包括:
利用JNA插件为分布式存储中的目录读取函数设置第二Java接口,所述第二Java接口对接getListing接口;
所述方法还包括:
采用hdfs服务原生的存储文件信息的类HdfsFileStatus来存储单个文件或目录的元数据信息,通过获取目录文件列表然后遍历获取的方式来批量获取文件;
用DirectoryListing数组来存储获取的信息,并将存储的信息返回HDFS客户端。
2.根据权利要求1所述的分布式存储对接HDFS客户端的方法,其特征在于,所述方法还包括:
对第一Java接口和第二Java接口进行二次封装。
3.一种分布式存储对接HDFS客户端的系统,其特征在于,包括:
第一对接单元,用于设置HDFS服务端的getFileInfo接口对接分布式存储的文件元数据获取函数;
第二对接单元,用于设置HDFS服务端的getListing接口对接分布式存储的目录读取函数;
数据获取单元,用于设置HDFS客户端对接getFileInfo接口和getListing接口,HDFS客户端通过getFileInfo接口和getListing接口获取分布式存储的文件元数据和目录信息;
所述第一对接单元包括:
第一对接模块,用于利用JNA插件为分布式存储中的文件元数据获取函数设置第一Java接口,所述第一Java接口对接getFileInfo接口;
所述第二对接单元包括:
第二对接模块,用于利用JNA插件为分布式存储中的目录读取函数设置第二Java接口,所述第二Java接口对接getListing接口;
所述系统还包括:
批量获取模块,用于采用hdfs服务原生的存储文件信息的类HdfsFileStatus来存储单个文件或目录的元数据信息,通过获取目录文件列表然后遍历获取的方式来批量获取文件;
信息存储模块,用于用DirectoryListing数组来存储获取的信息,并将存储的信息返回HDFS客户端。
4.根据权利要求3所述的系统,其特征在于,所述系统还包括:
接口优化模块,用于对第一Java接口和第二Java接口进行二次封装。
5.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-2任一项所述的方法。
6.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-2中任一项所述的方法。
CN202110743141.2A 2021-06-30 2021-06-30 分布式存储对接hdfs客户端的方法、系统、终端及存储介质 Active CN113609092B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110743141.2A CN113609092B (zh) 2021-06-30 2021-06-30 分布式存储对接hdfs客户端的方法、系统、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110743141.2A CN113609092B (zh) 2021-06-30 2021-06-30 分布式存储对接hdfs客户端的方法、系统、终端及存储介质

Publications (2)

Publication Number Publication Date
CN113609092A CN113609092A (zh) 2021-11-05
CN113609092B true CN113609092B (zh) 2024-02-27

Family

ID=78337072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110743141.2A Active CN113609092B (zh) 2021-06-30 2021-06-30 分布式存储对接hdfs客户端的方法、系统、终端及存储介质

Country Status (1)

Country Link
CN (1) CN113609092B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775616A (zh) * 2016-11-10 2017-05-31 中国电子科技集团公司第二十八研究所 基于C++与Java混合编程的分布式服务系统
WO2017133216A1 (zh) * 2016-02-06 2017-08-10 华为技术有限公司 分布式存储方法和设备
US10067949B1 (en) * 2013-12-23 2018-09-04 EMC IP Holding Company LLC Acquired namespace metadata service for controlling access to distributed file system
US10592475B1 (en) * 2013-12-27 2020-03-17 Amazon Technologies, Inc. Consistent data storage in distributed computing systems
CN111198848A (zh) * 2020-01-03 2020-05-26 南京领行科技股份有限公司 一种分布式文件访问方法、系统、服务器和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210041540A (ko) * 2018-05-28 2021-04-15 로얄 뱅크 오브 캐나다 보안 전자 트랜잭션 플랫폼을 위한 시스템 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10067949B1 (en) * 2013-12-23 2018-09-04 EMC IP Holding Company LLC Acquired namespace metadata service for controlling access to distributed file system
US10592475B1 (en) * 2013-12-27 2020-03-17 Amazon Technologies, Inc. Consistent data storage in distributed computing systems
WO2017133216A1 (zh) * 2016-02-06 2017-08-10 华为技术有限公司 分布式存储方法和设备
CN107045422A (zh) * 2016-02-06 2017-08-15 华为技术有限公司 分布式存储方法和设备
CN106775616A (zh) * 2016-11-10 2017-05-31 中国电子科技集团公司第二十八研究所 基于C++与Java混合编程的分布式服务系统
CN111198848A (zh) * 2020-01-03 2020-05-26 南京领行科技股份有限公司 一种分布式文件访问方法、系统、服务器和存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HDFS可视化及其在QAR数据中的应用研究;冯兴杰;吴稀钰;;中国民航大学学报(01);全文 *
一种分布式文件系统―HDFS;张丽媛;;电脑编程技巧与维护(21);全文 *
分布式系统元数据管理策略探讨;肖蓉;;科技经济导刊(15);全文 *
大数据计算与存储分离技术实验分析;吴金坛;章超;李树楠;;电脑知识与技术(27);全文 *

Also Published As

Publication number Publication date
CN113609092A (zh) 2021-11-05

Similar Documents

Publication Publication Date Title
AU2019262823B2 (en) Input and output schema mappings
CN112615759B (zh) 全链路压测组件、全链路压测方法及装置
CN112612982A (zh) 网页预加载方法、装置及计算机设备
CN106126299B (zh) 业务插件的处理方法及装置
CN113411363A (zh) 一种镜像文件的上传方法、相关设备及计算机存储介质
CN112214250A (zh) 一种应用程序组件的加载方法和装置
CN113609092B (zh) 分布式存储对接hdfs客户端的方法、系统、终端及存储介质
Kessin Building Web Applications with Erlang: Working with REST and Web Sockets on Yaws
CN116303309A (zh) 文件挂载方法、装置和电子设备
CN112202862A (zh) 一种基于kafka的集群数据以及文件的同步方法及装置
CN111767498A (zh) 一种实现文件信息共享的方法和装置
CN116302602A (zh) 一种Flutter原生混合开发的消息传输方法及装置
CN111953718A (zh) 一种页面调试方法和装置
CN108228813B (zh) 分布式系统中副本数据库的删除方法及装置
CN113179332B (zh) 用于获取配置信息的方法、电子设备和存储介质
CN108804155A (zh) 配置文件获取方法、装置、终端及计算机可读存储介质
Junior et al. Cost optimization on public cloud provider for big geospatial data
CN112597406A (zh) 一种文件传输方法、装置、终端设备及存储介质
CN112417818A (zh) 文档目录生成方法和装置、存储介质及电子设备
CN114389851B (zh) 交换机维护服务身份验证方法、系统、终端及存储介质
CN114995830B (zh) 一种代码编译方法及装置
CN113835925B (zh) 存储对象备份方法及装置
CN111241437B (zh) 数据处理方法、装置、服务端以及存储介质
CN116248646A (zh) 一种跨云应用迁移的方法、装置、电子设备及存储介质
CN117891454A (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
GR01 Patent grant
GR01 Patent grant