一种用于窄带网络环境下的大文件上传方法技术

技术编号:32232690 阅读:16 留言:0更新日期:2022-02-09 17:37
本发明专利技术公开了一种用于窄带网络环境下的大文件上传方法,属于文件上传技术领域,包括S1、将待上传大文件载入支持HTML5语言的浏览器,获得第一文件摘要信息;S2、将第一文件摘要信息上传,若后台数据库已经存在所述第一文件摘要信息,则通知浏览器立即完成上传,若不存在执行步骤S3;S3、计算待上传大文件切片大小,将待上传大文件实时切割成相应块文件;S4、逐次将块文件上传到后台服务器,全部块文件传输完毕后进行块文件合并,完成大文件上传。通过浏览器和后台程序的协作,本方法实现了化大为小,保证浏览器性能;可实现断点续传和秒传,极大提升上传效率,使得操作变得简单、高效,也极大地提升了系统的鲁棒性和窄带链路适配能力。大地提升了系统的鲁棒性和窄带链路适配能力。大地提升了系统的鲁棒性和窄带链路适配能力。

【技术实现步骤摘要】
一种用于窄带网络环境下的大文件上传方法


[0001]本专利技术属于文件上传
,具体涉及一种用于窄带网络环境下的大文件上传方法。

技术介绍

[0002]随着互联网技术向着工业和军事的快速发展,海量的大数据应用的逐渐普及,网络中的流量交互也越来越多,大文件及超大文件的高效稳定上传已然成为工业和军事上的日常需求。现有的浏览器实现的文件上传技术为脚本语言实现的流式上传技术,存在如下缺点:一是用户因为关闭浏览器或者使用终端突然断网或断电而导致文件上传非正常中断,即需要重新上传;二是上传不稳定,大文件(大于2GB)容易因为网络波动断线导致上传失败,甚至不支持大文件上传。三是限于浏览器的性能和终端的内存不同,大文件上传容易造成浏览器卡死无法响应的问题。

技术实现思路

[0003]专利技术目的:本专利技术所要解决的技术问题是针对现有技术的不足,提供一种用于窄带网络环境下的大文件上传方法,以提升浏览器上传的效率和稳定性,大大降低资源消耗,实现快速上传并保证文件的完整性。
[0004]为了解决上述技术问题,本专利技术公开了一种用于窄带网络环境下的大文件上传方法,包括以下步骤:
[0005]S1、将待上传大文件载入支持HTML5(HyperText Markup Language 5,超文本5.0)语言的浏览器,获得待上传大文件的第一文件摘要信息;
[0006]S2、将第一文件摘要信息上传至后台服务器,后台服务器查询后台数据库是否已经存在所述第一文件摘要信息,若存在则通知浏览器立即完成上传,若不存在则执行步骤S3。
[0007]S3、根据所连接的窄带网络的实时带宽、时延和丢包率状况,计算待上传大文件切片大小,并根据切片大小将待上传大文件实时切割成相应块文件;
[0008]S4、逐次将块文件通过HTTP/2协议上传到后台服务器,全部块文件传输完毕后进行块文件合并,完成大文件上传。
[0009]在一种实现方式中,在所述步骤S1中,获得待上传大文件的第一文件摘要信息包括使用浏览器HTML5协议中的BlobBuilder接口将待上传大文件转换为Blob对象,以所述Blob对象及待上传大文件的文件名作为特征值使用MD5(Message

Digest Algorithm 5,信息摘要算法5)编码进行加密,获得的加密值即为第一文件摘要信息。
[0010]在一种实现方式中,在所述步骤S3中,在大文件上传之前,根据所连接的窄带网络的实时带宽、时延和丢包率状况,得到窄带网络的实时网速情况,根据实时网速情况计算待上传大文件切片大小包括:当获得的实时网速大于200KB/s时,设定切片大小为2M;当获得的实时网速大于100KB/s且小于等于200KB/s时,设定切片大小为1M;当获得的实时网速大
于50KB/s且小于等于100KB/s时,设定切片大小为512K;当获得的实时网速小于等于50KB/s时,设定切片大小为256K。
[0011]在一种实现方式中,在所述步骤S3中,根据窄带网络条件下的实时带宽条件,将整个大文件切割成n个块文件,使用分块标记数组记录每个块文件编号和分块标记,所述分块标记标识块文件的上传状态,块文件编号依次为0~n

1,n为自然数;所述步骤S4包括:
[0012]S4

1,依次将块文件上传至后台服务器,块文件上传完成则将分块标记数组中对应块文件的分块标记为true,未完成上传则将分块标记置为false;
[0013]S4

2,后台服务器将块文件转换为二进制流文件,并将所述二进制流文件发送至文件服务器上;
[0014]S4

3,当该大文件的所有块文件均已上传完成,分块标记数组中所有块文件的分块标记均为true,后台服务器通知文件服务器将块文件的二进制流文件合并成完整的大文件,通过对所述完整的大文件和对应的文件名进行MD5算法处理,获得合并后大文件的第二文件摘要信息,并记录第二文件摘要信息到后台数据库中;
[0015]S4

