一种大文件远程传输方法技术

技术编号:32649800 阅读:17 留言:0更新日期:2022-03-12 18:39
本发明专利技术涉及计算机网络传输技术领域,具体涉及一种大文件远程传输方法。前端选择需要上传/下载的文件并向后端发起服务请求;后端接收所述服务请求后,进行文件校验和数据库更新同步,并在处理完成后反馈处理状态信息至前端;前端接收到所述处理状态信息后,将需要上传/下载的文件按大文件传输服务模块提供的规范标准进行组合,并调用大文件传输服务接口;大文件传输服务模块对接收的文件进行分包处理后上传/下载,并反馈上传/下载结果信息至前端。能避免大文件传输过程中计算机对传输文件的大小限制,且能保证数据传输过程的完整性、稳定性、并发性以及可靠性。并发性以及可靠性。并发性以及可靠性。

【技术实现步骤摘要】
一种大文件远程传输方法


[0001]本专利技术涉及计算机网络传输
,具体涉及一种大文件远程传输方法。

技术介绍

[0002]大文件传输一直以来都是当前计算机网络软件系统需要面对的核心技术要点。而涉及到大文件数据的传输功能时,不仅仅包括对文件如何传输,如何保障传输的可靠性,如何保证不会出现数据错乱等基本处理事项,还包括了大文件的延时性可靠对接,大文件的传输模式的构建以及大文件传输的监控传输过程等内容。
[0003]传统的FTP(File Transfer Protocol)文件传输协议需要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。而FTP协议拥有两种工作方式:一是PORT(主动)方式,它由客户端向服务器的FTP端口发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据服务时,由客户端在命令链上用PORT命令通知服务器开启专用端口通知客户端的指定端口发送连接请求,建立一条数据链路来传送数据;二是PASV(被动)方式,它由客户端向服务器的FTP端口发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链上用PASV命令通知客户端,让客户端向服务器的指定端口发送连接请求,建立一条数据链路来传送数据。这两种方式的命令链路的连接方法是一样的,而数据链路的建立方法就完全不同。
[0004]HTTP(HyperText Transfer Protocal)超文本传输协议由两部分程序实现:一个是客户机程序,另一个是服务器程序,它们运行在不同的端系统中,通过交换HTTP报文进行会话,且HTTP定义了这些报文的格式,以及客户机和服务器是如何进行报文交换的,即:Web客户机是如何向Web服务器请求Web页面,以及服务器如何将Web页面传送给客户机。
[0005]目前只是在网络应用服务软件系统中使用单一的FTP或者是HTTP协议进行文件的传输均存在缺陷。一是由于服务器建立FTP协议过于复杂,二是由人机交互界面与服务器使用HTTP协议对文件的大小进行传输时有一定的瓶颈限制。从而导致了对大文件的网络传输处理十分复杂,且需要保证文件传输的完整、稳定、并发以及可靠是难以实现的。

技术实现思路

