一种文本文件并行上传方法及装置的制造方法

文档序号:9846810阅读:476来源:国知局
一种文本文件并行上传方法及装置的制造方法
【技术领域】
[0001 ]本发明涉及大数据存储技术领域,更具体地说,涉及一种文本文件并行上传方法及装置。
【背景技术】
[0002]伴随着计算机网络的发展,海量数据的时代已经到来;对于大数据集的存储、分析、管理及挖掘,传统技术(包括传统关系数据库)是无法胜任的,如何最快最好的分析和理解这些数据是当务之急。而在现在已拥有的技术和工具中,最成熟也最成功的一套大数据解决方案为Hadoop文件存储计算框架及构架于其上的相关组件。
[0003]现有技术中的HDFS(Hadoop Distributed File System,分布式文件系统),对于HDFS的客户端来说,当某一用户利用一个客户端向HDFS中写数据时,在整个集群中,只有对应的一个工作节点工作,其他工作节点则是空闲的,此时,无法最大限度利用整个集群的性能;且,发明人发现,这种上传方式造成数据上传速度较慢。
[0004]综上所述,现有技术中将数据写入HDFS时存在无法充分利用整个集群的性能且数据上传速度较慢的问题。

【发明内容】

[0005]本发明的目的是提供一种文本文件并行上传方法及装置,以解决现有技术中将数据写入HDFS时存在的无法充分利用整个集群的性能且数据上传速度较慢的问题。
[0006]为了实现上述目的,本发明提供如下技术方案:
[0007]—种文本文件并行上传方法,包括:
[0008]将待上传文本文件切分成N个数据块,N为大于I的整数;
[0009]启动N个子线程,并利用所述N个子线程按照一一对应关系将所述N个数据块同时上传至分布式文件系统。
[0010]优选的,将所述N个数据块上传至所述分布式文件系统之后,还包括:
[0011]发送保存指令至所述分布式文件系统,以指示所述分布式文件系统将获取的所述N个数据块按照一一对应关系分别保存为N个独立文件。
[0012]优选的,发送保存指令至所述分布式文件系统之后,还包括:
[0013]输出提示信息,所述提示信息包含有每个所述独立文件的位置信息和名称信息以及每个所述独立文件中的数据量。
[0014]优选的,将待上传文本文件切分成N个数据块之前,还包括:
[0015]确定所述待上传文本文件的数据量,并判断所述待上传文本文件的数据量是否大于阈值,如果是,则将所述待上传文本文件切分成N个数据块,如果否,则利用一个子线程将所述待上传文本文件上传至所述分布式文件系统。
[0016]一种文本文件并行上传装置,包括:
[0017]切分模块,用于将待上传文本文件切分成N个数据块,N为大于I的整数;
[0018]上传模块,用于启动N个子线程,并利用所述N个子线程按照一一对应关系将所述N个数据块同时上传至分布式文件系统。
[0019]优选的,还包括:
[0020]指示保存模块,用于发送保存指令至所述分布式文件系统,以指示所述分布式文件系统将获取的所述N个数据块按照一一对应关系分别保存为N个独立文件。
[0021]优选的,还包括:
[0022]输出模块,用于输出提示信息,所述提示信息包含有每个所述独立文件的位置信息和名称信息以及每个所述独立文件中的数据量。
[0023]优选的,还包括:
[0024]判断模块,用于确定所述待上传文本文件的数据量,并判断所述待上传文本文件的数据量是否大于阈值,如果是,则将所述待上传文本文件切分成N个数据块,如果否,则利用一个子线程将所述待上传文本文件上传至所述分布式文件系统。
[0025]本发明提供了一种文本文件并行上传方法及装置,其中,该方法包括:将待上传文本文件切分成N个数据块,N为大于I的整数;启动N个子线程,并利用所述N个子线程按照一一对应关系将所述N个数据块同时上传至分布式文件系统。本申请公开的技术特征中,将待上传文本文件切分为N个数据块,进而利用N个子线程将N个数据块同时进行上传,其中,子线程与工作节点一一对应,因此,本申请为利用N个工作节点将N个数据块同时进行上传,与现有技术中通过一个工作节点将整个待上传文本文件进行上传相比,本申请利用N个工作节点实现数据块的上传,充分利用了整个集群的性能,且由于数据块的数据量小于整个待上传文本文件的数据量,对应的,上传数据块的时间小于上传整个待上传文本文件的时间,因此,本申请公开的上述技术方案能够在充分利用整个集群的性能的同时达到较快的上传速度。
【附图说明】
[0026]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0027]图1为本发明实施例提供的一种文本文件并行上传方法的流程图;
[0028]图2为本发明实施例提供的一种文本文件并行上传方法中当N取5时的上传示意图;
[0029]图3为本发明实施例提供的一种文本文件并行上传装置的结构示意图。
【具体实施方式】
[0030]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031]请参阅图1,其示出了本发明实施例提供的一种文本文件并行上传方法的流程图,可以包括以下步骤:
[0032]Sll:将待上传文本文件切分成N个数据块,N为大于I的整数。
[0033]其中,N的具体取值可以根据实际需要进行确定,通常情况下,N在小于工作节点总数的前提下,取的值越大,有益效果越明显。
[0034]S12:启动N个子线程,并利用N个子线程按照一一对应关系将N个数据块同时上传至分布式文件系统。
[0035]通过启动N个子线程,按照一一对应关系将N个数据块上传至分布式文件系统(HDFS),从而完成文本文件的并行上传。
[0036]本申请公开的技术特征中,将待上传文本文件切分为N个数据块,进而利用N个子线程将N个数据块同时进行上传,其中,子线程与工作节点一一对应,因此,本申请为利用N个工作节点将N个数据块同时进行上传,与现有技术中通过一个工作节点将整个待上传文本文件进行上传相比,本申请利用N个工作节点实现数据块的上传,充分利用了整个集群的性能,且由于数据块的数据量小于整个待上传文本文件的数据量,对应的,上传数据块的时间小于上传整个待上传文本文件的时间,因此,本申请公开的上述技术方案能够在充分利用整个集群的性能的同时达到较快的上传速度,进一步提高上传效率。
[0037]另外,需要说明的是,工作节点可以指客户端,对应的,现有技术为利用一台主机中的一个客户端完成待上传文本文件的上传,而本发明是利用同一台主机中的N个客户端完成待上传文本文件的上传,每个客户端按照一一对应的关系负责一个数据库的上传,从而最大限度的利用整个集群的性能。
[0038]上述实施例提供的一种文本文件并行上传方法中,将N个数据块上传至分布式文件系统之后,还可以包括:
[0039]发送保存指令至分布式文件系统,以指示分布式文件系统将获取的N个数据块按照一一对应关系分别保存为N个独立文件。
[0040]需要说明的是,通过保存指令,指示分布式文件系统将获取的N个数据块分别保存为N个独立文件,从而能够方便后期查询,当然,也可以将N个独立文件整合为一个大的独立文件,进而实现对于同一待文本文件的信息的整合,有利于后期利用。
[0041]具体来说,上述步骤可以是:主线程(MainPut)将
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1