一种文件并行传输的方法及系统技术方案

技术编号:10340114 阅读:144 留言:0更新日期:2014-08-21 13:12
一种文件并行传输的方法和系统,所述方法包括如下步骤:获取待传输的文件的长度并设置传输线程的数量;分割文件;创建传输线程;创建目标文件;执行所述传输线程以传输多个文件片段;在所有传输线程传输完各自对应的文件片段时,结束文件传输,关闭所述目标文件。本发明专利技术以提高数据交互的速度和数据分析结果的准确度,提升了用户体验,同时降低用户的使用成本。

【技术实现步骤摘要】
一种文件并行传输的方法及系统
本专利技术涉及云计算和数据统计
,特别涉及一种文件并行传输的方法和文件并行传输的系统。
技术介绍
在云计算和大数据统计过程中,对数据的交互传输速度有着很高的要求。但是目前的问题是数据的交互采用顺序传输,读取和发送使用同步进行的方式,从而占用了大量的时间,而统计则占用了较少的时间。这种情况就会导致在一个固定的时间内必须返回结果时,查找树又没有达到查找的最佳数据节点就返回了查找结果,可想而知返回的这种查找结果准确度不高。而且,传输数据的时间长会导致设备系统资源的利用效率低。因此,有必要对数据交互的方式进行优化改善,以提高数据交互的速度和准确度。
技术实现思路
本专利技术鉴于上述情况而作出,其目的是提供一种文件并行传输的方法,该方法可以提高数据交互的速度和数据分析结果的准确度,提升了用户体验,同时降低用户的使用成本。为实现上述目的,本专利技术的一个方面提供了一种文件并行传输的方法,包括如下步骤:获取待传输的文件的长度并设置传输线程的数量;分割文件;创建传输线程;创建目标文件;执行所述传输线程以传输多个文件片段;以及在所有传输线程传输完各自对应的文件片段时形成所述目标文件。所述分割文件的步骤中,根据待传输文件的长度和设置的传输线程的数量将文件分割为多个文件片段,使得每个文件片段的长度小于预定数值;其中,采用Http协议的GET命令设置每个传输线程对应传输的文件片段。所述创建传输线程的步骤还包括以下步骤:设置每个传输线程对应的文件片段的起始位置和结束位置并形成该文件片段的文件句柄;将每个传输线程对应的文件片段的文件句柄发送到接收端。其中,所述创建目标文件的步骤是在文件传输的目标位置创建目标文件,该目标文件是空文件,用于存储多个传输线程所传输的文件片段。所述执行所述传输线程的步骤进一步包括以下步骤:在传输对应的文件片段过程中,实时记录当前传输数据在所述文件中的数据位置;以及如果存在传输线程出错,则创建一个新的传输线程或者由其他线程根据出错线程记录的当前传输数据在所述文件中的数据位置进行断点续传。根据本专利技术的另一方面,提供了一种文件并行传输的系统,包括:线程设置模块,用于获取待传输的文件的长度并设置传输线程的数量;文件分割模块,连接至所述线程设置模块,用于分割文件;线程创建模块,连接至所述文件分割模块,用于创建所述传输线程和目标文件;线程执行模块,连接至所述线程创建模块,用于执行所述传输线程以传输多个文件片段;以及文件处理模块,用于在所有传输线程传输完各自对应的文件片段时形成所述目标文件。根据本专利技术的系统,可以提高数据交互的速度和数据分析结果的准确度,提升了用户体验,同时降低用户的使用成本。优选的,所述文件分割模块根据待传输文件的长度和设置的传输线程的数量将文件分割为多个文件片段,使得每个文件片段的长度小于预定数值。优选的,所述线程创建模块采用Http协议的GET命令设置每个传输线程对应传输的文件片段,并在创建所述多个传输线程之后进一步执行下述操作:设置每个传输线程对应的文件片段的起始位置和结束位置并形成该文件片段的文件句柄;以及将每个传输线程对应的文件片段的文件句柄发送到接收端。优选的,所述线程执行模块还执行下述操作:在每个传输线程的执行过程中,实时记录当前传输数据在所述文件中的数据位置;和如果某个传输线程出错,则创建一个新的传输线程或者由其他线程根据出错线程记录的当前传输数据在所述文件中的数据位置进行断点续传。优选的,所述文件处理模块在文件传输的目标位置创建目标文件,该目标文件是空文件,用于存储多个传输线程所传输的文件片段。根据本专利技术提供的文件并行传输的方法,可以对数据交互进行优化改善,将数据的完整性进行拆分传输。即,使用多个传输线程对数据进行分割和断点续传,将对一个文件的顺序传输模拟成多个文件的同时传输的方式来实现,从而达到加速数据交互的目的。本专利技术通过续点连传的方式进行数据交互,提高数据交互的速度,留出更多时间用于数据分析。根据本专利技术的方法,每个传输线程在传输对应的文件片段过程中,实时记录当前传输数据在所述文件中的数据位置,并且在有所述传输线程出错时,创建一个新的传输线程或者由其他线程根据出错线程记录的当前传输数据在所述文件中的数据位置进行断点续传。本专利技术提供的文件并行传输的系统对数据交互进行优化改善,将数据的完整性进行拆分传输。即,使用多个传输线程对数据进行分割和断点续传,将对一个文件的顺序传输模拟成多个文件的同时传输的方式来实现,从而达到加速数据交互的目的。本专利技术通过续点连传的方式进行数据交互,提高数据交互的速度,留出更多时间用于数据分析。【附图说明】图1是根据本专利技术实施方式的文件并行传输的方法的流程图;图2示意性地示出文件分割示意图;图3是根据本专利技术实施方式的文件并行传输的系统的结构图。【具体实施方式】为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。云计算和大数据统计过程中,目前存在交互传输与统计分析时间分配不均衡的问题。在数据的整个传输及分析过程中,交换数据占用了较多的时间,而留给分析的时间较少,从而导致传输效率低,并且分析结果没有时间达到最优,影响了分析结果的准确度。为此,本专利技术提出了一种文件并行传输的方法,缩短了数据的交互传输时间,从而可以留出更多时间用于数据分析。图1是根据本专利技术实施方式的文件并行传输的方法的流程图。如图1所示,本专利技术优选实施方式的文件并行传输的方法包括如下步骤:步骤SI,获取待传输的文件的长度并设置传输线程的数量。首先获取待传输的文件的长度,同时设置该文件传输线程的数量,也即将该文件设置为通过多个线程进行并行传输。通过一个文件拆分为多个线程并行传输,可以显著提高文件传输的速度。在本专利技术的实施方式中,优选的采用Http (Hypertext transfer protocol,超文本转移协议)协议的HEAD命令获取待传输的文件的长度。步骤S2,分割文件。本步骤中,根据待传输文件的长度和设置的传输线程的数量,将文件分割为多个文件片段,每个文件片段的长度均小于预定数值。在本专利技术的实施方式中,可以采用等分或不等分的方式将文件分割为多个文件片段。优选的,分割后的文件片段的长度不超过100字节,但本专利技术不限制于此。例如,待传输文件的长度为L,传输线程的数量为η。本步骤中,采用等分的方式,可以将文件分割为η个文件片段,每个文件片段的长度为L/n。当然,也可以采用不等分的方式,随机将文件长度L划分η份。步骤S3,创建传输线程。本步骤中,基于设置好的传输线程的数量以及分割好的文件片段创建多个传输线程,将多个文件片段分配至多个传输线程,使得每个传输线程对应一个需要传输的文件片段。所创建的每个传输线程发送与该传输线程对应的文件片段的文件句柄,使得该传输线程可以执行对应文件片段的传输。在本专利技术的实施方式中,采用Http协议的GET命令设置每个传输线程对应传输的文件片段。其中,每个文件片段包括数据在文件中的起始位置和结束位置[From,to]。具体来说,设置本文档来自技高网...

