文件传输方法及装置与流程

文档序号:11879087阅读:193来源:国知局
文件传输方法及装置与流程

本发明涉及文件传输技术领域,尤其涉及一种文件传输方法及装置。



背景技术:

在传输文件时,经常需要记录文件传输的进度,尤其是对大文件,一方面是为了方便查看当前进度信息,另一方面是为了若在文件传输的过程中出现中断,能够根据记录的进度信息进行断点续传。

现有技术中,通常是将待传输的文件按固定数据大小进行分块,并按照顺序对每个分块进行编号,且通过多线程的方式传输分块,在传输的过程中,记录已传输的编号和未传输的编号,即通过编号的方式记录文件传输的进度。然而,发明人在实现本发明的过程中,发现现有技术至少存在以下问题:在文件的传输过程中,通过编号的方式记录文件传输的进度,只能支持固定数据大小的分块的传输,而不能支持不同数据大小的分块的传输。



技术实现要素:

本发明实施例提供一种文件传输方法及装置,用以解决现有技术中通过编号的方式记录文件传输的进度只能支持固定数据大小的分块的传输的问题。

本发明实施例第一方面提供一种文件传输方法,包括:

接收文件的分块,获取所述分块的起始偏移位置信息和结束偏移位置信息;

记录所述分块的起始偏移位置信息和结束偏移位置信息;

根据一个或多个所述分块的起始偏移位置信息和结束偏移位置信息,确定所述文件的传输进度。

本发明实施例第二方面提供一种文件传输装置,包括:

接收获取模块,用于接收文件的分块,获取所述分块的起始偏移位置信息和结束偏移位置信息;

记录模块,用于记录所述分块的起始偏移位置信息和结束偏移位置信息;

进度确定模块,用于根据一个或多个所述分块的起始偏移位置信息和结束偏移位置信息,确定所述文件的传输进度。

从上述本发明实施例可知,本发明实施例提供一种文件传输方法,在该方法中,在接收到文件的分块之后,获取该分块的起始偏移位置信息和结束偏移位置信息,并记录该分块的起始偏移位置信息和结束偏移位置信息,根据一个或多个分块的起始偏移位置和结束偏移位置,确定该文件的传输进度。通过记录分块的起始偏移位置信息和结束偏移位置信息,使得对于不同数据大小的分块都能够实现有效的进度记录,能够有效的支持不同数据大小的分块的传输,且通过利用记录的起始偏移位置信息和结束偏移位置信息能够有效的确定文件的传输进度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明第一实施例中文件传输方法的流程示意图;

图2为本发明第二实施例中文件传输方法的流程示意图;

图3为本发明第三实施例中文件传输装置的结构示意图;

图4为本发明第四实施例中文件传输装置的结构示意图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

由于现有技术中,通过编号的方式记录文件传输的记录,只能支持固定数据大小的分块的传输,而不能支持不同数据大小的分块的传输。

为解决上述问题,本发明提出一种文件传输方法及装置,通过记录分块的起始偏移位置信息和结束偏移位置信息,使得对于不同数据大小的分块也能够实现进度的记录,有效支持不同数据大小的分块的文件传输,且通过利用记录的起始偏移位置信息和结束偏移位置信息能够有效的确定文件的传输进度。

请参阅图1,为本发明第一实施例中文件传输方法的流程示意图,该记录方法包括:

步骤101、接收文件的分块,获取分块的起始偏移位置信息和结束偏移位置信息;

步骤102、记录分块的起始偏移位置信息和结束偏移位置信息;

步骤103、根据一个或多个分块的起始偏移位置信息和结束偏移位置信息,确定文件的传输进度。

在本发明实施例中,文件在传输之前,可以按照不同的数据大小进行划分,得到不同数据大小的分块。其中,在将文件划分为不同数据大小的分块时,可以基于不同的规则进行划分,例如,可以根据当前网络传输文件时的网速,在实际应用中,可以根据具体的需要将文件划分为不同数据大小的分块,此处不做限定。例如:若文件的数据大小是100,则可以将文件划分0~5,5~13,14~30,31~45,46~80,80~90,91~99,以实现不同数据大小的划分。

