文件上传方法、装置、系统以及客户端和服务器制造方法及图纸

技术编号:18951493 阅读:65 留言:0更新日期:2018-09-15 13:30
本发明专利技术公开了一种文件上传方法、装置、系统以及客户端和服务器,该文件上传方法包括:生成大文件上传请求,所述大文件上传请求包括数据区间字段,所述数据区间字段用于携带完整的数据区间信息;通过HTTP协议,以POST方式向服务器发送所述大文件上传请求,以上传所述大文件。由于大文件上传请求包括数据区间字段,数据区间字段用于携带完整的数据区间信息。因此,在需要做断点续传时,可以在不需要客户端上传SDK,不增加客户端的任何负担的情况下,提供让客户端在上传中断的时候继续从上次上传的位置开始上传的机制。

File uploading method, device, system, client and server

The invention discloses a file upload method, device, system, client and server. The file upload method includes: generating a large file upload request, the large file upload request includes a data interval field, the data interval field is used to carry complete data interval information, and the POST side through HTTP protocol. The server sends the large file upload request to the server to upload the large file. Because large file upload requests include data interval fields, data interval fields are used to carry complete data interval information. Therefore, when breakpoint continuation is required, a mechanism can be provided to allow the client to continue uploading from the location of the last upload without requiring the client to upload the SDK without increasing any burden on the client.

