CN104462324A - 一种hdfs多线程并行下载方法 - Google Patents

一种hdfs多线程并行下载方法 Download PDF

Info

Publication number
CN104462324A
CN104462324A CN201410721324.4A CN201410721324A CN104462324A CN 104462324 A CN104462324 A CN 104462324A CN 201410721324 A CN201410721324 A CN 201410721324A CN 104462324 A CN104462324 A CN 104462324A
Authority
CN
China
Prior art keywords
file
hdfs
block
download
thread
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
Application number
CN201410721324.4A
Other languages
English (en)
Inventor
房体盈
辛国茂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201410721324.4A priority Critical patent/CN104462324A/zh
Publication of CN104462324A publication Critical patent/CN104462324A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1858Parallel file systems, i.e. file systems supporting multiple processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种HDFS多线程并行下载方法,属于大数据领域,存放到HDFS上文件,采用分块方式存放到整个集群中;当从HDFS上下载文件时,首先获取该文件所有block分块下载地址,针对每个block,启动一个线程来下载,这样可同时启动N个线程同时下载N个数据块,直到所有数据块下载完毕;为了保证下载的文件的一致性,将block[i]数据块写入到客户端文件的67108864*(i-1)~67108864*i(i>1)位置。最大限度的发挥集群的性能,提高下载效率。

Description

一种HDFS多线程并行下载方法
技术领域
本发明涉及大数据下载技术,尤其涉及一种HDFS多线程并行下载方法,用于提高整个集群的吞吐量,进而提高下载效率。 
背景技术
Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。
HDFS文件系统上的文件,是以固定大小(默认64M)的数据块顺序的存放到HDFS中,从HDFS中下载文件,会从HDFS文件系统中顺序下载所有的文件块,直到整个文件下载完毕,这样极大影响下载效率,不能充分发挥整个集群的效能。 
发明内容
为解决HDFS文件快速下载问题,本文提出了一种HDFS多线程下载方法。
一种HDFS多线程并行下载方法,从HDFS下载文件到本地时,针对文件在HDFS上每个block分块,启动一个线程,并行下载,写到本地同一个文件中,一种HDFS多线程并行下载方法设计结构包括:(1)获取文件在HDFS上所有分块下载地址;(2)启动N(可设置)个线程,并行下载N个数据块,写到客户端同一个文件中;当一个线程执行完毕后,再启动一个线程下载下一个数据块,保证客户端同时运行的线程数为N。
获取要下载的文件所有数据块下载地址;
针对所有的数据块,同时启动N(客户端并行下载性能达到最高时的线程数,可设置)个线程并行下载,写到客户端同一个文件中;在HDFS文件系统中,每一个block的大小默认为67108864(64M)个字节,所以,将block[i]数据块写入到文件的位置67108864*(i-1)~67108864*i(i>1)(通过java的随机访问对象可以将数据流写入到文件的任意指定位置),保证了文件的一致性;一个线程执行完毕,再启动下一个线程下载下一个block块,直到所有block下载完毕。
本发明的结构设计主要考虑是,存放到HDFS上文件,采用分块方式存放到整个集群中;当从HDFS上下载文件时,首先获取该文件所有block分块下载地址,针对每个block,启动一个线程来下载,这样可同时启动N个线程同时下载N个数据块,直到所有数据块下载完毕;为了保证下载的文件的一致性,将block[i]数据块写入到客户端文件的67108864*(i-1)~67108864*i(i>1)位置。
从HDFS下载文件到客户端时,同时启动多个线程并行下载文件的block块,写到客户端同一个文件中,从而提高整个集群的吞吐量,进而提高下载效率。
本发明的有益效果是:将一个HDFS文件多线程并行下载到客户端,最大限度的发挥集群的性能,提高下载效率。
附图说明
图1为HDFS多线程并行下载框架图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
一种HDFS多线程并行下载方法,从HDFS下载文件到本地时,针对文件在HDFS上每个block分块,启动一个线程,并行下载,写到本地同一个文件中,一种HDFS多线程并行下载方法设计结构包括:(1)获取文件在HDFS上所有分块下载地址;(2)启动N(可设置)个线程,并行下载N个数据块,写到客户端同一个文件中;当一个线程执行完毕后,再启动一个线程下载下一个数据块,保证客户端同时运行的线程数为N;获取要下载的文件所有数据块下载地址;
针对所有的数据块,同时启动N(客户端并行下载性能达到最高时的线程数,可设置)个线程并行下载,写到客户端同一个文件中;在HDFS文件系统中,每一个block的大小默认为67108864(64M)个字节,所以,将block[i]数据块写入到文件的位置67108864*(i-1)~67108864*i(i>1)(通过java的随机访问对象可以将数据流写入到文件的任意指定位置),保证了文件的一致性;一个线程执行完毕,再启动下一个线程下载下一个block块,直到所有block下载完毕。
下面根据附图,通过实施例进行阐述:
如图1所示,整个流程为:
(1)客户端通过namenode节点获取要下载文件所有block分块下载地址;
(2)针对每一个block,启动一个线程来读取数据,同时启动N个线程同时下载N个数据块,直到所有数据块下载完毕;为了保证下载的文件的一致性,将block[i]数据块写入到客户端文件的67108864*(i-1)~67108864*i(i>1)位置。

