CN103731499B - 终端和文件传输方法 - Google Patents
终端和文件传输方法 Download PDFInfo
- Publication number
- CN103731499B CN103731499B CN201310756452.8A CN201310756452A CN103731499B CN 103731499 B CN103731499 B CN 103731499B CN 201310756452 A CN201310756452 A CN 201310756452A CN 103731499 B CN103731499 B CN 103731499B
- Authority
- CN
- China
- Prior art keywords
- files
- file
- blocks
- sent
- size
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种终端和一种文件传输方法,其中,终端包括:处理单元,用于在接收到向其他终端发送指定文件的指令时,确定将指定文件分割为多个文件块时每个文件块的大小;交互单元,用于将指定文件的标识以及每个文件块的大小发送至其他终端,以供其他终端根据指定文件的标识检测多个文件块的接收情况,以及接收其他终端发送的对多个文件块的接收情况,并根据多个文件块的接收情况向其他终端发送指定文件;分割单元,用于对指定文件进行分割。通过本发明的技术方案,使得文件发送方能够根据文件接收方对文件已接收的情况发送文件,避免了在文件发送中断时,重复发送文件接收方已接收到的内容,降低了占用的网络带宽,减少了网络流量的浪费。
Description
技术领域
本发明涉及通信技术领域,具体而言,涉及一种终端和一种文件传输方法。
背景技术
随着信息技术、网络、移动领域的不断发展,知识分享越来越重要,通常需要将存储于本地的文件上传到网络端进行共享。
而由于浏览器和终端的限制,在上传文件时,时常出现错误和上传中断,在出现错误后,通常需要重新上传文件,浪费了大量的网络带宽和流量,相关技术中也并未提出切实可行的断点续传的方案。
因此,如何在文件发送中断时,有效地实现断点续传成为亟待解决的技术问题。
发明内容
本发明正是基于上述技术问题至少之一,提出了一种新的文件传输技术,使得文件发送方能够根据文件接收方对文件已接收的情况发送文件,避免了在文件发送中断时,重复发送文件接收方已接收到的内容,降低了占用的网络带宽,减少了网络流量的浪费。
有鉴于此,本发明提出了一种终端,包括:处理单元,用于在接收到向其他终端发送指定文件的指令时,确定将所述指定文件分割为多个文件块时每个文件块的大小;交互单元,用于将所述指定文件的标识以及所述每个文件块的大小发送至所述其他终端,以供所述其他终端根据所述指定文件的标识检测所述多个文件块的接收情况,以及接收所述其他终端发送的对所述多个文件块的接收情况,并根据所述多个文件块的接收情况向所述其他终端发送所述指定文件;分割单元,用于按照所述处理单元确定的所述每个文件块的大小对所述指定文件进行分割,以得到所述多个文件块。
在该技术方案中,文件发送方通过将待发送的文件标识以及每个文件块的大小发送至其他终端(即文件接收方),使得文件接收方能够根据文件发送方发送的文件标识检测每个文件块的接收情况,从而使文件发送方根据每个文件块的接收情况发送文件,避免了在文件发送中断时,重复发送文件接收方已接收到的内容,降低了占用的网络带宽,减少了网络流量的浪费。其中,在确定每个文件块的大小时,可以根据待发送文件的大小进行确定,也可以根据用户设置的默认大小进行确定,或者根据当前网络情况进行确定。分割单元在将文件分割为多个文件块后,处理单元还记录了每个文件块的唯一标识码,以对每个文件块进行识别。
具体来说,例如文件发送方在将文件A发送至文件接收方时,可以确定将文件A分为多少个文件块,然后将文件A的标识以及每个文件块的大小发送至文件接收方,文件接收方根据接收到的文件A的标识检测是否已经接收过文件A,以及在接收过文件A时,每个文件块的接收情况,并将每个文件块的接收情况返回至文件发送方,文件发送方根据每个文件块的接收情况向文件接收方发送文件。
此外,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识未检测到相应的文件,则返回未接收过该文件的信息,文件发送方接收到返回的消息后,会将所有文件块都发送至文件接收方。
根据本发明的一个实施例,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识检测到已经接收过该文件,但是文件的分块大小与文件发送方发送的不同,则返回已存储的文件块的大小至文件发送方,文件发送方根据文件接收方返回的文件块大小对文件进行分割,并根据每个文件块的接收情况向文件接收方发送文件。
在上述技术方案中,优选地,所述交互单元具体用于:在所述多个文件块的接收情况表明所述多个文件块中的任一文件块未接收或未全部接收时,将所述任一文件块发送至所述其他终端。
在该技术方案中,通过在检测到任一文件块未接收或未全部接收时,重新发送该任一文件块,可以避免重新发送整个文件,节省了网络流量的消耗,降低了占用的网络带宽。
在上述技术方案中,优选地,所述交互单元还用于:接收所述其他终端发送的对所述任一文件块的验证信息,以及在接收到所述处理单元发送的对所述任一文件块的重新发送指令时,向所述其他终端重新发送所述任一文件块;所述处理单元还用于:根据所述验证信息判断所述任一文件块是否发送成功,并在判定所述任一文件块未发送成功时,向所述交互单元发送所述重新发送的指令。
在该技术方案中,通过接收文件接收方发送的验证信息,使得可以根据验证信息对文件块是否发送成功进行验证,避免在文件发送方发送文件块之后,文件接收方由于未能正确接收该文件块而导致整个文件不能使用。具体来说,验证信息可以是文件块的摘要信息。此外,在文件接收方接收完整个文件后,也可以向文件发送方发送整个文件的验证信息,以对整个文件是否成功发送进行验证。
根据本发明的另一方面,还提出一种终端,包括:交互单元,用于接收其他终端发送的指定文件的标识和将所述指定文件分割为多个文件块时每个文件块的大小,以及将检测单元检测到的所述多个文件块的接收情况发送至所述其他终端,以供所述其他终端根据所述多个文件块的接收情况发送所述指定文件;所述检测单元,用于根据所述交互单元接收到的所述指定文件的标识以及所述每个文件块的大小检测所述多个文件块的接收情况。
在该技术方案中,文件接收方通过接收其他终端(即文件发送方)发送的文件标识以及每个文件块的大小,可以根据文件发送方发送的文件标识检测每个文件块的接收情况,从而使得文件发送方可以根据每个文件块的接收情况发送文件,避免了在文件发送中断时,文件发送方重复发送文件接收方已接收到的内容,降低了占用的网络带宽,减少了网络流量的浪费。
具体来说,例如文件发送方在将文件A发送至文件接收方时,可以确定将文件A分为多少个文件块,然后将文件A的标识以及每个文件块的大小发送至文件接收方,文件接收方根据接收到的文件A的标识检测是否已经接收过文件A,以及在接收过文件A时,每个文件块的接收情况,并将每个文件块的接收情况返回至文件发送方,文件发送方根据每个文件块的接收情况向文件接收方发送文件。
此外,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识未检测到相应的文件,则返回未接收过该文件的信息,文件发送方接收到返回的消息后,会将所有文件块都发送至文件接收方。
根据本发明的一个实施例,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识检测到已经接收过该文件,但是文件的分块大小与文件发送方发送的不同,则返回已存储的文件块的大小至文件发送方,文件发送方根据文件接收方返回的文件块大小对文件进行分割,并根据每个文件块的接收情况向文件接收方发送文件。
在上述技术方案中,优选地,还包括:处理单元,用于在对所述其他终端发送的任一文件块接收完成之后,根据所述任一文件块的内容生成验证信息;所述交互单元还用于:将所述处理单元生成的所述验证信息发送至所述其他终端,以供所述其他终端根据所述验证信息判断所述任一文件块是否发送成功。
在该技术方案中,通过在接收文件块之后,生成验证信息并发送至文件发送方,使得文件发送方可以根据验证信息对文件块是否发送成功进行验证,避免在文件发送方发送文件块之后,文件接收方由于未能正确接收该文件块而导致整个文件不能使用。具体来说,验证信息可以是文件块的摘要信息。此外,在文件接收方接收完整个文件后,也可以向文件发送方发送整个文件的验证信息,以对整个文件是否成功发送进行验证。
根据本发明的另一方面,还提出了一种文件传输方法,包括:在接收到向其他终端发送指定文件的指令时,确定将所述指定文件分割为多个文件块时每个文件块的大小;将所述指定文件的标识以及所述每个文件块的大小发送至所述其他终端,以供所述其他终端根据所述指定文件的标识检测所述多个文件块的接收情况;接收所述其他终端发送的对所述多个文件块的接收情况,按照所述每个文件块的大小对所述指定文件进行分割,并根据所述多个文件块的接收情况向所述其他终端发送所述指定文件。
在该技术方案中,文件发送方通过将待发送的文件标识以及每个文件块的大小发送至其他终端(即文件接收方),使得文件接收方能够根据文件发送方发送的文件标识检测每个文件块的接收情况,从而使文件发送方根据每个文件块的接收情况发送文件,避免了在文件发送中断时,重复发送文件接收方已接收到的内容,降低了占用的网络带宽,减少了网络流量的浪费。其中,在确定每个文件块的大小时,可以根据待发送文件的大小进行确定,也可以根据用户设置的默认大小进行确定,或者根据当前网络情况进行确定。在将文件分割为多个文件块后,还可以记录了每个文件块的唯一标识码,以对每个文件块进行识别。
具体来说,例如文件发送方在将文件A发送至文件接收方时,可以确定将文件A分为多少个文件块,然后将文件A的标识以及每个文件块的大小发送至文件接收方,文件接收方根据接收到的文件A的标识检测是否已经接收过文件A,以及在接收过文件A时,每个文件块的接收情况,并将每个文件块的接收情况返回至文件发送方,文件发送方根据每个文件块的接收情况向文件接收方发送文件。
此外,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识未检测到相应的文件,则返回未接收过该文件的信息,文件发送方接收到返回的消息后,会将所有文件块都发送至文件接收方。
根据本发明的一个实施例,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识检测到已经接收过该文件,但是文件的分块大小与文件发送方发送的不同,则返回已存储的文件块的大小至文件发送方,文件发送方根据文件接收方返回的文件块大小对文件进行分割,并根据每个文件块的接收情况向文件接收方发送文件。
在上述技术方案中,优选地,所述根据所述多个文件块的接收情况向所述其他终端发送所述指定文件的步骤具体为:若所述多个文件块的接收情况表明所述多个文件块中的任一文件块未接收或未全部接收,则将所述任一文件块发送至所述其他终端。
在该技术方案中,通过在检测到任一文件块未接收或未全部接收时,重新发送该任一文件块,可以避免重新发送整个文件,节省了网络流量的消耗,降低了占用的网络带宽。
在上述技术方案中,优选地,在将所述任一文件块发送至所述其他终端之后,还包括:接收所述其他终端发送的对所述任一文件块的验证信息;根据所述验证信息判断所述任一文件块是否发送成功,并在判定所述任一文件块未发送成功时,重新发送所述任一文件块。
在该技术方案中,通过接收文件接收方发送的验证信息,使得可以根据验证信息对文件块是否发送成功进行验证,避免在文件发送方发送文件块之后,文件接收方由于未能正确接收该文件块而导致整个文件不能使用。具体来说,验证信息可以是文件块的摘要信息。此外,在文件接收方接收完整个文件后,也可以向文件发送方发送整个文件的验证信息,以对整个文件是否成功发送进行验证。
根据本发明的另一方面,还提出了一种文件传输方法,包括:接收其他终端发送的指定文件的标识,以及将所述指定文件分割为多个文件块时每个文件块的大小;根据所述指定文件的标识以及所述每个文件块的大小检测所述多个文件块的接收情况;将所述多个文件块的接收情况发送至所述其他终端,以供所述其他终端根据所述多个文件块的接收情况发送所述指定文件。
在该技术方案中,文件接收方通过接收其他终端(即文件发送方)发送的文件标识以及每个文件块的大小,可以根据文件发送方发送的文件标识检测每个文件块的接收情况,从而使得文件发送方可以根据每个文件块的接收情况发送文件,避免了在文件发送中断时,文件发送方重复发送文件接收方已接收到的内容,降低了占用的网络带宽,减少了网络流量的浪费。
具体来说,例如文件发送方在将文件A发送至文件接收方时,可以确定将文件A分为多少个文件块,然后将文件A的标识以及每个文件块的大小发送至文件接收方,文件接收方根据接收到的文件A的标识检测是否已经接收过文件A,以及在接收过文件A时,每个文件块的接收情况,并将每个文件块的接收情况返回至文件发送方,文件发送方根据每个文件块的接收情况向文件接收方发送文件。
此外,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识未检测到相应的文件,则返回未接收过该文件的信息,文件发送方接收到返回的消息后,会将所有文件块都发送至文件接收方。
根据本发明的一个实施例,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识检测到已经接收过该文件,但是文件的分块大小与文件发送方发送的不同,则返回已存储的文件块的大小至文件发送方,文件发送方根据文件接收方返回的文件块大小对文件进行分割,并根据每个文件块的接收情况向文件接收方发送文件。
在上述技术方案中,优选地,还包括:在对所述其他终端发送的任一文件块接收完成之后,根据所述任一文件块的内容生成验证信息,并将所述验证信息发送至所述其他终端,以供所述其他终端根据所述验证信息判断所述任一文件块是否发送成功。
在该技术方案中,通过在接收文件块之后,生成验证信息并发送至文件发送方,使得文件发送方可以根据验证信息对文件块是否发送成功进行验证,避免在文件发送方发送文件块之后,文件接收方由于未能正确接收该文件块而导致整个文件不能使用。具体来说,验证信息可以是文件块的摘要信息。此外,在文件接收方接收完整个文件后,也可以向文件发送方发送整个文件的验证信息,以对整个文件是否成功发送进行验证。
通过以上技术方案,使得文件发送方能够根据文件接收方对文件已接收的情况发送文件,避免了在文件发送中断时,重复发送文件接收方已接收到的内容,降低了占用的网络带宽,减少了网络流量的浪费。
附图说明
图1示出了根据本发明的实施例的终端的示意框图;
图2示出了根据本发明的另一个实施例的终端的示意框图;
图3示出了根据本发明的实施例的文件传输方法的示意流程图;
图4示出了根据本发明的另一个实施例的文件传输方法的示意流程图;
图5示出了根据本发明的实施例的文件传输系统的处理流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的终端的示意框图。
如图1所示,根据本发明的实施例的终端100,包括:处理单元102,用于在接收到向其他终端发送指定文件的指令时,确定将所述指定文件分割为多个文件块时每个文件块的大小;交互单元104,用于将所述指定文件的标识以及所述每个文件块的大小发送至所述其他终端,以供所述其他终端根据所述指定文件的标识检测所述多个文件块的接收情况,以及接收所述其他终端发送的对所述多个文件块的接收情况,并根据所述多个文件块的接收情况向所述其他终端发送所述指定文件;分割单元104,用于按照所述处理单元102确定的所述每个文件块的大小对所述指定文件进行分割,以得到所述多个文件块。
在该技术方案中,文件发送方通过将待发送的文件标识以及每个文件块的大小发送至其他终端(即文件接收方),使得文件接收方能够根据文件发送方发送的文件标识检测每个文件块的接收情况,从而使文件发送方根据每个文件块的接收情况发送文件,避免了在文件发送中断时,重复发送文件接收方已接收到的内容,降低了占用的网络带宽,减少了网络流量的浪费。其中,在确定每个文件块的大小时,可以根据待发送文件的大小进行确定,也可以根据用户设置的默认大小进行确定,或者根据当前网络情况进行确定。分割单元104在将文件分割为多个文件块后,处理单元102还记录了每个文件块的唯一标识码,以对每个文件块进行识别。
具体来说,例如文件发送方在将文件A发送至文件接收方时,可以确定将文件A分为多少个文件块,然后将文件A的标识以及每个文件块的大小发送至文件接收方,文件接收方根据接收到的文件A的标识检测是否已经接收过文件A,以及在接收过文件A时,每个文件块的接收情况,并将每个文件块的接收情况返回至文件发送方,文件发送方根据每个文件块的接收情况向文件接收方发送文件。
此外,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识未检测到相应的文件,则返回未接收过该文件的信息,文件发送方接收到返回的消息后,会将所有文件块都发送至文件接收方。
根据本发明的一个实施例,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识检测到已经接收过该文件,但是文件的分块大小与文件发送方发送的不同,则返回已存储的文件块的大小至文件发送方,文件发送方根据文件接收方返回的文件块大小对文件进行分割,并根据每个文件块的接收情况向文件接收方发送文件。
在上述技术方案中,优选地,所述交互单元104具体用于:在所述多个文件块的接收情况表明所述多个文件块中的任一文件块未接收或未全部接收时,将所述任一文件块发送至所述其他终端。
在该技术方案中,通过在检测到任一文件块未接收或未全部接收时,重新发送该任一文件块,可以避免重新发送整个文件,节省了网络流量的消耗,降低了占用的网络带宽。
在上述技术方案中,优选地,所述交互单元104还用于:接收所述其他终端发送的对所述任一文件块的验证信息,以及在接收到所述处理单元102发送的对所述任一文件块的重新发送指令时,向所述其他终端重新发送所述任一文件块;所述处理单元102还用于:根据所述验证信息判断所述任一文件块是否发送成功,并在判定所述任一文件块未发送成功时,向所述交互单元发送所述重新发送的指令。
在该技术方案中,通过接收文件接收方发送的验证信息,使得可以根据验证信息对文件块是否发送成功进行验证,避免在文件发送方发送文件块之后,文件接收方由于未能正确接收该文件块而导致整个文件不能使用。具体来说,验证信息可以是文件块的摘要信息。此外,在文件接收方接收完整个文件后,也可以向文件发送方发送整个文件的验证信息,以对整个文件是否成功发送进行验证。
图2示出了根据本发明的另一个实施例的终端的示意框图。
如图2所示,根据本发明的另一个实施例的终端200,包括:交互单元202,用于接收其他终端发送的指定文件的标识和将所述指定文件分割为多个文件块时每个文件块的大小,以及将检测单元204检测到的所述多个文件块的接收情况发送至所述其他终端,以供所述其他终端根据所述多个文件块的接收情况发送所述指定文件;所述检测单元204,用于根据所述交互单元202接收到的所述指定文件的标识以及所述每个文件块的大小检测所述多个文件块的接收情况。
在该技术方案中,文件接收方通过接收其他终端(即文件发送方)发送的文件标识以及每个文件块的大小,可以根据文件发送方发送的文件标识检测每个文件块的接收情况,从而使得文件发送方可以根据每个文件块的接收情况发送文件,避免了在文件发送中断时,文件发送方重复发送文件接收方已接收到的内容,降低了占用的网络带宽,减少了网络流量的浪费。
具体来说,例如文件发送方在将文件A发送至文件接收方时,可以确定将文件A分为多少个文件块,然后将文件A的标识以及每个文件块的大小发送至文件接收方,文件接收方根据接收到的文件A的标识检测是否已经接收过文件A,以及在接收过文件A时,每个文件块的接收情况,并将每个文件块的接收情况返回至文件发送方,文件发送方根据每个文件块的接收情况向文件接收方发送文件。
此外,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识未检测到相应的文件,则返回未接收过该文件的信息,文件发送方接收到返回的消息后,会将所有文件块都发送至文件接收方。
根据本发明的一个实施例,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识检测到已经接收过该文件,但是文件的分块大小与文件发送方发送的不同,则返回已存储的文件块的大小至文件发送方,文件发送方根据文件接收方返回的文件块大小对文件进行分割,并根据每个文件块的接收情况向文件接收方发送文件。
在上述技术方案中,优选地,还包括:处理单元206,用于在对所述其他终端发送的任一文件块接收完成之后,根据所述任一文件块的内容生成验证信息;所述交互单元202还用于:将所述处理单元206生成的所述验证信息发送至所述其他终端,以供所述其他终端根据所述验证信息判断所述任一文件块是否发送成功。
在该技术方案中,通过在接收文件块之后,生成验证信息并发送至文件发送方,使得文件发送方可以根据验证信息对文件块是否发送成功进行验证,避免在文件发送方发送文件块之后,文件接收方由于未能正确接收该文件块而导致整个文件不能使用。具体来说,验证信息可以是文件块的摘要信息。此外,在文件接收方接收完整个文件后,也可以向文件发送方发送整个文件的验证信息,以对整个文件是否成功发送进行验证。
图3示出了根据本发明的实施例的文件传输方法的示意流程图。
如图3所示,根据本发明的实施例的文件传输方法,包括:步骤302,在接收到向其他终端发送指定文件的指令时,确定将所述指定文件分割为多个文件块时每个文件块的大小;步骤304,将所述指定文件的标识以及所述每个文件块的大小发送至所述其他终端,以供所述其他终端根据所述指定文件的标识检测所述多个文件块的接收情况;步骤306,接收所述其他终端发送的对所述多个文件块的接收情况,按照所述每个文件块的大小对所述指定文件进行分割,并根据所述多个文件块的接收情况向所述其他终端发送所述指定文件。
在该技术方案中,文件发送方通过将待发送的文件标识以及每个文件块的大小发送至其他终端(即文件接收方),使得文件接收方能够根据文件发送方发送的文件标识检测每个文件块的接收情况,从而使文件发送方根据每个文件块的接收情况发送文件,避免了在文件发送中断时,重复发送文件接收方已接收到的内容,降低了占用的网络带宽,减少了网络流量的浪费。其中,在确定每个文件块的大小时,可以根据待发送文件的大小进行确定,也可以根据用户设置的默认大小进行确定,或者根据当前网络情况进行确定。在将文件分割为多个文件块后,还可以记录了每个文件块的唯一标识码,以对每个文件块进行识别。
具体来说,例如文件发送方在将文件A发送至文件接收方时,可以确定将文件A分为多少个文件块,然后将文件A的标识以及每个文件块的大小发送至文件接收方,文件接收方根据接收到的文件A的标识检测是否已经接收过文件A,以及在接收过文件A时,每个文件块的接收情况,并将每个文件块的接收情况返回至文件发送方,文件发送方根据每个文件块的接收情况向文件接收方发送文件。
在上述技术方案中,优选地,所述根据所述多个文件块的接收情况向所述其他终端发送所述指定文件的步骤具体为:若所述多个文件块的接收情况表明所述多个文件块中的任一文件块未接收或未全部接收,则将所述任一文件块发送至所述其他终端。
此外,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识未检测到相应的文件,则返回未接收过该文件的信息,文件发送方接收到返回的消息后,会将所有文件块都发送至文件接收方。
根据本发明的一个实施例,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识检测到已经接收过该文件,但是文件的分块大小与文件发送方发送的不同,则返回已存储的文件块的大小至文件发送方,文件发送方根据文件接收方返回的文件块大小对文件进行分割,并根据每个文件块的接收情况向文件接收方发送文件。
在该技术方案中,通过在检测到任一文件块未接收或未全部接收时,重新发送该任一文件块,可以避免重新发送整个文件,节省了网络流量的消耗,降低了占用的网络带宽。
在上述技术方案中,优选地,在将所述任一文件块发送至所述其他终端之后,还包括:接收所述其他终端发送的对所述任一文件块的验证信息;根据所述验证信息判断所述任一文件块是否发送成功,并在判定所述任一文件块未发送成功时,重新发送所述任一文件块。
在该技术方案中,通过接收文件接收方发送的验证信息,使得可以根据验证信息对文件块是否发送成功进行验证,避免在文件发送方发送文件块之后,文件接收方由于未能正确接收该文件块而导致整个文件不能使用。具体来说,验证信息可以是文件块的摘要信息。此外,在文件接收方接收完整个文件后,也可以向文件发送方发送整个文件的验证信息,以对整个文件是否成功发送进行验证。
图4示出了根据本发明的另一个实施例的文件传输方法的示意流程图。
如图4所示,根据本发明的另一个实施例的文件传输方法,包括:步骤402,接收其他终端发送的指定文件的标识,以及将所述指定文件分割为多个文件块时每个文件块的大小;步骤404,根据所述指定文件的标识以及所述每个文件块的大小检测所述多个文件块的接收情况;步骤406,将所述多个文件块的接收情况发送至所述其他终端,以供所述其他终端根据所述多个文件块的接收情况发送所述指定文件。
在该技术方案中,文件接收方通过接收其他终端(即文件发送方)发送的文件标识以及每个文件块的大小,可以根据文件发送方发送的文件标识检测每个文件块的接收情况,从而使得文件发送方可以根据每个文件块的接收情况发送文件,避免了在文件发送中断时,文件发送方重复发送文件接收方已接收到的内容,降低了占用的网络带宽,减少了网络流量的浪费。
具体来说,例如文件发送方在将文件A发送至文件接收方时,可以确定将文件A分为多少个文件块,然后将文件A的标识以及每个文件块的大小发送至文件接收方,文件接收方根据接收到的文件A的标识检测是否已经接收过文件A,以及在接收过文件A时,每个文件块的接收情况,并将每个文件块的接收情况返回至文件发送方,文件发送方根据每个文件块的接收情况向文件接收方发送文件。
此外,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识未检测到相应的文件,则返回未接收过该文件的信息,文件发送方接收到返回的消息后,会将所有文件块都发送至文件接收方。
根据本发明的一个实施例,文件接收方在接收到文件发送方发送的文件标识以及每个文件块的大小时,若根据文件标识检测到已经接收过该文件,但是文件的分块大小与文件发送方发送的不同,则返回已存储的文件块的大小至文件发送方,文件发送方根据文件接收方返回的文件块大小对文件进行分割,并根据每个文件块的接收情况向文件接收方发送文件。
在上述技术方案中,优选地,还包括:在对所述其他终端发送的任一文件块接收完成之后,根据所述任一文件块的内容生成验证信息,并将所述验证信息发送至所述其他终端,以供所述其他终端根据所述验证信息判断所述任一文件块是否发送成功。
在该技术方案中,通过在接收文件块之后,生成验证信息并发送至文件发送方,使得文件发送方可以根据验证信息对文件块是否发送成功进行验证,避免在文件发送方发送文件块之后,文件接收方由于未能正确接收该文件块而导致整个文件不能使用。具体来说,验证信息可以是文件块的摘要信息。此外,在文件接收方接收完整个文件后,也可以向文件发送方发送整个文件的验证信息,以对整个文件是否成功发送进行验证。
图5示出了根据本发明的实施例的文件传输系统的处理流程图。
如图5所示,根据本发明的实施例的文件传输系统包括:终端502和服务器504,终端502向服务器504上传文件的方法,包括:
步骤506,终端502接收到用户上传指定文件的指令。
步骤508,终端502对用户选择的指定文件进行标识,并确定将指定文件分割为多个文件块时每个文件块的大小。
具体来说,终端502读取该指定文件的总大小,按照设定的每个文件块的大小(可以是2M)计算文件块的数量(文件块的数量=文件总大小/每个文件块的大小,计算结果取整数部分,若小数部分不为0,则文件块大小等于整数部分数值加1),并标记指定文件的识别码。
步骤510,将指定文件的标识,以及每个文件块的大小发送至服务器504。
具体来说,可以将每个文件块的大小(或文件块数量)以及指定文件的识别码组装成JSON(JavaScript Object Notation,一种轻量级的数据交换格式)对象,通过HTTP(Hypertext transfer protocol,超文本传输协议)的POST(向指定资源提交数据进行处理的请求)方式传递到服务器504。具体地,对于每个文件块,可以记录其偏移位置(即文件起始位置),按照每个文件块的大小读取文件块中的二进制数据,并计算该数据的校验和,汇总上述信息后,组装成JSON对象。
步骤512,服务器504根据接收到的指定文件标识判断该指定文件是否有上传,若该指定文件已上传,则按照每个文件块的大小检查每个文件块的上传情况。
具体来说,服务器504在收到上述分片信息时,按照文件标识查找到文件,并移动到每个文件块的偏移位置,从此位置开始读取数据,查找特征符号位,以识别出每个文件块已上传的偏移位置量。
若判定该指定文件未上传,则返回未上传的信息,以使终端502将所有文件块都发送至服务器504。
步骤514,服务器504将每个文件块的上传情况发送至终端502。
步骤516,终端502接收到服务器发送的每个文件块的上传情况,对上述指定文件进行分割。
步骤518,终端502根据每个文件块的上传情况继续上传未完成上传的文件块。
当然,服务器504在接收到终端502发送的文件标识以及每个文件块的大小时,若根据文件标识检测到已经接收过该文件,但是文件的分块大小与终端502发送的不同,则返回已存储的文件块的大小至终端502,终端502根据服务器504返回的文件块大小对文件进行分割,并根据每个文件块的接收情况向服务器504发送文件。
步骤520,服务器504接收终端502上传的文件块,在接收完文件块后,根据接收到的文件块的内容生成验证信息。
具体来说,服务器504载入文件块数据到内存中,并移动读取位置到每个文件块已上传的位置,从此位置开始写入数据到每个文件块的缓存中,当每个文件块的缓存达到设定值时,确定该文件块上传完成,并将该设定值写入文件标识中。重复上述过程,直到完整的存储所述文件块的数据,同时,每写入一次数据(即文件块的设定值)到文件标识时,就插入特征符号位。
在完成文件块数据写入后,使用信息摘要算法(比如MD4)计算该文件块的识别码和校验和,并与文件块的偏移量一起生成验证信息。
步骤522,服务器504将验证信息发送至终端502。
步骤524,终端504根据接收到验证信息验证文件块是否发送成功,若检测到未发送成功,则重新发送该文件块。
具体来说,终端504根据返回的偏移量,识别码和校验和,对文件块进行比对,若比对成功,则确定该文件块上传成功,若比对失败,则重新上传该文件块,直至成功上传所有文件块。
以上结合附图详细说明了本发明的技术方案,考虑到由于浏览器和终端的限制,在上传文件时,时常出现错误和上传中断,在出现错误后,通常需要重新上传文件,浪费了大量的网络带宽和流量,相关技术中也并未提出切实可行的断点续传的方案。因此,本发明提出了一种新的文件传输技术,使得文件发送方能够根据文件接收方对文件已接收的情况发送文件,避免了在文件发送中断时,重复发送文件接收方已接收到的内容,降低了占用的网络带宽,减少了网络流量的浪费。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种终端,其特征在于,包括:
处理单元,用于在接收到向其他终端发送指定文件的指令时,确定将所述指定文件分割为多个文件块时每个文件块的大小;
交互单元,用于将所述指定文件的标识以及所述每个文件块的大小发送至所述其他终端,以供所述其他终端根据所述指定文件的标识检测所述多个文件块的接收情况,以及
接收所述其他终端发送的对所述多个文件块的接收情况,并根据所述多个文件块的接收情况向所述其他终端发送所述指定文件;
分割单元,用于按照所述处理单元确定的所述每个文件块的大小对所述指定文件进行分割,以得到所述多个文件块;
在确定所述每个文件块的大小时,根据所述指定文件的大小进行确定,或根据用户设置的默认大小进行确定,或根据当前网络情况进行确定;
所述分割单元,还用于在所述接收情况表明所述其他终端接收过所述指定文件,以及所述其他终端存储的文件块大小与所述终端发送的文件块大小不同时,接收所述其他终端返回的文件块大小,并按照所述其他终端返回的文件块大小对所述指定文件进行分割。
2.根据权利要求1所述的终端,其特征在于,所述交互单元具体用于:
在所述多个文件块的接收情况表明所述多个文件块中的任一文件块未接收或未全部接收时,将所述任一文件块发送至所述其他终端。
3.根据权利要求2所述的终端,其特征在于:
所述交互单元还用于:
接收所述其他终端发送的对所述任一文件块的验证信息,以及
在接收到所述处理单元发送的对所述任一文件块的重新发送指令时,向所述其他终端重新发送所述任一文件块;
所述处理单元还用于:根据所述验证信息判断所述任一文件块是否发送成功,并在判定所述任一文件块未发送成功时,向所述交互单元发送所述重新发送的指令。
4.一种终端,其特征在于,包括:
交互单元,用于接收其他终端发送的指定文件的标识和将所述指定文件分割为多个文件块时每个文件块的大小,以及
将检测单元检测到的所述多个文件块的接收情况发送至所述其他终端,以供所述其他终端根据所述多个文件块的接收情况发送所述指定文件;
所述检测单元,用于根据所述交互单元接收到的所述指定文件的标识以及所述每个文件块的大小检测所述多个文件块的接收情况。
5.根据权利要求4所述的终端,其特征在于,还包括:
处理单元,用于在对所述其他终端发送的任一文件块接收完成之后,根据所述任一文件块的内容生成验证信息;
所述交互单元还用于:将所述处理单元生成的所述验证信息发送至所述其他终端,以供所述其他终端根据所述验证信息判断所述任一文件块是否发送成功。
6.一种文件传输方法,其特征在于,包括:
在接收到向其他终端发送指定文件的指令时,确定将所述指定文件分割为多个文件块时每个文件块的大小;
将所述指定文件的标识以及所述每个文件块的大小发送至所述其他终端,以供所述其他终端根据所述指定文件的标识检测所述多个文件块的接收情况;
接收所述其他终端发送的对所述多个文件块的接收情况,按照所述每个文件块的大小对所述指定文件进行分割,并根据所述多个文件块的接收情况向所述其他终端发送所述指定文件;
在确定所述每个文件块的大小时,根据所述指定文件的大小进行确定,或根据用户设置的默认大小进行确定,或根据当前网络情况进行确定;
在所述接收情况表明所述其他终端接收过所述指定文件,以及所述其他终端存储的文件块大小与所述终端发送的文件块大小不同时,接收所述其他终端返回的文件块大小,并按照所述其他终端返回的文件块大小对所述指定文件进行分割。
7.根据权利要求6所述的文件传输方法,其特征在于,所述根据所述多个文件块的接收情况向所述其他终端发送所述指定文件的步骤具体为:
若所述多个文件块的接收情况表明所述多个文件块中的任一文件块未接收或未全部接收,则将所述任一文件块发送至所述其他终端。
8.根据权利要求7所述的文件传输方法,其特征在于,在将所述任一文件块发送至所述其他终端之后,还包括:
接收所述其他终端发送的对所述任一文件块的验证信息;
根据所述验证信息判断所述任一文件块是否发送成功,并在判定所述任一文件块未发送成功时,重新发送所述任一文件块。
9.一种文件传输方法,其特征在于,包括:
接收其他终端发送的指定文件的标识,以及将所述指定文件分割为多个文件块时每个文件块的大小;
根据所述指定文件的标识以及所述每个文件块的大小检测所述多个文件块的接收情况;
将所述多个文件块的接收情况发送至所述其他终端,以供所述其他终端根据所述多个文件块的接收情况发送所述指定文件。
10.根据权利要求9所述的文件传输方法,其特征在于,还包括:
在对所述其他终端发送的任一文件块接收完成之后,根据所述任一文件块的内容生成验证信息,并将所述验证信息发送至所述其他终端,以供所述其他终端根据所述验证信息判断所述任一文件块是否发送成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310756452.8A CN103731499B (zh) | 2013-12-31 | 2013-12-31 | 终端和文件传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310756452.8A CN103731499B (zh) | 2013-12-31 | 2013-12-31 | 终端和文件传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103731499A CN103731499A (zh) | 2014-04-16 |
CN103731499B true CN103731499B (zh) | 2018-01-05 |
Family
ID=50455421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310756452.8A Expired - Fee Related CN103731499B (zh) | 2013-12-31 | 2013-12-31 | 终端和文件传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103731499B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378422A (zh) * | 2014-11-13 | 2015-02-25 | 中国联合网络通信有限公司保定市分公司 | 一种移动终端及其文件传输方法和系统 |
CN104468843A (zh) * | 2014-12-31 | 2015-03-25 | 浪潮软件股份有限公司 | 一种文件上传方法及装置 |
CN104935650B (zh) * | 2015-06-03 | 2019-01-04 | 南京传唱软件科技有限公司 | 文件传输方法、系统及装置 |
CN107241417A (zh) * | 2017-06-12 | 2017-10-10 | 郑州云海信息技术有限公司 | 一种文件传输的方法、系统、发送端及接收端 |
CN109525542A (zh) * | 2017-09-20 | 2019-03-26 | 中兴通讯股份有限公司 | 数据恢复方法、发送/接收装置和计算机可读存储介质 |
CN109819339A (zh) * | 2017-11-20 | 2019-05-28 | 创盛视联数码科技(北京)有限公司 | Html5断点续传的方法 |
CN111245748A (zh) * | 2020-01-03 | 2020-06-05 | 北京明略软件系统有限公司 | 文件传输方法及装置、系统、电子设备、存储介质 |
CN112511609B (zh) * | 2020-11-19 | 2023-04-07 | 航天银山电气有限公司 | 数据传输方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170475A (zh) * | 2011-04-22 | 2011-08-31 | 中兴通讯股份有限公司 | 一种基于p2p的文件分发系统及分片方法 |
CN102571966A (zh) * | 2012-01-16 | 2012-07-11 | 上海方正数字出版技术有限公司 | 一种大型xml文件的网络传输方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719926A (zh) * | 2009-12-03 | 2010-06-02 | 成都耀邦科技有限责任公司 | web service多线程文件上传系统 |
CN102833294B (zh) * | 2011-06-17 | 2015-05-20 | 阿里巴巴集团控股有限公司 | 基于云存储的文件处理方法、系统及服务器集群系统 |
CN103259866B (zh) * | 2013-05-23 | 2016-01-27 | 中国科学院计算机网络信息中心 | 一种多点传输dns区文件的方法和系统 |
CN103442037A (zh) * | 2013-08-09 | 2013-12-11 | 华南理工大学 | 一种基于ftp协议实现超大文件多线程断点上传的方法 |
-
2013
- 2013-12-31 CN CN201310756452.8A patent/CN103731499B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170475A (zh) * | 2011-04-22 | 2011-08-31 | 中兴通讯股份有限公司 | 一种基于p2p的文件分发系统及分片方法 |
CN102571966A (zh) * | 2012-01-16 | 2012-07-11 | 上海方正数字出版技术有限公司 | 一种大型xml文件的网络传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103731499A (zh) | 2014-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103731499B (zh) | 终端和文件传输方法 | |
CN104539739B (zh) | 一种文件上传的系统、方法及装置 | |
CN104410692B (zh) | 一种用于重复文件上传的方法和系统 | |
CN110247986A (zh) | 一种文件传输方法、装置及电子设备 | |
CN110324405B (zh) | 消息发送方法、装置、系统及计算机可读存储介质 | |
CN107908686B (zh) | 信息推送方法、装置、服务器以及可读存储介质 | |
CN110493302A (zh) | 一种文件传输方法、设备及计算机可读存储介质 | |
CN107517239A (zh) | 数据传输方法和装置 | |
CN112822260A (zh) | 文件传输方法及装置、电子设备、存储介质 | |
CN108268420A (zh) | 处理器之间的通信方法、处理器和电子设备 | |
CN103716139A (zh) | 一种信息推送处理方法和装置 | |
CN109597566A (zh) | 一种数据读取、存储方法及装置 | |
CN108076109A (zh) | 一种获取传输文件的方法与设备 | |
CN106686078A (zh) | 数据传输方法及装置 | |
CN112969198A (zh) | 数据传输方法、终端及存储介质 | |
CN103501251B (zh) | 断网情况下的数据包处理方法及装置 | |
CN103731424A (zh) | 一种网络数据的传输方法、装置及系统 | |
CN107707590A (zh) | 数据传输的系统、方法及装置 | |
CN111010441A (zh) | 一种区块链跨链方法、系统及电子设备 | |
CN102647476A (zh) | 一种无线互联网信息推送方法及装置 | |
CN104615564A (zh) | 一种基于qpi总线的数据传输方法及计算机系统 | |
CN111787039A (zh) | 用来监测病理参数的系统及方法 | |
CN112637055B (zh) | 基于vpn隧道的多链路聚合方法、系统及存储介质 | |
CN106161565A (zh) | 消息推送方法及装置 | |
CN104468569A (zh) | 分布式数据的完整性检测方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180105 Termination date: 20191231 |
|
CF01 | Termination of patent right due to non-payment of annual fee |