[0006]本专利技术的目的就是针对现有技术的缺陷,提供一种大文件远程传输方法,能避免大文件传输过程中计算机对传输文件的大小限制,且能保证数据传输过程的完整性、稳定性、并发性以及可靠性。
[0007]本专利技术的技术方案为:前端选择需要上传/下载的文件并向后端发起服务请求;后端接收所述服务请求后,进行文件校验和数据库更新同步,并在处理完成后反馈处理状态信息至前端;前端接收到所述处理状态信息后,将需要上传/下载的文件按大文件传输服务模
块提供的规范标准进行组合,并调用大文件传输服务接口;大文件传输服务模块对接收的文件进行分包处理后上传/下载,并反馈上传/下载结果信息至前端。
[0008]较为优选的,所述前端选择需要上传/下载的文件包括:当进行上传操作时,选择或输入文件的路径、文件的名称、文件的类型和文件的关联属性;当进行下载操作时,选择或输入文件的数据库ID、文件的路径、文件的名称、文件的类型和文件的关联属性。
[0009]较为优选的,所述向后端发起服务请求包括:通过JavaScript特定的Ajax传输类的Function()调用后端服务器提供的API接口实现后端服务调用,并通过HTTP协议将包裹的文件信息以及请求头的响应协议发送至服务器。
[0010]较为优选的,所述后端接收所述服务请求后,进行文件校验和数据库更新同步,并在处理完成后反馈处理状态信息至前端包括:当所述服务请求为文件上传请求时,后端服务器接收到前端发送的文件后对其进行拆解,获取请求体中的Body,并且提取其中的文件信息;对所述文件信息的属性进行校验,若校验通过,则进行信息的数据预入库操作,生成一条文件上传信息记录,将该记录的状态置为待上传状态,根据服务器对应的规则重新封装文件信息并反馈至前端;若校验失败,则向前端反馈报错信息,等待重新校验;当所述服务请求为文件下载请求时,后端服务器接收到前端发送的文件后对其进行拆解,获取请求体中的Body,并且提取其中的文件信息;对所述文件信息的属性进行校验,若校验失败,则向前端反馈报错信息,等待重新校验;若校验通过,则查询该文件对应的数据库状态;若文件对应的数据库状态为已存在,则根据服务器对应的规则重新封装文件信息并反馈至前端,若文件对应的数据库状态为不存在,则向前端反馈报错信息,等待重新校验。
[0011]较为优选的,所述前端接收到所述处理状态信息后,将需要上传/下载的文件按大文件传输服务模块提供的规范标准进行组合,并调用大文件传输服务接口包括:前端的文件上传/下载监听接口接收服务器发送的处理状态信息;若所述处理状态信息为文件校验失败信息,则通过前端界面输出提示信息,若所述处理状态信息为文件校验通过信息,且所述文件校验通过信息附带了所需要上传/下载的文件信息,则将包含有所述文件信息的封装体按照大文件传输服务模块的文件上传/下载接口提供的规范标准进行重新组合,并通过HTTP协议调用传输工具所指定监听的端口下的服务接口。
[0012]较为优选的,所述大文件传输服务模块接收到文件后,还包括:判断文件路径下的文件是否是真实存在;若存在,则预设文件上传/下载所需准备的相关元素;获取文件的大小并创建一个size对象用于存放该文件的大小数值。
[0013]较为优选的,所述大文件传输服务模块对接收的文件进行分包处理包括:
使用QFile对需要上传/下载的文件进行分包处理,分包大小为通过文件的大小数值进行千分整除,并且将分包的数值创建一个bag对象用于存储,同时创建一个transfer对象,每传递成功一个分包,transfer对象进行加一操作。
[0014]较为优选的,所述大文件传输服务模块对分包后的文件进行上传包括:尝试连接文件的目标路径,若测试成功,则在目标路径下创建一个temp文件以作为需要传输文件的承载;创建文件上传/下载线程和上传/下载监控线程;在文件上传/下载线程将文件根据分包的数值进行分块处理,并且通过Socket套接字服务进行文件的上传/下载;上传/下载监控线程根据transfer对象中的数值浮动将当前文件上传/下载的进度显示输出,并在传输进程结束时,根据bag对象以及transfer对象的数值比对,确认文件传输是否成功。
[0015]较为优选的,反馈上传结果信息至前端后,还包括:前端接收大文件传输服务模块反馈的上传结果信息,并根据所述上传结果信息判断上传操作是否成功;若成功,则输出上传成功提醒,封装成功信息并通过HTTP协议反馈至后端服务器的对应接口,所述后端服务器将对应文件的上传信息记录的状态置为已上传状态;若失败,则输出上传失败提醒。
[0016]较为优选的,反馈下载结果信息至前端后,还包括:前端接收大文件传输服务模块反馈的下载结果信息,根据所述下载结果信本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种大文件远程传输方法,其特征在于:前端选择需要上传/下载的文件并向后端发起服务请求;后端接收所述服务请求后,进行文件校验和数据库更新同步,并在处理完成后反馈处理状态信息至前端;前端接收到所述处理状态信息后,将需要上传/下载的文件按大文件传输服务模块提供的规范标准进行组合,并调用大文件传输服务接口;大文件传输服务模块对接收的文件进行分包处理后上传/下载,并反馈上传/下载结果信息至前端。2.根据权利要求1所述的大文件远程传输方法,其特征在于,所述前端选择需要上传/下载的文件包括:当进行上传操作时,选择或输入文件的路径、文件的名称、文件的类型和文件的关联属性;当进行下载操作时,选择或输入文件的数据库ID、文件的路径、文件的名称、文件的类型和文件的关联属性。3.根据权利要求1所述的大文件远程传输方法,其特征在于,所述向后端发起服务请求包括:通过JavaScript特定的Ajax传输类的Function()调用后端服务器提供的API接口实现后端服务调用,并通过HTTP协议将包裹的文件信息以及请求头的响应协议发送至服务器。4.根据权利要求1所述的大文件远程传输方法,其特征在于,所述后端接收所述服务请求后,进行文件校验和数据库更新同步,并在处理完成后反馈处理状态信息至前端包括:当所述服务请求为文件上传请求时,后端服务器接收到前端发送的文件后对其进行拆解,获取请求体中的Body,并且提取其中的文件信息;对所述文件信息的属性进行校验,若校验通过,则进行信息的数据预入库操作,生成一条文件上传信息记录,将该记录的状态置为待上传状态,根据服务器对应的规则重新封装文件信息并反馈至前端;若校验失败,则向前端反馈报错信息,等待重新校验;当所述服务请求为文件下载请求时,后端服务器接收到前端发送的文件后对其进行拆解,获取请求体中的Body,并且提取其中的文件信息;对所述文件信息的属性进行校验,若校验失败,则向前端反馈报错信息,等待重新校验;若校验通过,则查询该文件对应的数据库状态;若文件对应的数据库状态为已存在,则根据服务器对应的规则重新封装文件信息并反馈至前端,若文件对应的数据库状态为不存在,则向前端反馈报错信息,等待重新校验。5.根据权利要求1所述的大文件远程传输方法,其特征在于,所述前端接收到所述处理状态信息后,将需要上传/下载的文件按大文件传输服务模块提供的规范标准进行组合,并调用大文件传输服务接口包括:前端的文件上传/下载监听接口接收服务器发送的处理状态...

【专利技术属性】
技术研发人员:刘立国樊诚王永生张云雷
申请(专利权)人:中国人民解放军海军工程大学
类型:发明
国别省市:

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

1