在本发明实施例中,文件在划分为不同数据大小的分块之后,将通过多线程传输的方式传输给接收端,其中,该接收端可以是本发明实施例中的文件传输装置(以下简称:传输装置),且该传输装置能够实现本发明实施例中文件传输方法。其中,分块在文件中的位置是通过起始偏移位置信息及结束偏移位置信息进行标识的,且该起始偏移位置信息及结束偏移位置信息可以携带在分块中。

其中,传输装置在接收到文件的分块之后,将从该分块中获取该分块的起始偏移位置信息和结束偏移位置信息,并记录该分块的起始偏移位置信息和结束偏移位置信息,并根据一个或多个分块的起始偏移位置信息和结束偏移位置信息确定该文件的传输进度。其中,该一个或多个分块是指已记录的该文件的所有分块。

例如,若该分块的起始偏移位置信息为25,结束偏移位置信息为38,则记录该分块的起始偏移位置信息25及结束偏移位置信息38,如记录的格式为“25~38”,即通过区段的方式进行记录。

在接收到文件的分块之后,获取该分块的起始偏移位置信息和结束偏移位置信息,并记录该分块的起始偏移位置信息和结束偏移位置信息,并根据记录的分块的起始偏移位置信息和结束偏移位置信息确定文件传输的进度。通过记录分块的起始偏移位置信息和结束偏移位置信息,使得对于不同数据大小的分块都能够实现有效的进度记录,能够有效的支持不同数据大小的分块的传输,且通过利用记录的起始偏移位置信息和结束偏移位置信息能够有效的确定文件的传输进度。

需要说明的是,通过基于偏移位置信息的方式记录文件传输的进度,同样可以实现多线程的分块传输,及支持进度查询和断点续传。其中,可以通过如下方式实现多线程分块传输:在建立用于传输文件的连接之后,可建立多个线程,其中,每一个线程一次可以传输一个分块,且在一个分块传输完成之后,可以继续传输下一个分块,通过多个线程传输分块,可以实现一次传输多个分块的目的,能够有效的减少传输文件所需要的时间,提高传输效率。其中,若需要查询进度,则可以将已记录的所有分块的区段相加,以确定已传输的数据大小,并将该已传输的数据大小除以文件的数据大小,即可确定当前的传输进度,以完成进度查询。其中,若需要断点续传,则可以基于通过起始偏移位置和结束偏移位置记录的已传输的分块的区段,确定未传输的分块的起始偏移位置和结束偏移位置,并从该未传输的分块的起始偏移位置开始断点续传,例如:在文件大小为100,且在传输部分分块之后网络断开,导致只传输了部分数据,传输装置通过查询已记录的进度,确定已传输0~70的数据,即可确定未传输的分块的起始偏移位置为71,结束偏移位置为99,且将从起始偏移位置71开始断点续传,以完成整个文件的传输。

请参阅图2,为本发明第二实施例中文件传输方法的流程示意图,该文件传输方法包括:

步骤201、接收文件的分块,从分块中获取分块的协议头;

步骤202、从协议头中获取分块的起始偏移位置信息和结束偏移位置信息;

在本发明实施例中,文件在传输之前,可以按照不同的数据大小进行划分,得到不同数据大小的分块。其中,在将文件划分为不同数据大小的分块时,可以基于不同的规则进行划分,例如,可以根据当前网络传输文件时的网速,在实际应用中,可以根据具体的需要将文件划分为不同数据大小的分块,此处不做限定。例如:若文件的数据大小是100,则可以将文件划分0~5,5~13,14~30,31~45,46~80,80~90,91~99。

在本发明实施例中,文件在划分为不同数据大小的分块之后,将通过多线程传输的方式传输给接收端,其中,该接收端可以是本发明实施例中的文件传输装置(以下简称:传输装置),且该传输装置能够实现本发明实施例中文件传输方法。其中,分块在文件中的位置是通过起始偏移位置信息及结束偏移位置信息进行标识的,且该起始偏移位置信息及结束偏移位置信息可以携带在分块中。

