專利名稱:一種數(shù)據(jù)封裝方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理技術(shù),尤其涉及一種數(shù)據(jù)封裝方法及裝置。
背景技術(shù):
IETF(Internet Engineering Task Force,互聯(lián)網(wǎng)工程任務(wù)組)下屬的 PWE3 (Pseudo-Wire Emulation Edge to Edge,端到端的偽線仿真)工作組專門致力于在分組交換網(wǎng)絡(luò)上仿真一層和二層業(yè)務(wù)的研究。PWE3機(jī)制為在分組網(wǎng)絡(luò)中傳送TDM(Time Division Multiplexing,時分復(fù)用)業(yè)務(wù)提供了可能。TDMoIP (Time Division Multiplexing over IP,在 IP 網(wǎng)上傳輸 TDM)是 PWE3 機(jī)制下的一種具體實現(xiàn)技術(shù),該技術(shù)實現(xiàn)了在分組交換網(wǎng)絡(luò)上傳輸TDM業(yè)務(wù)的電路仿真功能,可以在以太網(wǎng)、MPLS(Multi-Protocol Label Switching,多協(xié)議標(biāo)簽交換)分組網(wǎng)、 MEF(Metro Ethernet Forum,域以太網(wǎng))等網(wǎng)絡(luò)上進(jìn)行PDH/SDH(準(zhǔn)同步/同步數(shù)字體系) 等TDM業(yè)務(wù)的傳輸。PWE3網(wǎng)絡(luò)參考模型如圖1所示,PWE3設(shè)備完成電路仿真功能。它將接入的TDM業(yè)務(wù)分配到不同的bundle (束)中在分組網(wǎng)上進(jìn)行傳輸。每個bundle可以獨(dú)立的配置時分復(fù)用業(yè)務(wù)在IP網(wǎng)上傳輸(Time Division Multiplexing over IP,TDMoIP)、有結(jié)構(gòu)的時分復(fù)用業(yè)務(wù)在分組交換網(wǎng)上傳輸(Structure-Aware Time Division Multiplexed Circuit Emulation Service over Packet Switched Network,CESoPSN)和無結(jié)構(gòu)的時分復(fù)用業(yè)務(wù)在報文中傳輸(Structure-Agnostic Time Division Multiplexing over Packet, SAToP) 中的任一種協(xié)議標(biāo)準(zhǔn)以及該協(xié)議支持的各種業(yè)務(wù),PWE3設(shè)備可以提供多個bundle。每個 bundle有一個源地址和目的地址。該設(shè)備支持無結(jié)構(gòu)和有結(jié)構(gòu)兩種類型的El接入業(yè)務(wù)。對于無結(jié)構(gòu)的E1,一個 bundle通道承載一個整個的El鏈路數(shù)據(jù)。對于有結(jié)構(gòu)的El業(yè)務(wù),一個bundle通道承載一個El中的任意個數(shù)時隙。例如,如圖2所示,在一條El數(shù)據(jù)鏈路中有32個時隙,可以使得時隙2/3/4/5組成bundleO (圖2中用BO表示),使得時隙觀/29/30組成bundlel (圖2中用Bl表示)。PWE3設(shè)備支持收發(fā)雙向功能,如圖3所示,該設(shè)備進(jìn)行業(yè)務(wù)處理的過程包括步驟S301、PWE3發(fā)送側(cè)設(shè)備接收TDM業(yè)務(wù);步驟S302、PWE3發(fā)送側(cè)設(shè)備將接入的TDM業(yè)務(wù)分配到指定的bundle通道;步驟S303、PWE3發(fā)送側(cè)設(shè)備將TDM業(yè)務(wù)流按照對應(yīng)bundle的配置封裝成PSN分組數(shù)據(jù)包;步驟S304、PWE3發(fā)送側(cè)設(shè)備將封裝的分組包發(fā)送到PSN網(wǎng)絡(luò);步驟S305、PWE3接收側(cè)設(shè)備從PSN網(wǎng)絡(luò)接收TDMoIP包;步驟S306、PWE3接收側(cè)設(shè)備識別接收的TDMoIP包并提取對應(yīng)的bundle通道號;步驟S307、PWE3接收側(cè)設(shè)備按照bundle的配置從TDMoIP分組包中解出TDM數(shù)據(jù);
步驟S308、PWE3接收側(cè)設(shè)備按照bundle將解出TDM數(shù)據(jù)進(jìn)行消除抖動和恢復(fù)時鐘;步驟S309、PWE3接收側(cè)設(shè)備按照bundle將消除抖動和恢復(fù)時鐘的TDM數(shù)據(jù)送入 TDM網(wǎng)絡(luò)。在步驟S302和步驟S303中,每一個bundle需要維護(hù)一個處理線程,進(jìn)行PSN數(shù)據(jù)包的封裝。對于每一個bundle,在封裝PSN數(shù)據(jù)包時,都需要先按照bundle通道的配置協(xié)議封裝PSN頭,然后再根據(jù)bundle通道支持RTP頭和PSN協(xié)議確定封裝RTP頭或者控制字, 封裝RTP頭則按照RTP頭的協(xié)議進(jìn)行封裝,控制字和凈荷封裝則按照支持的TDMoIP協(xié)議、 CESOPSN (PSN網(wǎng)上電路仿真有結(jié)構(gòu)的TDM業(yè)務(wù)),SATOP (在IP網(wǎng)上傳輸無結(jié)構(gòu)的TDM業(yè)務(wù)) 協(xié)議進(jìn)行封裝,最后完成CRC處理即完成整包的封裝。具體的,如圖如所示,對于每個bundle,進(jìn)行PSN數(shù)據(jù)包封裝的流程包括步驟S401、封裝PSN數(shù)據(jù)包的包頭;步驟S402、進(jìn)行RTP頭和/或控制字的封裝,TDMOIP分組包的封裝結(jié)構(gòu)如圖4b、 k、4d所示,其中,圖4b為非UDP/IP格式的包結(jié)構(gòu),圖如為UDP/IP格式的包結(jié)構(gòu),圖4d則為不帶RTP頭的包結(jié)構(gòu);步驟S403、按照設(shè)定協(xié)議封裝PSN數(shù)據(jù)包凈荷;步驟S404、進(jìn)行CRC(Cyclic Redundancy Check,循環(huán)冗余校驗)校驗處理,完成 PSN數(shù)據(jù)包的封裝。當(dāng)使用狀態(tài)機(jī)進(jìn)行處理時,其狀態(tài)轉(zhuǎn)移圖如圖5所示,各狀態(tài)完成的處理如下IDLE狀態(tài)進(jìn)行復(fù)位狀態(tài)下的操作。PSN頭封裝狀態(tài)根據(jù)該bundle配置指定的PSN類型封裝PSN包頭控制字封裝狀態(tài)根據(jù)該bundle配置指定的TDMOIP協(xié)議封裝類型封裝控制字。RTP頭封裝狀態(tài)封裝RTP頭。封裝凈荷狀態(tài)根據(jù)該bundle配置指定的TDMOIP協(xié)議封裝類型封裝數(shù)據(jù)凈荷。CRC處理狀態(tài)完成包的CRC校驗。狀態(tài)跳轉(zhuǎn)條件為IDLE狀態(tài)當(dāng)復(fù)位時進(jìn)入復(fù)位狀態(tài),為低時,進(jìn)入正常工作狀態(tài),如果有數(shù)據(jù)時進(jìn)入PSN頭封裝狀態(tài)。PSN頭封裝狀態(tài)完成PSN頭封裝后,狀態(tài)跳轉(zhuǎn)分為幾種情況如果是UDP包頭類型時,進(jìn)入控制字封裝狀態(tài),如果非UDP類型時且存在RTP則進(jìn)入RTP頭封裝處理狀態(tài),未完成PSN頭封裝,則繼續(xù)進(jìn)入PSN頭封裝狀態(tài)。控制字封裝狀態(tài)如果沒有完成控制字封裝,則繼續(xù)進(jìn)入控制字封裝狀態(tài),完成控制字封裝時,則當(dāng)為UDP類型且有RTP頭時進(jìn)入RTP頭封裝狀態(tài),否則進(jìn)入凈荷封裝處理狀態(tài)。RTP頭封裝狀態(tài)如果沒有完成RTP頭封裝,則繼續(xù)進(jìn)入RTP頭封裝狀態(tài)狀態(tài),如果完成RTP頭封裝,則當(dāng)為非UDP類型則進(jìn)入控制字封裝狀態(tài),否則進(jìn)入封裝凈荷狀態(tài)。封裝凈荷狀態(tài)當(dāng)完成凈荷封裝后,下一狀態(tài)進(jìn)入CRC處理狀態(tài),未完成凈荷封裝時,繼續(xù)進(jìn)入凈荷封裝狀態(tài)。
CRC處理狀態(tài)如果完成CRC處理,則下一狀態(tài)進(jìn)入PSN頭封裝狀態(tài),未完成CRC處理時,繼續(xù)進(jìn)入CRC處理狀態(tài)。由于每一個bundle都需要分別進(jìn)行數(shù)據(jù)處理,尤其是通過狀態(tài)機(jī)進(jìn)行處理時,每個bundle都需要維護(hù)一個狀態(tài)機(jī),占用處理資源較多,處理效率較低。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種數(shù)據(jù)封裝方法及裝置,以提高數(shù)據(jù)封裝的效率。一種數(shù)據(jù)封裝方法,包括接收到數(shù)據(jù)后,根據(jù)所述數(shù)據(jù)的通道標(biāo)識,獲取對應(yīng)的處理信息;根據(jù)所述處理信息對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理;根據(jù)對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)更新該通道的處理信息。一種數(shù)據(jù)封裝裝置,包括查詢單元,用于接收到數(shù)據(jù)后,根據(jù)所述數(shù)據(jù)的通道標(biāo)識,獲取對應(yīng)的處理信息;處理單元,用于根據(jù)所述處理信息對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理;更新單元,用于根據(jù)對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)更新該通道的處理信肩、ο本發(fā)明實施例提供一種數(shù)據(jù)封裝方法及裝置,通過緩存各個通道的處理信息,使得在接收到數(shù)據(jù)時,能夠查詢到當(dāng)前數(shù)據(jù)對應(yīng)的處理信息,并根據(jù)該處理信息實現(xiàn)對當(dāng)前數(shù)據(jù)的封裝處理,不需要單獨(dú)為每個通道建立狀態(tài)機(jī),也不需要占用多個線程,節(jié)省了處理資源,同時也提高了處理效率。
圖1為現(xiàn)有技術(shù)中TDMoIP傳輸網(wǎng)絡(luò)結(jié)構(gòu)示意圖;圖2為現(xiàn)有技術(shù)中bundle通道示意圖;圖3為現(xiàn)有技術(shù)中TDMoIP收發(fā)數(shù)據(jù)流程圖;圖如為現(xiàn)有技術(shù)中的數(shù)據(jù)封裝方法流程圖;圖4b-圖4d為現(xiàn)有技術(shù)中PSN數(shù)據(jù)包的包結(jié)構(gòu)示意圖;圖5為現(xiàn)有技術(shù)中數(shù)據(jù)封裝狀態(tài)轉(zhuǎn)移圖;圖6為本發(fā)明實施例提供的數(shù)據(jù)封裝方法流程圖;圖7為本發(fā)明實施例提供的數(shù)據(jù)封裝狀態(tài)轉(zhuǎn)移圖;圖8為本發(fā)明實施例提供的數(shù)據(jù)封裝裝置結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明實施例提供一種數(shù)據(jù)封裝方法及裝置,通過緩存各個通道的處理信息,使得在接收到數(shù)據(jù)時,能夠查詢到當(dāng)前數(shù)據(jù)對應(yīng)的處理信息,并根據(jù)該處理信息實現(xiàn)對當(dāng)前數(shù)據(jù)的封裝處理,不需要單獨(dú)為每個通道建立狀態(tài)機(jī),也不需要占用多個線程,節(jié)省了處理資源,同時也提高了處理效率。如圖6所示,本發(fā)明實施例提供的數(shù)據(jù)封裝方法包括步驟S601、接收到數(shù)據(jù)后,根據(jù)數(shù)據(jù)的通道標(biāo)識,獲取對應(yīng)的處理信息;
步驟S602、根據(jù)處理信息對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理;步驟S603、根據(jù)對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)更新該通道的處理信息。其中,所查詢的處理信息具體為對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理時需要用到的必要信息,一般情況下包括當(dāng)前進(jìn)行封裝處理的PSN數(shù)據(jù)包的SN號、當(dāng)前PSN數(shù)據(jù)包中已封裝的字節(jié)數(shù)、當(dāng)前PSN數(shù)據(jù)包中的幀數(shù)、以及當(dāng)前PSN數(shù)據(jù)包中已處理的分片數(shù)。當(dāng)然,在需要時,也可以包括其它信息。為便于進(jìn)行處理信息的管理和更新,所緩存的處理信息可以緩存在處理信息表中,在進(jìn)行緩存時,可以緩存當(dāng)前處理狀態(tài)對應(yīng)的處理信息,也可以緩存下一處理狀態(tài)對應(yīng)的處理信息。當(dāng)緩存當(dāng)前處理狀態(tài)對應(yīng)的處理信息時,步驟S603中,根據(jù)對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)更新該通道的處理信息,具體為針對該通道,用當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息更新處理信息表中對應(yīng)記錄;同時,在步驟S601中,接收到數(shù)據(jù)后,根據(jù)數(shù)據(jù)的通道標(biāo)識,獲取對應(yīng)的處理信息,則具體包括接收到數(shù)據(jù)后,根據(jù)數(shù)據(jù)的通道標(biāo)識,通過處理信息表中存儲的對應(yīng)記錄的處理信息,確定對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的對應(yīng)的處理信息。緩存下一處理狀態(tài)對應(yīng)的處理信息時,步驟S603中,根據(jù)對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)更新該通道的處理信息,具體為針對該通道,根據(jù)該通道對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息,確定該通道中對下一數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息,并用確定出的對下一數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息,更新處理信息表中對應(yīng)記錄;同時,在步驟S601中,接收到數(shù)據(jù)后,根據(jù)數(shù)據(jù)的通道標(biāo)識,獲取對應(yīng)的處理信息,則具體包括接收到數(shù)據(jù)后,根據(jù)數(shù)據(jù)的通道標(biāo)識,查詢處理信息表,獲取處理信息表中存儲的對應(yīng)記錄的處理信息,作為對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的對應(yīng)的處理信肩、ο在步驟S602中,根據(jù)處理信息對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理時,可以按照圖如中所示的處理方式進(jìn)行,在封裝數(shù)據(jù)時,可以先根據(jù)當(dāng)前數(shù)據(jù),按照設(shè)定協(xié)議封裝PSN數(shù)據(jù)包凈荷,如果一個PSN數(shù)據(jù)包封裝完成,則進(jìn)行CRC校驗處理及發(fā)送,并開始封裝下一個PSN數(shù)據(jù)包的包頭,以及進(jìn)行控制字的封裝,或者進(jìn)行RTP頭和控制字的封裝,準(zhǔn)備在下次接收到數(shù)據(jù)時,對數(shù)據(jù)進(jìn)行封裝,對于圖4b和圖如的PSN數(shù)據(jù)包結(jié)構(gòu),需要進(jìn)行RTP頭和控制字的封裝,對于圖4d的PSN數(shù)據(jù)包結(jié)構(gòu),則只需進(jìn)行控制字的封裝。本發(fā)明實施例提供的數(shù)據(jù)封裝方法的狀態(tài)轉(zhuǎn)移圖如圖7所示,各狀態(tài)完成的處理如下IDLE狀態(tài)完成各bundle通道的空閑處理和寄存器復(fù)位操作。READ_DAT狀態(tài)從前級模塊獲取待處理的數(shù)據(jù)及該數(shù)據(jù)對應(yīng)的bundle通道號。L00K_TB狀態(tài)采用待處理數(shù)據(jù)的bundle通道號獲取該數(shù)據(jù)將采用的狀態(tài)處理 (單個通道處理的狀態(tài))及該P(yáng)SN數(shù)據(jù)包已完成處理的字節(jié)數(shù)、該報文已完成處理的分片數(shù)和幀數(shù)、PSN數(shù)據(jù)包的SN號等信息。PR0_DAT狀態(tài)按照L00K_TB狀態(tài)中讀取的狀態(tài)處理該數(shù)據(jù),處理方式及過程可以參照圖如中所示的處理方式。UPDAT IN狀態(tài)更新該bundle通道下一處理狀態(tài)、該P(yáng)SN數(shù)據(jù)包已完成處理的字節(jié)數(shù)、該P(yáng)SN數(shù)據(jù)包已完成處理的分片數(shù)和幀數(shù)、下一 PSN數(shù)據(jù)包的SN號。ST0R_IN狀態(tài)按bundle通道號緩存下一處理狀態(tài)、分片數(shù)、幀數(shù)、處理的字節(jié)數(shù)和SN號,用來指示該bundle的下一數(shù)據(jù)的處理。PR0_ACT狀態(tài)完成該數(shù)據(jù)的處理,并指示可以進(jìn)行下一個bundle通道的數(shù)據(jù)復(fù)用處理。由于前后數(shù)據(jù)可能屬于不同的通道,所以前后數(shù)據(jù)的處理狀態(tài)可能不相關(guān),只有通道相同的前后數(shù)據(jù)處理狀態(tài)相關(guān),每處理完一個數(shù)據(jù)后,需要將該通道的下一凈荷處理信息放入對應(yīng)的通道狀態(tài)表中存儲,從而在接收到數(shù)據(jù)后獲得相應(yīng)通道的處理信息,進(jìn)而進(jìn)行數(shù)據(jù)處理。本發(fā)明實施例還提供一種數(shù)據(jù)封裝裝置,如圖8所示,還包括查詢單元801,用于接收到數(shù)據(jù)后,根據(jù)數(shù)據(jù)的通道標(biāo)識,獲取對應(yīng)的處理信息;處理單元802,用于根據(jù)處理信息對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理;更新單元803,用于根據(jù)對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)更新該通道的處理 fn息ο 其中,處理信息具體包括當(dāng)前進(jìn)行封裝處理的PSN數(shù)據(jù)包的SN號、當(dāng)前PSN數(shù)據(jù)包中已封裝的字節(jié)數(shù)、當(dāng)前PSN數(shù)據(jù)包中的幀數(shù)、以及當(dāng)前PSN數(shù)據(jù)包中已處理的分片數(shù)。當(dāng)緩存當(dāng)前處理狀態(tài)對應(yīng)的處理信息時,更新單元803具體用于針對該通道,用當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息更新處理信息表中對應(yīng)記錄;查詢單元801具體用于接收到數(shù)據(jù)后,根據(jù)數(shù)據(jù)的通道標(biāo)識,通過處理信息表中存儲的對應(yīng)記錄的處理信息,確定對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的對應(yīng)的處理信息。緩存下一處理狀態(tài)對應(yīng)的處理信息時,更新單元803具體用于針對該通道,根據(jù)該通道對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息, 確定該通道中對下一數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息,并用確定出的對下一數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息,更新處理信息表中對應(yīng)記錄;查詢單元801具體用于接收到數(shù)據(jù)后,根據(jù)數(shù)據(jù)的通道標(biāo)識,查詢處理信息表,獲取處理信息表中存儲的對應(yīng)記錄的處理信息,作為對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的對應(yīng)的處理信息。處理單元802具體用于根據(jù)當(dāng)前數(shù)據(jù),按照設(shè)定協(xié)議封裝PSN數(shù)據(jù)包凈荷,并在PSN數(shù)據(jù)包封裝完成時, 進(jìn)行CRC校驗處理及發(fā)送,以及封裝下一個PSN數(shù)據(jù)包的包頭,并進(jìn)行控制字的封裝,或者進(jìn)行RTP頭和控制字的封裝。本發(fā)明實施例提供一種數(shù)據(jù)封裝方法及裝置,通過緩存各個通道的處理信息,使得在接收到數(shù)據(jù)時,能夠查詢到當(dāng)前數(shù)據(jù)對應(yīng)的處理信息,并根據(jù)該處理信息實現(xiàn)對當(dāng)前數(shù)據(jù)的封裝處理,不需要單獨(dú)為每個通道建立狀態(tài)機(jī),也不需要占用多個線程,節(jié)省了處理資源,同時也提高了處理效率。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)封裝方法,其特征在于,包括接收到數(shù)據(jù)后,根據(jù)所述數(shù)據(jù)的通道標(biāo)識,獲取對應(yīng)的處理信息;根據(jù)所述處理信息對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理;根據(jù)對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)更新該通道的處理信息。
2.如權(quán)利要求1所述的方法,其特征在于,所述處理信息具體包括當(dāng)前進(jìn)行封裝處理的PSN數(shù)據(jù)包的SN號、當(dāng)前PSN數(shù)據(jù)包中已封裝的字節(jié)數(shù)、當(dāng)前PSN 數(shù)據(jù)包中的幀數(shù)、以及當(dāng)前PSN數(shù)據(jù)包中已處理的分片數(shù)。
3.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)更新該通道的處理信息,具體為針對該通道,用當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息更新處理信息表中對應(yīng)記錄;所述接收到數(shù)據(jù)后,根據(jù)所述數(shù)據(jù)的通道標(biāo)識,獲取對應(yīng)的處理信息,具體包括 接收到數(shù)據(jù)后,根據(jù)所述數(shù)據(jù)的通道標(biāo)識,通過所述處理信息表中存儲的對應(yīng)記錄的處理信息,確定對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的對應(yīng)的處理信息。
4.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)更新該通道的處理信息,具體為針對該通道,根據(jù)該通道對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息,確定該通道中對下一數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息,并用確定出的對下一數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息,更新處理信息表中對應(yīng)記錄;所述接收到數(shù)據(jù)后,根據(jù)所述數(shù)據(jù)的通道標(biāo)識,獲取對應(yīng)的處理信息,具體包括 接收到數(shù)據(jù)后,根據(jù)所述數(shù)據(jù)的通道標(biāo)識,查詢所述處理信息表,獲取所述處理信息表中存儲的對應(yīng)記錄的處理信息,作為對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的對應(yīng)的處理信息。
5.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述處理信息對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理,具體包括根據(jù)當(dāng)前數(shù)據(jù),按照設(shè)定協(xié)議封裝PSN數(shù)據(jù)包凈荷,并在PSN數(shù)據(jù)包封裝完成時,進(jìn)行校驗處理及發(fā)送,以及封裝下一個PSN數(shù)據(jù)包的包頭,并進(jìn)行控制字的封裝,或者進(jìn)行RTP 頭和控制字的封裝。
6.一種數(shù)據(jù)封裝裝置,其特征在于,包括查詢單元,用于接收到數(shù)據(jù)后,根據(jù)所述數(shù)據(jù)的通道標(biāo)識,獲取對應(yīng)的處理信息;處理單元,用于根據(jù)所述處理信息對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理;更新單元,用于根據(jù)對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)更新該通道的處理信息。
7.如權(quán)利要求6所述的裝置,其特征在于,所述處理信息具體包括當(dāng)前進(jìn)行封裝處理的PSN數(shù)據(jù)包的SN號、當(dāng)前PSN數(shù)據(jù)包中已封裝的字節(jié)數(shù)、當(dāng)前PSN 數(shù)據(jù)包中的幀數(shù)、以及當(dāng)前PSN數(shù)據(jù)包中已處理的分片數(shù)。
8.如權(quán)利要求6所述的裝置,其特征在于,所述更新單元具體用于針對該通道,用當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息更新處理信息表中對應(yīng)記錄;所述查詢單元具體用于接收到數(shù)據(jù)后,根據(jù)所述數(shù)據(jù)的通道標(biāo)識,通過所述處理信息表中存儲的對應(yīng)記錄的處理信息,確定對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的對應(yīng)的處理信息。
9.如權(quán)利要求6所述的裝置,其特征在于,所述更新單元具體用于針對該通道,根據(jù)該通道對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息,確定該通道中對下一數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息,并用確定出的對下一數(shù)據(jù)進(jìn)行封裝處理的處理狀態(tài)對應(yīng)的處理信息,更新處理信息表中對應(yīng)記錄; 所述查詢單元具體用于接收到數(shù)據(jù)后,根據(jù)所述數(shù)據(jù)的通道標(biāo)識,查詢所述處理信息表,獲取所述處理信息表中存儲的對應(yīng)記錄的處理信息,作為對當(dāng)前數(shù)據(jù)進(jìn)行封裝處理的對應(yīng)的處理信息。
10.如權(quán)利要求6所述的裝置,其特征在于,所述處理單元具體用于根據(jù)當(dāng)前數(shù)據(jù),按照設(shè)定協(xié)議封裝PSN數(shù)據(jù)包凈荷,并在PSN數(shù)據(jù)包封裝完成時,進(jìn)行校驗處理及發(fā)送,以及封裝下一個PSN數(shù)據(jù)包的包頭,并進(jìn)行控制字的封裝,或者進(jìn)行RTP 頭和控制字的封裝。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)封裝方法及裝置,涉及數(shù)據(jù)處理技術(shù),通過緩存各個通道的處理信息,使得在接收到數(shù)據(jù)時,能夠查詢到當(dāng)前數(shù)據(jù)對應(yīng)的處理信息,并根據(jù)該處理信息實現(xiàn)對當(dāng)前數(shù)據(jù)的封裝處理,不需要單獨(dú)為每個通道建立狀態(tài)機(jī),也不需要占用多個線程,節(jié)省了處理資源,同時也提高了處理效率。
文檔編號H04L12/56GK102546112SQ20121001332
公開日2012年7月4日 申請日期2012年1月16日 優(yōu)先權(quán)日2012年1月16日
發(fā)明者王德明, 郭志惠 申請人:瑞斯康達(dá)科技發(fā)展股份有限公司