【技术保护点】
一种文件并行传输的方法,包括如下步骤:获取待传输的文件的长度并设置传输线程的数量;分割文件;创建传输线程;创建目标文件;执行所述传输线程以传输多个文件片段;以及在所有传输线程传输完各自对应的文件片段时形成所述目标文件。

【技术特征摘要】
1.一种文件并行传输的方法,包括如下步骤: 获取待传输的文件的长度并设置传输线程的数量; 分割文件; 创建传输线程; 创建目标文件; 执行所述传输线程以传输多个文件片段;以及 在所有传输线程传输完各自对应的文件片段时形成所述目标文件。2.根据权利要求1所述的文件并行传输的方法,所述分割文件的步骤中,根据待传输文件的长度和设置的传输线程的数量将文件分割为多个文件片段,使得每个文件片段的长度小于预定数值;其中,采用Http协议的GET命令设置每个传输线程对应传输的文件片段。3.根据权利要求1所述的文件并行传输的方法,其特征在于,所述创建传输线程的步骤还包括以下步骤: 设置每个传输线程对应的文件片段的起始位置和结束位置并形成该文件片段的文件句柄; 将每个传输线程对应的文件片段的文件句柄发送到接收端。4.根据权利要求1所述的文件并行传输的方法,所述创建目标文件的步骤是在文件传输的目标位置创建目标文件,该目标文件是空文件,用于存储多个传输线程所传输的文件片段。5.根据权利要求1-4中任一项所述的文件并行传输的方法,所述执行所述传输线程的步骤进一步包括以下步骤: 在传输对应的文件片段过程中,实时记录当前传输数据在所述文件中的数据位置;以及 如果存在传输线程出错,则创建一个新的传输线程或者由其他线程根据出错线程记录的当前传输数据在所述文件中的数据位置进行断点续传。6.一种文件并行传输的系统,包括: 线程设置模块,用于获取待传输的文件的...

【专利技术属性】
技术研发人员:康暖
申请(专利权)人:汉柏科技有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1