其中,该分块中包含文件数据及协议头,该协议头用于保存该分块在文件中的起始偏移位置信息和结束偏移位置信息,且进一步的,该协议头中还可以包含文件的标识及文件的数据大小。

在本发明实施例中,传输装置在接收到文件的分块之后,将从该分块中获取协议头,并从该协议头中获取分块的起始偏移位置信息和结束偏移位置信息。

步骤203、判断是否已建立文件的临时文件;分别执行步骤204及步骤205;

步骤204、若已建立文件的临时文件,则将分块的起始偏移位置信息和结束偏移位置信息构成的区段写入临时文件;

步骤205、若未建立文件的临时文件,则新建文件的临时文件,并将分块的起始偏移位置信息和结束偏移位置信息构成的区段写入新建的临时文件;

在本发明实施例中,为了方便对文件传输的进度进行管理,传输装置可以为每一个传输的文件建立一个临时文件,该临时文件用于记录传输的文件已传输的分块的起始偏移位置和结束偏移位置构成的区段。

其中,临时文件与文件的标识之间具有对应关系,使得属于同一个文件的分块的偏移位置信息都将写入与该文件具有对应关系的临时文件中。

在本发明实施例中,具体可以是:从分块的协议头中获取该分块所属文件的文件标识,并基于该文件标识查找文件标识与临时文件之间的对应关系,若查找到,则说明已建立该文件的临时文件,若未查找到,则说明未建立该文件的临时文件。

其中,若已建立该文件的临时文件,则传输装置将分块的起始偏移位置信息和结束偏移位置信息构成的区段写入该临时文件中,且该起始偏移位置信息和结束偏移位置信息是区段的格式可以为:例如“200~299”。

其中,若未建立该文件的临时文件,则传输装置将新建该文件的临时文件,并将该分块的起始偏移位置信息和结束偏移位置信息构成的区段写入该临时文件,进一步的,传输装置还将记录该文件的标识与该新建的临时文件之间的对应关系,使得后续每一个属于该文件的分块的起始偏移位置信息和结束偏移位置信息构成的区段都能够记录到该临时文件中,以完成文件传输的进度的记录。

需要说明的是,传输装置在将分块的起始偏移位置信息和结束偏移位置信息构成的区段写入临时文件时,若该临时文件不为空,则将基于起始偏移位置信息从小到大的顺序将该分块的起始偏移位置信息和结束偏移位置信息构成的区段插入至已有的区段中。例如,临时文件中已有的区段包括:0~50,200~299,400~500,600~700,若需要写入的起始偏移位置信息和结束偏移位置信息的区段是320~380,则在将该区段写入之后,临时文件中区段的排列变为:0~50,200~299,320~380,400~500,600~700。

步骤206、检测临时文件中是存在起始偏移位置信息和结束偏移位置信息相邻的两个或多个区段;

步骤207、若存在,则将相邻的区段合并为一个区段;

步骤208、根据临时文件中包含的所有区段确定文件的传输进度;执行步骤209或者210;

在本发明实施例中,传输装置在将一个或多个分块的起始偏移位置信息和结束偏移位置信息构成的区段写入临时文件之后,将检测该临时文件中是否存在起始偏移位置信息和结束偏移位置信息相邻的两个或多个区段。且若存在起始偏移位置信息和结束偏移位置信息构成的区段相邻的两个或多个区段,则将该相邻的区段的合并为一个区段。

例如,在临时文件中写入的区段包括:0~50,200~299,500~700的情况下,若传输装置将区段300~350写入该临时文件,则可确定区段200~299的结束偏移位置信息299与区段300~350的起始偏移位置信息相邻,则将区段200~299及区段300~350合并为一个区段,即区段200~350,合并之后,临时文件中的区段包括:0~50,200~350,500~700。

