一种文件传输的方法、系统、发送端及接收端与流程

文档序号:11215931阅读:726来源:国知局
一种文件传输的方法、系统、发送端及接收端与流程

本发明实施例涉及文件传输技术领域,特别是涉及一种文件传输的方法、系统、发送端及接收端。



背景技术:

在互联网时代,信息共享已经成为人们生活的一部分。文件传输无时无刻不在进行着,在大量文件的传输应用中,通常会出现用户多次上传或下载同样文件的情况,那么大量相同的文件在多次传输的过程每次均需要占用一定的带宽资源,因此,在相同文件的多次传输过程中会浪费一定的带宽资源,并且在一定程度上降低了文件的传输速度、降低了用户体验。

因此,如何提供一种解决上述技术问题的文件传输的方法、系统、发送端及接收端成为本领域的技术人员需要解决的问题。



技术实现要素:

本发明实施例的目的是提供一种文件传输的方法、系统、发送端及接收端,在使用过程中在一定程度上节约了带宽资源、提高了传输速度,同时提升了用户体验。

为解决上述技术问题,本发明实施例提供了一种文件传输的方法,包括:

发送端将待发送文件分割为多个数据块,并将所述待发送文件的文件信息发送至接收端;所述文件信息包括与各个所述数据块一一对应的标识码以及各个所述数据块的排列顺序;

所述接收端接收所述文件信息,并将各个所述标识码与缓存区中所存储的各个数据块的标识码进行匹配,以确定出各个待发送数据块,并将各个所述待发送数据块的标识码返回至发送端;

所述发送端依据各个所述待发送数据块的标识码,从分割得到的各个所述数据块中找到各个所述待发送数据块,并将各个所述待发送数据块发送至接收端;

所述接收端将所述待发送数据块存储至所述缓存区中,并从所述缓存区中获取与各个所述标识码对应的各个数据块,并按照所述排列顺序将各个所述数据块进行组合以形成接收文件。

可选的,所述发送端将待发送文件分割为多个数据块之前还包括:

将待发送的文件进行压缩得到待发送文件;

则,所述按照所述排列顺序将各个所述数据块进行组合以形成接收文件的过程具体为:

按照所述排列顺序将各个所述数据块进行组合得到组合后的数据文件;

将所述组合后的数据文件进行解压缩操作,得到接收文件。

可选的,所述发送端将待发送文件分割为多个数据块的过程具体为:

发送端按照预设长度将待发送文件分割为多个数据块。

可选的,所述文件信息还包括待发送文件的标识码;所述方法还包括:

接收端获取所述接收文件的标识码,并判断所述接收文件的标识码与所述待发送文件的标识码是否一致,如果是,则文件传输成功。

可选的,所述文件信息还包括文件名称、文件大小以及每个所述数据块的大小。

可选的,如上述所述的文件传输方法,所述标识码为md5值;所述md5值为依据信息摘要算法5对相应的数据块进行计算得到的。

为解决上述技术问题,本发明实施例提供了一种发送端,包括:

分割模块,用于将待发送文件分割为多个数据块;

第一发送模块,用于获取所述待发送文件的文件信息,并将所述待发送文件的文件信息发送至接收端;所述文件信息包括与各个所述数据块一一对应的标识码以及各个所述数据块的排列顺序;还用于将各个待发送数据块发送至接收端;

第一查找模块,用于接收端发送的各个所述待发送数据块的标识码,并依据各个所述待发送数据块的标识码,从分割得到的各个所述数据块中找到各个所述待发送数据块。

为解决上述技术问题,本发明实施例提供了一种接收端,包括:

第二查找模块,用于接收所述文件信息,并将各个所述标识码与缓存区中所存储的各个数据块的标识码进行匹配,以确定出各个待发送数据块;

第二发送模块,用于将各个所述待发送数据块的标识码返回至发送端,以便所述发送端依据所述待发送数据块的标识码找到相应的待发送数据块;

