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

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

本发明涉及通信技术领域,具体涉及一种文件传输方法及装置。



背景技术:

在电子设备之间通常会进行文件传输,目前,针对大文件的传输已有比较成熟的模型,逐个文件传输即可。但是在很多场景下,传输的都是大量的仅有几KB甚至更小的小文件,当多个此类小文件传输时,若将多个小文件逐个传输,则需要在发送之间进行一些准备工作。例如发送待发送文件的名称、大小等文件信息。一般需要接收端回复确认信息,然后才真正开始发送文件。此种方案前期的信息交换流程在整个文件发送中所占比例中较高,使得文件传输效率较低。



技术实现要素:

鉴于此,有必要提供一种文件传输方法及装置,提高多个小文件传输时的传输效率。

本申请的第一方面提供一种文件传输方法,所述方法包括:

若接收到文件传输指令,获取待传输文件;

将所述待传输文件打包并保存在内存或缓存中;

传输所述内存或缓存中保存的数据至接收端。

另一种可能的实现方式中,所述将所述待传输文件打包并保存在内存或缓存中包括:

根据所述内存或缓存的大小获取所述待传输文件中一个或多个文件的若干字节进行打包并保存。

另一种可能的实现方式中,所述根据所述内存或缓存的大小获取所述待传输文件中一个或多个文件的若干字节进行打包并保存包括:

根据预设打包规则以字节为单位读取所述待传输文件中未保存的待传输文件的内容至所述内存或缓存中;

当所述内存当前已存储的容量达到所述内存的存储上限,或当所述缓存当前已存储的容量达到所述缓存的存储上限时,或当前不存在未保存的待传输文件时,确认保存完成。

另一种可能的实现方式中,所述方法还包括:

在传输所述内存或缓存中保存的数据至接收端时,若存在未保存的待传输文件,执行所述根据所述内存或缓存的大小获取所述待传输文件中一个或多个文件的若干字节进行打包并保存的操作。

另一种可能的实现方式中,所述方法还包括:

在根据所述内存或缓存的大小获取所述待传输文件中一个或多个文件的若干字节进行打包时,对获取到的一个或多个文件的若干字节进行加密和/或压缩处理。

本申请的第二方面提供一种文件传输装置,所述装置包括:

获取模块,用于若接收到文件传输指令,获取待传输文件;

打包保存模块,用于将所述待传输文件打包并保存在内存或缓存中;

传输模块,用于传输所述内存或缓存中保存的数据至接收端。

另一种可能的实现方式中,所述打包保存模块,具体用于根据所述内存或缓存的大小获取所述待传输文件中一个或多个文件的若干字节进行打包并保存。

另一种可能的实现方式中,所述打包保存模块包括:

读取单元,用于根据预设打包规则以字节为单位读取所述待传输文件中未保存的待传输文件的内容至所述内存或缓存中;

确认单元,用于当所述内存当前已存储的容量达到所述内存的存储上限,或当所述缓存当前已存储的容量达到所述缓存的存储上限时,或当前不存在未保存的待传输文件时,确认保存完成。

另一种可能的实现方式中,所述装置还包括:

触发模块,用于在传输所述内存或缓存中保存的数据至接收端时,若存在未保存的待传输文件,触发所述打包保存模块根据所述内存或缓存的大小获取所述待传输文件中一个或多个文件的若干字节进行打包并保存。

另一种可能的实现方式中,所述装置还包括:

处理模块,还用于在根据所述内存或缓存的大小获取所述待传输文件中一个或多个文件的若干字节进行打包时,对获取到的一个或多个文件的若干字节进行加密和/或压缩处理。

本发明实施例通过若接收到文件传输指令,获取待传输文件;将所述待传输文件打包并保存在内存或缓存中;传输所述内存或缓存中保存的数据至接收端。通过打包的方式传输减少了文件发送前的信息交换过程,同时,直接将内容保存在内存或缓存中加快了数据读取的速度,从而提高了多个小文件传输时的传输效率。

附图说明

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

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

图2是本发明实施例二提供的文件传输装置的结构图;

图3本发明实现文件传输方法的较佳实施例的电子设备的结构示意图。

如下具体实施方式将结合上述附图进一步说明本发明。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

实施例一

图1为本发明实施例一提供的文件传输方法的示意流程图。所述文件传输方法应用于电子设备中,所述电子设备可以为手机、平板、台式电脑等可以终端。如图1所示,文件传输方法可包括以下步骤:

S101:若接收到文件传输指令,获取待传输文件。

本发明文件传输方法应用电子设备中,可应用于电子设备传输多个文件时的场景中,具体的文件传输的数量和大小不限制。同时,本发明优选的应用于多个小文件传输时,其中,小文件是指文件大小为几K甚至更小的文件。