在本发明实施例中,传输装置将按照上述的方式将临时文件中连续的两个或多个区段合并为一个区段,直至该临时文件中不再包含连续的区段为止。

在本发明实施例中,由于分块的协议头中可以包含文件的数据大小,因此,传输装置还可以根据临时文件中包含的区段确定文件传输的进度,具体的:基于临时文件中已记录的区段确定已传输的数据大小,并将该已传输的数据大小除以该文件的数据大小,即可得到文件的传输进度,且为了方便用户确认是否已经完成文件传输,还可以在显示界面上显示进度条,或者进度圈。

步骤209、若临时文件中仅包含一个区段且区段的大小等于文件的数据大小,或者文件的传输进度为百分百,则确定文件已经完成传输;

在本发明实施例中,传输装置将实时检测是否已经完成文件的传输,且若检测到临时文件中仅包含一个区段该区段的大小等于文件的数据大小,或者步骤208中计算的传输进度为百分百,则可确定该文件已经完成传输。

或者,在本发明实施例中,传输装置还可以通过判断文件的传输进度是否等于百分百的方式确定是否已经完成传输,且若在文件的传输进度等于百分百时,可表明已经完成文件的传输。

步骤210、在临时文件中包含至少两个区段时,若检测到传输文件的连接断开,则根据至少两个区段计算未传输的区段位置;

步骤211、若检测到传输文件的连接重新建立后,则根据未传输的区段位置进行续传。

在本发明实施例中,在临时文件中包含至少两个区段时,若检测到传输文件的连接断开,则表明当前出现网络故障或者用户主动断开连接,文件无法继续传输,在这种情况下,将根据临时文件中包含的所有区段计算未传输的区段位置,例如,若文件的大小为100,临时文件中包含区段0~40,60~100,则可以确定未传输的区段位置为41~59。其中,确定未传输的区段位置是便于在下一次传输该文件时,可以仅传输未传输的区段位置对应的分块,而不需要从头开始传输,能够有效节约传输时间及避免浪费流量。具体的,在检测到传输文件的连接重新建立后,根据该未传输的区段位置进行续传,以完成整个文件的完整传输。

在本方发明实施例中,传输装置接收文件的分块后,从该分块中获取分块的协议头,并从该协议头中获取分块的起始偏移位置信息和结束偏移位置信息,判断是否已建立该文件的临时文件,若已建立该文件的临时文件,则将该分块的起始偏移位置信息和结束偏移位置信息构成的区段写入临时文件,若为建立文件的临时文件,则新建该文件的临时文件,并将分块的起始偏移位置信息和结束偏移位置信息构成的区段写入该新建的临时文件中。且传输装置还将检测临时文件中是否存在起始偏移位置信息和结束偏移位置信息相邻的两个或多个区段,若存在,则将相邻的区段的合并为一个区段。并根据临时文件中包含的所有区段确定文件的传输进度,且在临时文件中仅包含一个区段,且该区段的大小等于文件的条件下,或者在传输进度为百分百的条件下,则确定文件已经完成传输。通过基于偏移位置信息的方式记录文件传输的进度,使得能够实现不同数据大小的分块的传输的记录,有效支持不同数据大小的分块的传输,且基于偏移位置信息记录文件传输进度的方式也能够支持多线程分块传输,及支持进度查询和断点续传,满足文件传输的所有需求。

请参阅图3,图3是本发明第三实施例中文件传输装置的结构示意图,该装置主要包括:接收获取模块301、记录模块302。各功能模块详细说明如下:

接收获取模块301,用于接收文件的分块,获取分块的起始偏移位置信息和结束偏移位置信息;

记录模块302,用于记录分块的起始偏移位置信息和结束偏移位置信息;

进度确定模块303,用于根据一个或多个分块的起始偏移位置信息和结束偏移位置信息,确定文件的传输进度。

