CN110247986A - 一种文件传输方法、装置及电子设备 - Google Patents
一种文件传输方法、装置及电子设备 Download PDFInfo
- Publication number
- CN110247986A CN110247986A CN201910579079.0A CN201910579079A CN110247986A CN 110247986 A CN110247986 A CN 110247986A CN 201910579079 A CN201910579079 A CN 201910579079A CN 110247986 A CN110247986 A CN 110247986A
- Authority
- CN
- China
- Prior art keywords
- file
- server
- fragment
- transmitted
- characteristic value
- 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
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]
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种文件传输方法、装置及电子设备,应用于多媒体技术领域,所述方法包括:判断待传输文件的大小是否大于预设阈值,如果是,将待传输文件按照预设分片大小进行切分,得到多个分片;按照多个分片的顺序,将多个分片逐个上传至服务端;针对每个分片执行以下步骤:步骤A,在上传该分片至服务端之后,接收服务端返回的针对该分片的服务端特征值;步骤B,将本地计算的该分片的客户端特征值与服务端特征值进行比较,如果不相等,重新将该分片上传至服务端,返回步骤A,直至将所有分片上传至服务端;步骤C,如果相等,且存在未上传至服务端的分片,将下一个分片上传至服务端,返回步骤A。本发明可降低重新上传文件时的上传成本。
Description
技术领域
本发明涉及多媒体技术领域,特别是涉及一种文件传输方法、装置及电子设备。
背景技术
在互联网应用中,用户可以将多媒体文件(例如,视频和图片等)上传至服务端,上传完成后用户可以进行一致性校验,以确认上传至服务端的文件是否准确。相关技术中,服务端接收到文件之后,可以对文件做特征值计算,将计算得到的特征值发送至客户端。用户将接收到的特征值与本地计算的特征值进行比较,若相同,确定用户上传的文件是准确的;若不相同,确定用户上传的文件发生损坏。此时,可以将文件重新上传。然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:无法一次上传即可确保文件的准确性,重新上传文件时上传成本较高。
发明内容
本发明实施例的目的在于提供一种文件传输方法、装置及电子设备,以使一次上传即可确保文件上传的准确性,并降低重新上传文件时的上传成本。具体技术方案如下:
第一方面,本发明实施例提供了一种文件传输方法,所述方法包括:
获取本地待传输文件;
根据所述待传输文件的文件信息判断所述待传输文件的大小是否大于预设阈值,如果所述待传输文件的大小大于所述预设阈值,将所述待传输文件按照预设分片大小进行切分,得到多个分片;
按照所述多个分片的顺序,将所述多个分片逐个上传至服务端,针对每个分片,执行以下步骤:
步骤A,在上传该分片至所述服务端之后,接收所述服务端返回的针对该分片的服务端特征值;
步骤B,将本地计算的该分片的客户端特征值与所述服务端特征值进行比较,如果所述客户端特征值与所述服务端特征值不相等,重新将该分片上传至所述服务端,返回步骤A;
步骤C,如果所述客户端特征值与所述服务端特征值相等,且存在未上传至所述服务端的分片,将下一个分片上传至所述服务端,返回步骤A,直至将所有分片上传至所述服务端。
可选的,在所述步骤C中还包括:
如果所述客户端特征值与所述服务端特征值相等,将所述客户端特征值与所述服务端特征值存储至本地;
所述文件传输方法还包括:
在将所有分片上传至所述服务端之后,按照所述多个分片的顺序,将本地存储的所有分片的客户端特征值与服务端特征值进行比较;
如果每个分片的客户端特征值与服务端特征值均相等,确定已将所述待传输文件准确上传至所述服务端。
可选的,针对每个分片,所述客户端上传该分片至所述服务端和在本地计算该分片的客户端特征值是同时进行的。
可选的,在所述根据所述文件信息判断所述待传输文件的大小是否大于预设阈值之后,所述方法还包括:
如果所述待传输文件的大小不大于所述预设阈值,将所述待传输文件上传至所述服务端;
接收所述服务端返回的针对所述待传输文件的服务端文件特征值,将本地计算的所述待传输文件的客户端文件特征值与所述服务端文件特征值进行比较;
如果所述客户端文件特征值与所述服务端文件特征值不相等,重新将所述待传输文件上传至所述服务端。
可选的,所述获取本地待传输文件,包括:
通过Web技术获取本地待传输文件;
所述将所述待传输文件按照预设分片大小进行切分,包括:
通过Web技术将所述待传输文件按照预设分片大小进行切分。
可选的,所述文件信息包括:文件路径、文件类型、文件大小和文件的数据值。
第二方面,本发明实施例提供了一种文件传输方法,应用于服务端,所述方法包括:
依次接收客户端上传的多个分片,所述多个分片是所述客户端将待传输文件按照预设分片大小进行切分得到的;
针对每个分片,在接收到该分片后,对该分片进行特征值计算,得到该分片的特征值,将该分片的特征值发送至所述客户端。
第三方面,本发明实施例提供了一种文件传输装置,应用于客户端,所述装置包括:
待传输文件获取模块,用于获取本地待传输文件;
判断模块,用于根据所述待传输文件的文件信息判断所述待传输文件的大小是否大于预设阈值;
待传输文件分片模块,用于如果所述待传输文件的大小大于所述预设阈值,将所述待传输文件按照预设分片大小进行切分,得到多个分片;
分片上传模块,用于按照所述多个分片的顺序,将所述多个分片逐个上传至服务端;
循环模块,用于执行步骤A,针对每个分片,在上传该分片至所述服务端之后,接收所述服务端返回的针对该分片的服务端特征值;
步骤B,将本地计算的该分片的客户端特征值与所述服务端特征值进行比较,如果所述客户端特征值与所述服务端特征值不相等,重新将该分片上传至所述服务端,返回步骤A;
步骤C,如果所述客户端特征值与所述服务端特征值相等,且存在未上传至所述服务端的分片,将下一个分片上传至所述服务端,返回步骤A,直至将所有分片上传至所述服务端。
可选的,所述循环模块包括:
特征值存储单元,用于如果所述客户端特征值与所述服务端特征值相等,将所述客户端特征值与所述服务端特征值存储至本地;
所述装置还包括:
特征值比较模块,用于在将所有分片上传至所述服务端之后,按照所述多个分片的顺序,将本地存储的所有分片的客户端特征值与服务端特征值进行比较;
确定准确上传模块,用于如果每个分片的客户端特征值与服务端特征值均相等,确定已将所述待传输文件准确上传至所述服务端。
可选的,所述客户端上传该分片至所述服务端和在本地计算该分片的客户端特征值是同时进行的。
可选的,本发明实施例的文件传输装置,还包括:
待传输文件上传模块,用于如果所述待传输文件的大小不大于所述预设阈值,将所述待传输文件上传至所述服务端;
文件特征值比较模块,用于接收所述服务端返回的针对所述待传输文件的服务端文件特征值,将本地计算的所述待传输文件的客户端文件特征值与所述服务端文件特征值进行比较;
重传模块,用于如果所述客户端文件特征值与所述服务端文件特征值不相等,重新将所述待传输文件上传至所述服务端。
可选的,所述待传输文件获取模块,具体用于通过Web技术获取本地待传输文件;
所述待传输文件分片模块,具体用于通过Web技术将所述待传输文件按照预设分片大小进行切分。
可选的,所述文件信息包括:文件路径、文件类型、文件大小和文件的数据值。
第四方面,本发明实施例提供了一种文件传输装置,应用于服务端,所述装置包括:
接收模块,用于依次接收客户端上传的多个分片,所述多个分片是所述客户端将待传输文件按照预设分片大小进行切分得到的;
特征值发送模块,用于针对每个分片,在接收到该分片后,对该分片进行特征值计算,得到该分片的特征值,将该分片的特征值发送至所述客户端。
第五方面,本发明实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述任一所述的客户端侧的文件传输方法的步骤。
第六方面,本发明实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述任一所述的服务端侧的文件传输方法的步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的客户端侧的文件传输方法的步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的服务端侧的文件传输方法的步骤。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的客户端侧的文件传输方法的步骤。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的服务端侧的文件传输方法的步骤。
本发明实施例提供的文件传输方法、装置及电子设备,客户端在向服务端上传待传输文件时,如果待传输文件的大小大于预设阈值,将待传输文件切分为多个分片后按照多个分片的顺序逐个上传,在将每个分片上传至服务端后,服务端计算并返回该分片的服务端特征值,如果客户端计算的客户端特征值与服务端特征值不相等,则重新将该分片上传至服务端,否则,将下一个分片上传至服务端,直至将所有分片上传至服务端,使得传输过程中服务端接收到的每个分片是准确的。本发明实施例中,如果传输过程中发生文件损坏,重新上传部分分片即可,可以避免重新上传整个文件的问题,降低了重新上传文件时的上传成本。因此,对于整个文件,一次上传即可确保文件上传的准确性。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例的文件传输方法的一种流程图;
图2为本发明实施例的文件传输方法的另一种流程图;
图3为本发明实施例的文件传输方法的另一种流程图;
图4为本发明实施例的文件传输装置的一种结构图;
图5为本发明实施例的文件传输装置的另一种结构图;
图6为本发明实施例的电子设备的结构图;
图7为本发明实施例的电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
为了解决在传输大文件发生错误时,重新传输该大文件成本较高的问题,本发明实施例提供了一种文件传输方法、装置及电子设备,以降低重新上传文件时的上传成本。
下面首先对本发明实施例所提供的文件传输方法进行详细介绍。
参见图1,图1为本发明实施例的文件传输方法的一种流程图,应用于客户端,包括以下步骤:
S101,获取本地待传输文件。
S102,根据待传输文件的文件信息判断待传输文件的大小是否大于预设阈值,如果是,执行S103。
S103,将待传输文件按照预设分片大小进行切分,得到多个分片。
S104,按照多个分片的顺序,将多个分片逐个上传至服务端。
S105,针对每个分片,在上传该分片至服务端之后,接收服务端返回的针对该分片的服务端特征值,将本地计算的该分片的客户端特征值与服务端特征值进行比较。
S106,如果客户端特征值与服务端特征值不相等,重新将该分片上传至服务端,返回S105。
S107,如果客户端特征值与服务端特征值相等,且存在未上传至服务端的分片,将下一个分片上传至服务端,返回S105。
S108,如果客户端特征值与服务端特征值相等,且不存在未上传至服务端的分片,流程结束。
上述图1实施例的有益效果在于,客户端在向服务端上传待传输文件时,如果待传输文件的大小大于预设阈值,将待传输文件切分为多个分片后按照多个分片的顺序逐个上传,在将每个分片上传至服务端后,服务端计算并返回该分片的服务端特征值,如果客户端计算的客户端特征值与服务端特征值不相等,则重新将该分片上传至服务端,否则,将下一个分片上传至服务端,使得传输过程中服务端接收到的每个分片是准确的。本发明实施例中,如果传输过程中发生文件损坏,重新上传部分分片即可,可以避免重新上传整个文件的问题,降低了重新上传文件时的上传成本。因此,对于整个文件,一次上传即可确保文件上传的准确性。
参见图2,图2为本发明实施例的文件传输方法的另一种流程图,应用于客户端,包括以下步骤:
S201,通过Web技术获取本地待传输文件。
本发明实施例中,待传输文件指的是客户端本地存储的将要上传至服务端的文件,可以是视频或图片等。Web技术指的是开发互联网应用的技术总称,一般包括Web服务端技术和Web客户端技术,本步骤中的Web技术指的是Web客户端技术。Web技术属于现有技术,在此不再详细说明。
S202,根据待传输文件的文件信息判断待传输文件的大小是否大于预设阈值。如果是,执行S203;如果否,执行S211。
具体的,待传输文件的文件信息包括:文件路径、文件类型、文件大小和文件的数据值。文件路径指的是待传输文件在客户端所存放的路径,根据文件路径可以对该待传输文件进行读取操作,文件类型指的是文件的格式,文件的数据值指的是文件中的具体数据值,根据文件大小可以判断待传输文件的大小是否大于预设阈值。预设阈值是根据经验设置的值,例如,可以是30M、50M等,在此不做限定。这样,如果待传输文件的大小大于预设阈值,可以确定该待传输文件是较大文件,执行S203。如果待传输文件的大小不大于预设阈值,可以确定该待传输文件不是较大文件,执行S211,即可以直接将待传输文件上传至服务端。
S203,通过Web技术将待传输文件按照预设分片大小进行切分,得到多个分片。
具体的,若待传输文件是较大文件,直接传输大文件发生文件损坏时,如果重新传输较大文件,那么,将导致传输成本较高。因此,本发明实施例中,可以通过Web技术将待传输文件按照预设分片大小进行切分,预设分片大小是每个分片的最大值,例如,如果待传输文件为100M,预设分片大小可以为10M、20M等,若预设分片大小为10M,待传输文件的前10M个字节,即为第一个分片,待传输文件的11M~20M个字节,即为第二个分片,以此类推,这样,可以得到多个分片。
S204,按照多个分片的顺序,将多个分片逐个上传至服务端。
可以看出,本发明实施例中待传输文件的多个分片是有一定顺序的,可以按照多个分片的顺序,将多个分片逐个上传至服务端。首先可以将第一个分片上传至服务端,执行S205~S208。S208中将上传第二个分片,执行S205~S208,以此类推。
S205,在上传该分片至服务端之后,接收服务端返回的针对该分片的服务端特征值,将本地计算的该分片的客户端特征值与服务端特征值进行比较。
具体的,在上传每个分片至服务端之后,服务端可以计算该分片的特征值,得到服务端特征值。客户端本地也可以计算该分片的特征值,得到客户端特征值。客户端可以将客户端特征值与服务端特征值进行比较,以确定上传的分片是否准确。当然,服务端所使用的计算方法和客户端所使用的计算方法是相同的,例如,服务端和客户端可以分别通过哈希算法(例如,MD5算法、MD4算法等)得到该分片的服务端哈希值和客户端哈希值,客户端可以对服务端哈希值和客户端哈希值进行比较。
可选的,针对每个分片,客户端上传该分片至服务端和在本地计算该分片的客户端特征值是同时进行的。也就是说,客户端在上传该分片至服务端的同时,可以在本地计算该分片的客户端特征值。这样,客户端接收到服务端返回的服务端特征值之后,直接对客户端特征值与服务端特征值进行比较,可以缩短下一个分片上传至服务端的时间,从而缩短所有分片上传至服务端的时间。
S206,如果客户端特征值与服务端特征值不相等,重新将该分片上传至服务端,返回S205。
本发明实施例中,如果客户端特征值与服务端特征值不相等,表明传输过程中存在数据丢失的情况,导致服务端接收到的分片与本地上传的分片不一致,那么,可以重新将该分片上传至服务端,返回S205。如果客户端特征值与服务端特征值仍然不相等,那么,继续重新上传该分片,直至客户端特征值与服务端特征值相等。
S207,如果客户端特征值与服务端特征值相等,将客户端特征值与服务端特征值存储至本地。
本发明实施例中,如果客户端特征值与服务端特征值相等,表明客户端上传的分片与服务端接收的分片是相同的,也就是在上传分片时没有发生损坏。那么,可以将客户端特征值与服务端特征值存储至本地,存储时可以将客户端特征值与服务端特征值分开存储,例如,可以将客户端特征值和服务端特征值存储在程序内存中,以数组的数据结构存储。
S208,如果存在未上传至服务端的分片,将下一个分片上传至服务端,返回S205。
本发明实施例中,每执行完一个分片,如果存在未上传至服务端的分片,将下一个分片上传至服务端,直至将所有分片上传至服务端。将所有分片上传至服务端之后,可以向服务端发送上传完成的消息,以通知服务端待传输文件已上传完成。
S209,在将所有分片上传至服务端之后,按照多个分片的顺序,将本地存储的所有分片的客户端特征值与服务端特征值进行比较。
具体的,在通过上述步骤上传所有分片之后,可以得到所有分片的客户端特征值和服务端特征值。可以按照多个分片的顺序,将记录的所有客户端特征值和服务端特征值进行一一对比二次确认,以确保整个待传输文件的完整一致性。
S210,如果每个分片的客户端特征值与服务端特征值均相等,确定已将待传输文件准确上传至服务端。
本发明实施例中,如果每个分片的客户端特征值与服务端特征值均相等,表示客户端上传的所有分片和服务端接收的所有分片都是完全一致的,这样,可以确定客户端已将待传输文件准确上传至服务端。
S211,将待传输文件上传至服务端,接收服务端返回的针对待传输文件的服务端文件特征值,将本地计算的待传输文件的客户端文件特征值与服务端文件特征值进行比较;如果客户端文件特征值与服务端文件特征值不相等,重新将待传输文件上传至服务端。
本发明实施例中,如果待传输文件的大小不大于预设阈值,可以直接将待传输文件上传至服务端。之后,服务端计算待传输文件的服务端文件特征值,并将服务端文件特征值返回给客户端。客户端将本地计算的客户端文件特征值与服务端文件特征值进行比较,如果相等,表示待传输文件已准确上传至服务端;否则,表示文件发生损坏,客户端可以重新将待传输文件上传至服务端。
图2所示实施例的有益效果在于,客户端在向服务端上传待传输文件时,如果待传输文件的大小大于预设阈值,通过Web技术将待传输文件按照预设分片大小进行切分,得到多个分片,按照多个分片的顺序逐个上传,在将每个分片上传至服务端后,服务端计算并返回该分片的服务端特征值,如果客户端计算的客户端特征值与服务端返回的服务端特征值不相等,则重新将该分片上传至服务端,否则,将下一个分片上传至服务端,使得传输过程中服务端接收到的每个分片是准确的。另外,客户端上传每个分片至服务端和计算该分片的客户端特征值可以是同时进行的,这样,可以缩短待传输文件上传至服务端的时间。如果待传输文件不大于预设阈值,可以直接将待传输文件上传至服务端。本发明在传输大文件时,在传输过程中发生损坏时,重新上传损坏的分片即可,可以避免重新上传整个文件的问题,降低了重新上传文件时的上传成本。对于整个文件,尤其是超大文件,重新上传分片的成本与重新上传整个文件的成本相比,可以忽略不计,即一次上传即可确保文件上传的准确性。在将所有分片上传至服务端之后,将记录的所有客户端特征值和服务端特征值进行一一对比二次确认,可以确保整个待传输文件的完整一致性。
参见图3,图3为本发明实施例的文件传输方法的另一种流程图,应用于服务端,包括以下步骤:
S301,依次接收客户端上传的多个分片,多个分片是客户端将待传输文件按照预设分片大小进行切分得到的。
本发明实施例中,客户端在向服务端上传待传输文件时,可以将待传输文件按照预设分片大小进行切分,得到多个分片。由于得到的多个分片是有顺序的,客户端可以依次上传多个分片,相应地,服务端可以依次一个一个接收多个分片。
S302,针对每个分片,在接收到该分片后,对该分片进行特征值计算,得到该分片的特征值,将该分片的特征值发送至客户端。
具体的,服务端每接收一个分片,即可对该分片进行特征值计算,得到该分片的特征值,将该分片的特征值发送至客户端。这样,可以使客户端根据该特征值确定上传分片的准确性。
上述图3实施例的有益效果在于,服务端接收到客户端上传的每个分片后,可以计算该分片的特征值,并将该分片的特征值发送至客户端,使客户端根据该特征值确定上传分片的准确性。在传输过程中发生损坏时,重新上传损坏的分片即可,可以避免重新上传整个文件的问题,降低了重新上传文件时的上传成本。
相应于上述方法实施例,本发明实施例还提供了一种文件传输装置,参见图4,图4为本发明实施例的文件传输装置的一种结构图,应用于客户端,包括:
待传输文件获取模块401,用于获取本地待传输文件;
判断模块402,用于根据待传输文件的文件信息判断待传输文件的大小是否大于预设阈值;
待传输文件分片模块403,用于如果待传输文件的大小大于预设阈值,将待传输文件按照预设分片大小进行切分,得到多个分片;
分片上传模块404,用于按照多个分片的顺序,将多个分片逐个上传至服务端;
循环模块405,用于执行步骤A,针对每个分片,在上传该分片至服务端之后,接收服务端返回的针对该分片的服务端特征值;
步骤B,将本地计算的该分片的客户端特征值与服务端特征值进行比较,如果客户端特征值与服务端特征值不相等,重新将该分片上传至服务端,返回步骤A;
步骤C,如果客户端特征值与服务端特征值相等,且存在未上传至服务端的分片,将下一个分片上传至服务端,返回步骤A,直至将所有分片上传至服务端。
可选的,循环模块包括:
特征值存储单元,用于如果客户端特征值与服务端特征值相等,将客户端特征值与服务端特征值存储至本地;
本发明实施例的文件传输装置还包括:
特征值比较模块,用于在将所有分片上传至服务端之后,按照多个分片的顺序,将本地存储的所有分片的客户端特征值与服务端特征值进行比较;
确定准确上传模块,用于如果每个分片的客户端特征值与服务端特征值均相等,确定已将待传输文件准确上传至服务端。
可选的,客户端上传该分片至服务端和在本地计算该分片的客户端特征值是同时进行的。
可选的,本发明实施例的文件传输装置,还包括:
待传输文件上传模块,用于如果待传输文件的大小不大于预设阈值,将待传输文件上传至服务端;
文件特征值比较模块,用于接收服务端返回的针对待传输文件的服务端文件特征值,将本地计算的待传输文件的客户端文件特征值与服务端文件特征值进行比较;
重传模块,用于如果客户端文件特征值与服务端文件特征值不相等,重新将待传输文件上传至服务端。
可选的,待传输文件获取模块,具体用于通过Web技术获取本地待传输文件;待传输文件分片模块,具体用于通过Web技术将待传输文件按照预设分片大小进行切分。
可选的,文件信息包括:文件路径、文件类型、文件大小和文件的数据值。
本发明实施例的文件传输装置,客户端在向服务端上传待传输文件时,如果待传输文件的大小大于预设阈值,将待传输文件切分为多个分片后按照多个分片的顺序逐个上传,在将每个分片上传至服务端后,服务端计算并返回该分片的服务端特征值,如果客户端计算的客户端特征值与服务端特征值不相等,则重新将该分片上传至服务端,否则,将下一个分片上传至服务端,使得传输过程中服务端接收到的每个分片是准确的。本发明实施例中,如果传输过程中发生文件损坏,重新上传部分分片即可,可以避免重新上传整个文件的问题,降低了重新上传文件时的上传成本。因此,对于整个文件,一次上传即可确保文件上传的准确性。
参见图5,图5为本发明实施例的文件传输装置的另一种结构图,应用于服务端,包括:
接收模块501,用于依次接收客户端上传的多个分片,多个分片是客户端将待传输文件按照预设分片大小进行切分得到的;
特征值发送模块502,用于针对每个分片,在接收到该分片后,对该分片进行特征值计算,得到该分片的特征值,将该分片的特征值发送至客户端。
本发明实施例的文件传输装置,服务端接收到客户端上传的每个分片后,可以计算该分片的特征值,并将该分片的特征值发送至客户端,使客户端根据该特征值确定上传分片的准确性。在传输过程中发生损坏时,重新上传损坏的分片即可,可以避免重新上传整个文件的问题,降低了重新上传文件时的上传成本。
本发明实施例还提供了一种电子设备,参见图6,图6为本发明实施例的电子设备的结构图,包括:处理器601、通信接口602、存储器603和通信总线604,其中,处理器601、通信接口602、存储器603通过通信总线604完成相互间的通信;
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现上述实施例中任一客户端侧的文件传输方法的步骤。
本发明实施例还提供了一种电子设备,参见图7,图7为本发明实施例的电子设备的结构图,包括:处理器701、通信接口702、存储器703和通信总线704,其中,处理器701、通信接口702、存储器703通过通信总线704完成相互间的通信;
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现上述实施例中任一服务端侧的文件传输方法的步骤。
需要说明的是,上述电子设备提到的通信总线604和通信总线704可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。通信总线604和通信总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图6和图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口602和通信接口702用于上述电子设备与其他设备之间的通信。
存储器603和存储器703可以包括RAM(Random Access Memory,随机存取存储器),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器603和存储器703还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器601和处理器701可以是通用处理器,包括:CPU(CentralProcessing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application SpecificIntegrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一客户端侧的文件传输方法的步骤。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一服务端侧的文件传输方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一客户端侧的文件传输方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一服务端侧的文件传输方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务端或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务端或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务端、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置及电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (16)
1.一种文件传输方法,其特征在于,应用于客户端,所述方法包括:
获取本地待传输文件;
根据所述待传输文件的文件信息判断所述待传输文件的大小是否大于预设阈值,如果所述待传输文件的大小大于所述预设阈值,将所述待传输文件按照预设分片大小进行切分,得到多个分片;
按照所述多个分片的顺序,将所述多个分片逐个上传至服务端,针对每个分片,执行以下步骤:
步骤A,在上传该分片至所述服务端之后,接收所述服务端返回的针对该分片的服务端特征值;
步骤B,将本地计算的该分片的客户端特征值与所述服务端特征值进行比较,如果所述客户端特征值与所述服务端特征值不相等,重新将该分片上传至所述服务端,返回步骤A;
步骤C,如果所述客户端特征值与所述服务端特征值相等,且存在未上传至所述服务端的分片,将下一个分片上传至所述服务端,返回步骤A,直至将所有分片上传至所述服务端。
2.根据权利要求1所述的文件传输方法,其特征在于,在所述步骤C中还包括:
如果所述客户端特征值与所述服务端特征值相等,将所述客户端特征值与所述服务端特征值存储至本地;
所述文件传输方法还包括:
在将所有分片上传至所述服务端之后,按照所述多个分片的顺序,将本地存储的所有分片的客户端特征值与服务端特征值进行比较;
如果每个分片的客户端特征值与服务端特征值均相等,确定已将所述待传输文件准确上传至所述服务端。
3.根据权利要求1或2所述的文件传输方法,其特征在于,针对每个分片,所述客户端上传该分片至所述服务端和在本地计算该分片的客户端特征值是同时进行的。
4.根据权利要求1或2所述的文件传输方法,其特征在于,在所述根据所述文件信息判断所述待传输文件的大小是否大于预设阈值之后,所述方法还包括:
如果所述待传输文件的大小不大于所述预设阈值,将所述待传输文件上传至所述服务端;
接收所述服务端返回的针对所述待传输文件的服务端文件特征值,将本地计算的所述待传输文件的客户端文件特征值与所述服务端文件特征值进行比较;
如果所述客户端文件特征值与所述服务端文件特征值不相等,重新将所述待传输文件上传至所述服务端。
5.根据权利要求1所述的文件传输方法,其特征在于,所述获取本地待传输文件,包括:
通过Web技术获取本地待传输文件;
所述将所述待传输文件按照预设分片大小进行切分,包括:
通过Web技术将所述待传输文件按照预设分片大小进行切分。
6.根据权利要求1所述的文件传输方法,其特征在于,所述文件信息包括:文件路径、文件类型、文件大小和文件的数据值。
7.一种文件传输方法,其特征在于,应用于服务端,所述方法包括:
依次接收客户端上传的多个分片,所述多个分片是所述客户端将待传输文件按照预设分片大小进行切分得到的;
针对每个分片,在接收到该分片后,对该分片进行特征值计算,得到该分片的特征值,将该分片的特征值发送至所述客户端。
8.一种文件传输装置,其特征在于,应用于客户端,所述装置包括:
待传输文件获取模块,用于获取本地待传输文件;
判断模块,用于根据所述待传输文件的文件信息判断所述待传输文件的大小是否大于预设阈值;
待传输文件分片模块,用于如果所述待传输文件的大小大于所述预设阈值,将所述待传输文件按照预设分片大小进行切分,得到多个分片;
分片上传模块,用于按照所述多个分片的顺序,将所述多个分片逐个上传至服务端;
循环模块,用于执行步骤A,针对每个分片,在上传该分片至所述服务端之后,接收所述服务端返回的针对该分片的服务端特征值;
步骤B,将本地计算的该分片的客户端特征值与所述服务端特征值进行比较,如果所述客户端特征值与所述服务端特征值不相等,重新将该分片上传至所述服务端,返回步骤A;
步骤C,如果所述客户端特征值与所述服务端特征值相等,且存在未上传至所述服务端的分片,将下一个分片上传至所述服务端,返回步骤A,直至将所有分片上传至所述服务端。
9.根据权利要求8所述的文件传输装置,其特征在于,所述循环模块包括:
特征值存储单元,用于如果所述客户端特征值与所述服务端特征值相等,将所述客户端特征值与所述服务端特征值存储至本地;
所述装置还包括:
特征值比较模块,用于在将所有分片上传至所述服务端之后,按照所述多个分片的顺序,将本地存储的所有分片的客户端特征值与服务端特征值进行比较;
确定准确上传模块,用于如果每个分片的客户端特征值与服务端特征值均相等,确定已将所述待传输文件准确上传至所述服务端。
10.根据权利要求8或9所述的文件传输装置,其特征在于,所述客户端上传该分片至所述服务端和在本地计算该分片的客户端特征值是同时进行的。
11.根据权利要求8或9所述的文件传输装置,其特征在于,所述装置还包括:
待传输文件上传模块,用于如果所述待传输文件的大小不大于所述预设阈值,将所述待传输文件上传至所述服务端;
文件特征值比较模块,用于接收所述服务端返回的针对所述待传输文件的服务端文件特征值,将本地计算的所述待传输文件的客户端文件特征值与所述服务端文件特征值进行比较;
重传模块,用于如果所述客户端文件特征值与所述服务端文件特征值不相等,重新将所述待传输文件上传至所述服务端。
12.根据权利要求8所述的文件传输装置,其特征在于,所述待传输文件获取模块,具体用于通过Web技术获取本地待传输文件;
所述待传输文件分片模块,具体用于通过Web技术将所述待传输文件按照预设分片大小进行切分。
13.根据权利要求8所述的文件传输装置,其特征在于,所述文件信息包括:文件路径、文件类型、文件大小和文件的数据值。
14.一种文件传输装置,其特征在于,应用于服务端,所述装置包括:
接收模块,用于依次接收客户端上传的多个分片,所述多个分片是所述客户端将待传输文件按照预设分片大小进行切分得到的;
特征值发送模块,用于针对每个分片,在接收到该分片后,对该分片进行特征值计算,得到该分片的特征值,将该分片的特征值发送至所述客户端。
15.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1~6任一所述的文件传输方法的步骤。
16.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求7所述的文件传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910579079.0A CN110247986A (zh) | 2019-06-28 | 2019-06-28 | 一种文件传输方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910579079.0A CN110247986A (zh) | 2019-06-28 | 2019-06-28 | 一种文件传输方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110247986A true CN110247986A (zh) | 2019-09-17 |
Family
ID=67890288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910579079.0A Pending CN110247986A (zh) | 2019-06-28 | 2019-06-28 | 一种文件传输方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110247986A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110730242A (zh) * | 2019-10-22 | 2020-01-24 | 北京浪潮数据技术有限公司 | 一种文件传输方法、装置及设备 |
CN110955515A (zh) * | 2019-10-21 | 2020-04-03 | 量子云未来(北京)信息科技有限公司 | 一种文件的处理方法、装置、电子设备及存储介质 |
CN111327694A (zh) * | 2020-02-10 | 2020-06-23 | 北京达佳互联信息技术有限公司 | 文件上传方法、装置、存储介质及电子设备 |
CN112311902A (zh) * | 2020-12-23 | 2021-02-02 | 深圳市蓝凌软件股份有限公司 | 基于微服务的文件发送方法及装置 |
CN112532740A (zh) * | 2020-12-11 | 2021-03-19 | 平安科技(深圳)有限公司 | 文件上传方法和装置、文件校验方法和装置 |
CN114401454A (zh) * | 2022-01-17 | 2022-04-26 | 北京鼎普科技股份有限公司 | 视频上传分片方法及装置 |
CN114448975A (zh) * | 2022-03-04 | 2022-05-06 | 中国建设银行股份有限公司 | 一种文件传输方法、装置、设备及介质 |
CN114827130A (zh) * | 2022-04-24 | 2022-07-29 | 中国银行股份有限公司 | 一种文件上传方法及装置 |
CN116032913A (zh) * | 2022-10-12 | 2023-04-28 | 浪潮云信息技术股份公司 | 基于分布式对象存储的文件上传方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150163280A1 (en) * | 2012-08-28 | 2015-06-11 | Tencent Technology (Shenzhen) Company Limited | Method and device for downloading file |
CN106250270A (zh) * | 2016-07-28 | 2016-12-21 | 四川新环佳科技发展有限公司 | 一种云计算平台下的数据备份方法 |
CN108234539A (zh) * | 2016-12-14 | 2018-06-29 | 北京金山云网络技术有限公司 | 一种文件上传、下载、传输方法及装置 |
CN109428899A (zh) * | 2017-08-21 | 2019-03-05 | 中国石油化工股份有限公司 | 文件安全传输管理方法及系统 |
-
2019
- 2019-06-28 CN CN201910579079.0A patent/CN110247986A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150163280A1 (en) * | 2012-08-28 | 2015-06-11 | Tencent Technology (Shenzhen) Company Limited | Method and device for downloading file |
CN106250270A (zh) * | 2016-07-28 | 2016-12-21 | 四川新环佳科技发展有限公司 | 一种云计算平台下的数据备份方法 |
CN108234539A (zh) * | 2016-12-14 | 2018-06-29 | 北京金山云网络技术有限公司 | 一种文件上传、下载、传输方法及装置 |
CN109428899A (zh) * | 2017-08-21 | 2019-03-05 | 中国石油化工股份有限公司 | 文件安全传输管理方法及系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955515A (zh) * | 2019-10-21 | 2020-04-03 | 量子云未来(北京)信息科技有限公司 | 一种文件的处理方法、装置、电子设备及存储介质 |
CN110730242A (zh) * | 2019-10-22 | 2020-01-24 | 北京浪潮数据技术有限公司 | 一种文件传输方法、装置及设备 |
CN110730242B (zh) * | 2019-10-22 | 2023-04-07 | 北京浪潮数据技术有限公司 | 一种文件传输方法、装置及设备 |
CN111327694B (zh) * | 2020-02-10 | 2022-07-08 | 北京达佳互联信息技术有限公司 | 文件上传方法、装置、存储介质及电子设备 |
CN111327694A (zh) * | 2020-02-10 | 2020-06-23 | 北京达佳互联信息技术有限公司 | 文件上传方法、装置、存储介质及电子设备 |
CN112532740A (zh) * | 2020-12-11 | 2021-03-19 | 平安科技(深圳)有限公司 | 文件上传方法和装置、文件校验方法和装置 |
CN112311902A (zh) * | 2020-12-23 | 2021-02-02 | 深圳市蓝凌软件股份有限公司 | 基于微服务的文件发送方法及装置 |
CN112311902B (zh) * | 2020-12-23 | 2021-05-07 | 深圳市蓝凌软件股份有限公司 | 基于微服务的文件发送方法及装置 |
CN114401454A (zh) * | 2022-01-17 | 2022-04-26 | 北京鼎普科技股份有限公司 | 视频上传分片方法及装置 |
CN114448975A (zh) * | 2022-03-04 | 2022-05-06 | 中国建设银行股份有限公司 | 一种文件传输方法、装置、设备及介质 |
CN114827130A (zh) * | 2022-04-24 | 2022-07-29 | 中国银行股份有限公司 | 一种文件上传方法及装置 |
CN114827130B (zh) * | 2022-04-24 | 2024-04-16 | 中国银行股份有限公司 | 一种文件上传方法及装置 |
CN116032913A (zh) * | 2022-10-12 | 2023-04-28 | 浪潮云信息技术股份公司 | 基于分布式对象存储的文件上传方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110247986A (zh) | 一种文件传输方法、装置及电子设备 | |
JP2022552986A (ja) | 情報送信方法、装置、読み取り可能な記憶媒体及び電子装置 | |
CN109831487A (zh) | 分片文件验证方法及终端设备 | |
CN106612284B (zh) | 一种流数据的传输方法和装置 | |
US20130145462A1 (en) | Phishing Processing Method and System and Computer Readable Storage Medium Applying the Method | |
CN103731499B (zh) | 终端和文件传输方法 | |
CN104301743B (zh) | 传输视频的方法、网关设备和视频传输系统 | |
CN109688419A (zh) | 一种直播中的连麦方法、装置及服务器 | |
CN108647240A (zh) | 一种统计访问量的方法、装置、电子设备及存储介质 | |
CN109600302A (zh) | 一种有序通讯的方法、装置、存储介质及电子设备 | |
CN105554081A (zh) | 一种文件差量的传输方法以及装置 | |
CN105610906A (zh) | 转发请求的方法、装置及系统 | |
CN109255254A (zh) | 一种数据库权限管理方法、装置、设备及存储介质 | |
CN109597566A (zh) | 一种数据读取、存储方法及装置 | |
CN112905542A (zh) | 一种文件处理方法、装置、服务器、设备及存储介质 | |
CN110677683B (zh) | 视频存储、视频访问方法及分布式存储、视频访问系统 | |
CN108512698B (zh) | 一种网络容灾方法、装置及电子设备 | |
US20140136647A1 (en) | Router and operating method thereof | |
CN112713939B (zh) | 一种数据传输方法及装置 | |
CN107203559B (zh) | 一种划分数据条带的方法和装置 | |
CN112804102B (zh) | 设备绑定方法、装置和终端 | |
CN103501251A (zh) | 断网情况下的数据包处理方法及装置 | |
CN112910936B (zh) | 数据处理方法、装置、系统、电子设备及可读存储介质 | |
CN107623710A (zh) | 一种文件上传方法及终端 | |
CN114629895B (zh) | 一种文件分片断点续传方法、装置、终端设备及介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190917 |
|
RJ01 | Rejection of invention patent application after publication |