在文件传输时,通常将传输文件的一方称为发送端,接收文件的一方称为接收端。发送端与接收端可以为同类或者不同类的电子设备。例如,发送端为手机,接收端为手机;或者是发送端为手机,接收端为平板电脑等其他智能终端。

上述获取待传输文件的执行主体是发送端。在发送端接收到文件传输指令时,发送端获取待传输文件。

上述待传输文件是要需要进行传输的文件。发送端可以获取所有的待传输文件或者部分待传输文件。待传输文件可以一次性获取也可以分多次获取,具体不显示。

在实际使用时,可以将待传输文件中的部分文件采用本发明提供的文件传输方法,部分文件采用其他的文件传输方法结合使用。

S102:将所述待传输文件打包并保存在内存或缓存中。

在发送端获取到待传输文件后,发送端将获取到的待传输文件打包并保存在内存或缓存中。

上述打包是将多个文件按照一定的格式排列组合成一个文件。通常,当多个文件按照一定的排列格式组合成一个文件时,新文件的大小之和等于原文件的大小之和,即打包后形成的文件大小不发生变化。

上述内存或缓存是作为发送端的电子设备的内存或缓存。

将待传输文件打包并保存在内存或缓存中具体是将待传输文件的内容按照一定的格式排列组合放在内存或缓存中。

进一步地,所述步骤S201包括:根据所述内存或缓存的大小获取所述待传输文件中的一个或多个文件的若干字节进行打包并保存。

发送端将待传输文件打包并保存在内存或缓存中的过程,具体是发送端根据内存或缓存的大小获取待传输文件中的一个或多个文件的若干字节进行打包并保存。

具体的,可以根据内存或缓存的大小一次选择预设字节进行打包并保存。

进一步地,所述根据所述内存或缓存的大小获取所述待传输文件中的一个或多个文件的若干字节进行打包并保存的细化步骤包括:

根据预设打包规则以字节为单位读取所述待传输文件中未保存的待传输文件的内容至所述内存或缓存中。

根据预设打包规则将待传输文件中未保存的待传输文件的内容读取至内存或缓存中,即按照打包规则将文件打包存放在内存或缓存中。

当待传输文件为多个时,上述待传输文件中未保存的待传输文件是指还没有保存至内存或缓存中的数据,此时,这些未保存的待传输文件也没有传输至接收端。

上述预设打包规则是排列组合多个文件的规则,按照预设打包规则也即是按照一定的格式排列组合多个文件的内容。

当所述内存当前已存储的容量达到所述内存的存储上限,或当所述缓存当前已存储的容量达到所述缓存的存储上限时,或当前不存在未保存的待传输文件时,确认保存完成。

发送端持续将待传输文件中未保存的待传输文件的内容读取至内存或缓存中,当内存中已存储的容量达到所述内存的存储上限时,确认保存完成。

或者是当缓存中已存储的容量达到所述缓存的存储上限时,确认保存完成。

又或者是,当此时已经不存在未保存的待传输文件,此时确认保存完成。当不存在未保存的待传输文件时,待传输文件或者已读取到内存或缓存中,或者已经发送至接收端。

可以理解的是,在读取待传输文件中未保存的待传输文件的内容至内存或缓存中时,根据内存或缓存的容量,可能一次读取多个文件,也可能一次读取一个文件,或者是读取了一个文件的一部分内容。

进一步地,在根据所述内存或缓存的大小获取所述待传输文件中一个或多个文件的若干字节进行打包并保存时,还可以一次选择内存或缓存大小的数据。例如,缓存大小为50KB。从待传输文件中根据文件排列组合顺序读取50KB的内容至缓存中,然后发送端将缓存中的内容发送至接收端。

进一步地,在根据所述内存或缓存的大小获取所述待传输文件中一个或多个文件的若干字节进行打包时,对获取到的一个或多个文件的若干字节进行加密和/或压缩处理。

在以字节为单位获取待传输文件的数据时,还可以对获取到的数据进行加密或者是压缩处理。为了提高传输效率,可以使用简单算法进行加密或压缩处理。或者是对传输的数据有选择的进行加密或压缩。

S103:传输所述内存或缓存中保存的数据至接收端。

当发送端将待传输文件打包并保存在内存或缓存中后,发送端将内存或缓存中保存的数据传输至接收端。

在接收端接收到发送端传输的数据后,由于待传输文件以打包的形式发送的,因此,可以将接收到的数据按照同样的打包规则进行分解,逐步依次获取多个文件,而无需等待所有文件都发送完毕才能进行分解。

