一種數(shù)據(jù)下載方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及數(shù)據(jù)傳輸領(lǐng)域,尤其涉及一種數(shù)據(jù)下載方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]從文件存儲服務器下載數(shù)據(jù)一般是將源文件分片存儲于服務端,客戶端請求下載時,一片一片地下載?,F(xiàn)有下載系統(tǒng)中,下載總流量和文件大小幾乎一致,而且下載速率完全取決于網(wǎng)絡(luò)帶寬和服務器承載能力,如果不考慮服務器的承載瓶頸,那么下載速率就只由網(wǎng)絡(luò)帶寬一元變量決定,現(xiàn)有的傳輸方案無法合理有效地判斷客戶端允許承載的性能并給出合理的傳輸方式,往往不是占用全部帶寬影響用戶的其他互聯(lián)網(wǎng)體驗,就是占用大量CPU影響用戶的日常辦公體驗,導致了客戶端大量資源的浪費。
[0003]因此,合理有效地組織利用客戶端的多維資源,實現(xiàn)更優(yōu)的下載傳輸方式是目前亟待解決的問題。
【發(fā)明內(nèi)容】
[0004]本申請的主要目的在于提供一種數(shù)據(jù)下載方法、裝置及系統(tǒng),以解決現(xiàn)有技術(shù)存在的進行數(shù)據(jù)下載時無法合理有效地判斷客戶端允許承載的性能,導致客戶端大量資源浪費的問題。
[0005]為解決上述問題,本申請實施例提供一種數(shù)據(jù)下載方法,包括:當接收到來自客戶端的下載任務時,采集所述客戶端的性能數(shù)據(jù);根據(jù)所述性能數(shù)據(jù),確定向所述客戶端傳輸所述客戶端要下載的數(shù)據(jù)的壓縮系數(shù),所述壓縮系數(shù)為向所述客戶端傳輸要下載的數(shù)據(jù)時,壓縮數(shù)據(jù)的傳輸速率在總傳輸速率中所占比例;根據(jù)確定的壓縮系數(shù),確定向所述客戶端傳輸所述要下載的數(shù)據(jù)時壓縮數(shù)據(jù)的傳輸速率和未壓縮數(shù)據(jù)的傳輸速率;根據(jù)確定的壓縮數(shù)據(jù)的傳輸速率和未壓縮數(shù)據(jù)的傳輸速率,向所述客戶端傳輸對所述要下載的數(shù)據(jù)中的部分數(shù)據(jù)進行壓縮處理得到的壓縮數(shù)據(jù)和所述要下載的數(shù)據(jù)中未進行壓縮處理的未壓縮數(shù)據(jù),由所述客戶端對接收到的數(shù)據(jù)中的壓縮數(shù)據(jù)進行解壓還原。
[0006]其中,所述客戶端的性能數(shù)據(jù)包括:所述客戶端的CPU使用率、內(nèi)存剩余空間、磁盤讀寫速度以及當前網(wǎng)絡(luò)帶寬。
[0007]其中,根據(jù)所述性能數(shù)據(jù),確定向所述客戶端傳輸所述客戶端要下載的數(shù)據(jù)時的壓縮系數(shù)的步驟之前,還包括:根據(jù)所述性能數(shù)據(jù),確定是否對所述客戶端要下載的數(shù)據(jù)進行壓縮傳輸。
[0008]其中,根據(jù)所述性能數(shù)據(jù),確定是否對所述客戶端要下載的數(shù)據(jù)進行壓縮傳輸,包括:如果所述客戶端當前的傳輸速率與當前網(wǎng)絡(luò)的最大傳輸速率的比值超過預定比值,并且所述客戶端當前的CPU使用率小于預定閾值,則確定對所述要下載的數(shù)據(jù)進行壓縮傳輸。
[0009]其中,根據(jù)確定的壓縮數(shù)據(jù)的傳輸速率和未壓縮數(shù)據(jù)的傳輸速率,向所述客戶端傳輸對所述要下載的數(shù)據(jù)中的部分數(shù)據(jù)進行壓縮處理得到的壓縮數(shù)據(jù)和所述要下載的數(shù)據(jù)中未進行壓縮處理的未壓縮數(shù)據(jù),包括:根據(jù)確定的壓縮數(shù)據(jù)的傳輸速率和未壓縮數(shù)據(jù)的傳輸速率,將所述壓縮數(shù)據(jù)和所述未壓縮數(shù)據(jù)分別通過不同的數(shù)據(jù)傳輸通道向所述客戶端傳輸。
[0010]本申請實施例還提供一種數(shù)據(jù)下載裝置,包括:數(shù)據(jù)采集模塊,用于當接收到來自客戶端的下載任務時,采集所述客戶端的性能數(shù)據(jù);第一確定模塊,用于根據(jù)所述性能數(shù)據(jù),確定向所述客戶端傳輸所述客戶端要下載的數(shù)據(jù)的壓縮系數(shù),所述壓縮系數(shù)為向所述客戶端傳輸要下載的數(shù)據(jù)時,壓縮數(shù)據(jù)的傳輸速率在總傳輸速率中所占比例;第二確定模塊,用于根據(jù)確定的壓縮系數(shù),確定向所述客戶端傳輸所述要下載的數(shù)據(jù)時壓縮數(shù)據(jù)的傳輸速率和未壓縮數(shù)據(jù)的傳輸速率;數(shù)據(jù)傳輸模塊,用于根據(jù)確定的壓縮數(shù)據(jù)的傳輸速率和未壓縮數(shù)據(jù)的傳輸速率,向所述客戶端傳輸對所述要下載的數(shù)據(jù)中的部分數(shù)據(jù)進行壓縮處理得到的壓縮數(shù)據(jù)和所述要下載的數(shù)據(jù)中未進行壓縮處理的未壓縮數(shù)據(jù),由所述客戶端對接收到的數(shù)據(jù)中的壓縮數(shù)據(jù)進行解壓還原。
[0011]其中,所述客戶端的性能數(shù)據(jù)包括:所述客戶端的CPU使用率、內(nèi)存剩余空間、磁盤讀寫速度以及當前網(wǎng)絡(luò)帶寬。
[0012]其中,還包括:第三確定模塊,用于根據(jù)所述性能數(shù)據(jù),確定是否對所述客戶端要下載的數(shù)據(jù)進行壓縮傳輸。
[0013]其中,所述第三確定模塊,進一步用于:如果所述客戶端當前的傳輸速率與當前網(wǎng)絡(luò)的最大傳輸速率的比值超過預定比值,并且所述客戶端當前的CPU使用率小于預定閾值,則確定對所述要下載的數(shù)據(jù)進行壓縮傳輸。
[0014]其中,所述數(shù)據(jù)傳輸模塊,進一步用于:根據(jù)確定的壓縮數(shù)據(jù)的傳輸速率和未壓縮數(shù)據(jù)的傳輸速率,將所述壓縮數(shù)據(jù)和所述未壓縮數(shù)據(jù)分別通過不同的數(shù)據(jù)傳輸通道向所述客戶端傳輸。
[0015]本申請實施例還提供一種數(shù)據(jù)下載系統(tǒng),包括:服務器和客戶端,所述服務器,用于當接收到來自客戶端的下載任務時,采集所述客戶端的性能數(shù)據(jù);根據(jù)所述性能數(shù)據(jù),確定向所述客戶端傳輸所述客戶端要下載的數(shù)據(jù)的壓縮系數(shù);根據(jù)確定的壓縮系數(shù),確定向所述客戶端傳輸所述要下載的數(shù)據(jù)時壓縮數(shù)據(jù)的傳輸速率和未壓縮數(shù)據(jù)的傳輸速率;根據(jù)確定的壓縮數(shù)據(jù)的傳輸速率和未壓縮數(shù)據(jù)的傳輸速率,向所述客戶端傳輸對所述要下載的數(shù)據(jù)中的部分數(shù)據(jù)進行壓縮處理得到的壓縮數(shù)據(jù)和所述要下載的數(shù)據(jù)中未進行壓縮處理的未壓縮數(shù)據(jù),其中,所述壓縮系數(shù)為向所述客戶端傳輸所述要下載的數(shù)據(jù)時,壓縮數(shù)據(jù)的傳輸速率在總傳輸速率中所占比例;所述客戶端,用于向所述服務器下發(fā)下載任務,接收所述服務器傳輸?shù)乃鰤嚎s數(shù)據(jù)和未壓縮數(shù)據(jù),對接收到的壓縮數(shù)據(jù)進行解壓還原,并將解壓得到的數(shù)據(jù)與接收到的未壓縮數(shù)據(jù)進行合并得到所述要下載的數(shù)據(jù)。
[0016]根據(jù)本申請的技術(shù)方案,通過實時采集客戶端性能數(shù)據(jù),當客戶端有大量閑置處理資源時,將客戶端要下載的數(shù)據(jù)中的部分數(shù)據(jù)采用壓縮的方式與未壓縮的數(shù)據(jù)并行傳輸?shù)娇蛻舳耍詼p少傳輸流量,并由客戶端利用閑置的處理資源對壓縮數(shù)據(jù)進行解壓還原,將壓縮數(shù)據(jù)的解壓處理分布到客戶端進行,有效利用了客戶端的閑置資源,并提高了下載效率。
【附圖說明】
[0017]此處所說明的附圖用來提供對本申請的進一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當限定。在附圖中:
[0018]圖1是本申請實施例一提供的數(shù)據(jù)下載方法的流程圖;
[0019]圖2是本申請實施例二提供的數(shù)據(jù)下載方法的流程圖;
[0020]圖3是本申請實施例三提供的數(shù)據(jù)下載裝置的結(jié)構(gòu)框圖;
[0021]圖4是本申請實施例四提供的數(shù)據(jù)下載裝置的結(jié)構(gòu)框圖;以及
[0022]圖5是本申請實施例五提供的數(shù)據(jù)下載系統(tǒng)的結(jié)構(gòu)框圖。
【具體實施方式】
[0023]本申請的主要思想在于,當客戶端下載數(shù)據(jù)的帶寬達到瓶頸,且客戶端存在大量閑置處理資源時,通過對客戶端要下載的數(shù)據(jù)中部分數(shù)據(jù)進行壓縮后傳輸?shù)娇蛻舳?,由客戶端利用閑置的資源對壓縮數(shù)據(jù)進行解壓還原,從而將壓縮數(shù)據(jù)的解壓處理分布到客戶端進行,以適應網(wǎng)絡(luò)帶寬瓶頸,并有效地利用客戶端的閑置資源,更快速的完成數(shù)據(jù)傳輸。
[0024]以下將配合附圖及實施例來詳細說明本申請的實施方式,藉此對本申請如何應用技術(shù)手段來解決技術(shù)問題并達成技術(shù)功效的實現(xiàn)過程能充分理解并據(jù)以實施。
[0025]如在說明書及權(quán)利要求當中使用了某些詞匯來指稱特定組件。本領(lǐng)域技術(shù)人員應可理解,硬件制造商可能會用不同名詞來稱呼同一個組件。本說明書及權(quán)利要求并不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來作為區(qū)分的準則。如在通篇說明書及權(quán)利要求當中所提及的“包含”為一開放式用語,故應解釋成“包含但不限定于”?!按笾隆笔侵冈诳山邮盏恼`差范圍內(nèi),本領(lǐng)域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述技術(shù)問題,基本達到