在本发明实施例中,文件在传输之前,可以按照不同的数据大小进行划分,得到不同数据大小的分块。其中,在将文件划分为不同数据大小的分块时,可以基于不同的规则进行划分,例如,可以根据当前网络传输文件时的网速,在实际应用中,可以根据具体的需要将文件划分为不同数据大小的分块,此处不做限定。例如:若文件的数据大小是100,则可以将文件划分0~5,5~13,14~30,31~45,46~80,80~90,91~99,以实现不同数据大小的划分。

在本发明实施例中,文件在划分为不同数据大小的分块之后,将通过多线程传输的方式传输给接收端,其中,该接收端可以是本发明实施例中的文件传输装置(以下简称:传输装置)。其中,分块在文件中的位置是通过起始偏移位置信息及结束偏移位置信息进行标识的,且该起始偏移位置信息及结束偏移位置信息可以携带在分块中。

其中,接收获取模块301在接收到文件的分块之后,将从该分块中获取该分块的起始偏移位置信息和结束偏移位置信息,并由记录模块302记录该分块的起始偏移位置信息和结束偏移位置信息,再由进度确定模块303根据一个或多个分块的起始偏移位置信息和结束便宜位置信息,确定文件的传输进度。

例如,若该分块的起始偏移位置信息为25,结束偏移位置信息为38,则记录该分块的起始偏移位置信息25及结束偏移位置信息38,如记录的格式为“25~38”,即通过区段的方式进行记录。

在接收到文件的分块之后,接收获取模块301获取该分块的起始偏移位置信息和结束偏移位置信息,并由记录模块302记录该分块的起始偏移位置信息和结束偏移位置信息,且由进度确定模块303根据记录的分块的起始偏移位置信息和结束偏移位置信息确定文件传输的进度。通过记录分块的起始偏移位置信息和结束偏移位置信息,使得对于不同数据大小的分块都能够实现有效的进度记录,能够有效的支持不同数据大小的分块的传输,且通过利用记录的起始偏移位置信息和结束偏移位置信息能够有效的确定文件的传输进度。

需要说明的是,通过基于偏移位置信息的方式记录文件传输的进度,同样可以实现多线程的分块传输,及支持进度查询和断点续传。其中,可以通过如下方式实现多线程分块传输:在建立用于传输文件的连接之后,可建立多个线程,其中,每一个线程一次可以传输一个分块,且在一个分块传输完成之后,可以继续传输下一个分块,通过多个线程传输分块,可以实现一次传输多个分块的目的,能够有效的减少传输文件所需要的时间,提高传输效率。其中,若需要查询进度,则可以将已记录的所有分块的区段相加,以确定已传输的数据大小,并将该已传输的数据大小除以文件的数据大小,即可确定当前的传输进度,以完成进度查询。其中,若需要断点续传,则可以基于通过起始偏移位置和结束偏移位置记录的已传输的分块的区段,确定未传输的分块的起始偏移位置和结束偏移位置,并从该未传输的分块的起始偏移位置开始断点续传,例如:在文件大小为100,且在传输部分分块之后网络断开,导致只传输了部分数据,传输装置通过查询已记录的进度,确定已传输0~70的数据,即可确定未传输的分块的起始偏移位置为71,结束偏移位置为99,且将从起始偏移位置71开始断点续传,以完成整个文件的传输。

请参阅图4,图4是本发明第四实施例中文件传输装置的结构示意图,该装置包括如图3所示第三实施例中的接收获取模块301、记录模块302及进度确定模块303,且与图3所示第三实施例中描述的内容相似,此处不再赘述。

在本发明实施例中,接收获取模块301包括:

第一获取模块401,用于接收文件的分块,从分块中获取分块的协议头;

第二获取模块402,用于从协议头中获取分块的起始偏移位置信息和结束偏移位置信息。

在本发明实施例中,文件在传输之前,可以按照不同的数据大小进行划分,得到不同数据大小的分块。其中,在将文件划分为不同数据大小的分块时,可以基于不同的规则进行划分,例如,可以根据当前网络传输文件时的网速,在实际应用中,可以根据具体的需要将文件划分为不同数据大小的分块,此处不做限定。例如:若文件的数据大小是100,则可以将文件划分0~5,5~13,14~30,31~45,46~80,80~90,91~99。

