一种基于HDFS的文件溯源FTP系统技术方案

技术编号:12903178 阅读:71 留言:0更新日期:2016-02-24 12:30
本发明专利技术提供一种基于HDFS的文件溯源FTP系统,包括FTP服务端从客户端接收N个上传文件请求后发起N个并发线程,每一线程调用上传文件模块上传客户端发送的文件,每一线程对应一文件;上传文件模块上传文件到HDFS文件系统,所述上传文件模块确定文件已上传到HDFS文件系统后将调用历史记录模块;历史记录模块从文件流池中获取空闲的文件流,应用所述文件流将文件的上传信息写入历史记录文件中,所述上传信息用于文件溯源;文件流池,存储多个文件流的介质,每一文件流管理一个历史记录文件;HDFS文件系统,存储被上传文件的文件系统。应用FTP服务端往HDFS文件系统上传文件时可以在所述的历史记录文件中记录文件上传信息,便于后期维护时查看、溯源。

【技术实现步骤摘要】

本专利技术涉及分布式文件系统,尤其涉及一种基于HDFS的文件溯源FTP系统
技术介绍
移动互联网时代,移动通信行业的用户行为数据量激增,数据分析领域采用先进的大数据技术进行数据分析和数据访问工作。Hadoop分布式文件系统被设计成适合运行在通用硬件上的分布式文件系统,它和现有的分布式文件系统有很多共同点。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS-0VER-FTP是一个开源的,简单易用的实现了对HDFS文件系统的上传和下载的FTP服务器。但是现有技术中对上传文件没有历史记录,不便于后期维护查看。
技术实现思路
本专利技术要解决的技术问题,在于提供一种基于HDFS的文件溯源FTP系统,解决了现有技术中往HDFS文件系统上传文件后,后期无法维护和查看,无法进行溯源的问题。本专利技术是这样实现的:一种基于HDFS的文件溯源FTP系统,包括FTP服务端、上传文件模块、历史记录模块、HDFS文件系统以及文件流池;FTP服务端从客户端接收N个上传文件请求后发起N个并发线程,每一线程调用上传文件模块上传客户端发送的文件,每一线程对应一文件;上传文件模块上传文件到HDFS文件系统,所述上传文件模块确定文件已上传到HDFS文件系统后将调用历史记录模块;历史记录模块从文件流池中获取空闲的文件流,应用所述文件流将文件的上传信息写入历史记录文件中,所述上传信息用于文件溯源;文件流池,存储多个文件流的介质,所述每一文件流管理一个历史记录文件;HDFS文件系统,存储被上传文件的文件系统。其中,若所述上传文件模块上传文件到HDFS文件系统失败,则返回错误信息至客户端,客户端重新发起上传文件请求。其中,若所述上传文件模块上传文件到HDFS文件系统成功,则返回成功信息至客户系统。其中,所述的上传信息包括所上传文件的文件名、开始上传时间、结束上传时间、上传成功与否标识。其中,所述历史记录文件中所记录的各上传信息之间用符号间隔。其中,所述文件流池为物理硬盘。其中,所述文件流池的文件流数量可配置。本专利技术的优点在于:其一、应用所述的FTP服务端,往HDFS文件系统上传文件时可以在所述的历史记录文件中记录文件上传信息,便于后期维护时查看、溯源。其二、所述的基于HDFS的文件溯源FTP系统实现并发的文件上传、下载功能,并发的记录上传信息,工作效率高,实时性好。【附图说明】图1为本专利技术的一种基于HDFS的文件溯源FTP系统的结构示意图。标号说明:客户端-100FTP服务端-200 上传文件模块-300历史记录模块-400文件流池-500【具体实施方式】为详细说明本专利技术的
技术实现思路
、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。HDFS-0VER-FTP是一个开源的,简单易用的实现了对HDFS文件系统的上传和下载的FTP服务端200。本专利技术应用所述的FTP服务端200实现文件的上传、下载和溯源等功能,本专利技术公开一种基于HDFS的文件溯源FTP系统,具体的包括:FTP服务端200、上传文件模块300、历史记录模块400、HDFS文件系统以及文件流池500 ;FTP服务端200从客户端100接收N个上传文件请求后发起N个并发线程,每一线程调用上传文件模块300上传客户端100发送的文件,每一线程对应一文件;上传文件模块300上传文件到HDFS文件系统,所述上传文件模块300确定文件已上传到HDFS文件系统后将调用历史记录模块;历史记录模块从文件流池500中获取空闲的文件流,应用所述文件流将文件的上传信息写入历史记录文件中,所述上传信息用于文件溯源;文件流池500,存储多个文件流的介质,所述每一文件流管理一个历史记录文件;HDFS文件系统,存储被上传文件的文件系统。参阅图1所示,多个客户端100同时上传文件,FTP服务端200接收到多个上传文件的请求,然后发起多个线程并发的处理,每个线程对应一个文件,每个线程通过调用上传文件模块300来上传文件,上传文件模块300负责把文件上传到HDFS文件系统中。若上传文件成功,则此线程会调用历史记录模块,历史记录模块从文件流池500里去获得一个空闲的文件流,如果暂时没有空闲的文件流,则等待一段时间再去获取,直至获得空闲的文件流,通过这个文件流向对应的历史记录文件中写入上传信息,所述的文件流池500中的文件流主要用于解决多线程高并发的上传文件时历史记录模块可能会带来的性能问题,以此通过所述的文件流管理历史记录文件保障系统稳定运行。在各种实施方式中,所述的上传信息包括所上传文件的文件名、开始上传时间、结束上传时间、上传成功与否标识等,调用所述的上传信息即可对所述的文件进行溯源,所述上传信息不仅仅局限于本例所列的类型,所述上传信息可依据使用者的需求设定类别。在又一优选的实施方式中,为了能够清楚的区分各个上传信息,所述的上传信息之间用符号间隔,所述的符号可以为分隔符、逗号、加号、斜线等各种能够表征区别的符号。上述实施方式的一种改进方式中,若所述上传文件模块300上传文件到HDFS文件系统失败,则返回错误信息至客户端100,客户端100重新发起上传文件请求。通过该方式能够保证所有文件都上传至所述的HDFS文件系统。上述实施方式的一种改进方式中,若所述上传文件模块300上传文件到HDFS文件系统成功,则返回成功信息至客户端100。该方式便于客户端100能够对上传成功的文件进行统计,并可应用于后期的跟踪、溯源。上述实施方式中,所述的文件流池500优选的采用物理硬盘,文件流池里面存储了多个文件流,文件流连接到物理硬盘上的一个物理文件,文件流可以对这个物理文件进行读写操作,即每个文件流对应到物理硬盘上的一个历史记录文件通过文件流可以读写所述的历史记录文件,所述历史记录文件的文件名可配置,本专利技术可以通过在配置文件hdfs-over-ftp.properties 中提供 log_prefix_record_operat1ns_put 配置项来让用户自定义历史记录文件的文件名主体部分,文件名主体部分+当前日期+.log构成完整的文件名。在又一优选的实施方式中,在配置文件hdfs-over-ftp.properties中提供了 log_max_os配置项来让用户自定义文件流池500中缓存的文件流的数量,达到文件流池500中的文件流数量可配置的目的,并且文件流可以根据自定制的时间来切换到新的物理文件。上所述仅为本专利技术一种基于HDFS的文件溯源FTP系统的实施例,并非因此限制本专利技术的专利范围,凡是利用本专利技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
,均同理包括在本专利技术的专利保护范围内。【主权项】1.一种基于HDFS的文件溯源FTP系统,其特征在于:包括FTP服务端、上传文件模块、历史记录模块、HDFS文件系统以及文件流池; FTP服务端从客户端接收N个上传文件请求后发起N个并发线程,每一线程调用上传文件模块上传客户端发送的文件,每一线程对应一文件; 上传文件模块上传文件到HDFS文件系统,所述上传文件模块确定文件已上传到H本文档来自技高网
...

【技术保护点】
一种基于HDFS的文件溯源FTP系统,其特征在于:包括FTP服务端、上传文件模块、历史记录模块、HDFS文件系统以及文件流池;FTP服务端从客户端接收N个上传文件请求后发起N个并发线程,每一线程调用上传文件模块上传客户端发送的文件,每一线程对应一文件;上传文件模块上传文件到HDFS文件系统,所述上传文件模块确定文件已上传到HDFS文件系统后将调用历史记录模块;历史记录模块从文件流池中获取空闲的文件流,应用所述文件流将文件的上传信息写入历史记录文件中,所述上传信息用于文件溯源;文件流池,存储多个文件流的介质,每一文件流管理一个历史记录文件;HDFS文件系统,存储被上传文件的文件系统。

【技术特征摘要】

【专利技术属性】
技术研发人员:张强
申请(专利权)人:福建新大陆软件工程有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1