專利名稱:一種文件的傳輸方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及一種文件的傳輸方法及系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡(luò)通信技術(shù)的飛速發(fā)展,對網(wǎng)絡(luò)文件傳輸速度的要求越來越高。目前,基于網(wǎng)頁上傳或下載文件的速度較慢。而且,基于網(wǎng)頁上傳或下載文件時,如果遇到網(wǎng)絡(luò)較差或網(wǎng)絡(luò)斷開的情況,則需要重新從頭開始上傳或下載文件,從而造成時間浪費。
發(fā)明內(nèi)容
本發(fā)明提供一種文件的傳輸方法及系統(tǒng),以解決上述問題。本發(fā)明提供一種文件的傳輸方法。上述方法包括以下步驟發(fā)送端讀取待傳輸?shù)奈募?,并將所述文件拆分為多個文件塊;所述發(fā)送端根據(jù)預(yù)設(shè)策略調(diào)用線程通過函數(shù) NetGroup. addHaveOb ject傳輸所述文件塊;接收端調(diào)用函數(shù)NetGroup. addffantOb ject從所述發(fā)送端接收所述文件塊。其中,所述預(yù)設(shè)策略為所述發(fā)送端設(shè)定待傳輸文件的優(yōu)先級,并根據(jù)線程池中所有線程的空閑率將線程歸入不同類別,并確定待傳輸文件的優(yōu)先級與線程類別的對應(yīng)關(guān)系,并根據(jù)待傳輸文件拆分的文件塊的大小,調(diào)用每個類別中相應(yīng)的線程傳輸對應(yīng)優(yōu)先級的文件的文件塊。本發(fā)明還提供一種文件的傳輸系統(tǒng),包括發(fā)送端及接收端。發(fā)送端連接接收端。其中,發(fā)送端,用于讀取待傳輸?shù)奈募?,并將所述文件拆分為多個文件塊。發(fā)送端,還用于根據(jù)預(yù)設(shè)策略調(diào)用線程通過函數(shù)NetGroup. addHaveOb ject傳輸所述文件塊。接收端,用于調(diào)用函數(shù)NetGroup. addffantOb ject從所述發(fā)送端接收所述文件塊。其中,所述預(yù)設(shè)策略為所述發(fā)送端設(shè)定待傳輸文件的優(yōu)先級,并根據(jù)線程池中所有線程的空閑率將線程歸入不同類別,并確定待傳輸文件的優(yōu)先級與線程類別的對應(yīng)關(guān)系,并根據(jù)待傳輸文件拆分的文件塊的大小,調(diào)用每個類別中相應(yīng)的線程傳輸對應(yīng)優(yōu)先級的文件的文件塊。相較于先前技術(shù),根據(jù)本發(fā)明提供的文件的傳輸方法及系統(tǒng),發(fā)送端將待傳輸文件拆分為多個文件塊后進行傳輸,而且發(fā)送端通過函數(shù)NetGroup. addHaveOb ject傳輸所述文件塊,接收端調(diào)用函數(shù)NetGroup. addffantOb ject接收文件塊。如此,將大文件拆分為多個文件塊后傳輸,可以節(jié)省傳輸時間,并提高傳輸速度。此外,文件傳輸更穩(wěn)定,從而能夠應(yīng)對復(fù)雜的網(wǎng)絡(luò)環(huán)境。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖I所示為根據(jù)本發(fā)明的較佳實施例提供的文件的傳輸方法的流程圖;圖2所示為根據(jù)本發(fā)明的較佳實施例提供的文件的傳輸系統(tǒng)的示意圖。
具體實施例方式下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。圖I所示為根據(jù)本發(fā)明的較佳實施例提供的文件的傳輸方法的流程圖。如圖I所示,本發(fā)明的較佳實施例提供的文件的傳輸方法包括步驟101 103。于步驟101,發(fā)送端讀取待傳輸?shù)奈募?,并將所述文件拆分為多個文件塊。例如,發(fā)送端讀取待傳輸?shù)奈募嗀,并將待傳輸?shù)奈募嗀拆分為五個文件塊(即,文件塊al、a2、a3、 a4、a5)。其中,可將文件A拆分為大小一致的五個文件塊,或者根據(jù)需要將文件A拆分為大小不一致的五個文件塊。然而,本發(fā)明對此并不限定。于步驟102,所述發(fā)送端根據(jù)預(yù)設(shè)策略調(diào)用線程通過函數(shù)NetGroup. addHaveOb ject傳輸所述文件塊。例如,發(fā)送端調(diào)用線程通過函數(shù)NetGroup. addHaveOb ject (al, a5)傳輸文件塊 al a5。于本實施例中,預(yù)設(shè)策略為所述發(fā)送端設(shè)定待傳輸文件的優(yōu)先級,并根據(jù)線程池中所有線程的空閑率將線程歸入不同類別,并確定待傳輸文件的優(yōu)先級與線程類別的對應(yīng)關(guān)系,并根據(jù)待傳輸文件拆分的文件塊的大小,調(diào)用每個類別中相應(yīng)的線程傳輸對應(yīng)優(yōu)先級的文件的文件塊。具體而言,當(dāng)對應(yīng)于同一線程類別的文件塊的大小不一致時,發(fā)送端調(diào)用所述線程類別中空閑率較高的線程傳輸較大的文件塊,調(diào)用所述線程類別中空閑率較低的線程傳輸較小的文件塊。當(dāng)對應(yīng)于同一線程類別的文件塊的大小一致時,發(fā)送端隨機調(diào)用所述線程類別中的線程傳輸所述文件塊。于此,線程的空閑率指采樣時段內(nèi),線程的空閑時間占采樣時段的百分比。線程的空閑率計算可為實時計算或定時計算。然而,本發(fā)明對此并不限定。具體而言,發(fā)送端設(shè)定的待傳輸文件的優(yōu)先級由高至低例如依次為第一級、第二級、第三級。然而,本發(fā)明對此并不限定。于其他實施例中,可根據(jù)需要設(shè)置待傳輸文件的優(yōu)先級。此外,線程池中的線程以空閑率為劃分標(biāo)準(zhǔn)進行劃分。例如,線程可根據(jù)空閑率劃分為三個類別,具體而言,空閑率大于或等于75%的線程可歸為第一類別,空閑率大于50% 且小于75%的線程可歸為第二類別,空閑率小于或等于50%的線程可歸為第三類別。其中,本發(fā)明并不限定線程的劃分標(biāo)準(zhǔn)。此外,發(fā)送端還確定待傳輸文件的優(yōu)先級與線程類別的對應(yīng)關(guān)系。例如,第一級的待傳輸文件對應(yīng)于第一類別的線程,第二級的待傳輸文件對應(yīng)于第二類別的線程,第三級的待傳輸文件對應(yīng)于第三類別的線程。于此,待傳輸文件的優(yōu)先級與線程類別為一對一的關(guān)系,然而,本發(fā)明并不限定于此。于其他實施例中,可根據(jù)需要設(shè)置待傳輸文件與線程類別對應(yīng)關(guān)系為一對多或多對多的關(guān)系。其中,待傳輸文件與線程類別的對應(yīng)關(guān)系例如下表所示。
待傳輸文件待傳輸文件優(yōu)先級線程類別文件D、E第一級第一類別文件M、N第二級第二類別
4文件P、Q第三級第三類別于本實施例中,發(fā)送端計算所有線程的空閑率可將線程歸入相應(yīng)的類別。于此,線程與其類別的對應(yīng)關(guān)系例如下表所示。
線程名線程空閑率線程類別線程a80%第一類別線程b78%線程C75%線程d65%第二類別線程e55%線程f40%第三類別線程g35%以發(fā)送端傳輸文件D、M為例,發(fā)送端例如將文件D拆分為三個文件塊dl d3,且文件塊dl d3的大小不一致(例如,文件塊由大至小的順序依次為文件塊dl、文件塊d2、 文件塊d3),發(fā)送端將文件M拆分為大小一致的三個文件塊ml m3。因此,發(fā)送端會調(diào)用文件D對應(yīng)的線程類別(即,第一類別)中的空閑率最高的線程a傳輸文件塊dl,調(diào)用線程b傳輸文件塊d2,調(diào)用線程c傳輸文件塊d3。同時,發(fā)送端會調(diào)用文件M對應(yīng)的線程類別(即,第二類別)中的線程d傳輸文件塊ml,線程e傳輸文件塊m2(或者,調(diào)用線程d傳輸文件m2,調(diào)用線程e傳輸文件塊ml),同時調(diào)用第三類別中空閑率較高的線程f傳輸文件塊m3。于另一較佳實施例中,預(yù)設(shè)策略為所述發(fā)送端設(shè)定線程池中所有線程的優(yōu)先級, 并確定文件塊與線程優(yōu)先級的對應(yīng)關(guān)系,所述發(fā)送端計算每個優(yōu)先級中所有線程的空閑率,并根據(jù)文件塊的大小及所述文件塊對應(yīng)優(yōu)先級中線程的空閑率調(diào)用相應(yīng)的線程傳輸所述文件塊。具體而言,當(dāng)對應(yīng)于同一線程優(yōu)先級的文件塊的大小不一致時,發(fā)送端調(diào)用所述優(yōu)先級中空閑率較高的線程傳輸較大的文件塊,調(diào)用所述優(yōu)先級中空閑率較低的線程傳輸較小的文件塊。當(dāng)對應(yīng)于同一線程優(yōu)先級的文件塊的大小一致時,發(fā)送端隨機調(diào)用所述優(yōu)先級中的線程傳輸所述文件塊。于此,線程的空閑率指采樣時段內(nèi),線程的空閑時間占采樣時段的百分比。線程的空閑率計算可為實時計算或定時計算。然而,本發(fā)明對此并不限定。舉例而言,發(fā)送端設(shè)定的線程池中線程與其優(yōu)先級的對應(yīng)關(guān)系如下表所示。
線程名優(yōu)先級線程I第一等級線程2第一等級
權(quán)利要求
1.一種文件的傳輸方法,其特征在于,包括以下步驟發(fā)送端讀取待傳輸?shù)奈募?,并將所述文件拆分為多個文件塊;所述發(fā)送端根據(jù)預(yù)設(shè)策略調(diào)用線程通過函數(shù)NetGroup. addHaveOb ject傳輸所述文件塊;接收端調(diào)用函數(shù)NetGroup. addffantOb ject從所述發(fā)送端接收所述文件塊,其中,所述預(yù)設(shè)策略為所述發(fā)送端設(shè)定待傳輸文件的優(yōu)先級,并根據(jù)線程池中所有線程的空閑率將線程歸入不同類別,并確定待傳輸文件的優(yōu)先級與線程類別的對應(yīng)關(guān)系,并根據(jù)待傳輸文件拆分的文件塊的大小,調(diào)用每個類別中相應(yīng)的線程傳輸對應(yīng)優(yōu)先級的文件的文件塊。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,當(dāng)對應(yīng)于同一線程類別的文件塊的大小不一致時,所述發(fā)送端調(diào)用所述類別中空閑率較高的線程傳輸較大的文件塊,調(diào)用所述類別中空閑率較低的線程傳輸較小的文件塊。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述發(fā)送端向所述接收端傳輸所述文件塊前,所述發(fā)送端發(fā)送第一指令給所述接收端,所述接收端接收所述第一指令后響應(yīng) NetGroup. Replication. Fetch. Result 事件,并調(diào)用函數(shù) NetGroup. addffantOb ject 從所述發(fā)送端接收所述文件塊。
4.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述接收端從所述發(fā)送端接收所述文件塊后,所述接收端發(fā)送第二指令給所述發(fā)送端。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述發(fā)送端為客戶端。
6.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述接收端為客戶端。
7.一種文件的傳輸系統(tǒng),其特征在于,包括發(fā)送端及接收端,所述發(fā)送端連接所述接收端,其中,發(fā)送端,用于讀取待傳輸?shù)奈募?,并將所述文件拆分為多個文件塊,所述發(fā)送端,還用于根據(jù)預(yù)設(shè)策略調(diào)用線程通過函數(shù)NetGroup. addHaveOb ject傳輸所述文件塊,所述接收端,用于調(diào)用函數(shù)NetGroup. addffantOb ject從所述發(fā)送端接收所述文件塊, 所述預(yù)設(shè)策略為所述發(fā)送端設(shè)定待傳輸文件的優(yōu)先級,并根據(jù)線程池中所有線程的空閑率將線程歸入不同類別,并確定待傳輸文件的優(yōu)先級與線程類別的對應(yīng)關(guān)系,并根據(jù)待傳輸文件拆分的文件塊的大小,調(diào)用每個類別中相應(yīng)的線程傳輸對應(yīng)優(yōu)先級的文件的文件塊。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述發(fā)送端為客戶端。
9.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述接收端為客戶端。
全文摘要
本發(fā)明提供一種文件的傳輸方法及系統(tǒng)。上述方法包括以下步驟發(fā)送端讀取待傳輸?shù)奈募?,并將所述文件拆分為多個文件塊;所述發(fā)送端根據(jù)預(yù)設(shè)策略調(diào)用線程通過函數(shù)NetGroup.addHaveObject傳輸所述文件塊;接收端調(diào)用函數(shù)NetGroup.addWantObject從所述發(fā)送端接收所述文件塊。其中,所述預(yù)設(shè)策略為所述發(fā)送端設(shè)定待傳輸文件的優(yōu)先級,并根據(jù)線程池中所有線程的空閑率將線程歸入不同類別,并確定待傳輸文件的優(yōu)先級與線程類別的對應(yīng)關(guān)系,并根據(jù)待傳輸文件拆分的文件塊的大小,調(diào)用每個類別中相應(yīng)的線程傳輸對應(yīng)優(yōu)先級的文件的文件塊。
文檔編號H04L29/08GK102611760SQ20121011131
公開日2012年7月25日 申請日期2012年4月16日 優(yōu)先權(quán)日2012年4月16日
發(fā)明者胡加明 申請人:蘇州闊地網(wǎng)絡(luò)科技有限公司