【技术实现步骤摘要】
文件上传方法、装置、系统以及客户端和服务器
本专利技术涉及文件传输
,尤其涉及一种文件上传方法、装置、系统以及客户端和服务器。
技术介绍
随着网络的高速发展,网民对互联网的要求越来越高,不再满足于原来的由互联网只是给用户呈现各种资讯内容,转而开始对互联网提出各种互动性的要求,例如上传头像、上传照片、上传附件等,传统站点对于此类普通的上传请求都比较容易处理,因为标准HTTP(HyperTextTransferProtocol,超文本传输协议)协议中的POST方法就可以满足需求。互联网时代还有另外一类应用非常广的需求,即视频需求,用户可能想把视频上传到服务器上去,实现随时随地在线播放的要求,又或者可能就只是想把一些占用本地空间的视频放到云存储的服务器里进行托管,在需要的时候再从云存储上下载回来。虽然标准HTTP协议里提供了用来向HTTP服务器进行上传的POST方法,但是由于HTTP协议本身就是一种无状态的应用层传输协议,因此在做大文件上传时,如果是使用传统表单上传的方式,就很难保证用户上传的成功率,因为目前并没有一种可靠的机制来帮助HTTP协议做大文件的上传,这根本就不是HTTP协议本身的职责,HTTP协议是为web应用而生的,文件的上传有专门的FTP(FileTransferProtocol,文件传输协议)协议,所以要在HTTP协议中实现大文件的上传就只有通过应用层的逻辑来保证上传的可靠性。因此,解决现有技术中大文件上传中存在的上述问题,是本领域亟待解决的问题。
技术实现思路
有鉴于此,本专利技术实施例所要解决的一个技术问题是:在做大文件上传时,由于HTTP本身的问题,很难保证用户上传的成功率的问题。本申请提供一种文件上传方法、装置、系统以及客户端和服务器。所述文件上传方法,用于客户端,包括:生成大文件上传请求,所述大文件上传请求包括数据区间字段,所述数据区间字段用于携带完整的数据区间信息。通过HTTP协议,以POST方式向服务器发送所述大文件上传请求,以上传所述大文件。可选地,所述方法还包括:接收服务器发送的断点续传的通知消息;向服务器发送获取所述大文件已上传的数据块的现场信息的查询请求,以请求服务器查询数据区间信息;所述查询请求包括数据区间字段,所述数据区间字段用于携带请求查询现场信息的标记符和完整的数据区间信息;接收服务器发送的查询响应消息,所述查询响应消息包括数据区间字段,所述数据区间字段用于携带数据区间信息;其中,服务器未完整接收所述大文件的数据时,所述数据区间信息表示已接收数据的数据区间信息;服务器完整接收所述大文件的数据时,所述数据区间信息表示完整接收数据的数据区间信息。可选地,所述数据区间信息表示已接收数据的数据区间信息时,所述方法还包括:根据所述数据区间信息,确定未成功发送的数据区间信息;向服务器发送所述未成功发送的数据区间信息所对应的大文件中的部分数据。可选地,所述方法还包括:向服务器发送所述大文件对应的第一校验值,以便服务器根据收到的所述大文件生成第二校验值,将所述第一校验值与所述第二校验值进行比对,根据比对结果确定上传是否成功。可选地,所述方法还包括:接收服务器发送的表示上传是否成功的上传结果。可选地,所述查询响应消息为HTTP308消息;所述表示完整接收数据的数据区间信息为缺省信息;所述数据区间字段为Content-Range字段。所述文件上传方法,用于服务器,包括:通过HTTP协议,以POST方式接收客户端发送的大文件上传请求。根据所述大文件上传请求,获取大文件,并写入存储空间。根据写入结果,生成现场信息;所述现场信息包括数据区间信息,未完整接收所述大文件的数据时,所述数据区间信息表示已接收数据的数据区间信息;完整接收数据时,所述数据区间信息表示完整接收所述大文件的数据的数据区间信息。可选地,所述方法还包括:在将大文件写入存储空间的过程进行时限监控。在时限超时时,向客户端发送断点续传的通知消息。接收客户端发送的获取所述大文件已上传的数据块的现场信息的查询请求。向客户端反馈查询响应消息,所述查询响应消息包括数据区间字段,所述数据区间字段用于携带数据区间信息;其中,服务器未完整接收所述大文件的数据时,所述数据区间信息表示已接收数据的数据区间信息;服务器完整接收所述大文件的数据时,所述数据区间信息表示完整接收数据的数据区间信息。可选地,所述方法还包括:接收客户端发送的所述大文件中的部分数据,所述大文件中的部分数据是由客户端根据确定出未成功发送的数据区间信息所对应发送的部分数据。可选地,所述方法还包括:接收客户端发送的所述大文件对应的第一校验值;根据收到的所述大文件生成第二校验值,将所述第一校验值与所述第二校验值进行比对,根据比对结果确定上传是否成功。可选地,所述方法还包括:向客户端发送表示上传是否成功的上传结果。可选地,所述查询响应消息为HTTP308消息;所述表示完整接收数据的数据区间信息为缺省信息。所述文件上传装置,用于客户端,包括:生成模块,用于生成大文件上传请求,所述大文件上传请求包括数据区间字段,所述数据区间字段用于携带完整的数据区间信息。第一发送模块,用于通过HTTP协议,以POST方式向服务器发送所述大文件上传请求,以上传所述大文件。所述文件上传装置,用于服务器,包括:第一接收模块,用于通过HTTP协议,以POST方式接收客户端发送的大文件上传请求。获取模块,用于根据所述大文件上传请求,获取大文件,并写入存储空间。生成模块,用于根据写入结果,生成现场信息;所述现场信息包括数据区间信息,未完整接收所述大文件的数据时,所述数据区间信息表示已接收数据的数据区间信息;完整接收数据时,所述数据区间信息表示完整接收所述大文件的数据的数据区间信息。所述客户端,包括上述任一项用于客户端的装置。所述服务器,包括上述任一项用于服务器的装置。所述系统,包括上述客户端和服务器。与现有技术相比,本专利技术实施例的文件上传方法、装置、系统以及客户端和服务器,实现了如下的有益效果:本专利技术实施例的上述技术方案,由于大文件上传请求包括数据区间字段,数据区间字段用于携带完整的数据区间信息。因此,在需要做断点续传时,可以在不需要客户端上传SDK,不增加客户端的任何负担的情况下,提供让客户端在上传中断的时候继续从上次上传的位置开始上传的机制。当然,实施本专利技术的任一产品必不特定需要同时达到以上所述的所有技术效果。下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。附图说明构成说明书的一部分的附图描述了本专利技术的实施例,并且连同描述一起用于解释本专利技术的原理。参照附图,根据下面的详细描述,可以更加清楚地理解本专利技术,其中:图1为本专利技术实施例的文件上传方法的步骤流程图。图2为本专利技术实施例的另一种文件上传方法的步骤流程图。图3为本专利技术实施例的文件上传方法的断点续传部分的一个流程图。图4为本专利技术实施例的另一种文件上传方法的步骤流程图。图5为本专利技术实施例的另一种文件上传方法的步骤流程图。图6为本专利技术实施例的文件上传方法中服务器接收上传数据的一个流程图。图7为本专利技术实施例的文件上传方法中大文件分块上传部分的一个流程图。图8为本专利技术实施例的另一种文件上传方法的步骤流程图。图9为本专利技术实施例的另一种文件上传方法的步骤流本文档来自技高网...

