Web环境下的文件上传/下载方法及系统、服务器、客户端的制作方法

文档序号:9451545阅读:315来源:国知局
Web环境下的文件上传/下载方法及系统、服务器、客户端的制作方法
【技术领域】
[0001]本发明涉及互联网技术领域,具体涉及一种Web环境下的文件上传/下载方法、系统及服务器。
【背景技术】
[0002]随着互联网的发展,互联网中的资源越来越丰富,目前有很多专门的资源库,如网盘或云盘等,用户可向资源库上传文件,或从资源库下载文件。上传文件是指将文件传给服务器(或者云端),下载文件是指将服务器存储的文件下载到本地客户端。
[0003]现有技术提供的一种上传/下载文件的方式是利用客户端软件来实现,客户端软件可米用 TCP (Transmiss1n Control Protocol,传输控制协议)、FTP (File TransferProtocol,文件传输协议)等协议上传/下载文件,客户端软件能够较容易地控制整个上传/下载过程。但是,基于TCP、FTP或其它协议的方案的使用场景是受限制的,它容易被防火墙或网关拦截,导致上传/下载失败。
[0004]现有技术提供的另一种上传/下载文件的方式是利用浏览器来实现,浏览器主要采用HTTP (HyperText Transfer Protocol,超文本传输协议)上传/下载文件。在Web环境下,基于HTTP协议的方案比较容易穿透各种防火墙和网关,不容易被拦截。但是,由于浏览器有安全限制,通常难以直接读取文件内容,因此基于浏览器上传/下载文件的处理方式都是整文件上传/下载,在传输比较大的文件时,会导致超时、网络堵塞以及耗费网络流量等问题。

