專利名稱:一種文件傳輸方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明屬于網絡通信領域,尤其涉及ー種文件傳輸方法及系統(tǒng)。
背景技術:
隨著網絡通信技術的飛速發(fā)展,對網絡文件傳輸速度的要求越來越高。目前,基于網頁上傳或下載文件的速度較慢。而且,基于網頁上傳或下載文件時,如果遇到網絡較差或網絡斷開的情況,則需要重新從頭開始上傳或 下載文件,從而造成時間浪費。
發(fā)明內容
本發(fā)明提供ー種文件傳輸方法及系統(tǒng),以解決上述問題。本發(fā)明提供ー種文件傳輸方法。上述方法包括以下步驟發(fā)送端讀取待傳輸?shù)奈募⑺鑫募鸱譃槎鄠€文件塊;所述發(fā)送端根據(jù)預設策略調用線程通過函數(shù)NetGroup. addHaveOb ject傳輸所述文件塊;接收端調用函數(shù)NetGroup. addffantOb ject從所述發(fā)送端接收所述文件塊。本發(fā)明還提供ー種文件傳輸系統(tǒng),包括發(fā)送端及接收端。發(fā)送端連接接收端。其中,發(fā)送端,用于讀取待傳輸?shù)奈募⑺鑫募鸱譃槎鄠€文件塊。發(fā)送端,還用于根據(jù)預設策略調用線程通過函數(shù)NetGroup. addHaveOb ject傳輸所述文件塊。接收端,用于調用函數(shù)NetGroup. addffantOb ject從所述發(fā)送端接收所述文件塊。相較于先前技術,根據(jù)本發(fā)明提供的文件傳輸方法及系統(tǒng),發(fā)送端將待傳輸文件拆分為多個文件塊后進行傳輸,而且發(fā)送端通過函數(shù)NetGroup. addHaveOb ject傳輸所述文件塊,接收端調用函數(shù)NetGroup. addffantOb ject接收文件塊。如此,將大文件拆分為多個文件塊后傳輸,可以節(jié)省傳輸時間,并提高傳輸速度。此外,文件傳輸更穩(wěn)定,從而能夠應對復雜的網絡環(huán)境。
此處所說明的附圖用來提供對本發(fā)明的進ー步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中圖I所示為根據(jù)本發(fā)明的較佳實施例提供的文件傳輸方法的流程圖;圖2所示為根據(jù)本發(fā)明的較佳實施例提供的文件傳輸系統(tǒng)的示意圖。
具體實施例方式下文中將參考附圖并結合實施例來詳細說明本發(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ù)預設策略調用線程通過函數(shù)NetGroup.addHaveOb ject傳輸所述文件塊。例如,發(fā)送端調用線程通過函數(shù)NetGroup.addHaveOb ject (al, a5)傳輸文件塊 al a5。于本實施例中,預設策略為所述發(fā)送端設定線程池中所有線程的優(yōu)先級,并確定文件塊與線程優(yōu)先級的對應關系,所述發(fā)送端計算每個優(yōu)先級中所有線程的空閑率,井根據(jù)文件塊的大小及所述文件塊對應優(yōu)先級中線程的空閑率調用相應的線程傳輸所述文件塊。具體而言,當對應于同一線程優(yōu)先級的文件塊的大小不一致時,發(fā)送端調用所述優(yōu)先級中空閑率較高的線程傳輸較大的文件塊,調用所述優(yōu)先級中空閑率較低的線程傳輸較小的文件塊。當對應于同一線程優(yōu)先級的文件塊的大小一致時,發(fā)送端隨機調用所述優(yōu)先級中的線程傳輸所述文件塊。于此,線程的空閑率指采樣時段內,線程的空閑時間占采樣時段的百分比。線程的空閑率計算可為實時計算或定時計算。然而,本發(fā)明對此并不限定。舉例而言,發(fā)送端設定的線程池中線程與其優(yōu)先級的對應關系如下表所示。
線程名優(yōu)先級~
線程I第一等級
線程2第一等級
線程3第一等級
線程4第一等級
線程5第二等級
線程6第二等級
線程7第二等級
線程8第三等級
線程9第三等級
線程10 第三等級如上表所示,各線程優(yōu)先級由高至低依次為第一等級、第二等級、第三等級。其中,本發(fā)明并不限定于上表中的線程及優(yōu)先級對應關系。于實際應用中,可根據(jù)需要重新設定線程及優(yōu)先級。此外,發(fā)送端亦確定文件塊與線程優(yōu)先級的對應關系。舉例而言,若發(fā)送端傳輸文件A、B及C時,發(fā)送端將文件A拆分為文件塊al a5,將文件B拆分為文件塊bl b4,將文件C拆分為文件塊Cl c3。其中,文件塊al a5的大小不一致(例如,文件塊由大至小的順序依次為文件塊al、文件塊a2、文件塊a3、文件塊a4、文件塊a5),文件塊bl b4的大小一致,且文件塊Cl c3的大小一致。同時,發(fā)送端例如可確定文件塊al a5、bl b4及cl c3與線程優(yōu)先級的對應關系如下表所示。
權利要求
1.ー種文件傳輸方法,其特征在于,包括以下步驟 發(fā)送端讀取待傳輸?shù)奈募?,并將所述文件拆分為多個文件塊; 所述發(fā)送端根據(jù)預設策略調用線程通過函數(shù)NetGroup. addHaveOb ject傳輸所述文件塊; 接收端調用函數(shù)NetGroup. addffantOb ject從所述發(fā)送端接收所述文件塊。
2.根據(jù)權利要求I所述的方法,其特征在于,所述預設策略為所述發(fā)送端設定線程池中所有線程的優(yōu)先級,確定文件塊與線程優(yōu)先級的對應關系,所述發(fā)送端計算每個優(yōu)先級中所有線程的空閑率,并根據(jù)文件塊的大小及所述文件塊對應優(yōu)先級中線程的空閑率調用相應的線程傳輸所述文件塊。
3.根據(jù)權利要求2所述的方法,其特征在干,當對應于同一線程優(yōu)先級的文件塊的大小不一致時,所述發(fā)送端調用所述優(yōu)先級中空閑率較高的線程傳輸較大的文件塊,調用所述優(yōu)先級中空閑率較低的線程傳輸較小的文件塊。
4.根據(jù)權利要求I所述的方法,其特征在于,所述發(fā)送端向所述接收端傳輸所述文件塊前,所述發(fā)送端發(fā)送第一指令給所述接收端,所述接收端接收所述第一指令后響應NetGroup. Replication. Fetch. Result 事件,并調用函數(shù) NetGroup. addffantOb ject 從所述發(fā)送端接收所述文件塊。
5.根據(jù)權利要求4所述的方法,其特征在于,所述接收端從所述發(fā)送端接收所述文件塊后,所述接收端發(fā)送第二指令給所述發(fā)送端。
6.根據(jù)權利要求I所述的方法,其特征在于,所述發(fā)送端為客戶端。
7.根據(jù)權利要求I所述的方法,其特征在于,所述接收端為客戶端。
8.ー種文件傳輸系統(tǒng),其特征在干,包括發(fā)送端及接收端,所述發(fā)送端連接所述接收端, 其中,發(fā)送端,用于讀取待傳輸?shù)奈募?,并將所述文件拆分為多個文件塊; 所述發(fā)送端,還用于根據(jù)預設策略調用線程通過函數(shù)NetGroup. addHaveOb ject傳輸所述文件塊; 所述接收端,用于調用函數(shù)NetGroup. addffantOb ject從所述發(fā)送端接收所述文件塊。
9.根據(jù)權利要求8所述的系統(tǒng),其特征在于,所述發(fā)送端為客戶端。
10.根據(jù)權利要求8所述的系統(tǒng),其特征在于,所述接收端為客戶端。
全文摘要
本發(fā)明提供一種文件傳輸方法及系統(tǒng)。上述方法包括以下步驟發(fā)送端讀取待傳輸?shù)奈募?,并將所述文件拆分為多個文件塊;所述發(fā)送端根據(jù)預設策略調用線程通過函數(shù)NetGroup.addHaveObject傳輸所述文件塊;接收端調用函數(shù)NetGroup.addWantObject從所述發(fā)送端接收所述文件塊。
文檔編號G06F17/30GK102663104SQ20121010970
公開日2012年9月12日 申請日期2012年4月16日 優(yōu)先權日2012年4月16日
發(fā)明者胡加明 申請人:蘇州闊地網絡科技有限公司