1.一種基于多連接的數(shù)據(jù)發(fā)送方法,其特征在于,應(yīng)用于服務(wù)器上,該方法包括:多連接建立過程和數(shù)據(jù)發(fā)送過程,其中,
所述多連接建立過程包括:
響應(yīng)于客戶端發(fā)送的多連接的建立請求,生成與所述多連接唯一對應(yīng)的會話標識;
依據(jù)所述會話標識建立與客戶端之間的多連接;
所述數(shù)據(jù)發(fā)送過程包括:
響應(yīng)于當前提交的目標數(shù)據(jù)流,將所述目標數(shù)據(jù)流通過建立的所述多連接發(fā)送至所述客戶端。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述響應(yīng)于當前提交的目標數(shù)據(jù)流,將所述目標數(shù)據(jù)流通過建立的所述多連接發(fā)送至所述客戶端,包括:
響應(yīng)于當前提交的目標數(shù)據(jù)流,判斷用于存放目標數(shù)據(jù)流的存儲緩沖區(qū)是否有足夠的存儲空間,如果是,則將所述目標數(shù)據(jù)流存儲至所述存儲緩沖區(qū)中;
判斷當前時間是否已經(jīng)結(jié)束預(yù)設(shè)的休眠時間周期,如果是,將所述存儲緩沖區(qū)中的目標數(shù)據(jù)流進行壓縮,并將壓縮后的目標數(shù)據(jù)流存儲至發(fā)送緩沖區(qū)中;
將所述發(fā)送緩沖區(qū)中壓縮后的目標數(shù)據(jù)流通過建立的所述多連接發(fā)送至所述客戶端。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將所述目標數(shù)據(jù)流存儲至所述存儲緩沖區(qū)中,包括:
將所述目標數(shù)據(jù)流中的目標數(shù)據(jù)按照預(yù)先設(shè)置的第一數(shù)據(jù)格式添加第一數(shù)據(jù)頭;其中,所述第一數(shù)據(jù)頭包括:數(shù)據(jù)類型、數(shù)據(jù)長度和數(shù)據(jù)標識,所述數(shù)據(jù)類型用于表示所述目標數(shù)據(jù)是否進行了切割,所述數(shù)據(jù)長度為一個目標數(shù)據(jù)的長度,所述數(shù)據(jù)標識用于按照各個目標數(shù)據(jù)的順序唯一標識所述目標數(shù)據(jù)流中的一個目標數(shù)據(jù);
將添加第一數(shù)據(jù)頭后的目標數(shù)據(jù)存儲至所述存儲緩沖區(qū)中。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將壓縮后的目標數(shù)據(jù)流存儲至發(fā)送緩沖區(qū)中,包括:
將所述壓縮后的目標數(shù)據(jù)流中的壓縮數(shù)據(jù),按照預(yù)先設(shè)置的第二數(shù)據(jù)格式添加第二數(shù)據(jù)頭;其中,所述第二數(shù)據(jù)頭包括:壓縮標志、壓縮后的數(shù)據(jù)長度、壓縮前的源長度和壓縮后的數(shù)據(jù)內(nèi)容;
將添加第二數(shù)據(jù)頭后的壓縮數(shù)據(jù)存儲至所述發(fā)送緩沖區(qū)中。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將所述目標數(shù)據(jù)流通過建立的所述多連接發(fā)送至所述客戶端,包括:
將所述目標數(shù)據(jù)流通過所述多連接中最先建立的第一個連接確定為當前連接,將所述目標數(shù)據(jù)流通過所述當前連接發(fā)送至所述客戶端;其中,所述多連接中的每一個連接都對應(yīng)一個存儲緩沖區(qū)和一個發(fā)送緩沖區(qū);
在發(fā)送所述目標數(shù)據(jù)流的過程中,判斷所述當前連接對應(yīng)的存儲緩沖區(qū)是否寫入目標數(shù)據(jù)流失敗,如果否,則繼續(xù)將所述目標數(shù)據(jù)流通過所述當前連接發(fā)送至所述客戶端;
如果是,則選擇所述多連接中剩余的其他任意一個剩余連接作為當前連接,并執(zhí)行將所述目標數(shù)據(jù)流通過所述當前連接發(fā)送至所述客戶端的步驟,直至所述目標數(shù)據(jù)流成功發(fā)送至客戶端,或者,所述多連接中的全部連接都判斷完畢。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,在將所述目標數(shù)據(jù)流通過建立的所述多連接發(fā)送至所述客戶端的過程中,還包括:
判斷發(fā)送所述目標數(shù)據(jù)流的時間長度是否達到預(yù)先設(shè)置的發(fā)送時間閾值,如果是,則暫停所述目標數(shù)據(jù)流的發(fā)送,并當暫停時間到達所述發(fā)送時間閾值時,繼續(xù)執(zhí)行將所述目標數(shù)據(jù)流通過建立的所述多連接發(fā)送至所述客戶端的步驟。
7.一種基于多連接的數(shù)據(jù)接收方法,其特征在于,該方法應(yīng)用于客戶端,包括:多連接建立過程和數(shù)據(jù)接收過程,其中,
所述多連接建立過程包括:
向服務(wù)器發(fā)送多連接的建立請求;
接收服務(wù)器返回的、與所述多連接唯一對應(yīng)的會話標識;
依據(jù)所述會話標識建立與服務(wù)器之間的多連接;
所述數(shù)據(jù)接收過程包括:
通過建立的所述多連接接收服務(wù)器發(fā)送的目標數(shù)據(jù)流。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述通過建立的所述多連接接收服務(wù)器發(fā)送的目標數(shù)據(jù)流,包括:
通過建立的多連接中的任意一個當前連接接收服務(wù)器發(fā)送的目標數(shù)據(jù)流。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述通過建立的多連接中的任意一個當前連接接收服務(wù)器發(fā)送的目標數(shù)據(jù)流,包括:
響應(yīng)于服務(wù)器通過建立的多連接中的任意一個當前連接發(fā)送的、壓縮后的目標數(shù)據(jù)流,判斷用于存放壓縮后的目標數(shù)據(jù)流的壓縮緩沖區(qū)是否有足夠的存儲空間,如果是,則將所述壓縮后的目標數(shù)據(jù)流存儲至所述壓縮緩沖區(qū)中;
判斷所述壓縮緩沖區(qū)的存儲空間是否用完,如果是,則將所述壓縮緩沖區(qū)中壓縮后的目標數(shù)據(jù)流進行解壓后存儲至緩存緩沖區(qū)中。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述解壓后的目標數(shù)據(jù)流中的目標數(shù)據(jù)具有第一數(shù)據(jù)頭,所述第一數(shù)據(jù)頭包括:數(shù)據(jù)類型、數(shù)據(jù)長度和數(shù)據(jù)標識,所述數(shù)據(jù)類型用于表示所述目標數(shù)據(jù)是否進行了切割,所述數(shù)據(jù)長度為一個目標數(shù)據(jù)的長度,所述數(shù)據(jù)標識用于唯一標識所述待發(fā)送的數(shù)據(jù)流中的一個目標數(shù)據(jù);則所述通過建立的多連接中的任意一個當前連接接收服務(wù)器發(fā)送的目標數(shù)據(jù)流之后,還包括:
依據(jù)所述目標數(shù)據(jù)流中的目標數(shù)據(jù)的數(shù)據(jù)標識,按照先后順序組合所述目標數(shù)據(jù);
將組合好的目標數(shù)據(jù)顯示給用戶。
11.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述壓縮后的目標數(shù)據(jù)流中的壓縮數(shù)據(jù)包括第二數(shù)據(jù)頭,所述第二數(shù)據(jù)頭包括:壓縮標志、壓縮后的壓縮長度、壓縮前的源長度和壓縮數(shù)據(jù)內(nèi)容;所述將壓縮緩沖 區(qū)中壓縮后的目標數(shù)據(jù)流進行解壓后存儲至緩存緩沖區(qū)中,包括:
讀取所述壓縮后的目標數(shù)據(jù)流中的壓縮數(shù)據(jù)的第二數(shù)據(jù)頭;
判斷所述緩存緩沖區(qū)的存儲空間是否大于所述壓縮數(shù)據(jù)的壓縮前的源長度,如果是,則將壓縮后的目標數(shù)據(jù)流進行解壓,并將解壓后的目標數(shù)據(jù)流存儲至緩存緩沖區(qū)中。
12.一種基于多連接的數(shù)據(jù)發(fā)送裝置,其特征在于,集成于服務(wù)器上,該裝置包括:第一多連接建立單元和數(shù)據(jù)發(fā)送單元,其中,
所述第一多連接建立單元包括:
生成會話標識模塊,用于響應(yīng)于客戶端發(fā)送的多連接的建立請求,生成與所述多連接唯一對應(yīng)的會話標識;
第一建立模塊,用于依據(jù)所述會話標識建立與客戶端之間的多連接;
所述數(shù)據(jù)發(fā)送單元包括數(shù)據(jù)發(fā)送模塊,所述數(shù)據(jù)發(fā)送模塊用于響應(yīng)于當前提交的目標數(shù)據(jù)流,將所述目標數(shù)據(jù)流通過建立的所述多連接發(fā)送至所述客戶端。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,其中所述數(shù)據(jù)發(fā)送模塊,包括:
第一判斷子模塊,用于響應(yīng)于當前提交的目標數(shù)據(jù)流,判斷用于存放目標數(shù)據(jù)流的存儲緩沖區(qū)是否有足夠的存儲空間;
第一存儲子模塊,用于在所述判斷模塊的結(jié)果為是的情況下,將所述目標數(shù)據(jù)流存儲至所述存儲緩沖區(qū)中;
第二判斷子模塊,用于判斷當前時間是否已經(jīng)結(jié)束預(yù)設(shè)的休眠時間周期;
壓縮子模塊,用于在所述第二判斷模塊的結(jié)果為是的情況下,將所述存儲緩沖區(qū)中的目標數(shù)據(jù)流進行壓縮;
第二存儲子模塊,用于將所述壓縮模塊壓縮后的目標數(shù)據(jù)流存儲至發(fā)送緩沖區(qū)中;
第一發(fā)送子模塊,用于將所述發(fā)送緩沖區(qū)中壓縮后的目標數(shù)據(jù)流通過建立的所述多連接發(fā)送至所述客戶端。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述第一存儲子模塊包括:
第一添加子模塊,用于將所述目標數(shù)據(jù)流中的目標數(shù)據(jù)按照預(yù)先設(shè)置的第一數(shù)據(jù)格式添加第一數(shù)據(jù)頭;其中,所述第一數(shù)據(jù)頭包括:數(shù)據(jù)類型、數(shù)據(jù)長度和數(shù)據(jù)標識,所述數(shù)據(jù)類型用于表示所述目標數(shù)據(jù)是否進行了切割,所述數(shù)據(jù)長度為一個目標數(shù)據(jù)的長度,所述數(shù)據(jù)標識用于按照各個目標數(shù)據(jù)的順序唯一標識所述目標數(shù)據(jù)流中的一個目標數(shù)據(jù);
第三存儲子模塊,用于將添加第一數(shù)據(jù)頭后的目標數(shù)據(jù)存儲至所述存儲緩沖區(qū)中。
15.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述第二存儲子模塊包括:
第二添加子模塊,用于將所述壓縮后的目標數(shù)據(jù)流中的壓縮數(shù)據(jù),按照預(yù)先設(shè)置的第二數(shù)據(jù)格式添加第二數(shù)據(jù)頭;其中,所述第二數(shù)據(jù)頭包括:壓縮標志、壓縮后的數(shù)據(jù)長度、壓縮前的源長度和壓縮后的數(shù)據(jù)內(nèi)容;
第四存儲子模塊,用于將添加第二數(shù)據(jù)頭后的壓縮數(shù)據(jù)存儲至所述發(fā)送緩沖區(qū)中。
16.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述發(fā)送模塊包括:
確定子模塊,用于將所述目標數(shù)據(jù)流通過所述多連接中最先建立的第一個連接確定為當前連接;其中,所述多連接中的每一個連接都對應(yīng)一個存儲緩沖區(qū)和一個發(fā)送緩沖區(qū);
第二發(fā)送子模塊,用于將所述目標數(shù)據(jù)流通過所述當前連接發(fā)送至所述客戶端;
第三判斷子模塊,用于在發(fā)送所述目標數(shù)據(jù)流的過程中,判斷所述當前連接對應(yīng)的存儲緩沖區(qū)是否寫入目標數(shù)據(jù)流失?。?/p>
第一觸發(fā)子模塊,用于在所述判斷子模塊的結(jié)果為否的情況下,觸發(fā)所述發(fā)送子模塊;
選擇子模塊,用于在所述判斷子模塊的結(jié)果為是的情況下,選擇所述多連接中剩余的其他任意一個剩余連接作為當前連接,并觸發(fā)所述發(fā) 送子模塊,直至所述目標數(shù)據(jù)流成功發(fā)送至客戶端,或者,所述多連接中的全部連接都判斷完畢。
17.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述數(shù)據(jù)發(fā)送單元還包括:
判斷模塊,用于判斷發(fā)送所述目標數(shù)據(jù)流的時間長度是否達到預(yù)先設(shè)置的發(fā)送時間閾值;
暫停模塊,用于在所述判斷模塊的結(jié)果為是的情況下,暫停所述目標數(shù)據(jù)流的發(fā)送;
觸發(fā)模塊,用于當暫停時間到達所述發(fā)送時間閾值時,觸發(fā)所述數(shù)據(jù)發(fā)送模塊。
18.一種基于多連接的數(shù)據(jù)接收方法,其特征在于,集成于客戶端上,包括:多連接建立單元和數(shù)據(jù)接收單元,其中,
所述多連接建立單元包括:
發(fā)送請求模塊,用于向服務(wù)器發(fā)送多連接的建立請求;
接收會話標識模塊,用于接收服務(wù)器返回的、與所述多連接唯一對應(yīng)的會話標識;
第二建立模塊,用于依據(jù)所述會話標識建立與服務(wù)器之間的多連接;
所述數(shù)據(jù)接收單元包括:
數(shù)據(jù)接收模塊,用于通過建立的所述多連接接收服務(wù)器發(fā)送的目標數(shù)據(jù)流。
19.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述數(shù)據(jù)接收模塊具體用于:通過建立的多連接中的任意一個當前連接接收服務(wù)器發(fā)送的目標數(shù)據(jù)流。
20.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述數(shù)據(jù)接收模塊包括:
第四判斷子模塊,用于響應(yīng)于服務(wù)器通過建立的多連接中的任意一個當前連接發(fā)送的、壓縮后的目標數(shù)據(jù)流,判斷用于存放壓縮后的目標數(shù)據(jù)流的壓縮緩沖區(qū)是否有足夠的存儲空間;
第五存儲子模塊,用于在所述判斷子模塊的結(jié)果為是的情況下,將所述壓縮后的目標數(shù)據(jù)流存儲至所述壓縮緩沖區(qū)中;
第五判斷子模塊,用于判斷所述壓縮緩沖區(qū)的存儲空間是否用完;
第六存儲子模塊,用于在所述判斷子模塊的結(jié)果為是的情況下,將所述壓縮緩沖區(qū)中壓縮后的目標數(shù)據(jù)流進行解壓后存儲至緩存緩沖區(qū)中。
21.根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述解壓后的目標數(shù)據(jù)流中的目標數(shù)據(jù)具有第一數(shù)據(jù)頭,所述第一數(shù)據(jù)頭包括:數(shù)據(jù)類型、數(shù)據(jù)長度和數(shù)據(jù)標識,所述數(shù)據(jù)類型用于表示所述目標數(shù)據(jù)是否進行了切割,所述數(shù)據(jù)長度為一個目標數(shù)據(jù)的長度,所述數(shù)據(jù)標識用于唯一標識所述待發(fā)送的數(shù)據(jù)流中的一個目標數(shù)據(jù);所述數(shù)據(jù)接收模塊還包括:
組合子模塊,用于依據(jù)所述目標數(shù)據(jù)流中的目標數(shù)據(jù)的數(shù)據(jù)標識,按照先后順序組合所述目標數(shù)據(jù);
顯示子模塊,用于將組合好的目標數(shù)據(jù)顯示給用戶。
22.根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述壓縮后的目標數(shù)據(jù)流中的壓縮數(shù)據(jù)包括第二數(shù)據(jù)頭,所述第二數(shù)據(jù)頭包括:壓縮標志、壓縮后的壓縮長度、壓縮前的源長度和壓縮數(shù)據(jù)內(nèi)容;所述第六存儲子模塊包括:
讀取子模塊,用于讀取所述壓縮后的目標數(shù)據(jù)流中的壓縮數(shù)據(jù)的第二數(shù)據(jù)頭;
第六判斷子模塊,用于判斷所述緩存緩沖區(qū)的存儲空間是否大于所述壓縮數(shù)據(jù)的壓縮前的源長度;
解壓子模塊,用于在所述第七判斷子模塊的結(jié)果為是的情況下,將壓縮后的目標數(shù)據(jù)流進行解壓;
第七存儲子模塊,用于將解壓后的目標數(shù)據(jù)流存儲至緩存緩沖區(qū)中。