大文件传输方法、装置、服务器及存储介质制造方法及图纸

技术编号:27037471 阅读:16 留言:0更新日期:2021-01-12 11:21
本发明专利技术公开了一种大文件传输方法、装置、服务器及存储介质,所述方法包括:通过接口分发模块响应客户端的请求;当客户端的请求为上传/下载请求时,通过接口分发模块调用文件信息上下文模块,计算补全文件基本信息以及文件块信息列表,并向客户端返回相关信息;当客户端的请求为文件数据传输请求时,通过接口分发模块调用数据读写模块,建立文件连接以及读写操作,若数据读写模块成功建立文件连接,则向客户端返回成功信息,否则向客户端返回失败信息。本发明专利技术不需要将文件分片,也就不需要将文件合并,从而极其节省系统资源,又能达到大文件、超大文件远程传输的验证、续传、并行传输等要求,十分适合应用在对大文件、超大文件的文件传输领域。

【技术实现步骤摘要】
大文件传输方法、装置、服务器及存储介质
本专利技术涉及一种大文件传输方法、装置、服务器及存储介质,属于文件传输领域。
技术介绍
远程文件传输是指在网络中两台计算机实现对文件进行上传、下载、共享,首先将要传送的数据写在输入/输出的通道口上,然后通过套接字(Socket)将其传送到对方的计算机上,文件在网络上的传输的原理跟数据传输的原理是一样的,其区别在于文件传输需要先通FileInputStream/FileOutputStream将文件流读取到一个字节数组里,字节数组里存放的是以字节为单位的数据。而WEB端上传是针对上传操作的一种实现方式。随着移动网络以及大数据的应用与发展,不可避免造成远程文件传输的要求越来越苛刻,表现在文件大小成几何级增加的同时又要快速、稳定处理。基于WEB端的传统上传方式,已经很难适应这些大文件、超大文件远程传输的要求。WEB传统上传文件的方式,在文件体积较小时,还比较方便,但是需要传输大体积文件时,这些方法就会会受到各种限制。特别是当文件体积过大和网络速度不理想时,很容易造成用户资源和时间的浪费。对此,本领域的技术人员总结了一种分片上传方法,分片是指将一个文件切割为一系列特定大小的小数据片,有很多专利申请的技术都是基于此技术改进的,该方法计算文件全部内容的hash值记为文件特征值,传给后台程序判订文件是否存在,不存在的话WEB端对文件切片,依次传给后台程序,全部传完后,后台程序对所有分片进行合并。上述分片方法大体上满足文件上传的要求,但同时也存在问题,例如:1)仅支持单文件上传;2)每个分片不能满足重复秒传的条件;3)上传过程因网络问题而停止,重新上传时不会续传,而是从头上传;4)若文件大小超过临界点,客户端在把文件分片时,容易内存溢出并造成客户端崩溃;5)上传请求并发时,后台程序进行合并文件的操作会严重影响并发上传时的效率。
技术实现思路
有鉴于此,本专利技术提供了一种大文件传输方法、装置、服务器及存储介质,其解决了上述分片上传技术的问题,不需要将文件分片,也就不需要将文件合并,从而极其节省系统资源,又能达到大文件、超大文件远程传输的验证、续传、并行传输等要求,十分适合应用在对大文件、超大文件的文件传输领域。本专利技术的第一个目的在于提供一种大文件传输方法。本专利技术的第二个目的在于提供一种大文件传输装置。本专利技术的第三个目的在于提供一种服务器。本专利技术的第四个目的在于提供一种存储介质。本专利技术的第一个目的可以通过采取如下技术方案达到:一种大文件传输方法,所述方法包括:通过接口分发模块响应客户端的请求;当客户端的请求为上传/下载请求时,通过接口分发模块调用文件信息上下文模块,计算补全文件基本信息以及文件块信息列表,并向客户端返回相关信息;当客户端的请求为文件数据传输请求时,通过接口分发模块调用数据读写模块,建立文件连接以及读写操作,若数据读写模块成功建立文件连接,则向客户端返回成功信息,否则向客户端返回失败信息。进一步的,所述通过接口分发模块调用文件信息上下文模块,计算补全文件基本信息以及文件块信息列表,具体包括:针对客户端的上传请求,通过接口分发模块将上传指令分发到文件信息上下文模块,以使文件信息上下文模块从文件信息存储模块中查找文件基本信息,若文件基本信息存在,则直接向接口分发模块返回成功信息,若文件基本信息不存在,则新增文件基本信息,利用文件基本信息向数据验证模块进行文件分块计算并得到相关文件块信息,组合文件基本信息与文件块信息向接口分发模块返回;针对客户端的下载请求,通过接口分发模块将下载指令分发到文件信息上下文模块,以使文件信息上下文模块从文件信息存储模块中查找文件基本信息,若文件基本信息不存在,则直接向接口分发模块返回失败信息,若文件基本信息存在,则利用文件基本信息向数据验证模块进行文件验证操作并得到相关文件块信息,组合文件基本信息与文件块信息向接口分发模块返回。进一步的,在针对客户端的上传请求中,所述利用文件基本信息向数据验证模块进行文件分块计算并得到相关文件块信息,组合文件基本信息与文件块信息向接口分发模块返回,具体包括:通过文件信息上下文模块将上传验证指令发送到数据验证模块,并将文件基本信息提供给数据验证模块,以使数据验证模块利用文件基本信息,向文件数据存储模块建立一个空的文件,并以文件唯一标识命名,将新建的文件URL补全到文件基本信息,根据补全文件基本信息计算文件块信息列表,将文件基本信息以及文件块信息向文件信息存储模块进行更新,组合文件基本信息与文件块信息向接口分发模块返回。进一步的,在针对客户端的下载请求中,所述利用文件基本信息向数据验证模块进行文件验证操作并得到相关文件块信息,组合文件基本信息与文件块信息向接口分发模块返回,具体包括:通过文件信息上下文模块将下载验证指令发送到数据验证模块,并将文件基本信息提供给数据验证模块,以使数据验证模块利用文件基本信息,向文件信息存储模块查询对应的文件块信息列表,若查询不到对应的文件块信息列表,则直接向接口分发模块返回错误信息,若查询到对应的文件块信息列表,则根据文件唯一标识向文件数据存储模块验证文件的完整性,组合文件基本信息与文件块信息向接口分发模块返回。进一步的,所述通过接口分发模块调用数据读写模块,建立文件连接以及读写操作,具体包括:通过接口分发模块将读指令分发到数据读写模块,并提供文件基本信息以及文件块信息列表给数据读写模块,以使数据读写模块根据文件基本信息以及文件块信息列表,使用RandomAccessFile建立远程目标文件以及本地源文件连接,并以线程的方式放进线程池执行,若建立成功,则向接口分发模块返回成功信息,若建立失败,则向接口分发模块返回失败信息;通过接口分发模块将写指令分发到数据读写模块,并提供文件基本信息以及文件块信息列表给数据读写模块,以使数据读写模块根据文件基本信息以及文件块信息列表,使用RandomAccessFile建立远程源文件以及本地目标文件连接,并以线程的方式放进线程池执行,若建立成功,则向接口分发模块返回成功信息,若建立失败,则向接口分发模块返回失败信息;当所有文件数据流写入完成后,调用数据验证模块进行文件完整性检查并更新文件基本信息的状态标记;在文件数据流写入过程中,若发生文件数据流断开的异常,则调用数据验证模块进行文件块信息更新。进一步的,所述调用数据验证模块进行文件完整性检查并更新文件基本信息的状态标记,具体包括:通过数据读写模块将文件数据流写入完成验证指令发送到数据验证模块,并提供文件基本信息给数据验证模块,以使数据验证模块利用文件基本信息,向文件数据存储模块验证对应文件的完整性,若满足条件,则标记文件基本信息完成状态并向文件信息存储模块进行更新,向数据读写模块返回执行结果;所述调用数据验证模块进行文件块信息更新,具体包括:通过数据读写模块将文件数据流断开的异常处理验证指令发送到本文档来自技高网
...

