專利名稱:一種并行處理的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種并行處理的方法及裝置。
背景技術(shù):
ROHC (Robust Header Compression,魯棒性頭壓縮)為對無線鏈路上的報文頭壓縮協(xié)議進(jìn)行的規(guī)范,可以有效對抗壓縮器和解壓縮器之間的丟包現(xiàn)象。ROHC主要對分組流進(jìn)行報文頭壓縮,其功能實體分為兩部分壓縮端和解壓端?,F(xiàn)有技術(shù)采用單個加速引擎通道的多級流水線結(jié)構(gòu)進(jìn)行報文頭壓縮以及反饋包的處理。例如可以采用三級流水線結(jié)構(gòu)進(jìn)行報文頭壓縮,具體的,第一級從外部存儲器讀取上下文,其中,上下文中保存著分組流報文中的報文頭信息,然后讀取報文頭信息,完成數(shù)據(jù)準(zhǔn)備エ作;第二級根據(jù)上下文信息將報文頭進(jìn)行壓縮編碼或者解碼處理;第三級將上下文信息寫回外部存儲器中。反饋包為解壓端生成的維護(hù)上下文相關(guān)的反饋信息,以通知壓縮端當(dāng)前的上下文是否能滿足成功解壓,以及雙方的上下文是否一致。壓縮端收到反饋包后需要進(jìn)行解析,井根據(jù)反饋信息決定當(dāng)前的工作模式和工作狀態(tài),以及是否需要向解壓端發(fā)送用于更新解壓端上下文的數(shù)據(jù)包。然而,壓縮端從同一個加速引擎通道接收反饋包與待壓縮報文頭,反饋包越多,導(dǎo)致降低加速引擎通道性能。
發(fā)明內(nèi)容
本發(fā)明的實施例提供一種并行處理的方法及裝置,可以提高加速引擎通道的性倉^:。本發(fā)明的實施例采用如下技術(shù)方案一種并行處理的方法,包括判斷接收到的數(shù)據(jù)包的類型;當(dāng)所述數(shù)據(jù)包的類型為反饋包時,將所述反饋包置于反饋包處理通道中的反饋包隊列進(jìn)行排隊;以及當(dāng)所述數(shù)據(jù)包的類型為待壓縮報文頭時,將所述待壓縮報文頭置于待壓縮報文頭處理通道中的待壓縮報文頭隊列進(jìn)行排隊;從所述反饋包處理通道接收所述反饋包,并解析所述反饋包獲得反饋信息,根據(jù)所述反饋信息更新所述反饋包對應(yīng)的上下文信息; 從所述待壓縮報文頭處理通道接收所述待壓縮報文頭,并解析所述待壓縮報文頭獲得待壓縮報文頭信息,根據(jù)所述待壓縮報文頭信息,將所述待壓縮報文頭壓縮并發(fā)送。一種并行處理的裝置,包括判斷単元,用于判斷接收到的數(shù)據(jù)包的類型;分配単元,用于當(dāng)所述數(shù)據(jù)包的類型為反饋包時,將所述反饋包置于反饋包處理通道中的反饋包隊列進(jìn)行排隊;以及當(dāng)所述數(shù)據(jù)包的類型為待壓縮報文頭時,將所述待壓縮報文頭置于待壓縮報文頭處理通道中的待壓縮頭隊列進(jìn)行排隊;
反饋包處理單元,用于從所述反饋包處理通道接收所述反饋包,并解析所述反饋包獲得反饋信息,根據(jù)所述反饋信息更新所述反饋包對應(yīng)的上下文信息;待壓縮報文頭處理単元,用于從所述待壓縮報文頭處理通道接收所述待壓縮報文頭,并解析所述待壓縮報文頭獲得待壓縮報文頭信息,根據(jù)所述待壓縮報文頭信息,將所述待壓縮報文頭壓縮并發(fā)送。本發(fā)明實施例提供一種并行處理的方法及裝置,通過判斷接收到的數(shù)據(jù)包的類型;當(dāng)所述數(shù)據(jù)包的類型為反饋包時,將所述反饋包置于反饋包處理通道中的反饋包隊列進(jìn)行排隊;以及當(dāng)所述數(shù)據(jù)包的類型為待 壓縮報文頭時,將所述待壓縮報文頭置于待壓縮報文頭處理通道中的待壓縮報文頭隊列進(jìn)行排隊;從反饋包處理通道接收反饋包,并解析所述反饋包獲得反饋信息,根據(jù)所述反饋信息更新所述反饋包對應(yīng)的上下文信息;從待壓縮報文頭處理通道接收待壓縮報文頭,并解析所述待壓縮報文頭獲得待壓縮報文頭信息,根據(jù)所述待壓縮報文頭信息,將所述待壓縮報文頭壓縮并發(fā)送。與現(xiàn)有技術(shù)中壓縮端從同ー個加速引擎通道接收反饋包與待壓縮報文頭,反饋包越多,導(dǎo)致降低加速引擎通道性能相比,本發(fā)明實施例將反饋包與待壓縮報文頭進(jìn)行并行處理,可以提高加速引擎通道的性倉^:。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明實施例I提供的一種并行處理的方法的流程圖;圖2為本發(fā)明實施例I提供的一種并行處理的裝置的框圖;圖3為本發(fā)明實施例2提供的一種并行處理的方法的流程圖;圖4為本發(fā)明實施例2提供的分離并行處理通道結(jié)構(gòu)示意圖;圖5A為本發(fā)明實施例2提供的反饋包處理的方法的流程圖;圖5B為本發(fā)明實施例2提供的待壓縮報文頭的方法的流程圖;圖6為本發(fā)明實施例2提供的一種并行處理的裝置的框圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。實施例I本發(fā)明實施例提供的一種并行處理的方法,該方法的執(zhí)行主體為壓縮端,具體可以為壓縮器,如圖I所示,該方法包括步驟101,判斷接收到的數(shù)據(jù)包的類型;接收到的數(shù)據(jù)包中包括報文,通過此報文頭中的一個字段來判斷數(shù)據(jù)包是反饋包,還是待壓縮報文頭。其中,此字段根據(jù)協(xié)議以不同的比特值代表不同的類型。步驟102,當(dāng)所述數(shù)據(jù)包的類型為反饋包時,將所述反饋包置于反饋包處理通道中的反饋包隊列進(jìn)行排隊;步驟103,當(dāng)所述數(shù)據(jù)包的類型為待壓縮報文頭時,將所述待壓縮報文頭置于待壓縮報文頭處理通道中的待壓縮報文頭隊列進(jìn)行排隊;反饋包處理通道和待壓縮 報頭處理通道為兩條并行處理通道,反饋包處理通道與待壓縮報文頭處理通道處理的分組流沒有相關(guān)性,可以并行處理。步驟104,從所述反饋包處理通道接收所述反饋包,并解析所述反饋包獲得反饋信息,根據(jù)所述反饋信息更新所述反饋包對應(yīng)的上下文信息;在本步驟從所述反饋包處理通道接收所述反饋包之后進(jìn)ー步包括存儲接收到的所述反饋包到反饋包緩存中;其中,所述反饋包緩存內(nèi)可以至少緩存三個所述反饋包??蛇x的,當(dāng)處理所述反饋包吋,讀取所述反饋包并解析,獲取所述反饋包的反饋信息與所述反饋包的上下文標(biāo)識符CID ;根據(jù)所述CID,獲取所述CID對應(yīng)的上下文存儲地址,并讀取上下文信息;根據(jù)所述反饋信息更新所述上下文信息;將更新的所述上下文信息回寫到上下文存儲器中所述上下文存儲地址對應(yīng)的緩存空間。步驟105,從所述待壓縮報文頭處理通道接收所述待壓縮報文頭,并解析所述待壓縮報文頭獲得待壓縮報文頭信息,根據(jù)所述待壓縮報文頭信息,將所述待壓縮報文頭壓縮并發(fā)送。在所述從所述待壓縮報文頭處理通道接收所述待壓縮報文頭之后還包括存儲接收到的所述待壓縮報文頭到在待壓縮報文頭緩存中,所述待壓縮報文頭緩存內(nèi)至少緩存三個所述待壓縮報文頭??蛇x的,當(dāng)處理所述待壓縮報文頭時,解析所述待壓縮報文頭獲得待壓縮報文頭信息,并獲取分配的CID,根據(jù)所述CID獲取所述CID對應(yīng)的上下文存儲地址;當(dāng)所述上下文存儲地址存在對應(yīng)的上下文信息吋,則讀取所述上下文信息,當(dāng)所述上下文存儲地址不存在對應(yīng)的上下文信息吋,則將所述待壓縮報文頭信息保存在所述待壓縮報文頭緩存中;根據(jù)所述待壓縮報文頭信息與所述上下文信息,將所述待壓縮報文頭壓縮并發(fā)送;將所述上下文信息回寫到上下文存儲器中所述上下文存儲地址對應(yīng)的緩存空間中。進(jìn)ー步的,當(dāng)反饋包處理通道與待壓縮報文頭處理通道同時對同一個上下文信息進(jìn)行處理時,所述反饋包處理通道的優(yōu)先級高于所述待壓縮報文頭處理通道的優(yōu)先級。當(dāng)不同處理通道內(nèi),進(jìn)入壓縮處理階段的待壓縮報文頭的CID與進(jìn)入更新階段的反饋包的CID相同時,則阻塞待壓縮報文頭處理通道,等待反饋包更新完成后再根據(jù)更新后的上下文信息進(jìn)行所述待壓縮報文頭的處理。當(dāng)同一處理通道內(nèi)不同處理階段,連續(xù)接收的所述反饋包或者所述待壓縮報文頭為同一分組流時,則阻塞當(dāng)前處理通道,等待前一個反饋包或者待壓縮報文頭完成上下文信息更新處理后,使用更新后的并且保存在所述反饋包緩存或者所述待壓縮報文頭緩存中的上下文信息,完成當(dāng)前反饋包或者待壓縮報文頭的處理。在讀取上下文信息之前,所述反饋包緩存或者所述待壓縮報文頭緩存中存在待讀取的所述上下文信息,則根據(jù)所述待讀取的所述上下文信息進(jìn)行進(jìn)一歩處理。在讀取上下文信息吋,當(dāng)前所述反饋包或者所述待壓縮報文頭的CID與上下文回寫階段的CID相同,則不將所述CID對 應(yīng)的上下文信息寫回到上下文存儲器中,井根據(jù)所述上下文信息對當(dāng)前所述反饋包或者所述待壓縮報文頭進(jìn)行進(jìn)ー步處理。本發(fā)明實施例提供一種并行處理的方法,通過根據(jù)判斷的數(shù)據(jù)包的類型,分別將反饋包置于反饋包處理通道中的反饋包隊列進(jìn)行排隊,將待壓縮報文頭置于待壓縮報文頭處理通道中的待壓縮報文頭隊列進(jìn)行排隊;從反饋包處理通道接收反饋包,并,解析所述反饋包獲得反饋信息,根據(jù)所述反饋信息更新所述反饋包對應(yīng)的上下文信息;從待壓縮報文頭處理通道接收待壓縮報文頭,并解析所述待壓縮報文頭獲得待壓縮報文頭信息,根據(jù)所述待壓縮報文頭信息,將所述待壓縮報文頭壓縮并發(fā)送,本發(fā)明實施例將反饋包與待壓縮報文頭進(jìn)行并行處理,可以提高加速引擎通道的性能。本發(fā)明實施例提供一種并行處理的裝置,該裝置可以為壓縮器,如圖2所示,該裝置包括判斷單元201,分配單元202,反饋包處理單元203,待壓縮報文頭處理單元204 ;判斷単元201,用于判斷接收到的數(shù)據(jù)包的類型;接收到的數(shù)據(jù)包中包括報文,通過此報文頭中的一個字段來判斷數(shù)據(jù)包是反饋包,還是待壓縮報文頭。其中,此字段根據(jù)協(xié)議以不同的比特值代表不同的類型。分配単元202,用于當(dāng)所述數(shù)據(jù)包的類型為反饋包時,將所述反饋包置于反饋包處理通道中的反饋包隊列進(jìn)行排隊;以及當(dāng)所述數(shù)據(jù)包的類型為待壓縮報文頭時,將所述待壓縮報文頭置于待壓縮報文頭處理通道中的待壓縮頭隊列進(jìn)行排隊;反饋包處理單元203,用于從所述反饋包處理通道接收所述反饋包,并解析所述反饋包獲得反饋信息,根據(jù)所述反饋信息更新所述反饋包對應(yīng)的上下文信息;進(jìn)ー步的,反饋包緩存單元,用于存儲接收到的所述反饋包到反饋包緩存中,以備所述反饋包處理單元進(jìn)ー步處理;其中,所述反饋包緩存內(nèi)至少緩存三個所述反饋包。具體的,所述反饋包處理單元203中的上下文讀取模塊,用于讀取所述反饋包并解析,獲取所述反饋包的反饋信息與所述反饋包的上下文標(biāo)識符CID ;以及根據(jù)所述CID,獲取所述CID對應(yīng)的上下文存儲地址,并讀取上下文信息;所述反饋包處理單元203中的上下文更新模塊,用于根據(jù)所述反饋信息更新所述上下文信息;所述反饋包處理單元203中的上下文回寫模塊,用于將更新的所述上下文信息回寫到上下文存儲器中所述上下文存儲地址對應(yīng)的緩存空間。待壓縮報文頭處理単元204,用于從所述待壓縮報文頭處理通道接收所述待壓縮報文頭,并解析所述待壓縮報文頭獲得待壓縮報文頭信息,根據(jù)所述待壓縮報文頭信息,將所述待壓縮報文頭壓縮并發(fā)送。需要說明的是,反饋包處理通道與待壓縮報頭處理通道處理的分組流沒有相關(guān)性,可以并行處理。進(jìn)ー步的,待壓縮報文頭緩存単元,用于存儲接收到的所述待壓縮報文頭到在待壓縮報文頭緩存中,以備所述待壓縮報文頭處理単元進(jìn)ー步處理。所述待壓縮報文頭緩存內(nèi)至少緩存三個所述待壓縮報文頭具體的,所述待壓縮報文頭處理単元204中的上下文讀取模塊,用于解析所述待壓縮報文頭獲得待壓縮報文頭信息,并獲取分配的CID,根據(jù)所述CID獲取所述CID對應(yīng)的上下文存儲地址;當(dāng)所述上下文存儲地址存在對應(yīng)的上下文信息時,則讀取所述上下文信息,當(dāng)所述上下文存儲地址不存在對應(yīng)的上下文信息吋,則將所述待壓縮報文頭信息保存在所述待壓縮報文頭緩存中;
所述待壓縮報文頭處理単元204中的上下文壓縮模塊,用于根據(jù)所述待壓縮報文頭信息與所述上下文信息,將所述待壓縮報文頭壓縮并發(fā)送;所述待壓縮報文頭處理単元204中的上下文回寫模塊,用于將所述上下文信息回寫到上下文存儲器中所述上下文存儲地址對應(yīng)的緩存空間中。本發(fā)明實施例提供一種并行處理的裝置,通過根據(jù)判斷単元判斷的數(shù)據(jù)包的類型,分配單元將所述反饋包置于反饋包處理通道中的反饋包隊列進(jìn)行排隊;以及將所述待壓縮報文頭置于待壓縮報文頭處理通道中的待壓縮頭隊列進(jìn)行排隊;反饋包處理單元,用于從反饋包處理通道接收反饋包,并解析所述反饋包獲得反饋信息,根據(jù)所述反饋信息更新所述反饋包對應(yīng)的上下文信息;待壓縮報文頭處理単元,用于從待壓縮報文頭處理通道接收待壓縮報文頭,并解析所述待壓縮報文頭獲得待壓縮報文頭信息,根據(jù)所述待壓縮報文頭信息,將所述待壓縮報文頭壓縮并發(fā)送。本發(fā)明實施例將反饋包與待壓縮報文頭進(jìn)行分離并行處理,可以提高加速引擎通道的性能。實施例2本發(fā)明實施例提供的一種并行處理的方法,該方法的執(zhí)行主體為壓縮端,具體可以為壓縮器,如圖3所示,該方法包括步驟301,判斷接收到的數(shù)據(jù)包的類型;通過無線接ロ接收 F1DCP (Packet Data Convergence Protocol,分組數(shù)據(jù)匯聚協(xié)議)層發(fā)送的數(shù)據(jù)包,數(shù)據(jù)包中包括報文,通過此報文頭中的一個字段來判斷數(shù)據(jù)包是反饋包,還是待壓縮報文頭。其中,此字段根據(jù)協(xié)議以不同的比特值代表不同的類型。步驟302,當(dāng)所述數(shù)據(jù)包的類型為反饋包時,將所述反饋包置于反饋包處理通道中的反饋包隊列進(jìn)行排隊;反饋包處理通道僅處理反饋包。步驟303,當(dāng)所述數(shù)據(jù)包的類型為待壓縮報文頭時,將所述待壓縮報文頭置于待壓縮報文頭處理通道中的待壓縮報文頭隊列進(jìn)行排隊;待壓縮報文頭處理通道僅處理待壓縮報文頭。步驟304,從反饋包處理通道接收反饋包;步驟305,從待壓縮報文頭處理通道接收待壓縮報文頭;反饋包處理通道和待壓縮報文頭處理通道為兩條并行處理通道,如圖4所示的分離并行處理通道結(jié)構(gòu)圖,反饋包處理通道與待壓縮報文頭處理通道處理的分組流沒有相關(guān)性,可以并行處理。步驟306,存儲接收到的所述反饋包到反饋包緩存中;步驟307,存儲接收到的所述待壓縮報文頭到在待壓縮報文頭緩存中;本發(fā)明在現(xiàn)有技術(shù)單通道的基礎(chǔ)上增加一倍的上下文內(nèi)部緩存空間和讀寫控制邏輯,用于存儲接收到的反饋包,并進(jìn)行上下文的更新。具體的,如圖4所示存儲接收到的所述反饋包到反饋包緩存中;存儲接收到的所述待壓縮報文頭到在待壓縮報文頭緩存中。其中,所述反饋包緩存內(nèi)至少緩存三個所述反饋包;所述待壓縮報文頭緩存內(nèi)至少緩存三個所述待壓縮報文頭。反饋包緩存與待壓縮報文頭緩存的設(shè)置與本發(fā)明采用的多級流水線結(jié)構(gòu)相關(guān),例如,采用3級流水線結(jié)構(gòu)時,可以設(shè)置反饋包緩存空間可以緩存三個所述反饋包,如上下文緩存I ’,上下文緩存2’,上下文緩存3’,設(shè)置待壓縮報文頭緩存空間可以緩存三個所述待壓縮報文頭,如上下文緩存1,上下文緩存2,上下文緩存3,以使得反饋包或者待壓縮報文頭可以不間斷的處理,節(jié)省時間。
步驟308,當(dāng)處理所述反饋包時,解析所述反饋包獲得反饋信息,根據(jù)所述反饋信息更新所述反饋包對應(yīng)的上下文信息;具體的,在壓縮器內(nèi)的反饋包處理單元中對接收到的反饋包進(jìn)行更新處理,本發(fā)明實施例以3級流水線結(jié)構(gòu)為例進(jìn)行說明,如圖5A所示的流程圖步驟501,對所述反饋包的第一級處理;具體的,當(dāng)處理所述反饋包時,讀取所述反饋包并解析,獲取所述反饋包的反饋信息與所述反饋包的上下文標(biāo)識符CID ;根據(jù)所述CID,獲取所述CID對應(yīng)的上下文存儲地址,并讀取上下文信息;需要說明的是,一條通訊鏈路由多個信道組成,每ー個信道可以有多個分組流,每個分組流對應(yīng)ー個上下文信息,ー個上下文信息對應(yīng)ー個CID。上下文信息按照上下文存儲地址存儲在上下文存儲器中,其中,上下文存儲地址與CID—一對應(yīng),根據(jù)CID確定上下文存儲地址,并根據(jù)上下文存儲地址確定上下文信息。如圖4所示中,上下文存儲器為外部存儲器,存儲每個分組流對應(yīng)的上下文信息,其中上下文信息為分組流的報文頭信息。可選的,一個完整的報文由報文頭和凈荷組成,ROHC是針對報文頭進(jìn)行壓縮的。由于在ー些常用業(yè)務(wù)中報文頭的長度很長,甚至超過了凈荷的長度,報文頭中很多字段的作用是確保端到端連接的正確性,對于某一段鏈路來說,這種字段不起具體作用,且ー個分組流的每個報文中都相同,因此屬于冗余內(nèi)容。冗余內(nèi)容可以不用每次發(fā)送,而可以采取在鏈路的另一端進(jìn)行還原出來的辦法來實現(xiàn)傳輸。進(jìn)ー步的,所述反饋包為解壓縮器端發(fā)送給壓縮器的數(shù)據(jù)包,所述反饋包的CID與解壓縮器端解壓縮的報文頭的CID相同,具備RFC3095協(xié)議規(guī)定標(biāo)準(zhǔn)格式,其中所述反饋包中包括當(dāng)前該分組流壓縮模式、當(dāng)前該分組流壓縮狀態(tài),以及解壓器端是否能夠成功解壓報文頭等信息。步驟502,對所述反饋包的第二級處理;具體的,根據(jù)所述反饋信息更新所述上下文信息;進(jìn)ー步的,將更新的所述上下文信息保存在反饋包緩存中,以備第三級進(jìn)ー步處理。步驟503,對所述反饋包的第三級處理;具體的,將更新的所述上下文信息回寫到上下文存儲器中所述上下文存儲地址對應(yīng)的緩存空間。需要說明的是,根據(jù)反饋包的CID對應(yīng)的上下文存儲地址進(jìn)行上下文信息的存儲。步驟309,當(dāng)處理所述待壓縮報文頭時,解析所述待壓縮報文頭獲得待壓縮報文頭信息,根據(jù)所述待壓縮報文頭信息,將所述待壓縮報文頭壓縮并發(fā)送。具體的,在壓縮器內(nèi)的待壓縮報文頭處理単元中對接收到的待壓縮報文頭進(jìn)行壓縮處理,本發(fā)明實施例以3級流水線結(jié)構(gòu)為例進(jìn)行說明,如圖5B所示的流程圖步驟504,對所述待壓縮報文頭的第一級處理;具體的,當(dāng)處理所述待壓縮報文頭時,解析所述待壓縮報文頭獲得待壓縮報文頭信息,并獲取分配的CID,根據(jù)所述CID獲取所述CID對應(yīng)的上下文存儲地址;當(dāng)所述上下文存儲地址存在對應(yīng)的上下文信息吋,則讀取所述上下文信息,當(dāng)所述上下文存儲地址不存在對應(yīng)的上下文信息吋,則將所述待壓縮報文頭信息保存在所述待壓縮報文頭緩存 中;需要說明的是,待壓縮報文頭對應(yīng)的CID為分組流解析単元分配的。步驟505,對所述待壓縮報文頭的第二級處理;具體的,根據(jù)所述待壓縮報文頭信息與所述上下文信息,將所述待壓縮報文頭壓縮并發(fā)送;具體的,根據(jù)待壓縮報文頭信息和上下文記錄的信息,選擇合適的壓縮包類型,并填充對應(yīng)的域,組成壓縮包輸出。可選的,上下文信息中記錄的是報文頭的固定字段,這些字段在一個分組流的所有報文的報文頭中都是固定不變的,例如原地址、目地地址等;而待壓縮報文頭信息為報文頭中的可變字段,例如當(dāng)前待壓縮報文頭的序列號等。填充對應(yīng)的域即填充可變字段的內(nèi)容。步驟506,對所述待壓縮報文頭的第三級處理;具體的,將所述上下文信息回寫到上下文存儲器中所述上下文存儲地址對應(yīng)的緩存空間中。當(dāng)上下文信息為根據(jù)待壓縮報文頭信息新建的,則在回寫階段時,需要先確定上下文存儲器中的空閑空間的地址,作為上下文存儲地址,根據(jù)此上下文存儲地址分配緩存空間,并將所述上下文信息保存在所述緩存空間中。進(jìn)ー步的,需將此待壓縮報文頭的CID對應(yīng)的上下文信息與上下文存儲地址一一對應(yīng)的關(guān)系進(jìn)行保存。需要說明的是,步驟308和步驟309為并行處理,當(dāng)反饋包處理通道與待壓縮報文頭處理通道同時對同一個上下文信息進(jìn)行處理時,即所述反饋包的CID與所述待壓縮報文頭的CID相同時,反饋包處理通道的優(yōu)先級高于所述待壓縮報文頭處理通道的優(yōu)先級,以保證進(jìn)行進(jìn)ー步處理時采用的上下文信息為最新的上下文信息。在反饋包和待壓縮報文頭并行處理過程中,可能出現(xiàn)如下兩種數(shù)據(jù)沖突一種是在同一條處理通道內(nèi)(反饋包處理通道或者待壓縮報文頭處理通道)不同級中存在屬于同一個分組流的待壓縮報文頭或反饋包,此時該分組流的上下文信息已經(jīng)從外部緩存讀取到內(nèi)部緩存,但還未完成更新回寫,即步驟501和步驟504處理完成后,步驟502或者步驟505處理之前,此時需滿足以下機(jī)制當(dāng)同一處理通道內(nèi)不同處理階段,連續(xù)接收的所述反饋包或者所述待壓縮報文頭為同一分組流時,則阻塞當(dāng)前處理通道,等待前一個反饋包或者待壓縮報文頭完成上下文信息(此上下文信息為已從外部緩存讀取到內(nèi)部緩存的上下文信息)更新處理后,使用更新后的并且保存在所述反饋包緩存或者所述待壓縮報文頭緩存中的上下文信息,完成當(dāng)前反饋包或者待壓縮報文頭的處理。以反饋包處理為例接收到反饋包1,根據(jù)步驟501的方法獲取上下文信息并讀取,準(zhǔn)備執(zhí)行步驟502,此時接收反饋包2,反饋包2與反饋包I屬于同一個分組流,即上下文信息相同,則阻塞反饋包2的處理通道,即不處理反饋包2,等待反饋包I更新處理完成后,使用存儲在反饋包緩存中的更新的上下文信息進(jìn)行處理,直到反饋包2處理完成后,再將更新的上下文處理信息寫回到上下文存儲器中,即寫回到外部緩存中。在讀取上下文信息之前,所述反饋包緩存或者所述待壓縮報文頭緩存中存在待讀取的所述上下文信息,則不對該分組流的上下文存儲器中上下文信息進(jìn)行讀取操作,根據(jù)所述待讀取的所述上下文 信息進(jìn)行進(jìn)一歩處理。在讀取上下文信息吋,當(dāng)前所述反饋包或者所述待壓縮報文頭的CID與上下文信息回寫階段的CID相同,則不將所述CID對應(yīng)的上下文信息寫回到上下文存儲器中,并根據(jù)所述上下文信息對當(dāng)前所述反饋包或者所述待壓縮報文頭進(jìn)行進(jìn)ー步處理。另外ー種數(shù)據(jù)沖突為兩個通道間存在的沖突,即同一分組流的反饋包和待壓報文頭同時進(jìn)入兩個并行處理通道,這種情況下需滿足以下機(jī)制當(dāng)不同處理通道內(nèi),進(jìn)入壓縮處理階段的待壓縮報文頭的CID與進(jìn)入更新階段的反饋包的CID相同吋,則阻塞待壓縮報文頭處理通道,等待反饋包更新完成后再根據(jù)更新后的上下文信息進(jìn)行所述待壓縮報文頭的處理。例如,待壓縮報文頭進(jìn)入步驟505執(zhí)行吋,此時需判斷進(jìn)入步驟502處理階段的反饋包的CID是否與此待壓縮報文頭的CID相同,當(dāng)兩者不相同時,則可以執(zhí)行步驟506,當(dāng)兩者相同時,則阻塞待壓縮報文頭處理通道,等待步驟502處理完成后,再讀取反饋包緩存中更新的上下文信息進(jìn)ー步進(jìn)行步驟506的執(zhí)行。需要說明的是,無論是反饋包處理通道還是待壓縮報文頭處理通道,在讀取上下文信息之前,所述反饋包緩存或者所述待壓縮報文頭緩存中存在待讀取的所述上下文信息,則不對該分組流的上下文存儲器中上下文信息進(jìn)行讀取操作,根據(jù)所述待讀取的所述上下文信息進(jìn)行進(jìn)一歩處理。無論是反饋包處理通道還是待壓縮報文頭處理通道,在讀取上下文信息吋,當(dāng)前所述反饋包或者所述待壓縮報文頭的CID與上下文信息回寫階段的CID相同,則不將所述CID對應(yīng)的上下文信息寫回到上下文存儲器中,井根據(jù)所述上下文信息對當(dāng)前所述反饋包或者所述待壓縮報文頭進(jìn)行進(jìn)ー步處理。本發(fā)明實施例提供的一種并行處理的方法,通過將反饋包與待壓縮報文頭進(jìn)行分離并行處理,使得待壓縮報文頭處理通道的性能不受反饋包的影響,進(jìn)ー步提高加速引擎通道的性能。本發(fā)明實施例提供一種并行處理的裝置,該裝置可以為壓縮器,如圖6所示,該裝置包括判斷単元601,分配単元602,反饋包處理單元603,上下文讀取模塊6031,上下文更新模塊6032,上下文回寫模塊6033,待壓縮報文頭處理単元604,上下文讀取模塊6041,上下文壓縮模塊6042,上下文回寫模塊6043,反饋包緩存單元605,待壓縮報文頭緩存単元606,監(jiān)控單元607,阻塞單元608,判斷處理單元609 ;判斷単元601,用于判斷接收到的數(shù)據(jù)包的類型;接收到的數(shù)據(jù)包中包括報文,通過此報文頭中的一個字段來判斷數(shù)據(jù)包是反饋包,還是待壓縮報文頭。其中,此字段根據(jù)協(xié)議以不同的比特值代表不同的類型。分配単元602,用于當(dāng)所述數(shù)據(jù)包的類型為反饋包時,將所述反饋包置于反饋包處理通道中的反饋包隊列進(jìn)行排隊;以及當(dāng)所述數(shù)據(jù)包的類型為待壓縮報文頭時,將所述待壓縮報文頭置于待壓縮報文頭處理通道中的待壓縮頭隊列進(jìn)行排隊;所述反饋包處理通道與所述待壓縮報文頭處理通道為兩條并行處理通道。
反饋包處理單元603,用于從反饋包處理通道接收反饋包,并解析所述反饋包獲得反饋信息,根據(jù)所述反饋信息更新所述反饋包對應(yīng)的上下文信息;進(jìn)ー步的,在所述反饋包處理單元603從反饋包處理通道接收反饋包后,反饋包緩存單元605,用于存儲接收到的所述反饋包到反饋包緩存中,以備所述反饋包處理單元603進(jìn)ー步處理;其中,所述反饋包緩存內(nèi)至少緩存三個所述反饋包。
進(jìn)ー步的,所述反饋包處理單元603中的上下文讀取模塊6031,用于當(dāng)處理所述反饋包時,讀取所述反饋包并解析,獲取所述反饋包的反饋信息與所述反饋包的上下文標(biāo)識符CID ;以及根據(jù)所述CID,獲取所述CID對應(yīng)的上下文存儲地址,并讀取上下文信息;所述反饋包處理單元603中的上下文更新模塊6032,用于根據(jù)所述反饋信息更新所述上下文信息;所述反饋包處理單元603中的上下文回寫模塊6033,用于將更新的所述上下文信息回寫到上下文存儲器中所述上下文存儲地址對應(yīng)的緩存空間。待壓縮報文頭處理単元604,用于從待壓縮報文頭處理通道接收待壓縮報文頭,并解析所述待壓縮報文頭獲得待壓縮報文頭信息,根據(jù)所述待壓縮報文頭信息,將所述待壓縮報文頭壓縮并發(fā)送。進(jìn)ー步的,所述待壓縮報文頭處理単元604從待壓縮報文頭處理通道接收待壓縮報文頭之后,待壓縮報文頭緩存単元,用于存儲接收到的所述待壓縮報文頭到在待壓縮報文頭緩存中,以備所述待壓縮報文頭處理単元604進(jìn)ー步處理。進(jìn)ー步的,所述待壓縮報文頭處理単元604中的上下文讀取模塊6041,用于當(dāng)處理所述待壓縮報文頭時,解析所述待壓縮報文頭獲得待壓縮報文頭信息,并獲取分配的CID,根據(jù)所述CID獲取所述CID對應(yīng)的上下文存儲地址;當(dāng)所述上下文存儲地址存在對應(yīng)的上下文信息吋,則讀取所述上下文信息,當(dāng)所述上下文存儲地址不存在對應(yīng)的上下文信息吋,則將所述待壓縮報文頭信息保存在所述待壓縮報文頭緩存中;所述待壓縮報文頭處理単元604中的上下文壓縮模塊6042,用于根據(jù)所述待壓縮報文頭信息與所述上下文信息,將所述待壓縮報文頭壓縮并發(fā)送;所述待壓縮報文頭處理単元604中的上下文回寫模塊6043,用于將所述上下文信息回寫到上下文存儲器中所述上下文存儲地址對應(yīng)的緩存空間中。需要說明的是,所述反饋包處理單元603與所述待壓縮報文頭處理単元604為并行處理,在并行處理過程中,監(jiān)控單元607,用于當(dāng)反饋包處理通道與待壓縮報文頭處理通道同時對同一個上下文信息進(jìn)行處理時,即所述反饋包的CID與所述待壓縮報文頭的CID相同時,控制所述反饋包處理通道的優(yōu)先級高于所述待壓縮報文頭處理通道的優(yōu)先級,以保證進(jìn)行進(jìn)ー步處理時采用的上下文信息為最新的上下文信息。當(dāng)不同處理通道內(nèi),進(jìn)入壓縮處理階段的待壓縮報文頭的CID與進(jìn)入更新階段的反饋包的CID相同時,阻塞単元608,則阻塞待壓縮報文頭處理通道,等待反饋包更新完成后再根據(jù)更新后的上下文信息進(jìn)行所述待壓縮報文頭的處理;當(dāng)同一處理通道內(nèi)不同處理階段,連續(xù)接收的所述反饋包或者所述待壓縮報文頭為同一分組流時,所述阻塞単元608,則阻塞當(dāng)前處理通道,等待前一個反饋包或者待壓縮報文頭完成上下文信息更新處理后,使用更新后的并且保存在所述反饋包緩存或者所述待壓縮報文頭緩存中的上下文信息,完成當(dāng)前反饋包或者待壓縮報文頭的處理。
在讀取上下文信息之前,判斷處理單元609,用于所述反饋包緩存或者所述待壓縮報文頭緩存中存在待讀取的所述上下文信息,則根據(jù)所述待讀取的所述上下文信息進(jìn)行進(jìn)
ー步處理。進(jìn)ー步的,所述判斷處理單元609還用于在讀取上下文信息時,當(dāng)前所述反饋包或者所述待壓縮報文頭的CID與上下文信息 回寫階段的CID相同,則不將所述CID對應(yīng)的上下文信息寫回到上下文存儲器中,井根據(jù)所述上下文信息對當(dāng)前所述反饋包或者所述待壓縮報文頭進(jìn)行進(jìn)ー步處理。本發(fā)明實施例提供一種并行處理的裝置,將反饋包與待壓縮報文頭進(jìn)行分離并行處理,可以提高加速引擎通道的性能。以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種并行處理的方法,其特征在于,包括 判斷接收到的數(shù)據(jù)包的類型; 當(dāng)所述數(shù)據(jù)包的類型為反饋包時,將所述反饋包置于反饋包處理通道中的反饋包隊列進(jìn)行排隊;以及當(dāng)所述數(shù)據(jù)包的類型為待壓縮報文頭時,將所述待壓縮報文頭置于待壓縮報文頭處理通道中的待壓縮報文頭隊列進(jìn)行排隊; 從所述反饋包處理通道接收所述反饋包,并解析所述反饋包獲得反饋信息,根據(jù)所述反饋信息更新所述反饋包對應(yīng)的上下文信息; 從所述待壓縮報文頭處理通道接收所述待壓縮報文頭,并解析所述待壓縮報文頭獲得待壓縮報文頭信息,根據(jù)所述待壓縮報文頭信息,將所述待壓縮報文頭壓縮并發(fā)送。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,在所述從所述反饋包處理通道接收所述反饋包之后還包括 存儲接收到的所述反饋包到反饋包緩存中; 在所述從所述待壓縮報文頭處理通道接收所述待壓縮報文頭之后還包括 存儲接收到的所述待壓縮報文頭到在待壓縮報文頭緩存中。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述反饋包緩存內(nèi)至少緩存三個所述反饋包; 所述待壓縮報文頭緩存內(nèi)至少緩存三個所述待壓縮報文頭。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述解析所述反饋包獲得反饋信息,根據(jù)所述反饋信息更新所述反饋包對應(yīng)的上下文信息包括 讀取所述反饋包并解析,獲取所述反饋包的反饋信息與所述反饋包的上下文標(biāo)識符CID ;根據(jù)所述CID,獲取所述CID對應(yīng)的上下文存儲地址,并讀取上下文信息; 根據(jù)所述反饋信息更新所述上下文信息; 將更新的所述上下文信息回寫到上下文存儲器中所述上下文存儲地址對應(yīng)的緩存空間。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述解析所述待壓縮報文頭獲得待壓縮報文頭信息,根據(jù)所述待壓縮報文頭信息,將所述待壓縮報文頭壓縮并發(fā)送包括 解析所述待壓縮報文頭獲得待壓縮報文頭信息,并獲取分配的CID,根據(jù)所述CID獲取所述CID對應(yīng)的上下文存儲地址;當(dāng)所述上下文存儲地址存在對應(yīng)的上下文信息吋,則讀取所述上下文信息,當(dāng)所述上下文存儲地址不存在對應(yīng)的上下文信息吋,則將所述待壓縮報文頭信息保存在所述待壓縮報文頭緩存中; 根據(jù)所述待壓縮報文頭信息與所述上下文信息,將所述待壓縮報文頭壓縮并發(fā)送; 將所述上下文信息回寫到上下文存儲器中所述上下文存儲地址對應(yīng)的緩存空間中。
6.根據(jù)權(quán)利要求1-5中任一項所述的方法,其特征在干,當(dāng)反饋包處理通道與待壓縮報文頭處理通道同時對同一個上下文信息進(jìn)行處理時,所述反饋包處理通道的優(yōu)先級高于所述待壓縮報文頭處理通道的優(yōu)先級。
7.根據(jù)權(quán)利要求6所述的方法,其特征在干, 當(dāng)不同處理通道內(nèi),進(jìn)入壓縮處理階段的待壓縮報文頭的CID與進(jìn)入更新階段的反饋包的CID相同時,則阻塞待壓縮報文頭處理通道,等待反饋包更新完成后再根據(jù)更新后的上下文信息進(jìn)行所述待壓縮報文頭的處理。
8.根據(jù)權(quán)利要求4或5所述的方法,其特征在干, 當(dāng)同一處理通道內(nèi)不同處理階段,連續(xù)接收的所述反饋包或者所述待壓縮報文頭為同一分組流吋,則阻塞當(dāng)前處理通道,等待前一個反饋包或者待壓縮報文頭完成上下文信息更新處理后,使用更新后的并且保存在所述反饋包緩存或者所述待壓縮報文頭緩存中的上下文信息,完成當(dāng)前反饋包或者待壓縮報文頭的處理。
9.根據(jù)權(quán)利要求4或5所述的方法,其特征在干, 在讀取上下文信息之前,所述反饋包緩存或者所述待壓縮報文頭緩存中存在待讀取的所述上下文信息,則根據(jù)所述待讀取的所述上下文信息進(jìn)行進(jìn)一歩處理。
10.根據(jù)權(quán)利要求4或5所述的方法,其特征在干, 在讀取上下文信息吋,當(dāng)前所述反饋包或者所述待壓縮報文頭的CID與上下文信息回寫階段的CID相同,則不將所述CID對應(yīng)的上下文信息寫回到上下文存儲器中,井根據(jù)所述上下文信息對當(dāng)前所述反饋包或者所述待壓縮報文頭進(jìn)行進(jìn)ー步處理。
11.一種并行處理的裝置,其特征在于,包括 判斷単元,用于判斷接收到的數(shù)據(jù)包的類型; 分配単元,用于當(dāng)所述數(shù)據(jù)包的類型為反饋包時,將所述反饋包置于反饋包處理通道中的反饋包隊列進(jìn)行排隊;以及當(dāng)所述數(shù)據(jù)包的類型為待壓縮報文頭時,將所述待壓縮報文頭置于待壓縮報文頭處理通道中的待壓縮頭隊列進(jìn)行排隊; 反饋包處理單元,用于從所述反饋包處理通道接收所述反饋包,并解析所述反饋包獲得反饋信息,根據(jù)所述反饋信息更新所述反饋包對應(yīng)的上下文信息; 待壓縮報文頭處理単元,用于從所述待壓縮報文頭處理通道接收所述待壓縮報文頭,并解析所述待壓縮報文頭獲得待壓縮報文頭信息,根據(jù)所述待壓縮報文頭信息,將所述待壓縮報文頭壓縮并發(fā)送。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括 反饋包緩存單元,用于存儲接收到的所述反饋包到反饋包緩存中,以備所述反饋包處理單元進(jìn)ー步處理; 待壓縮報文頭緩存単元,用于存儲接收到的所述待壓縮報文頭到在待壓縮報文頭緩存中,以備所述待壓縮報文頭處理単元進(jìn)ー步處理。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在干, 所述反饋包緩存內(nèi)至少緩存三個所述反饋包; 所述待壓縮報文頭緩存內(nèi)至少緩存三個所述待壓縮報文頭。
14.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述反饋包處理單元包括 上下文讀取模塊,用于讀取所述反饋包并解析,獲取所述反饋包的反饋信息與所述反饋包的上下文標(biāo)識符CID ;以及根據(jù)所述CID,獲取所述CID對應(yīng)的上下文存儲地址,并讀取上下文信息; 上下文更新模塊,用于根據(jù)所述反饋信息更新所述上下文信息; 上下文回寫模塊,用于將更新的所述上下文信息回寫到上下文存儲器中所述上下文存儲地址對應(yīng)的緩存空間。
15.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述待壓縮報文頭處理単元包括 上下文讀取模塊,用于解析所述待壓縮報文頭獲得待壓縮報文頭信息,并獲取分配的CID,根據(jù)所述CID獲取所述CID對應(yīng)的上下文存儲地址;當(dāng)所述上下文存儲地址存在對應(yīng)的上下文信息吋,則讀取所述上下文信息,當(dāng)所述上下文存儲地址不存在對應(yīng)的上下文信息吋,則將所述待壓縮報文頭信息保存在所述待壓縮報文頭緩存中; 上下文壓縮模塊,用于根據(jù)所述待壓縮報文頭信息與所述上下文信息,將所述待壓縮報文頭壓縮并發(fā)送; 上下文回寫模塊,用于將所述上下文信息回寫到上下文存儲器中所述上下文存儲地址對應(yīng)的緩存空間中。
16.根據(jù)權(quán)利要求11-15中任一項所述的裝置,其特征在于,所述裝置還包括 監(jiān)控單元,用于當(dāng)反饋包處理通道與待壓縮報文頭處理通道同時對同一個上下文信息進(jìn)行處理時,控制所述反饋包處理通道的優(yōu)先級高于所述待壓縮報文頭處理通道的優(yōu)先級。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述裝置還包括 阻塞単元,用于當(dāng)不同處理通道內(nèi),進(jìn)入壓縮處理階段的待壓縮報文頭的CID與進(jìn)入更新階段的反饋包的CID相同時,則阻塞待壓縮報文頭處理通道,等待反饋包更新完成后再根據(jù)更新后的上下文信息進(jìn)行所述待壓縮報文頭的處理。
18.根據(jù)權(quán)利要求17所述的方法,其特征在干, 所述阻塞単元,用于當(dāng)同一處理通道內(nèi)不同處理階段,連續(xù)接收的所述反饋包或者所述待壓縮報文頭為同一分組流時,則阻塞當(dāng)前處理通道,等待前一個反饋包或者待壓縮報文頭完成上下文信息更新處理后,使用更新后的并且保存在所述反饋包緩存或者所述待壓縮報文頭緩存中的上下文信息,完成當(dāng)前反饋包或者待壓縮報文頭的處理。
19.根據(jù)權(quán)利要求14或15所述的裝置,其特征在于,所述裝置還包括 判斷處理單元,用于在讀取上下文信息之前,所述反饋包緩存或者所述待壓縮報文頭緩存中存在待讀取的所述上下文信息,則根據(jù)所述待讀取的所述上下文信息進(jìn)行進(jìn)ー步處理。
20.根據(jù)權(quán)利要求19所述的裝置,其特征在干, 所述判斷處理單元還用于在讀取上下文信息時,當(dāng)前所述反饋包或者所述待壓縮報文頭的CID與上下文信息回寫階段的CID相同,則不將所述CID對應(yīng)的上下文信息寫回到上下文存儲器中,井根據(jù)所述上下文信息對當(dāng)前所述反饋包或者所述待壓縮報文頭進(jìn)行進(jìn)ー步處理。
全文摘要
本發(fā)明公開一種并行處理的方法及裝置,涉及通信網(wǎng)絡(luò)技術(shù)領(lǐng)域,可以提高加速引擎通道的性能。本發(fā)明實施例通過判斷接收到的數(shù)據(jù)包的類型;當(dāng)數(shù)據(jù)包的類型為反饋包時,將反饋包置于反饋包處理通道中的反饋包隊列進(jìn)行排隊;當(dāng)數(shù)據(jù)包的類型為待壓縮報文頭時,將待壓縮報文頭置于待壓縮報文頭處理通道中的待壓縮報文頭隊列進(jìn)行排隊;從反饋包處理通道接收反饋包,并解析反饋包獲得反饋信息,根據(jù)反饋信息更新反饋包對應(yīng)的上下文信息;從待壓縮報文頭處理通道接收待壓縮報文頭,并解析待壓縮報文頭獲得待壓縮報文頭信息,根據(jù)待壓縮報文頭信息,將待壓縮報文頭壓縮并發(fā)送。本發(fā)明實施例提供的方案適于反饋包與待壓縮報文頭分離并行處理時采用。
文檔編號H04L29/06GK102694730SQ201210169109
公開日2012年9月26日 申請日期2012年5月28日 優(yōu)先權(quán)日2012年5月28日
發(fā)明者林曉偉 申請人:華為技術(shù)有限公司