存储模块,用于接收发送端发送的所述待发送数据块,并将其存储至所述缓存区中;

组合模块,用于从所述缓存区中获取与各个所述标识码对应的各个数据块,并按照所述排列顺序将各个所述数据块进行组合以形成接收文件。

为解决上述技术问题,本发明实施例提供了一种文件传输系统,包括如上述所述的发送端和如上述所述的接收端。

本发明提供了一种文件传输的方法、系统、发送端和接收端,包括发送端将待发送文件分割为多个数据块,并将待发送文件的文件信息发送至接收端;文件信息包括与各个数据块一一对应的标识码以及各个数据块的排列顺序;接收端接收文件信息,并将各个标识码与缓存区中所存储的各个数据块的标识码进行匹配,以确定出各个待发送数据块,并将各个待发送数据块的标识码返回至发送端;发送端依据各个待发送数据块的标识码,从分割得到的各个数据块中找到各个待发送数据块,并将各个待发送数据块发送至接收端;接收端将待发送数据块存储至缓存区中,并从缓存区中获取与各个标识码对应的各个数据块,并按照排列顺序将各个数据块进行组合以形成接收文件。

可见,在进行文件传输的过程中,本发明实施例采用分块传输的方式传输文件,发送端在发送文件之前,先将待发送文件分割成多个数据块,并且每个数据块均对应一个标识码,发送端将包括各个标识码的文件信息发送至接收端,接收端根据各个标识码到缓存区中所缓存的各个数据块中进行查找,将没有缓存至缓存区中的数据块找出,并将这些没有缓存至缓存区中的数据块作为待发送数据块,将与待发送数据块对应的标识码返回至发送端,发送端依据待发送数据块的标识码将各个待发送数据块发送至接收端,并存储至缓存区中,从而使接收端可以从缓存区中得到与待发送文件对应的所有数据块,并将这些数据块进行组合即可得到接收文件,也即实现了待发送文件的传输。本发明实施例在使用的过程中在一定程度上节约了带宽资源、提高了传输速度,同时提升了用户体验。

附图说明

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

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

图2为本发明实施例提供的一种发送端的结构示意图;

图3为本发明实施例提供的一种接收端的结构示意图;

图4为本发明实施例提供的一种文件传输的系统的结构示意图。

具体实施方式

本发明实施例提供了一种文件传输的方法、系统、发送端及接收端,在使用过程中在一定程度上节约了带宽资源、提高了传输速度,同时提升了用户体验。

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

请参照图1,图1为本发明实施例提供的一种文件传输的方法的流程示意图。该方法包括:

s11:发送端将待发送文件分割为多个数据块,并将待发送文件的文件信息发送至接收端;文件信息包括与各个数据块一一对应的标识码以及各个数据块的排列顺序;

s12:接收端接收文件信息,并将各个标识码与缓存区中所存储的各个数据块的标识码进行匹配,以确定出各个待发送数据块,并将各个待发送数据块的标识码返回至发送端;

s13:发送端依据各个待发送数据块的标识码,从分割得到的各个数据块中找到各个待发送数据块,并将各个待发送数据块发送至接收端;

s14:接收端将待发送数据块存储至缓存区中,并从缓存区中获取与各个标识码对应的各个数据块,并按照排列顺序将各个数据块进行组合以形成接收文件。

需要说明的是,本发明实施例需要预先在接收端(即接收端磁盘)上建立一个缓存区,并且本发明实施例中的发送端是采用分块传输的方式发送文件的,接收端将接收到的每个数据块均存储至缓存区中,以便后续在进行文件传输时,可以依据发送端发送的各个数据块的标识码到缓存区中确定哪些数据块已经存储在缓存区中,哪些没有存储过,存储在缓存区中的数据块说明以往发送过,而现有又要发送同样的数据块。在缓存区中依据存储的数据库无需再发送,只发送缓存区中没有存储的数据块即可,从而接收端可以从缓存区中获取将与待发送文件向对应的所有的数据块,并对其进行组合后即可得到接收文件(也即待发送文件),以实现文件的传输。

具体的,本发明实施例中所提供的标识码为与各个数据块唯一对应的标识码,并且当数据块中的某个字节发送变化时,其标识码就会发生变化,从而可以依据标识码是否相同来确定数据块是否相同。该标识码可以为md5值,也即,将与每个数据块对应的md5值作为标识码。当然,标识码不仅限于为md5值,也可以为其他类型的标识码,具体的本发明实施例对此不做特殊的限定,能实现本发明实施例的目的即可。

另外,还需要说明的是,在对待发送文件进行分割时可以对分割后的各个数据块进行编号,或者是将各个数据块的首尾进行编号处理,以确定出各个数据块的排列顺序,为后期对各个数据块的组合提供依据。

当然,各个数据块的排列顺序不仅限于采用上述方法进行确定,也可以通过其他的方式进行确定,具体的本发明实施例对此不做特殊的限定,能实现本发明实施例的目的即可。

本发明提供了一种文件传输的方法,包括发送端将待发送文件分割为多个数据块,并将待发送文件的文件信息发送至接收端;文件信息包括与各个数据块一一对应的标识码以及各个数据块的排列顺序;接收端接收文件信息,并将各个标识码与缓存区中所存储的各个数据块的标识码进行匹配,以确定出各个待发送数据块,并将各个待发送数据块的标识码返回至发送端;发送端依据各个待发送数据块的标识码,从分割得到的各个数据块中找到各个待发送数据块,并将各个待发送数据块发送至接收端;接收端将待发送数据块存储至缓存区中,并从缓存区中获取与各个标识码对应的各个数据块,并按照排列顺序将各个数据块进行组合以形成接收文件。

可见,在进行文件传输的过程中,本发明实施例采用分块传输的方式传输文件,发送端在发送文件之前,先将待发送文件分割成多个数据块,并且每个数据块均对应一个标识码,发送端将包括各个标识码的文件信息发送至接收端,接收端根据各个标识码到缓存区中所缓存的各个数据块中进行查找,将没有缓存至缓存区中的数据块找出,并将这些没有缓存至缓存区中的数据块作为待发送数据块,将与待发送数据块对应的标识码返回至发送端,发送端依据待发送数据块的标识码将各个待发送数据块发送至接收端,并存储至缓存区中,从而使接收端可以从缓存区中得到与待发送文件对应的所有数据块,并将这些数据块进行组合即可得到接收文件,也即实现了待发送文件的传输。本发明实施例在使用的过程中在一定程度上节约了带宽资源、提高了传输速度,同时提升了用户体验。

本发明实施例公开了一种文件传输的方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

在上一实施例的s11,发送端将待发送文件分割为多个数据块之前还包括:

将待发送的文件进行压缩得到待发送文件;

具体的,为了更进一步节约带宽可以将待发送的文件进行压缩,然后在将压缩后的文件进行分割操作,进一步使分割后的每个数据库均为压缩数据库,从而使在对相应的待发送数据块进行发送的过程中可以节约一定的带宽。

则,在上一实施例的s14中,按照排列顺序将各个数据块进行组合以形成接收文件的过程,具体可以为:

按照排列顺序将各个数据块进行组合得到组合后的数据文件;

将组合后的数据文件进行解压缩操作,得到接收文件。

需要说明的是,如果发送端所发送的待发送数据块为压缩后的待发送数据分割而成的,则再接收端将与接收到的所有的标识码对应的各个数据块组合得到的数据文件进行解压缩操作才能得到与待发送的文件相同的文件。

进一步的,在上述实施例的s11中,发送端将待发送文件分割为多个数据块的过程,具体可以为:

发送端按照预设长度将待发送文件分割为多个数据块。

需要说明的是,可以按照预设长度将待发送数据分割成多个数据块,当然,从待发送数据的起始位置至终止位置算起,除了分割而成的最后一个数据块外,其他的数据块均按照预设长度均分分割,最后一个数据块的大小可以与其他的数据块不同。另外,对于预设长度的具体数据可以根据实际情况进行设定,本发明实施例对此不做特殊的限定,能实现本发明实施例的目的即可。

具体的,文件信息还包括待发送文件的标识码;则该方法还可以包括:

接收端获取接收文件的标识码,并判断接收文件的标识码与待发送文件的标识码是否一致,如果是,则文件传输成功。

需要说明的是,本发明实施例中优选的可以对接收端组合而成的接收文件进行验证,以确定该接收文件就是发送端要发送的待发送文件。具体的,发送端可以将与待发送文件唯一对应的标识码发送至接收端,接收端在对所有相应的数据块进行组合得到接收文件后,可以获取与该接收文件唯一对应的标识码,并将接收文件的标识码与待发送文件的标识码进行比较,如果两个标识码一样则说明文件传输成功,也即传输过程中没有发生错误;如果两个标识码不一样则说明接收文件并不是发送端发送的待发送文件,待发送数据库在传输过程中可能发生了错误,此时,接收端可以向发送端返回错误提示,以便发送端重新发送相应的待发送数据块。

当然,当文件发送成功时,接收端也可以向发送端返回发送成功的提示信息,以便用户知道发送结果。

可选的,文件信息还包括文件名称、文件大小以及每个数据块的大小。

需要说明的是,不仅限于包括上述几种信息,还可以包括其他的信息,具体包括哪些信息本发明实施例对此不做特殊的限定,能实现本发明实施例的目的即可。

可选的,如上述的文件传输方法,标识码为md5值;md5值为依据信息摘要算法5对相应的数据块进行计算得到的。

具体的,本发明实施例中的标识码优选的为md5值,当然,也可以为其他的标识码,具体的,本发明实施例对此不做特殊的限定,能实现本发明实施例的目的即可。

相应的,本发明实施例公开了一种发送端,具体请参照图2,图2为本发明实施例提供的一种发送端的结构示意图在上述实施例的基础上:

该发送端包括:

分割模块11,用于将待发送文件分割为多个数据块;

第一发送模块12,用于获取待发送文件的文件信息,并将待发送文件的文件信息发送至接收端;文件信息包括与各个数据块一一对应的标识码以及各个数据块的排列顺序;还用于将各个待发送数据块发送至接收端;

第一查找模块13,用于接收端发送的各个待发送数据块的标识码,并依据各个待发送数据块的标识码,从分割得到的各个数据块中找到各个待发送数据块。

相应的,本发明实施例公开了一种接收端,具体请参照图2,图2为本发明实施例提供的一种接收端的结构示意图。在上述实施例的基础上:

该接收端包括:

第二查找模块21,用于接收文件信息,并将各个标识码与缓存区中所存储的各个数据块的标识码进行匹配,以确定出各个待发送数据块;

第二发送模块22,用于将各个待发送数据块的标识码返回至发送端,以便发送端依据待发送数据块的标识码找到相应的待发送数据块;

存储模块23,用于接收发送端发送的待发送数据块,并将其存储至缓存区中;

组合模块24,用于从缓存区中获取与各个标识码对应的各个数据块,并按照排列顺序将各个数据块进行组合以形成接收文件。

请参照图4,图4为本发明实施例提供的一种文件传输的系统的结构示意图。在上述实施例的基础上:

本发明实施例提供了一种文件传输系统,包括如上述的发送端和如上述的接收端。

需要说明的是,本发明提供了一种文件传输的系统,在使用的过程中在一定程度上节约了带宽资源、提高了传输速度,同时提升了用户体验。另外,对于本发明实施例中所涉及到的文件传输方法的具体介绍请参照上述方法实施例,本申请在此不再赘述。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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