1.一種分布式文件的下載方法,應(yīng)用于文件下載客戶端,其特征在于,所述分布式文件的下載方法,包括:
發(fā)送數(shù)據(jù)節(jié)點(diǎn)請求消息給元數(shù)據(jù)管理服務(wù)器,獲取存儲下載文件的數(shù)據(jù)節(jié)點(diǎn)的信息;
發(fā)送查詢消息給存儲下載文件的數(shù)據(jù)節(jié)點(diǎn),獲取數(shù)據(jù)節(jié)點(diǎn)中存儲的下載文件的文件名;
根據(jù)獲取到的數(shù)據(jù)節(jié)點(diǎn)的信息,啟動多個并發(fā)線程,每個并發(fā)線程與其中的一個數(shù)據(jù)節(jié)點(diǎn)對應(yīng),發(fā)送包含下載文件名以及初始帶寬的文件下載請求給相應(yīng)的數(shù)據(jù)節(jié)點(diǎn),并根據(jù)數(shù)據(jù)節(jié)點(diǎn)依據(jù)所述文件下載請求為其分配的下載帶寬進(jìn)行文件下載;
統(tǒng)計實際下載帶寬,周期性向數(shù)據(jù)節(jié)點(diǎn)發(fā)送包含實際下載帶寬的下載帶寬更新請求,并根據(jù)數(shù)據(jù)節(jié)點(diǎn)依據(jù)所述下載帶寬更新請求為其分配的下載帶寬進(jìn)行文件下載。
2.根據(jù)權(quán)利要求1所述的分布式文件的下載方法,其特征在于,所述下載帶寬更新請求中還包括預(yù)設(shè)的帶寬步長,所述下載帶寬更新請求中請求的預(yù)計帶寬為所述實際下載帶寬與預(yù)設(shè)的帶寬步長之和,所述數(shù)據(jù)節(jié)點(diǎn)依據(jù)所述下載帶寬更新請求為其分配的下載帶寬,為數(shù)據(jù)節(jié)點(diǎn)的剩余下載帶寬的預(yù)定比例與所述預(yù)計帶寬中的較小值。
3.一種分布式文件的下載方法,應(yīng)用數(shù)據(jù)節(jié)點(diǎn),其特征在于,所述分布式文件的下載方法,包括:
接收文件下載客戶端的查詢消息,查詢出本設(shè)備存儲的下載文件的文件名,并發(fā)送給文件下載客戶端;
接收文件下載客戶端發(fā)送的包含下載文件名以及初始帶寬的文件下載請求,依據(jù)所述文件下載請求中的初始帶寬為其分配下載帶寬;
接收文件下載客戶端周期性發(fā)送的包含統(tǒng)計得到的實際下載帶寬的下載帶寬更新請求,依據(jù)所述下載帶寬更新請求中的實際下載帶寬為其分配下載帶寬。
4.根據(jù)權(quán)利要求3所述的分布式文件的下載方法,其特征在于,所述依據(jù)所述文件下載請求中的初始帶寬為其分配下載帶寬,包括:
計算本數(shù)據(jù)節(jié)點(diǎn)的剩余下載帶寬,以本數(shù)據(jù)節(jié)點(diǎn)的剩余下載帶寬的預(yù)定比例作為為文件下載客戶端分配的下載帶寬。
5.根據(jù)權(quán)利要求3所述的分布式文件的下載方法,其特征在于,所述下載帶寬更新請求中還包括預(yù)設(shè)的帶寬步長,所述下載帶寬更新請求中請求的預(yù)計帶寬為所述實際下載帶寬與預(yù)設(shè)的帶寬步長之和,所述依據(jù)所述下載帶寬更新請求中的實際下載帶寬為其分配下載帶寬,包括:
計算本數(shù)據(jù)節(jié)點(diǎn)的剩余下載帶寬,以本數(shù)據(jù)節(jié)點(diǎn)的剩余下載帶寬的預(yù)定比例與所述預(yù)計帶寬中的較小值作為為文件下載客戶端分配的下載帶寬。
6.一種分布式文件的下載裝置,應(yīng)用于文件下載客戶端,其特征在于,所述分布式文件的下載裝置,包括:
節(jié)點(diǎn)請求模塊,用于發(fā)送數(shù)據(jù)節(jié)點(diǎn)請求消息給元數(shù)據(jù)管理服務(wù)器,獲取存儲下載文件的數(shù)據(jù)節(jié)點(diǎn)的信息;
文件查詢模塊,用于發(fā)送查詢消息給存儲下載文件的數(shù)據(jù)節(jié)點(diǎn),獲取數(shù)據(jù)節(jié)點(diǎn)中存儲的下載文件的文件名;
下載模塊,用于根據(jù)獲取到的數(shù)據(jù)節(jié)點(diǎn)的信息,啟動多個并發(fā)線程,每個并發(fā)線程與其中的一個數(shù)據(jù)節(jié)點(diǎn)對應(yīng),發(fā)送包含下載文件名以及初始帶寬的文件下載請求給相應(yīng)的數(shù)據(jù)節(jié)點(diǎn),并根據(jù)數(shù)據(jù)節(jié)點(diǎn)依據(jù)所述文件下載請求為其分配的下載帶寬進(jìn)行文件下載;
更新模塊,用于統(tǒng)計實際下載帶寬,周期性向數(shù)據(jù)節(jié)點(diǎn)發(fā)送包含實際下載帶寬的下載帶寬更新請求,并根據(jù)數(shù)據(jù)節(jié)點(diǎn)依據(jù)所述下載帶寬更新請求為其分配的下載帶寬進(jìn)行文件下載。
7.根據(jù)權(quán)利要求6所述的分布式文件的下載裝置,其特征在于,所述下載帶寬更新請求中還包括預(yù)設(shè)的帶寬步長,所述下載帶寬更新請求中請求的預(yù)計帶寬為所述實際下載帶寬與預(yù)設(shè)的帶寬步長之和,所述數(shù)據(jù)節(jié)點(diǎn)根據(jù)所述下載帶寬更新請求為其分配的下載帶寬,為數(shù)據(jù)節(jié)點(diǎn)的剩余下載帶寬的預(yù)定比例與所述預(yù)計帶寬中的較小值。
8.一種分布式文件的下載裝置,應(yīng)用數(shù)據(jù)節(jié)點(diǎn),其特征在于,所述分布式文件的下載裝置,包括:
查詢模塊,用于接收文件下載客戶端的查詢消息,查詢出本設(shè)備存儲的下載文件的文件名,并發(fā)送給文件下載客戶端;
初始帶寬分配模塊,用于接收文件下載客戶端發(fā)送的包含下載文件名以及初始帶寬的文件下載請求,依據(jù)所述文件下載請求中的初始帶寬為其分配下載帶寬;
帶寬更新模塊,用于接收文件下載客戶端周期性發(fā)送的包含統(tǒng)計得到的實際下載帶寬的下載帶寬更新請求,依據(jù)所述下載帶寬更新請求中的實際下載帶寬為其分配下載帶寬。
9.根據(jù)權(quán)利要求8所述的分布式文件的下載裝置,其特征在于,所述初始帶寬分配模塊在依據(jù)所述文件下載請求中的初始帶寬為其分配下載帶寬時,執(zhí)行如下操作:
計算本數(shù)據(jù)節(jié)點(diǎn)的剩余下載帶寬,以本數(shù)據(jù)節(jié)點(diǎn)的剩余下載帶寬的預(yù)定比例作為為文件下載客戶端分配的下載帶寬。
10.根據(jù)權(quán)利要求8所述的分布式文件的下載裝置,其特征在于,所述下載帶寬更新請求中還包括預(yù)設(shè)的帶寬步長,所述下載帶寬更新請求中請求的預(yù)計帶寬為所述實際下載帶寬與預(yù)設(shè)的帶寬步長之和,所述帶寬更新模塊在依據(jù)所述下載帶寬更新請求中的實際下載帶寬為其分配下載帶寬時,執(zhí)行如下操作:
計算本數(shù)據(jù)節(jié)點(diǎn)的剩余下載帶寬,以本數(shù)據(jù)節(jié)點(diǎn)的剩余下載帶寬的預(yù)定比例與所述預(yù)計帶寬中的較小值作為為文件下載客戶端分配的下載帶寬。