一种大文件上传及下载处理方法与流程

文档序号:15847120发布日期:2018-11-07 09:14阅读:371来源:国知局
一种大文件上传及下载处理方法与流程

本发明涉及计算机文件处理方法,具体涉及一种大文件上传及下载处理方法。



背景技术:

随着计算机和信息技术的迅猛发展和普及应用,行业应用系统的规模迅速扩大,行业应用所产生的数据呈爆炸性增长。我们需要解决的是客户上传文件的存储问题,上传文件的数量可能达到一天300到8000个。传统的大文件处理方式已经不能满足现状。因此,寻求有效的大数据处理技术、方法和手段已经成为现实世界的迫切需求。

传统的处理方式:一种是将上传的文件可以放在数据库中,另外也可以在数据库里存个文件名,然后把文件实体存到文件系统中;但是,传统的方法存在以下问题:如果大文件存数据库的话,访问量很大,读取文件内容时候会比较占用资源,降低数据库的性能,如果存本地文件的话,硬盘需要频繁读取目录表,这样也会降低性能。



技术实现要素:

本发明目的是为了克服现有技术的不足而提供的一种占用资源少,相应速度快、调用高效便捷的大文件上传及下载处理方法。

为达到上述目的,本发明采用如下技术方案。

为便于本技术方案的表述,对下面涉及到的专业术语作如下解释:mongodb是指基于分布式文件存储的数据库;file_id是指存储文件地址名;web服务器是指网站服务器;submit是指文件提交;objectid是指存储的每个文件的唯一标识号。

一种大文件上传及下载处理方法,包括如下具体步骤:

步骤一:首先搭建一个文件服务器,并在服务器上安装mongodb文件系统数据库(既分布式文件存储的数据库)用于存储大文件数据;

步骤二:在文件服务器上自定义一套文件命名规则,为每个存储的文件定义一个file_id,一个文件对应唯一的file_id名,然后将这个file_id储存到数据库表里;

步骤三:再建立一个web服务器并与所述步骤二中的文件服务器相连接,并在web服务器上设置好上传和下载的接口;

步骤四:在浏览客户端执行文件的上传操作请求时,在浏览客户端的页面中写了一个表单和一个submit类型的按钮,将整个表单内容提交,web服务器获得我们提交的文件,然后调用上传文件的接口,这样大文件通过这个接口会直接上传到mongodb文件系统中,同时得到这个文件在mongodb文件系统数据库中的objectid并把这个objectid存储在数据库表中;

步骤五:在浏览客户端执行文件的下载操作请求时,web服务器通过获取这个请求信息得到这个要下载文件的objectid,然后通过web服务器的下载文件接口,把这个objectid作为参数传递到文件服务器,就能从mongodb文件系统数据库中下载我们需要的文件。

作为本发明的进一步改进,所述文件服务器具有不少于2t的存储扩容空间。

作为本发明的进一步改进,所述所述浏览客户端为手机或电脑浏览客户端。

由于上述技术方案的运用,本发明带来的有效效果:本技术方案通过为每个储存文件定义命名规则,且一个文件对应唯一文件id,具有为后续上传及下载查找奠定了必要基础、提高查找速度,提高文件传输的准确性的有益技术效果;本技术方案还设立了独立的web服务器,可以实现将文件的处理独立出来运行调用,具有方便维护升级、提高调用效率、占用文件服务器资源少的有益技术效果;本技术方案还将文件分块保存在mongodb文件系统数据库中,具有可以实现对数据的高效存储、提高数据传输反馈速度的有益技术效果。

附图说明

下面结合附图对本发明技术方案作进一步说明。

附图1为本发明整体流程框图。

附图2为本发明文件上传操作流程示意图。

附图3为本发明文件下载操作流程示意图。

图中:1.搭建文件服务器;2.安装文件系统数据库;3.定义文件命名规则;4.建立web服务器;5.文件上传接口;6.文件下载接口;7.用户文件上传;8.用户文件下载。

具体实施方式

下面结合附图及具体实施例对本发明作进一步详细说明。

如图1至3所示,一种大文件上传及下载处理方法,首先搭建一个文件服务器1,并在服务器上安装文件系统数据库2(既mongodb分布式文件存储的数据库)用于存储大数据量文件;在文件服务器上定义文件命名规则3,为每个存储的文件定义一个file_id,一个文件对应唯一的file_id名,然后将这个file_id储存到数据库里;再建立web服务器4并与上述搭建的文件服务器1相连接,并在web服务器2上设置文件上传接口5、文件下载接口6;

在浏览客户端执行文件的上传操作请求时,在浏览客户端的页面中写了一个表单和一个submit类型的按钮,将整个表单内容提交,web服务器获得我们提交的文件,然后调用上传文件的接口,这样大文件通过这个接口会直接上传到mongodb文件系统中,同时得到这个文件在mongodb文件系统数据库中的objectid并把这个objectid存储在数据库表中;

在浏览客户端执行文件的下载操作请求时,web服务器通过获取这个请求信息得到这个要下载文件的objectid,然后通过web服务器的下载文件接口,把这个objectid作为参数传递到文件服务器,就能从mongodb文件系统数据库中下载我们需要的文件。

以上仅是本发明的具体应用范例,对本发明的保护范围不构成任何限制;凡采用等同变换或者等效替换而形成的技术方案,均落在本发明权利保护范围之内。



技术特征:

技术总结
本发明涉及一种大文件上传及下载处理方法,首先搭建一个文件服务器,并在服务器上安装文件系统数据库用于存储大数据量文件;在文件服务器上定义文件命名规则,为每个存储的文件定义唯一的FILE_ID名,然后将这个FILE_ID储存到数据库表里;再建立web服务器并与上述搭建的文件服务器相连接,并在web服务器上设置文件上传接口、文件下载接口,用户通过浏览客户端上可进行文件上传请求依次经过web服务器后从文件服务器中并按自定义规则命名存储到文件系统数据库中,在下载请求时会根据已命名文件经过web服务器后从文件系统数据库中筛选。本发明提供了一种占用资源少,相应速度快、调用高效便捷的大文件上传及下载处理方法。

技术研发人员:张东军
受保护的技术使用者:张东军
技术研发日:2018.05.02
技术公布日:2018.11.06
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1