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

一種通訊系統(tǒng)中的報(bào)文數(shù)據(jù)提取方法

文檔序號(hào):7972238閱讀:183來(lái)源:國(guó)知局
專利名稱:一種通訊系統(tǒng)中的報(bào)文數(shù)據(jù)提取方法
技術(shù)領(lǐng)域
本發(fā)明涉及各種通訊領(lǐng)域中報(bào)文數(shù)據(jù)的提取方法,尤其涉及通訊領(lǐng)域中網(wǎng)管與主控板、 主控板與業(yè)務(wù)板之間的報(bào)文數(shù)據(jù)提取方法。
背景技術(shù)
在通訊系統(tǒng)中,如光通訊領(lǐng)域,用戶要配置某項(xiàng)業(yè)務(wù), 一般來(lái)說(shuō)由網(wǎng)管把配置業(yè)務(wù)的數(shù) 據(jù)發(fā)送到主控板(發(fā)送的數(shù)據(jù)稱之為報(bào)文數(shù)據(jù),簡(jiǎn)稱報(bào)文),然后主控板對(duì)報(bào)文進(jìn)行集中管理, 然后轉(zhuǎn)發(fā)到業(yè)務(wù)板。業(yè)務(wù)板的狀態(tài)信息也是通過(guò)發(fā)送報(bào)文到主控板,再由主控板轉(zhuǎn)發(fā)到網(wǎng)管。 因此網(wǎng)管、主控板和業(yè)務(wù)板三者之間存在著報(bào)文數(shù)據(jù)傳輸。
隨著用戶需求的增加和系統(tǒng)功能的增強(qiáng),報(bào)文數(shù)據(jù)量越來(lái)越大。為了減少傳輸數(shù)據(jù)量, 報(bào)文數(shù)據(jù)格式釆用多重循環(huán)的定義方法。比如一條設(shè)置MCU RPR端口環(huán)選擇報(bào)文的數(shù)據(jù)如 下所示,單位字節(jié)-
l目標(biāo)子架地址(1),目標(biāo)板地址(2),端口類型(1),端口號(hào)(2),業(yè)務(wù)數(shù)目(2), II 環(huán)選擇方式(1),環(huán)選擇狀態(tài)(1), RPR業(yè)務(wù)ID (2),保留(2),設(shè)置項(xiàng)數(shù)目(2) |||VLAN_S 號(hào)(2), VLAN—E號(hào)(2),保留(2)川…11…1,,,。
兩個(gè)l號(hào)之間為第一重循環(huán),兩個(gè)ll號(hào)之間為第二重循環(huán),以此類推。各種不同的報(bào)文具 有一重、兩重,或任意重循環(huán)數(shù)據(jù)。各重循環(huán)數(shù)據(jù)之間緊密聯(lián)系,是一種包含與被包含的關(guān) 系。采用多重循環(huán)的定義方法后,報(bào)文數(shù)據(jù)格式更簡(jiǎn)潔,傳輸?shù)臄?shù)據(jù)量更少。如主控板發(fā)送 到業(yè)務(wù)板的一條報(bào)文中帶有一個(gè)一重循環(huán),兩個(gè)二重循環(huán),每個(gè)二重循環(huán)中帶有兩個(gè)三重循 環(huán),則發(fā)送的報(bào)文如下-
目標(biāo)子架地址,目標(biāo)板地址,端口類型,端口號(hào),業(yè)務(wù)數(shù)目,環(huán)選擇方式,環(huán)選擇狀態(tài), RPR業(yè)務(wù)ID,保留,設(shè)置項(xiàng)數(shù)目,VLAN—S號(hào),VLAN—E號(hào),保留,VLAN—S號(hào),VLAN—E 號(hào),保留,環(huán)選擇方式,環(huán)選擇狀態(tài),RPR業(yè)務(wù)ID,保留,設(shè)置項(xiàng)數(shù)目,VLAN—S號(hào),VLAN—E 號(hào),保留,VLAN—S號(hào),VLAN—E號(hào),保留。
假如不帶循環(huán)定義的方法,發(fā)送的報(bào)文數(shù)據(jù)量為88字節(jié)。釆用了帶循環(huán)定義的方法后, 發(fā)送的報(bào)文數(shù)據(jù)量為48字節(jié),大大減少了傳輸?shù)膱?bào)文數(shù)據(jù)量。
一般提取帶循環(huán)定義的報(bào)文數(shù)據(jù)的方法是定義結(jié)構(gòu)和偏移指針,該方法有如下缺點(diǎn)-
1、 失去了各重循環(huán)數(shù)據(jù)之間的關(guān)聯(lián)。第一重循環(huán)的結(jié)構(gòu)變量跟第二重循環(huán)的結(jié)構(gòu)變量是 沒有關(guān)聯(lián)的。
2、 不利于擴(kuò)展報(bào)文數(shù)據(jù)。假如原有兩重循環(huán),現(xiàn)在要增加第三重循環(huán),由于指針偏移量 改變了,則已有的提取數(shù)據(jù)方法也要改變。
3、 不利于提取報(bào)文數(shù)據(jù)。假如要提取第三重循環(huán)中的數(shù)據(jù),則要先把指針偏移到第一重 循環(huán)數(shù)據(jù)開始位置,再把指針偏移到第二重循環(huán)數(shù)據(jù)開始位置,再把指針偏移到第三重循環(huán) 數(shù)據(jù)的開始位置才能夠提取數(shù)據(jù)。
4、 不利于査詢報(bào)文。由于報(bào)文的數(shù)據(jù)不一樣,循環(huán)重?cái)?shù)也不一樣,每一種報(bào)文都需要一 種特定的査詢算法,難以編寫一種支持各種命令報(bào)文的通用的査詢算法。

發(fā)明內(nèi)容
本發(fā)明的目的是為了克服現(xiàn)有報(bào)文數(shù)據(jù)提取方法中失去了各重循環(huán)數(shù)據(jù)之間的關(guān)聯(lián)、不 利于擴(kuò)展、不利于提取報(bào)文數(shù)據(jù)、不利于査詢報(bào)文的缺點(diǎn),具體涉及一種通訊系統(tǒng)中的報(bào)文 數(shù)據(jù)提取方法,能夠把任意重循環(huán)的報(bào)文數(shù)據(jù)都方便的提取出來(lái),而且能夠保持各重循環(huán)數(shù) 據(jù)的關(guān)聯(lián),容易擴(kuò)展,容易査詢。
本發(fā)明的技術(shù)方案是通過(guò)類來(lái)代替結(jié)構(gòu)和指針偏移讀取報(bào)文中的數(shù)據(jù),通過(guò)類的關(guān)聯(lián)保 持各重循環(huán)數(shù)據(jù)的關(guān)聯(lián),把報(bào)文數(shù)據(jù)轉(zhuǎn)化成類實(shí)例(樹狀數(shù)據(jù)),再把類實(shí)例(樹狀數(shù)據(jù))轉(zhuǎn) 化成不帶循環(huán)的扁平數(shù)據(jù)(類似關(guān)系數(shù)據(jù)庫(kù)表中的一行數(shù)據(jù))。
本發(fā)明具體是這樣實(shí)現(xiàn)的
一種通訊系統(tǒng)中的報(bào)文數(shù)據(jù)提取方法,包括如下步驟
第一步驟,建立與報(bào)文數(shù)據(jù)中各重循環(huán)數(shù)據(jù)對(duì)應(yīng)的一個(gè)類,所述類中建立與各重循環(huán)數(shù) 據(jù)對(duì)應(yīng)的類成員變量,所述類中建立與下一重循環(huán)數(shù)據(jù)對(duì)應(yīng)的類關(guān)聯(lián),所述類中建立將本重 循環(huán)的報(bào)文數(shù)據(jù)拷貝到類成員變量的成員函數(shù);
第二步驟,生成與報(bào)文數(shù)據(jù)中第一重循環(huán)數(shù)據(jù)對(duì)應(yīng)的第一重循環(huán)類實(shí)例數(shù)組,調(diào)用該類 實(shí)例數(shù)組的成員函數(shù)把報(bào)文數(shù)據(jù)中的第一重循環(huán)數(shù)據(jù)拷貝入類實(shí)例的類成員變量中,重復(fù)該
過(guò)程直至將報(bào)文數(shù)據(jù)中的最后一重循環(huán)數(shù)據(jù)拷貝入與之對(duì)應(yīng)的類實(shí)例的類成員變量中;
第三步驟,通過(guò)類關(guān)聯(lián),從第一重循環(huán)類實(shí)例開始遍歷類實(shí)例的成員變量及其關(guān)聯(lián)的類 實(shí)例成員變量,把成員變量值拷貝入緩沖區(qū)中。 所述第一步驟中,所述類關(guān)聯(lián)使用成員指針實(shí)現(xiàn)。 所述第三步驟中,所述遍歷本類實(shí)例的成員變量及其關(guān)聯(lián)的類實(shí)例成員變量是先根順序、
中根順序、后根順序進(jìn)行的。采用本發(fā)明所述的數(shù)據(jù)提取方法,與現(xiàn)有技術(shù)相比,保持了各重循環(huán)數(shù)據(jù)的關(guān)聯(lián),具有 更好的可擴(kuò)展性,能夠把任意重循環(huán)的報(bào)文數(shù)據(jù)都方便的提取出來(lái),而且能夠容易的編寫一 種通用的數(shù)據(jù)査詢方法來(lái)査找滿足各種條件的報(bào)文。