Claims (4)

1.一种HDFS多线程并行下载方法,其特征在于,从HDFS下载文件到本地时,针对文件在HDFS上每个block分块,启动一个线程,并行下载,写到本地同一个文件中。
2.根据权利要求1所述的方法,其特征在于,该方法包括:(1)获取文件在HDFS上所有分块下载地址;(2)启动N个线程,并行下载N个数据块,写到客户端同一个文件中;当一个线程执行完毕后,再启动一个线程下载下一个数据块,保证客户端同时运行的线程数为N。
3.根据权利要求2所述的方法,其特征在于,获取要下载的文件所有数据块下载地址。
4.根据权利要求3所述的方法,其特征在于,针对所有的数据块,同时启动N个线程并行下载,写到客户端同一个文件中;在HDFS文件系统中,每一个block的大小默认为67108864个字节,所以,将block[i]数据块写入到文件的位置67108864*(i-1)~67108864*i(i>1);一个线程执行完毕,再启动下一个线程下载下一个block块,直到所有block下载完毕。
CN201410721324.4A 2014-12-03 2014-12-03 一种hdfs多线程并行下载方法 Pending CN104462324A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410721324.4A CN104462324A (zh) 2014-12-03 2014-12-03 一种hdfs多线程并行下载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410721324.4A CN104462324A (zh) 2014-12-03 2014-12-03 一种hdfs多线程并行下载方法

Publications (1)

Publication Number Publication Date
CN104462324A true CN104462324A (zh) 2015-03-25

Family

ID=52908359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410721324.4A Pending CN104462324A (zh) 2014-12-03 2014-12-03 一种hdfs多线程并行下载方法

Country Status (1)

Country Link
CN (1) CN104462324A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105934759A (zh) * 2015-10-13 2016-09-07 深圳还是威健康科技有限公司 一种数据更新的方法、装置、终端及服务器
CN108600312A (zh) * 2018-03-21 2018-09-28 深圳市奥软网络科技有限公司 一种基于文件分块的多线程并行下载方法
CN109408571A (zh) * 2018-09-28 2019-03-01 华为技术有限公司 对象列举方法、设备及计算机存储介质
US10447763B2 (en) 2016-12-08 2019-10-15 Nanning Fugui Precision Industrial Co., Ltd. Distributed storage method and system
WO2020001488A1 (zh) * 2018-06-28 2020-01-02 杭州海康威视系统技术有限公司 文件下载方法及装置、客户端和计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106068A (zh) * 2013-02-28 2013-05-15 江苏物联网研究发展中心 物联网大数据快速校验方法
US20140214838A1 (en) * 2013-01-30 2014-07-31 Vertascale Method and system for processing large amounts of data
CN104077423A (zh) * 2014-07-23 2014-10-01 山东大学(威海) 一种基于一致性散列的结构化数据存储、查询和迁移方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140214838A1 (en) * 2013-01-30 2014-07-31 Vertascale Method and system for processing large amounts of data
CN103106068A (zh) * 2013-02-28 2013-05-15 江苏物联网研究发展中心 物联网大数据快速校验方法
CN104077423A (zh) * 2014-07-23 2014-10-01 山东大学(威海) 一种基于一致性散列的结构化数据存储、查询和迁移方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
周杨: ""Hadoop平台下调度算法和下载机制的优化"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
廖彬 等: ""基于P2P的分布式文件系统下载效率优化"", 《计算机应用》 *
曹宁 等: ""HDFS下载效率的优化"", 《计算机应用》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105934759A (zh) * 2015-10-13 2016-09-07 深圳还是威健康科技有限公司 一种数据更新的方法、装置、终端及服务器
WO2017063143A1 (zh) * 2015-10-13 2017-04-20 深圳还是威健康科技有限公司 一种数据更新的方法、装置、终端及服务器
US10447763B2 (en) 2016-12-08 2019-10-15 Nanning Fugui Precision Industrial Co., Ltd. Distributed storage method and system
CN108600312A (zh) * 2018-03-21 2018-09-28 深圳市奥软网络科技有限公司 一种基于文件分块的多线程并行下载方法
WO2020001488A1 (zh) * 2018-06-28 2020-01-02 杭州海康威视系统技术有限公司 文件下载方法及装置、客户端和计算机可读存储介质
CN109408571A (zh) * 2018-09-28 2019-03-01 华为技术有限公司 对象列举方法、设备及计算机存储介质

Similar Documents

Publication Publication Date Title
CN104462324A (zh) 一种hdfs多线程并行下载方法
CN106506638B (zh) 区块链中的区块存储方法及装置
US11200258B2 (en) Systems and methods for fast and effective grouping of stream of information into cloud storage files
CN104881494B (zh) 与Redis服务器进行数据同步的方法、装置和系统
US9560165B2 (en) BT offline data download system and method, and computer storage medium
US9619430B2 (en) Active non-volatile memory post-processing
CN105843819B (zh) 一种数据导出方法及装置
JP5719487B2 (ja) アプリケーションをランタイム・インスタンスにインストールするための方法、システム、およびコンピュータ・プログラム製品、ならびにコンピュータ・プログラム(アプリケーション・インストール)
US20140129812A1 (en) System and method for executing sequential code using a group of hreads and single-instruction, multiple-thread processor incorporating the same
US10025702B1 (en) Browser capable of saving and restoring content item state
CN107436738B (zh) 一种数据存储方法及系统
US9400767B2 (en) Subgraph-based distributed graph processing
US20160110395A1 (en) Tunable hardware sort engine for performing composite sorting algorithms
CN107153643B (zh) 数据表连接方法及装置
US10503718B2 (en) Parallel transfers of electronic data
Liu et al. Optimizing shuffle in wide-area data analytics
CN109254998A (zh) 数据管理方法、物联网设备、数据库服务器及系统
US10558571B2 (en) Second level database file cache for row instantiation
CN105049524A (zh) 一种基于hdfs的大规模数据集装载的方法
US20110213752A1 (en) Non-blocking input output based storage
JP6772883B2 (ja) 読込プログラム、読込方法および情報処理装置
CN112486468A (zh) 基于spark内核的任务执行方法、系统和计算机设备
CN109753544B (zh) 数据库序列处理方法、系统及基于同步锁的节点服务器
CN103152627B (zh) 机顶盒时移数据存储方法、装置和机顶盒
CN103955376A (zh) 一种dsp自启动二次按需加载方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150325

WD01 Invention patent application deemed withdrawn after publication