CN114039971A - Bs模式下基于文件流的大文件并发传输方法 - Google Patents
Bs模式下基于文件流的大文件并发传输方法 Download PDFInfo
- Publication number
- CN114039971A CN114039971A CN202111330832.6A CN202111330832A CN114039971A CN 114039971 A CN114039971 A CN 114039971A CN 202111330832 A CN202111330832 A CN 202111330832A CN 114039971 A CN114039971 A CN 114039971A
- Authority
- CN
- China
- Prior art keywords
- file
- transmission
- fragment
- server
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 138
- 238000000034 method Methods 0.000 title claims abstract description 26
- 239000012634 fragment Substances 0.000 claims abstract description 111
- 230000015572 biosynthetic process Effects 0.000 abstract description 3
- 238000003786 synthesis reaction Methods 0.000 abstract description 3
- 238000004364 calculation method Methods 0.000 abstract description 2
- 230000007547 defect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了BS模式下基于文件流的大文件并发传输方法,包括包括以下步骤:S1:计算待传输文件MD5值,将文件分成固定大小的分片;S2:客户端在传输分片前发送请求,查询此文件是否是第一次传输;S3:服务器根据文件MD5信息判断是否是第一次传输,S4:客户端并发向服务器发送分片;S5:服务器标识传输状态文件该分片状态,计算该分片在目标文件位置并插入;S6:客户端分片传输完毕,分片传输状态文件分片状态全部完成标识,传输结束,删除分片传输状态文件;S7:计算目标大文件MD5,验证传输文件一致性,本发明适用于计算机技术领域,具有存储空间小,更新方便,计算高效,文件一致性有保障、精准断点续传、传输即合成等特点。
Description
技术领域
本发明属于计算机技术领域,具体是BS模式下基于文件流的大文件并发传输方法。
背景技术
在信息技术领域,文件传输功能在基于B/S的开发模式中非常普遍,由于网络环境不稳定等种种原因,大文件在传输过程中极有可能被中止,因此,分片传输被广泛应用在大文件传输场景。通常分片传输方式是将大文件分片(块)传输,当所有分片传输结束时,将分片合成大文件,传输结束。如果在文件分片传输过程中,服务器边接收分片,边将分片合成大文件,较之前传输方法,能够节省合成目标大文件的时间。当文件传输因意外被中止,用户再次发出传输请求时,如果在服务器已经接受到的文件序列的基础上,只继续传输之前未传输的文件片序列,节省了下载资源、流量和传输时间,从而快速高效率的完成传输任务。
现有大文件并发传输方法都采用将文件分片传输,客户端在文件解析模块将大文件读取转化为字节流,并拆分为大小相同的多个分片(字节流),并发传输模块负责向服务器(文件接收端)并发发送这些分片,服务器收到分片后根据顺序标记通过文件还原模块将分片重新组合,还原成原来的文件。它允许客户端向服务器端上传大文件,解决因传输时间较长,表单超时从而导致文件传输失败的问题。
现有大文件并发传输方法虽然弥补了传统文件上传方法串行传输速度慢的缺点,但是还有以下两点问题没有解决:
1)如果在文件传过程中传输中断,需要重新在将文件分片再次传输,浪费传输资源和时间。
2)等待所有分片完成时,才将文件片合成大文件,当所有分片从客户端传输到服务器上,仍然需要等待额外时间,将分片合成大文件。
发明内容
本发明的目的在于克服现有技术的缺陷,提供BS模式下基于文件流的大文件并发传输方法。
为实现上述目的,本发明采用了如下技术方案:
BS模式下基于文件流的大文件并发传输方法,包括以下步骤:
S1:计算待传输文件MD5值,将文件分成固定大小的分片;
S2:客户端在传输分片前发送请求,查询此文件是否是第一次传输;
S3:服务器根据文件MD5信息判断是否是第一次传输,若是首次传输,服务端建立分片传输状态文件,生成目标空文件,若不是首次传输,服务器分析分片传输状态文件,返回客户端已传的分片序列;
S4:客户端并发向服务器发送分片;
S5:服务器标识传输状态文件该分片状态,计算该分片在目标文件位置并插入;
S6:客户端分片传输完毕,分片传输状态文件分片状态全部完成标识,传输结束,删除分片传输状态文件;
S7:计算目标大文件MD5,验证传输文件一致性。
优选的,步骤S1中,计算待传输文件MD5值,将文件分成固定大小的分片,包括:
客户端先将待传输文件生成文件摘要,并计算其MD5值,然后将文件流分片,分片大小和服务器端协商一致。
优选的,步骤S3中,传输状态文件以一位表示一个分片的传输状态,分片总数与位数相同,默认新生成的传输状态文件,分片状态位全部赋值为0,表示未从客户端传输到服务器,并返回空序列,如果不是首次传,解析传输状态文件,寻找位置为1的分片序列,返回给客户端。
优选的,步骤S4中,客户端并发向服务器发送分片,包括:
客户端并发传输未出现在步骤S3中返回序列的分片序列给服务端。
优选的,步骤S5中,服务器标识传输状态文件该分片状态,计算该分片在目标文件位置并插入,包括:
服务端接收分片,将对应传输状态文件分片位置赋值为1,表示该分片传输完成,同时根据分片序列号和分片大小算出该分片在目标文件的位置并插入。
优选的,步骤S6中,当客户端将所有分片传输完成时,整个传输状态文件所有位置都是1,表示传输结束,删除分片传输状态文件。
优选的,步骤S7中,验证传输文件一致性,包括:
文件传输结束后计算服务器文件MD5值,与传输客户端发送的MD5值做校验,验证传输文件一致性。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1)精准断点续传:当传输中断再次发送传输请求,可以根据服务器已经接受的文件分片返回客户端,再次传输未传输过的分片序列即可;
2)传输即合成:无需等待所有分片传输结束,服务器边接收文件分片序列边将接收的分片合成目标文件,分片传输完成即目标大文件合成完成。
附图说明
图1是本发明BS模式下基于文件流的大文件并发传输方法的流程图。
具体实施方式
以下结合附图1,进一步说明本发明BS模式下基于文件流的大文件并发传输方法的具体实施方式。本发明BS模式下基于文件流的大文件并发传输方法不限于以下实施例的描述。
实施例1:
本实施例给出BS模式下基于文件流的大文件并发传输方法的具体实施方式,如图1所示,包括以下步骤:
S1:计算待传输文件MD5值,将文件分成固定大小的分片;
S2:客户端在传输分片前发送请求,查询此文件是否是第一次传输;
S3:服务器根据文件MD5信息判断是否是第一次传输,若是首次传输,服务端建立分片传输状态文件,生成目标空文件,若不是首次传输,服务器分析分片传输状态文件,返回客户端已传的分片序列;
S4:客户端并发向服务器发送分片;
S5:服务器标识传输状态文件该分片状态,计算该分片在目标文件位置并插入;
S6:客户端分片传输完毕,分片传输状态文件分片状态全部完成标识,传输结束,删除分片传输状态文件;
S7:计算目标大文件MD5,验证传输文件一致性。
进一步的,步骤S1中,计算待传输文件MD5值,将文件分成固定大小的分片,包括:
客户端先将待传输文件生成文件摘要,并计算其MD5值,然后将文件流分片,分片大小和服务器端协商一致。
进一步的,步骤S3中,传输状态文件以一位表示一个分片的传输状态,分片总数与位数相同,默认新生成的传输状态文件,分片状态位全部赋值为0,表示未从客户端传输到服务器,并返回空序列,如果不是首次传,解析传输状态文件,寻找位置为1的分片序列,返回给客户端。
进一步的,步骤S4中,客户端并发向服务器发送分片,包括:
客户端并发传输未出现在步骤S3中返回序列的分片序列给服务端。
进一步的,步骤S5中,服务器标识传输状态文件该分片状态,计算该分片在目标文件位置并插入,包括:
服务端接收分片,将对应传输状态文件分片位置赋值为1,表示该分片传输完成,同时根据分片序列号和分片大小算出该分片在目标文件的位置并插入。
进一步的,步骤S6中,当客户端将所有分片传输完成时,整个传输状态文件所有位置都是1,表示传输结束,删除分片传输状态文件。
进一步的,步骤S7中,验证传输文件一致性,包括:
文件传输结束后计算服务器文件MD5值,与传输客户端发送的MD5值做校验,验证传输文件一致性。
通过采用上述技术方案:
本发明传输方法,具有存储空间小,更新方便,计算高效,文件一致性得到保障等特点。尤其是当文件传输因意外而终止,再次传输,无需将之前传输的文件分片传输,节省网络流量。而且传输即合成,无需再等待文件分片传输结束后再按照顺序合成,节省传输时间。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (7)
1.BS模式下基于文件流的大文件并发传输方法,其特征在于,包括以下步骤:
S1:计算待传输文件MD5值,将文件分成固定大小的分片;
S2:客户端在传输分片前发送请求,查询此文件是否是第一次传输;
S3:服务器根据文件MD5信息判断是否是第一次传输,若是首次传输,服务端建立分片传输状态文件,生成目标空文件,若不是首次传输,服务器分析分片传输状态文件,返回客户端已传的分片序列;
S4:客户端并发向服务器发送分片;
S5:服务器标识传输状态文件该分片状态,计算该分片在目标文件位置并插入;
S6:客户端分片传输完毕,分片传输状态文件分片状态全部完成标识,传输结束,删除分片传输状态文件;
S7:计算目标大文件MD5,验证传输文件一致性。
2.如权利要求1所述的BS模式下基于文件流的大文件并发传输方法,其特征在于:所述步骤S1中,计算待传输文件MD5值,将文件分成固定大小的分片,包括:
客户端先将待传输文件生成文件摘要,并计算其MD5值,然后将文件流分片,分片大小和服务器端协商一致。
3.如权利要求1所述的BS模式下基于文件流的大文件并发传输方法,其特征在于:所述步骤S3中,传输状态文件以一位表示一个分片的传输状态,分片总数与位数相同,默认新生成的传输状态文件,分片状态位全部赋值为0,表示未从客户端传输到服务器,并返回空序列,如果不是首次传,解析传输状态文件,寻找位置为1的分片序列,返回给客户端。
4.如权利要求1所述的BS模式下基于文件流的大文件并发传输方法,其特征在于:所述步骤S4中,客户端并发向服务器发送分片,包括:
客户端并发传输未出现在步骤S3中返回序列的分片序列给服务端。
5.如权利要求1所述的BS模式下基于文件流的大文件并发传输方法,其特征在于:所述步骤S5中,服务器标识传输状态文件该分片状态,计算该分片在目标文件位置并插入,包括:
服务端接收分片,将对应传输状态文件分片位置赋值为1,表示该分片传输完成,同时根据分片序列号和分片大小算出该分片在目标文件的位置并插入。
6.如权利要求1所述的BS模式下基于文件流的大文件并发传输方法,其特征在于:所述步骤S6中,当客户端将所有分片传输完成时,整个传输状态文件所有位置都是1,表示传输结束,删除分片传输状态文件。
7.如权利要求1所述的BS模式下基于文件流的大文件并发传输方法,其特征在于:所述步骤S7中,验证传输文件一致性,包括:
文件传输结束后计算服务器文件MD5值,与传输客户端发送的MD5值做校验,验证传输文件一致性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111330832.6A CN114039971A (zh) | 2021-11-11 | 2021-11-11 | Bs模式下基于文件流的大文件并发传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111330832.6A CN114039971A (zh) | 2021-11-11 | 2021-11-11 | Bs模式下基于文件流的大文件并发传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114039971A true CN114039971A (zh) | 2022-02-11 |
Family
ID=80143976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111330832.6A Pending CN114039971A (zh) | 2021-11-11 | 2021-11-11 | Bs模式下基于文件流的大文件并发传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114039971A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114615258A (zh) * | 2022-03-28 | 2022-06-10 | 重庆长安汽车股份有限公司 | 大文件分片上传到文件服务端的方法及装置 |
CN116032913A (zh) * | 2022-10-12 | 2023-04-28 | 浪潮云信息技术股份公司 | 基于分布式对象存储的文件上传方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007025474A1 (fr) * | 2005-09-02 | 2007-03-08 | Tencent Technology (Shenzhen) Company Limited | Systeme de communication de reseau et procede de telechargement de fichier |
CN101764671A (zh) * | 2008-12-23 | 2010-06-30 | 北大方正集团有限公司 | 文件传输方法和服务器中的业务处理方法、设备及系统 |
CN108810055A (zh) * | 2017-05-04 | 2018-11-13 | 贵州白山云科技有限公司 | 一种大文件传输方法及装置 |
CN109428899A (zh) * | 2017-08-21 | 2019-03-05 | 中国石油化工股份有限公司 | 文件安全传输管理方法及系统 |
CN112073535A (zh) * | 2020-09-21 | 2020-12-11 | 烟台云朵软件有限公司 | 一种基于位图的数据包分片传输方法 |
CN112333238A (zh) * | 2020-10-09 | 2021-02-05 | 北京达佳互联信息技术有限公司 | 数据的处理方法、装置、设备及存储介质 |
CN113111043A (zh) * | 2021-04-21 | 2021-07-13 | 北京大学 | 一种中台源数据文件的处理方法、装置、系统及存储介质 |
CN113568884A (zh) * | 2021-09-26 | 2021-10-29 | 武汉四通信息服务有限公司 | 一种文件管理方法、装置、电子设备及存储介质 |
-
2021
- 2021-11-11 CN CN202111330832.6A patent/CN114039971A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007025474A1 (fr) * | 2005-09-02 | 2007-03-08 | Tencent Technology (Shenzhen) Company Limited | Systeme de communication de reseau et procede de telechargement de fichier |
CN101764671A (zh) * | 2008-12-23 | 2010-06-30 | 北大方正集团有限公司 | 文件传输方法和服务器中的业务处理方法、设备及系统 |
CN108810055A (zh) * | 2017-05-04 | 2018-11-13 | 贵州白山云科技有限公司 | 一种大文件传输方法及装置 |
CN109428899A (zh) * | 2017-08-21 | 2019-03-05 | 中国石油化工股份有限公司 | 文件安全传输管理方法及系统 |
CN112073535A (zh) * | 2020-09-21 | 2020-12-11 | 烟台云朵软件有限公司 | 一种基于位图的数据包分片传输方法 |
CN112333238A (zh) * | 2020-10-09 | 2021-02-05 | 北京达佳互联信息技术有限公司 | 数据的处理方法、装置、设备及存储介质 |
CN113111043A (zh) * | 2021-04-21 | 2021-07-13 | 北京大学 | 一种中台源数据文件的处理方法、装置、系统及存储介质 |
CN113568884A (zh) * | 2021-09-26 | 2021-10-29 | 武汉四通信息服务有限公司 | 一种文件管理方法、装置、电子设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114615258A (zh) * | 2022-03-28 | 2022-06-10 | 重庆长安汽车股份有限公司 | 大文件分片上传到文件服务端的方法及装置 |
CN116032913A (zh) * | 2022-10-12 | 2023-04-28 | 浪潮云信息技术股份公司 | 基于分布式对象存储的文件上传方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114039971A (zh) | Bs模式下基于文件流的大文件并发传输方法 | |
US20180157562A1 (en) | Virtual machine-based data transmission method, apparatus and system | |
US20100138573A1 (en) | System including transmitter and receiver | |
CN111262876B (zh) | 基于区块链的数据处理方法、装置、设备以及存储介质 | |
CN104410692A (zh) | 一种用于重复文件上传的方法和系统 | |
RU2011108113A (ru) | Устройство и способ для формирования протокольного модуля данных мас в системе беспроводной связи | |
US9794354B1 (en) | System and method for communication between networked applications | |
CN112822256A (zh) | 一种行情文件转数据流传输的方法及装置 | |
CN103152606B (zh) | 视频文件处理方法及装置、系统 | |
US9069834B2 (en) | Control method and storage controller apparatus | |
CN1585343A (zh) | 网管系统向网元同步配置数据的方法 | |
CN104079623A (zh) | 多级云存储同步控制方法及系统 | |
US10437849B2 (en) | Method and apparatus for implementing storage of file in IP disk | |
JP2022084661A (ja) | 同期方法および装置 | |
US7779299B2 (en) | Efficiently re-starting and recovering synchronization operations between a client and server | |
CN102387123B (zh) | 一种优化x协议的远程桌面系统和方法 | |
CN112751938A (zh) | 一种基于多集群作业的实时数据同步系统,实现方法以及存储介质 | |
CN108040041A (zh) | 一种基于业务驱动的图像差异传输协议设计系统及方法 | |
JP2022515637A (ja) | データの再送復号方法、装置、システム及び通信装置 | |
US20190236331A1 (en) | Method, apparatus, and storage medium for data verification | |
CN111045817A (zh) | 一种PCIe传输管理方法、系统和装置 | |
CN114363304B (zh) | Rtp视频流存储、播放方法及装置 | |
CN113364790B (zh) | 数据传输方法及装置 | |
CN112953988B (zh) | 一种基于ftp的数据对接方法及装置 | |
CN104022948A (zh) | TypeX报文传输系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |