CN105227649A - 一种文件传输方法及装置 - Google Patents
一种文件传输方法及装置 Download PDFInfo
- Publication number
- CN105227649A CN105227649A CN201510604614.5A CN201510604614A CN105227649A CN 105227649 A CN105227649 A CN 105227649A CN 201510604614 A CN201510604614 A CN 201510604614A CN 105227649 A CN105227649 A CN 105227649A
- Authority
- CN
- China
- Prior art keywords
- file
- list items
- listed files
- packaging
- list
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种文件传输方法及装置,涉及互联网技术领域,应用于发送端的方法包括:根据多个待传输文件获得文件列表;根据预设的文件打包规则对文件列表中文件状态标识为第一文件状态标识的列表项对应的文件进行文件打包处理,生成打包文件,并根据所生成的打包文件,按照预设的列表更新规则,更新文件列表中包含的列表项;在获得文件列表后,循环执行以下步骤直至逐个将文件列表中文件状态标识为第二文件状态标识的列表项对应的文件发送至接收端:确定文件列表中当前文件状态为第三文件状态标识的列表项对应的文件中占用存储空间最大的文件;将所确定的文件发送至接收端。应用本发明实施例提供的方案传输文件,提高了文件传输效率。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种文件传输方法及装置。
背景技术
随着网络技术的快速发展,两个终端之间可以便捷的通过网络传输文件,从而实现不同用户之间的信息分享。
现有技术中,两个终端之间传输文件时,通常采用P2P(PeertoPeer)对传法实现文件传输。采用P2P对传法实现文件传输时,用于发送文件的终端每次向用于接收文件的终端发送一个文件,均需先与用于接收文件的终端建立连接,成功建立连接后才能向用于接收文件的终端发送文件。这样在用于发送文件的终端需要向用于接收文件的终端发送大量文件时,要多次建立连接,进而导致两个终端之间传输文件时在建立连接上消耗的时间较多,另外,两个终端之间每次建立连接,文件传输速度均会从较低的速度开始慢慢达到较高的速度,这样两个终端之间传输文件时无法保证能够以较高的速度传输文件。
综合以上,应用现有技术在两个终端之间传输文件时,文件传输效率低。
发明内容
本发明实施例公开了一种文件传输方法及装置,以提高文件传输效率。
为达到上述目的,本发明实施例公开了一种文件传输方法,应用于发送端,所述方法包括:
根据多个待传输文件获得文件列表,其中,所述文件列表中包含多个列表项,各个列表项与待传输文件一一对应;
根据预设的文件打包规则对所述文件列表中文件状态标识为第一文件状态标识的列表项对应的文件进行文件打包处理,生成打包文件,并根据所生成的打包文件,按照预设的列表更新规则,更新所述文件列表中包含的列表项,其中,所述预设的文件打包规则为:根据多个文件生成一个打包文件的规则,所述第一文件状态标识表示文件处于未打包状态且处于未发送状态;
在获得所述文件列表后,循环执行以下步骤直至逐个将所述文件列表中文件状态标识为第二文件状态标识的列表项对应的文件发送至接收端,其中,所述第二文件状态标识表示文件处于未发送状态:
确定所述文件列表中当前文件件状态为第三文件状态标识的列表项对应的文件中占用存储空间最大的文件,其中,所述第三文件状态标识表示文件处于未发送状态且处于非正在打包状态;将所确定的文件发送至所述接收端。
在本发明的一种具体实现方式中,所述根据预设的文件打包规则对所述文件列表中文件状态标识为第一文件状态标识的列表项对应的文件进行文件打包处理,生成打包文件,包括:
确定所述文件列表中当前剩余的文件状态标识为第一文件状态标识的列表项;
在所确定列表项的数量小于预设阈值的情况下,根据所确定列表项对应文件的大小,估算向所述接收端发送所确定列表项对应文件的第一估算时间,并根据预估的将所确定列表项对应的文件进行文件打包处理所生成打包文件的大小,估算先所述接收端发送所生成的打包文件的第二估算时间;
在所述第一估算时间大于第二估算时间的情况下,对所确定的列表项对应的文件进行文件打包处理,并生成打包文件。
在本发明的一种具体实现方式中,在所述将所确定的文件发送至所述接收端后,还包括:
释放用于发送所确定的文件的存储资源。
在本发明的一种具体实现方式中,在所述将所确定的文件发送至所述接收端后,还包括:
判断所确定的文件是否为打包文件;
若为是,释放所确定的文件占用的存储资源。
在本发明的一种具体实现方式中,在将所述文件列表中文件状态标识为第二文件状态标识的列表项对应的文件全部发送至所述接收端后,还包括:
将根据多个待传输文件获得的文件列表发送至所述接收端。
在本发明的一种具体实现方式中,在将所述文件列表中文件状态标识为第二文件状态标识的列表项对应的文件全部发送至所述接收端后,还包括:
向用户展示文件发送结果。
为达到上述目的,本发明实施例公开了一种文件传输方法,应用于接收端,所述方法包括:
接收发送端发送的文件;
判断所接收的文件是否为打包文件,其中,所述打包文件为:所述发送端根据预设的文件打包规则对文件列表中文件状态标识为第一文件状态标识的列表向对应的文件进行文件打包处理生成的文件,所述文件列表为所述发送端根据多个待传输文件获得的文件列表,所述文件列表中包含多个列表项,各个列表项与待传输文件一一对应,所述第一文件状态标识表示文件处于未打包状态且处于未发送状态;
若为是,按照预设的文件解包规则对所接收的文件进行解包处理,进而获得待传输文件。
在本发明的一种具体实现方式中,在所述按照预设的文件解包规则对所接收的文件进行解包处理后,还包括:
删除所接收的文件。
在本发明的一种具体实现方式中,所述文件传输方法还包括:
向用户展示文件接收结果。
为达到上述目的,本发明实施例公开了一种文件传输装置,应用于发送端,所述装置包括:
文件列表获得模块,用于根据多个待传输文件获得文件列表,其中,所述文件列表中包含多个列表项,各个列表项与待传输文件一一对应;
打包文件生成模块,用于根据预设的文件打包规则对所述文件列表中文件状态标识为第一文件状态标识的列表项对应的文件进行文件打包处理,生成打包文件;
列表项更新模块,用于根据所生成的打包文件,按照预设的列表更新规则,更新所述文件列表中包含的列表项,其中,所述预设的文件打包规则为:根据多个文件生成一个打包文件的规则,所述第一文件状态标识表示文件处于未打包状态且处于未发送状态;
文件发送模块,用于在获得所述文件列表后,逐个将所述文件列表中文件状态标识为第二文件状态标识的列表项对应的文件发送至接收端,其中,所述第二文件状态标识表示文件处于未发送状态;
其中,所述文件发送模块,包括:
文件确定子模块,用于确定所述文件列表中当前文件件状态为第三文件状态标识的列表项对应的文件中占用存储空间最大的文件,其中,所述第三文件状态标识表示文件处于未发送状态且处于非正在打包状态;
文件发送子模块,用于将所确定的文件发送至所述接收端。
在本发明的一种具体实现方式中,所述打包文件生成模块,包括:
列表项确定子模块,用于确定所述文件列表中当前剩余的文件状态标识为第一文件状态标识的列表项;
时间估算子模块,用于在所确定列表项的数量小于预设阈值的情况下,根据所确定列表项对应文件的大小,估算向所述接收端发送所确定列表项对应文件的第一估算时间,并根据预估的将所确定列表项对应的文件进行文件打包处理所生成打包文件的大小,估算先所述接收端发送所生成的打包文件的第二估算时间;
打包文件生成子模块,用于在所述第一估算时间大于第二估算时间的情况下,对所确定的列表项对应的文件进行文件打包处理,并生成打包文件。
在本发明的一种具体实现方式中,所述文件发送模块,还包括:
第一存储资源释放子模块,用于在所述文件发送子模块发送文件后,释放用于发送所确定的文件的存储资源。
在本发明的一种具体实现方式中,所述文件发送模块,还包括:
打包文件判断子模块,用于在所述文件发送子模块发送文件后,判断所确定的文件是否为打包文件;
第二存储资源释放子模块,用于在所述打包文件判断子模块的判断结果为是的情况下,释放所确定的文件占用的存储资源。
在本发明的一种具体实现方式中,所述文件传输装置还包括:
文件列表发送模块,用于在所述文件发送模块将所述文件列表中文件状态标识为第二文件状态标识的列表项对应的文件全部发送至所述接收端后,将根据多个待传输文件获得的文件列表发送至所述接收端。
在本发明的一种具体实现方式中,所述文件传输装置还包括:
文件发送结果展示模块,用于在所述文件发送模块将所述文件列表中文件状态标识为第二文件状态标识的列表项对应的文件全部发送至所述接收端后,向用户展示文件发送结果。
为达到上述目的,本发明实施例公开了一种文件传输装置,应用于接收端,所述装置包括:
文件接收模块,用于接收发送端发送的文件;
打包文件判断模块,用于判断所接收的文件是否为打包文件,其中,所述打包文件为:所述发送端根据预设的文件打包规则对文件列表中文件状态标识为第一文件状态标识的列表向对应的文件进行文件打包处理生成的文件,所述文件列表为所述发送端根据多个待传输文件获得的文件列表,所述文件列表中包含多个列表项,各个列表项与待传输文件一一对应,所述第一文件状态标识表示文件处于未打包状态且处于未发送状态;
解包处理模块,用于在所述打包判断模块的判断结果为是的情况下,按照预设的文件解包规则对所接收的文件进行解包处理,进而获得待传输文件。
在本发明的一种具体实现方式中,所述文件传输装置还包括:
文件删除模块,用于在所述解包处理模块对所接收的文件进行解包处理后,删除所接收的文件。
在本发明的一种具体实现方式中,所述文件传输装置还包括:
文件接收结果展示模块,用于向用户展示文件接收结果。
由以上可见,应用本发明实施例提供的方案传输文件时,并非直接将多个待传输文件一个一个的发送至接收端,而是按照预设的文件打包规则将多个文件打包生成一个打包文件,然后传输所生成的打包文件,这样由于一个打包文件中包含多个待传输文件,向发送端发送待传输文件时,针对该打包文件中所包含的多个待传输文件而言,只建立一次连接即可,能够减少文件传输过程中在建立连接上消耗的时间,另外,根据多个文件生成一个打包文件后,多次由较低的文件传输速度慢慢提升到较高的文件传输速度的过程转化为一次,这样使得传输该打包文件时能够保持较高的文件传输速度,综合以上可见,应用本发明实施例提供的方案传输文件,提高了文件传输效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种文件传输方法的流程示意图;
图2为本发明实施例提供的另一种文件传输方法的流程示意图;
图3为本发明实施例提供的一种文件传输装置的结构示意图;
图4为本发明实施例提供的另一种文件传输装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种文件传输方法的流程示意图,该装置应用于发送端,包括:
S101:根据多个待传输文件获得文件列表。
确定待传输的多个文件后,需根据多个待传输文件生成文件列表,该文件列表中包含多个列表项,各个列表项与待传输文件一一对应,其中,文件列表中各个列表项的具体内容可以是各个待传输文件的文件名称、文件存储路径等等,本申请并不对列表项的具体表现形式进行限定,只要能够清楚的表示待传输文件即可。
另外,上述文件列表中的列表项可以按照一定的顺序排列,例如,按照待传输文件由大到小的顺序排列、按照待传输文件由小到大的顺序排列、按照待传输文件的创建时间由短到长的顺序排列等等。
S102:根据预设的文件打包规则对文件列表中文件状态标识为第一文件状态标识的列表项对应的文件进行文件打包处理,生成打包文件。
文件列表中除了包含文件列表项外,还可以包含文件状态标识,各个文件状态标识与各个待传输文件一一对应,也就是各个文件状态标识与各个列表项一一对应。
从不同角度划分,文件状态可以对应多种不同情况,具体如下:
针对文件打包情况,文件状态可以划分为:未打包状态、正在打包状态和已打包状态;
针对文件发送情况,文件状态可以划分为:未发送状态、正在发送状态和已发送状态。
当然,文件状态还可以是上述几种状态的可能组合,本申请并不对此进行限定。
基于上述文件状态划分情况,上述第一文件状态标识具体用于表示文件处于未打包状态且处于未发送状态。
另外,上述预设的文件打包规则为:根据多个文件生成一个打包文件的规则。
本领域内的技术人员可以理解的是,对文件进行文件打包处理时,需利用发送端的内存资源、硬盘资源、二级缓存资源等等,所以,上述预设的文件打包规则可以是与发送端的硬件性能相关的文件打包规则。例如,若当前发送端的内存资源紧张,则上述预设的文件打包规则可以是限定所生成的打包文件小于第一预设阈值的打包文件;若当前发送端的内存资源不紧张,则上述预设的文件打包规则可以是限定所生成的打包文件小于第二预设阈值的打包文件,其中,第一预设阈值小于第二预设阈值,如,第一预设阈值为100M,而第二预设阈值为200M等等。
本领域内的技术人员可以理解的是,发送端通过网络将文件传输至接收端,所以,上述预设的文件打包规则还可以是与网络状态相关的文件打包规则。例如,当前所使用网络不稳定,则上述预设的文件打包规则可以是限定所生成的打包文件小于第三预设阈值的打包文件;若当前所使用网络稳定,则上述预设的文件打包规则可以是限定所生成的打包文件小于第四预设阈值的打包文件,其中,第三预设阈值小于第四预设阈值,这样能够在网络不稳定的情况下,尽可能的保证每一打包文件一次成功传输至接收端。
进一步的,上述预设的文件打包规则还可以是与待传输文件的大小相关的文件打包规则。较佳的,可以是按照待传输文件由小到大的顺序对待传输文件进行文件打包处理的规则,在按照文件由大到小的顺序向发送端发送文件的情况下,按照文件由小到大的顺序对待传输文件进行打包,能够有效保证每次向发送端发送的文件均为较大的文件,由于每次向接收端发送一个文件时,文件传输速度均是由较低的传输速度逐渐提升到较高的文件传输速度,先传输较大的文件,有利于保证以较高的进行文件传输。当然,也可以是按照待传输文件由大到小的顺序对待传输文件进行文件打包处理的规则。
可以理解的,在只剩余较少的几个待传输文件未打包的情况下,考虑到剩余的待传输文件的大小等因素,对剩余的这几个文件进行打包处理后再发送需要的时间可能会比不进行打包处理而是直接发送这几个文件需要的时间还要多。鉴于这种情况,在本发明的一种可选实现方式中,根据预设的文件打包规则对文件列表中文件状态标识为第一文件状态标识的列表项对应的文件进行文件打包处理,生成打包文件时,可以先确定文件列表中当前剩余的文件状态标识为第一文件状态标识的列表项,并在所确定列表项的数量小于预设阈值的情况下,根据所确定列表项对应文件的大小,估算向接收端发送所确定列表项对应文件的第一估算时间,并根据预估的将所确定列表项对应的文件进行文件打包处理所生成打包文件的大小,估算先接收端发送所生成的打包文件的第二估算时间,在上述第一估算时间大于第二估算时间的情况下,对所确定的列表项对应的文件进行文件打包处理,并生成打包文件。
S103:根据所生成的打包文件,按照预设的列表更新规则,更新文件列表中包含的列表项。
可以理解的,在S102整个生成打包文件的过程中,可以生成一个打包文件,也可以生成多个打包文件。与此相对应,上述预设的列表更新规则可以是每生成一个打包文件即更新一次文件列表中包含的列表项,也可以是生成预设数量个打包文件后才更新一次文件列表中包含的列表项。
另外,上述预设的列表更新规则还可以是向接收端发送完一个文件之后,发送下一个文件之前,更新文件列表中包含的列表项。
当然,上述预设的列表更新规则还可以是根据文件列表生成打包文件完毕后,更新文件列表中包含的列表项。
具体的,上述更新文件列表中包含的列表项至少包括以下几个方面:
在文件列表中增加与打包文件对应的列表项;
删除文件列表中打包文件所包含的待传输文件对应的列表项。
在本发明的一种较佳实现方式中,更新文件列表中包含的列表项还可以包括:根据打包文件的大小调整文件列表中各个列表项的排列顺序。
下面通过一个具体实例对更新文件列表中包含的列表项进行说明。
按照文件由大到小的顺序,文件列表中所包含列表项的排列顺序如下表1所示。
表1
列表项 | 文件大小 |
File1 | 200M |
File2 | 150M |
File3 | 100M |
File4 | 80M |
File5 | 50M |
当前已向接收端发送完毕File1,且对File3、File4和File5进行文件打包处理生成了一个200M的打包文件File6,预设的列表更新规则是向接收端发送完一个文件之后,发送下一个文件之前,更新文件列表中包含的列表项,则更新后文件列表中列表项的排列顺序如下表2所示。
表2
列表项 | 文件大小 |
File6 | 200M |
File2 | 150M |
在按照文件由大到小的顺序向接收端发送文件时,根据更新后的文件列表,需向接收端发送打包文件File6而非文件File2。
S104:在获得文件列表后,判断文件列表中是否还存在文件状态标识为第二文件状态标识的列表项,若不是,执行S105,否则,执行S107。
具体的,上述第二文件状态标识用于表示文件处于未发送状态。
值得一提的是,本申请并不限定S104与S102之间的执行顺序,S104可以与S102同时执行,S104可以在S102之前执行,也可以在S102之后执行。
S105:确定文件列表中当前文件件状态为第三文件状态标识的列表项对应的文件中占用存储空间最大的文件。
具体的,上述第三文件状态标识用于表示文件处于未发送状态且处于非正在打包状态。
由于本申请并不限定S102与S104之间的执行顺序,所以本步骤中所确定的文件可能是经文件打包处理得到的打包文件,也可以是未经文件打包处理的文件。
S106:将所确定的文件发送至接收端。
接收端接收到所确定的文件后,可以通过文件的类型标识等信息判断该文件是否为上述经文件打包处理生成的文件,若是经文件打包处理生成的文件,可先对该文件进行解包处理得到其中包含的待传输文件,这样用户在接收端看到的待传输文件与现有技术中从发送端传输至接收端的待传输文件一致。
需要说明的是,执行完本步骤后,文件列表中可能还存在文件状态标识为第二文件状态标识的列表项,因此,需返回S104以能够继续执行S105和S106直至将文件列表中文件状态标识为第二文件状态标识的列表项对应的文件全部发送至接收端。
本领域内的技术人员可以理解的是,发送端中的存储资源是有限的,而发送端向接收端发送所确定的文件需要占用发送端中的存储资源,若发送完成后不及时释放其所占用的存储资源,极易造成发送端中存储资源紧张,因此,本发明的一种可选实现方式中,在将所确定的文件发送至所述接收端后,还可以释放用于发送所确定的文件的存储资源。
其中,上述存储资源可以是内存资源、可以是硬盘资源还可以是二级缓存资源等等,本申请并不对此进行限定。
由前面的描述可以看出,打包文件为根据发送端中的待传输文件生成的,其中包含的待传输文件与发送端中存储的待传输文件是相同的文件,因此,本发明的一种具体实现方式中,在将所确定的文件发送至所述接收端后,还可以判断所确定的文件是否为打包文件,在所确定的文件为打包文件的情况下,释放所确定的文件占用的存储资源,这样可以有效防止随着文件传输的进行发送端的存储资源越来越紧张现象出现。
由于接收端接收到待传输文件后,向用户展示这些待传输文件时需先生成这些待传输文件对应的文件列表,为减轻接收端的工作压力,本发明的一种可选实现方式中,在将文件列表中文件状态标识为第二文件状态标识的列表项对应的文件全部发送至所述接收端后,还可以将根据多个待传输文件获得的文件列表发送至所述接收端。
本发明的另一种可选实现方式中,在将文件列表中文件状态标识为第二文件状态标识的列表项对应的文件全部发送至所述接收端后,还可以向用户展示文件发送结果。
其中,该文件发送结果中可以包括所发送文件的文件列表、文件个数、文件大小、传输耗时、传输速度等信息,本申请并不对此进行限定。
由以上可见,应用上述各个实施例提供的方案传输文件时,并非直接将多个待传输文件一个一个的发送至接收端,而是按照预设的文件打包规则将多个文件打包生成一个打包文件,然后传输所生成的打包文件,这样由于一个打包文件中包含多个待传输文件,向发送端发送待传输文件时,针对该打包文件中所包含的多个待传输文件而言,只建立一次连接即可,能够减少文件传输过程中在建立连接上消耗的时间,另外,根据多个文件生成一个打包文件后,多次由较低的文件传输速度慢慢提升到较高的文件传输速度的过程转化为一次,这样使得传输该打包文件时能够保持较高的文件传输速度,综合以上可见,应用上述各个实施例提供的方案传输文件,提高了文件传输效率。
与上述应用于发送端的文件传输方法相对应,本发明实施例还提供了一种应用于接收端的文件传输方法。
图2为本发明实施例提供的另一种文件传输方法的流程示意图,该方法应用于接收端,包括:
S201:接收发送端发送的文件。
S202:判断所接收的文件是否为打包文件,若为是,执行S203,否则,执行S204。
其中,打包文件为:发送端根据预设的文件打包规则对文件列表中文件状态标识为第一文件状态标识的列表向对应的文件进行文件打包处理生成的文件。具体的,文件列表为发送端根据多个待传输文件获得的文件列表,该文件列表中包含多个列表项,各个列表项与待传输文件一一对应。另外,上述第一文件状态标识表示文件处于未打包状态且处于未发送状态。
本实施例中,预设的文件打包规则与图1所示实施例中提到的文件打包规则相同,这里不再赘述。
S203:按照预设的文件解包规则对所接收的文件进行解包处理,进而获得待传输文件。
S204:结束本流程。
由于所接收的文件中包含的文件与对其进行解包处理后得到的文件相同,因此,本发明的一种可选实现方式中,在按照预设的文件解包规则对所接收的文件进行解包处理后,还可以删除所接收的文件,这样可以有效防止随着文件传输的进行接收端的存储资源越来越紧张现象出现。
本发明的另一种可选实现方式中,还可以向用户展示文件接收结果。
其中,该文件接收结果中可以包括所接收文件的文件列表、文件个数、文件大小、传输耗时、传输速度等信息,本申请并不对此进行限定。
由以上可见,应用上述各个实施例提供的方案传输文件时,接收端接收到的文件并非一个一个的待传输文件,而可能是发送端按照预设的文件打包规则将多个文件打包后生成的文件,这样由于一个打包文件中包含多个待传输文件,所以接收端接收文件时,针对该打包文件中所包含的多个待传输文件而言,只建立一次连接即可,省去了多次建立连接的步骤,进而能够减少文件传输过程中在建立连接上消耗的时间,另外,根据多个文件生成一个打包文件后,多次由较低的文件传输速度慢慢提升到较高的文件传输速度的过程转化为一次,这样使得传输该打包文件时能够保持较高的文件传输速度,综合以上可见,应用上述各个实施例提供的方案传输文件,提高了文件传输效率。
与上述的文件传输方法相对应,本发明实施例还提供了一种文件传输装置。
图3为本发明实施例提供的一种文件传输装置的结构示意图,该装置应用于发送端,包括:
文件列表获得模块301,用于根据多个待传输文件获得文件列表,其中,所述文件列表中包含多个列表项,各个列表项与待传输文件一一对应;
打包文件生成模块302,用于根据预设的文件打包规则对所述文件列表中文件状态标识为第一文件状态标识的列表项对应的文件进行文件打包处理,生成打包文件;
列表项更新模块303,用于根据所生成的打包文件,按照预设的列表更新规则,更新所述文件列表中包含的列表项,其中,所述预设的文件打包规则为:根据多个文件生成一个打包文件的规则,所述第一文件状态标识表示文件处于未打包状态且处于未发送状态;
文件发送模块304,用于在获得所述文件列表后,逐个将所述文件列表中文件状态标识为第二文件状态标识的列表项对应的文件发送至接收端,其中,所述第二文件状态标识表示文件处于未发送状态;
其中,所述文件发送模块304,包括:
文件确定子模块3041,用于确定所述文件列表中当前文件件状态为第三文件状态标识的列表项对应的文件中占用存储空间最大的文件,其中,所述第三文件状态标识表示文件处于未发送状态且处于非正在打包状态;
文件发送子模块3042,用于将所确定的文件发送至所述接收端。
具体的,所述打包文件生成模块302可以包括:
列表项确定子模块,用于确定所述文件列表中当前剩余的文件状态标识为第一文件状态标识的列表项;
时间估算子模块,用于在所确定列表项的数量小于预设阈值的情况下,根据所确定列表项对应文件的大小,估算向所述接收端发送所确定列表项对应文件的第一估算时间,并根据预估的将所确定列表项对应的文件进行文件打包处理所生成打包文件的大小,估算先所述接收端发送所生成的打包文件的第二估算时间;
打包文件生成子模块,用于在所述第一估算时间大于第二估算时间的情况下,对所确定的列表项对应的文件进行文件打包处理,并生成打包文件。
具体的,所述文件发送模块304还可以包括:
第一存储资源释放子模块,用于在所述文件发送子模块3042发送文件后,释放用于发送所确定的文件的存储资源。
具体的,所述文件发送模块304还可以包括:
打包文件判断子模块,用于在所述文件发送子模块3042发送文件后,判断所确定的文件是否为打包文件;
第二存储资源释放子模块,用于在所述打包文件判断子模块的判断结果为是的情况下,释放所确定的文件占用的存储资源。
具体的,上述文件传输装置还可以包括:
文件列表发送模块,用于在所述文件发送模块304将所述文件列表中文件状态标识为第二文件状态标识的列表项对应的文件全部发送至所述接收端后,将根据多个待传输文件获得的文件列表发送至所述接收端。
具体的,上述文件传输装置还可以包括:
文件发送结果展示模块,用于在所述文件发送模块304将所述文件列表中文件状态标识为第二文件状态标识的列表项对应的文件全部发送至所述接收端后,向用户展示文件发送结果。
由以上可见,应用上述各个实施例提供的方案传输文件时,并非直接将多个待传输文件一个一个的发送至接收端,而是按照预设的文件打包规则将多个文件打包生成一个打包文件,然后传输所生成的打包文件,这样由于一个打包文件中包含多个待传输文件,向发送端发送待传输文件时,针对该打包文件中所包含的多个待传输文件而言,只建立一次连接即可,能够减少文件传输过程中在建立连接上消耗的时间,另外,根据多个文件生成一个打包文件后,多次由较低的文件传输速度慢慢提升到较高的文件传输速度的过程转化为一次,这样使得传输该打包文件时能够保持较高的文件传输速度,综合以上可见,应用上述各个实施例提供的方案传输文件,提高了文件传输效率。
与上述应用于发送端的文件传输装置相对应,本发明实施例还提供了一种应用于接收端的文件传输装置。
图4为本发明实施例提供的另一种文件传输装置的结构示意图,该装置应用于接收端,包括:
文件接收模块401,用于接收发送端发送的文件;
打包文件判断模块402,用于判断所接收的文件是否为打包文件,其中,所述打包文件为:所述发送端根据预设的文件打包规则对文件列表中文件状态标识为第一文件状态标识的列表向对应的文件进行文件打包处理生成的文件,所述文件列表为所述发送端根据多个待传输文件获得的文件列表,所述文件列表中包含多个列表项,各个列表项与待传输文件一一对应,所述第一文件状态标识表示文件处于未打包状态且处于未发送状态;
解包处理模块403,用于在所述打包判断模块的判断结果为是的情况下,按照预设的文件解包规则对所接收的文件进行解包处理,进而获得待传输文件。
具体的,上述文件传输装置还可以包括:
文件删除模块,用于在所述解包处理模块对所接收的文件进行解包处理后,删除所接收的文件。
具体的,上述文件传输装置还可以包括:
文件接收结果展示模块,用于向用户展示文件接收结果。
由以上可见,应用上述各个实施例提供的方案传输文件时,接收端接收到的文件并非一个一个的待传输文件,而可能是发送端按照预设的文件打包规则将多个文件打包后生成的文件,这样由于一个打包文件中包含多个待传输文件,所以接收端接收文件时,针对该打包文件中所包含的多个待传输文件而言,只建立一次连接即可,省去了多次建立连接的步骤,进而能够减少文件传输过程中在建立连接上消耗的时间,另外,根据多个文件生成一个打包文件后,多次由较低的文件传输速度慢慢提升到较高的文件传输速度的过程转化为一次,这样使得传输该打包文件时能够保持较高的文件传输速度,综合以上可见,应用上述各个实施例提供的方案传输文件,提高了文件传输效率。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种文件传输方法,应用于发送端,其特征在于,所述方法包括:
根据多个待传输文件获得文件列表,其中,所述文件列表中包含多个列表项,各个列表项与待传输文件一一对应;
根据预设的文件打包规则对所述文件列表中文件状态标识为第一文件状态标识的列表项对应的文件进行文件打包处理,生成打包文件,并根据所生成的打包文件,按照预设的列表更新规则,更新所述文件列表中包含的列表项,其中,所述预设的文件打包规则为:根据多个文件生成一个打包文件的规则,所述第一文件状态标识表示文件处于未打包状态且处于未发送状态;
在获得所述文件列表后,循环执行以下步骤直至逐个将所述文件列表中文件状态标识为第二文件状态标识的列表项对应的文件发送至接收端,其中,所述第二文件状态标识表示文件处于未发送状态:
确定所述文件列表中当前文件件状态为第三文件状态标识的列表项对应的文件中占用存储空间最大的文件,其中,所述第三文件状态标识表示文件处于未发送状态且处于非正在打包状态;将所确定的文件发送至所述接收端。
2.根据权利要求1所述的方法,其特征在于,所述根据预设的文件打包规则对所述文件列表中文件状态标识为第一文件状态标识的列表项对应的文件进行文件打包处理,生成打包文件,包括:
确定所述文件列表中当前剩余的文件状态标识为第一文件状态标识的列表项;
在所确定列表项的数量小于预设阈值的情况下,根据所确定列表项对应文件的大小,估算向所述接收端发送所确定列表项对应文件的第一估算时间,并根据预估的将所确定列表项对应的文件进行文件打包处理所生成打包文件的大小,估算先所述接收端发送所生成的打包文件的第二估算时间;
在所述第一估算时间大于第二估算时间的情况下,对所确定的列表项对应的文件进行文件打包处理,并生成打包文件。
3.根据权利要求1或2所述的方法,其特征在于,在所述将所确定的文件发送至所述接收端后,还包括:
释放用于发送所确定的文件的存储资源。
4.根据权利要求1或2所述的方法,其特征在于,在所述将所确定的文件发送至所述接收端后,还包括:
判断所确定的文件是否为打包文件;
若为是,释放所确定的文件占用的存储资源。
5.根据权利要求1或2所述的方法,其特征在于,在将所述文件列表中文件状态标识为第二文件状态标识的列表项对应的文件全部发送至所述接收端后,还包括:
将根据多个待传输文件获得的文件列表发送至所述接收端。
6.根据权利要求1或2所述的方法,其特征在于,在将所述文件列表中文件状态标识为第二文件状态标识的列表项对应的文件全部发送至所述接收端后,还包括:
向用户展示文件发送结果。
7.一种文件传输方法,应用于接收端,其特征在于,所述方法包括:
接收发送端发送的文件;
判断所接收的文件是否为打包文件,其中,所述打包文件为:所述发送端根据预设的文件打包规则对文件列表中文件状态标识为第一文件状态标识的列表向对应的文件进行文件打包处理生成的文件,所述文件列表为所述发送端根据多个待传输文件获得的文件列表,所述文件列表中包含多个列表项,各个列表项与待传输文件一一对应,所述第一文件状态标识表示文件处于未打包状态且处于未发送状态;
若为是,按照预设的文件解包规则对所接收的文件进行解包处理,进而获得待传输文件。
8.根据权利要求7所述的方法,其特征在于,在所述按照预设的文件解包规则对所接收的文件进行解包处理后,还包括:
删除所接收的文件。
9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
向用户展示文件接收结果。
10.一种文件传输装置,应用于发送端,其特征在于,所述装置包括:
文件列表获得模块,用于根据多个待传输文件获得文件列表,其中,所述文件列表中包含多个列表项,各个列表项与待传输文件一一对应;
打包文件生成模块,用于根据预设的文件打包规则对所述文件列表中文件状态标识为第一文件状态标识的列表项对应的文件进行文件打包处理,生成打包文件;
列表项更新模块,用于根据所生成的打包文件,按照预设的列表更新规则,更新所述文件列表中包含的列表项,其中,所述预设的文件打包规则为:根据多个文件生成一个打包文件的规则,所述第一文件状态标识表示文件处于未打包状态且处于未发送状态;
文件发送模块,用于在获得所述文件列表后,逐个将所述文件列表中文件状态标识为第二文件状态标识的列表项对应的文件发送至接收端,其中,所述第二文件状态标识表示文件处于未发送状态;
其中,所述文件发送模块,包括:
文件确定子模块,用于确定所述文件列表中当前文件件状态为第三文件状态标识的列表项对应的文件中占用存储空间最大的文件,其中,所述第三文件状态标识表示文件处于未发送状态且处于非正在打包状态;
文件发送子模块,用于将所确定的文件发送至所述接收端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510604614.5A CN105227649A (zh) | 2015-09-21 | 2015-09-21 | 一种文件传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510604614.5A CN105227649A (zh) | 2015-09-21 | 2015-09-21 | 一种文件传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105227649A true CN105227649A (zh) | 2016-01-06 |
Family
ID=54996319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510604614.5A Pending CN105227649A (zh) | 2015-09-21 | 2015-09-21 | 一种文件传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105227649A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107071073A (zh) * | 2017-06-27 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种应用于对象存储系统的文件传输方法及装置 |
CN107689976A (zh) * | 2016-08-05 | 2018-02-13 | 北京金山云网络技术有限公司 | 一种文件传输方法及装置 |
CN108632383A (zh) * | 2018-05-15 | 2018-10-09 | 中国电子科技集团公司第二十八研究所 | 一种串口可靠传输文件的方法 |
CN108833530A (zh) * | 2018-06-11 | 2018-11-16 | 联想(北京)有限公司 | 一种传输方法和装置 |
CN108881454A (zh) * | 2018-06-28 | 2018-11-23 | 北京珠穆朗玛移动通信有限公司 | 文件传输方法、移动终端及存储介质 |
CN114615259A (zh) * | 2022-04-07 | 2022-06-10 | 百富计算机技术(深圳)有限公司 | 文件传输方法、装置及终端设备 |
-
2015
- 2015-09-21 CN CN201510604614.5A patent/CN105227649A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107689976A (zh) * | 2016-08-05 | 2018-02-13 | 北京金山云网络技术有限公司 | 一种文件传输方法及装置 |
CN107689976B (zh) * | 2016-08-05 | 2020-08-28 | 北京金山云网络技术有限公司 | 一种文件传输方法及装置 |
CN107071073A (zh) * | 2017-06-27 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种应用于对象存储系统的文件传输方法及装置 |
CN108632383A (zh) * | 2018-05-15 | 2018-10-09 | 中国电子科技集团公司第二十八研究所 | 一种串口可靠传输文件的方法 |
CN108833530A (zh) * | 2018-06-11 | 2018-11-16 | 联想(北京)有限公司 | 一种传输方法和装置 |
CN108881454A (zh) * | 2018-06-28 | 2018-11-23 | 北京珠穆朗玛移动通信有限公司 | 文件传输方法、移动终端及存储介质 |
CN108881454B (zh) * | 2018-06-28 | 2021-12-14 | 北京珠穆朗玛移动通信有限公司 | 文件传输方法、移动终端及存储介质 |
CN114615259A (zh) * | 2022-04-07 | 2022-06-10 | 百富计算机技术(深圳)有限公司 | 文件传输方法、装置及终端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105227649A (zh) | 一种文件传输方法及装置 | |
CN103929492B (zh) | 业务链负载均衡方法及其装置、系统 | |
CN106302632B (zh) | 一种基础镜像的下载方法以及管理节点 | |
CN104954468A (zh) | 资源的分配方法及装置 | |
CN105900064A (zh) | 调度数据流任务的方法和装置 | |
CN110011952B (zh) | 一种数据传输的方法、服务集群及客户端 | |
KR20200017589A (ko) | 무선 통신 시스템에서 모바일 노드의 태스크를 오프로딩하기 위한 클라우드 서버 및 그의 동작 방법 | |
CN107786593A (zh) | 任务部署方法、实例部署方法、装置及设备 | |
CN112506584B (zh) | 资源文件加载方法、装置、设备、存储介质以及产品 | |
CN105446975A (zh) | 一种文件打包方法及装置 | |
CN106375382A (zh) | 数据分配的方法、系统、控制服务器及节点客户端 | |
CN106790489B (zh) | 并行数据加载方法和系统 | |
CN112866985B (zh) | 流量控制方法、资源下载方法、装置、设备和存储介质 | |
CN105245581A (zh) | 一种应用程序传输方法及装置 | |
US9923794B2 (en) | Method, apparatus, and system for identifying abnormal IP data stream | |
CN105260200A (zh) | 操作系统升级的处理方法和装置 | |
CN105704207A (zh) | 一种生成唯一标识的方法、终端和网络侧 | |
CN108459885A (zh) | 一种资源分散加载的方法及其单片机 | |
CN106484375B (zh) | 一种指令块加载方法、软交换设备及系统 | |
CN104199656A (zh) | 一种定制信息添加方法及装置 | |
US10863005B2 (en) | Data transmitting program, data transmitting device, and data transmitting method | |
CN104780120A (zh) | 一种局域网中文件传输的方法和装置 | |
CN105357100A (zh) | 即时通信群组成员的优先级获取方法及装置 | |
CN111294220B (zh) | 基于nginx的网络隔离配置方法和装置 | |
CN104933059A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160106 |
|
RJ01 | Rejection of invention patent application after publication |