專利名稱:報文解析方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種報文解析方法和裝置。
背景技術(shù):
現(xiàn)有解析時鐘報文技術(shù)中,要完成固定位置字節(jié)匹配和校驗算法計算。固 定位置字節(jié)匹配可以在時鐘報文的固定位置取出相關(guān)信息,固定位置字節(jié)內(nèi)容
主要有兩種 一是協(xié)議類型字節(jié);二是六元組信息,即SMAC(源物理地址)、DMAC (目的物理地址)、SIP (源網(wǎng)絡(luò)協(xié)議地址)、DIP (目的網(wǎng)絡(luò)協(xié)議地址)、SPORT (源端口 )和DPORT (目的端口 )。校驗算法計算可以確定時鐘報文是否接收無 誤,校驗計算要在MAC (Media Access Control,媒體訪問控制)層處理完成 CRC (Cyclic Redundancy Check, ^f盾環(huán)冗余才交-瞼)32的才吏-瞼,IP (Internet Protocol,網(wǎng)際協(xié)i義)層處理完成IP頭校-瞼,傳輸層完成UDP (User Datagram Protocol,用戶數(shù)據(jù)報文協(xié)議)校驗,這些校驗算法都是以字節(jié)或雙字節(jié)為單 位進行的。這些校驗算法固定,將輸入時鐘報文某些字節(jié)經(jīng)過校驗算法運算獲 得的計算值與時鐘報文中攜帶的校驗值進行比較,以確定報文是否接收無誤。
現(xiàn)有解析時鐘報文的裝置中,時鐘報文輸入后有N個并行的分支,每個分 支的時鐘報文由對應(yīng)的協(xié)議來解析,每個協(xié)議處理模塊完成相應(yīng)協(xié)議報文的解 析,如果在解析過程中發(fā)現(xiàn)輸入時鐘報文是本協(xié)議處理模塊對應(yīng)的時鐘報文, 則輸出解析結(jié)果,同時向選擇控制模塊給出解析有效標(biāo)志。如果在解析過程中 發(fā)現(xiàn)輸入時鐘報文不是本協(xié)議處理模塊對應(yīng)的時鐘報文,則不輸出解析結(jié)果輸 出,同時向選擇控制模塊給出解析無效標(biāo)志。選擇控制模塊根據(jù)所有協(xié)議處理 模塊輸出的解析有效標(biāo)志選擇相應(yīng)協(xié)議處理模塊的解析輸出。
在上述解析時鐘報文的裝置中,如果時鐘報文支持新的協(xié)議,就必須增加新的協(xié)議處理模塊,并重新設(shè)計邏輯和開發(fā)代碼,不能夠方便地對解析報文裝 置進行擴展,缺乏靈活性。這樣就會導(dǎo)致產(chǎn)品開發(fā)成本上升,產(chǎn)品上市周期延 后,并且原有的產(chǎn)品無法支持新功能,將會被淘汰,造成資源浪費。
發(fā)明內(nèi)容
本發(fā)明的實施例提供了 一種報文解析方法和裝置,能夠解決現(xiàn)有解析"l良文 裝置缺乏擴展靈活性的問題。
為達到上述目的,本發(fā)明的實施例采用如下技術(shù)方案
一種報文解析方法,包括
接收報文;
在預(yù)存模板中確定與所述接收的報文相匹配的模板; 利用確定的模板對所述報丈進行解析,并輸出解析結(jié)果。 一種報文解析裝置,包括 報文匹配單元,用于接收報文;
可配置協(xié)議模板單元,用于存儲對報文進行解析的模板;
模板選擇單元,用于選擇所述可配置協(xié)議模板單元中的模板;
所述報文匹配單元還用于將所述接收的報文與所述模板選擇單元選取的模
板進4亍匹配,并知t出匹配結(jié)果;
報文處理控制單元,用于根據(jù)所述報文匹配單元的匹配結(jié)杲確定與所述接
收的報文相匹配的模板,利用確定的模板對所述接收的報文進行解析,并輸出
解析結(jié)果。
本發(fā)明實施例提供的一種報文解析方法和裝置,先預(yù)存解析報文的模板, 根據(jù)接收到的報文選擇相匹配的模板,對接收到的報文進行解析。本發(fā)明實施 例提供的技術(shù)方案利用可配置協(xié)議模板實現(xiàn)解析報文裝置的擴展性,使該解析報文裝置能夠靈活處理各種新增協(xié)議的報文,從而解決了現(xiàn)有報文解析裝置不 能夠方便地進行擴展,缺乏靈活性的問題,進而減少了現(xiàn)有報文解析裝置適應(yīng) 性差帶來的產(chǎn)品成本上升、上市周期延、資源浪費等問題。
圖1為本發(fā)明實施例所述報文解析方法流程圖2為本發(fā)明實施例所述報文解析裝置中單個模板的結(jié)構(gòu)示意圖3為本發(fā)明實施例所述報文解析方法流程圖4為本發(fā)明實施例所述報文解析方法流程圖5為本發(fā)明實施例所述報文解析裝置框圖。
具體實施例方式
本發(fā)明實施例提供了一種報文解析方法、裝置,下面結(jié)合附圖對本發(fā)明實 施例進4于if細介紹 實施例一
本發(fā)明實施例提供了一種報文解析方法,下面結(jié)合圖l對該方法進行介紹。 如圖1所示,該方法可以包括
101、 接收報文。
102、 在預(yù)存模板中確定與所述接收的報文相匹配的模板。 本發(fā)明實施例中,可以采用RAM (隨機訪問存儲器)存儲協(xié)議模板。整個
RAM空間可以分為若干個子RAM空間,每個子RAM空間存儲一個模板,每個模板 可以對應(yīng)一種協(xié)議,在整個RAM空間中有若干個預(yù)存沖莫板,子RAM空間中的模 板數(shù)據(jù)可以以報文規(guī)定的格式進行配置。RAM存儲空間的容量決定了可以支持的 模板的數(shù)量,從而只要預(yù)留足夠的RAM存儲空間,就能夠支持新增協(xié)議的報文。 在接收到報文之后,在預(yù)存模板中選取模板與該報文進行匹配嘗試,可以
7在預(yù)存模板中任意選取一個模板與該報文進行匹配嘗試,也可以按照預(yù)存模板 的順序逐一選取模板與該報文進行匹配嘗試。
本發(fā)明實施例中的報文解析方法可以適用于各種報文,例如時鐘報文。以
時鐘報文為例,如圖2所示, 一個模板的規(guī)格可以為16bit (寬度)xD (深度), 深度DX (L為實際報文長度,以字節(jié)為單位)。10、 11、 12、 13、 14、 15分別 為模板中字(雙字節(jié))的位置,這些位置上的值需要完成固定位置字節(jié)匹配。 固定位置字節(jié)內(nèi)容BO、 Bl、 B2、 B3、 B4、 B5分別填入模板中位置10、 11、 12、 13、 14、 15相應(yīng)字的bit7 ~ 0行,同時在模板中位置IO、 11、 12、 13、 14、 15 相應(yīng)字的bitll行填入1,表明該位置字節(jié)需要做字節(jié)匹配。bit8行為1的位 置表明在該位置的字節(jié)需要做CRC32校驗,即MAC層校驗;bit9行為l的位置 表明在該位置的字節(jié)需要做IP頭校驗;bitlO行為1的位置表明在該位置的字 節(jié)需要做UDP校驗。bitl2 15行所有位置填入0,暫時保留不用。也就是說, 在該模板的高8bit行可以定義8種基于字節(jié)的運算操作,是否取用時鐘報文中 相應(yīng)位置的字節(jié)做相應(yīng)操作需要視該位置定義的bit是否有效。
在接收到時鐘報文之后,在預(yù)存模板中選取模板與該時鐘報文進行匹配嘗 試,可以在預(yù)存模板中任意選取一個模板與該時鐘報文進行匹配嘗試,也可以 按照預(yù)存模板的順序逐一選取模板與該時鐘報文進行匹配嘗試。其中,匹配嘗 試可以是根據(jù)所選取的模板對接收到的時鐘報文數(shù)據(jù)進行MAC層CRC校驗和、 IP頭校驗和以及UDP校驗和的計算,并且對固定位置的數(shù)據(jù)進行對比,繼而根 據(jù)校驗和計算的結(jié)果和數(shù)據(jù)匹配對比的結(jié)果,就可以判斷選取的模板是否與接 收到的時鐘報文相匹配。如果匹配成功,則利用該模板對接收到的時鐘報文進 行解析,同時確定該才莫^1。
103、利用確定的模板對所述報文進行解析,并輸出解析結(jié)果。確定的模板是與接收到的報文匹配成功的,能夠?qū)邮盏降膱笪倪M行解析, 確定的模板里預(yù)存有與接收到的報文相對應(yīng)的協(xié)議,利用所述協(xié)議對接收到的 報文進行解析,并輸出解析結(jié)果。利用報文協(xié)議對報文進行解析的過程屬于現(xiàn) 有技術(shù),在此不再贅述。
如果在預(yù)存模板中找不到與接收到的報文相匹配的模板,說明預(yù)存模板中
沒有對應(yīng)該報文的模板,只需要在預(yù)留的RAM存儲空間增加與該報文相對應(yīng)的 模板即可。
本發(fā)明實施例提供的一種報文解析方法,先預(yù)存解析報文的模板,根據(jù)接 收到的報文選擇相匹配的模板,對接收到的報文進行解析。如果有新增報文, 只需要在預(yù)留的RAM空間中增加對應(yīng)新增報文的模板即可,不用淘汰原有產(chǎn)品, 本發(fā)明實施例提供的技術(shù)方案利用可配置模板使該報文解析方法能夠靈活處理 各種報文,從而解決了現(xiàn)有報文解析裝置不能夠方便地進行擴展,缺乏靈活性 的問題。
實施例二
進一步地,為了減少解析報文花費的時間,需要控制進行匹配嘗試的時間, 本發(fā)明實施例提供了另一種報文解析方法,如圖3所示,該方法可以包括
301、 接收報文。
302、 在預(yù)存模板中選取模板與該報文進行匹配嘗試。 本發(fā)明實施例采用RAM (隨機訪問存儲器)存儲協(xié)議模板,具體設(shè)置參考實
施例一所述。在接收到報文之后,在預(yù)存模板中選取模板與該報文進行匹配嘗 試,可以在預(yù)存模板中任意選取一個模板與該報文進行匹配嘗試,也可以按照 預(yù)存模板的順序選取第 一 個模板與該報文進行匹配嘗試。
該匹配嘗試的過程可以參考前面實施例的相關(guān)描述,此處不再贅述。303、 判斷在第一預(yù)設(shè)時間內(nèi)是否匹配成功,如果否,轉(zhuǎn)向步驟304,如果
是,轉(zhuǎn)向步驟305。
為了減少解析報文花費的時間,需要控制進行匹配嘗試的時間,例如,可 以設(shè)置第一預(yù)設(shè)時間,如果在第一預(yù)設(shè)時間之內(nèi)匹配不成功,則從預(yù)存模板中 重新選取一個模板與所述報文進行匹配嘗試。該第 一預(yù)設(shè)時間的長度可以根據(jù) 用戶需要來設(shè)置。其中,可以通過一個第一定時器來控制進行匹配嘗試的時間, 在選取模板與該報文進行匹配嘗試時啟動第 一定時器,如果在第 一定時器超時 之后,仍不能匹配成功,則從預(yù)存模板中重新選取一個模板與所述報文進行匹 配嘗試。
304、 重新選取^莫板與該報文進行匹配嘗試。
該步驟中,可以選取當(dāng)前模板的下一個模板與報文進行匹配嘗試。若在第 一定時器超時后仍不能匹配成功,則轉(zhuǎn)向當(dāng)前模板的下一個模板進行匹配嘗試, 重復(fù)步驟303,如果在第一定時器超時之前匹配成功,轉(zhuǎn)向步驟305。
305、 確定該匹配成功的模板為對報文進行解析的模板,利用該確定的模板 對報文進行解析,并輸出解析結(jié)果。
若在第一預(yù)設(shè)時間內(nèi)匹配成功,則確定該模板為對才艮文進行解析的模板, 利用該模板對報文進行解析,也就是利用該^t板里面存儲的協(xié)議對報文進行解 析,并輸出解析結(jié)果。
本發(fā)明實施例提供的 一種報文解析方法,將接收到的報文與預(yù)存的模板進 行匹配,選擇相匹配的模板對接收到的報文進行解析。如果有新增協(xié)議的報文, 只需要增加對應(yīng)新增協(xié)議報文的模板即可,不用淘汰原有產(chǎn)品,本發(fā)明實施例 提供的技術(shù)方案能夠靈活處理各種新增協(xié)議的報文,從而解決了現(xiàn)有報文解析 裝置不能夠方便地對解析報文裝置進行擴展,缺乏靈活性的問題。進一步地,通過設(shè)置第 一預(yù)設(shè)時間來控制進行匹配嘗試的時間,可以減少解析報文花費的 時間,提高效率。
實施例三
進一步地,本發(fā)明實施例提供了另一種報文解析方法,如圖4所示,該方 法可以包括
401、 接收報文;
402、 在預(yù)存模板中選取模板與該報文進行匹配嘗試,確定與所述報文相匹 配的模板;
403、 利用確定的才莫板對所述報文進行解析,并輸出解析結(jié)果; 上述步驟401-403的具體執(zhí)行過程可以參考實施一或者實施例二中的相關(guān)描述。
步驟403之后,可以繼續(xù)利用上述確定的模板對后續(xù)接收到的報文進行解 析,后續(xù)接收到的報文可以是在對當(dāng)前報文進行解析,并輸出解析結(jié)果后接收 到的,也可以是在對當(dāng)前報文進行解析時接收到的,如果是在對當(dāng)前報文進行 解析時接收到后續(xù)報文,則需要將后續(xù)接收到的報文暫存起來,在解析完當(dāng)前 的報文后,再對后續(xù)接收到的報文進行解析。如果后續(xù)接收到的報文與401中 接收到的報文是同一協(xié)議的,那么就能夠利用確定的這個模板對接收到的報文 進行解析,并輸出解析結(jié)果,如果后續(xù)接收到的報文與401中接收到的報文不 同協(xié)議,則沒有解析結(jié)果輸出,需要重新確定匹配的模板。具體可以如下
404、 繼續(xù)接收報文;
405、 利用確定的才莫板對所述繼續(xù)接收到的報文進行解析;
406、 判斷第二預(yù)設(shè)時間內(nèi)是否有解析結(jié)果輸出,如果沒有解析結(jié)果輸出, 轉(zhuǎn)向步驟402,如果有解析結(jié)果輸出,則直接輸出該解析結(jié)果。該步驟中,可以設(shè)置一個第二預(yù)設(shè)時間,該第二預(yù)設(shè)時間的長度可以根據(jù) 實際需要進行設(shè)置。具體地,可以通過一個第二定時器來控制該第二預(yù)設(shè)時間。 如果在第二預(yù)設(shè)時間內(nèi)沒有解析結(jié)果輸出,則說明后續(xù)接收到的報文與401中 接收到的報文不同協(xié)議,需要在預(yù)存模板中重新確定與所述后續(xù)接收到的報文 相匹配的模板,并利用新確定的模板對后續(xù)接收到的報文進行解析,輸出解析
結(jié)杲,也就是說執(zhí)行步驟402-403;如果在第二預(yù)設(shè)時間內(nèi)有解析結(jié)果輸出,說 明后續(xù)接收到的報文與401中接收到的報文是同一協(xié)議的,直接輸出該解析結(jié)果。
需要說明的是,也可以不設(shè)置該第二預(yù)設(shè)時間,也就是說當(dāng)后續(xù)接收到報 文時,不執(zhí)行步驟405-406,而是直接在預(yù)存模板中確定與后續(xù)接收到的報文匹 配的模板進行解析,也就是說直接執(zhí)行步驟401-403。
本發(fā)明實施例提供的 一種報文解析方法,在當(dāng)前確定的模板不能對新接收 到的報文進行解析時,重新選取模板與接收到的報文進行匹配,并利用匹配的 模板對報文進行解析,其中,通過第二預(yù)設(shè)時間控制重新開始確定模板的時間, 可以在當(dāng)前確定的模板不能對后續(xù)接收到的報文進行解析時,盡快重新確定一 個能夠?qū)罄m(xù)接收到的報文進行解析的模板,避免長時間不能輸出解析結(jié)果, 提高效率。
實施例四
本發(fā)明實施例還提供了一種報文解析裝置,如圖5所示,該裝置可以包括 可配置協(xié)議模板單元501、模板選擇單元502、報文匹配單元5Q3和報文處理控 制單元504。
其中,可配置協(xié)議模板單元501用于存儲對報文進行解析的模板,可配置 協(xié)議模板單元501可以用RAM來實現(xiàn)存儲,整個RAM分為若干個子RAM,每個子R組存儲一種協(xié)議的沖莫板,可以對一種協(xié)議的^JL進行解析;
模板選擇單元502用于在可配置協(xié)議模板單元501存儲的模板中選擇一個模板。
報文匹配單元503可以用于接收報文,讀取接收到的報文和模板數(shù)據(jù),并 將報文與模板選擇單元502所選擇的模板進行匹配嘗試,并將匹配結(jié)果發(fā)送給 報文控制單元504;
具體地,可以由多個才莫塊完成才艮文匹配單元的功能,例如,才艮文匹配單元 503可以包括報文接收模塊、讀取模塊、匹配模塊和發(fā)送模塊。其中,報文接收 模塊用于接收報文,讀取模塊用于讀取接收到的報文和模板數(shù)據(jù),匹配模塊用 于將報文與模板選擇單元502所選擇的模板進行匹配嘗試,發(fā)送模塊用于將匹 配結(jié)果發(fā)送給報文控制單元504;
報文處理控制單元504可以用于控制模板選擇單元502在可配置協(xié)議模板 單元501存儲的模板中選擇一個模板對報文匹配解析單元503接收到的報文進 行解析,并根據(jù)報文匹配單元503發(fā)送的匹配結(jié)果來在預(yù)存模板中確定一個與 所述報文相匹配的模板,利用確定的模板對所述報文進行解析,并輸出解析結(jié) 果。
具體地,具體地,可以由多個模塊完成報文處理控制單元的功能,例如, 報文處理控制單元503可以包括接收模塊、確定模塊和解析模塊。其中,接收 模塊用于接收報文匹配單元發(fā)送的匹配結(jié)果,確定模塊用于根據(jù)報文匹配單元 發(fā)送的匹配結(jié)杲來在預(yù)存模板中確定一個與所述報文相匹配的模板,解析模塊 用于利用確定的模板對所述報文進行解析,并輸出解析結(jié)果。
進一步地,可配置協(xié)議模板單元501可以用一個RAM來實現(xiàn)存儲,例如, 將整個RAM空間劃分為M個子RAM空間,其中軟件以定義的才莫板格式配置其中
13的N個(N<=M)模板。RAM存儲空間的容量決定了可以支持的協(xié)議模板的數(shù)量, 所以只要預(yù)留足夠的RAM存儲空間,就可以在出現(xiàn)新協(xié)議類型的報文時,在預(yù) 留的RAM存儲空間中配置相應(yīng)的模板以支持新協(xié)議類型的報文,從而滿足擴展 性需求。
模板選擇單元502可以是一個數(shù)據(jù)選擇器,還可以通過報文處理控制單元 504在報文匹配單元接收到報文后,控制模板選擇單元502選取可配置協(xié)議模板 單元中的一個模板來解析當(dāng)前接收到的報文。
下面對該裝置的工作流程進行介紹
在報文匹配單元503接收到報文之后,模板選擇單元502選擇可配置協(xié)議 模板單元501中的一個模板對所述報文進行解析。
以時鐘報文為例,報文匹配單元503以字節(jié)為單位依次讀入接收到的報文 數(shù)據(jù)和選擇的模板數(shù)據(jù),根據(jù)模板數(shù)據(jù)對接收到的時鐘報文數(shù)據(jù)進行MAC層CRC 校驗和、IP頭校驗和、UDP校驗和的計算,以及對固定位置數(shù)據(jù)進行比對匹配。 從而根據(jù)校驗和計算的結(jié)果和數(shù)據(jù)匹配比對的結(jié)果,向報文處理控制單元指示 所選取的模板是否與所述時鐘報文相匹配。
如果所選取的模板與所述報文匹配,則報文處理控制單元確定該模板為對 報文進行解析的模板,利用該模板對報文進行解析,并輸出解析結(jié)果。如果所 選取的模板與所述報文不匹配,則報文處理控制單元控制模板選擇單元重新選 擇模板,直至找出與所述報文相匹配的模板。
報文匹配單元503還可以有S0、 Sl、 S2三個工作狀態(tài)。報文處理控制單元 根據(jù)報文匹配單元發(fā)送的匹配結(jié)果控制報文匹配單元的工作狀態(tài)。下面對報文 匹配解析單元的工作狀態(tài)進行介紹
SO:空閑狀態(tài)。電路啟動或復(fù)位時,報文匹配單元處于S0狀態(tài)。當(dāng)報文匹配單元能夠讀入報文時,狀態(tài)會從SO跳轉(zhuǎn)入Sl 。
SI:模板搜索狀態(tài)。從SO狀態(tài)進入SI狀態(tài)后,報文處理控制單元逐一取 用可配置協(xié)議模板單元中的所有模板對輸入的報文進行匹配嘗試。具體為控 制模板選擇單元選取可配置協(xié)議模板單元中的模板與所述報文進行匹配嘗試, 如果匹配成功,則確定該模板對報文進行解析,才艮文匹配單元工作狀態(tài)轉(zhuǎn)入報 文解析狀態(tài)S2;
S2:報文解析狀態(tài)。在S2狀態(tài),該裝置已經(jīng)確定一個與所述報文相匹配的 模板,利用該確定的模板解析報文。此時報文匹配單元接收報文,并讀入報文數(shù)據(jù)。
進一步地,報文處理控制單元還可以包括第一定時器,第一定時器用于在 報文匹配單元處于狀態(tài)SI時控制模板與報文進行匹配嘗試的時間。
進一步地,報文處理控制單元還可以包括第二定時器,在確定對報文進行 解析的模板之后,如果后續(xù)接收到的報文與之前接收到的報文是同 一協(xié)議的, 那么就能夠利用確定的這個模板對后續(xù)接收到的報文進行解析,并輸出解析結(jié) 果,如果后續(xù)接收到的報文與之前接收到的報文不同協(xié)議,則沒有解析結(jié)果輸 出,需要重新確定匹配的模板,第二定時器就用于在不能輸出解析結(jié)果時,控 制重新啟動模板搜索過程的時間。下面對第一定時器和第二定時器的應(yīng)用進行 介紹
報文匹配解析單元處于SI狀態(tài)時,報文處理控制單元控制模板選擇單元選 取可配置協(xié)議模板單元中的一個當(dāng)前模板與所述報文進行匹配嘗試,可以利用 第一定時器控制模板與報文進行匹配嘗試的時間,在選取模板與報文進行匹配 嘗試的同時啟動第一定時器,若在第一定時器超時前匹配成功,則確定利用當(dāng) 前模板對報文進行解析,若在第一定時器超時后仍不能匹配成功,則仍然處于模板搜索狀態(tài)Sl,轉(zhuǎn)向當(dāng)前模板的下一個模板,直至確定一個與所述報文相匹 配的模板。該第一定時器設(shè)置的時間還可以為第一預(yù)設(shè)時間,第一定時器和第 一預(yù)設(shè)時間可以根據(jù)實際需要進行設(shè)置。
在確定一個與所述報文相匹配的模板之后,如果再接收到后續(xù)報文,繼續(xù) 利用上述確定的模板對后續(xù)接收到的報文進行解析,后續(xù)接收到的報文可以是 在對當(dāng)前報文進行解析,并輸出解析結(jié)果后接收到的,也可以是在對當(dāng)前報文 進行解析時接收到的,如果是在對當(dāng)前報文進行解析時接收到后續(xù)報文,則該 裝置還包括存儲單元,將后續(xù)接收到的報文暫存起來,在解析完當(dāng)前的報文后, 再對存儲單元里面所存儲的報文進行解析,同時清空存儲單元。
如果后續(xù)接收到的報文與所述報文是同 一協(xié)議的,那么就能夠利用確定的 這個模板對后續(xù)接收到的報文進行解析,并輸出解析結(jié)果,如果后續(xù)接收到的 報文與所述報文是不同協(xié)議的,則沒有解析結(jié)果輸出,需要重新確定與后續(xù)接 收到的報文匹配的模板??梢岳玫诙〞r器控制重新開始確定模板的時間,
具體應(yīng)用為在接收到后續(xù)報文的同時啟動第二定時器,如杲在第二定時器超 時之前,有解析結(jié)果輸出,就不再重新確定才莫板;如果在第二定時器超時之后, 沒有解析結(jié)果輸出,則重新轉(zhuǎn)入模板搜索狀態(tài)Sl,重新啟動模板搜索過程,重 新確定能夠與后續(xù)接收到的報文相匹配的模板。該第二定時器設(shè)置的時間還可 以為第二預(yù)設(shè)時間,第二定時器或第二預(yù)設(shè)時間可以根據(jù)實際需要進行設(shè)置。 本發(fā)明實施例提供的解析報文的裝置可以應(yīng)用到時鐘服務(wù)器中。 本發(fā)明實施例提供的一種報文解析裝置,利用RAM空間預(yù)存解析報文的模 板,根據(jù)接收到的報文選擇相匹配的模板,對接收到的報文進行解析。如果有 新增協(xié)議的報文,只需要在預(yù)留的RAM空間中增加對應(yīng)新增協(xié)議報文的模板即 可,不用淘汰原有產(chǎn)品,本發(fā)明實施例提供的技術(shù)方案利用可配置協(xié)議模板實現(xiàn)解析報文裝置的擴展性,使該解析報文裝置能夠靈活處理各種新增協(xié)議的報 文,從而解決了現(xiàn)有報文解析裝置不能夠方便地對解析報文裝置進行擴展,缺 乏靈活性的問題,進而減少了現(xiàn)有報文解析裝置適應(yīng)性差帶來的產(chǎn)品成本上升、 上市周期延、資源浪費等問題。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是 可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀 存儲介質(zhì)中,該程序在執(zhí)行時,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤 或光盤等。
以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于 此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到 變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng) 以所述權(quán)利要求的保護范圍為準(zhǔn)。
權(quán)利要求
1、一種報文解析方法,其特征在于,包括接收報文;在預(yù)存模板中確定與所述接收的報文相匹配的模板;利用確定的模板對所述報文進行解析,并輸出解析結(jié)果。
2、 根據(jù)權(quán)利要求1所述的報文解析方法,其特征在于,所述在預(yù)存模板中 確定與所述接收的報文相匹配的模板包括將所述預(yù)存模板中的模板與所述接收的報文進行匹配; 判斷所述匹配是否成功;如果所述匹配成功,則將該匹配成功的模板確定為與所述接收報文相匹配 的模板。
3、 根據(jù)權(quán)利要求2所述的報文解析方法,其特征在于,所述在預(yù)存模板中確定與所述接收的報文相匹配的模板還包括如果在第一預(yù)設(shè)時間內(nèi)沒有匹配成功,則從所述預(yù)存模板中重新選取模板 與所述接收的才良文進4亍匹配。
4、 根據(jù)權(quán)利要求2所述的報文解析方法,其特征在于,當(dāng)所述報文為時鐘 報文時,所述將所述預(yù)存模板中的模板與所述接收的報文進行匹配包括根據(jù)所述模板對所述接收的報文的數(shù)據(jù)進行媒體訪問控制層循環(huán)冗余校驗 和、網(wǎng)際協(xié)議頭校驗和、用戶數(shù)據(jù)報文協(xié)議校驗和的計算,并將所述模板以及 所述接收的報文固定位置的數(shù)據(jù)進行對比;則所述判斷所述匹配是否成功包括根據(jù)所述計算結(jié)果和對比結(jié)果判斷所述模板是否與所述接收的報文匹配。
5、 根據(jù)權(quán)利要求1-4任一項所述的報文解析方法,其特征在于,該方法還 包括利用所述確定的模板對后續(xù)接收到的報文進行解析,如果在第二預(yù)設(shè)時間 內(nèi)沒有解析結(jié)杲輸出,則在預(yù)存模板中重新確定與所述后續(xù)接收到的報文相匹 配的模板。
6、 根據(jù)權(quán)利要求1-4所述的報文解析方法,其特征在于,所述方法還包括如果在所述預(yù)存模板中沒有與所述接收到的報文匹配的模板,則增加與所 述報文匹配的模板至所述預(yù)存模板。
7、 一種報文解析裝置,其特征在于,該裝置包括 報文匹配單元,用于接收報文;可配置協(xié)議模板單元,用于存儲對報文進行解析的模板; 模板選擇單元,用于選擇所述可配置協(xié)議模板單元中的模板; 所述報文匹配單元還用于將所述接收的報文與所述模板選擇單元選取的模板進行匹配,并輸出匹配結(jié)果;報文處理控制單元,用于根據(jù)所述報文匹配單元的匹配結(jié)果確定與所述接收的報文相匹配的模板,利用確定的模板對所述接收的報文進行解析,并輸出解析結(jié)果。
8、 根據(jù)權(quán)利要求7所述的報文解析裝置,其特征在于, 報文處理控制單元還用于根據(jù)匹配結(jié)果或者解析結(jié)果控制模板選擇單元在所述可配置協(xié)議模板單元存儲的模板中選擇模板。
9、 根據(jù)權(quán)利要求7所述的報文解析裝置,其特征在于,所述可配置協(xié)議模 板單元采用隨機訪問存儲器存儲所述模板,所述隨機訪問存儲器包括子隨機訪 問存儲器,每個子隨機訪問存儲器存儲一個模板,所述模板解析相應(yīng)協(xié)議的報 文。
10、 根據(jù)權(quán)利要求7或8所述的解析報文的裝置,其特征在于,如果在第一預(yù)設(shè)時間內(nèi)沒有匹配成功,則所述報文處理控制單元控制所述模板選擇單元 從所述預(yù)存模板中重新選取模板與所述報文進行匹配。
11、根據(jù)權(quán)利要求7所述的解析報文的裝置,其特征在于,如果在第二預(yù) 設(shè)時間之內(nèi)報文處理控制單元沒有解析結(jié)果輸出時,所述報文處理控制單元控 制所述模板選擇單元從所述預(yù)存模板中重新選取模板與所述后續(xù)接收到的報文 進孑亍匹配。
全文摘要
本發(fā)明實施例公開了一種報文解析的方法和裝置。本發(fā)明實施例提供的技術(shù)方案利用可配置協(xié)議模板實現(xiàn)報文解析裝置的擴展性,采用該報文解析裝置能夠靈活處理各種新增協(xié)議的網(wǎng)絡(luò)報文,從而解決了現(xiàn)有報文解析裝置缺乏擴展性的問題,進而減少了現(xiàn)有報文解析裝置適應(yīng)性差帶來的產(chǎn)品成本上升、上市周期延、資源浪費等問題。本發(fā)明實施例提供的技術(shù)方案可以應(yīng)用在數(shù)字通信設(shè)備中。
文檔編號H04L12/56GK101547156SQ200910136249
公開日2009年9月30日 申請日期2009年5月4日 優(yōu)先權(quán)日2009年5月4日
發(fā)明者嚴(yán)開恩 申請人:華為技術(shù)有限公司