4,后台服务器校验待上传大文件的第一文件摘要信息和合并后大文件的第二文件摘要信息,若两者相同,则返回浏览器大文件上传成功的信息;若两者不同,则返回大文件上传失败的信息,然后执行步骤S1,重新上传。
[0016]在一种实现方式中,在执行步骤S4的过程中,若大文件上传中途因为网络波动或其他原因中断时,分块标记数组值停止记录,保留分块标记数组中块文件上传记录。当相同大文件再次上传时,后台服务器检测分块标记数组中块文件上传记录,直接跳过已经上传的块文件,从未上传的块文件处继续执行步骤S4

1~步骤S4

4进行上传,从而实现大文件的断点续传。
[0017]在一种实现方式中,在执行步骤S4的过程中,若出现网络带宽在上传过程中一直处于不稳定状态,导致块文件上传超时或者失败,即分块标记数组中对应块文件的分块标记为false时,则回退该上传失败的块文件,重新执行步骤S3计算大文件切片大小,将待上传的大文件切割至相应块文件,再次执行步骤4上传,继而实现大文件的稳定上传。
[0018]在一种实现方式中,所述步骤S3中根据切片大小将待上传大文件实时切割成相应块文件使用浏览器插件Plupload进行切割。
[0019]有益效果:
[0020]第一,通过浏览器和后台程序的协同处理,将大文件上传的操作变得简答高效。第二,使用较新的HTTP/2协议,相较于HTTP/1.1协议传输速度更快,占用带宽更小,更方便实施断点续传等功能,极大减少了用户等待时间,提高了上传效率。
附图说明
[0021]下面结合附图和具体实施方式对本专利技术做更进一步的具体说明,本专利技术的上述和/或其他方面的优点将会变得更加清楚。
[0022]图1是根据本专利技术实施例所述的示例性系统架构图。
[0023]图2是根据本专利技术实施例所述的一种用于窄带网络环境下的大文件上传方法的流程图。
具体实施方式
[0024]为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本专利技术进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。
[0025]本申请提供的一种用于窄带网络环境下的大文件上传方法,可以应用于战术末端机动通信和工业物联网等窄带、不可靠的网络环境场景。
[0026]如图1所示,本申请实施例的系统架构包括浏览器、后台服务器、后台数据库和文件服务器。其中,浏览器支持HTML5语言,浏览器将大文件上传至后台服务器时通过HTTP/2协议上传,HTTP/2协议是HTTP(Hyper Text Transfer Protocol,超文本传输协议)协议自1999年HTTP1.1发布后的首个更新,主要在SPDY(An experimental protocol for a faster web,一种更快的Web协议本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于窄带网络环境下的大文件上传方法,其特征在于:包括如下步骤:S1、将待上传大文件载入支持HTML5语言的浏览器,获得待上传大文件的第一文件摘要信息;S2、将第一文件摘要信息上传至后台服务器,后台服务器查询后台数据库是否已经存在所述第一文件摘要信息,若存在则通知浏览器立即完成上传,若不存在则执行步骤S3;S3、根据所连接的窄带网络的实时带宽、时延和丢包率状况,计算待上传大文件切片大小,并根据切片大小将待上传大文件实时切割成相应块文件;S4、逐次将块文件通过HTTP/2协议上传到后台服务器,全部块文件传输完毕后进行块文件合并,完成大文件上传。2.根据权利要求1所述的一种用于窄带网络环境下的大文件上传方法,其特征在于:在所述步骤S1中,获得待上传大文件的第一文件摘要信息包括使用浏览器HTML5协议中的BlodBuilder接口将待上传大文件转换为Blob对象,以所述Blob对象及待上传大文件的文件名作为特征值使用MD5编码进行加密,获得的加密值即为第一文件摘要信息。3.根据权利要求1所述的一种用于窄带网络环境下的大文件上传方法,其特征在于:在所述步骤S3中,在大文件上传之前,根据所连接的窄带网络的实时带宽、时延和丢包率状况,得到窄带网络的实时网速情况,根据实时网速情况计算待上传大文件切片大小包括:当获得的实时网速大于200KB/s时,设定切片大小为2M;当获得的实时网速大于100KB/s且小于等于200KB/s时,设定切片大小为1M;当获得的实时网速大于50KB/s且小于等于100KB/s时,设定切片大小为512K;当获得的实时网速小于等于50KB/s,设定切片大小为256K。4.根据权利要求3所述的一种用于窄带网络环境下的大文件上传方法,其特征在于:在所述步骤S3中,根据窄带网络条件下的实时带宽条件,将整个大文件切割成n个块文件,使用分块标记数组记录每个块文件编号和分块标记,所述分块标记标识块文件的上传状态,块文件编号依次为0~n

1,n为自然数;所述步骤S4包括:S4

【专利技术属性】
技术研发人员:程庆汪敏朱勇马雷鸣刘鹏忠王震
申请(专利权)人:中国电子科技集团公司第二十八研究所
类型:发明
国别省市:

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

1