一种分布式文件获取方法和分布式文件获取系统的制作方法

xiaoxiao2020-10-23  8

一种分布式文件获取方法和分布式文件获取系统的制作方法
【技术领域】
[0001]本发明属于分布式数据处理领域,尤其涉及一种分布式文件获取方法和分布式文件获取系统。
【背景技术】
[0002]Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)是一种适合运行在通用硬件(commodity hardware)上的分布式文件系统。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。对外部客户机而言,HDFS就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件,等等。HDFS的架构是基于一组特定的节点构建的,这些节点包括NameNode (仅一个),其在HDFS内部提供元数据服务;DataNode,其为HDFS提供存储块。其中,NameNode是一个通常在HDFS实例中的单独机器上运行的软件。它负责管理文件系统名称空间和控制外部客户机的访问。NameNode决定是否将文件映射到DataNode上的复制块上。对于最常见的3个复制块,第一个复制块存储在同一机架的不同节点上,最后一个复制块存储在不同机架的某个节点上。NameNode在一个文件中存储所有关于文件系统名称空间的信息。这个文件和一个包含所有事务的记录文件将存储在NameNode的本地文件系统上。
[0003]现有的文件获取方法是,定时扫描Hadoop的HDFS文件系统目录的文件,下载文件到本地文件系统上,当用户要下载文件时,则直接从本地文件系统上获取文件。这样的做法未免会造成Hadoop资源的浪费。
[0004]因此,如何设置出更好的文件获取方法,成为技术人员需要考虑的问题。

【发明内容】

[0005]本发明所要解决的技术问题是提供一种分布式文件获取方法和分布式文件获取系统,节省Hadoop资源。
[0006]为了解决上述技术问题,本发明提供了一种分布式文件获取方法,包括:
[0007]客户端发送文件下载请求到Hadoop文件系统;
[0008]将用户要下载的文件列表,从Hadoop文件系统映射给用户;
[0009]返回用户要下载的文件列表到客户端。
[0010]作为本发明的优选实施方式,所述客户端发送文件下载请求到Hadoop文件系统的步骤,进一步包括:
[0011]客户端发送文件下载请求到下载接口 ;
[0012]下载接口发送权限验证请求到权限验证模块;
[0013]权限验证模块验证用户是否有下载权限;如果有下载权限则继续执行;否则结束。
[0014]作为本发明的优选实施方式,所述结束的步骤,进一步包括:
[0015]返回无权限下载信息到下载接口 ;
[0016]下载接口向客户端发送异常消息并断开与客户端的连接,结束。
[0017]为了解决上述技术问题,本发明还提供了一种分布式文件获取系统,包括:
[0018]客户端模块,用于发送文件下载请求到Hadoop文件系统模块;
[0019]Hadoop文件映射模块,用于将用户要下载的文件列表,从Hadoop文件系统模块映射给用户;
[0020]Hadoop文件系统模块,用于返回用户要下载的文件列表到客户端模块。
[0021]作为本发明的优选实施方式,所述系统还包括:
[0022]下载接口模块,用于接收所述文件下载请求,发送权限验证请求,并接收下载结果返回给客户端模块;
[0023]权限验证模块,用于接收所述权限验证请求,验证用户是否有下载权限;如果有,则发送有权限下载的消息;相应的,
[0024]所述Hadoop文件映射模块,进一步用于当接收到有权限下载的消息时,将用户要下载的文件列表,从Hadoop文件系统映射给用户。
[0025]作为本发明的优选实施方式,
[0026]所述权限验证模块,进一步用于返回无权限下载信息到下载接口模块;
[0027]所述下载接口模块,进一步用于下发送异常消息到客户端模块并断开与客户端模块的连接。
[0028]本发明提供的分布式文件获取方法和分布式文件获取系统,不需要占用太多的网络带宽和Hadoop资源,从而可以节省Hadoop资源。
【附图说明】
[0029]图1为本发明一个实施例的分布式文件获取方法流程图。
[0030]图2为本发明又一个实施例的分布式文件获取方法流程图。
[0031]图3为本发明一个实施例的分布式文件系统结构示意图。
[0032]图4为本发明又一个实施例的分布式文件系统结构示意图。
【具体实施方式】
[0033]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0034]本发明的主要思想是当用户要下载文件时,通过映射的方式将Hadoop的HDFS文件系统的某个目录映射到本地文件系统,类似快捷方式。这样的话就不需要占用多的网络带宽和Hadoop的资源。
[0035]参照图1所示,为本发明一个实施例的分布式文件获取方法流程图。所述方法包括:
[0036]101,客户端发送文件下载请求到Hadoop文件系统;
[0037]102,将用户要下载的文件列表,从Hadoop文件系统映射给用户;
[0038]103,返回用户要下载的文件列表到客户端。
[0039]参照图2所示,为本发明又一个实施例的分布式文件获取方法流程图。所述方法包括:
[0040]201,客户端发送文件下载请求到下载接口 ;
[0041 ] 202,下载接口发送权限验证请求到权限验证模块;
[0042]203,权限验证模块验证用户是否有下载权限;如果有,则执行步骤204,否则执行步骤208 ;
[0043]204,权限验证模块发送有权限下载的消息到Hadoop文件映射模块;
[0044]205,Hadoop文件映射模块将用户要下载的文件列表,从Hadoop文件系统映射给用户;
[0045]206,返回用户需要的文件列表到下载接口 ;
[0046]207,下载接口发送返回结果到客户端,结束;
[0047]208,返回无权限下载信息到下载接口模块;
[0048]209,下载接口模块发送异常消息并断开连接,结束。
[0049]参照图3所示,为本发明一个实施例的分布式文件系统结构示意图。所述系统包括:
[0050]客户端模块301,用于发送文件下载请求到Hadoop文件系统模块;
[0051]Hadoop文件映射模块302,用于将用户要下载的文件列表,从Hadoop文件系统模块映射给用户;
[0052]Hadoop文件系统模块303,用于返回用户要下载的文件列表到客户端模块。
[0053]参照图4所示,为本发明又一个实施例的分布式文件系统结构示意图。所述系统包括:
[0054]客户端模块401,用于发送文件下载请求;
[0055]下载接口模块402,用于接收所述文件下载请求,发送权限验证请求,并接收下载结果返回给客户端模块401 ;
[0056]权限验证模块403,用于验证用户是否有下载权限;如果有,则发送有权限下载的消息,否则返回无权限下载信息给下载接口模块402 ;
[0057]Hadoop文件映射模块404,用于接收所述有权限下载的消息;并将用户要下载的文件列表,从Hadoop文件系统映射给用户;
[0058]Hadoop文件系统405,用于返回用户需要的文件列表到下载接口模块402。
[0059]在本发明另外的实施例中,所述权限验证模块403,进一步用于返回无权限下载信息到下载接口模块402 ;
[0060]所述下载接口模块402,进一步用于下发送异常消息到客户端模块401并断开与客户端模块401的连接。
[0061]以上所述的【具体实施方式】,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的【具体实施方式】而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种分布式文件获取方法,其特征在于,包括: 客户端发送文件下载请求到Hadoop文件系统; 将用户要下载的文件列表,从Hadoop文件系统映射给用户; 返回用户要下载的文件列表到客户端。2.如权利要求1所述的方法,其特征在于,所述客户端发送文件下载请求到Hadoop文件系统的步骤,进一步包括: 客户端发送文件下载请求到下载接口; 下载接口发送权限验证请求到权限验证模块; 权限验证模块验证用户是否有下载权限;如果有下载权限则继续执行;否则结束。3.如权利要求2所述的方法,其特征在于,所述结束的步骤,进一步包括: 返回无权限下载信息到下载接口; 下载接口向客户端发送异常消息并断开与客户端的连接,结束。4.一种分布式文件获取系统,其特征在于,包括: 客户端模块,用于发送文件下载请求到Hadoop文件系统模块; Hadoop文件映射模块,用于将用户要下载的文件列表,从Hadoop文件系统模块映射给用户; Hadoop文件系统模块,用于返回用户要下载的文件列表到客户端模块。5.如权利要求4所述的系统,其特征在于,所述系统还包括: 下载接口模块,用于接收所述文件下载请求,发送权限验证请求,并接收下载结果返回给客户端模块; 权限验证模块,用于接收所述权限验证请求,验证用户是否有下载权限;如果有,则发送有权限下载的消息;相应的, 所述Hadoop文件映射模块,进一步用于当接收到有权限下载的消息时,将用户要下载的文件列表,从Hadoop文件系统映射给用户。6.如权利要求5所述的系统,其特征在于, 所述权限验证模块,进一步用于返回无权限下载信息到下载接口模块; 所述下载接口模块,进一步用于下发送异常消息到客户端模块并断开与客户端模块的连接。
【专利摘要】本发明提供了一种分布式文件获取方法和分布式文件获取系统,所述方法包括:客户端发送文件下载请求到Hadoop文件系统;将用户要下载的文件列表,从Hadoop文件系统映射给用户;返回用户要下载的文件列表到客户端。所述客户端发送文件下载请求到Hadoop文件系统的步骤,进一步包括:客户端发送文件下载请求到下载接口;下载接口发送权限验证请求到权限验证模块;权限验证模块验证用户是否有下载权限;如果有下载权限则继续执行;否则结束。本发明提供的分布式文件获取方法和分布式文件获取系统,不需要占用太多的网络带宽和Hadoop资源,从而可以节省Hadoop资源。
【IPC分类】H04L29/08
【公开号】CN104902022
【申请号】CN201510280153
【发明人】葛祺, 窦乐建, 崔晶晶, 林佳婕, 姜兴
【申请人】北京集奥聚合科技有限公司
【公开日】2015年9月9日
【申请日】2015年5月27日

最新回复(0)