一种基于hadoop的文件上传方法

文档序号:10492273阅读:230来源:国知局
一种基于hadoop的文件上传方法
【专利摘要】本发明涉及软件开发技术领域,具体涉及一种基于hadoop的文件上传方法。所述的方法是在通过网络上传或传输文件时,客户端与服务端通过MD5加密串的传输,使服务端根据MD5加密串获取文件的hadoop存储路径,通过该存储路径直接获得文件的文件流。本发明提供的网络大文件传送方法,通过hadoop分布式一次性存储大文件,节省了网络存储空间;通过MD5加密技术,保证了文件的正确性和安全性;通过网络达到一人一处上传,多人多处使用,节省上传或传输时间,提高效率。
【专利说明】
-种基于hadoop的文件上传方法
技术领域
[0001] 本发明设及软件开发技术领域,具体设及一种基于hadoop的文件上传方法。
【背景技术】
[0002] 随着存储技术和网络技术的发展,我们日常使用和传输的电子文件越来越大,同 时伴随着智能手机的普及和多媒体技术的突飞猛进,我们传输文件的频率越来越高,如果 按照常规的方式存储文件,尤其是大文件;会带来大量的冗余,造成存储空间的浪费,如果 通过传统的方式传送大文件,每次传输都耗时上小时,影响效率。

【发明内容】

[0003] 本发明解决的技术问题在于提供一种基于hadoop的文件上传方法,实现大文件的 快速传输。
[0004] 本发明解决上述技术问题的技术方案是:
[0005] 所述的方法是在通过网络上传或传输文件时,客户端与服务端通过MD巧日密串的 传输,使服务端根据MD巧日密串获取文件的hadoop存储路径,通过该存储路径直接获得文件 的文件流。
[0006] 服务端根据MD巧日密串查询文件信息表时,如果不存在该MD巧日密串的文件记录; 则上传物理文件存储到hadoop分布式文件系统;
[0007] 并获得文件在hadoop中的存储路径,将该文件的MD巧日密串及其他相关信息保存 到大文件信息表。
[000引主要包括如下步骤:
[0009] 第1步、用户上传或传输文件时,客户端获取该文件内容的MD巧日密串,向服务端发 出请求;
[0010] 第2步、服务端收到请求,根据MD巧日密串查询大文件信息表,如果查询到对应的文 件信息,则跳过第3步,直接执行第4步;如果不存在对应的文件信息,则依序执行后续步骤;
[0011] 第3步、上传物理文件,存储到hadoop分布式文件系统,获得文件在hadoop中的存 储路径;
[0012] 第4步、保存文件的hadoop存储路径和其他信息到大文件信息表,完成上传或传 输。
[001引本发明在hadoop分布式系统中,先利用MD巧日密串,查询文件的存储路径;避免文 件的直接传输。当文件不存在而需要传输物理文件时,传输完后将相应的文件信息加入到 大文件信息表;在再次传输时,则可W通过MD5加密串获取文件的路径,从而避免重复的传 输。因此,采用本发明的方案,可W实现一次性存储大文件,节省了网络存储空间;通过MD5 加密技术,保证了文件的正确性和安全性;通过网络实现一人一处上传,多人多处使用,节 省上传或传输时间,提高效率。
【附图说明】
[0014] 下面结合附图对本发明进一步说明:
[0015] 图1是本发明方法实现的流程图;
[0016] 图2是本发明方法实现的大文件信息表结构图。
【具体实施方式】
[0017] 如图1、2所示,本发明在通过网络上传或传输大文件时,客户端程序获取该大文件 内容的MD5加密串,向服务端发出请求,服务端收到请求,根据MD5加密串查询大文件信息 表,获取该文件的hadoop存储路径,直接通过存储路径从hadoop分布式文件系统中获得该 文件的文件流,达到秒传效果。如果不存在该MD5加密串的文件记录,就上传物理文件存储 到hadoop分布式文件系统,获得文件在hadoop中的存储路径,将该文件的MD巧日密串及其他 相关信息保存到大文件信息表,再次有人上传或传输同样的物理文件时,就可通过查询和 复制该文件的hadoop存储路径实现秒传。
[001引下面我们^14¥4、11^化为例,讲述该方法的实施:
[0019] 第1步、用户上传或传输大文件时,客户端程序通过apache的常用工具类 o;rg. apache. commons. codec. digest. Diges优ti Is获取该大文件内容的MDf5 加密串,JAVA 代 码如下:
[0020]
[
[
[
[0024]第3步、如果第2步没查询到对应的文件信息,则利用hadoop文件系统的工具类 o;rg.apache.hadoop.fs.FileSystem和IO工具存储物理文件到hadoop分布式文件系统,并 获得义件#hadoor)中的巧储路巧!
[0025:
[0026]
[0027] 第4步、保存文件的hadoop存储路径和其他信息到大文件信息表,S化语句如下:
[0028] insert into hfile(hfile_name,hfile_type,hfile_size,hfile_md5,hfile_ path,create_time)
[0029] values(冉name冉,冉type冉,冉size冉,冉contentMDS冉,冉hdfsPath冉,now〇)D
【主权项】
1. 一种基于hadoop的文件上传方法,其特征在于:所述的方法是在通过网络上传或传 输文件时,客户端与服务端通过MD5加密串的传输,使服务端根据MD5加密串获取文件的 hadoop存储路径,通过该存储路径直接获得文件的文件流。2. 根据权利要求1所述的基于hadoop的文件上传方法,其特征在于:服务端根据MD5加 密串查询文件信息表时,如果不存在该MD5加密串的文件记录;则上传物理文件存储到 hadoop分布式文件系统; 并获得文件在hadoop中的存储路径,将该文件的MD5加密串及其他相关信息保存到大 文件信息表。3. 根据权利要求1或2所述的基于hadoop的文件上传方法,其特征在于:主要包括如下 步骤: 第1步、用户上传或传输文件时,客户端获取该文件内容的MD5加密串,向服务端发出请 求; 第2步、服务端收到请求,根据MD5加密串查询大文件信息表,如果查询到对应的文件信 息,则跳过第3步,直接执行第4步;如果不存在对应的文件信息,则依序执行后续步骤; 第3步、上传物理文件,存储到hadoop分布式文件系统,获得文件在hadoop中的存储路 径; 第4步、保存文件的hadoop存储路径和其他信息到大文件信息表,完成上传或传输。
【文档编号】H04L29/08GK105847340SQ201610159039
【公开日】2016年8月10日
【申请日】2016年3月18日
【发明人】张远世, 季统凯
【申请人】国云科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1