文件上传和下载方法、装置、及文件服务器制造方法及图纸

技术编号:13427897 阅读:52 留言:0更新日期:2016-07-29 17:36
本发明专利技术实施例公开了一种文件上传和下载方法、装置、及文件服务器,涉及云存储技术领域,其中,所述文件上传方法包括:生成请求上传的文件的摘要信息;根据所述文件的摘要信息生成所述文件的存储目录;将所述文件保存到所述文件的存储目录下。本发明专利技术实施例可以提高文件的上传和下载速度。

【技术实现步骤摘要】

本专利技术涉及云存储
,尤其是一种文件上传方法和装置、文件下载方法和装置、及文件服务器。
技术介绍
在互联网与大数据盛行的背景下,无论是个人还是企业机构,均有海量数据的存储与处理需求。目前,为了能更高效地存储与处理数据,大型企业、运营商、互联网服务商等大都使用基于Hadoop(分布式计算)的HDFS(分布式文件系统)来实现大文件存储和海量日志文件处理。图12为现有技术中HDFS的主从架构示意图。如图12所示,HDFS中需要采用一台主端服务器(NameNode)来存储元数据信息,其中NameNode位于Hadoop集群文件系统的主端,它指导从端的多个服务器节点(DataNode)执行底层的I/O任务,并且跟踪文件如何被分割成文件块、这些文件块被哪些节点存储、以及HDFS的整体运行状态是否正常。与传统的存储模式相比,基于Hadoop的HDFS更容易扩展集群节点,在存储技术上更有优势和可行性。但是HDFS存在如下问题:1、延时较大,文件的读取效率低。HDFS是采用部署在主端服务器上集中的元数据库来存放文件分块映射信息,所有的文件上传、下载和分块存储操作都需要频繁读/写数据库,找到分块文件所在位置,然后再到从端服务器找到这些分块文件,进行I/O操作,延时较大。此外,主端服务器把所有文件系统的元数据文件放置在内存中,文件系统所能容纳的文件数目是由主端服务器的内存大小来决定的。当文件数量较多时,占用的内存也会比较大,当到达主端服务器的内存极限时,读取的效率会降低。因此,HDFS不太适合于那些要求低延时(数十毫秒)访问的应用(如企业网盘);2、安全性不高。由于HDFS所有的元数据文件都集中保存在主端服务器中的数据库中,其安全性主要依赖于数据库管理员的口令设置的复杂度。一旦数据库管理员口令被攻破,所有的元数据文件将面临被盗的风险,而从端服务器中的数据则会完全泄露。
技术实现思路
本专利技术实施例的一个目的是:提高文件的读取效率,降低延时。本专利技术实施例的又一个目的是:提高文件存储的安全性。根据本专利技术的一方面,提供一种文件上传方法,包括:生成请求上传的文件的摘要信息;根据所述文件的摘要信息生成所述文件的存储目录;将所述文件保存到所述文件的存储目录下。在一个实施例中,所述根据所述文件的摘要信息生成所述文件的存储目录包括:获取所述摘要信息中的至少一段字符,并计算每段字符对应的目录;将每段字符对应的目录拼接,以形成所述文件的存储目录。在一个实施例中,所述将所述文件保存到所述文件的存储目录下包括:判断所述存储目录下是否有与所述文件的摘要信息相同的文件;如果没有,将所述文件保存到所述文件的存储目录下。在一个实施例中,所述文件包括元数据文件和文件内容;所述方法具体包括:根据文件的文件内容生成所述文件的摘要信息;根据所述文件的摘要信息生成所述文件的存储目录;将元数据文件和文件内容均保存到所述文件的存储目录下。在一个实施例中,所述文件包括元数据文件和至少一个分块文件,每个分块文件包括元数据头文件和分块文件内容;所述方法具体包括:根据所有的分块文件内容生成所述文件的摘要信息;根据所述文件的摘要信息生成所述元数据文件的存储目录;将元数据文件保存到所述元数据文件的存储目录下;根据每个分块文件内容分别生成每个分块文件的摘要信息;根据每个分块文件的摘要信息分别生成每个分块文件的存储目录;将每个分块文件分别保存到各自的存储目录下。在一个实施例中,所述将每个分块文件分别保存到各自的存储目录下包括:对每个分块文件进行加密之后再分别保存到各自的存储目录下。在一个实施例中,所述方法还包括:在所述元数据文件中记录每个分块文件的分块信息,所述分块信息至少包括每个分块文件的摘要信息和每个分块文件的状态信息。在一个实施例中,所述摘要信息包括MD5值。根据本专利技术的另一方面,提供一种文件下载方法,包括:根据预存储的文件名和摘要消息的对应关系,查找请求下载的文件的摘要信息;根据文件的摘要信息确定所述文件的存储目录,以便客户端从文件的存储目录下载所述文件。在一个实施例中,所述文件包括元数据文件和分块文件;所述根据文件的摘要信息确定所述文件的存储目录,以便客户端从文件的存储目录下载所述文件包括:根据文件的摘要信息确定所述元数据文件的存储目录,并根据该存储目录获取所述元数据文件;根据所述元数据文件中记录的每个分块文件的摘要信息,确定每个分块文件的存储目录;从每个分块文件的存储目录下获取每个分块文件,以供客户端下载。在一个实施例中,所述从每个分块文件的存储目录下获取每个分块文件,以供客户端下载包括:从每个分块文件的存储目录下获取每个分块文件,并对每个分块文件进行解密,以供客户端下载。在一个实施例中,所述摘要信息包括MD5值。根据本专利技术的又一方面,提供一种文件上传装置,包括:摘要信息生成单元,用于生成请求上传的文件的摘要信息;存储目录生成单元,用于根据所述文件的摘要信息生成所述文件的存储目录;文件保存单元,用于将所述文件保存到所述文件的存储目录下。在一个实施例中,所述存储目录生成单元包括:字符获取模块,用于获取所述摘要信息中的至少一段字符,并计算每段字符对应的目录;目录拼接模块,用于将每段字符对应的目录拼接,以形成所述文件的存储目录。在一个实施例中,所述文件保存单元具体用于:判断所述存储目录下是否有与所述文件的摘要信息相同的文件;如果没有,将所述文件保存到所述文件的存储目录下。在一个实施例中,所述文件包括元数据文件和文件内容;所述摘要信息生成单元,具体用于根据文件的文件内容生成所述文件的摘要信息;所述存储目录生成单元,具体用于根据所述文件的摘要信息生成所述文件的存储目录;所述文件保存单元,具体用于将元数据文件和文件内容均保存到所述文件的存储目录下。在一个实施例中,所述文件包括元数据文件和至少一个分块文件,每个分块文件包括元数据头文件和分块文件内容;所述摘要信息生成单元,具体用于根据所有的分块文件内容生成所述文件的摘要信息;根据每个分块文件内容分别生成每个分块文件的摘要信息;所述存储目录生成单元,具体用于根据所述文件的摘要信息生成所述元数据文件的存储目录;根据每个分块文件的摘要信息分别生成每个分块文件的存储目录;所述文件保存单元,具体用于将元数据文件保存到所述元数据文件的存储目录下本文档来自技高网
...