进一步地,在传输所述内存或缓存中保存的数据至接收端时,若存在未保存的待传输文件,执行所述根据所述内存或缓存的大小获取所述待传输文件中一个或多个文件的若干字节进行打包并保存的操作。

上述未保存的待传输文件是多个待传输文件中未保存的待传输文件。此时,这些未保存文件也并未传输至接收端。

在发送端执行发送操作时,若仍存在未保存的待传输文件,继续执行根据发送端内存或缓存的大小获取待传输文件中的一个或多个文件的若干字节进行打包并保存的操作,即将此时将仍未保存的待传输文件打包并保存至内存或缓存中。如此,可实现一边传输一边打包,进一步提高传输效率。

本发明实施例一通过若接收到文件传输指令,获取待传输文件;将所述待传输文件打包并保存在内存或缓存中;传输所述内存或缓存中保存的数据至接收端。通过打包的方式传输减少了文件发送前的信息交换过程,同时,直接将内容保存在内存或缓存中加快了数据读取的速度,从而提高了多个小文件传输时的传输效率。

以上是对本发明所提供的方法进行的详细描述。根据不同的需求,所示流程图中方块的执行顺序可以改变,某些方块可以省略,文件传输的方法也在上述文件传输方法中选择性的组合使用,或者与其他上述未提及的文件传输方法组合使用。下面对本发明所提供的装置进行描述。

实施例二

图2为本发明实施例二提供的文件传输装置的结构图,如图2所示,文件传输装置可以包括:获取模块210、打包保存模块220、传输模块230、处理模块240、触发模块250。其中,所述打包保存模块可以包括读取单元221和确认单元222。

获取模块210,用于若接收到文件传输指令,获取待传输文件。

本发明文件传输装置中所包含的模块和单元是指一种能够被计算机所执行并且能够完成固定功能的一系列计算机程序段。程序可以安装于电子设备中。本发明所提出的文件传输装置可应用于电子设备传输多个文件时的场景中,具体的文件传输的数量和大小不限制。同时,本发明优选的应用于多个小文件传输时,其中,小文件是指文件大小为几K甚至更小的文件。

在文件传输时,通常将传输文件的一方称为发送端,接收文件的一方称为接收端。发送端与接收端可以为同类或者不同类的电子设备。例如,发送端为手机,接收端为手机;或者是发送端为手机,接收端为平板电脑等其他智能终端。

上述模块可安装于作为发送端的电子设备中。在发送端接收到文件传输指令时,获取模块210获取待传输文件。

上述待传输文件是要需要进行传输的文件。获取模块210可以获取所有的待传输文件或者部分待传输文件。待传输文件可以一次性获取也可以分多次获取,具体不显示。

打包保存模块220,用于将所述待传输文件打包并保存在内存或缓存中。

在获取模块210获取到待传输文件后,打包保存模块220将获取到的待传输文件打包并保存在内存或缓存中。

上述打包是将多个文件按照一定的格式排列组合成一个文件。通常,当多个文件按照一定的排列格式组合成一个文件时,新文件的大小之和等于原文件的大小之和,即打包后形成的文件大小不发生变化。

上述内存或缓存是作为发送端的电子设备的内存或缓存。

将待传输文件打包并保存在内存或缓存中具体是将待传输文件的内容按照一定的格式排列组合放在内存或缓存中。

进一步地,所述打包保存模块220,具体用于根据所述内存或缓存的大小获取所述待传输文件中一个或多个文件的若干字节进行打包并保存。

打包保存模块220将待传输文件打包并保存在内存或缓存中的过程,具体是打包保存模块220根据内存或缓存的大小获取待传输文件中的一个或多个文件的若干字节进行打包并保存。

具体的,可以根据内存或缓存的大小一次选择预设字节进行打包并保存。

进一步地,所述打包保存模块包括读取单元221和确认单元222。

所述读取单元221,用于根据预设打包规则以字节为单位读取所述待传输文件中未保存的待传输文件的内容至所述内存或缓存中。

根据预设打包规则将待传输文件中未保存的待传输文件的内容读取至内存或缓存中,即按照打包规则将文件打包存放在内存或缓存中。

当待传输文件为多个时,上述待传输文件中未保存的待传输文件是指还没有保存至内存或缓存中的数据,此时,这些未保存的待传输文件也没有传输至接收端。

上述预设打包规则是排列组合多个文件的规则,按照预设打包规则也即是按照一定的格式排列组合多个文件的内容。

所述确认单元222,用于当所述内存当前已存储的容量达到所述内存的存储上限,或当所述缓存当前已存储的容量达到所述缓存的存储上限时,或当前不存在未保存的待传输文件时,确认保存完成。