【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的Web环境下的文件上传/下载方法及系统、服务器、客户端。
[0006]根据本发明的一个方面,提供了一种Web环境下的文件上传方法,包括:
[0007]将包含文件标识的文件上传请求发送至服务器,用以请求与待上传的文件对应的校验文件;
[0008]接收服务器返回的所述校验文件,所述校验文件包括将文件分块处理后得到的各个文件块的标识、弱校验值以及强校验值;
[0009]根据所述校验文件包括的各个文件块的弱校验值和强校验值,对客户端存储的待上传的文件进行校验,得到内容相同的第一文件块和内容不同的第二文件块;
[0010]根据校验结果,向服务器反馈不同的文件内容,以供服务器根据所述不同的文件内容重构所述文件。
[0011]根据本发明的一个方面,还提供了一种Web环境下的文件上传方法,包括:
[0012]接收客户端发送的包含文件标识的文件上传请求;
[0013]根据所述文件标识查找到与待上传的文件对应的校验文件,所述校验文件包括将文件分块处理后得到的各个文件块的标识、弱校验值以及强校验值;
[0014]将所述校验文件返回给所述客户端,以供所述客户端根据所述校验文件包括的各个文件块的弱校验值和强校验值,对客户端存储的待上传的文件进行校验,得到内容相同的第一文件块和内容不同的第二文件块;
[0015]接收所述客户端反馈的不同的文件内容,根据所述不同的文件内容重构所述文件。
[0016]根据本发明的一个方面,提供了一种客户端,用于在Web环境下向服务器上传文件,其包括:
[0017]第一发送模块,适于将包含文件标识的文件上传请求发送至服务器,用以请求与待上传的文件对应的校验文件;
[0018]第一接收模块,适于接收服务器返回的所述校验文件,所述校验文件包括将文件分块处理后得到的各个文件块的标识、弱校验值以及强校验值;
[0019]校验模块,适于根据所述校验文件包括的各个文件块的弱校验值和强校验值,对客户端存储的待上传的文件进行校验,得到内容相同的第一文件块和内容不同的第二文件块;
[0020]所述第一发送模块还适于:根据校验结果,向服务器反馈不同的文件内容,以供服务器根据所述不同的文件内容重构所述文件。
[0021]根据本发明的一个方面,提供了一种服务器,用于在Web环境下接收客户端上传的文件,其包括:
[0022]第二接收模块,适于接收客户端发送的包含文件标识的文件上传请求;
[0023]查找模块,适于根据所述文件标识查找到与待上传的文件对应的校验文件,所述校验文件包括将文件分块处理后得到的各个文件块的标识、弱校验值以及强校验值;
[0024]第二发送模块,适于将所述校验文件返回给所述客户端,以供所述客户端根据所述校验文件包括的各个文件块的弱校验值和强校验值,对客户端存储的待上传的文件进行校验,得到内容相同的第一文件块和内容不同的第二文件块;
[0025]重构模块,适于根据所述第二接收模块接收到的所述不同的文件内容重构所述文件。
[0026]根据本发明的一个方面,提供了一种Web环境下的文件上传系统,包括:上述服务器以及客户端。
[0027]根据本发明的另一方面,提供了一种Web环境下的文件下载方法,包括:
[0028]接收客户端发送的用于下载文件的校验文件,所述校验文件包括将文件分块处理后得到的各个文件块的标识、弱校验值以及强校验值;
[0029]根据所述校验文件包括的各个文件块的弱校验值和强校验值,对服务器存储的待下载的文件进行校验,得到内容相同的第一文件块和内容不同的第二文件块;
[0030]根据校验结果,向客户端反馈不同的文件内容,以供客户端根据所述不同的文件内容重构所述文件。
[0031]根据本发明的另一方面,还提供了一种Web环境下的文件下载方法,包括:
[0032]向服务器发送用于下载文件的校验文件,所述校验文件包括将文件分块处理后得到的各个文件块的标识、弱校验值以及强校验值;以供所述服务器根据所述校验文件包括的各个文件块的弱校验值和强校验值,对服务器存储的待下载的文件进行校验,得到内容相同的第一文件块和内容不同的第二文件块;
[0033]接收所述服务器反馈的不同的文件内容,根据所述不同的文件内容重构所述文件。
[0034]根据本发明的另一方面,提供了一种服务器,用于在Web环境下向客户端提供下载文件,其包括:
[0035]第一接收模块,适于接收客户端发送的用于下载文件的校验文件,所述校验文件包括将文件分块处理后得到的各个文件块的标识、弱校验值以及强校验值;
[0036]校验模块,适于根据所述校验文件包括的各个文件块的弱校验值和强校验值,对服务器存储的待下载的文件进行校验,得到内容相同的第一文件块和内容不同的第二文件块;
[0037]第一发送模块,适于根据校验结果,向客户端反馈不同的文件内容,以供客户端根据所述不同的文件内容重构所述文件。
[0038]根据本发明的另一方面,提供了一种客户端,用于在Web环境下从服务器处下载文件,其包括:
[0039]第二发送模块,适于向服务器发送用于下载文件的校验文件,所述校验文件包括将文件分块处理后得到的各个文件块的标识、弱校验值以及强校验值;以供所述服务器根据所述校验文件包括的各个文件块的弱校验值和强校验值,对服务器存储的待下载的文件进行校验,得到内容相同的第一文件块和内容不同的第二文件块;
[0040]第二接收模块,适于接收所述服务器反馈的不同的文件内容;
[0041 ] 重构模块,适于根据所述不同的文件内容重构所述文件。
[0042]根据本发明的另一方面,提供了一种Web环境下的文件下载系统,包括:上述服务器及客户端。
[0043]本发明采用分块传输策略,尽可能的仅上传/下载内容不同的文件块,最大限度的减少网络流量,降低网络流量费用,降低经济成本;而且,服务器采用分块存储策略,可以有效减少服务端的存储空间,降低存储方面的经济成本。本发明方案在Web环境下采用HTTP协议传输文件,相比较利用客户端软件传输文件的方式,可穿透大部分防火墙,降低被拦截的风险,因而适用于多种场景。
[0044]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0045]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0046]图1示出了本发明提供的Web环境下的文件上传方法实施例一的流程图;
[0047]图2示出了本发明提供的Web环境下的文件上传方法实施例二的流程图;
[0048]图3示出了本发明提供的Web环境下的文件上传方法实施例三的流程图;
[0049]图4示出了本发明提供的Web环境下的文件上传方法实施例四的流程图;
[0050]图5示出了本发明提供的Web环境下的文件下载方法实施例一的流程图;
[0051]图6示出了本发明提供的Web环境下的文件下载方法实施例二的流程图;
[0052]图7示出了本发明提供的Web环境下的文件下载方法实施例三的流程图;
[0053]图8示出了本发明提供的Web环境下的文件下载方法实施例四的流程图;
[0054]图9示出了本发明提供的用于在Web环境下向服务器上传文件的客户端的实施例的功能框图;
[0055]图10示出了本发明提供的用于在Web环境下接收客户端上传的文件的服务器的实施例的功能框图;
[0056]图11示出了本发明提供的Web环境下的文件上传系统的实施例的功能框图;
[0057]图12示出了本发明提供的用于在Web环境下向客户端提供下载文件的服务器的实施例的功能框图;
[0058]图13示出了本发明提供的用于在Web环境下从服务器处下载文件的客户端的实施例的功能框图;
[0059]图14示出了本发明提供的Web环境下的文件下载系统的实施例的功能框图。
【具体实施方式】
[0060]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0061]本发明提供了一种Web环境下的文件上传/下载方案,在Web环境下,采用HTTP协议传输文件,相比较利用客户端软件传输文件的方式,本发明方案可穿透大部分防火墙,降低被拦截的风险,因而适用于多种场景。同时,为了避免超时、网络堵塞以及耗费网络流量等问题,本发明采用分块传输和存储策略,尽可能的仅上传/下载内容不同的文件块,最大限度的减少网络流量,并且有效地减少服务器的存储空间,降低存储方面的经济成本。
[0062]下面分别从文件上传和文件下载两方面描述本发明的技术方案,以下实施例以单个文件为例说明,所描述的通信过程均基于HTTP协议。
[0063]图1示出了本发明提供的Web环境下的文件上传方法实施例一的流程图。本方法是从客户端侧描述的文件上传方案,如图1所示,该方法包括如下步骤:
[0064]步骤S101,将包含文件标识的文件上传请求发送至服务器,用以请求与待上传的文件对应的校验文件。
[0065]在客户端侧有上传文件的需求时,客户端首先向服务器发送文件上传请求,该文件上传请求包含文件标识,如文件名称和/或文件名称MD5值、文件注册码等标识信息。服务器根据文件标识查找对应的校验文件。
[0066]步骤S102,接收服务器返回的校验文件,该校验文件包括将文件分块处理后得到的各个文件块的标识、弱校验值以及强校验值。
[0067]服务器返回的校验文件包含服务器对文件进行分块处理后的信息,这里客户端和服务器预先约定分块的长度作为预设值,如每个文件块的长度为K,服务器从头至尾按照长度K对文件进行分块,若最后一个文件块长度不足K,视为一个文件块。服务器为每个文件块设定唯一标识,例如以序号作为文件块的标识,并计算整个文件的校验值以及每个文件块的弱校验值和强校验值。
[0068]可选地,弱校验值可以为CRC-32值或Adler-32值,即通过CRC-32或Adler-32算法计算得到的校验值,这种弱校验算法具有匹配速度快的优势。强校验值可以为MD5值或SHA-1值,即通过MD5或SHA-1算法计算得到的校验值,这种强校验算法具有匹配精确度高的优势。本发明利用弱校验算法和强校验算法各自的优势,能在处理速度和计算准确度方面取得平衡。本发明弱校验值和强校验值不仅限于通过上述算法得到,还可以采用其它现有技术提供的校验算法,不再一一举例。
[0069]服务器将各个文件块的标识、弱校验值以及强校验值(可选还有整个文件的校验值)写入校验文件中,然后将校验文件返回给客户端。
[0070]步骤S103,根据校验文件包括的各个文件块的弱校验值和强校验值,对客户端存储的待上传的文件进行校验,得到内容相同的第一文件块和内容不同的第二文件块。
[0071]本步骤中,首先对客户端存储的待上传的文件计算以预设值为长度的文件块的弱校验值和强校验值,所述预设值为文件块的长度值,即K。本方法通过比对整个文件块的弱校验值和强校验值进行校验,具体地,对于每个文件块,通过如下子步骤进行比对:
[0072]子步骤S1031,判断校验文件中该文件块的弱校验值是否与客户端计算的文件块的弱校验值相同,若是,则执行步骤S1033 ;若否,则执行步骤S1032。
[0073]子步骤S
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1