亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種數(shù)據(jù)發(fā)送方法和裝置的制作方法

文檔序號:7765066閱讀:299來源:國知局
專利名稱:一種數(shù)據(jù)發(fā)送方法和裝置的制作方法
技術領域
本發(fā)明涉及通信技術領域,特別是涉及一種數(shù)據(jù)發(fā)送方法和裝置。
背景技術
當現(xiàn)有的3G/LTE無線通信系統(tǒng)進行TCP/IP數(shù)據(jù)傳輸時,一般先采用IETF標準化的頭部壓縮協(xié)議對數(shù)據(jù)包頭進行壓縮,然后依次發(fā)送壓縮了包頭的數(shù)據(jù)包。從而減少了傳輸?shù)臄?shù)據(jù)量,達到了提高信道的傳輸效率的效果。例如,采用RFC2507或者RFC3095協(xié)議對數(shù)據(jù)包頭進行壓縮。其中,數(shù)據(jù)包頭的壓縮方法為當發(fā)送N個連續(xù)的擁有相同的數(shù)據(jù)包頭的數(shù)據(jù)包時,對第一數(shù)據(jù)包的包頭不進行壓縮,而對后續(xù)的N-I個數(shù)據(jù)包的包頭進行壓縮,并分別在壓縮的數(shù)據(jù)包頭中指示出壓縮的類型、關聯(lián)的未壓縮包頭的編號以及與前一個數(shù)據(jù)包頭的區(qū)別。從而可以消除冗余,進一步提高了信道的傳輸效率。例如,請參閱圖1,其為現(xiàn)有技術中一種IP數(shù)據(jù)包的發(fā)送方法示意圖。如圖1所示,對第一個IP數(shù)據(jù)包的包頭不進行壓縮, 而對后續(xù)的IP數(shù)據(jù)包的包頭進行壓縮,壓縮的包頭中還指示了壓縮的類型、關聯(lián)的未壓縮包頭的編號和與前一個IP數(shù)據(jù)包的差分值。通常,具有相同或者相似包頭且連續(xù)的幾個數(shù)據(jù)包可以被定義為一個數(shù)據(jù)包流。因此,在一個數(shù)據(jù)包流中,對該數(shù)據(jù)包流中的第一個數(shù)據(jù)包的包頭不進行壓縮,對后面的數(shù)據(jù)包的包頭進行壓縮,之后,在發(fā)送端逐一發(fā)送該數(shù)據(jù)包流中的各個數(shù)據(jù)包。但是,發(fā)明人在研究中發(fā)現(xiàn)實際上,在進行數(shù)據(jù)發(fā)送時,具有相同或者相似包頭的數(shù)據(jù)包往往是不連續(xù)的。例如,請參閱圖2,其為現(xiàn)有技術中一種待發(fā)送數(shù)據(jù)的結構示意圖。如圖2所示,為了便于描述,僅以7個數(shù)據(jù)包為例。在這7個數(shù)據(jù)包中,數(shù)據(jù)包1和數(shù)據(jù)包5具有相同的或者相似的包頭,數(shù)據(jù)包2與數(shù)據(jù)包6具有相同或者相似的包頭,數(shù)據(jù)包 3與數(shù)據(jù)包7具有相同或者相似的包頭,而數(shù)據(jù)包4具有與前述數(shù)據(jù)包都不相同的一個包頭。在這種情況下,不適于實現(xiàn)數(shù)據(jù)包頭的壓縮,發(fā)送端會頻繁發(fā)送未經(jīng)過包頭壓縮的數(shù)據(jù)包,從而導致信道的傳輸效率的降低。特別是隨著hternet網(wǎng)絡的普及,TCP/IP應用也越來越多。當有眾多網(wǎng)絡應用運行時,會產生大量的數(shù)據(jù)包類型,圖2中的情況也會出現(xiàn)的越來越頻繁,進而會嚴重地影響信道的傳輸效率。