在本发明实施例中,文件在划分为不同数据大小的分块之后,将通过多线程传输的方式传输给接收端,其中,该接收端可以是本发明实施例中的文件传输装置(以下简称:传输装置)。其中,分块在文件中的位置是通过起始偏移位置信息及结束偏移位置信息进行标识的,且该起始偏移位置信息及结束偏移位置信息可以携带在分块中。

其中,该分块中包含文件数据及协议头,该协议头用于保存该分块在文件中的起始偏移位置信息和结束偏移位置信息,且进一步的,该协议头中还可以包含文件的标识及文件的数据大小。

在本发明实施例中,第一获取模块401在接收到文件的分块之后,将从该分块中获取协议头,并由第二获取模块402从该协议头中获取分块的起始偏移位置信息和结束偏移位置信息。

在本发明实施例中,记录模块302包括:

判断模块403,用于判断是否已建立文件的临时文件;

写入模块404,用于若已建立文件的临时文件,则将分块的起始偏移位置信息和结束偏移位置信息构成的区段写入临时文件;

建立及写入模块405,用于若未建立文件的临时文件,则新建文件的临时文件,并将分块的起始偏移位置信息和结束偏移位置信息构成的区段写入新建的临时文件。

在本发明实施例中,为了方便对文件传输的进度进行管理,传输装置可以为每一个传输的文件建立一个临时文件,该临时文件用于记录传输的文件已传输的分块的起始偏移位置和结束偏移位置构成的区段。

其中,临时文件与文件的标识之间具有对应关系,使得属于同一个文件的分块的偏移位置信息都将写入与该文件具有对应关系的临时文件中。

在本发明实施例中,判断模块403将判断是否已建立接收到的分块所属文件的临时文件,具体可以是:传输装置从分块的协议头中获取该分块所属文件的文件标识,并基于该文件标识查找文件标识与临时文件之间的对应关系,若查找到,则说明已建立该文件的临时文件,若未查找到,则说明未建立该文件的临时文件。

其中,若已建立该文件的临时文件,则写入模块404将分块的起始偏移位置信息和结束偏移位置信息构成的区段写入该临时文件中,且该起始偏移位置信息和结束偏移位置信息是区段的格式可以为:例如“200~299”。

其中,若未建立该文件的临时文件,则建立及写入模块405将新建该文件的临时文件,并将该分块的起始偏移位置信息和结束偏移位置信息构成的区段写入该临时文件,进一步的,传输装置还将记录该文件的标识与该新建的临时文件之间的对应关系,使得后续每一个属于该文件的分块的起始偏移位置信息和结束偏移位置信息构成的区段都能够记录到该临时文件中,以完成文件传输的进度的记录。

需要说明的是,传输装置在将分块的起始偏移位置信息和结束偏移位置信息构成的区段写入临时文件时,若该临时文件不为空,则将基于起始偏移位置信息从小到大的顺序将该分块的起始偏移位置信息和结束偏移位置信息构成的区段插入至已有的区段中。例如,临时文件中已有的区段包括:0~50,200~299,400~500,600~700,若需要写入的起始偏移位置信息和结束偏移位置信息的区段是320~380,则在将该区段写入之后,临时文件中区段的排列变为:0~50,200~299,320~380,400~500,600~700。

在本发明实施例中,传输装置还包括:

检测模块406,用于检测临时文件中是存在起始偏移位置信息和结束偏移位置信息相邻的两个或多个区段;

合并模块407,用于若存在,则将相邻两个或多个区段合并为一个区段;

且进度确定模块303具体用于:根据临时文件中包含的所有区段确定文件的传输进度。

在本发明实施例中,传输装置在将一个或多个分块的起始偏移位置信息和结束偏移位置信息构成的区段写入临时文件之后,检测模块406检测该临时文件中是否存在起始偏移位置信息和结束偏移位置信息相邻的两个或多个区段。且若存在起始偏移位置信息和结束偏移位置信息构成的区段相邻的两个或多个区段,则合并模块407将该相邻的区段的合并为一个区段。

