CN103701860A - 小文件的网络传输与接收方法及装置、和网络传输系统 - Google Patents
小文件的网络传输与接收方法及装置、和网络传输系统 Download PDFInfo
- Publication number
- CN103701860A CN103701860A CN201310656749.7A CN201310656749A CN103701860A CN 103701860 A CN103701860 A CN 103701860A CN 201310656749 A CN201310656749 A CN 201310656749A CN 103701860 A CN103701860 A CN 103701860A
- Authority
- CN
- China
- Prior art keywords
- file
- small documents
- computing equipment
- compression
- compressed
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种小文件的网络传输方法,其将位于第一计算设备的多个小文件传输至第二计算设备,该方法包括:将第一计算设备上的多个小文件进行分组;将每组的小文件组合成一个大文件;以及将组合成的大文件经网络传输至所述第二计算设备。另外,本发明还公开了一种小文件的网络接收方法及装置、小文件的网络传输装置、以及网络传输系统。利用本发明可以减少文件在两个终端之间传输时两个终端之间的交互次数,从而实现大量小文件的快速网络传输。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及小文件的网络传输方法及装置、小文件的网络接收方法及装置、以及网络传输系统。
背景技术
在现有技术中,通常,在将文件上传至服务器时,无论文件大小,每个文件都做为一个独立的文件上传,这样每个文件都要单独地与服务器交互一次,而对于小文件(通常是小于256KB的文件,例如50KB左右大小的文件)的传输,文件传输所花的时间实际上并不多,更多的时间都耗费在客户端与服务器的交互上了,例如,当有100个文件被传输时,这100个文件都要分别与服务器交互1次,因此,总共需要交互100次,从而导致传输速度不快。另外,在传输过程中,流量也不能充分利用。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的小文件的网络传输方法及装置、小文件的网络接收方法及装置、以及网络传输系统。
依据本发明的一个方面,提供了一种小文件的网络传输方法,其将位于第一计算设备的多个小文件传输至第二计算设备,该方法包括:将第一计算设备上的多个小文件进行分组;将每组的小文件组合成一个大文件;以及将组合成的大文件经网络传输至所述第二计算设备。
可选地,根据本发明的小文件的网络传输方法,在所述将所述组合成的大文件经网络传输至所述第二计算设备的步骤包括:在所述组合成的大文件的传输中断后又重新恢复传输时,所述组合成的大文件从上次中断处续传。
可选地,根据本发明的小文件的网络传输方法,在将所述组合成的大文件经网络传输至所述第二计算设备的步骤之前,还包括:将每个组所形成的大文件进行压缩,或者,在将要传输至第二计算设备的多个小文件进行分组的步骤之前还包括:对每个小文件进行压缩。
根据本发明的另一方面,本发明还提供一种小文件的网络接收方法,其中,位于第一计算设备的多个小文件传输至第二计算设备,该方法包括:接收从第一计算设备传送的由多个小文件组合成的大文件;以及将接收到的组合成的大文件分解成原来的多个小文件。
根据本发明的又一方面,本发明还提供一种小文件的网络传输装置,其将位于第一计算设备的多个小文件传输至第二计算设备,该装置包括:分组模块,其适于将第一计算设备的多个小文件进行分组;组合模块,其适于将每组的小文件组合成一个大文件;以及传输模块,其适于将所述组合成的大文件经网络传输至所述第二计算设备。
根据本发明的还一方面,本发明还提供一种小文件的网络接收装置,其位于接收来自第一计算设备的多个小文件的第二计算设备中,该装置包括:接收模块,其接收从客户端传送的组合成的大文件;以及分解模块,其将所述接收模块接收到的组合成的大文件分解成原来的多个小文件。
根据本发明的再一方面,本发明还提供一种网络传输系统,其包括:前面所述的小文件的网络传输装置、以及前面所述的小文件的网络接收装置。
利用本发明,在有大量小文件需要在网络中传输时,可以减少客户端与服务端、客户端与客户端、服务端与服务端之间的交互次数,从而实现大量小文件的快速网络传输。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明的一种实施方式的小文件的网络传输方法的流程图;
图2示出了一种文件动态压缩方法的流程图;
图3示出了根据本发明的一种实施方式的小文件的网络接收方法的流程图;
图4示出了根据本发明的一种实施方式的小文件的网络传输装置的结构框图;
图5示出了压缩模块的一种实现方式;
图6示出了根据本发明的一种实施方式的小文件的网络接收装置的结构框图;以及
图7示出了根据本发明的一种实施方式的网络传输系统的方框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在日常生活及工作中,经常需要将文件在网络中的两个计算设备之间进行传输,例如从本地客户端上传至服务器,或者从本地客户端传送至远程的另一个客户端,或者从一个服务器传送至另一服务器、或者从服务器下载至客户端等等。尤其,最近云端服务器为用户提供了方便使用的大容量的云存储器,只要用户将需要使用的文件上传至其自己的云存储器,就可以在不同的地方从云存储器上下载所需的文件,而无需携带移动硬盘、U盘等存储设备,不会担心因为存储设备损坏或者忘记携带而不能及时获得自己所需的文件的问题的出现。
在传输文件时,有可能会涉及大量小文件的传输,由于每个小文件单独进行传输时都会与服务器进行交互,从而影响传输的效率及网络带宽的利用率,为此本发明提出一种小文件的网络传输方法,该方法主要用于大量小文件的传输。
图1示出了根据本发明的一种实施方式的小文件的网络传输方法的流程图。本发明的小文件的网络传输方法主要用于将位于第一计算设备的多个小文件传输至第二计算设备。这里的第一计算设备和第二计算设备可以是客户端、服务器或者其它网络中的设备。
如图1所示,本发明的小文件的网络传输方法100始于步骤S110,在步骤S110,将第一计算设备上的的多个小文件进行分组。这里的小文件主要是指小于256KB的文件,最大不能超过512KB的文件,其中每个小文件的大小可能不一样,也可能一样。当有多个小文件都要上传至服务器时,对这些小文件进行分组,使得分组后的每组小文件的大小总和不大于一预定大小,例如1MB。通常按照小文件的传输次序从前往后依次进行选取,当所选取的小文件的大小之和接近于所述预定大小时,则开始下一个组的小文件的选取,以此类推。另外,每组的小文件的总大小并不一定相同,但只要每组中所有小文件的大小之和小于所述预定大小即可。所述预定大小的选择是一个实验数据,通常在512KB~4MB范围,目前1MB的测试效果较好,例如这与网络的平均带宽等有一定关系。例如,将一个时段内所有要传输的小文件全部作为一个组也可以,但传输效果和灵活性不够高,这在下面的说明中会变得更明白。
接下来,在步骤S120,将每组的小文件组合成一个大文件。通常,将每组的小文件按照客户端与服务器之间的某种协议组合成一个大文件,例如,采用标准的HTTP multipart协议,按照约定的边界,把每组中的多个小文件串起来封装成一个大文件。
接下来,在步骤S130,将所述组合成的大文件经网络传输至所述第二计算设备。具体地,将在步骤S120中得到的多个大文件通过网络传输给所述第二计算设备,所述传输可以有多种传输方式,例如一个一个地传输,或者所有大文件并行传输,优选并行传输,并行传输时会限定并行传输的个数。这里所述所述第二计算设备例如可以是云端服务器。
这里说明一下,不同的分组对文件的传输的影响,当将要传输的多个小文件作为一个组而组合成一个大文件时,这虽然减少了客户端与服务器之间的交互次数,但大文件的传输时间长,而且一旦开始传输了,如果想要放弃或者替换传输中的某个或某几个小文件,则要将需要传输的小文件重新组合成一个大文件,然后再进行传输。而如果将多个小文件分成多个组,多个组可以并行传输,这一方面,可以充分利用带宽以及流量,另一方面,在传输的过程中,可以灵活地选择放弃或替换某个组中的一个或多个小文件,而将该组中剩余的小文件或者替换完后的小文件与其它文件重新组合成一个大文件再进行传输,不影响其它组的传输。
可选地,在所述组合成的大文件的传输中断后又重新恢复传输时,所述组合成的大文件可以从上次中断处续传,因为在文件传输过程中可能会有很多因素导致其传输中断,如果能够续传,则可以节省传输时间。
举一个具体的例子,现在有100个txt类型的小文件需要从客户端传送至服务器,每个小文件的大小为20KB。为了提高传输效率,利用本发明的一个实施例的方法,在步骤S110中,将这100个文件分成5个组,每个组20个文件,则这时每组的文件总大小为400KB。接下来,在步骤S120中,将这5个组中每个组中的小文件组合成一个大文件,那么每个大文件的大小为400KB。接下来,在步骤S130,将所组合成的5个大文件并行传输至服务器;接下来,在步骤S140,将所组合成的5个大文件分别分解成原来的20个小文件。这样,将100个小文件分别从客户端传输至服务器,和将5个大文件从客户端传输至服务器相比,后者比前者的传输速度要快得多,因为,例如客户端并行传输个数为5个,此时开始传输100个20KB的小文件,一开始只能传5*20KB=100KB的内容,必须要等其中一个完成才能继续下一个,其中的网络带宽浪费比较严重。如果把20个文件打包成1个大文件,哪怕是单文件传输,也相当于原来的20个并行传输。可选地,在执行步骤S110前,可以对每个小文件进行压缩,这样小文件将变得更小,为此,分组时,可以考虑分更少的组,例如分成3个组。又可选地,在执行步骤S120之后,对每个组所形成的大文件分别进行压缩,以便进一步提高传输速度。
另外,可选地,在执行步骤S130之前,还可以执行步骤S125,对文件进行压缩。该步骤S125可以在S110之前执行,即,将每个小文件先行进行压缩,然后执行如前所述的步骤S110,将压缩后的小文件进行分组,每组小文件的大小总和不大于一预定大小。可选地,步骤S125也可以在步骤S120之后执行,即,对组合成的大文件进行压缩。通过对文件进行压缩,可以使得组合成的大文件的尺寸变得更小,进一步减小传输时间。
可选地,在对文件进行压缩时,可以采用目前的通常的压缩方法(例如WINRAR和WINZIP)对各个文件进行压缩。另外,可选地,也可以采用图2所示的文件动态压缩方法进行压缩。
如图2所示,该文件动态压缩方法200可以始于步骤S230,在步骤S230,从要被压缩的文件中提取预定大小的部分。所述预定大小的部分可以是从要被压缩的文件中抽取的512KB大小的部分,所述预定大小的具体数值可以根据情况来确定,只要能够显现出压缩比例即可,例如取512KB大小的部分。另外,所述预定大小的部分,可以从要被压缩的文件的最开始部分开始向后连续抽取,也可以从最末端部分开始向前连续抽取,还可以从中间部分抽取。
接下来,在步骤S250,对所提取的预定大小的部分进行压缩,即对文件进行预压缩。这里所采用的压缩工具可以是WINRAR、WINZIP等工具。
接下来,在步骤S270,判断压缩完成后的压缩比例是否达到预定的压缩比例,若是,则执行步骤S290,对该文件进行压缩;若不是,则执行步骤S260,不对该文件进行压缩。在步骤S290,当该文件预定大小的部分是从该文件的最开始抽取的情况下,可以在之前预压缩的基础上对该文件继续进行压缩,而不用再从头开始压缩整个文件;如果该文件预定大小的部分是从该文件的中间部分或者从最后往前抽取的情况下,则对整个文件从头开始进行压缩,由此可知,在抽取该文件的预定大小时,优选从文件的最开始进行抽取。当判断该文件预定大小的部分的压缩比例未达到预定的压缩比例时,不再对该文件进行压缩,则该文件可以被直接传输。
这里,所述的预定的压缩比例可以根据需求而设定,一般要压缩比例在15%以上才值得去压缩,当然,也可以定得高些,例如30%。
另外,可选地,在步骤S230之前还可以包括步骤S210,在步骤S210,判断要被压缩的文件的文件格式是否位于黑名单中,当判断要被压缩的文件的文件格式不在黑名单中时,执行步骤S230,当判断要被压缩的文件的文件格式在黑名单中时,执行步骤S260,不对该文件进行压缩。其中,所述黑名单中存放有不需要被压缩的文件格式,例如扩展名为jpg,zip,rar,pdf,wma,rmvb,rm,flash,mp4等的文件格式,这些文件格式的文件要么无法压缩,要么即使被压缩,压缩效果也不大。
通过使用黑名单,在执行步骤S230的预压缩之前,可以先行判断该文件是否要被压缩,如果该文件的文件格式在黑名单中,则判断该文件不需被压缩,直接进行文件传输即可;如果该文件的文件格式不在黑名单中,则说明该文件格式是未知的文件格式,不确定对其压缩的效果是否明显,为此可以执行步骤S230和步骤S250,尝试性地对其进行压缩,再通过步骤S270来进行判断是否需要对其进行压缩。
这里,黑名单可以是临时性文件,即只对本批要压缩的文件有效,不需长期保存,这时,黑名单存储在内存中即可。例如,有一大批.cad文件要被压缩后传输时,如果程序发现第一个.cad文件压缩比例不满足预期,那么就把.cad加到黑名单列表里,以后再传输下一个.cad文件时,就不会检测是否需要被压缩。另外,黑名单也可以是永久性文件,这时,其在本机中可以记录为配置文件,该配置文件中包含一个文件扩展名列表,例如包含.saz、.png等,在对文件压缩前,先确认其是否存在于黑名单中。
另外,可选地,在步骤S270,当判断压缩完成后的压缩比例未达到预定的压缩比例时,还可以执行如下步骤:将该文件的文件格式添加到所述黑名单中。这里的黑名单是长期保存的文件。这样,可以减少对一些文件格式类型的文件的预压缩。由于不在黑名单中的文件格式是未知的文件格式,具有这种文件格式的文件通常也不会有很多,所以,通常不需要将这种文件格式添加到黑名单中,因为如果在黑名单中存放太多的文件格式,虽然可以减少对一些文件格式类型的文件进行后续的预压缩,但在步骤S210中进行判断时所耗费的时间会增加,而实际上对文件进行预压缩时,由于选取的文件大小大约为512KB左右,进行预压缩所花的时间非常短,另外,再加上这类文件比较少,所以总共对这类文件进行预压缩所花费的时间也不会太多,不象具有在黑名单中所存放的那些文件格式的文件,文件数量可能会比较大,如果一一进行预压缩和判断,累积的时间则可能会比较大。
上述文件动态压缩方法,不仅适用于将文件上传至服务器侧,也适用于从服务器侧下载文件。为了加快从服务器侧下载文件的速度,在下载之前,可以将文件尺寸压缩得小一些,然后再进行传输,下载前对文件的压缩就可以采用本发明的方法进行压缩。当然,本发明的方法,不限于用于前面所述的情形,其可以广泛地用于任何两个通过网络连接的设备之间传输的文件。
另外,本发明还提供一种小文件的网络接收方法,该方法用于当需要将第一计算设备的多个小文件传输至第二计算设备时的情形,对应于前面图1所述的小文件的网络传输方法100。如图3所示,其示出了根据本发明的一个实施例的小文件的网络接收方法300的流程图。本发明的小文件的网络接收方法300包括如下步骤:在步骤S310,接收从第一计算设备传送的由多个小文件组合成的大文件。根据前面关于小文件的网络传输方法的描述中可知,所接收的由多个小文件组合成的大文件可以是经过压缩后的大文件,也可以未经压缩的大文件,或者该大文件是由多个经过压缩的小文件组成。
接下来,在步骤S320,将接收到的组合成的大文件分解成原来的多个小文件。在组合成的大文件传送至第二计算设备后,根据与之前将多个小文件组合成大文件所采用的协议相同的协议,将该组合成的大文件分解成原始的多个小文件,从而使得最终在第二计算设备上看到的是原始的多个小文件。在这一点上,也可以体现出将多个小文件组合成一个大文件进行传输的方式没有将多个小文件分成多个组然后分别传输的方式好,因为,在将多个小文件组合成一个大文件进行传输的情况下,所有的小文件都要等到大文件传输完之后才能在第二计算设备处被看到。而在将多个小文件分成多个组进行传输的情况下,每个组所形成的大文件传输完的时间通常是不同的,先传输完毕的大文件,形成该大文件的多个原始小文件会在第二计算设备侧先被看到,不需要等待全部组传完之后才能看到。
图4示出了根据本发明的一种实施方式的小文件的网络传输装置400,其主要用于将位于第一计算设备的多个小文件传输至第二计算设备的情形。这里的第一计算设备和第二计算设备可以是客户端、服务器或者其它网络中的终端设备。
如图4所示,本发明的小文件的网络传输装置400包括分组模块410、组合模块420、和传输模块440。
其中,分组模块410适于将第一计算设备的多个小文件进行分组。这里的小文件主要是指小于256KB的文件,最大不能超过512KB的文件,其中每个小文件的大小可能不一样,也可能一样。当有多个小文件都要上传至服务器时,对这些小文件进行分组,使得分组后的每组小文件的大小总和不大于一预定大小,例如1MB。通常按照小文件的传输次序从前往后依次进行选取,当所选取的小文件的大小之和接近于所述预定大小时,则开始下一个组的小文件的选取,以此类推。另外,每组的小文件的总大小并不一定相同,但只要每组中所有小文件的大小之和小于所述预定大小即可。所述预定大小的选择是一个实验数据,通常在512KB~4MB范围,目前1MB的测试效果较好,例如与网络的平均带宽等等有一定的关系。例如,将一个时段内所有要传输的小文件全部作为一个组也可以,但传输效果和灵活性不够高,这从前面的方法的说明中可以明白。
组合模块420适于将每组的小文件组合成一个大文件。通常,将每组的小文件按照客户端与服务器之间的某种协议组合成一个大文件,例如,采用标准的HTTP multipart协议,按照约定的边界,把每组中的多个小文件串起来封装成一个大文件。
传输模块440适于将所述组合成的大文件经网络传输至所述第二计算设备。具体地,将组合模块420得到的多个大文件通过网络传输给所述第二计算设备,所述传输可以有多种传输方式,例如一个一个地传输,或者所有大文件并行传输,优选并行传输,该并行传输会有个数的限制。这里所述第二计算设备例如可以是云端服务器。
这里说明一下,不同的分组对文件的传输的影响,当将要传输的多个小文件作为一个组而组合成一个大文件时,这虽然减少了客户端与服务器之间的交互次数,但大文件的传输时间长,而且一旦开始传输了,如果想要放弃或者替换传输中的某个或某几个小文件,则要将需要传输的小文件重新组合成一个大文件,然后再进行传输。而如果将多个小文件分成多个组,多个组可以并行传输,这一方面,可以充分利用带宽以及流量,另一方面,在传输的过程中,可以灵活地选择放弃或替换某个组中的一个或多个小文件,而将该组中剩余的小文件或者替换完后的小文件与其它文件重新组合成一个大文件再进行传输,不影响其它组的传输。
另外,可选地,传输模块440还可以包括中断模块,该中断模块适于将正在并行传输的大文件的传输中断。在文件传输过程中,有时用户可能由于某种原因想放弃其中某个或某几个小文件的传输,例如忽然间意识到传输的某个小文件不是最新版本等,这时,中断模块可以中断包含这个或这几个小文件的组的传输,方便用户操作。
另外,可选地,传输模块440还可以包括续传模块,该续传模块适于将中断传输的大文件从上次中断处进行续传。通常,文件传输过程中可能有很多因素会导致文件传输中断,续传模块使得中断传输的文件在传输中断后又重新恢复传输时可以从上次中断处续传,从而可以节省传输时间。
另外,本发明的装置400还可以包括压缩模块430。压缩模块430可以适于在对小文件分组前对每个小文件分别进行压缩,也可以适于将所述组合模块420组合成的大文件进行压缩。压缩模块430可以采用目前的通常的压缩方法对文件进行压缩,另外,可选地,也可以采用图4所示的结构。
如图5所示,压缩模块430包括:提取单元4325、压缩单元4330和压缩识别单元4340。
其中,提取单元4325适于从要压缩的文件中提取预定大小的部分。所述预定大小的部分可以是从要被压缩的文件中抽取的512KB大小的部分,所述预定大小的具体数值可以根据情况来确定,只要能够显现出压缩比例即可,例如取512KB大小的部分。另外,所述预定大小的部分,可以从要被压缩的文件的最开始部分开始向后连续抽取,也可以从最末端部分开始向前连续抽取,还可以从中间部分抽取。
压缩单元4330适于对提取单元4325所提取的预定大小的部分进行压缩,即对文件进行预压缩。这里所采用的压缩工具可以是WINRAR、WINZIP等工具。
压缩识别单元4340判断压缩单元4330对提取的预定大小部分压缩完成后的压缩比例是否达到预定的压缩比例。其中,当压缩识别单元4340判断压缩单元4330对提取的预定大小部分压缩完成后的压缩比例达到预定的压缩比例时,压缩单元4330对该文件进行压缩,当该文件预定大小的部分是从该文件的最开始抽取的情况下,压缩单元4330可以在之前预压缩的基础上对该文件继续进行压缩,而不用再从头开始压缩整个文件;如果该文件预定大小的部分是从该文件的中间部分或者从最后往前抽取的情况下,则压缩单元4330需要对整个文件从头开始进行压缩,由此可知,在抽取该文件的预定大小时,优选从文件的最开始进行抽取。当压缩识别单元4340判断压缩单元230压缩完成后的压缩比例未达到预定的压缩比例时,压缩单元4330不再对该文件进行压缩,则该文件可以被直接传输。这里,所述的预定的压缩比例可以根据需求而设定,一般要压缩比例在15%以上才值得去压缩,当然,也可以定得高些,例如30%。
另外,压缩模块430还可以包括存储单元4310和判断单元4320。其中,存储单元4310适于存储黑名单,该黑名单中存放不需要压缩的文件格式,例如扩展名为pdf,wma,rmvb,rm,flash,mp4等的文件格式,这些文件格式的文件要么无法压缩,要么即使被压缩,压缩效果也不大。判断单元4320适于判断要被压缩的文件的文件格式是否位于黑名单中。其中,当判断单元4320判断要被压缩的文件的文件格式不在黑名单中时,提取单元4325从要压缩的文件中提取预定大小的部分,然后压缩单元4330对所提取的预定大小的部分进行压缩。当判断单元4320判断要被压缩的文件的文件格式在黑名单中时,压缩单元4330不对该文件进行压缩。通过使用黑名单,在压缩单元4330进行预压缩之前,判断单元4320可以先行判断该文件是否要被压缩,如果该文件的文件格式在黑名单中,则判断该文件不需被压缩,直接进行文件传输即可;如果该文件的文件格式不在黑名单中,再由压缩单元4330进行预压缩。这里,黑名单可以是临时性文件,即只对本批要压缩的文件有效,不需长期保存,这时,黑名单存储在内存中即可。例如,有一大批.cad文件要被压缩后传输时,如果程序发现第一个.cad文件压缩比例不满足预期,那么就把.cad加到黑名单列表里,以后再传输下一个.cad文件时,就不会检测是否需要被压缩。另外,黑名单也可以是永久性文件,这时,其在本机中可以记录为配置文件,该配置文件中包含一个文件扩展名列表,例如包含.saz、.png等,在对文件压缩前,先确认其是否存在于黑名单中。
另外,可选地,在判断单元4320判断要压缩的文件的文件格式不在黑名单中的情况下,且当压缩识别单元4340判断对所提取的预定大小的部分压缩完成后的压缩比例未达到预定的压缩比例时,压缩识别单元4340将该要被压缩的文件的文件格式添加到所述黑名单中。这里的黑名单是长期保存的文件。由于不在黑名单中的文件格式是未知的文件格式,具有这种文件格式的文件通常也不会有很多,所以,通常不需要将这种文件格式添加到黑名单中,因为如果在黑名单中存放太多的文件格式,虽然可以减少对一些文件格式类型的文件进行后续的预压缩,但判断单元4320进行判断时所耗费的时间会增加,而实际上对文件进行预压缩时,由于选取的文件大小大约为512KB左右,进行预压缩所花的时间非常短,另外,再加上这类文件比较少,所以总共对这类文件进行预压缩所花费的时间也不会太多,不象具有在黑名单中所存放的那些文件格式的文件,文件数量可能会比较大,如果一一进行预压缩和判断,累积的时间则可能会比较大。
通过图5所述的压缩模块430,可以实现对文件的动态压缩,可以有选择地对文件进行压缩,对不需进行压缩的文件可以直接进行传输,从而可以减少对CPU资源的占用。
另外,本发明还提供一种小文件的网络接收装置,其包含于接收来自第一计算设备的多个小文件的第二计算设备中,其对应前面图4所示的小文件的网络传输装置400。如图6所示,其示出了根据本发明的一个实施例的小文件的网络接收装置600的方框图。本发明的小文件的网络接收装置600包括接收模块610和分解模块620。
其中,接收模块610接收从客户端传送的组合成的大文件。根据前面关于小文件的网络传输装置的描述中可知,所接收的由多个小文件组合成的大文件可以是经过压缩后的大文件,也可以未经压缩的大文件,或者该大文件是由多个经过压缩的小文件组成。
分解模块620将接收模块610接收到的组合成的大文件分解成原来的多个小文件。在组合成的大文件传送至第二计算设备后,根据与之前将多个小文件组合成大文件所采用的协议相同的协议,将该组合成的大文件分解成原始的多个小文件,从而使得最终在第二计算设备上看到的是原始的多个小文件。在这一点上,也可以体现出将多个小文件组合成一个大文件进行传输的方式没有将多个小文件分成多个组然后分别传输的方式好,因为,在将多个小文件组合成一个大文件进行传输的情况下,所有的小文件都要等到大文件传输完之后才能在第二计算设备处被看到。而在将多个小文件分成多个组进行传输的情况下,每个组所形成的大文件传输完的时间通常是不同的,先传输完毕的大文件,形成该大文件的多个原始小文件会在第二计算设备侧先被看到,不需要等待全部组传完之后才能看到。
另外,根据本发明的另一方面,还提供一种网络传输系统。如图7所示,其示出了本发明的网络传输系统700的方框图。本发明的网络传输系统700包括前面所述的小文件的网络传输装置400和小文件的网络接收装置600。为了简洁起见,这里不再重复描述小文件的网络传输装置400和小文件的网络接收装置600结构。本发明,即可以用于从客户端向服务器端(例如云端服务器侧)上传大量小文件,也适于基于客户端向服务器发送的指令或者请求而从服务器下载大量小文件。本发明不限于客户端与服务器之间的大量小文件传输,适用于任何两个终端之间的大量小文件传输。利用本发明,可以减少文件在两个终端之间传输时两个终端之间的交互次数,从而实现大量小文件的快速网络传输。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的浏览器客户端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开A1、一种小文件的网络传输方法,其将位于第一计算设备的多个小文件传输至第二计算设备,该方法包括:
将第一计算设备上的多个小文件进行分组;
将每组的小文件组合成一个大文件;以及
将组合成的大文件经网络传输至所述第二计算设备。
A2、根据A1所述的方法,其中,
所述组合成的大文件的大小为512KB-4MB。
A3、根据A1或A2所述的方法,其中,
在所述将所述组合成的大文件经网络传输至所述第二计算设备的步骤包括:
在所述组合成的大文件的传输中断后又重新恢复传输时,所述组合成的大文件从上次中断处续传。
A4、根据A1-A3中任何一项所述的方法,其中,
在将所述组合成的大文件经网络传输至所述第二计算设备的步骤之前,还包括:
将每个组所形成的大文件进行压缩,或者,
在将要传输至第二计算设备的多个小文件进行分组的步骤之前,还包括:
对每个小文件进行压缩。
A5、根据A4所述的方法,所述将每个组所形成的大文件进行压缩的步骤包括:
判断所述大文件的文件格式是否位于黑名单中,其中所述黑名单包括不需要被压缩的文件格式;以及
当所述大文件的文件格式不在黑名单中时,对该大文件的预定大小的文件进行压缩,当压缩比例达到预定比例时,则对该大文件进行压缩;当压缩比例未达到预定比例时,不对该大文件进行压缩。
本发明还公开了B1、一种小文件的网络接收方法,其中,位于第一计算设备的多个小文件传输至第二计算设备,该方法包括:
接收从第一计算设备传送的由多个小文件组合成的大文件;以及
将接收到的组合成的大文件分解成原来的多个小文件。
本发明还公开了C1、一种小文件的网络传输装置,其将位于第一计算设备的多个小文件传输至第二计算设备,该装置包括:
分组模块,其适于将第一计算设备的多个小文件进行分组;
组合模块,其适于将每组的小文件组合成一个大文件;以及
传输模块,其适于将所述组合成的大文件经网络传输至所述第二计算设备。
C2、根据C1所述装置,其中,
所述组合模块组合成的大文件的大小为512KB-2MB。
C3、根据C1或C2所述的装置,其中,
所述传输模块包括中断模块,该中断模块适于将正在传输的大文件的传输中断。
C4、根据C1-C3中任何一项所述的装置,其中,所述传输模块还包括续传模块,该续传模块适于将中断传输的大文件从上次中断处进行续传。
C5、根据C1-C4中任何一项所述的装置,还包括:
压缩模块,其适于在所述分组模块对第一计算设备上的多个小文件进行分组前对每个小文件进行压缩或者将所述组合模块组合成的大文件进行压缩。
C6、根据C5所述的装置,其中,所述压缩模块包括:
压缩单元,其适于先对要被压缩的文件的预定大小的部分进行压缩;和
压缩识别单元,其判断对该文件的预定大小的部分的压缩比例是否达到预定的压缩比例;
其中,当所述压缩识别单元判断该文件预定大小的部分的压缩比例达到预定的压缩比例时,所述压缩单元对该文件进行压缩;当所述压缩识别单元判断该文件预定大小的部分的压缩比例未达到预定的压缩比例时,所述压缩单元不再对该文件进行压缩。
C7、根据C6所述的装置,其中,所述压缩模块还包括:
存储单元,其适于存储黑名单,该黑名单中存放不需要压缩的文件格式;和
判断单元,其适于判断要被压缩的文件的文件格式是否位于黑名单中;
其中,当所述判断单元判断要被压缩的文件的文件格式不在黑名单中时,所述压缩单元对要被压缩的文件的预定大小的部分进行压缩;当所述判断单元判断要被压缩的文件的文件格式在黑名单中时,所述压缩单元不对该文件进行压缩。
本发明还公开了D1、一种小文件的网络接收装置,其包含于接收来自第一计算设备的多个小文件的第二计算设备中,该装置包括:
接收模块,其接收从客户端传送的组合成的大文件;以及
分解模块,其将所述接收模块接收到的组合成的大文件分解成原来的多个小文件。
本发明还公开了E1、一种网络传输系统,包括:
根据权利要求C1-C7中任何一项所述的小文件的网络传输装置;以及
根据D1所述的小文件的网络接收装置。
Claims (10)
1.一种小文件的网络传输方法,其将位于第一计算设备的多个小文件传输至第二计算设备,该方法包括:
将第一计算设备上的多个小文件进行分组;
将每组的小文件组合成一个大文件;以及
将组合成的大文件经网络传输至所述第二计算设备。
2.根据权利要求1所述的方法,其中,
在将所述组合成的大文件经网络传输至所述第二计算设备的步骤之前,还包括:
将每个组所形成的大文件进行压缩,或者,
在将要传输至第二计算设备的多个小文件进行分组的步骤之前,还包括:
对每个小文件进行压缩。
3.根据权利要求2所述的方法,所述将每个组所形成的大文件进行压缩的步骤包括:
判断所述大文件的文件格式是否位于黑名单中,其中所述黑名单包括不需要被压缩的文件格式;以及
当所述大文件的文件格式不在黑名单中时,对该大文件的预定大小的文件进行压缩,当压缩比例达到预定比例时,则对该大文件进行压缩;当压缩比例未达到预定比例时,不对该大文件进行压缩。
4.一种小文件的网络接收方法,其中,位于第一计算设备的多个小文件传输至第二计算设备,该方法包括:
接收从第一计算设备传送的由多个小文件组合成的大文件;以及
将接收到的组合成的大文件分解成原来的多个小文件。
5.一种小文件的网络传输装置,其将位于第一计算设备的多个小文件传输至第二计算设备,该装置包括:
分组模块,其适于将第一计算设备的多个小文件进行分组;
组合模块,其适于将每组的小文件组合成一个大文件;以及
传输模块,其适于将所述组合成的大文件经网络传输至所述第二计算设备。
6.根据权利要求5所述的装置,还包括:
压缩模块,其适于在所述分组模块对第一计算设备上的多个小文件进行分组前对每个小文件进行压缩或者将所述组合模块组合成的大文件进行压缩。
7.根据权利要求6所述的装置,其中,所述压缩模块包括:
压缩单元,其适于先对要被压缩的文件的预定大小的部分进行压缩;和
压缩识别单元,其判断对该文件的预定大小的部分的压缩比例是否达到预定的压缩比例;
其中,当所述压缩识别单元判断该文件预定大小的部分的压缩比例达到预定的压缩比例时,所述压缩单元对该文件进行压缩;当所述压缩识别单元判断该文件预定大小的部分的压缩比例未达到预定的压缩比例时,所述压缩单元不再对该文件进行压缩。
8.根据权利要求7所述的装置,其中,所述压缩模块还包括:
存储单元,其适于存储黑名单,该黑名单中存放不需要压缩的文件格式;和
判断单元,其适于判断要被压缩的文件的文件格式是否位于黑名单中;
其中,当所述判断单元判断要被压缩的文件的文件格式不在黑名单中时,所述压缩单元对要被压缩的文件的预定大小的部分进行压缩;当所述判断单元判断要被压缩的文件的文件格式在黑名单中时,所述压缩单元不对该文件进行压缩。
9.一种小文件的网络接收装置,其包含于接收来自第一计算设备的多个小文件的第二计算设备中,该装置包括:
接收模块,其接收从客户端传送的组合成的大文件;以及
分解模块,其将所述接收模块接收到的组合成的大文件分解成原来的多个小文件。
10.一种网络传输系统,包括:
根据权利要求5-8中任何一项所述的小文件的网络传输装置;以及
根据权利要求9所述的小文件的网络接收装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310656749.7A CN103701860A (zh) | 2013-12-06 | 2013-12-06 | 小文件的网络传输与接收方法及装置、和网络传输系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310656749.7A CN103701860A (zh) | 2013-12-06 | 2013-12-06 | 小文件的网络传输与接收方法及装置、和网络传输系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103701860A true CN103701860A (zh) | 2014-04-02 |
Family
ID=50363254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310656749.7A Pending CN103701860A (zh) | 2013-12-06 | 2013-12-06 | 小文件的网络传输与接收方法及装置、和网络传输系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103701860A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978351A (zh) * | 2014-04-09 | 2015-10-14 | 中国电信股份有限公司 | 海量小文件备份方法与云存储网关 |
CN105959423A (zh) * | 2016-07-22 | 2016-09-21 | 北京龙存科技有限责任公司 | 一种大量小文件远程传输的方法 |
CN106161633A (zh) * | 2016-07-20 | 2016-11-23 | 柏科数据技术(深圳)股份有限公司 | 一种基于云计算环境下打包文件的传输方法及系统 |
CN106453649A (zh) * | 2016-11-29 | 2017-02-22 | 珠海市魅族科技有限公司 | 文件传输方法及装置 |
CN107391423A (zh) * | 2017-07-26 | 2017-11-24 | Tcl移动通信科技(宁波)有限公司 | 通过otg功能传输文件的方法、存储介质及移动终端 |
CN109842652A (zh) * | 2017-11-27 | 2019-06-04 | 中兴通讯股份有限公司 | 一种文件的上传方法、终端、云服务器和计算机存储介质 |
CN113301162A (zh) * | 2021-05-31 | 2021-08-24 | 深圳市云语科技有限公司 | 一种可在高延迟场景下快速下载大量小文件的传输方法 |
CN113518094A (zh) * | 2021-09-14 | 2021-10-19 | 深圳市普渡科技有限公司 | 数据处理方法、装置、机器人和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1385970A (zh) * | 2002-06-25 | 2002-12-18 | 南京东大移动互联技术有限公司 | 多路并行传输宽带高速跳频通信方法及装置 |
CN1584875A (zh) * | 2004-06-01 | 2005-02-23 | 北京九州计算机网络有限公司 | 批量计算机文件的遍历性压缩和解压缩方法 |
CN101026551A (zh) * | 2006-10-10 | 2007-08-29 | 中山大学 | 一种通信传输中的文件打包解包方法 |
CN101355364A (zh) * | 2008-09-08 | 2009-01-28 | 北大方正集团有限公司 | 文件压缩方法及装置、文件解压缩方法及装置 |
CN101599986A (zh) * | 2008-06-02 | 2009-12-09 | 宏碁股份有限公司 | 加速文件传输速度的方法及计算机系统 |
CN102007754A (zh) * | 2008-04-11 | 2011-04-06 | 汤姆森许可贸易公司 | 提高文件传输可靠性的系统和方法 |
CN102111301A (zh) * | 2011-03-28 | 2011-06-29 | 上海云高软件科技有限公司 | 一种通用文件传输系统及其实现方法 |
-
2013
- 2013-12-06 CN CN201310656749.7A patent/CN103701860A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1385970A (zh) * | 2002-06-25 | 2002-12-18 | 南京东大移动互联技术有限公司 | 多路并行传输宽带高速跳频通信方法及装置 |
CN1584875A (zh) * | 2004-06-01 | 2005-02-23 | 北京九州计算机网络有限公司 | 批量计算机文件的遍历性压缩和解压缩方法 |
CN101026551A (zh) * | 2006-10-10 | 2007-08-29 | 中山大学 | 一种通信传输中的文件打包解包方法 |
CN102007754A (zh) * | 2008-04-11 | 2011-04-06 | 汤姆森许可贸易公司 | 提高文件传输可靠性的系统和方法 |
CN101599986A (zh) * | 2008-06-02 | 2009-12-09 | 宏碁股份有限公司 | 加速文件传输速度的方法及计算机系统 |
CN101355364A (zh) * | 2008-09-08 | 2009-01-28 | 北大方正集团有限公司 | 文件压缩方法及装置、文件解压缩方法及装置 |
CN102111301A (zh) * | 2011-03-28 | 2011-06-29 | 上海云高软件科技有限公司 | 一种通用文件传输系统及其实现方法 |
Non-Patent Citations (1)
Title |
---|
洪旭升等: "基于MapFile的HDFS小文件存储效率问题", 《计算机系统应用》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978351A (zh) * | 2014-04-09 | 2015-10-14 | 中国电信股份有限公司 | 海量小文件备份方法与云存储网关 |
CN106161633A (zh) * | 2016-07-20 | 2016-11-23 | 柏科数据技术(深圳)股份有限公司 | 一种基于云计算环境下打包文件的传输方法及系统 |
CN105959423A (zh) * | 2016-07-22 | 2016-09-21 | 北京龙存科技有限责任公司 | 一种大量小文件远程传输的方法 |
CN106453649A (zh) * | 2016-11-29 | 2017-02-22 | 珠海市魅族科技有限公司 | 文件传输方法及装置 |
CN107391423A (zh) * | 2017-07-26 | 2017-11-24 | Tcl移动通信科技(宁波)有限公司 | 通过otg功能传输文件的方法、存储介质及移动终端 |
CN109842652A (zh) * | 2017-11-27 | 2019-06-04 | 中兴通讯股份有限公司 | 一种文件的上传方法、终端、云服务器和计算机存储介质 |
CN113301162A (zh) * | 2021-05-31 | 2021-08-24 | 深圳市云语科技有限公司 | 一种可在高延迟场景下快速下载大量小文件的传输方法 |
CN113301162B (zh) * | 2021-05-31 | 2022-08-16 | 深圳市云语科技有限公司 | 一种可在高延迟场景下快速下载大量小文件的传输方法 |
CN113518094A (zh) * | 2021-09-14 | 2021-10-19 | 深圳市普渡科技有限公司 | 数据处理方法、装置、机器人和存储介质 |
CN113518094B (zh) * | 2021-09-14 | 2021-12-28 | 深圳市普渡科技有限公司 | 数据处理方法、装置、机器人和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103701860A (zh) | 小文件的网络传输与接收方法及装置、和网络传输系统 | |
CN110311953B (zh) | 一种媒体资料上传与存储系统及方法 | |
EP3125501B1 (en) | File synchronization method, server, and terminal | |
CN102063498B (zh) | 基于内容特征信息对链接进行去重处理的方法与设备 | |
CN110347651A (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
US7200547B2 (en) | Method of processing binary program files | |
CN104618444A (zh) | 一种基于反向代理服务器处理请求的方法和装置 | |
CN102946436A (zh) | 一种下载系统 | |
CN109086307B (zh) | 文件处理的方法及装置 | |
CN105653209A (zh) | 一种对象存储数据传输方法及装置 | |
CN105446975A (zh) | 一种文件打包方法及装置 | |
CN104008120A (zh) | 用于数据存档的系统及方法 | |
CN104010042A (zh) | 一种云服务的重复数据删除的备份机制 | |
CN102118451B (zh) | 用户资源的上传处理方法及装置 | |
CN105204964A (zh) | 基于云盘的数据备份方法及装置 | |
CN105320577A (zh) | 一种数据备份和恢复方法、系统及装置 | |
EP3506599B1 (en) | Method for synchronizing contact information, apparatus and medium | |
CN110045924B (zh) | 分级存储方法、装置、电子设备及计算机可读存储介质 | |
CN102377688B (zh) | 一种文件的传输方法和设备 | |
CN103888452B (zh) | 用于报文压缩的保序方法和装置 | |
CN105357302A (zh) | 一种网络数据包断点续传方法及装置 | |
CN103049561B (zh) | 一种数据压缩方法、存储引擎及存储系统 | |
CN102479211A (zh) | 基于数据库的海量数据处理系统及方法 | |
CN102103601A (zh) | 选取文件的方法和装置 | |
CN104239538A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140402 |