專利名稱:一種數(shù)據(jù)處理方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法、裝置及系統(tǒng)。
背景技術(shù):
當(dāng)前通信系統(tǒng)中,在電信網(wǎng)IP化以后,電信網(wǎng)中信令的傳輸一般使用流控制傳輸協(xié)議(SCTP,STREAM CONTROL TRANSMISSION PROTOCOL),在 SCTP 協(xié)議下,定義的是包傳輸?shù)姆绞?,消息包的?shù)量直接影響了網(wǎng)絡(luò)轉(zhuǎn)發(fā)消息的能力。由于用戶數(shù)量不斷增加,運(yùn)營(yíng)商提供的服務(wù)不斷增多,導(dǎo)致網(wǎng)絡(luò)上的消息數(shù)量不斷增加,在有限的網(wǎng)絡(luò)帶寬下,如果要快速傳送數(shù)據(jù),則需要降低網(wǎng)絡(luò)上的消息數(shù)量,而要增加網(wǎng)絡(luò)上的消息數(shù)量,則不可避免導(dǎo)致消息傳輸時(shí)延,數(shù)據(jù)流量的增加直接導(dǎo)致當(dāng)前的網(wǎng)絡(luò)資源越來(lái)越緊張,網(wǎng)絡(luò)同時(shí)滿足低延時(shí)、高負(fù)載是當(dāng)前面臨的一個(gè)難題?,F(xiàn)有技術(shù)中,在SCTP協(xié)議下有兩種傳輸控制方式,一種是綁定式,將多個(gè)用戶數(shù)據(jù)組裝成一個(gè)數(shù)據(jù)包發(fā)送,來(lái)減少網(wǎng)絡(luò)上消息包的個(gè)數(shù);另一種是非綁定式,當(dāng)每個(gè)用戶的數(shù)據(jù)到達(dá)后,不做任何的等待,直接組裝成數(shù)據(jù)包進(jìn)行發(fā)送,來(lái)降低消息發(fā)送的時(shí)延。在以上現(xiàn)有技術(shù)中,綁定式傳輸控制方式由于等待多個(gè)用戶數(shù)據(jù)一并綁定,時(shí)延大,而非綁定式傳輸控制方式由于每個(gè)用戶的數(shù)據(jù)單獨(dú)組裝成數(shù)據(jù)包,網(wǎng)絡(luò)上消息包的個(gè)數(shù)較多。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)處理方法、裝置及系統(tǒng),用以降低網(wǎng)絡(luò)時(shí)延的同時(shí)提高網(wǎng)絡(luò)負(fù)載量。本發(fā)明實(shí)施例提供了一種數(shù)據(jù)處理方法,包括將接收到的數(shù)據(jù)轉(zhuǎn)換為流控制傳輸協(xié)議數(shù)據(jù)塊;將所述流控制傳輸協(xié)議數(shù)據(jù)塊存入緩沖區(qū),并將所述流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài);判斷所述緩沖區(qū)內(nèi)是否存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊,若是,則將所述緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊一并發(fā)送,若否,則發(fā)送所述流控制傳輸協(xié)議數(shù)據(jù)塊。本發(fā)明實(shí)施例提供了一種數(shù)據(jù)處理裝置,包括轉(zhuǎn)換單元,用于將接收到的數(shù)據(jù)轉(zhuǎn)換為流控制傳輸協(xié)議數(shù)據(jù)塊;存入單元,用于將所述流控制傳輸協(xié)議數(shù)據(jù)塊存入緩沖區(qū); 設(shè)置單元,用于將所述流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài);判斷單元,用于判斷所述緩沖區(qū)內(nèi)是否存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊;發(fā)送單元,用于若所述緩沖區(qū)內(nèi)存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊,則將所述緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊一并發(fā)送,若所述緩沖區(qū)內(nèi)不存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊,則發(fā)送所述流控制傳輸協(xié)議數(shù)據(jù)塊。本發(fā)明實(shí)施例提供了一種數(shù)據(jù)處理系統(tǒng),包括發(fā)送端設(shè)備,網(wǎng)關(guān)設(shè)備以及接收端設(shè)備;所述發(fā)送端設(shè)備用于向所述網(wǎng)關(guān)設(shè)備發(fā)送數(shù)據(jù);所述網(wǎng)關(guān)設(shè)備用于將接收到的數(shù)據(jù)轉(zhuǎn)換為流控制傳輸協(xié)議數(shù)據(jù)塊;將所述流控制傳輸協(xié)議數(shù)據(jù)塊存入緩沖區(qū),并將所述流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài);判斷所述緩沖區(qū)內(nèi)是否存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊,若是,將所述緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊一并向所述接收端設(shè)備發(fā)送,若否,向所述接收端設(shè)備則發(fā)送所述流控制傳輸協(xié)議數(shù)據(jù)塊;所述接收端設(shè)備用于接收所述網(wǎng)關(guān)設(shè)備發(fā)送的所述流控制傳輸協(xié)議數(shù)據(jù)塊。從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn)將接收到的數(shù)據(jù)轉(zhuǎn)換為流控制傳輸協(xié)議數(shù)據(jù)塊后存入緩沖區(qū),并將該流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài),判斷緩沖區(qū)內(nèi)是否存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊,如果存在,則將緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊一并發(fā)送,以減少網(wǎng)絡(luò)中流控制傳輸協(xié)議消息的數(shù)量,若否,則將該流控制傳輸協(xié)議數(shù)據(jù)塊直接發(fā)送,避免等待其他數(shù)據(jù), 以降低傳輸時(shí)延,由此,根據(jù)網(wǎng)絡(luò)狀況,動(dòng)態(tài)調(diào)整控制發(fā)送流控制傳輸協(xié)議數(shù)據(jù)的方式,在降低網(wǎng)絡(luò)時(shí)延的同時(shí)提高網(wǎng)絡(luò)負(fù)載量。
圖1為本發(fā)明實(shí)施例中數(shù)據(jù)處理方法的一個(gè)實(shí)施例示意圖;圖2為本發(fā)明實(shí)施例中數(shù)據(jù)處理方法的另一個(gè)實(shí)施例示意圖;圖3為流控制傳輸協(xié)議數(shù)據(jù)塊格式示意圖;圖4為流控制傳輸協(xié)議包格式示意圖;圖5為本發(fā)明實(shí)施例中數(shù)據(jù)處理裝置的一個(gè)實(shí)施例示意圖;圖6為本發(fā)明實(shí)施例中數(shù)據(jù)處理裝置的另一個(gè)實(shí)施例示意圖;圖7為本發(fā)明實(shí)施例中數(shù)據(jù)處理系統(tǒng)的一個(gè)實(shí)施例示意圖。
具體實(shí)施例方式本發(fā)明實(shí)施例提供了一種數(shù)據(jù)處理方法及裝置,用于在發(fā)送數(shù)據(jù)的過(guò)程中,根據(jù)網(wǎng)絡(luò)狀態(tài),動(dòng)態(tài)調(diào)整控制數(shù)據(jù)方法,在降低網(wǎng)絡(luò)時(shí)延的同時(shí)提高網(wǎng)絡(luò)帶寬的利用率。以下分別進(jìn)行詳細(xì)說(shuō)明。請(qǐng)參閱圖1,本發(fā)明實(shí)施例中的數(shù)據(jù)處理方法的一個(gè)實(shí)施例包括101、將接收到的數(shù)據(jù)轉(zhuǎn)換為流控制傳輸協(xié)議數(shù)據(jù)塊;在網(wǎng)絡(luò)中,存在多種觸發(fā)消息發(fā)送的方式,例如用戶下發(fā)消息觸發(fā),定時(shí)器超時(shí)觸發(fā),收到的選擇性應(yīng)答(SACK,selective acknowledgement)要求重傳觸發(fā)。為描述方便, 本發(fā)明的實(shí)施例中均以用戶下發(fā)消息觸發(fā)的方式為例,描述消息發(fā)送的控制過(guò)程,其他的觸發(fā)方式下發(fā)送控制過(guò)程相同,此處不再贅述。接收到用戶發(fā)送的數(shù)據(jù)后,對(duì)接收到的數(shù)據(jù)進(jìn)行預(yù)處理,例如,根據(jù)數(shù)據(jù)大小判斷是否對(duì)其進(jìn)行分片,判斷其是否為空包,并將其轉(zhuǎn)換為SCTP數(shù)據(jù)塊,符合SCTP規(guī)則要求。102、將該流控制傳輸協(xié)議數(shù)據(jù)塊存入緩沖區(qū),并將該流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài);將預(yù)處理后的SCTP數(shù)據(jù)塊存入緩沖區(qū)(SendBuffer),并將該SCTP數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送(pending)狀態(tài)。103、判斷緩沖區(qū)內(nèi)是否存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊;判斷SendBuffer內(nèi)是否存在處于pending狀態(tài)的,除該SCTP數(shù)據(jù)塊之外的其他SCTP數(shù)據(jù)塊。若是,則執(zhí)行步驟104,若否,則執(zhí)行步驟105。104、將緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊一并發(fā)送;如果SendBuffer內(nèi)存在處于pending狀態(tài)的其他SCTP數(shù)據(jù)塊,則將SendBuffer 內(nèi)所有處于pending狀態(tài)的SCTP數(shù)據(jù)塊一并發(fā)送,發(fā)送給網(wǎng)絡(luò)中的網(wǎng)絡(luò)之間互連的協(xié)議 (IP, Internet Protocol)層。若SendBuffer內(nèi)存在處于pending狀態(tài)的其他SCTP數(shù)據(jù)塊,表明當(dāng)前網(wǎng)絡(luò)狀態(tài)不理想,消息數(shù)量可能已經(jīng)產(chǎn)生瓶頸,需要減少網(wǎng)絡(luò)中傳輸?shù)南?shù)量,因此,將 SendBuffer內(nèi)所有處于pending狀態(tài)的SCTP數(shù)據(jù)塊一并發(fā)送,以減少網(wǎng)絡(luò)中的消息數(shù)量。105、發(fā)送該流控制傳輸協(xié)議數(shù)據(jù)塊。如果SendBuffer內(nèi)不存在處于pending狀態(tài)的其他SCTP數(shù)據(jù)塊,則將該SCTP數(shù)據(jù)塊發(fā)送,發(fā)送給網(wǎng)絡(luò)中的IP層。若SendBuffer內(nèi)不存在處于pending狀態(tài)的其他SCTP數(shù)據(jù)塊,表明當(dāng)前網(wǎng)絡(luò)狀態(tài)很好,消息數(shù)量不會(huì)構(gòu)成瓶頸,因此,將該SCTP數(shù)據(jù)塊直接發(fā)送,不等待其他用戶的數(shù)據(jù),以降低時(shí)延。需要說(shuō)明的是,由于SCTP數(shù)據(jù)在傳輸過(guò)程中,保留了應(yīng)用程序的消息框架邊界, 因而即便不同應(yīng)用程序的數(shù)據(jù)塊綁定在一起傳輸,也不會(huì)影響后續(xù)對(duì)端接收設(shè)備處理數(shù)據(jù)。本發(fā)明實(shí)施例中,將接收到的數(shù)據(jù)轉(zhuǎn)換為流控制傳輸協(xié)議數(shù)據(jù)塊后存入緩沖區(qū), 并將該流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài),判斷緩沖區(qū)內(nèi)是否存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊,如果存在,則將緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊一并發(fā)送,以減少網(wǎng)絡(luò)中流控制傳輸協(xié)議消息的數(shù)量,若否,則將該流控制傳輸協(xié)議數(shù)據(jù)塊直接發(fā)送,避免等待其他數(shù)據(jù),以降低傳輸時(shí)延,由此,根據(jù)網(wǎng)絡(luò)狀況, 動(dòng)態(tài)調(diào)整控制發(fā)送數(shù)據(jù)的方式,實(shí)現(xiàn)降低網(wǎng)絡(luò)時(shí)延的同時(shí)提高網(wǎng)絡(luò)負(fù)載量。為便于理解,下面以另一實(shí)施例詳細(xì)說(shuō)明本發(fā)明實(shí)施例中的處理數(shù)據(jù)的方法,請(qǐng)參閱圖2,本發(fā)明實(shí)施例中的處理數(shù)據(jù)的方法的另一實(shí)施例包括201、將接收到的數(shù)據(jù)轉(zhuǎn)換為流控制傳輸協(xié)議數(shù)據(jù)塊;接收到用戶發(fā)送的數(shù)據(jù)后,對(duì)接收到的數(shù)據(jù)進(jìn)行預(yù)處理,例如,根據(jù)數(shù)據(jù)大小判斷是否對(duì)其進(jìn)行分片,判斷其是否為空包,并將其轉(zhuǎn)換為SCTP數(shù)據(jù)塊,符合SCTP規(guī)則要求。202、將該流控制傳輸協(xié)議數(shù)據(jù)塊存入緩沖區(qū),并將該流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài);將預(yù)處理后的SCTP數(shù)據(jù)塊存入SendBuffer,并將該SCTP數(shù)據(jù)塊的狀態(tài)設(shè)置為 pending 狀態(tài)。203、判斷該緩沖區(qū)內(nèi)是否存在,處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊;判斷SendBuffer內(nèi)是否存在處于pending狀態(tài)的,除該SCTP數(shù)據(jù)塊之外的其他 SCTP數(shù)據(jù)塊,無(wú)論是否存在其他處于pending狀態(tài)的SCTP數(shù)據(jù)塊,均執(zhí)行步驟204。204、判斷當(dāng)前發(fā)送條件是否允許發(fā)送流控制傳輸協(xié)議消息;判斷當(dāng)前發(fā)送條件是否允許發(fā)送SCTP包,發(fā)送條件包括對(duì)端設(shè)備的擁塞窗口 (CWND, Congestion Window),及接收窗口(RWND,Receiver Window)的大小,判斷對(duì)端設(shè)備的CWND的大小,RffND的大小是否允許發(fā)送SCTP包。若當(dāng)前發(fā)送條件不允許發(fā)送SCTP包,則將SCTP包暫時(shí)存放于該SendBuffer內(nèi), 待條件允許發(fā)送時(shí),再進(jìn)行發(fā)送。若當(dāng)前發(fā)送條件允許發(fā)送SCTP包,那么,當(dāng)該SendBuffer內(nèi)不存在處于待發(fā)狀態(tài)的其他SCTP數(shù)據(jù)塊,則執(zhí)行步驟205,當(dāng)該kndBuffer內(nèi)存在處于待發(fā)狀態(tài)的其他SCTP數(shù)據(jù)塊,則執(zhí)行步驟207。205、將該流控制傳輸協(xié)議數(shù)據(jù)塊組裝為一個(gè)流控制傳輸協(xié)議包,并將該流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待確認(rèn)狀態(tài);若緩沖區(qū)內(nèi)不存在處于待發(fā)狀態(tài)的其他SCTP數(shù)據(jù)塊,且,當(dāng)前發(fā)送條件允許發(fā)送 SCTP包,則將該SCTP數(shù)據(jù)塊組裝為一個(gè)SCTP包,并將該SCTP數(shù)據(jù)塊的狀態(tài)設(shè)置為待確認(rèn) (WaitAck)狀態(tài)。為便于理解,請(qǐng)參閱圖3,SCTP數(shù)據(jù)塊結(jié)構(gòu)包括數(shù)據(jù)塊的類型、分包、長(zhǎng)度、傳輸序列號(hào)、流標(biāo)識(shí)、流內(nèi)標(biāo)識(shí)、承載數(shù)據(jù)協(xié)議標(biāo)識(shí)以及用戶數(shù)據(jù)。將SCTP數(shù)據(jù)塊組裝為SCTP包后,例如將SCTP數(shù)據(jù)塊A、SCTP數(shù)據(jù)塊B、SCTP數(shù)據(jù)塊C組裝為SCTP包,則該SCTP包的格式示意圖請(qǐng)參見(jiàn)圖4,其中,SCTP數(shù)據(jù)包頭中包含 SCTP數(shù)據(jù)塊控制信息。206、發(fā)送該流控制傳輸協(xié)議包以發(fā)送該流控制協(xié)議數(shù)據(jù)塊;發(fā)送該SCTP數(shù)據(jù)包以發(fā)送該流控制協(xié)議數(shù)據(jù)塊,將該流控制協(xié)議數(shù)據(jù)塊發(fā)送給網(wǎng)絡(luò)中的IP層。207、將緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊,組裝為一個(gè)流控制傳輸協(xié)議包,并將其狀態(tài)設(shè)置為待確認(rèn)狀態(tài);如果緩沖區(qū)內(nèi)存在處于待發(fā)狀態(tài)的其他SCTP數(shù)據(jù)塊,且,當(dāng)前發(fā)送條件允許發(fā)送 SCTP協(xié)議包,則將緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊,包括當(dāng)前SCTP數(shù)據(jù)塊和其他SCTP數(shù)據(jù)塊,組裝為一個(gè)SCTP包,并將其狀態(tài)設(shè)置為WaitAck狀態(tài)。208、獲取緩沖區(qū)內(nèi)的另一個(gè)處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊;在緩沖區(qū)內(nèi),獲取另一個(gè)處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊。209、判斷當(dāng)前發(fā)送條件,是否允許流控制傳輸協(xié)議消息中攜帶更多流控制傳輸協(xié)議數(shù)據(jù)塊;判斷當(dāng)前發(fā)送條件,是否允許SCTP消息中攜帶更多SCTP數(shù)據(jù)塊,該發(fā)送條件包括對(duì)端設(shè)備的CWND及RWND的大小。若是,則執(zhí)行步驟210,若否,則執(zhí)行步驟213。210、將該另一個(gè)處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊組裝至該流控制傳輸協(xié)議包中,并將其狀態(tài)設(shè)置為待確認(rèn)狀態(tài);若當(dāng)前發(fā)送條件,允許流控制傳輸協(xié)議包發(fā)送更多流控制傳輸協(xié)議數(shù)據(jù)塊,則將該另一個(gè)處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊組裝至該流控制傳輸協(xié)議包中,并將該另一個(gè)處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為WaitAck狀態(tài)。211、判斷緩沖區(qū)是否為空;判斷緩沖區(qū)是否為空,是否緩沖區(qū)中已經(jīng)沒(méi)有任何數(shù)據(jù)。若是,則執(zhí)行步驟206,若否,則執(zhí)行步驟212。
212、判斷流控制傳輸協(xié)議包的大小是否達(dá)到最大傳輸單元的大小;若緩沖區(qū)內(nèi)不為空,還存有數(shù)據(jù),則判斷SCTP包的大小是否達(dá)到最大傳輸單元 (MTU, Max Transfer Unit)的大小。在實(shí)際應(yīng)用過(guò)程中,用戶下發(fā)長(zhǎng)度為100字節(jié)的數(shù)據(jù)塊,可預(yù)設(shè)MTU的大小,例如將MTU的大小預(yù)設(shè)為1500字節(jié),這樣,在數(shù)據(jù)正常發(fā)送時(shí),每個(gè)SCTP數(shù)據(jù)包中都只有一個(gè) SCTP數(shù)據(jù)塊,當(dāng)用戶下發(fā)數(shù)據(jù)的速率高于網(wǎng)絡(luò)的傳輸速率時(shí),自動(dòng)調(diào)整,每個(gè)SCTP數(shù)據(jù)包中的SCTP數(shù)據(jù)塊數(shù)量不斷變化,其數(shù)量維持在1-15之間,而當(dāng)用戶下發(fā)數(shù)據(jù)的速率恢復(fù)正常時(shí),每個(gè)SCTP數(shù)據(jù)包中再次只有一個(gè)SCTP數(shù)據(jù)塊。若SCTP包的大小達(dá)到MTU的大小,則執(zhí)行步驟206,若SCTP包的大小未達(dá)到MTU 的大小,則執(zhí)行步驟208。本發(fā)明實(shí)施中,在SCTP協(xié)議下,弱化綁定式和非綁定式傳輸數(shù)據(jù)的差異性,而在數(shù)據(jù)發(fā)送過(guò)程中,綜合當(dāng)前的發(fā)送速率,接收窗口等情況,盡量以最小時(shí)延發(fā)送最多的數(shù)據(jù)消息,在保證低時(shí)延高負(fù)載的同時(shí),更好的自適應(yīng)網(wǎng)絡(luò)的傳輸能力。213、判斷流控制傳輸協(xié)議包是否為空。當(dāng)前發(fā)送條件不允許SCTP包發(fā)送更多SCTP數(shù)據(jù)塊,則判斷SCTP包是否為空,若否,則執(zhí)行步驟206。本發(fā)明實(shí)施例中,如果緩沖區(qū)內(nèi)不存在處于待發(fā)送狀態(tài)的其他SCTP數(shù)據(jù)塊,則直接將當(dāng)前處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊組裝為一個(gè)SCTP數(shù)據(jù)包,發(fā)送給網(wǎng)絡(luò)中的IP層, 如果緩沖區(qū)內(nèi)存在處于待發(fā)送狀態(tài)的其他SCTP數(shù)據(jù)塊,則將緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊,組裝為一個(gè)SCTP包,并將其狀態(tài)設(shè)置為WaitAck狀態(tài),而后,獲取緩沖區(qū)內(nèi)的另一個(gè)處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊,判斷當(dāng)前的網(wǎng)絡(luò)發(fā)送條件是否允許SCTP消息中攜帶更多SCTP數(shù)據(jù)塊,如果允許,則將另一個(gè)處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊也組裝至該 SCTP包中,以一次發(fā)送更多的pending狀態(tài)下的SCTP數(shù)據(jù)塊,若此時(shí)SCTP包未超出MTU大小的限制,則重復(fù)獲取另一個(gè)pending狀態(tài)下的SCTP數(shù)據(jù)塊步驟,以在同一個(gè)SCTP包中組裝更多的SCTP數(shù)據(jù)塊,直至SCTP包未達(dá)到MTU的大小,由此,在網(wǎng)絡(luò)條件允許的情況下,在同一個(gè)SCTP包中組裝更多的處于pending狀態(tài)SCTP數(shù)據(jù)塊,一次發(fā)送更多的處于pending 狀態(tài)SCTP數(shù)據(jù)塊,可減少網(wǎng)絡(luò)消息數(shù)量,而緩沖區(qū)內(nèi)不存在處于待發(fā)送狀態(tài)的其他SCTP數(shù)據(jù)塊,則直接將當(dāng)前處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊組裝為一個(gè)SCTP數(shù)據(jù)包發(fā)送,并不等待緩沖區(qū)接收其他SCTP數(shù)據(jù)塊后再一并發(fā)送,則可降低網(wǎng)絡(luò)時(shí)延,因而可根據(jù)網(wǎng)絡(luò)狀態(tài)及 SCTP數(shù)據(jù)塊的狀況,動(dòng)態(tài)調(diào)整發(fā)送方式,在降低網(wǎng)絡(luò)時(shí)延的同時(shí)提高網(wǎng)絡(luò)負(fù)載量。下面介紹本發(fā)明實(shí)施例的數(shù)據(jù)處理裝置,請(qǐng)參閱圖5,本發(fā)明實(shí)施例中的數(shù)據(jù)處理裝置的一個(gè)實(shí)施例包括轉(zhuǎn)換單元501,用于將接收到的數(shù)據(jù)轉(zhuǎn)換為SCTP數(shù)據(jù)塊(參見(jiàn)步驟101);存入單元502,用于將該SCTP數(shù)據(jù)塊存入緩沖區(qū)(參見(jiàn)步驟102);設(shè)置單元503,用于將該SCTP數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài)(參見(jiàn)步驟103);判斷單元504,用于判斷該緩沖區(qū)內(nèi)是否存在處于待發(fā)送狀態(tài)的其他SCTP數(shù)據(jù)塊 (參見(jiàn)步驟104);發(fā)送單元505,用于若該緩沖區(qū)內(nèi)存在處于待發(fā)送狀態(tài)的其他SCTP數(shù)據(jù)塊,則將該緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊一并發(fā)送,若該緩沖區(qū)內(nèi)不存在處于待發(fā)
9送狀態(tài)的其他SCTP數(shù)據(jù)塊,則發(fā)送該SCTP數(shù)據(jù)塊(參見(jiàn)步驟105)。本發(fā)明實(shí)施例中的各單元實(shí)現(xiàn)各自功能的具體過(guò)程,請(qǐng)參見(jiàn)前述圖1所示實(shí)施例中的相關(guān)描述內(nèi)容,此處不再贅述。本發(fā)明實(shí)施例中,轉(zhuǎn)換單元501將接收到的數(shù)據(jù)轉(zhuǎn)換為SCTP數(shù)據(jù)塊,存入單元502 將該SCTP數(shù)據(jù)塊存入緩沖區(qū),設(shè)置單元將該SCTP數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài),判斷單元504判斷該緩沖區(qū)內(nèi)是否存在處于待發(fā)送狀態(tài)的其他SCTP數(shù)據(jù)塊,若該緩沖區(qū)內(nèi)存在處于待發(fā)送狀態(tài)的其他SCTP數(shù)據(jù)塊,則發(fā)送單元505則將該緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊一并發(fā)送,以減少網(wǎng)絡(luò)中流控制傳輸協(xié)議消息的數(shù)量,若該緩沖區(qū)內(nèi)不存在處于待發(fā)送狀態(tài)的其他SCTP數(shù)據(jù)塊,發(fā)送單元505則發(fā)送該SCTP數(shù)據(jù)塊,避免等待其他數(shù)據(jù),以降低傳輸時(shí)延,由此,根據(jù)網(wǎng)絡(luò)狀況,動(dòng)態(tài)調(diào)整控制發(fā)送流控制傳輸協(xié)議數(shù)據(jù)的方式, 在降低網(wǎng)絡(luò)時(shí)延的同時(shí)提高網(wǎng)絡(luò)負(fù)載量。為便于理解,下面以另一實(shí)施例詳細(xì)描述本發(fā)明實(shí)施例的數(shù)據(jù)處理裝置,請(qǐng)參閱圖6,本發(fā)明實(shí)施例中的數(shù)據(jù)處理裝置的另一個(gè)實(shí)施例包括轉(zhuǎn)換單元601,用于將接收到的數(shù)據(jù)轉(zhuǎn)換為SCTP數(shù)據(jù)塊(參見(jiàn)步驟101、201);存入單元602,用于將該SCTP數(shù)據(jù)塊存入緩沖區(qū)(參見(jiàn)步驟102、202);設(shè)置單元603,用于將該SCTP數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài)(參見(jiàn)步驟102、 202);還用于將SCTP包中的SCTP數(shù)據(jù)塊的狀態(tài)設(shè)置為待確認(rèn)狀態(tài)(參見(jiàn)步驟205);判斷單元604,用于判斷該緩沖區(qū)內(nèi)是否存在處于待發(fā)送狀態(tài)的其他SCTP數(shù)據(jù)塊 (參見(jiàn)步驟103、203);還用于判斷當(dāng)前發(fā)送條件是否允許發(fā)送SCTP消息,該發(fā)送條件包括對(duì)端設(shè)備的擁塞窗口及接收窗口的大小(參見(jiàn)步驟204);需要說(shuō)明的是,本發(fā)明實(shí)例中的數(shù)據(jù)處理裝置還可以進(jìn)一步包括組裝單元605, 獲取單元606 ;其中,組裝單元605,用于若當(dāng)前發(fā)送條件允許發(fā)送SCTP消息,則將緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊,組裝為一個(gè)SCTP包(參見(jiàn)步驟207);還用于若當(dāng)前發(fā)送條件允許發(fā)送SCTP消息,則將該SCTP數(shù)據(jù)塊組裝為一個(gè)SCTP包(參見(jiàn)步驟205);獲取單元606,用于獲取該緩沖區(qū)內(nèi)的另一個(gè)處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊(參見(jiàn)步驟208)。進(jìn)一步的,判斷單元604,還用于判斷當(dāng)前發(fā)送條件是否允許SCTP消息中攜帶更多SCTP數(shù)據(jù)塊,該發(fā)送條件包括對(duì)端設(shè)備的擁塞窗口及接收窗口的大小(參見(jiàn)步驟209), 以及若當(dāng)前發(fā)送條件不允許SCTP消息中攜帶更多SCTP數(shù)據(jù)塊,則判斷該SCTP包是否為空 (參見(jiàn)步驟213);組裝單元605,還用于若當(dāng)前發(fā)送條件允許SCTP消息中攜帶更多SCTP數(shù)據(jù)塊,則將該另一個(gè)處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊組裝至該SCTP包中(參見(jiàn)步驟210);設(shè)置單元603,還用于將該另一個(gè)處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊的狀態(tài)設(shè)置為待確認(rèn)狀態(tài)(參見(jiàn)步驟210);判斷單元604,還用于判斷該緩沖區(qū)是否為空,若該緩沖區(qū)不為空,則還用于判斷該SCTP包的大小是否達(dá)到最大傳輸單元的大小(參見(jiàn)步驟211、212);獲取單元606,還用于若SCTP包的大小達(dá)到最大傳輸單元的大小,則獲取該緩沖區(qū)內(nèi)的另一個(gè)處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊(參見(jiàn)步驟212)。
需要說(shuō)明的是,本發(fā)明實(shí)例中的數(shù)據(jù)處理裝置還可以進(jìn)一步包括發(fā)送單元607 ;發(fā)送單元607,用于若該SCTP包不為空,則發(fā)送該SCTP包以發(fā)送該SCTP數(shù)據(jù)塊; 若該緩沖區(qū)為空,則發(fā)送該SCTP包以發(fā)送該SCTP數(shù)據(jù)塊;若SCTP包的大小未達(dá)到最大傳輸單元的大小,則發(fā)送該SCTP包以發(fā)送所述SCTP數(shù)據(jù)塊(參見(jiàn)步驟212)。本發(fā)明實(shí)施例中的各單元實(shí)現(xiàn)各自功能的具體過(guò)程,請(qǐng)參見(jiàn)前述圖1、圖4所示實(shí)施例中的相關(guān)描述內(nèi)容,此處不再贅述。本發(fā)明實(shí)施例中,轉(zhuǎn)換單元601將接收到的數(shù)據(jù)轉(zhuǎn)換為SCTP數(shù)據(jù)塊,存入單元602 將該SCTP數(shù)據(jù)塊存入緩沖區(qū),設(shè)置單元603將該SCTP數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài),判斷單元604判斷該緩沖區(qū)內(nèi)是否存在處于待發(fā)送狀態(tài)的其他SCTP數(shù)據(jù)塊,若不存在,則組裝單元605將該SCTP數(shù)據(jù)塊組裝為一個(gè)SCTP包,并由設(shè)置單元603將該SCTP數(shù)據(jù)塊的狀態(tài)設(shè)置為待確認(rèn)(WaitAck)狀態(tài),發(fā)送單元607發(fā)送該SCTP包以發(fā)送該SCTP數(shù)據(jù)塊。進(jìn)一步的,判斷單元604還用于判斷當(dāng)前發(fā)送條件是否允許發(fā)送SCTP消息,若該當(dāng)前發(fā)送條件允許發(fā)送SCTP消息,且,緩沖區(qū)內(nèi)不存在處于待發(fā)送狀態(tài)的其他SCTP數(shù)據(jù)塊,則組裝單元605將該SCTP數(shù)據(jù)塊組裝為一個(gè)SCTP包,并由設(shè)置單元603將該SCTP數(shù)據(jù)塊的狀態(tài)設(shè)置為待確認(rèn)狀態(tài)。若該當(dāng)前發(fā)送條件允許發(fā)送SCTP消息,且,該緩沖區(qū)內(nèi)存在處于待發(fā)送狀態(tài)的其他SCTP數(shù)據(jù)塊,則組裝單元405將緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊,組裝為一個(gè)SCTP包,獲取單元606獲取該緩沖區(qū)內(nèi)的另一個(gè)處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊,判斷單元604判斷當(dāng)前發(fā)送條件是否允許SCTP消息中攜帶更多流控制傳輸協(xié)議數(shù)據(jù)塊,若是,則組裝單元605將該另一個(gè)處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊組裝至該SCTP中,并由設(shè)置單元 603將其狀態(tài)設(shè)置為待確認(rèn)狀態(tài),而后,判斷單元404判斷緩沖區(qū)是否為空,若為空,則發(fā)送單元607發(fā)送該SCTP包以發(fā)送該SCTP數(shù)據(jù)塊,若不為空,則判斷單元604判斷SCTP包的大小是否達(dá)到最大傳輸單元的大小,若達(dá)到,則發(fā)送單元607發(fā)送該SCTP包以發(fā)送該SCTP 數(shù)據(jù)塊,若未達(dá)到,則重復(fù)執(zhí)行由獲取單元606獲取緩沖區(qū)內(nèi)的另一個(gè)處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊。本發(fā)明實(shí)施例中,如果緩沖區(qū)內(nèi)不存在處于待發(fā)送狀態(tài)的其他SCTP數(shù)據(jù)塊,則直接將當(dāng)前處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊組裝為一個(gè)SCTP數(shù)據(jù)包發(fā)送,如果緩沖區(qū)內(nèi)存在處于待發(fā)送狀態(tài)的其他SCTP數(shù)據(jù)塊,則將緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊,組裝為一個(gè)SCTP包,并將其狀態(tài)設(shè)置為WaitAck狀態(tài),而后,獲取緩沖區(qū)內(nèi)的另一個(gè)處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊,判斷當(dāng)前的網(wǎng)絡(luò)發(fā)送條件是否允許SCTP消息中攜帶更多SCTP數(shù)據(jù)塊,如果允許,則將另一個(gè)處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊也組裝至該SCTP包中,以一次發(fā)送更多的pending狀態(tài)下的SCTP數(shù)據(jù)塊,若此時(shí)SCTP包未超出MTU大小的限制,則重復(fù)獲取另一個(gè)pending狀態(tài)下的SCTP數(shù)據(jù)塊步驟,以在同一個(gè)SCTP包中組裝更多的SCTP數(shù)據(jù)塊,直至SCTP包未達(dá)到MTU的大小,由此,在網(wǎng)絡(luò)條件允許的情況下,在同一個(gè)SCTP包中組裝更多的處于pending狀態(tài)SCTP數(shù)據(jù)塊,一次發(fā)送更多的處于pending狀態(tài)SCTP數(shù)據(jù)塊, 可減少網(wǎng)絡(luò)消息數(shù)量,而緩沖區(qū)內(nèi)不存在處于待發(fā)送狀態(tài)的其他SCTP數(shù)據(jù)塊,則直接將當(dāng)前處于待發(fā)送狀態(tài)的SCTP數(shù)據(jù)塊組裝為一個(gè)SCTP數(shù)據(jù)包發(fā)送,并不等待緩沖區(qū)接收其他 SCTP數(shù)據(jù)塊后再一并發(fā)送,則可降低網(wǎng)絡(luò)時(shí)延,因而可根據(jù)網(wǎng)絡(luò)狀態(tài)及SCTP數(shù)據(jù)塊的狀況,動(dòng)態(tài)調(diào)整發(fā)送方式,在降低網(wǎng)絡(luò)時(shí)延的同時(shí)提高網(wǎng)絡(luò)負(fù)載量。
本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)處理系統(tǒng),請(qǐng)參閱圖7,本發(fā)明實(shí)施例中的數(shù)據(jù)處理系統(tǒng)包括發(fā)送端設(shè)備701,網(wǎng)關(guān)設(shè)備702,接收端設(shè)備703 ;其中,發(fā)送端設(shè)備701用于向網(wǎng)關(guān)設(shè)備702發(fā)送數(shù)據(jù);網(wǎng)關(guān)設(shè)備702,用于將接收到的數(shù)據(jù)轉(zhuǎn)換為流控制傳輸協(xié)議數(shù)據(jù)塊,將該流控制傳輸協(xié)議數(shù)據(jù)塊存入緩沖區(qū),并將該流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài),并判斷該緩沖區(qū)內(nèi)是否存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊,若是,將該緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊一并向接收端設(shè)備703發(fā)送,若否,向接收端設(shè)備703發(fā)送該流控制傳輸協(xié)議數(shù)據(jù)塊;接收端設(shè)備703,用于接收網(wǎng)關(guān)設(shè)備702發(fā)送的流控制傳輸協(xié)議數(shù)據(jù)塊。進(jìn)一步的,網(wǎng)關(guān)設(shè)備702還用于判斷當(dāng)前發(fā)送條件是否允許發(fā)送流控制傳輸協(xié)議消息,若當(dāng)前發(fā)送條件允許發(fā)送流控制傳輸協(xié)議消息,則將緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊,組裝為一個(gè)流控制傳輸協(xié)議包;將該流控制傳輸協(xié)議包中的流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待確認(rèn)狀態(tài)。本發(fā)明實(shí)施例中的數(shù)據(jù)處理系統(tǒng)的功能實(shí)現(xiàn)過(guò)程,請(qǐng)參閱前述圖1、圖2所示實(shí)施例中的具體描述內(nèi)容,此處不再贅述。本領(lǐng)域技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。以上對(duì)本發(fā)明所提供的一種數(shù)據(jù)處理方法、裝置及系統(tǒng)進(jìn)行了詳細(xì)介紹,對(duì)于本領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明實(shí)施例的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種數(shù)據(jù)處理方法,其特征在于,包括 將接收到的數(shù)據(jù)轉(zhuǎn)換為流控制傳輸協(xié)議數(shù)據(jù)塊;將所述流控制傳輸協(xié)議數(shù)據(jù)塊存入緩沖區(qū),并將所述流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài);判斷所述緩沖區(qū)內(nèi)是否存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊,若是,則將所述緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊一并發(fā)送,若否,則發(fā)送所述流控制傳輸協(xié)議數(shù)據(jù)塊。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述若緩沖區(qū)內(nèi)存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊之后包括判斷當(dāng)前發(fā)送條件是否允許發(fā)送流控制傳輸協(xié)議消息,所述發(fā)送條件包括對(duì)端設(shè)備的擁塞窗口及接收窗口的大小;若當(dāng)前發(fā)送條件允許發(fā)送流控制傳輸協(xié)議消息,則將緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊,組裝為一個(gè)流控制傳輸協(xié)議包;將所述流控制傳輸協(xié)議包中的流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待確認(rèn)狀態(tài)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待確認(rèn)狀態(tài)之后包括獲取所述緩沖區(qū)內(nèi)的另一個(gè)處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊; 判斷當(dāng)前發(fā)送條件是否允許流控制傳輸協(xié)議消息中攜帶更多流控制傳輸協(xié)議數(shù)據(jù)塊, 所述發(fā)送條件包括對(duì)端設(shè)備的擁塞窗口及接收窗口的大?。蝗羰牵瑒t將所述另一個(gè)處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊組裝至所述流控制傳輸協(xié)議包中,并將所述另一個(gè)處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待確認(rèn)狀態(tài);若否,則判斷所述流控制傳輸協(xié)議包是否為空,若不為空,則發(fā)送所述流控制傳輸協(xié)議包以發(fā)送所述流控制傳輸協(xié)議數(shù)據(jù)塊。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述將另一個(gè)處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待確認(rèn)狀態(tài)之后包括判斷所述緩沖區(qū)是否為空;若是,則發(fā)送所述流控制傳輸協(xié)議包以發(fā)送所述流控制傳輸協(xié)議數(shù)據(jù)塊; 若否,則判斷所述流控制傳輸協(xié)議包的大小是否達(dá)到最大傳輸單元的大小,若達(dá)到,則獲取所述緩沖區(qū)內(nèi)的另一個(gè)處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊,若未達(dá)到,則發(fā)送所述流控制傳輸協(xié)議包以發(fā)送所述流控制傳輸協(xié)議數(shù)據(jù)塊。
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的方法,其特征在于,所述若緩沖區(qū)內(nèi)不存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊之后包括判斷當(dāng)前發(fā)送條件是否允許發(fā)送流控制傳輸協(xié)議消息,所述發(fā)送條件包括對(duì)端設(shè)備的擁塞窗口及接收窗口的大?。蝗羰?,則將所述流控制傳輸協(xié)議數(shù)據(jù)塊組裝為一個(gè)流控制傳輸協(xié)議包,并將所述流控制傳輸協(xié)議包中的流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待確認(rèn)狀態(tài); 發(fā)送所述流控制傳輸協(xié)議包以發(fā)送所述流控制傳輸協(xié)議數(shù)據(jù)。
6.一種數(shù)據(jù)處理裝置,其特征在于,包括轉(zhuǎn)換單元,用于將接收到的數(shù)據(jù)轉(zhuǎn)換為流控制傳輸協(xié)議數(shù)據(jù)塊; 存入單元,用于將所述流控制傳輸協(xié)議數(shù)據(jù)塊存入緩沖區(qū); 設(shè)置單元,用于將所述流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài); 判斷單元,用于判斷所述緩沖區(qū)內(nèi)是否存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊;發(fā)送單元,用于若所述緩沖區(qū)內(nèi)存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊, 則將所述緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊一并發(fā)送,若所述緩沖區(qū)內(nèi)不存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊,則發(fā)送所述流控制傳輸協(xié)議數(shù)據(jù)塊。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述判斷單元,還用于判斷當(dāng)前發(fā)送條件是否允許發(fā)送流控制傳輸協(xié)議消息,所述發(fā)送條件包括對(duì)端設(shè)備的擁塞窗口及接收窗口的大小; 所述裝置還包括組裝單元,用于若當(dāng)前發(fā)送條件允許發(fā)送流控制傳輸協(xié)議消息,則將緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊,組裝為一個(gè)流控制傳輸協(xié)議包;所述設(shè)置單元,還用于將所述流控制傳輸協(xié)議包中的流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待確認(rèn)狀態(tài)。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于, 所述裝置還包括獲取單元,用于獲取所述緩沖區(qū)內(nèi)的另一個(gè)處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊;所述判斷單元,還用于判斷當(dāng)前發(fā)送條件是否允許流控制傳輸協(xié)議消息中攜帶更多流控制傳輸協(xié)議數(shù)據(jù)塊,所述發(fā)送條件包括對(duì)端設(shè)備的擁塞窗口及接收窗口的大??;以及若當(dāng)前發(fā)送條件不允許流控制傳輸協(xié)議消息中攜帶更多流控制傳輸協(xié)議數(shù)據(jù)塊,則判斷所述流控制傳輸協(xié)議包是否為空;所述組裝單元,還用于若當(dāng)前發(fā)送條件允許流控制傳輸協(xié)議消息中攜帶更多流控制傳輸協(xié)議數(shù)據(jù)塊,則將所述另一個(gè)處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊組裝至所述流控制傳輸協(xié)議包中;所述設(shè)置單元,還用于將所述另一個(gè)處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待確認(rèn)狀態(tài);所述發(fā)送單元,用于若所述流控制傳輸協(xié)議包不為空,則發(fā)送所述流控制傳輸協(xié)議包以發(fā)送所述流控制傳輸協(xié)議數(shù)據(jù)塊。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述判斷單元,還用于判斷所述緩沖區(qū)是否為空;若所述緩沖區(qū)不為空,則還用于判斷所述流控制傳輸協(xié)議包的大小是否達(dá)到最大傳輸單元的大??;所述發(fā)送單元,還用于若所述緩沖區(qū)為空,則發(fā)送所述流控制傳輸協(xié)議包以發(fā)送所述流控制傳輸協(xié)議數(shù)據(jù)塊;還用于若所述流控制傳輸協(xié)議包的大小未達(dá)到最大傳輸單元的大小,則發(fā)送所述流控制傳輸協(xié)議包以發(fā)送所述流控制傳輸協(xié)議數(shù)據(jù)塊;所述獲取單元,用于若所述流控制傳輸協(xié)議包的大小達(dá)到最大傳輸單元的大小,則獲取所述緩沖區(qū)內(nèi)的另一個(gè)處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述組裝單元,還用于判斷單元判斷當(dāng)前發(fā)送條件允許發(fā)送流控制傳輸協(xié)議消息,則將所述流控制傳輸協(xié)議數(shù)據(jù)塊組裝為一個(gè)流控制傳輸協(xié)議包。
11.一種數(shù)據(jù)處理系統(tǒng),其特征在于,包括發(fā)送端設(shè)備,網(wǎng)關(guān)設(shè)備以及接收端設(shè)備,其中所述發(fā)送端設(shè)備用于向所述網(wǎng)關(guān)設(shè)備發(fā)送數(shù)據(jù);所述網(wǎng)關(guān)設(shè)備用于將接收到的數(shù)據(jù)轉(zhuǎn)換為流控制傳輸協(xié)議數(shù)據(jù)塊;將所述流控制傳輸協(xié)議數(shù)據(jù)塊存入緩沖區(qū),并將所述流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài);判斷所述緩沖區(qū)內(nèi)是否存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊,若是,將所述緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊一并向所述接收端設(shè)備發(fā)送,若否,向所述接收端設(shè)備發(fā)送所述流控制傳輸協(xié)議數(shù)據(jù)塊;所述接收端設(shè)備用于接收所述網(wǎng)關(guān)設(shè)備發(fā)送的所述流控制傳輸協(xié)議數(shù)據(jù)塊。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述網(wǎng)關(guān)設(shè)備還用于判斷當(dāng)前發(fā)送條件是否允許發(fā)送流控制傳輸協(xié)議消息,所述發(fā)送條件包括對(duì)端設(shè)備的擁塞窗口及接收窗口的大??;若當(dāng)前發(fā)送條件允許發(fā)送流控制傳輸協(xié)議消息,則將緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊,組裝為一個(gè)流控制傳輸協(xié)議包;將所述流控制傳輸協(xié)議包中的流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待確認(rèn)狀態(tài)。
全文摘要
本發(fā)明實(shí)施例公開(kāi)了一種數(shù)據(jù)處理方法、裝置及系統(tǒng),用于根據(jù)網(wǎng)絡(luò)狀態(tài),動(dòng)態(tài)調(diào)整控制數(shù)據(jù)方法,在降低網(wǎng)絡(luò)時(shí)延的同時(shí)提高網(wǎng)絡(luò)帶寬的利用率。本發(fā)明實(shí)施例方法包括將接收到的數(shù)據(jù)轉(zhuǎn)換為流控制傳輸協(xié)議數(shù)據(jù)塊,并存入緩沖區(qū),將該流控制傳輸協(xié)議數(shù)據(jù)塊的狀態(tài)設(shè)置為待發(fā)送狀態(tài),判斷該緩沖區(qū)內(nèi)是否存在處于待發(fā)送狀態(tài)的其他流控制傳輸協(xié)議數(shù)據(jù)塊,若是,則將該緩沖區(qū)內(nèi)所有處于待發(fā)送狀態(tài)的流控制傳輸協(xié)議數(shù)據(jù)塊一并發(fā)送,若否,則發(fā)送該流控制傳輸協(xié)議數(shù)據(jù)塊。
文檔編號(hào)H04L29/06GK102546626SQ20111045977
公開(kāi)日2012年7月4日 申請(qǐng)日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者周義梁 申請(qǐng)人:華為技術(shù)有限公司