【技术保护点】
1.一种大文件传输方法,其特征在于,所述方法包括:/n通过接口分发模块响应客户端的请求;/n当客户端的请求为上传/下载请求时,通过接口分发模块调用文件信息上下文模块,计算补全文件基本信息以及文件块信息列表,并向客户端返回相关信息;/n当客户端的请求为文件数据传输请求时,通过接口分发模块调用数据读写模块,建立文件连接以及读写操作,若数据读写模块成功建立文件连接,则向客户端返回成功信息,否则向客户端返回失败信息。/n

【技术特征摘要】
1.一种大文件传输方法,其特征在于,所述方法包括:
通过接口分发模块响应客户端的请求;
当客户端的请求为上传/下载请求时,通过接口分发模块调用文件信息上下文模块,计算补全文件基本信息以及文件块信息列表,并向客户端返回相关信息;
当客户端的请求为文件数据传输请求时,通过接口分发模块调用数据读写模块,建立文件连接以及读写操作,若数据读写模块成功建立文件连接,则向客户端返回成功信息,否则向客户端返回失败信息。


2.根据权利要求1所述的大文件传输方法,其特征在于,所述通过接口分发模块调用文件信息上下文模块,计算补全文件基本信息以及文件块信息列表,具体包括:
针对客户端的上传请求,通过接口分发模块将上传指令分发到文件信息上下文模块,以使文件信息上下文模块从文件信息存储模块中查找文件基本信息,若文件基本信息存在,则直接向接口分发模块返回成功信息,若文件基本信息不存在,则新增文件基本信息,利用文件基本信息向数据验证模块进行文件分块计算并得到相关文件块信息,组合文件基本信息与文件块信息向接口分发模块返回;
针对客户端的下载请求,通过接口分发模块将下载指令分发到文件信息上下文模块,以使文件信息上下文模块从文件信息存储模块中查找文件基本信息,若文件基本信息不存在,则直接向接口分发模块返回失败信息,若文件基本信息存在,则利用文件基本信息向数据验证模块进行文件验证操作并得到相关文件块信息,组合文件基本信息与文件块信息向接口分发模块返回。


