一種實現(xiàn)文件上傳的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種實現(xiàn)文件上傳的方法及裝置,包括:獲取分布式文件系統(tǒng)(HDFS)預(yù)定數(shù)量的數(shù)據(jù)節(jié)點;檢測獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點的連通性,得到所有連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量;設(shè)置文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令,并統(tǒng)計HDFS文件上傳命令的命令數(shù);根據(jù)統(tǒng)計HDFS文件上傳命令的命令數(shù)及連通的數(shù)據(jù)節(jié)點的數(shù)量,進(jìn)行文件上傳。本發(fā)明獲取預(yù)定數(shù)量的HDFS的數(shù)據(jù)節(jié)點,通過檢測HDFS中的數(shù)據(jù)節(jié)點的連通性后,將文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令均分給連通的數(shù)據(jù)節(jié)點,實現(xiàn)文件上傳,提高文件上傳的效率,降低文件上傳的時長消耗。
【專利說明】一種實現(xiàn)文件上傳的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及大數(shù)據(jù)領(lǐng)域,尤指一種實現(xiàn)文件上傳的方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著人類社會全面進(jìn)入信息時代,數(shù)據(jù)成為與水、石油同等重要的戰(zhàn)略資源。通過挖掘海量數(shù)據(jù),能夠使政府和企業(yè)的運行決策建立在更加科學(xué)的依據(jù)基礎(chǔ)上,提高決策效率、危機應(yīng)對能力和公共服務(wù)水平。大數(shù)據(jù)或稱巨量資料,是指針對規(guī)模巨大的數(shù)據(jù)進(jìn)行有效的擷取、管理、處理,使其成為幫助企業(yè)進(jìn)行積極經(jīng)營決策的資訊。
[0003]分布式文件系統(tǒng)(HDFS,指Hadoop分布式文件系統(tǒng))被設(shè)計成適合運行在通用硬件上的分布式文件系統(tǒng)。HDFS是一個高度容錯性的系統(tǒng),適合部署在廉價的機器上,通過提供高吞吐量的數(shù)據(jù)訪問,進(jìn)行大規(guī)模數(shù)據(jù)集的分析應(yīng)用。因為運行在HDFS上的程序有大量的數(shù)據(jù)集(典型的HDFS文件大小是TB的級別),所以HDFS被調(diào)整成支持大文件的處理系統(tǒng)。HDFS具有很高的聚合數(shù)據(jù)帶寬,且一個集群支持?jǐn)?shù)百個數(shù)據(jù)節(jié)點,用于支持千萬級別的文件的分析處理。
[0004]HDFS分析處理數(shù)據(jù)的文件來源有很多途徑,其中,文件服務(wù)器(比如網(wǎng)絡(luò)文件系統(tǒng)(NFS))中的已有文件是一種非常重要的數(shù)據(jù)來源。以銀行業(yè)務(wù)系統(tǒng)為例,銀行每天將其業(yè)務(wù)中從數(shù)據(jù)庫中卸載的數(shù)據(jù)表生成一個增量文件發(fā)送到文件服務(wù)器,形成其重要的業(yè)務(wù)數(shù)據(jù);通過有針對性的挖掘分析一段時間內(nèi)的業(yè)務(wù)數(shù)據(jù)的文件,實現(xiàn)對銀行業(yè)務(wù)的發(fā)展了解,進(jìn)而進(jìn)行銀行決策調(diào)整以促進(jìn)相關(guān)業(yè)務(wù)的發(fā)展。要進(jìn)行數(shù)據(jù)分析,首先要把其上傳到HDFS中,為了實現(xiàn)有效完整的分析,可能需要上傳幾年的業(yè)務(wù)數(shù)據(jù)的文件到HDFS中,其中涉及的文件的數(shù)據(jù)量巨大且數(shù)目較多。傳統(tǒng)的文件上傳方法是通過選擇HDFS的其中一個數(shù)據(jù)節(jié)點依次的上傳文件,按照這種方法存在以下問題:一方面文件服務(wù)器的帶寬沒有得到充分利用,另一方面HDFS其他數(shù)據(jù)節(jié)點沒有得到利用。因此,采用一個數(shù)據(jù)節(jié)點進(jìn)行文件上傳往往耗時過長,無法發(fā)揮HDFS的系統(tǒng)性能。
【發(fā)明內(nèi)容】
[0005]為了解決上述技術(shù)問題,本發(fā)明提供一種實現(xiàn)文件上傳的方法及系統(tǒng),能夠充分利用HDFS中的數(shù)據(jù)節(jié)點進(jìn)行數(shù)據(jù)傳輸,提高文件上傳的效率,降低文件上傳的時長消耗。
[0006]為了達(dá)到上述發(fā)明目的,本發(fā)明公開了一種實現(xiàn)文件上傳的方法,包括:
[0007]獲取分布式文件系統(tǒng)HDFS預(yù)定數(shù)量的數(shù)據(jù)節(jié)點;
[0008]檢測獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點的連通性,得到所有連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量;
[0009]設(shè)置文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令,并統(tǒng)計HDFS文件上傳命令的命令數(shù);
[0010]根據(jù)統(tǒng)計HDFS文件上傳命令的命令數(shù)及連通的數(shù)據(jù)節(jié)點的數(shù)量,進(jìn)行文件上傳。
[0011]進(jìn)一步地,獲取HDFS預(yù)定數(shù)量的數(shù)據(jù)節(jié)點具體包括:通過所述文件服務(wù)器的帶寬利用率,確定HDFS數(shù)據(jù)節(jié)點的預(yù)定數(shù)量,以獲取HDFS預(yù)定數(shù)量的數(shù)據(jù)節(jié)點。
[0012]進(jìn)一步地,檢測獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點的連通性,得到連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量具體包括:
[0013]通過安全外殼協(xié)議SSH方式發(fā)送查詢指令到所述獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點,通過查詢指令的反饋信息確定各數(shù)據(jù)節(jié)點的連通性,獲得所有連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量。
[0014]進(jìn)一步地,根據(jù)統(tǒng)計HDFS文件上傳命令的命令數(shù)及連通的數(shù)據(jù)節(jié)點的數(shù)量,進(jìn)行文件上傳具體包括:
[0015]將所述統(tǒng)計HDFS文件上傳命令的命令數(shù)除以所述連通的數(shù)據(jù)節(jié)點的數(shù)量,得到分配給所述各連通的數(shù)據(jù)節(jié)點的HDFS文件上傳命令的命令數(shù);
[0016]按照分配給各連通的數(shù)據(jù)節(jié)點的HDFS文件上傳命令的命令數(shù),將相應(yīng)數(shù)量的HDFS文件上傳命令分配給各數(shù)據(jù)節(jié)點進(jìn)行文件上傳。
[0017]進(jìn)一步地,設(shè)置文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令時,該方法還包括,獲取文件服務(wù)器上傳文件的各文件的文件大?。?br>
[0018]根據(jù)各文件的文件大小,統(tǒng)計上傳文件的總大小;
[0019]將上傳文件的總大小除以連通的數(shù)據(jù)節(jié)點的數(shù)量,獲得均分給各連通的數(shù)據(jù)節(jié)點上傳文件的大?。?br>
[0020]按照均分給各連通的數(shù)據(jù)節(jié)點上傳文件的大小,將相應(yīng)的HDFS文件上傳命令發(fā)送給相應(yīng)的數(shù)據(jù)節(jié)點進(jìn)行文件上傳。
[0021]另一方面,本申請還提供一種實現(xiàn)文件上傳的裝置,包括:獲取單元、檢測單元、設(shè)置統(tǒng)計單元和上傳單元;其中,
[0022]獲取單元,用于獲取分布式文件系統(tǒng)HDFS預(yù)定數(shù)量的數(shù)據(jù)節(jié)點;
[0023]檢測單元,用于檢測獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點的連通性,得到所有連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量;
[0024]設(shè)置統(tǒng)計單元,用于設(shè)置文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令,并統(tǒng)計HDFS文件上傳命令的命令數(shù);
[0025]第一上傳單元,用于根據(jù)統(tǒng)計HDFS文件上傳命令的命令數(shù)及連通的數(shù)據(jù)節(jié)點的數(shù)量,進(jìn)行文件上傳。
[0026]進(jìn)一步地,獲取單元具體用于:通過所述文件服務(wù)器的帶寬利用率,確定HDFS數(shù)據(jù)節(jié)點的預(yù)定數(shù)量,以獲取HDFS預(yù)定數(shù)量的數(shù)據(jù)節(jié)點。
[0027]進(jìn)一步地,檢測單元具體用于:
[0028]通過安全外殼協(xié)議SSH方式發(fā)送查詢指令到所述獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點,通過查詢指令的反饋信息確定各數(shù)據(jù)節(jié)點的連通性,獲得所有連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量
[0029]進(jìn)一步地,第一上傳單元具體用于:
[0030]將所述統(tǒng)計HDFS文件上傳命令的命令數(shù)除以所述連通的數(shù)據(jù)節(jié)點的數(shù)量,得到分配給各連通的數(shù)據(jù)節(jié)點的HDFS文件上傳命令的命令數(shù);
[0031]按照分配給所述各連通的數(shù)據(jù)節(jié)點的HDFS文件上傳命令的命令數(shù),將相應(yīng)數(shù)量的HDFS文件上傳命令分配給各數(shù)據(jù)節(jié)點進(jìn)行文件上傳。[0032]進(jìn)一步地,該裝置還包括獲取文件屬性單元和第二上傳單元;其中,
[0033]獲取文件屬性單元,用于設(shè)置文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令時,獲取文件服務(wù)器上傳文件的各文件的文件大小;
[0034]第二上傳單元,用于根據(jù)各文件的文件大小,統(tǒng)計上傳文件的總大??;
[0035]將上傳文件的總大小除以連通的數(shù)據(jù)節(jié)點的數(shù)量,獲得均分給各連通的數(shù)據(jù)節(jié)點上傳文件的大??;
[0036]按照均分給各連通的數(shù)據(jù)節(jié)點上傳文件的大小,將相應(yīng)的HDFS文件上傳命令發(fā)送給相應(yīng)的數(shù)據(jù)節(jié)點進(jìn)行文件上傳。
[0037]本申請技術(shù)方案包括:獲取分布式文件系統(tǒng)(HDFS)預(yù)定數(shù)量的數(shù)據(jù)節(jié)點;檢測獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點的連通性,得到所有連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量;設(shè)置文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令,并統(tǒng)計HDFS文件上傳命令的命令數(shù);根據(jù)統(tǒng)計HDFS文件上傳命令的命令數(shù)及連通的數(shù)據(jù)節(jié)點的數(shù)量,進(jìn)行文件上傳。本發(fā)明獲取預(yù)定數(shù)量的HDFS的數(shù)據(jù)節(jié)點,通過檢測HDFS中的數(shù)據(jù)節(jié)點的連通性后,將文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令均分給連通的數(shù)據(jù)節(jié)點,實現(xiàn)文件上傳,提高文件上傳的效率,降低文件上傳的時長消耗。
【專利附圖】
【附圖說明】
[0038]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0039]圖1為本發(fā)明實現(xiàn)文件上傳的方法的流程圖;
[0040]圖2為本發(fā)明實現(xiàn)文件上傳的裝置的結(jié)構(gòu)框圖。
【具體實施方式】
[0041]圖1為本發(fā)明實現(xiàn)文件上傳的方法的流程圖,如圖1所示,包括:
[0042]步驟100、獲取分布式文件系統(tǒng)(HDFS)預(yù)定數(shù)量的數(shù)據(jù)節(jié)點。
[0043]本步驟中,獲取HDFS預(yù)定數(shù)量的數(shù)據(jù)節(jié)點具體包括:通過文件服務(wù)器的帶寬利用率,確定HDFS數(shù)據(jù)節(jié)點的預(yù)定數(shù)量,以獲取HDFS預(yù)定數(shù)量的數(shù)據(jù)節(jié)點。
[0044]需要說明的是,獲取文件服務(wù)器的帶寬利用率,可以通過文件上傳的歷史文件過程中的信息,也可以通過上傳一份測試文件,而從上傳該測試文件的過程中獲得,獲得帶寬利用率的方法為本領(lǐng)域技術(shù)人員熟知的技術(shù)方法,在此不再贅述。獲得帶寬利用率,根據(jù)設(shè)定的帶寬可使用的最大比例值,除以帶寬利用率,獲得HDFS數(shù)據(jù)節(jié)點的預(yù)定數(shù)量。當(dāng)然根據(jù)技術(shù)人員對HDFS網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點的連通情況(比如一般數(shù)據(jù)節(jié)點連通概率為90% ),則帶寬可使用的最大比例值可以除以一般數(shù)據(jù)節(jié)點連通概率,進(jìn)而確保進(jìn)行數(shù)據(jù)上傳時,數(shù)據(jù)節(jié)點的數(shù)量符合實際。
[0045]步驟101、檢測獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點的連通性,得到所有連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量。
[0046]本步驟中,檢測獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點的連通性,得到連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量具體包括:
[0047]通過安全外殼協(xié)議(SSH)方式發(fā)送查詢指令到獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點,通過查詢指令的反饋信息確定各數(shù)據(jù)節(jié)點的連通性,獲得所有連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量。
[0048]需要說明的是,這里的查詢指令是指本領(lǐng)域技術(shù)人員熟知的用于查詢系統(tǒng)相關(guān)信息的簡易指令,通過這些查詢指令可以間接的獲取數(shù)據(jù)節(jié)點的連通性信息,避免由于節(jié)點宕機或其他原因的數(shù)據(jù)節(jié)點不工作,影響文件上傳。
[0049]步驟102、設(shè)置文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令,并統(tǒng)計HDFS文件上傳命令的命令數(shù)。
[0050]步驟103、根據(jù)統(tǒng)計HDFS文件上傳命令的命令數(shù)及連通的數(shù)據(jù)節(jié)點的數(shù)量,進(jìn)行文件上傳。
[0051]本步驟中,根據(jù)統(tǒng)計HDFS文件上傳命令的命令數(shù)及連通的數(shù)據(jù)節(jié)點的數(shù)量,進(jìn)行文件上傳具體包括:
[0052]將統(tǒng)計HDFS文件上傳命令的命令數(shù)除以連通的數(shù)據(jù)節(jié)點的數(shù)量,得到分配給各連通的數(shù)據(jù)節(jié)點的HDFS文件上傳命令的命令數(shù);
[0053]按照分配給各連通的數(shù)據(jù)節(jié)點的HDFS文件上傳命令的命令數(shù),將相應(yīng)數(shù)量的HDFS文件上傳命令分配給各數(shù)據(jù)節(jié)點進(jìn)行文件上傳。
[0054]需要說明的是,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知道,在將文件上傳命令分配給各數(shù)據(jù)節(jié)點是,一般的需要建立相應(yīng)的線程,在線程中通過SSH方式分配文件上傳命令。
[0055]設(shè)置文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令時,本發(fā)明方法還包括:獲取文件服務(wù)器上傳文件的各文件的文件大??;
[0056]根據(jù)各文件的文件大小,統(tǒng)計上傳文件的總大??;
[0057]將上傳文件的總大小除以連通的數(shù)據(jù)節(jié)點的數(shù)量,獲得均分給各連通的數(shù)據(jù)節(jié)點上傳文件的大??;
[0058]按照均分給各連通的數(shù)據(jù)節(jié)點上傳文件的大小,將相應(yīng)的HDFS文件上傳命令發(fā)送給相應(yīng)的數(shù)據(jù)節(jié)點進(jìn)行文件上傳。
[0059]圖2為本發(fā)明實現(xiàn)文件上傳的裝置的結(jié)構(gòu)框圖,如圖2所示,包括:獲取單元、檢測單元、設(shè)置統(tǒng)計單元和上傳單元;其中,
[0060]獲取單元,用于獲取分布式文件系統(tǒng)(HDFS)預(yù)定數(shù)量的數(shù)據(jù)節(jié)點。
[0061]獲取單元具體用于:通過文件服務(wù)器的帶寬利用率,確定HDFS數(shù)據(jù)節(jié)點的預(yù)定數(shù)量,以獲取HDFS預(yù)定數(shù)量的數(shù)據(jù)節(jié)點。
[0062]檢測單元,用于檢測獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點的連通性,得到所有連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量。
[0063]檢測單元具體用于:
[0064]通過安全外殼協(xié)議SSH方式發(fā)送查詢指令到獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點,通過查詢指令的反饋信息確定各數(shù)據(jù)節(jié)點的連通性,獲得所有連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量。
[0065]設(shè)置統(tǒng)計單元,用于設(shè)置文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令,并統(tǒng)計HDFS文件上傳命令的命令數(shù)。
[0066]第一上傳單元,用于根據(jù)統(tǒng)計HDFS文件上傳命令的命令數(shù)及連通的數(shù)據(jù)節(jié)點的數(shù)量,進(jìn)行文件上傳。[0067]第一上傳單元具體用于:
[0068]將統(tǒng)計HDFS文件上傳命令的命令數(shù)除以連通的數(shù)據(jù)節(jié)點的數(shù)量,得到分配給各連通的數(shù)據(jù)節(jié)點的HDFS文件上傳命令的命令數(shù);
[0069]按照分配給各連通的數(shù)據(jù)節(jié)點的HDFS文件上傳命令的命令數(shù),將相應(yīng)數(shù)量的HDFS文件上傳命令分配給各數(shù)據(jù)節(jié)點進(jìn)行文件上傳。
[0070]本發(fā)明裝置還包括獲取文件屬性單元和第二上傳單元;其中,
[0071]獲取文件屬性單元,用于設(shè)置文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令時,獲取文件服務(wù)器上傳文件的各文件的文件大??;
[0072]第二上傳單元,用于根據(jù)各文件的文件大小,統(tǒng)計上傳文件的總大??;
[0073]將上傳文件的總大小除以連通的數(shù)據(jù)節(jié)點的數(shù)量,獲得均分給各連通的數(shù)據(jù)節(jié)點上傳文件的大??;
[0074]按照均分給各連通的數(shù)據(jù)節(jié)點上傳文件的大小,將相應(yīng)的HDFS文件上傳命令發(fā)送給相應(yīng)的數(shù)據(jù)節(jié)點進(jìn)行文件上傳。
[0075]雖然本申請所揭露的實施方式如上,但所述的內(nèi)容僅為便于理解本申請而采用的實施方式,并非用以限定本申請。任何本申請所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本申請所揭露的精神和范圍的前提下,可以在實施的形式及細(xì)節(jié)上進(jìn)行任何的修改與變化,但本申請的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。
【權(quán)利要求】
1.一種實現(xiàn)文件上傳的方法,其特征在于,包括: 獲取分布式文件系統(tǒng)HDFS預(yù)定數(shù)量的數(shù)據(jù)節(jié)點; 檢測獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點的連通性,得到所有連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量; 設(shè)置文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令,并統(tǒng)計HDFS文件上傳命令的命令數(shù); 根據(jù)統(tǒng)計HDFS文件上傳命令的命令數(shù)及連通的數(shù)據(jù)節(jié)點的數(shù)量,進(jìn)行文件上傳。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取HDFS預(yù)定數(shù)量的數(shù)據(jù)節(jié)點具體包括:通過所述文件服務(wù)器的帶寬利用率,確定HDFS數(shù)據(jù)節(jié)點的預(yù)定數(shù)量,以獲取HDFS預(yù)定數(shù)量的數(shù)據(jù)節(jié)點。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述檢測獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點的連通性,得到連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量具體包括: 通過安全外殼協(xié)議SSH方式發(fā)送查詢指令到所述獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點,通過查詢指令的反饋信息確定各數(shù)據(jù)節(jié)點的連通性,獲得所有連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)統(tǒng)計HDFS文件上傳命令的命令數(shù)及連通的數(shù)據(jù)節(jié)點的數(shù)量,進(jìn)行文件上傳具體包括: 將所述統(tǒng)計HDFS文件上傳命令的命令數(shù)除以所述連通的數(shù)據(jù)節(jié)點的數(shù)量,得到分配給所述各連通的數(shù)據(jù)節(jié)點的HDFS文件上傳命令的命令數(shù); 按照分配給各連通的數(shù)據(jù)節(jié)點的HDFS文件上傳命令的命令數(shù),將相應(yīng)數(shù)量的HDFS文件上傳命令分配給各數(shù)據(jù)節(jié)點進(jìn)行文件上傳。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,設(shè)置文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令時,該方法還包括,獲取文件服務(wù)器上傳文件的各文件的文件大?。? 根據(jù)各文件的文件大小,統(tǒng)計上傳文件的總大小; 將上傳文件的總大小除以連通的數(shù)據(jù)節(jié)點的數(shù)量,獲得均分給各連通的數(shù)據(jù)節(jié)點上傳文件的大小; 按照均分給各連通的數(shù)據(jù)節(jié)點上傳文件的大小,將相應(yīng)的HDFS文件上傳命令發(fā)送給相應(yīng)的數(shù)據(jù)節(jié)點進(jìn)行文件上傳。
6.一種實現(xiàn)文件上傳的裝置,其特征在于,包括:獲取單元、檢測單元、設(shè)置統(tǒng)計單元和上傳單元;其中, 獲取單元,用于獲取分布式文件系統(tǒng)HDFS預(yù)定數(shù)量的數(shù)據(jù)節(jié)點; 檢測單元,用于檢測獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點的連通性,得到所有連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量; 設(shè)置統(tǒng)計單元,用于設(shè)置文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令,并統(tǒng)計HDFS文件上傳命令的命令數(shù); 第一上傳單元,用于根據(jù)統(tǒng)計HDFS文件上傳命令的命令數(shù)及連通的數(shù)據(jù)節(jié)點的數(shù)量,進(jìn)行文件上傳。
7.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述獲取單元具體用于:通過所述文件服務(wù)器的帶寬利用率,確定HDFS數(shù)據(jù)節(jié)點的預(yù)定數(shù)量,以獲取HDFS預(yù)定數(shù)量的數(shù)據(jù)節(jié)點。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述檢測單元具體用于: 通過安全外殼協(xié)議SSH方式發(fā)送查詢指令到所述獲取的預(yù)定數(shù)量的數(shù)據(jù)節(jié)點,通過查詢指令的反饋信息確定各數(shù)據(jù)節(jié)點的連通性,獲得所有連通的數(shù)據(jù)節(jié)點及連通的數(shù)據(jù)節(jié)點的數(shù)量。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述第一上傳單元具體用于: 將所述統(tǒng)計HDFS文件上傳 命令的命令數(shù)除以所述連通的數(shù)據(jù)節(jié)點的數(shù)量,得到分配給各連通的數(shù)據(jù)節(jié)點的HDFS文件上傳命令的命令數(shù); 按照分配給所述各連通的數(shù)據(jù)節(jié)點的HDFS文件上傳命令的命令數(shù),將相應(yīng)數(shù)量的HDFS文件上傳命令分配給各數(shù)據(jù)節(jié)點進(jìn)行文件上傳。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,該裝置還包括獲取文件屬性單元和第二上傳單元;其中, 獲取文件屬性單元,用于設(shè)置文件服務(wù)器上傳的每個文件相應(yīng)的HDFS文件上傳命令時,獲取文件服務(wù)器上傳文件的各文件的文件大小; 第二上傳單元,用于根據(jù)各文件的文件大小,統(tǒng)計上傳文件的總大??; 將上傳文件的總大小除以連通的數(shù)據(jù)節(jié)點的數(shù)量,獲得均分給各連通的數(shù)據(jù)節(jié)點上傳文件的大?。? 按照均分給各連通的數(shù)據(jù)節(jié)點上傳文件的大小,將相應(yīng)的HDFS文件上傳命令發(fā)送給相應(yīng)的數(shù)據(jù)節(jié)點進(jìn)行文件上傳。
【文檔編號】G06F17/30GK103970881SQ201410208886
【公開日】2014年8月6日 申請日期:2014年5月16日 優(yōu)先權(quán)日:2014年5月16日
【發(fā)明者】辛國茂, 亓開元, 趙仁明, 房體盈 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司