發(fā)明內容
為了解決上述技術問題,本發(fā)明實施例提供了一種數(shù)據(jù)發(fā)送方法和裝置,以提高信道的傳輸效率。本發(fā)明實施例公開了如下技術方案—種數(shù)據(jù)發(fā)送方法,包括依次從待發(fā)送的數(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ù)發(fā)送的裝置,包括提取單元,用于依次從待發(fā)送的數(shù)據(jù)包隊列中提取數(shù)據(jù)包識別單元,用于識別當前提取的數(shù)據(jù)包是否與緩存隊列中的數(shù)據(jù)包具有相同或者相似的包頭,其中,在所述緩存隊列中保存有在當前提取的數(shù)據(jù)包之前提取的所有數(shù)據(jù)包;存儲單元,用于當所述識別單元的結果為是時,將所述當前提取的數(shù)據(jù)包緩存在所述緩存隊列中最后一個符合條件的數(shù)據(jù)包后,否則,將所述當前提取的數(shù)據(jù)包存儲在所述緩存隊列中最后一個數(shù)據(jù)包后;發(fā)送單元,用于發(fā)送所述緩存隊列中的數(shù)據(jù)包。由上述實施例可以看出,在發(fā)送數(shù)據(jù)包之前,將待發(fā)送數(shù)據(jù)包隊列中的數(shù)據(jù)包重新進行排序,使具有相同或者相似包頭的數(shù)據(jù)包排在一起并緩存在緩存隊列中,最后,發(fā)送緩存隊列中的數(shù)據(jù)包。由于具有相同或者相似包頭的數(shù)據(jù)包排在一起,因此,在緩存隊列中構成了一個個的符合包頭壓縮條件的數(shù)據(jù)包流。避免了發(fā)送端頻繁發(fā)送未經(jīng)過包頭壓縮的數(shù)據(jù)包,從而提高了信道的傳輸效率。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為現(xiàn)有技術中一種IP數(shù)據(jù)包的發(fā)送方法示意圖;圖2為現(xiàn)有技術中一種待發(fā)送數(shù)據(jù)的結構示意圖;圖3為本申請一種數(shù)據(jù)發(fā)送方法的一個實施例的流程圖;圖4為圖2中的待發(fā)送數(shù)據(jù)經(jīng)過重新排序后的數(shù)據(jù)結構示意圖;圖5為本申請一種數(shù)據(jù)發(fā)送的方法的另一個實施例的流程圖;圖6為RFC2507協(xié)議下TCP數(shù)據(jù)包的包頭結構圖;圖7為本申請一種數(shù)據(jù)發(fā)送裝置的一個實施例的結構圖;圖8為本申請的數(shù)據(jù)發(fā)送的裝置的一個應用場景示意圖。
具體實施例方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖對本發(fā)明實施例進行詳細描述。實施例一請參閱圖3,其為本申請一種數(shù)據(jù)發(fā)送方法的一個實施例的流程圖。包括以下步驟步驟301 依次從待發(fā)送的數(shù)據(jù)包隊列中提取數(shù)據(jù)包;例如,為了方面描述,以圖2所示的7個待發(fā)送數(shù)據(jù)包為例進行說明。在待發(fā)送的
數(shù)據(jù)包隊列中,待發(fā)送的數(shù)據(jù)包的順序為數(shù)據(jù)包1,數(shù)據(jù)包2、數(shù)據(jù)包3......數(shù)據(jù)包7。其
中,數(shù)據(jù)包1和數(shù)據(jù)包5具有相同的或者相似的包頭,數(shù)據(jù)包2與數(shù)據(jù)包6具有相同或者相似的包頭,數(shù)據(jù)包3與數(shù)據(jù)包7具有相同或者相似的包頭,而數(shù)據(jù)包4具有與前述數(shù)據(jù)包都不相同的一個包頭。步驟302 識別當前提取的數(shù)據(jù)包是否與緩存隊列中的數(shù)據(jù)包具有相同或者相似的包頭,如果是,進入步驟303,否則,進入步驟304,其中,在所述緩存隊列中保存有在當前提取的數(shù)據(jù)包之前提取的所有數(shù)據(jù)包;其中,所述識別當前提取的數(shù)據(jù)包是否與緩存隊列中的數(shù)據(jù)包具有相同或者相似的包頭包括從所述當前提取的數(shù)據(jù)包的包頭中和所述緩存隊列的數(shù)據(jù)包的包頭中分別提取關鍵字段;判斷從當前提取的數(shù)據(jù)包中獲得的關鍵字段是否與從緩存隊列的數(shù)據(jù)包中獲得的關鍵字段相同,如果是,所述當前提取的數(shù)據(jù)包與所述緩存隊列中的數(shù)據(jù)包具有相同或者相似的包頭,否則,所述當前提取的數(shù)據(jù)包與所述緩存隊列中的數(shù)據(jù)包不具有相同或者相似的包頭。例如,對于IPv6類型的數(shù)據(jù)包,在RFC2507的頭部壓縮協(xié)議下,其關鍵字段包括 IPv6 數(shù)據(jù)包的包頭中的 Version 字段、Traffic Class 字段、Flow Lable 字段、Next Header 字段、Hop Limit 字段、Source Address 字段和 Destination Address 字段。在 RFC3095 的頭部壓縮協(xié)議下,其關鍵字段包括IPv6數(shù)據(jù)包的包頭中的Version字段、Flow Lable字段、 Next Header 字段、Source Address 字段禾口 Destination Address 字段。對于IPv4類型的數(shù)據(jù)包,在RFC2507的頭部壓縮協(xié)議下,其關鍵字段包括IPv4 數(shù)據(jù)包的包頭中的Version字段、IHL字段、Type of Service字段、Flags字段、Fragment Offset 字段、Time to Live 字段、Protocol 字段、Source Address 字段禾口 Destination Address字段。在RFC3095的頭部壓縮協(xié)議下,其關鍵字段包括IPv4數(shù)據(jù)包的包頭中的 Version 字段、Don’ t Fragment flag 字段、Protocol 字段、Source Address 字段禾口 Destination Address 字段。對于UDP類型的數(shù)據(jù)包,在RFC2507的頭部壓縮協(xié)議下,其關鍵字段包括UDP數(shù)據(jù)包的包頭中的Source Port字段和Destination Port字段。在RFC3095的頭部壓縮協(xié)議下,其關鍵字段包括UDP數(shù)據(jù)包的包頭中的Source Port字段和Destination Port字段。對于RTP類型的數(shù)據(jù)包,在RFC3095的頭部壓縮協(xié)議下,其關鍵字段包括RTP數(shù)據(jù)包的包頭中的lidding字段、Extension字段和SSRC字段。對于TCP類型的數(shù)據(jù)包,在RFC2507的頭部壓縮協(xié)議下,其關鍵字段包括TCP數(shù)據(jù)包的包頭中的Source Port字段、Destination Port字段禾口 Offset字段。需要說明的是,本申請實施例并不限定關鍵字段的具體形式,除上述規(guī)定的關鍵字段可以用于包頭的相同性或者相似性的識別之外,還可以利用其它關鍵字段對包頭的相同性或者相似性進行識別。步驟303 將所述當前提取的數(shù)據(jù)包存儲在所述緩存隊列中最后一個符合條件的數(shù)據(jù)包后,進入步驟305;步驟304 將所述當前提取的數(shù)據(jù)包存儲在所述緩存隊列中最后一個數(shù)據(jù)包后, 進入步驟305 ;例如,在初始情況下,由于緩存隊列為空,因此,當從待發(fā)送的數(shù)據(jù)包隊列中提取數(shù)據(jù)包1后,通過步驟302的識別發(fā)現(xiàn),在緩存隊列中沒有與數(shù)據(jù)包1具有相同或者相似的包頭的數(shù)據(jù)包,即將數(shù)據(jù)包1存儲在緩存隊列的第一位。同樣,當接下來提取數(shù)據(jù)包2、數(shù)據(jù)包3和數(shù)據(jù)包4后,通過步驟302的識別發(fā)現(xiàn),在緩存隊列中均沒有與數(shù)據(jù)包2、數(shù)據(jù)包3和
6數(shù)據(jù)包4具有相同或者相似的包頭的數(shù)據(jù)包,依次將數(shù)據(jù)包2存儲在數(shù)據(jù)包1后,將數(shù)據(jù)包 3存儲在數(shù)據(jù)包2后,將數(shù)據(jù)包4存儲在數(shù)據(jù)包3后。當提取到數(shù)據(jù)包5后,通過步驟302 的識別發(fā)現(xiàn),數(shù)據(jù)包5與緩存隊列中的數(shù)據(jù)包1具有相同或者相似的包頭,由于數(shù)據(jù)包1是唯一的一個與數(shù)據(jù)包5具有相同或者相似包頭的數(shù)據(jù)包,因此,將數(shù)據(jù)包5存儲在數(shù)據(jù)包1 后。同樣,當接下來提取到數(shù)據(jù)包6和數(shù)據(jù)包7后,通過步驟302的識別發(fā)現(xiàn),數(shù)據(jù)包6與緩存隊列中的數(shù)據(jù)包2具有相同或者相似的包頭,數(shù)據(jù)包7與緩存隊列中的數(shù)據(jù)包3具有相同或者相似的包頭,因此,將數(shù)據(jù)包6存儲在數(shù)據(jù)包2后,將數(shù)據(jù)包7存儲在數(shù)據(jù)包3后。經(jīng)過上述重排序后,得到了一個新的緩存隊列。請參閱圖4,其為圖2中的待發(fā)送數(shù)據(jù)經(jīng)過重新排序后的數(shù)據(jù)結構示意圖。如圖4所示,經(jīng)過重新排序后,具有相同或者相似包頭的數(shù)據(jù)包1和數(shù)據(jù)包5排列在一起,具有相同或者相似包頭的數(shù)據(jù)包2和數(shù)據(jù)包6排列在一起,具有相同或者相似包頭的數(shù)據(jù)包3和數(shù)據(jù)包7排列在一起,數(shù)據(jù)包4排在緩存隊列的最后。步驟305 發(fā)送所述緩存隊列中的數(shù)據(jù)包。例如,如圖4所示,當待發(fā)送的數(shù)據(jù)包隊列經(jīng)過重新排序后,發(fā)送該緩存隊列中的數(shù)據(jù)包。其中,數(shù)據(jù)包1和數(shù)據(jù)包5具有相同或者相似的包頭,因此,對數(shù)據(jù)包1的包頭不進行壓縮,而對后續(xù)的數(shù)據(jù)包5的包頭進行壓縮,并在壓縮的數(shù)據(jù)包5的包頭中指示出壓縮的類型、關聯(lián)的未壓縮包頭的編號和與數(shù)據(jù)包1的差分值。同理,數(shù)據(jù)包2和數(shù)據(jù)包6采用相似的方式進行發(fā)送,數(shù)據(jù)包3和數(shù)據(jù)包7采用相似的方式進行發(fā)送。需要特別說明的是,由于數(shù)據(jù)包5和數(shù)據(jù)包2的關鍵字段不同,即,數(shù)據(jù)包5與數(shù)據(jù)包2具有不同或者不相似的包頭,因此,當數(shù)據(jù)包5采用包頭壓縮的方式發(fā)送后,數(shù)據(jù)包 2采用全包頭的方式發(fā)送。另外,在本實施例中,可以逐一地發(fā)送緩存隊列中的數(shù)據(jù)包,也可以設定一個定時器,在定時器超時時,批量發(fā)送緩存隊列中的數(shù)據(jù)包。需要說明是,本申請實施例對緩存隊列中數(shù)據(jù)包的發(fā)送形式并不進行限定。由上述實施例可以看出,在發(fā)送數(shù)據(jù)包之前,將待發(fā)送數(shù)據(jù)包隊列中的數(shù)據(jù)包重新進行排序,使具有相同或者相似包頭的數(shù)據(jù)包排在一起并緩存在緩存隊列中,最后,發(fā)送緩存隊列中的數(shù)據(jù)包。由于具有相同或者相似包頭的數(shù)據(jù)包排在一起,因此,在緩存隊列中構成了一個個的符合包頭壓縮條件的數(shù)據(jù)包流。避免了發(fā)送端頻繁發(fā)送未經(jīng)過包頭壓縮的數(shù)據(jù)包,從而提高了信道的傳輸效率。實施例二下面以TCP數(shù)據(jù)包的發(fā)送為例,詳細說明對數(shù)據(jù)發(fā)送過程。請參閱圖5,其為本申請一種數(shù)據(jù)發(fā)送的方法的另一個實施例的流程圖。該方法包括以下步驟步驟501 從待發(fā)送的TCP數(shù)據(jù)包隊列中提取一個TCP數(shù)據(jù)包;步驟502 從當前提取出的TCP數(shù)據(jù)包和緩存隊列中的TCP數(shù)據(jù)包中提取出位于包頭內的關鍵字段;例如,請參閱圖6,其為RFC2507協(xié)議下TCP數(shù)據(jù)包的包頭結構圖。如圖6所示,在 TCP Source PortDestination Port _g、Sequence Number 字段、Acknowledgement Number 字段、Offset 字段、Reserved 字段、Urg 字段、Psh 字段、Ack 字段、Rst字段、Syn字段、Fin字段、Window字段、Checksum字段、Urgent Pointer字段和Options字段和Padding字段。其中,本步驟中所提取的關鍵字段包括Source Port字段、 Destination Port 字段禾口 Offset 字段。步驟503 判斷當前提取出的TCP數(shù)據(jù)包中獲得關鍵字段是否與從緩存隊列的數(shù)據(jù)包中獲得的關鍵字段相同,如果是,進入步驟504,否則,進入步驟505 ;步驟504 將當前提取的數(shù)據(jù)包存儲在所述緩存隊列中最后一個符合條件的數(shù)據(jù)包后,進入步驟506 ;由于在前面的實施例一中已經(jīng)對該部分內容進行了詳細地描述,故此處不再贅述。步驟505 將當前提取的數(shù)據(jù)包存儲在所述緩存隊列中最后一個數(shù)據(jù)包后,進入步驟506 ;由于在前面的實施例一中已經(jīng)對該部分內容進行了詳細地描述,故此處不再贅述。步驟506 發(fā)送所述緩存隊列中的數(shù)據(jù)包。由上述實施例可以看出,在發(fā)送數(shù)據(jù)包之前,將待發(fā)送數(shù)據(jù)包隊列中的數(shù)據(jù)包重新進行排序,使具有相同或者相似包頭的數(shù)據(jù)包排在一起并緩存在緩存隊列中,最后,發(fā)送緩存隊列中的數(shù)據(jù)包。由于具有相同或者相似包頭的數(shù)據(jù)包排在一起,因此,在緩存隊列中構成了一個個的符合包頭壓縮條件的數(shù)據(jù)包流。避免了發(fā)送端頻繁發(fā)送未經(jīng)過包頭壓縮的數(shù)據(jù)包,從而提高了信道的傳輸效率。實施例三與上述數(shù)據(jù)發(fā)送方法相對應,本發(fā)明實施例還提供了一種數(shù)據(jù)發(fā)送裝置。請參閱圖7,其為本申請一種數(shù)據(jù)發(fā)送裝置的一個實施例的結構圖。如圖7所示,該裝置包括提取單元701、識別單元702、存儲單元703和發(fā)送單元704。下面結合該裝置的工作原理進一步介紹其內部結構以及連接關系。提取單元701,用于依次從待發(fā)送的數(shù)據(jù)包隊列中提取數(shù)據(jù)包識別單元702,用于識別當前提取的數(shù)據(jù)包是否與緩存隊列中的數(shù)據(jù)包具有相同或者相似的包頭,其中,在所述緩存隊列中保存有在當前提取的數(shù)據(jù)包之前提取的所有數(shù)據(jù)包;存儲單元703,用于當所述識別單元的結果為是時,將所述當前提取的數(shù)據(jù)包緩存在所述緩存隊列中最后一個符合條件的數(shù)據(jù)包后,否則,將所述當前提取的數(shù)據(jù)包存儲在所述緩存隊列中最后一個數(shù)據(jù)包后;發(fā)送單元704,用于發(fā)送所述緩存隊列中的數(shù)據(jù)包。其中,上述識別單元702包括關鍵字段提取子單元7021和關鍵字段判斷子單元 7022,關鍵字段提取子單元7021,用于從所述當前提取的數(shù)據(jù)包的包頭中和所述緩存隊列的數(shù)據(jù)包的包頭中分別提取關鍵字段;關鍵字段判斷子單元7022,用于判斷從當前提取的數(shù)據(jù)包中獲得的關鍵字段是否與從緩存隊列的數(shù)據(jù)包中獲得的關鍵字段相同,如果是,所述當前提取的數(shù)據(jù)包與所述緩存隊列中的數(shù)據(jù)包具有相同或者相似的包頭,否則,所述當前提取的數(shù)據(jù)包與所述緩存隊列中的數(shù)據(jù)包不具有相同或者相似的包頭。
例如,對于IPv6類型的數(shù)據(jù)包,在RFC2507的頭部壓縮協(xié)議下,其關鍵字段包括 IPv6 數(shù)據(jù)包的包頭中的 Version 字段、Traffic Class 字段、Flow Lable 字段、Next Header 字段、Hop Limit 字段、Source Address 字段和 Destination Address 字段。在 RFC3095 的頭部壓縮協(xié)議下,其關鍵字段包括IPv6數(shù)據(jù)包的包頭中的Version字段、Flow Lable字段、 Next Header 字段、Source Address 字段禾口 Destination Address 字段。對于IPv4類型的數(shù)據(jù)包,在RFC2507的頭部壓縮協(xié)議下,其關鍵字段包括IPv4 數(shù)據(jù)包的包頭中的Version字段、IHL字段、Type of Service字段、Flags字段、Fragment Offset 字段、Time to Live 字段、Protocol 字段、Source Address 字段禾口 Destination Address字段。在RFC3095的頭部壓縮協(xié)議下,其關鍵字段包括IPv4數(shù)據(jù)包的包頭中的 Version 字段、Don’ t Fragment flag 字段、Protocol 字段、Source Address 字段禾口 Destination Address 字段。對于UDP類型的數(shù)據(jù)包,在RFC2507的頭部壓縮協(xié)議下,其關鍵字段包括UDP數(shù)據(jù)包的包頭中的Source Port字段和Destination Port字段。在RFC3095的頭部壓縮協(xié)議下,其關鍵字段包括UDP數(shù)據(jù)包的包頭中的Source Port字段和Destination Port字段。對于RTP類型的數(shù)據(jù)包,在RFC3095的頭部壓縮協(xié)議下,其關鍵字段包括RTP數(shù)據(jù)包的包頭中的Padding字段、Extension字段和SSRC字段。對于TCP類型的數(shù)據(jù)包,在RFC2507的頭部壓縮協(xié)議下,其關鍵字段包括TCP數(shù)據(jù)包的包頭中的Source Port字段、Destination Port字段禾口 Offset字段。需要說明的是,本申請實施例并不限定關鍵字段的具體形式,除上述規(guī)定的關鍵字段可以用于包頭的相同性或者相似性的識別之外,還可以利用其它關鍵字段對包頭的相同性或者相似性進行識別。還需要說明的是,本申請實施例中帶有重新排序功能的數(shù)據(jù)發(fā)送裝置應用非常靈活,對于數(shù)據(jù)卡終端可以部署在PC側或者終端側;對于智能手機,可以部署在應用處理器一側或者Modem —側;對于一般的Feature Phone手機,也可以應用在手機終端側,甚至可以部署在無線網(wǎng)絡接入節(jié)點上。最為一個典型的實施方式,對于無線數(shù)據(jù)卡終端來說,本申請實施例中的數(shù)據(jù)發(fā)送裝置可以位于PC側的網(wǎng)卡驅動內部。請參閱圖8,其為本申請的數(shù)據(jù)發(fā)送的裝置的一個應用場景示意圖。由上述實施例可以看出,在發(fā)送數(shù)據(jù)包之前,將待發(fā)送數(shù)據(jù)包隊列中的數(shù)據(jù)包重新進行排序,使具有相同或者相似包頭的數(shù)據(jù)包排在一起并緩存在緩存隊列中,最后,發(fā)送緩存隊列中的數(shù)據(jù)包。由于具有相同或者相似包頭的數(shù)據(jù)包排在一起,因此,在緩存隊列中構成了一個個的符合包頭壓縮條件的數(shù)據(jù)包流。避免了發(fā)送端頻繁發(fā)送未經(jīng)過包頭壓縮的數(shù)據(jù)包,從而提高了信道的傳輸效率。需要說明的是,本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體 (Random Access Memory, RAM)等。以上對本發(fā)明所提供的一種協(xié)商報文的重傳方法和系統(tǒng)進行了詳細介紹,本文中
9應用了具體實施例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。
權利要求
1.一種數(shù)據(jù)發(fā)送方法,其特征在于,包括依次從待發(fā)送的數(shù)據(jù)包隊列中提取數(shù)據(jù)包;識別當前提取的數(shù)據(jù)包是否與緩存隊列中的數(shù)據(jù)包具有相同或者相似的包頭,其中, 在所述緩存隊列中保存有在當前提取的數(shù)據(jù)包之前提取的所有數(shù)據(jù)包;如果是,將所述當前提取的數(shù)據(jù)包存儲在所述緩存隊列中最后一個符合條件的數(shù)據(jù)包后,否則,將所述當前提取的數(shù)據(jù)包存儲在所述緩存隊列中最后一個數(shù)據(jù)包后;發(fā)送所述緩存隊列中的數(shù)據(jù)包。
2.根據(jù)權利要求1所述的方法,其特征在于,所述識別當前提取的數(shù)據(jù)包是否與緩存隊列中的數(shù)據(jù)包具有相同或者相似的包頭包括從所述當前提取的數(shù)據(jù)包的包頭中和所述緩存隊列的數(shù)據(jù)包的包頭中分別提取關鍵字段;判斷從當前提取的數(shù)據(jù)包中獲得的關鍵字段是否與從緩存隊列的數(shù)據(jù)包中獲得的關鍵字段相同,如果是,所述當前提取的數(shù)據(jù)包與所述緩存隊列中的數(shù)據(jù)包具有相同或者相似的包頭,否則,所述當前提取的數(shù)據(jù)包與所述緩存隊列中的數(shù)據(jù)包不具有相同或者相似的包頭。
3.根據(jù)權利要求2所述的方法,其特征在于,所述關鍵字段包括IPv6數(shù)據(jù)包的包頭中的 Version 字段、Traffic Class 字段、Flow Lable 字段、Next Header 字段、Hop Limit 字段、Source Address 字段禾口 Destination Address 字段。
4.根據(jù)權利要求2所述的方法,其特征在于,所述關鍵字段包括IPv6數(shù)據(jù)包的包頭中的Version字段、Flow Lable 字段、Next Header字段、Source Address 字段禾口Destination Address 字段。
5.根據(jù)權利要求2所述的方法,其特征在于,所述關鍵字段包括IPv4數(shù)據(jù)包的包頭中的 Version _ 、 IHL _ 、Type of ServiceFlagsFragment Offset Time to Live 字段、Protocol 字段、Source Address 字段禾口 Destination Address 字段。
6.根據(jù)權利要求2所述的方法,其特征在于,所述關鍵字段包括IPv4數(shù)據(jù)包的包頭中的 Version 字段、Don' t Fragment flag 字段、Protocol 字段、Source Address 字段禾口 Destination Address 字段。
7.根據(jù)權利要求2所述的方法,其特征在于,所述關鍵字段包括UDP數(shù)據(jù)包的包頭中的 Source Port 字段禾口 Destination Port 字段。
8.根據(jù)權利要求2所述的方法,其特征在于,所述關鍵字段包括RTP數(shù)據(jù)包的包頭中的 Padding 字段、Extension 字段和 SSRC 字段。
9.根據(jù)權利要求2所述的方法,其特征在于,所述關鍵字段包括TCP數(shù)據(jù)包的包頭中的 Source Port 字段、Destination Port 字段禾口 Offset 字段。
10.一種數(shù)據(jù)發(fā)送的裝置,其特征在于,包括提取單元,用于依次從待發(fā)送的數(shù)據(jù)包隊列中提取數(shù)據(jù)包識別單元,用于識別當前提取的數(shù)據(jù)包是否與緩存隊列中的數(shù)據(jù)包具有相同或者相似的包頭,其中,在所述緩存隊列中保存有在當前提取的數(shù)據(jù)包之前提取的所有數(shù)據(jù)包;存儲單元,用于當所述識別單元的結果為是時,將所述當前提取的數(shù)據(jù)包緩存在所述緩存隊列中最后一個符合條件的數(shù)據(jù)包后,否則,將所述當前提取的數(shù)據(jù)包存儲在所述緩存隊列中最后一個數(shù)據(jù)包后;發(fā)送單元,用于發(fā)送所述緩存隊列中的數(shù)據(jù)包。
11.根據(jù)權利要求10所述的裝置,其特征在于,所述識別單元包括 關鍵字段提取子單元,用于從所述當前提取的數(shù)據(jù)包的包頭中和所述緩存隊列的數(shù)據(jù)包的包頭中分別提取關鍵字段;關鍵字段判斷子單元,用于判斷從當前提取的數(shù)據(jù)包中獲得的關鍵字段是否與從緩存隊列的數(shù)據(jù)包中獲得的關鍵字段相同,如果是,所述當前提取的數(shù)據(jù)包與所述緩存隊列中的數(shù)據(jù)包具有相同或者相似的包頭,否則,所述當前提取的數(shù)據(jù)包與所述緩存隊列中的數(shù)據(jù)包不具有相同或者相似的包頭。
全文摘要
本發(fā)明實施例公開了一種數(shù)據(jù)發(fā)送的方法和裝置。其中,所述方法包括依次從待發(fā)送的數(shù)據(jù)包隊列中提取數(shù)據(jù)包;識別當前提取的數(shù)據(jù)包是否與緩存隊列中的數(shù)據(jù)包具有相同或者相似的包頭,其中,在所述緩存隊列中保存有在當前提取的數(shù)據(jù)包之前提取的所有數(shù)據(jù)包;如果是,將所述當前提取的數(shù)據(jù)包存儲在所述緩存隊列中最后一個符合條件的數(shù)據(jù)包后,否則,將所述當前提取的數(shù)據(jù)包存儲在所述緩存隊列中最后一個數(shù)據(jù)包后;發(fā)送所述緩存隊列中的數(shù)據(jù)包。根據(jù)本申請實施例,可以提高信道的傳輸效率。
文檔編號H04L12/56GK102469011SQ20101054142
公開日2012年5月23日 申請日期2010年11月11日 優(yōu)先權日2010年11月11日
發(fā)明者陸智慧 申請人:聯(lián)芯科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1