CN105610899B - 一种文本文件并行上传方法及装置 - Google Patents
一种文本文件并行上传方法及装置 Download PDFInfo
- Publication number
- CN105610899B CN105610899B CN201510917625.9A CN201510917625A CN105610899B CN 105610899 B CN105610899 B CN 105610899B CN 201510917625 A CN201510917625 A CN 201510917625A CN 105610899 B CN105610899 B CN 105610899B
- Authority
- CN
- China
- Prior art keywords
- uploaded
- data block
- text file
- file
- text
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000008901 benefit Effects 0.000 description 5
- 241001672694 Citrus reticulata Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种文本文件并行上传方法及装置,其中,该方法包括:将待上传文本文件切分成N个数据块,N为大于1的整数;启动N个子线程,并利用N个子线程按照一一对应关系将N个数据块同时上传至分布式文件系统。本申请公开的技术特征中,将待上传文本文件切分为N个数据块,进而利用N个子线程将N个数据块同时进行上传,其中,子线程与工作节点一一对应,因此,本申请为利用N个工作节点将N个数据块同时进行上传,与现有技术中通过一个工作节点将整个待上传文本文件进行上传相比,本申请利用N个工作节点实现数据块的上传,能够在充分利用整个集群的性能的同时达到较快的上传速度。
Description
技术领域
本发明涉及大数据存储技术领域,更具体地说,涉及一种文本文件并行上传方法及装置。
背景技术
伴随着计算机网络的发展,海量数据的时代已经到来;对于大数据集的存储、分析、管理及挖掘,传统技术(包括传统关系数据库)是无法胜任的,如何最快最好的分析和理解这些数据是当务之急。而在现在已拥有的技术和工具中,最成熟也最成功的一套大数据解决方案为Hadoop文件存储计算框架及构架于其上的相关组件。
现有技术中的HDFS(Hadoop Distributed File System,分布式文件系统),对于HDFS的客户端来说,当某一用户利用一个客户端向HDFS中写数据时,在整个集群中,只有对应的一个工作节点工作,其他工作节点则是空闲的,此时,无法最大限度利用整个集群的性能;且,发明人发现,这种上传方式造成数据上传速度较慢。
综上所述,现有技术中将数据写入HDFS时存在无法充分利用整个集群的性能且数据上传速度较慢的问题。
发明内容
本发明的目的是提供一种文本文件并行上传方法及装置,以解决现有技术中将数据写入HDFS时存在的无法充分利用整个集群的性能且数据上传速度较慢的问题。
为了实现上述目的,本发明提供如下技术方案:
一种文本文件并行上传方法,包括:
将待上传文本文件切分成N个数据块,N为大于1的整数;
启动N个子线程,并利用所述N个子线程按照一一对应关系将所述N个数据块同时上传至分布式文件系统。
优选的,将所述N个数据块上传至所述分布式文件系统之后,还包括:
发送保存指令至所述分布式文件系统,以指示所述分布式文件系统将获取的所述N个数据块按照一一对应关系分别保存为N个独立文件。
优选的,发送保存指令至所述分布式文件系统之后,还包括:
输出提示信息,所述提示信息包含有每个所述独立文件的位置信息和名称信息以及每个所述独立文件中的数据量。
优选的,将待上传文本文件切分成N个数据块之前,还包括:
确定所述待上传文本文件的数据量,并判断所述待上传文本文件的数据量是否大于阈值,如果是,则将所述待上传文本文件切分成N个数据块,如果否,则利用一个子线程将所述待上传文本文件上传至所述分布式文件系统。
一种文本文件并行上传装置,包括:
切分模块,用于将待上传文本文件切分成N个数据块,N为大于1的整数;
上传模块,用于启动N个子线程,并利用所述N个子线程按照一一对应关系将所述N个数据块同时上传至分布式文件系统。
优选的,还包括:
指示保存模块,用于发送保存指令至所述分布式文件系统,以指示所述分布式文件系统将获取的所述N个数据块按照一一对应关系分别保存为N个独立文件。
优选的,还包括:
输出模块,用于输出提示信息,所述提示信息包含有每个所述独立文件的位置信息和名称信息以及每个所述独立文件中的数据量。
优选的,还包括:
判断模块,用于确定所述待上传文本文件的数据量,并判断所述待上传文本文件的数据量是否大于阈值,如果是,则将所述待上传文本文件切分成N个数据块,如果否,则利用一个子线程将所述待上传文本文件上传至所述分布式文件系统。
本发明提供了一种文本文件并行上传方法及装置,其中,该方法包括:将待上传文本文件切分成N个数据块,N为大于1的整数;启动N个子线程,并利用所述N个子线程按照一一对应关系将所述N个数据块同时上传至分布式文件系统。本申请公开的技术特征中,将待上传文本文件切分为N个数据块,进而利用N个子线程将N个数据块同时进行上传,其中,子线程与工作节点一一对应,因此,本申请为利用N个工作节点将N个数据块同时进行上传,与现有技术中通过一个工作节点将整个待上传文本文件进行上传相比,本申请利用N个工作节点实现数据块的上传,充分利用了整个集群的性能,且由于数据块的数据量小于整个待上传文本文件的数据量,对应的,上传数据块的时间小于上传整个待上传文本文件的时间,因此,本申请公开的上述技术方案能够在充分利用整个集群的性能的同时达到较快的上传速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种文本文件并行上传方法的流程图;
图2为本发明实施例提供的一种文本文件并行上传方法中当N取5时的上传示意图;
图3为本发明实施例提供的一种文本文件并行上传装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种文本文件并行上传方法的流程图,可以包括以下步骤:
S11:将待上传文本文件切分成N个数据块,N为大于1的整数。
其中,N的具体取值可以根据实际需要进行确定,通常情况下,N在小于工作节点总数的前提下,取的值越大,有益效果越明显。
S12:启动N个子线程,并利用N个子线程按照一一对应关系将N个数据块同时上传至分布式文件系统。
通过启动N个子线程,按照一一对应关系将N个数据块上传至分布式文件系统(HDFS),从而完成文本文件的并行上传。
本申请公开的技术特征中,将待上传文本文件切分为N个数据块,进而利用N个子线程将N个数据块同时进行上传,其中,子线程与工作节点一一对应,因此,本申请为利用N个工作节点将N个数据块同时进行上传,与现有技术中通过一个工作节点将整个待上传文本文件进行上传相比,本申请利用N个工作节点实现数据块的上传,充分利用了整个集群的性能,且由于数据块的数据量小于整个待上传文本文件的数据量,对应的,上传数据块的时间小于上传整个待上传文本文件的时间,因此,本申请公开的上述技术方案能够在充分利用整个集群的性能的同时达到较快的上传速度,进一步提高上传效率。
另外,需要说明的是,工作节点可以指客户端,对应的,现有技术为利用一台主机中的一个客户端完成待上传文本文件的上传,而本发明是利用同一台主机中的N个客户端完成待上传文本文件的上传,每个客户端按照一一对应的关系负责一个数据库的上传,从而最大限度的利用整个集群的性能。
上述实施例提供的一种文本文件并行上传方法中,将N个数据块上传至分布式文件系统之后,还可以包括:
发送保存指令至分布式文件系统,以指示分布式文件系统将获取的N个数据块按照一一对应关系分别保存为N个独立文件。
需要说明的是,通过保存指令,指示分布式文件系统将获取的N个数据块分别保存为N个独立文件,从而能够方便后期查询,当然,也可以将N个独立文件整合为一个大的独立文件,进而实现对于同一待文本文件的信息的整合,有利于后期利用。
具体来说,上述步骤可以是:主线程(MainPut)将待上传文本文件切分成N个数据块,并计算出N个待上传数据块的起止字节流,进而启动N个子线程(BlockPut)并行上传。而任一子线程将对应数据块上传至分布式文件系统,具体可以包括:打开一个待上传文件输入流(InputStream),该待上传文件输入流定位到与数据块对应的起始字节流,进而在分布式文件系统上创建一个独立文件,将对应数据块的起止字节流写入到该独立文件中,从而完成数据块的上传。其中,当N取5时,本发明实施例提供的一种文本文件并行上传方法的示意图如图2所示。
上述实施例提供的一种文本文件并行上传方法中,发送保存指令至分布式文件系统之后,还可以包括:
输出提示信息,提示信息包含有每个独立文件的位置信息和名称信息以及每个独立文件中的数据量。
需要说明的是,当将N个数据块保存为N个独立文件时,提示信息包含每个独立文件的上述信息,当将N个独立文件进一步整合为一个大的独立文件时,提示信息包含这个大的独立文件的上述信息,其中,提示信息包含独立文件的位置信息及名称信息,是为了在工作人员需要对其进行查询时,可以通过位置信息及名称信息实现独立文件的快速定位,提示信息包含独立文件中的数据量,是为了在工作人员需要对其进行查询时,可以将查询到的独立文件中的数据量与独立文件中包含的数据量进行比对,进而通过判断数据量是否有误确定数据是否发现丢失等情况,当然,提示信息包含的信息还可以包含其他根据实际需要设置的信息,均在本发明的保护范围之内。
上述实施例提供的一种文本文件并行上传方法中,将待上传文本文件切分成N个数据块之前,还可以包括:
确定待上传文本文件的数据量,并判断待上传文本文件的数据量是否大于阈值,如果是,则将待上传文本文件切分成N个数据块,如果否,则利用一个子线程将待上传文本文件上传至分布式文件系统。
其中,阈值可以根据实际需要进行确定,通常将其设置为较小的值,由于当待上传文本文件所包含的数据量过小,即待上传文本文件的数据量小于阈值时,仅仅利用一个子线程即可快速实现其上传工作,那么此时则无需对该待上传文本文件进行切分,直接进行上传即可,从而使得本发明实施例提供的一种文本文件并行上传方法更具灵活性,进一步提高了其上传效率。
与上述实施例相对应,本发明实施例还提供了一种文本文件并行上传装置,如图3所示,可以包括:
切分模块11,用于将待上传文本文件切分成N个数据块,N为大于1的整数;
上传模块12,用于启动N个子线程,并利用N个子线程按照一一对应关系将N个数据块同时上传至分布式文件系统。
本申请公开的技术特征中,将待上传文本文件切分为N个数据块,进而利用N个子线程将N个数据块同时进行上传,其中,子线程与工作节点一一对应,因此,本申请为利用N个工作节点将N个数据块同时进行上传,与现有技术中通过一个工作节点将整个待上传文本文件进行上传相比,本申请利用N个工作节点实现数据块的上传,充分利用了整个集群的性能,且由于数据块的数据量小于整个待上传文本文件的数据量,对应的,上传数据块的时间小于上传整个待上传文本文件的时间,因此,本申请公开的上述技术方案能够在充分利用整个集群的性能的同时达到较快的上传速度,进一步提高上传效率。
上述实施例提供的一种文本文件并行上传装置中,还可以包括:
指示保存模块,用于发送保存指令至分布式文件系统,以指示分布式文件系统将获取的N个数据块分别保存为N个独立文件。
上述实施例提供的一种文本文件并行上传装置中,还可以包括:
输出模块,用于输出提示信息,提示信息包含有独立文件中的数据量及独立文件的位置信息及名称信息。
上述实施例提供的一种文本文件并行上传装置中,还可以包括:
判断模块,用于确定待上传文本文件的数据量,并判断待上传文本文件的数据量是否大于阈值,如果是,则将待上传文本文件切分成N个数据块,如果否,则利用一个子线程将待上传文本文件上传至分布式文件系统。
本发明实施例提供的一种文本文件并行上传装置中相关部分的说明请参见本发明实施例提供的一种文本文件并行上传方法中对应部分的详细说明,在此不再赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (2)
1.一种文本文件并行上传方法,其特征在于,包括:
将待上传文本文件切分成N个数据块,N为大于1的整数;
启动N个子线程,并利用所述N个子线程按照一一对应关系将所述N个数据块同时上传至分布式文件系统;
将待上传文本文件切分成N个数据块之前,还包括:
确定所述待上传文本文件的数据量,并判断所述待上传文本文件的数据量是否大于阈值,如果是,则将所述待上传文本文件切分成N个数据块,如果否,则利用一个子线程将所述待上传文本文件上传至所述分布式文件系统;
将所述N个数据块上传至所述分布式文件系统之后,还包括:
发送保存指令至所述分布式文件系统,以指示所述分布式文件系统将获取的所述N个数据块按照一一对应关系分别保存为N个独立文件;
发送保存指令至所述分布式文件系统之后,还包括:
输出提示信息,所述提示信息包含有每个所述独立文件的位置信息和名称信息以及每个所述独立文件中的数据量。
2.一种文本文件并行上传装置,其特征在于,包括:
切分模块,用于将待上传文本文件切分成N个数据块,N为大于1的整数;
上传模块,用于启动N个子线程,并利用所述N个子线程按照一一对应关系将所述N个数据块同时上传至分布式文件系统;
所述装置还包括:
判断模块,用于确定所述待上传文本文件的数据量,并判断所述待上传文本文件的数据量是否大于阈值,如果是,则将所述待上传文本文件切分成N个数据块,如果否,则利用一个子线程将所述待上传文本文件上传至所述分布式文件系统;
指示保存模块,用于发送保存指令至所述分布式文件系统,以指示所述分布式文件系统将获取的所述N个数据块按照一一对应关系分别保存为N个独立文件;
输出模块,用于输出提示信息,所述提示信息包含有每个所述独立文件的位置信息和名称信息以及每个所述独立文件中的数据量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510917625.9A CN105610899B (zh) | 2015-12-10 | 2015-12-10 | 一种文本文件并行上传方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510917625.9A CN105610899B (zh) | 2015-12-10 | 2015-12-10 | 一种文本文件并行上传方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105610899A CN105610899A (zh) | 2016-05-25 |
CN105610899B true CN105610899B (zh) | 2019-09-24 |
Family
ID=55990433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510917625.9A Active CN105610899B (zh) | 2015-12-10 | 2015-12-10 | 一种文本文件并行上传方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105610899B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936917A (zh) * | 2017-03-24 | 2017-07-07 | 联想(北京)有限公司 | 一种云存储方法及装置、电子设备 |
CN109327486B (zh) * | 2017-07-31 | 2022-01-14 | 西门子公司 | 上传数据至云平台的方法、系统及网关和机器可读介质 |
CN107682459A (zh) * | 2017-11-20 | 2018-02-09 | 深圳市沃特沃德股份有限公司 | 数据分包上传服务器的方法及装置 |
CN112134781A (zh) * | 2019-06-25 | 2020-12-25 | 广州慧睿思通信息科技有限公司 | 邮件数据处理方法、装置、计算机设备和存储介质 |
CN112100146B (zh) * | 2020-09-21 | 2021-06-29 | 重庆紫光华山智安科技有限公司 | 一种高效的纠删分布式存储写入方法、系统、介质及终端 |
CN117978801B (zh) * | 2024-03-28 | 2024-06-18 | 苏州元脑智能科技有限公司 | 一种模型管理方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408047A (zh) * | 2014-10-28 | 2015-03-11 | 浪潮电子信息产业股份有限公司 | 一种基于nfs文件服务器的文本文件多机并行上传到hdfs方法 |
CN104714983A (zh) * | 2013-12-17 | 2015-06-17 | 中兴通讯股份有限公司 | 分布式索引的生成方法及装置 |
CN104967619A (zh) * | 2015-06-17 | 2015-10-07 | 深圳市腾讯计算机系统有限公司 | 文件推送方法、装置和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867617A (zh) * | 2010-06-13 | 2010-10-20 | 优视科技有限公司 | 一种基于移动终端的文件上传方法、系统和上传服务器 |
US9582541B2 (en) * | 2013-02-01 | 2017-02-28 | Netapp, Inc. | Systems, methods, and computer program products to ingest, process, and output large data |
-
2015
- 2015-12-10 CN CN201510917625.9A patent/CN105610899B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714983A (zh) * | 2013-12-17 | 2015-06-17 | 中兴通讯股份有限公司 | 分布式索引的生成方法及装置 |
CN104408047A (zh) * | 2014-10-28 | 2015-03-11 | 浪潮电子信息产业股份有限公司 | 一种基于nfs文件服务器的文本文件多机并行上传到hdfs方法 |
CN104967619A (zh) * | 2015-06-17 | 2015-10-07 | 深圳市腾讯计算机系统有限公司 | 文件推送方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105610899A (zh) | 2016-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105610899B (zh) | 一种文本文件并行上传方法及装置 | |
CN107038162A (zh) | 基于数据库日志的实时数据查询方法和系统 | |
CN104317800A (zh) | 一种海量智能用电数据混合存储系统及方法 | |
CN106330963A (zh) | 一种跨网络多节点日志采集的方法 | |
CN103346902B (zh) | 数据采集调度的方法及系统 | |
RU2017113717A (ru) | Построение иерархии устройств для удаленного оконечного блока | |
CN103885825A (zh) | 基于动态时间片的速率单调实时调度方法 | |
CN108156225B (zh) | 基于容器云平台的微应用监控系统和方法 | |
CN103714004A (zh) | Jvm在线内存泄露分析方法及系统 | |
CN105138679A (zh) | 一种基于分布式缓存的数据处理系统及处理方法 | |
CN103117878A (zh) | 一种基于Nagios的分布式监控系统的设计方法 | |
JP2015525956A5 (zh) | ||
CN113626438B (zh) | 一种数据表管理的方法、装置、计算机设备及存储介质 | |
CN107479974A (zh) | 一种虚拟机调度方法及装置 | |
CN103914286B (zh) | 用户界面中标签页的管理方法和管理器 | |
WO2012109915A1 (zh) | 一种保存话务数据的方法及系统 | |
CN109040224A (zh) | 一种物联网硬件数据主动采集解析系统及方法 | |
CN105630605B (zh) | 基于数据服务访问情况动态调整数据服务集群的方法 | |
EP3709173B1 (en) | Distributed information memory system, method, and program | |
CN103428274A (zh) | 一种通过短信猫以观察者模式发送短信的方法 | |
CN105912621A (zh) | 一种区域建筑能耗平台数据存储和查询方法 | |
CN103259845A (zh) | 基于网络中断的数据备份任务的改进方法 | |
CN107359952B (zh) | 一种面向时间触发网络的时钟动态压缩方法 | |
CN110457133A (zh) | 一种操作系统资源异常的处理方法及系统 | |
CN103617113A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |