一種分布式文件獲取方法和分布式文件獲取系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于分布式數(shù)據(jù)處理領(lǐng)域,尤其涉及一種分布式文件獲取方法和分布式文件獲取系統(tǒng)。
【背景技術(shù)】
[0002]Hadoop 分布式文件系統(tǒng)(Hadoop Distributed File System,HDFS)是一種適合運(yùn)行在通用硬件(commodity hardware)上的分布式文件系統(tǒng)。HDFS能提供高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用。對(duì)外部客戶機(jī)而言,HDFS就像一個(gè)傳統(tǒng)的分級(jí)文件系統(tǒng)??梢詣?chuàng)建、刪除、移動(dòng)或重命名文件,等等。HDFS的架構(gòu)是基于一組特定的節(jié)點(diǎn)構(gòu)建的,這些節(jié)點(diǎn)包括NameNode (僅一個(gè)),其在HDFS內(nèi)部提供元數(shù)據(jù)服務(wù);DataNode,其為HDFS提供存儲(chǔ)塊。其中,NameNode是一個(gè)通常在HDFS實(shí)例中的單獨(dú)機(jī)器上運(yùn)行的軟件。它負(fù)責(zé)管理文件系統(tǒng)名稱空間和控制外部客戶機(jī)的訪問。NameNode決定是否將文件映射到DataNode上的復(fù)制塊上。對(duì)于最常見的3個(gè)復(fù)制塊,第一個(gè)復(fù)制塊存儲(chǔ)在同一機(jī)架的不同節(jié)點(diǎn)上,最后一個(gè)復(fù)制塊存儲(chǔ)在不同機(jī)架的某個(gè)節(jié)點(diǎn)上。NameNode在一個(gè)文件中存儲(chǔ)所有關(guān)于文件系統(tǒng)名稱空間的信息。這個(gè)文件和一個(gè)包含所有事務(wù)的記錄文件將存儲(chǔ)在NameNode的本地文件系統(tǒng)上。
[0003]現(xiàn)有的文件獲取方法是,定時(shí)掃描Hadoop的HDFS文件系統(tǒng)目錄的文件,下載文件到本地文件系統(tǒng)上,當(dāng)用戶要下載文件時(shí),則直接從本地文件系統(tǒng)上獲取文件。這樣的做法未免會(huì)造成Hadoop資源的浪費(fèi)。
[0004]因此,如何設(shè)置出更好的文件獲取方法,成為技術(shù)人員需要考慮的問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問題是提供一種分布式文件獲取方法和分布式文件獲取系統(tǒng),節(jié)省Hadoop資源。
[0006]為了解決上述技術(shù)問題,本發(fā)明提供了一種分布式文件獲取方法,包括:
[0007]客戶端發(fā)送文件下載請(qǐng)求到Hadoop文件系統(tǒng);
[0008]將用戶要下載的文件列表,從Hadoop文件系統(tǒng)映射給用戶;
[0009]返回用戶要下載的文件列表到客戶端。
[0010]作為本發(fā)明的優(yōu)選實(shí)施方式,所述客戶端發(fā)送文件下載請(qǐng)求到Hadoop文件系統(tǒng)的步驟,進(jìn)一步包括:
[0011]客戶端發(fā)送文件下載請(qǐng)求到下載接口 ;
[0012]下載接口發(fā)送權(quán)限驗(yàn)證請(qǐng)求到權(quán)限驗(yàn)證模塊;
[0013]權(quán)限驗(yàn)證模塊驗(yàn)證用戶是否有下載權(quán)限;如果有下載權(quán)限則繼續(xù)執(zhí)行;否則結(jié)束。
[0014]作為本發(fā)明的優(yōu)選實(shí)施方式,所述結(jié)束的步驟,進(jìn)一步包括:
[0015]返回?zé)o權(quán)限下載信息到下載接口 ;
[0016]下載接口向客戶端發(fā)送異常消息并斷開與客戶端的連接,結(jié)束。
[0017]為了解決上述技術(shù)問題,本發(fā)明還提供了一種分布式文件獲取系統(tǒng),包括:
[0018]客戶端模塊,用于發(fā)送文件下載請(qǐng)求到Hadoop文件系統(tǒng)模塊;
[0019]Hadoop文件映射模塊,用于將用戶要下載的文件列表,從Hadoop文件系統(tǒng)模塊映射給用戶;
[0020]Hadoop文件系統(tǒng)模塊,用于返回用戶要下載的文件列表到客戶端模塊。
[0021]作為本發(fā)明的優(yōu)選實(shí)施方式,所述系統(tǒng)還包括:
[0022]下載接口模塊,用于接收所述文件下載請(qǐng)求,發(fā)送權(quán)限驗(yàn)證請(qǐng)求,并接收下載結(jié)果返回給客戶端模塊;
[0023]權(quán)限驗(yàn)證模塊,用于接收所述權(quán)限驗(yàn)證請(qǐng)求,驗(yàn)證用戶是否有下載權(quán)限;如果有,則發(fā)送有權(quán)限下載的消息;相應(yīng)的,
[0024]所述Hadoop文件映射模塊,進(jìn)一步用于當(dāng)接收到有權(quán)限下載的消息時(shí),將用戶要下載的文件列表,從Hadoop文件系統(tǒng)映射給用戶。
[0025]作為本發(fā)明的優(yōu)選實(shí)施方式,
[0026]所述權(quán)限驗(yàn)證模塊,進(jìn)一步用于返回?zé)o權(quán)限下載信息到下載接口模塊;
[0027]所述下載接口模塊,進(jìn)一步用于下發(fā)送異常消息到客戶端模塊并斷開與客戶端模塊的連接。
[0028]本發(fā)明提供的分布式文件獲取方法和分布式文件獲取系統(tǒng),不需要占用太多的網(wǎng)絡(luò)帶寬和Hadoop資源,從而可以節(jié)省Hadoop資源。
【附圖說明】
[0029]圖1為本發(fā)明一個(gè)實(shí)施例的分布式文件獲取方法流程圖。
[0030]圖2為本發(fā)明又一個(gè)實(shí)施例的分布式文件獲取方法流程圖。
[0031]圖3為本發(fā)明一個(gè)實(shí)施例的分布式文件系統(tǒng)結(jié)構(gòu)示意圖。
[0032]圖4為本發(fā)明又一個(gè)實(shí)施例的分布式文件系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0033]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0034]本發(fā)明的主要思想是當(dāng)用戶要下載文件時(shí),通過映射的方式將Hadoop的HDFS文件系統(tǒng)的某個(gè)目錄映射到本地文件系統(tǒng),類似快捷方式。這樣的話就不需要占用多的網(wǎng)絡(luò)帶寬和Hadoop的資源。
[0035]參照?qǐng)D1所示,為本發(fā)明一個(gè)實(shí)施例的分布式文件獲取方法流程圖。所述方法包括:
[0036]101,客戶端發(fā)送文件下載請(qǐng)求到Hadoop文件系統(tǒng);
[0037]102,將用戶要下載的文件列表,從Hadoop文件系統(tǒng)映射給用戶;
[0038]103,返回用戶要下載的文件列表到客戶端。
[0039]參照?qǐng)D2所示,為本發(fā)明又一個(gè)實(shí)施例的分布式文件獲取方法流程圖。所述方法包括:
[0040]201,客戶端發(fā)送文件下載請(qǐng)求到下載接口 ;
[0041 ] 202,下載接口發(fā)送權(quán)限驗(yàn)證請(qǐng)求到權(quán)限驗(yàn)證模塊;
[0042]203,權(quán)限驗(yàn)證模塊驗(yàn)證用戶是否有下載權(quán)限;如果有,則執(zhí)行步驟204,否則執(zhí)行步驟208 ;
[0043]204,權(quán)限驗(yàn)證模塊發(fā)送有權(quán)限下載的消息到Hadoop文件映射模塊;
[0044]205,Hadoop文件映射模塊將用戶要下載的文件列表,從Hadoop文件系統(tǒng)映射給用戶;
[0045]206,返回用戶需要的文件列表到下載接口 ;
[0046]207,下載接口發(fā)送返回結(jié)果到客戶端,結(jié)束;
[0047]208,返回?zé)o權(quán)限下載信息到下載接口模塊;
[0048]209,下載接口模塊發(fā)送異常消息并斷開連接,結(jié)束。
[0049]參照?qǐng)D3所示,為本發(fā)明一個(gè)實(shí)施例的分布式文件系統(tǒng)結(jié)構(gòu)示意圖。所述系統(tǒng)包括:
[0050]客戶端模塊301,用于發(fā)送文件下載請(qǐng)求到Hadoop文件系統(tǒng)模塊;
[0051]Hadoop文件映射模塊302,用于將用戶要下載的文件列表,從Hadoop文件系統(tǒng)模塊映射給用戶;
[0052]Hadoop文件系統(tǒng)模塊303,用于返回用戶要下載的文件列表到客戶端模塊。
[0053]參照?qǐng)D4所示,為本發(fā)明又一個(gè)實(shí)施例的分布式文件系統(tǒng)結(jié)構(gòu)示意圖。所述系統(tǒng)包括:
[0054]客戶端模塊401,用于發(fā)送文件下載請(qǐng)求;
[0055]下載接口模塊402,用于接收所述文件下載請(qǐng)求,發(fā)送權(quán)限驗(yàn)證請(qǐng)求,并接收下載結(jié)果返回給客戶端模塊401 ;
[0056]權(quán)限驗(yàn)證模塊403,用于驗(yàn)證用戶是否有下載權(quán)限;如果有,則發(fā)送有權(quán)限下載的消息,否則返回?zé)o權(quán)限下載信息給下載接口模塊402 ;
[0057]Hadoop文件映射模塊404,用于接收所述有權(quán)限下載的消息;并將用戶要下載的文件列表,從Hadoop文件系統(tǒng)映射給用戶;
[0058]Hadoop文件系統(tǒng)405,用于返回用戶需要的文件列表到下載接口模塊402。
[0059]在本發(fā)明另外的實(shí)施例中,所述權(quán)限驗(yàn)證模塊403,進(jìn)一步用于返回?zé)o權(quán)限下載信息到下載接口模塊402 ;
[0060]所述下載接口模塊402,進(jìn)一步用于下發(fā)送異常消息到客戶端模塊401并斷開與客戶端模塊401的連接。
[0061]以上所述的【具體實(shí)施方式】,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的【具體實(shí)施方式】而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種分布式文件獲取方法,其特征在于,包括: 客戶端發(fā)送文件下載請(qǐng)求到Hadoop文件系統(tǒng); 將用戶要下載的文件列表,從Hadoop文件系統(tǒng)映射給用戶; 返回用戶要下載的文件列表到客戶端。2.如權(quán)利要求1所述的方法,其特征在于,所述客戶端發(fā)送文件下載請(qǐng)求到Hadoop文件系統(tǒng)的步驟,進(jìn)一步包括: 客戶端發(fā)送文件下載請(qǐng)求到下載接口; 下載接口發(fā)送權(quán)限驗(yàn)證請(qǐng)求到權(quán)限驗(yàn)證模塊; 權(quán)限驗(yàn)證模塊驗(yàn)證用戶是否有下載權(quán)限;如果有下載權(quán)限則繼續(xù)執(zhí)行;否則結(jié)束。3.如權(quán)利要求2所述的方法,其特征在于,所述結(jié)束的步驟,進(jìn)一步包括: 返回?zé)o權(quán)限下載信息到下載接口; 下載接口向客戶端發(fā)送異常消息并斷開與客戶端的連接,結(jié)束。4.一種分布式文件獲取系統(tǒng),其特征在于,包括: 客戶端模塊,用于發(fā)送文件下載請(qǐng)求到Hadoop文件系統(tǒng)模塊; Hadoop文件映射模塊,用于將用戶要下載的文件列表,從Hadoop文件系統(tǒng)模塊映射給用戶; Hadoop文件系統(tǒng)模塊,用于返回用戶要下載的文件列表到客戶端模塊。5.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 下載接口模塊,用于接收所述文件下載請(qǐng)求,發(fā)送權(quán)限驗(yàn)證請(qǐng)求,并接收下載結(jié)果返回給客戶端模塊; 權(quán)限驗(yàn)證模塊,用于接收所述權(quán)限驗(yàn)證請(qǐng)求,驗(yàn)證用戶是否有下載權(quán)限;如果有,則發(fā)送有權(quán)限下載的消息;相應(yīng)的, 所述Hadoop文件映射模塊,進(jìn)一步用于當(dāng)接收到有權(quán)限下載的消息時(shí),將用戶要下載的文件列表,從Hadoop文件系統(tǒng)映射給用戶。6.如權(quán)利要求5所述的系統(tǒng),其特征在于, 所述權(quán)限驗(yàn)證模塊,進(jìn)一步用于返回?zé)o權(quán)限下載信息到下載接口模塊; 所述下載接口模塊,進(jìn)一步用于下發(fā)送異常消息到客戶端模塊并斷開與客戶端模塊的連接。
【專利摘要】本發(fā)明提供了一種分布式文件獲取方法和分布式文件獲取系統(tǒng),所述方法包括:客戶端發(fā)送文件下載請(qǐng)求到Hadoop文件系統(tǒng);將用戶要下載的文件列表,從Hadoop文件系統(tǒng)映射給用戶;返回用戶要下載的文件列表到客戶端。所述客戶端發(fā)送文件下載請(qǐng)求到Hadoop文件系統(tǒng)的步驟,進(jìn)一步包括:客戶端發(fā)送文件下載請(qǐng)求到下載接口;下載接口發(fā)送權(quán)限驗(yàn)證請(qǐng)求到權(quán)限驗(yàn)證模塊;權(quán)限驗(yàn)證模塊驗(yàn)證用戶是否有下載權(quán)限;如果有下載權(quán)限則繼續(xù)執(zhí)行;否則結(jié)束。本發(fā)明提供的分布式文件獲取方法和分布式文件獲取系統(tǒng),不需要占用太多的網(wǎng)絡(luò)帶寬和Hadoop資源,從而可以節(jié)省Hadoop資源。
【IPC分類】H04L29/08
【公開號(hào)】CN104902022
【申請(qǐng)?zhí)枴緾N201510280153
【發(fā)明人】葛祺, 竇樂建, 崔晶晶, 林佳婕, 姜興
【申請(qǐng)人】北京集奧聚合科技有限公司
【公開日】2015年9月9日
【申請(qǐng)日】2015年5月27日