圖1為本發(fā)明所述的提取報(bào)文數(shù)據(jù)流程圖;圖2 (1)為發(fā)明中定義類來(lái)保持循環(huán)數(shù)據(jù)關(guān)聯(lián)性示意圖;圖2 (2)為圖2 (1)的圖例說(shuō)明示意圖;圖3為報(bào)文數(shù)據(jù)轉(zhuǎn)化成類實(shí)例(樹狀數(shù)據(jù))示意圖;圖4為類實(shí)例(樹狀數(shù)據(jù))轉(zhuǎn)化成扁平數(shù)據(jù)示意圖。
具體實(shí)施方式
隨著通訊系統(tǒng)的發(fā)展,很多通訊設(shè)備如光傳輸設(shè)備中的板間通訊數(shù)據(jù)量不斷增大,導(dǎo)致 傳輸時(shí)間的開銷不斷增大。為了減少板間報(bào)文的數(shù)據(jù)量,采用了帶循環(huán)定義的方法來(lái)減少報(bào) 文數(shù)據(jù)。從帶循環(huán)的報(bào)文數(shù)據(jù)中提取數(shù)據(jù)的一般方法是定義結(jié)構(gòu)和偏移指針,該種方法存在 提取數(shù)據(jù)不便,擴(kuò)展性不好等缺點(diǎn)。本發(fā)明的技術(shù)方案是通過(guò)類來(lái)代替結(jié)構(gòu)和指針偏移讀取報(bào)文中的數(shù)據(jù)(字節(jié)數(shù)組),通過(guò) 類的關(guān)聯(lián)保持各重循環(huán)數(shù)據(jù)的關(guān)聯(lián),把報(bào)文數(shù)據(jù)轉(zhuǎn)化成類實(shí)例(樹狀數(shù)據(jù)),再把類實(shí)例(樹 狀數(shù)據(jù))通過(guò)轉(zhuǎn)化成不帶循環(huán)的扁平數(shù)據(jù)(類似關(guān)系數(shù)據(jù)庫(kù)表中的一行數(shù)據(jù))。使用了該種方 法后,能夠更方便的提取報(bào)文中的數(shù)據(jù),而且能夠支持任意重循環(huán),具有更好的可擴(kuò)展性。本發(fā)明的方案步驟如下-第一步,定義跟報(bào)文中各重循環(huán)數(shù)據(jù)對(duì)應(yīng)的類,并在類中定義與各重循環(huán)數(shù)據(jù)對(duì)應(yīng)的成 員變量。在類中定義與下一重循環(huán)對(duì)應(yīng)的類關(guān)聯(lián)。該關(guān)聯(lián)可以使用成員指針實(shí)現(xiàn),即指針指 向下一重循環(huán)數(shù)據(jù)對(duì)應(yīng)的類。這樣報(bào)文各重循環(huán)數(shù)據(jù)的關(guān)聯(lián)就通過(guò)類的關(guān)聯(lián)保持下來(lái)。由于 存在著類的關(guān)聯(lián),第一重循環(huán)跟第二重,第三重,甚至任意重循環(huán)都能關(guān)聯(lián)起來(lái)。在類中定 義一個(gè)成員函數(shù),該成員函數(shù)的功能是把本重循環(huán)的報(bào)文數(shù)據(jù)拷貝到類成員變量中。假如存 在著下一重循環(huán)數(shù)據(jù),則生成下一重循環(huán)的類實(shí)例數(shù)組,把下一重循環(huán)的報(bào)文數(shù)據(jù)拷貝入下一重循環(huán)類實(shí)例中;以下稱該成員函數(shù)為ParsePacket函數(shù); 第二步,通信模塊接收?qǐng)?bào)文數(shù)據(jù);第三步,生成與報(bào)文數(shù)據(jù)對(duì)應(yīng)的第一重循環(huán)類實(shí)例,調(diào)用該類實(shí)例的ParsePacket函數(shù)把
報(bào)文數(shù)據(jù)拷貝入類實(shí)例的成員變量中;第四步,如果報(bào)文數(shù)據(jù)存在下一重循環(huán)數(shù)據(jù),則生成下一重循環(huán)數(shù)據(jù)類實(shí)例數(shù)組,把報(bào) 文中的下一重循環(huán)數(shù)據(jù)拷貝入下一重循環(huán)數(shù)據(jù)類實(shí)例數(shù)組中;直至最后一重循環(huán)數(shù)據(jù);第五步,通過(guò)類的關(guān)聯(lián),從第一重循環(huán)類實(shí)例(樹狀數(shù)據(jù))開始遍歷本實(shí)例的成員變量 及其關(guān)聯(lián)的類實(shí)例成員變量,把成員變量值拷貝入緩沖區(qū)中,緩沖區(qū)中的數(shù)據(jù)即為不帶循環(huán) 的扁平數(shù)據(jù)。遍歷類實(shí)例樹狀數(shù)據(jù)的方法可以是先根順序、中根順序和后根順序;該實(shí)施步驟的流程圖如附圖1。使用本發(fā)明的方法,即可從扁平數(shù)據(jù)中方便的提取報(bào)文 數(shù)據(jù)。下面以網(wǎng)管發(fā)送設(shè)置MCU RPR端口環(huán)選擇報(bào)文數(shù)據(jù)(該報(bào)文數(shù)據(jù)帶有一個(gè)一重循環(huán), 兩個(gè)二重循環(huán),每個(gè)二重循環(huán)中帶有兩個(gè)三重循環(huán))到主控板為例,具體解析本發(fā)明的實(shí)施 步驟。如下第一步,定義跟報(bào)文中第一重循環(huán)數(shù)據(jù)對(duì)應(yīng)的類CSetRprPortRingSell,并添加成員變量 表示目標(biāo)子架地址,目標(biāo)板地址,端口類型,端口號(hào),業(yè)務(wù)數(shù)目;定義跟報(bào)文中第二重循環(huán) 數(shù)據(jù)對(duì)應(yīng)的類CsetRprPortRingSe12,并添加成員變量表示環(huán)選擇方式,環(huán)選擇狀態(tài),RPR業(yè)務(wù) ID,保留,設(shè)置項(xiàng)數(shù)目;定義跟報(bào)文中第三重循環(huán)數(shù)據(jù)對(duì)應(yīng)的類CsetRprPortRingSe13,并添 加成員變量表示VLAN一S號(hào),VLAN—E號(hào),保留;第二步,在CSetRprPortRingSell類中增加成員變量指針指向下一重循環(huán)數(shù)據(jù)對(duì)應(yīng)的類, 即指向CsetRprPortRingSel2類,初始化為空指針;在CsetRprPortRingSel2類中增加成員變量指 針指向下一重循環(huán)數(shù)據(jù)對(duì)應(yīng)的類,即指向CsetRprPortRingSel3類,初始化為空指針;第三步,在CsetRprPortRingSdl類中增加成員函數(shù)ParsePacket,該函數(shù)的功能是把報(bào)文數(shù) 據(jù)拷貝到CsetRprPortRingSell類的目標(biāo)子架地址,目標(biāo)板地址,端口類型,端口號(hào),業(yè)務(wù)數(shù) 目成員變量中;如果業(yè)務(wù)數(shù)目值大于零,還要調(diào)用CsetRprPortRingSel2類的ParsePacket函數(shù); 在CsetRprPortRingSel2類中增加成員函數(shù)ParsePacket,該函數(shù)的功能是把報(bào)文數(shù)據(jù)拷貝到 CsetRprPortRingSel2類的環(huán)選擇方式,環(huán)選擇狀態(tài),RPR業(yè)務(wù)ID,保留,設(shè)置項(xiàng)數(shù)目成員變量 中;如果設(shè)置項(xiàng)數(shù)目值大于零,還要調(diào)用CsetRprPortRingSel3類的ParsePacket函數(shù);在 CsetRprPortRingSe13類中增加成員函數(shù)ParsePacket,該函數(shù)的功能是把報(bào)文數(shù)據(jù)拷貝到 CsetRprPortRingSel3類的VLAN—S號(hào),VLAN—E號(hào),保留成員變量中,如附圖2 (1);第四步,從通信模塊中接收?qǐng)?bào)文數(shù)據(jù);第五步,生成CSetRprPortRingSell類的實(shí)例,調(diào)用該實(shí)例的ParsePacket成員函數(shù); CSetRprPortRingSell類的ParsePacket成員函數(shù)把報(bào)文數(shù)據(jù)拷貝入成員變量目標(biāo)子架地址,目標(biāo)板地址,端口類型,端口號(hào),業(yè)務(wù)數(shù)目中;業(yè)務(wù)數(shù)目值為2,生成CsetRprPortRingSel2類實(shí) 例數(shù)組,數(shù)組長(zhǎng)度為2,數(shù)組起始地址保存在CSetRprPortRingSell類的下一重循環(huán)類成員指針 中;第六步,遍歷CsetRprPortRingSel2類實(shí)例數(shù)組,調(diào)用CsetRprPortRingSe12類實(shí)例的 ParsePacket方法;CsetRprPortRingSd2類的ParsePacket成員函數(shù)把報(bào)文數(shù)據(jù)拷貝入成員變量環(huán) 選擇方式,環(huán)選擇狀態(tài),RPR業(yè)務(wù)ID,保留,設(shè)置項(xiàng)數(shù)目中;設(shè)置項(xiàng)數(shù)目值為2,生成 CsetRprPortRingSel3類實(shí)例數(shù)組,數(shù)組長(zhǎng)度為2,數(shù)組起始地址保存在CsetRprPortRingSel2類 的下一重循環(huán)類成員指針中;第七步,CsetRprPortRingSe13類的ParsePacket成員函數(shù)把報(bào)文數(shù)據(jù)拷貝入成員變量 VLAN—S號(hào),VLAN一E號(hào),保留,如附圖3;第八步,生成4個(gè)緩沖區(qū);第九步,使用先根順序遍歷CsetRprPortRingSdl類實(shí)例,及其下一重循環(huán)類實(shí)例的成員 變量,把成員變量值拷貝入緩沖區(qū)中,如附圖4;通過(guò)以上的操作即可把報(bào)文數(shù)據(jù)轉(zhuǎn)化成為扁平數(shù)據(jù),保存在緩沖區(qū)中。用戶可以從扁平 數(shù)據(jù)中方便的提取報(bào)文中任何位置的數(shù)據(jù)。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō), 在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾應(yīng)視為本發(fā)明 的保護(hù)范圍。
權(quán)利要求
1、 一種通訊系統(tǒng)中的報(bào)文數(shù)據(jù)提取方法,其特征在于第一步驟,建立與報(bào)文數(shù)據(jù)中各重循環(huán)數(shù)據(jù)對(duì)應(yīng)的一個(gè)類,所述類中建立與各重循環(huán)數(shù) 據(jù)對(duì)應(yīng)的類成員變量,所述類中建立與下一重循環(huán)數(shù)據(jù)對(duì)應(yīng)的類關(guān)聯(lián),所述類中建立將本重 循環(huán)的報(bào)文數(shù)據(jù)拷貝到類成員變量的成員函數(shù);第二步驟,生成與報(bào)文數(shù)據(jù)中第一重循環(huán)數(shù)據(jù)對(duì)應(yīng)的第一重循環(huán)類實(shí)例數(shù)組,調(diào)用該類 實(shí)例數(shù)組的成員函數(shù)把報(bào)文數(shù)據(jù)中的第一重循環(huán)數(shù)據(jù)拷貝入類實(shí)例的類成員變量中,重復(fù)該 過(guò)程直至將報(bào)文數(shù)據(jù)中的最后一重循環(huán)數(shù)據(jù)拷貝入與之對(duì)應(yīng)的類實(shí)例的類成員變量中;第三步驟,通過(guò)類關(guān)聯(lián),從第一重循環(huán)類實(shí)例開始遍歷類實(shí)例的成員變量及其關(guān)聯(lián)的類 實(shí)例成員變量,把成員變量值拷貝入緩沖區(qū)中。
2、 如權(quán)利要求l所述的通訊系統(tǒng)中的報(bào)文數(shù)據(jù)提取方法,其特征在于 所述第一步驟中,所述類關(guān)聯(lián)使用成員指針實(shí)現(xiàn)。
3、 如權(quán)利要求l所述的通訊系統(tǒng)中的報(bào)文數(shù)據(jù)提取方法,其特征在于 所述第三步驟中,所述遍歷本類實(shí)例的成員變量及其關(guān)聯(lián)的類實(shí)例成員變量是先根順序、中根順序、后根順序進(jìn)行的。
全文摘要
本發(fā)明涉及各種通訊領(lǐng)域中報(bào)文數(shù)據(jù)的提取方法,尤其涉及通訊領(lǐng)域中網(wǎng)管與主控板、主控板與業(yè)務(wù)板之間的報(bào)文數(shù)據(jù)提取方法。本發(fā)明公開的一種通訊系統(tǒng)中的報(bào)文數(shù)據(jù)提取方法,通過(guò)類來(lái)代替結(jié)構(gòu)和指針偏移讀取報(bào)文中的數(shù)據(jù),通過(guò)類的關(guān)聯(lián)保持各重循環(huán)數(shù)據(jù)的關(guān)聯(lián),把報(bào)文數(shù)據(jù)轉(zhuǎn)化成類實(shí)例,再把類實(shí)例通過(guò)轉(zhuǎn)化成不帶循環(huán)的扁平數(shù)據(jù)。本發(fā)明保持了各重循環(huán)數(shù)據(jù)的關(guān)聯(lián),具有更好的可擴(kuò)展性,能夠把任意重循環(huán)的報(bào)文數(shù)據(jù)都方便的提取出來(lái),而且能夠容易的編寫一種通用的數(shù)據(jù)查詢方法來(lái)查找滿足各種條件的報(bào)文。
文檔編號(hào)H04L12/56GK101146028SQ20061015204
公開日2008年3月19日 申請(qǐng)日期2006年9月12日 優(yōu)先權(quán)日2006年9月12日
發(fā)明者李小偉, 黃海倫 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1