本发明专利技术提供一种基于并发传输模式的大文件上传方法,属于计算机应用技术领域,本发明专利技术包括:文件解析模块、并发传输模块、分析纠正器、文件还原模块;客户端在文件解析模块将大文件读取转化为字节流并拆分为大小相同的多个字节流,并发传输模块向文件接收端并发发送这些字节流,文件接收端收到文件流后根据顺序标记通过文件还原模块将字节流重新组合还原成原来的文件。
【技术实现步骤摘要】
本专利技术涉及计算机应用
技术,尤其涉及。
技术介绍
文件的上传功能在基于B/S的开发模式中非常普遍。它允许客户端向服务器端上传文件,但对于大文件的上传却无能为力,比如:文件太大导致传输时间较长,甚至导致表单超时从而使上传失败。在云计算技术迅猛发展的今天,数据业务呈现出数据量大、文件操作频繁的趋势,传统的文件上传方式已经不能满足我们的需求。 目前,基于web方式的文件上传主要有两种方式:即采用HTTP协议和FTP协议实现1、采用HTTP协议实现文件上传在过去的Html中,表单不能实现文件的上传,这多少限制了一些网页的功能。RFC1867规范(即Html中实现基于表单的文件上传)对表单作出了扩展,增加了一个表单元素〈inputtype = file〉。通过使用这个元素,浏览器会自动生成一个输入框和一个按钮,输入框可供用户填写本地的文件名和路径名,按钮可以让浏览器打开一个文件选择框供用户选择文件。其上传过程如下:1)客户端用户选择要上传的文件2)服务器获得一个客户端向服务器发出的数据流3)分析上传的文件格式4)根据分析结果将多个文件依次输出服务器端的目标文件中;2、采用FTP协议实现多个文件的上传FTP协议是Internet上用来传送文件的协议,规定了 Internet上文件互相传送的标准。具体实现过程:1)与FTP服务器建立连接;2)初始化文件的传输方式,包括ASCII和BINARY两种方式;3)将文件输出到文件输入流中;4)输入流中的数据读入字节数组中;5)字节数组中的数据写入输出流(将数据写入到一个网络链接上)。 这样和源文件同名的一个文件就复制到了服务器端。 由以上两种方式我们可以看出利用HTTP协议上传文件中表单的超时问题会导致某些大文件传输失败;采用FTP协议实现多个文件的上传比较简单,容易实现。一般是编写的客户端的程序,但服务器端的安全设置会比较复杂。另外,FTP还有以下缺点:数据传输模式不合理、工作方式设计不合理、与防火墙工作不协调、密码安全策略不完善和传输效率低等,已经有学者提出文件传输协议(FTP)将会消亡的观点。
技术实现思路
基于以上分析,本专利技术提供了。 本专利技术的目的在于克服现有的技术的不足,提供,包括:文件解析模块、并发传输模块、文件还原模块。客户端在文件解析模块将大文件读取转化为字节流并拆分为大小相同的多个字节流,并发传输模块向文件接收端并发发送这些字节流,文件接收端收到文件流后根据顺序标记通过文件还原模块将字节流重新组合还原成原来的文件。 本专利技术是通过以下技术方案实现的:(O文件解析模块:I文件发送端读取目标文件内容(ASCII编码)为字节流A ;II将目标文件字节流拆分为若干个不大于100MB的字节流;III在每个字节流首尾添加开始和结束标记以及校验信息,并在首部添加此字节流在源文件字节流A中的序号;(2)并发传输模块:将各字节流内容并发传输到文件接收端;(3 )分析纠正器:通过字节流首尾的开始、结束标记以及校验信息验证该段数据的有效性,若有效则存储,若无效则发出请求该段数据的请求,直到传输完所有字节流数据;(4)文件还原模块:文件接收端接收各个字节流完成后,按照首部标识的顺序组合字节流,并保存为同格式的同名文件;本专利技术的有益效果是:将原大文件拆分为多个字节流,并发传输可以大幅提高大文件上传的效率,传输过程中的冗余校验功能可以保证文件上传的准确性,解决了大文件上传存在的效率低以及容易出错的问题。 弥补了传统文件上传方法串行传输速度慢的缺点,增加了字节流的校验机制提高上传效率与准确性,同时文件解析模块在文件发送端完成,大大减轻了文件接收端的压力,不论在大文件上传还是服务器综合利用方面均具有很高的技术价值。 【附图说明】 图1是文件上传示意图。 【具体实施方式】 下面参照附图,对本专利技术的内容以上传系统镜像ISO文件为例,采用文件解析、并发文件传输以及文件还原的步骤来描述这一结构的实现过程。 正如
技术实现思路
中所描述的,本专利技术中大文件上传方法主要包括:文件解析模块 (I)、并发传输模块(2 )、分析纠正器(3 )、文件还原模块(4 )。 基于并发传输模式的大文件上传方法设计结构包括:文件解析模块、并发传输模块、分析纠正器和文件还原模块,其中文件解析模块和并发传输模块位于文件发送端,分析纠正器和文件还原模块位于文件的接收端,当文件发送端发起文件上传请求之前,将本地待上传的ISO文件通过文件解析模块处理为若干个大小为100MB以下的字节流数据并在数据开始和结尾打上标记,通过并发传输将文件字节流数据提交至文件接收端,文件接收端接受文件字节流数据,根据数据首尾的校验信息判断数据是否正确,若正确则保存该字节流,若不正确则向文件接收端单独请求该段数据。待全部数据接收完成并校验正确则开始进入文件还原模块处理。 在文件还原模块的处理过程如下:将所有字节流数据根据数据头部的标识信息判断该字节流的位置,将所有字节流按顺序组合成一个完整的字节流,将此字节流写入到与发送的文件同名的文件中。至此,文件上传完成。 本专利技术提供了。客户端在文件解析模块将大文件读取转化为字节流并拆分为大小相同的多个字节流,并发传输模块向文件接收端并发发送这些字节流,文件接收端收到文件流后根据顺序标记通过文件还原模块将字节流重新组合还原成原来的文件。因此,本专利技术具有以下优点:1、将大文件拆分为多个字节流大大节省了大文件上传的时间;2、字符流首尾的分析校验机制提高了文件上传的准确性;3、整个上传过程对用户透明,方便操作;4、由于文件读取是在客户端进行的,大大减轻了服务器的压力,适用于多用户、高并发的情况。本文档来自技高网...
【技术保护点】
一种基于并发传输模式的大文件上传方法,其特征在于,包括:文件解析模块、并发传输模块、分析纠正器、文件还原模块;客户端在文件解析模块将大文件读取转化为字节流并拆分为大小相同的多个字节流,并发传输模块向文件接收端并发发送这些字节流,文件接收端收到文件流后根据顺序标记通过文件还原模块将字节流重新组合还原成原来的文件。
【技术特征摘要】
1.一种基于并发传输模式的大文件上传方法,其特征在于,包括:文件解析模块、并发传输模块、分析纠正器、文件还原模块; 客户端在文件解析模块将大文件读取转化为字节流并拆分为大小相同的多个字节流,并发传输模块向文件接收端并发发送这些字节流,文件接收端收到文件流后根据顺序标记通过文件还原模块将字节流重新组合还原成原来的文件。2.根据权利要求1所述的方法,其特征在于,所述的文件解析模块,文件发送端读取目标文件内容为字节流A,并将目标文件字节流拆分为若干个不大于10MB的字节流;在每个字节流首尾添加开始和结束标...
【专利技术属性】
技术研发人员:付正全,李锋,
申请(专利权)人:浪潮电子信息产业股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。