【技术保护点】
一种文件上传方法,其特征在于,包括:生成请求上传的文件的摘要信息;根据所述文件的摘要信息生成所述文件的存储目录;将所述文件保存到所述文件的存储目录下。

【技术特征摘要】
1.一种文件上传方法,其特征在于,包括:
生成请求上传的文件的摘要信息;
根据所述文件的摘要信息生成所述文件的存储目录;
将所述文件保存到所述文件的存储目录下。
2.根据权利要求1所述的方法,其特征在于,所述根据所述文件
的摘要信息生成所述文件的存储目录包括:
获取所述摘要信息中的至少一段字符,并计算每段字符对应的目
录;
将每段字符对应的目录拼接,以形成所述文件的存储目录。
3.根据权利要求1所述的方法,其特征在于,所述将所述文件保
存到所述文件的存储目录下包括:
判断所述存储目录下是否有与所述文件的摘要信息相同的文件;
如果没有,将所述文件保存到所述文件的存储目录下。
4.根据权利要求1所述的方法,其特征在于,所述文件包括元数
据文件和文件内容;
所述方法具体包括:
根据文件的文件内容生成所述文件的摘要信息;
根据所述文件的摘要信息生成所述文件的存储目录;
将元数据文件和文件内容均保存到所述文件的存储目录下。
5.根据权利要求1所述的方法,其特征在于,所述文件包括元数
据文件和至少一个分块文件,每个分块文件包括元数据头文件和分块文
件内容;
所述方法具体包括:
根据所有的分块文件内容生成所述文件的摘要信息;
根据所述文件的摘要信息生成所述元数据文件的存储目录;
将元数据文件保存到所述元数据文件的存储目录下;
根据每个分块文件内容分别生成每个分块文件的摘要信息;
根据每个分块文件的摘要信息分别生成每个分块文件的存储目录;
将每个分块文件分别保存到各自的存储目录下。
6.根据权利要求5所述的方法,其特征在于,所述将每个分块文
件分别保存到各自的存储目录下包括:
对每个分块文件进行加密之后再分别保存到各自的存储目录下。
7.根据权利要求5所述的方法,其特征在于,还包括:
在所述元数据文件中记录每个分块文件的分块信息,所述分块信息
至少包括每个分块文件的摘要信息和每个分块文件的状态信息。
8.根据权利要求1-7任意一项所述的方法,其特征在于,所述摘
要信息包括MD5值。
9.一种文件下载方法,其特征在于,包括:
根据预存储的文件名和摘要消息的对应关系,查找请求下载的文件
的摘要信息;
根据文件的摘要信息确定所述文件的存储目录,以便客户端从文件
的存储目录下载所述文件。
10.根据权利要求9所述的方法,其特征在于,所述文件包括元数
据文件和分块文件;
所述根据文件的摘要信息确定所述文件的存储目录,以便客户端从
文件的存储目录下载所述文件包括:
根据文件的摘要信息确定所述元数据文件的存储目录,并根据该存
储目录获取所述元数据文件;
根据所述元数据文件中记录的每个分块文件的摘要信息,确定每个
分块文件的存储目录;
从每个分块文件的存储目录下获取每个分块文件,以供客户端下
载。
11.根据权利要求10所述的方法,其特征在于,所述从每个分块
文件的存储目录下获取每个分块文件,以供客户端下载包括:
从每个分块文件的存储目录下获取每个分块文件,并对每个分块文
件进行解密,以供客户端下载。
12.根据权利要求9-11任意一项所述的方法,其特征在于,所述

\t摘要信息包括MD5值。
13.一种文件上传装置,其特征在于,包括:
摘要信息生成单元,用于生成请求上传的文件的摘要信息;
存储目录生成单元,用于根据所述文件的摘要信息生成所述文件的
存储目录;
文件保存单元,用于将所述文件保存到所述...

【专利技术属性】
技术研发人员:李京董闯范光远
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京;11

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

1