读取单元221持续将待传输文件中未保存的待传输文件的内容读取至内存或缓存中,当内存中已存储的容量达到所述内存的存储上限时,确认单元222确认保存完成。

或者是当缓存中已存储的容量达到所述缓存的存储上限时,确认单元222确认保存完成。

又或者是,当此时已经不存在未保存的待传输文件,确认单元222确认保存完成。当不存在未保存的待传输文件时,待传输文件或者已读取到内存或缓存中,或者已经发送至接收端。

可以理解的是,在读取待传输文件中未保存的待传输文件的内容至内存或缓存中时,根据内存或缓存的容量,可能一次读取多个文件,也可能一次读取一个文件,或者是读取了一个文件的一部分内容。

进一步地,在根据所述内存或缓存的大小获取所述待传输文件中一个或多个文件的若干字节进行打包并保存时,还可以一次选择内存或缓存大小的数据。例如,缓存大小为50KB。从待传输文件中根据文件排列组合顺序读取50KB的内容至缓存中,然后发送端将缓存中的内容发送至接收端。

进一步地,所述装置还包括处理模块240。

所述处理模块240,还用于在根据所述内存或缓存的大小获取所述待传输文件中一个或多个文件的若干字节进行打包时,对获取到的一个或多个文件的若干字节进行加密和/或压缩处理。

在以字节为单位获取待传输文件的数据时,处理模块240可以对获取到的数据进行加密或者是压缩处理。为了提高传输效率,可以使用简单算法进行加密或压缩处理。或者是对传输的数据有选择的进行加密或压缩。

传输模块230,用于传输所述内存或缓存中保存的数据至接收端。

当打包保存模块220将待传输文件打包并保存在内存或缓存中后,传输模块230将内存或缓存中保存的数据传输至接收端。

在接收端接收到发送端传输的数据后,由于待传输文件以打包的形式发送的,因此,可以将接收到的数据按照同样的打包规则进行分解,逐步依次获取多个文件,而无需等待所有文件都发送完毕才能进行分解。

进一步地,所述装置还包括触发模块250。

所述触发模块250,用于在传输所述内存或缓存中保存的数据至接收端时,若存在未保存的待传输文件,触发所述打包保存模块220根据所述内存或缓存的大小获取所述待传输文件中一个或多个文件的若干字节进行打包并保存。

上述未保存的待传输文件是多个待传输文件中未保存的待传输文件。此时,这些未保存文件也并未传输至接收端。

在传输模块230执行发送操作时,若仍存在未保存的待传输文件,触发模块250触发打包保存模块220根据发送端内存或缓存的大小获取待传输文件中的一个或多个文件的若干字节进行打包并保存,即将此时将仍未保存的待传输文件打包并保存至内存或缓存中。如此,可实现一边传输一边打包,进一步提高传输效率。

本发明实施例二通过若接收到文件传输指令,获取待传输文件;将所述待传输文件打包并保存在内存或缓存中;传输所述内存或缓存中保存的数据至接收端。通过打包的方式传输减少了文件发送前的信息交换过程,同时,直接将内容保存在内存或缓存中加快了数据读取的速度,从而提高了多个小文件传输时的传输效率。

实施例三

请参照图3,图3是本发明实现文件传输方法的较佳实施例的电子设备的结构示意图。

所述电子设备30是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。

所述电子设30可以是,但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、智能式穿戴式设备等。

所述电子设备30所处的网络包括,但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。

所述电子设备30包括至少一个发送装置31、至少一个存储设备32、至少一个处理设备33、至少一个接收装置34、至少一个显示设备35以及至少一个通信总线。其中,所述通信总线用于实现这些组件之间的连接通信。

其中,所述接收装置34和所述发送装置31可以是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他设备进行数据通信。

所述处理设备33可以包括一个或者多个微处理器、数字处理器。

所述存储设备32用于存储文件传输装置中各个程序段的程序代码。所述存储设备32可以为智能媒体卡(smart media card)、安全数字卡(secure digital card)、快闪存储器卡(flash card)等储存设备。

优选地,本发明的文件传输方法通过所述电子设备30中存储的文件传输装置来实现。

所述文件传输装置通过若接收到文件传输指令,获取待传输文件;将所述待传输文件打包并保存在内存或缓存中;传输所述内存或缓存中保存的数据至接收端。通过打包的方式传输减少了文件发送前的信息交换过程,同时,直接将内容保存在内存或缓存中加快了数据读取的速度,从而提高了多个小文件传输时的传输效率。

所述显示设备35可以是触摸屏等其他用于显示画面的设备。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法、置和单元,也可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个装置也可以由同一个装置或系统通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

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