【技术保护点】
1.一种文件上传方法,用于客户端,其特征在于,包括:生成大文件上传请求,所述大文件上传请求包括数据区间字段,所述数据区间字段用于携带完整的数据区间信息;通过HTTP协议,以POST方式向服务器发送所述大文件上传请求,以上传所述大文件。

【技术特征摘要】
1.一种文件上传方法,用于客户端,其特征在于,包括:生成大文件上传请求,所述大文件上传请求包括数据区间字段,所述数据区间字段用于携带完整的数据区间信息;通过HTTP协议,以POST方式向服务器发送所述大文件上传请求,以上传所述大文件。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收服务器发送的断点续传的通知消息;向服务器发送获取所述大文件已上传的数据块的现场信息的查询请求,以请求服务器查询数据区间信息;所述查询请求包括数据区间字段,所述数据区间字段用于携带请求查询现场信息的标记符和完整的数据区间信息;接收服务器发送的查询响应消息,所述查询响应消息包括数据区间字段,所述数据区间字段用于携带数据区间信息;其中,服务器未完整接收所述大文件的数据时,所述数据区间信息表示已接收数据的数据区间信息;服务器完整接收所述大文件的数据时,所述数据区间信息表示完整接收数据的数据区间信息。3.根据权利要求2所述的方法,其特征在于,所述数据区间信息表示已接收数据的数据区间信息时,所述方法还包括:根据所述数据区间信息,确定未成功发送的数据区间信息;向服务器发送所述未成功发送的数据区间信息所对应的大文件中的部分数据。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:向服务器发送所述大文件对应的第一校验值,以便服务器根据收到的所述大文件生成第二校验值,将所述第一校验值与所述第二校验值进行比对,根据比对结果确定上传是否成功。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:接收服务器发送的表示上传是否成功的上传结果。6.根据权利要求2所述的方法,其特征在于,所述查询响应消息为HTTP308消息;所述表示完整接收数据的数据区间信息为缺省信息;所述数据区间字段为Content-Range字段。7.一种文件上传方法,用于服务器,其特征在于,包括:通过HTTP协议,以POST方式接收客户端发送的大文件上传请求;根据所述大文件上传请求,获取大文件,并写入存储空间;根据写入结果,生成现场信息;所述现场信息包括数据区间信息,未完整接收所述大文件的数据时,所述数据区间信息表示已接收数据的数据区间信息;完整接收数据时,所述数据区间信息表示完整接收所述大文件的数据的数据区间信息。8.根据权利要求7所述的方法,其特征在于,所述方法还包括...

【专利技术属性】
技术研发人员:石志杰
申请(专利权)人:暴风集团股份有限公司
类型:发明
国别省市:北京,11

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

1