3.根据权利要求2所述的大文件传输方法,其特征在于,在针对客户端的上传请求中,所述利用文件基本信息向数据验证模块进行文件分块计算并得到相关文件块信息,组合文件基本信息与文件块信息向接口分发模块返回,具体包括:
通过文件信息上下文模块将上传验证指令发送到数据验证模块,并将文件基本信息提供给数据验证模块,以使数据验证模块利用文件基本信息,向文件数据存储模块建立一个空的文件,并以文件唯一标识命名,将新建的文件URL补全到文件基本信息,根据补全文件基本信息计算文件块信息列表,将文件基本信息以及文件块信息向文件信息存储模块进行更新,组合文件基本信息与文件块信息向接口分发模块返回。


4.根据权利要求2所述的大文件传输方法,其特征在于,在针对客户端的下载请求中,所述利用文件基本信息向数据验证模块进行文件验证操作并得到相关文件块信息,组合文件基本信息与文件块信息向接口分发模块返回,具体包括:
通过文件信息上下文模块将下载验证指令发送到数据验证模块,并将文件基本信息提供给数据验证模块,以使数据验证模块利用文件基本信息,向文件信息存储模块查询对应的文件块信息列表,若查询不到对应的文件块信息列表,则直接向接口分发模块返回错误信息,若查询到对应的文件块信息列表,则根据文件唯一标识向文件数据存储模块验证文件的完整性,组合文件基本信息与文件块信息向接口分发模块返回。


5.根据权利要求1所述的大文件传输方法,其特征在于,所述通过接口分发模块调用数据读写模块,建立文件连接以及读写操作,具体包括:
通过接口分发模块将读指令分发到数据读写模块,并提供文件基本信息以及文件块信息列表给数据读写模块,以使数据读写模块根据文件基本信息以及文件块信息列...

【专利技术属性】
技术研发人员:陈建生冼永乐植挺生刘勇庄广壬
申请(专利权)人:广东广宇科技发展有限公司
类型:发明
国别省市:广东;44

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

1