例如,在临时文件中写入的区段包括:0~50,200~299,500~700的情况下,若传输装置将区段300~350写入该临时文件,则可确定区段200~299的结束偏移位置信息299与区段300~350的起始偏移位置信息相邻,则将区段200~299及区段300~350合并为一个区段,即区段200~350,合并之后,临时文件中的区段包括:0~50,200~350,500~700。

在本发明实施例中,传输装置将按照上述的方式将临时文件中连续的两个或多个区段合并为一个区段,直至该临时文件中不再包含连续的区段为止。

需要说明的是,由于分块的协议头中可以包含文件的数据大小,因此,传输装置还可以根据临时文件中包含的区段确定文件传输的进度,具体的:基于临时文件中已记录的区段确定已传输的数据大小,并将该已传输的数据大小除以该文件的数据大小,即可得到文件的传输进度,且为了方便用户确认是否已经完成文件传输,还可以在显示界面上显示进度条,或者进度圈。

在本发明实施例中,传输装置还包括:

确定模块408,用于若临时文件中仅包含一个区段且区段的大小等于文件的数据大小,或者文件的传输进度为百分百,则确定文件已经完成传输。

在本发明实施例中,传输装置将实时检测是否已经完成文件的传输,且若检测到临时文件中仅包含一个区段且该区段的大小等于文件的数据大小,或者文件的传输进度为百分百,则确定模块408确定该文件已经完成传输。

或者,在本发明实施例中,确定模块408还可以通过判断文件的传输进度是否等于百分百的方式确定是否已经完成传输,且若在文件的传输进度等于百分百时,可表明已经完成文件的传输。

在本发明实施例中,传输装置还包括:

计算模块409,用于在临时文件中包含至少两个区段时,若检测到传输文件的连接断开,则根据至少两个区段计算未传输的区段位置;

续传模块410,用于若检测到传输文件的连接重新建立后,则根据未传输的区段位置进行续传。

在本发明实施例中,在临时文件中包含至少两个区段时,若检测到传输文件的连接断开,则表明当前出现网络故障或者用户主动断开连接,文件无法继续传输,在这种情况下,计算模块409将根据临时文件中包含的所有区段计算未传输的区段位置,例如,若文件的大小为100,临时文件中包含区段0~40,60~100,则可以确定未传输的区段位置为41~59。其中,确定未传输的区段位置是便于在下一次传输该文件时,可以仅传输未传输的区段位置对应的分块,而不需要从头开始传输,能够有效节约传输时间及避免浪费流量。具体的,在检测到传输文件的连接重新建立后,续传模块410根据该未传输的区段位置进行续传,以完成整个文件的完整传输。

在本方发明实施例中,传输装置接收文件的分块后,从该分块中获取分块的协议头,并从该协议头中获取分块的起始偏移位置信息和结束偏移位置信息,判断是否已建立该文件的临时文件,若已建立该文件的临时文件,则将该分块的起始偏移位置信息和结束偏移位置信息构成的区段写入临时文件,若为建立文件的临时文件,则新建该文件的临时文件,并将分块的起始偏移位置信息和结束偏移位置信息构成的区段写入该新建的临时文件中。且传输装置还将检测临时文件中是否存在起始偏移位置信息和结束偏移位置信息相邻的两个或多个区段,若存在,则将相邻的区段的合并为一个区段,且在临时文件中仅包含一个区段且该区段的大小等于文件的条件下,或者在文件的传输进度为百分百的条件下,则确定文件已经完成传输。通过基于偏移位置信息的方式记录文件传输的进度,使得能够实现不同数据大小的分块的传输的记录,有效支持不同数据大小的分块的传输,且基于偏移位置信息记录文件传输进度的方式也能够支持多线程分块传输,及支持进度查询和断点续传,满足文件传输的所有需求。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上为对本发明所提供的一种文件传输方法及装置的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1