两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種不同接口報文間的自動轉(zhuǎn)換方法及其裝置的制作方法

文檔序號:7917279閱讀:224來源:國知局
專利名稱:一種不同接口報文間的自動轉(zhuǎn)換方法及其裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及報文轉(zhuǎn)換技術(shù),尤其涉及網(wǎng)絡(luò)管理系統(tǒng)中的一種不同接口報文 間的自動轉(zhuǎn)換方法及其裝置。
背景技術(shù)
在網(wǎng)絡(luò)管理系統(tǒng),如圖l所示,包括圖形接口界面(GUI) 101,負責(zé)圖 形化顯示網(wǎng)管信息;管理者(Manager) 102,擔(dān)當(dāng)服務(wù)器角色;代理(Agent) 103,擔(dān)當(dāng)電信管理網(wǎng)(TMN)中的代理者角色,運行在主控板網(wǎng)絡(luò)核心協(xié)議 (NCP)上,基于嵌入式實時多任務(wù)操作系統(tǒng),由NCP板上的嵌入式系統(tǒng)實現(xiàn); 多點控制單元(MCU) 104,是每一塊同步數(shù)字系列(SDH)設(shè)備單板上的管 理控制單元。GUI101與管理者102之間通過F 口報文進行通信;管理者102 和代理1 03之間通過Qx 口報文進行通信;代理103和MCU 104之間通過S 接口報文進行通信。通信時,管理者102收到F接口報文后可能需要將該報文 轉(zhuǎn)發(fā)給代理103,故管理者102需要提取該報文中有源值字段的值,根據(jù)該有 源值字段的數(shù)據(jù)封裝Qx接口報文,并將該報文轉(zhuǎn)發(fā)至Qx接口,代理103收 到管理者102下發(fā)的Qx接口報文后,可能同樣處理轉(zhuǎn)發(fā)至S接口。如果將F 接口稱為Qx接口的上游接口, S接口稱為Qx接口的下游接口,某一接口的報 文與其上下文接口報文間存儲的有源值字段是相同的。
ASN.l (Abstract Syntax Notation 1 )是國際電信聯(lián)盟(ITU)定義的描述在 網(wǎng)絡(luò)上傳輸信息格式的標(biāo)準(zhǔn),使用ASN.l標(biāo)準(zhǔn)的報文格式通信是目前電信網(wǎng)管 系統(tǒng)最為常見的通信方式,本文中所述的報文均采用該標(biāo)準(zhǔn)定義的報文格式。 按照ASN.l標(biāo)準(zhǔn),報文結(jié)構(gòu)中一般包含報文頭和報文體,而報文頭和報文體又 可以包含結(jié)構(gòu)和簡單數(shù)據(jù)類型,結(jié)構(gòu)中又可以嵌套結(jié)構(gòu),可以根據(jù)需要定義較多層次的報文嵌套,所以報文呈現(xiàn)出層次關(guān)系,也就是說,報文可以表示成樹狀結(jié)構(gòu),并以樹對象表示樹狀結(jié)構(gòu)。通常,以VAL格式存儲報文,所謂VAL 格式指將結(jié)構(gòu)體和該結(jié)構(gòu)體中字段的值同時存儲,這樣方便直接查看各個字段 的值,可視性較高。對網(wǎng)絡(luò)管理系統(tǒng)的測試軟件來說,構(gòu)造接口報文是測試的首要條件,測試 某個接口時一般需要大量手工構(gòu)造該接口報文,手工構(gòu)造報文的工作量隨接口 報文數(shù)量線性增加;隨著該接口不斷的開發(fā)和測試,該接口的上下游接口同樣 需要測試,而測試新接口就需要新的接口報文,如果重新構(gòu)造這些新的接口報 文,會大量重復(fù)以前手工逐條構(gòu)造報文的過程,工作繁瑣且效率較為低下。發(fā)明內(nèi)容有鑒于此,本發(fā)明的主要目的在于提供一種不同接口報文間的自動轉(zhuǎn)換方 法及其裝置,能實現(xiàn)不同接口報文的批量自動轉(zhuǎn)換,減少測試用例設(shè)計工作量, 提高測試效率。為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的 本發(fā)明公開了 一種不同接口報文間的自動轉(zhuǎn)換方法,包括a、 選取源報文,根據(jù)所選源報文的命令碼和方向設(shè)置相應(yīng)的報文轉(zhuǎn)換規(guī)則;b、 進行報文轉(zhuǎn)換時,根據(jù)待轉(zhuǎn)換源報文的命令碼和方向,查找報文轉(zhuǎn)換規(guī) 則,將源報文根據(jù)查找到的報文轉(zhuǎn)換規(guī)則轉(zhuǎn)換成目標(biāo)報文;c、 判斷是否完成所有待轉(zhuǎn)換源報文的轉(zhuǎn)換,如果完成,則結(jié)束報文轉(zhuǎn)換流 程;否則,執(zhí)行步驟b。較佳的,步驟b所述將源報文根據(jù)查找到的報文轉(zhuǎn)換規(guī)則轉(zhuǎn)換成目標(biāo)報文 進一步包括bl、構(gòu)造源報文的樹對象;b2、根據(jù)報文轉(zhuǎn)換規(guī)則構(gòu)造原始目標(biāo)報文樹對象;b3 、根據(jù)報文轉(zhuǎn)換規(guī)則確定待轉(zhuǎn)換字段并賦值命令碼;b4、判斷是否完成所有待轉(zhuǎn)換字段的轉(zhuǎn)換,如果完成,則得到賦值后的目標(biāo)報文樹對象,執(zhí)行步驟b9;否則,執(zhí)行步驟b5;b5、取出下一個待轉(zhuǎn)換字段并讀取待轉(zhuǎn)換字段的賦值方法;b6、判斷待轉(zhuǎn)換字段是否屬于有源值字段,如果屬于有源值字段,執(zhí)行步 驟b7,否則執(zhí)行步驟b8;b7、取該有源值字段對應(yīng)的源報文樹對象中有源值字段的值,將該值直接 作為待轉(zhuǎn)換字段的值,返回步驟b4;b8、根據(jù)報文轉(zhuǎn)換規(guī)則為待轉(zhuǎn)換字段賦值,返回步驟b4;b9、根據(jù)賦值后的目標(biāo)報文樹對象構(gòu)造目標(biāo)報文。本發(fā)明還公開了一種不同接口報文間的自動轉(zhuǎn)換裝置,包括存儲才莫塊,用于存儲源報文;報文轉(zhuǎn)換規(guī)則模塊,用于為需要轉(zhuǎn)換的源報文制定報文轉(zhuǎn)換規(guī)則,在進行 報文轉(zhuǎn)換時,接收存儲模塊中的源報文,根據(jù)該源報文的命令碼和方向查找出 報文轉(zhuǎn)換規(guī)則;結(jié)構(gòu)體轉(zhuǎn)換;漠塊,用于接收結(jié)構(gòu)體轉(zhuǎn)換規(guī)則,根據(jù)該結(jié)構(gòu)體轉(zhuǎn)換規(guī)則規(guī)定 的結(jié)構(gòu)體構(gòu)造原始目標(biāo)l艮文,并輸出所構(gòu)造的原始目標(biāo)報文;報文字段轉(zhuǎn)換處理模塊,用于接收存儲模塊的源報文、結(jié)構(gòu)體轉(zhuǎn)換模塊的 原始目標(biāo)報文和報文轉(zhuǎn)換規(guī)則模塊的報文字段賦值規(guī)則,為原始目標(biāo)報文字段 重新賦值完成目標(biāo)4艮文的轉(zhuǎn)換。較佳的,該裝置進一步包括源報文樹對象構(gòu)造模塊,用于接收源報文,構(gòu)造該源報文對應(yīng)的樹對象, 并輸出所構(gòu)造的源報文樹對象;所述的結(jié)構(gòu)體轉(zhuǎn)換模塊,進一步用于接收結(jié)構(gòu)體轉(zhuǎn)換規(guī)則,根據(jù)該結(jié)構(gòu)體 轉(zhuǎn)換規(guī)則指定的結(jié)構(gòu)體構(gòu)造原始目標(biāo)報文樹對象,并輸出該原始目標(biāo)報文的樹 對象;所述的報文字段轉(zhuǎn)換處理模塊,進一步用于接收源報文樹對象構(gòu)造模塊的 源報文的樹對象、結(jié)構(gòu)體轉(zhuǎn)換模塊的原始目標(biāo)報文樹對象和報文轉(zhuǎn)換規(guī)則模塊 的報文字段賦值規(guī)則,為原始目標(biāo)報文樹對象中的字段賦值,并將賦值后的目標(biāo)報文樹對象發(fā)送給目標(biāo)報文構(gòu)造模塊;目標(biāo)報文構(gòu)造模塊,用于接收賦值后的目標(biāo)報文樹對象,將該樹對象構(gòu)造 成目標(biāo)纟艮文。的源報文,為所選源報文設(shè)定報文轉(zhuǎn)換規(guī)則;在報文轉(zhuǎn)換時,根據(jù)每條待轉(zhuǎn)換 源報文的命令碼和方向確定對應(yīng)的報文轉(zhuǎn)換規(guī)則,并根據(jù)報文轉(zhuǎn)換規(guī)則構(gòu)造原 始目標(biāo)報文,并為構(gòu)造出的原始目標(biāo)報文賦值,將源報文的有源值字段寫入原 始目標(biāo)報文,為非源值字段賦相應(yīng)的值,自動完成一條源報文的轉(zhuǎn)換。按照這 種方法,逐條將待轉(zhuǎn)換的源報文轉(zhuǎn)換成為目標(biāo)報文,從而實現(xiàn)報文的批量自動 轉(zhuǎn)換,有效地減少測試用例設(shè)計工作量,提高測試效率。


圖1為電信網(wǎng)絡(luò)管理系統(tǒng)接口層次架構(gòu)圖;圖2為本發(fā)明不同接口報文間的自動轉(zhuǎn)換方法的流程示意圖;圖3為本發(fā)明源報文轉(zhuǎn)換成目標(biāo)報文較佳實施例的實現(xiàn)流程示意圖;圖4為本發(fā)明不同接口報文間的自動轉(zhuǎn)換裝置的組成結(jié)構(gòu)示意圖;圖5為本發(fā)明較佳實施例的不同接口報文間的自動轉(zhuǎn)換裝置的組成結(jié)構(gòu)示具體實施方式
由于在接口報文中,命令碼和方向是重要的屬性,接口報文的方向指示該 條報文用于請求還是應(yīng)答,通過命令碼和方向可以唯一確定報文中的結(jié)構(gòu)體。 并且,由于不同報文的結(jié)構(gòu)體各不相同,因而報文轉(zhuǎn)換的問題就歸結(jié)為報文結(jié)因此,本發(fā)明的基本思想是基于命令碼和方向確定何種報文需要轉(zhuǎn)換,并為 需要轉(zhuǎn)換的報文設(shè)置包括結(jié)構(gòu)體轉(zhuǎn)換規(guī)則、報文字段賦值規(guī)則的報文轉(zhuǎn)換規(guī)則, 實現(xiàn)不同接口報文間的自動轉(zhuǎn)換。本發(fā)明中不同接口報文間的自動轉(zhuǎn)換方法如圖2所示,該方法包括 步驟201:選取源報文。 一般,是選取存儲模塊中的報文作為源報文。 步驟202:根據(jù)所選源報文的命令碼和方向設(shè)置相應(yīng)的報文轉(zhuǎn)換規(guī)則。 由于不同接口才艮文之間的結(jié)構(gòu)體各不相同,與之對應(yīng)的,不同結(jié)構(gòu)體之間 轉(zhuǎn)換所需的賦值規(guī)則又各不相同。在進行報文轉(zhuǎn)換前,根據(jù)不同結(jié)構(gòu)體的源報 文為目標(biāo)報文設(shè)置與之對應(yīng)的報文轉(zhuǎn)換規(guī)則。又由于報文的命令碼和方向可以 唯一確定報文的結(jié)構(gòu)體,因此可以根據(jù)不同的命令碼和方向的組合為目標(biāo)報文 設(shè)置與之對應(yīng)的報文轉(zhuǎn)換規(guī)則。報文轉(zhuǎn)換規(guī)則包括結(jié)構(gòu)體轉(zhuǎn)換規(guī)則和報文字段賦值規(guī)則。其中,結(jié)構(gòu)體 轉(zhuǎn)換規(guī)則定義了目標(biāo)報文的報文頭結(jié)構(gòu)名和報文體結(jié)構(gòu)名;報文字段賦值規(guī)則 定義了目標(biāo)報文的命令碼、目標(biāo)報文結(jié)構(gòu)體中的待轉(zhuǎn)換字段,以及待轉(zhuǎn)換字段 的賦值方法。其中,待轉(zhuǎn)換字段的賦值方法定義了多種賦值函數(shù)。根據(jù)所需處 理待轉(zhuǎn)換字段的不同,分為直接取賦值函數(shù)的值和取源報文對應(yīng)字段的值兩種 處理方式。步驟203:進行報文轉(zhuǎn)換時,根據(jù)待轉(zhuǎn)換源報文的命令碼和方向,查找報 文轉(zhuǎn)換規(guī)則。進行報文轉(zhuǎn)換時,選取其中一條需要轉(zhuǎn)換的源報文,根據(jù)該源報文的命令 碼和方向,確定其對應(yīng)的報文轉(zhuǎn)換規(guī)則。步驟204:將源報文根據(jù)查找到的報文轉(zhuǎn)換規(guī)則轉(zhuǎn)換成目標(biāo)報文。據(jù)報文轉(zhuǎn)換規(guī)則中報文字段賦值規(guī)則為構(gòu)造出的原始目標(biāo)報文重新賦值,得到 賦值后的目標(biāo)報文,即將源報文轉(zhuǎn)換成目標(biāo)報文。結(jié)構(gòu)體轉(zhuǎn)換規(guī)則定義了目標(biāo)報文的報文頭結(jié)構(gòu)名和報文體結(jié)構(gòu)名。根據(jù)報 文頭結(jié)構(gòu)名、報文體結(jié)構(gòu)名,分別得到報文頭和報文體的具體層次結(jié)構(gòu),根據(jù) 報文頭和報文體的具體層次結(jié)構(gòu)得到目標(biāo)報文的具體層次結(jié)構(gòu),根據(jù)目標(biāo)報文 結(jié)構(gòu)直接生成原始目標(biāo)報文。報文字段賦值規(guī)則定義了目標(biāo)報文的命令碼、目標(biāo)報文結(jié)構(gòu)體中的待轉(zhuǎn)換字段,以及待轉(zhuǎn)換字段的賦值方法。首先,根據(jù)目標(biāo)報文的命令碼更新原始目標(biāo)報文的命令碼字段;其次,根據(jù)待轉(zhuǎn)換字段的賦值方法為每個待轉(zhuǎn)換字段賦 值。如果該待轉(zhuǎn)換字段屬于有源值字段,取出該有源值字段對應(yīng)源報文中有源 值字段的值,直接設(shè)置為待轉(zhuǎn)換字段的值;否則,查找待轉(zhuǎn)換字段對應(yīng)的賦值 函數(shù),調(diào)用該函數(shù)取得函數(shù)值,將該函數(shù)值設(shè)置為待轉(zhuǎn)換字段的值。按照上述方法完成所有待轉(zhuǎn)換字段的賦值,即完成該條源報文的自動轉(zhuǎn)換。 步驟205:判斷是否完成所有待轉(zhuǎn)換源報文的轉(zhuǎn)換,如果完成,則已實現(xiàn) 報文的批量轉(zhuǎn)換,結(jié)束當(dāng)前報文轉(zhuǎn)換流程;否則,返回步驟203,轉(zhuǎn)換下一條 源報文。圖3為本發(fā)明源報文轉(zhuǎn)換成目標(biāo)報文較佳實施例的實現(xiàn)流程,如圖3所示, 包括如下步驟步驟301:構(gòu)造源才艮文的樹對象。先將VAL格式的源報文增強解碼為中間程序語言結(jié)構(gòu),如0++語言的數(shù)據(jù) 結(jié)構(gòu);再將中間程序語言結(jié)構(gòu)進行解析,生成源報文的樹對象。其中,源報文 樹對象以樹狀結(jié)構(gòu)分層次的表現(xiàn)源報文的結(jié)構(gòu)體,并將源報文的不同功能的字 段分開保存到樹對象中的葉子節(jié)點中,便于區(qū)分及查找不同功能的字段。 步驟302:根據(jù)報文轉(zhuǎn)換規(guī)則構(gòu)造原始目標(biāo)報文的樹對象。 報文轉(zhuǎn)換規(guī)則中的結(jié)構(gòu)體轉(zhuǎn)換規(guī)則定義了目標(biāo)報文的報文頭結(jié)構(gòu)名和報文 體結(jié)構(gòu)名。目標(biāo)報文的樹對象包括報文頭子樹對象和報文體子樹對象。其中,報文頭 的結(jié)構(gòu)體是固定的,可以直接根據(jù)報文頭結(jié)構(gòu)名構(gòu)造該結(jié)構(gòu)名對應(yīng)的中間程序 語言結(jié)構(gòu),再將該中間程序語言結(jié)構(gòu)進行解析,生成該目標(biāo)報文樹對象的報文 頭子樹對象;報文體子樹對象暫時以Any表示,該報文體子樹對象沒有實際結(jié) 構(gòu)體。此時,目標(biāo)才艮文的樹對象為不完整結(jié)構(gòu)體樹對象,該樹對象包括完整結(jié) 構(gòu)體的報文頭子樹對象和一個沒有實際結(jié)構(gòu)體的以Any表示的報文體子樹對 象。在生成不完整樹對象后,根據(jù)報文體結(jié)構(gòu)名構(gòu)造該結(jié)構(gòu)名對應(yīng)的中間程序語言結(jié)構(gòu),再將該中間程序語言結(jié)構(gòu)進行解析,生成該目標(biāo)報文的樹對象的報文體子樹對象。以該報文體子樹對象作為Any的值,最終構(gòu)成完整結(jié)構(gòu)體的原 始目標(biāo)纟艮文樹對象。這里,原始目標(biāo)報文樹對象每層結(jié)構(gòu)下葉子節(jié)點包含的所有字段均賦值為 默認(rèn)值0。步驟303:根據(jù)報文轉(zhuǎn)換規(guī)則確定目標(biāo)報文中的待轉(zhuǎn)換字段并賦值命令碼。結(jié)構(gòu)體中的待轉(zhuǎn)換字段,以及待轉(zhuǎn)換字段的賦值方法。其中,待轉(zhuǎn)換字段分為 有源值字段和非源值字段兩種類型,有源值字段是與源報文相關(guān)的字段,非源 值字段與源報文無關(guān),需根據(jù)不同的目標(biāo)報文設(shè)定相應(yīng)的值,命令碼字段就屬 于非源值字段。在確定待轉(zhuǎn)換字段后,根據(jù)報文字段賦值規(guī)則定義的目標(biāo)報文 的命令碼更新原始目標(biāo)報文樹對象中的命令碼字段,完成命令碼字段的轉(zhuǎn)換。步驟304:判斷是否完成所有待轉(zhuǎn)換字段的轉(zhuǎn)換,如果完成,則得到賦值 后的目標(biāo)報文樹對象,執(zhí)行步驟309;否則,執(zhí)行步驟305。步驟305:取出原始目標(biāo)報文樹對象中下一個待轉(zhuǎn)換字段。步驟306:判斷待轉(zhuǎn)換字段是否屬于有源值字段,如果屬于有源值字段, 則執(zhí)行步驟307;否則執(zhí)行步驟308。對于有源值字段,該字段的值需要根據(jù)源報文樹對象中的有源值字段的值 得到;對于非源值字段,則根據(jù)待轉(zhuǎn)換字段的賦值方法的規(guī)定,對其中一些字 段設(shè)置固定值,例如IP版本號;另一些字段設(shè)置一定范圍內(nèi)的隨機值等,所述 一定范圍根據(jù)字段所涉及對象可能的取值確定,例如端口號可以設(shè)為隨機值。 對于這些不同的賦值設(shè)置可由不同的賦值函數(shù)實現(xiàn)。不同字段有不同的賦值方 法,因此需要進行判斷并分別處理。步驟307:取該有源值字段對應(yīng)的源報文樹對象中有源值字段的值,將該 值直接作為待轉(zhuǎn)換字段的值,返回步驟304。這里,取出當(dāng)前有源值字段對應(yīng)的源報文樹對象中有源值字段的值,直接 作為原始目標(biāo)報文樹對象中待轉(zhuǎn)換字段的值。步驟308:調(diào)用待轉(zhuǎn)換字段的賦值方法規(guī)定的賦值函數(shù),根據(jù)調(diào)用結(jié)果更 新當(dāng)前待轉(zhuǎn)換字段,返回步驟304。這里,根據(jù)賦值方法的規(guī)定,查找待轉(zhuǎn)換字段對應(yīng)的賦值函數(shù),調(diào)用所找 到的賦值函數(shù)取得函數(shù)值,將獲得的函數(shù)值作為原始目標(biāo)報文樹對象中待轉(zhuǎn)換 字段的值。步驟309:根據(jù)賦值后的目標(biāo)凈艮文樹對象構(gòu)造目標(biāo)報文。這里,將經(jīng)過賦值后的目標(biāo)報文樹對象構(gòu)造成為VAL格式的目標(biāo)報文,完成一條源報文的轉(zhuǎn)換,具體如何構(gòu)造VAL格式的報文為已有技術(shù),在此不再詳述。為實現(xiàn)上述方法,本發(fā)明還提出了 一種不同接口報文間的自動轉(zhuǎn)換裝置, 如圖4所示,包;fe:存儲模塊401,用于存儲源報文,在進行報文轉(zhuǎn)換時,發(fā)送需要轉(zhuǎn)換的源 報文至報文轉(zhuǎn)換規(guī)則模塊402和報文字段轉(zhuǎn)換處理模塊404。報文轉(zhuǎn)換規(guī)則模塊402,用于為需要轉(zhuǎn)換的源報文設(shè)置報文轉(zhuǎn)換規(guī)則,在 進行報文轉(zhuǎn)換時,接收源報文,根據(jù)該源報文的命令碼和方向?qū)?yīng)的報文轉(zhuǎn)換 規(guī)則,分別發(fā)送結(jié)構(gòu)體轉(zhuǎn)換規(guī)則和報文字段賦值規(guī)則給結(jié)構(gòu)體轉(zhuǎn)換模塊403和 報文字段轉(zhuǎn)換處理模塊404。由于不同接口凈艮文之間的結(jié)構(gòu)體各不相同,與之對應(yīng)的,不同結(jié)構(gòu)體之間 轉(zhuǎn)換所需的賦值規(guī)則又各不相同。在進行報文轉(zhuǎn)換前,根據(jù)不同結(jié)構(gòu)體的源報 文為目標(biāo)報文設(shè)置與之對應(yīng)的報文轉(zhuǎn)換規(guī)則。又由于報文的命令碼和方向可以 唯一確定報文的結(jié)構(gòu)體,因此可以根據(jù)不同的命令碼和方向的組合為目標(biāo)報文 設(shè)置與之對應(yīng)的報文轉(zhuǎn)換規(guī)則。在進行報文轉(zhuǎn)換時,根據(jù)接收到的源報文的命令碼和方向查找對應(yīng)的報文給結(jié)構(gòu)體轉(zhuǎn)換模塊403和報文字段轉(zhuǎn)換處理模塊404。結(jié)構(gòu)體轉(zhuǎn)換模塊403,用于接收結(jié)構(gòu)體轉(zhuǎn)換規(guī)則,根據(jù)該結(jié)構(gòu)體轉(zhuǎn)換規(guī)則規(guī)定的結(jié)構(gòu)體構(gòu)造原始目標(biāo)報文,并輸出所構(gòu)造的原始目標(biāo)報文。這里,根據(jù)該結(jié)構(gòu)體轉(zhuǎn)換規(guī)則規(guī)定的結(jié)構(gòu)體構(gòu)造原始目標(biāo)報文,該目標(biāo)報文包含的所有字段均賦值為默認(rèn)值0,完成原始目標(biāo)報文的構(gòu)造;構(gòu)造原始目 標(biāo)報文后,輸出該原始目標(biāo)報文。報文字段轉(zhuǎn)換處理模塊404,用于接收源報文、原始目標(biāo)報文和報文字段 賦值規(guī)則,為原始目標(biāo)報文字段重新賦值。其中,報文字段賦值規(guī)則定義了目 標(biāo)報文的命令碼、目標(biāo)報文結(jié)構(gòu)體中的待轉(zhuǎn)換字段,以及待轉(zhuǎn)換字段的賦值方 法。確定目標(biāo)報文結(jié)構(gòu)體中的待轉(zhuǎn)換字段,為每個待轉(zhuǎn)換字段確定賦值方法。 其中,待轉(zhuǎn)換字段分為有源值字段和非源值字段兩種類型,有源值字段是與源 報文相關(guān)的字段,非源值字段與源報文無關(guān),需根據(jù)不同的目標(biāo)報文設(shè)定相應(yīng) 的值,命令碼字段就屬于非源值字段。由于報文字段賦值規(guī)則已經(jīng)給出了目標(biāo) 報文的命令碼,首先將該命令碼寫入目標(biāo)報文結(jié)構(gòu)體中的命令碼字段。接著, 進行其余待轉(zhuǎn)換字段的轉(zhuǎn)換工作。其中,有源值字段的值需通過查找源報文中 對應(yīng)的有源值字段的值得到,非源值字段的值根據(jù)該待轉(zhuǎn)換字段的賦值方法定 義的賦值函數(shù)得到。對所有待轉(zhuǎn)換字段均按上述方法轉(zhuǎn)換,即完成一條源報文的轉(zhuǎn)換。 圖5為本發(fā)明較佳實施例的不同接口報文間的自動轉(zhuǎn)換裝置的組成結(jié)構(gòu)示 意圖,包括存儲模塊401,用于存儲源報文,在進行報文轉(zhuǎn)換時,發(fā)送需要轉(zhuǎn)換的源 報文至報文轉(zhuǎn)換規(guī)則模塊402、報文字段轉(zhuǎn)換處理模塊404。報文轉(zhuǎn)換規(guī)則模塊402,用于為需要轉(zhuǎn)換的源報文設(shè)置報文轉(zhuǎn)換規(guī)則,在 進行報文轉(zhuǎn)換時,接收源報文,根據(jù)該源報文的命令碼和方向?qū)?yīng)的報文轉(zhuǎn)換報文字段轉(zhuǎn)換處理模塊505。由于不同接口報文之間的結(jié)構(gòu)體各不相同,與之對應(yīng)的,不同結(jié)構(gòu)體之間 轉(zhuǎn)換所需的賦值規(guī)則又各不相同。在進行報文轉(zhuǎn)換前,根據(jù)不同結(jié)構(gòu)體的源報 文為目標(biāo)報文設(shè)置與之對應(yīng)的報文轉(zhuǎn)換規(guī)則。又由于報文的命令碼和方向可以唯一確定報文的結(jié)構(gòu)體,因此可以根據(jù)不同的命令碼和方向的組合為目標(biāo)報文 設(shè)置與之對應(yīng)的報文轉(zhuǎn)換規(guī)則。在進行報文轉(zhuǎn)換時,根據(jù)接收到的源報文的命令碼和方向查找對應(yīng)的報文分別發(fā)送給結(jié)構(gòu)體轉(zhuǎn)換模塊504和報文字段轉(zhuǎn)換處理模塊505。源報文樹對象構(gòu)造模塊503,用于接收源報文,構(gòu)造該源報文對應(yīng)的樹對象,并發(fā)送所構(gòu)造的源報文樹對象。將接收到的VAL格式的源報文增強解碼為中間程序語言結(jié)構(gòu),如C語言的數(shù)據(jù)結(jié)構(gòu);再將中間程序語言結(jié)構(gòu)進行解析,生成源報文的樹對象。源報文樹對象能夠以樹狀結(jié)構(gòu)分層次的表現(xiàn)源報文的結(jié)構(gòu)體,并能將源報文的不同功能的字段分開保存到樹對象中的葉子節(jié)點中,便于區(qū)分及查找不同功能的字段。 結(jié)構(gòu)體轉(zhuǎn)換模塊504,用于接收結(jié)構(gòu)體轉(zhuǎn)換規(guī)則,根據(jù)該結(jié)構(gòu)體轉(zhuǎn)換規(guī)則規(guī)定的結(jié)構(gòu)體構(gòu)造原始目標(biāo)報文的樹對象,并輸出所構(gòu)造的原始目標(biāo)報文的樹對象。這里,根據(jù)結(jié)構(gòu)體轉(zhuǎn)換規(guī)則構(gòu)造目標(biāo)報文的中間程序語言結(jié)構(gòu),如C語言 的數(shù)據(jù)結(jié)構(gòu);再將中間程序語言結(jié)構(gòu)進行解析,生成原始目標(biāo)報文的樹對象。 此時,原始目標(biāo)報文的樹對象每層結(jié)構(gòu)下葉子節(jié)點包含的所有字段均賦值為默 認(rèn)值0。報文字段轉(zhuǎn)換處理模塊505,用于接收源報文的樹對象、原始目標(biāo)報文的 樹對象和報文字段賦值規(guī)則,為原始目標(biāo)報文樹對象中的字段重新賦值,并將 賦值后的目標(biāo)報文樹對象發(fā)送給目標(biāo)報文構(gòu)造模塊506。報文字段賦值規(guī)則定義了目標(biāo)報文的命令碼、目標(biāo)報文結(jié)構(gòu)體中的待轉(zhuǎn)換 字段,以及待轉(zhuǎn)換字段的賦值方法。確定目標(biāo)報文結(jié)構(gòu)體中的待轉(zhuǎn)換字段,為每個待轉(zhuǎn)換字段確定賦值方法。 其中,待轉(zhuǎn)換字段分為有源值字段和非源值字段兩種類型,有源值字段是與源 報文相關(guān)的字段,非源值字段與源報文無關(guān),需根據(jù)不同的目標(biāo)報文設(shè)定相應(yīng) 的值,命令碼字段就屬于非源值字段。由于報文字段賦值規(guī)則已經(jīng)給出了目標(biāo)報文的命令碼,首先將命令碼寫入目標(biāo)報文樹對象中的命令碼字段。接著,進 行其余待轉(zhuǎn)換字段的轉(zhuǎn)換工作。其中,有源值字段的值需通過查找源報文的樹 對象中對應(yīng)的有源值字段的值得到,取出源報文的樹對象中該有源值字段的值,直接作為待轉(zhuǎn)換字段的值;待轉(zhuǎn)換字段中非源值字段的值根據(jù)該待轉(zhuǎn)換字段的 賦值方法定義的賦值函數(shù)得到。由于每個待轉(zhuǎn)換字段分別在樹對象不同的葉子節(jié)點中,使得字段賦值操作 更加方〗更、快才走。對所有待轉(zhuǎn)換字段均按上述方法轉(zhuǎn)換,即完成目標(biāo)報文樹對象的賦值。 目標(biāo)報文構(gòu)造模塊506,用于接收賦值后的目標(biāo)報文樹對象,將該樹對象 構(gòu)造成目標(biāo)報文。接收賦值后的目標(biāo)報文樹對象,將該樹對象構(gòu)造成VAL格式的目標(biāo)報文。 以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
權(quán)利要求
1、一種不同接口報文間的自動轉(zhuǎn)換方法,其特征在于,包括a、選取源報文,根據(jù)所選源報文的命令碼和方向設(shè)置相應(yīng)的報文轉(zhuǎn)換規(guī)則;b、進行報文轉(zhuǎn)換時,根據(jù)待轉(zhuǎn)換源報文的命令碼和方向,查找報文轉(zhuǎn)換規(guī)則,將源報文根據(jù)查找到的報文轉(zhuǎn)換規(guī)則轉(zhuǎn)換成目標(biāo)報文;c、判斷是否完成所有待轉(zhuǎn)換源報文的轉(zhuǎn)換,如果完成,則結(jié)束報文轉(zhuǎn)換流程;否則,執(zhí)行步驟b。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟b所述將源報文根據(jù)查 找到的報文轉(zhuǎn)換規(guī)則轉(zhuǎn)換成目標(biāo)報文進一步包括bl、構(gòu)造源才艮文的初t對象;b2、根據(jù)報文轉(zhuǎn)換規(guī)則構(gòu)造原始目標(biāo)報文樹對象;b3 、根據(jù)報文轉(zhuǎn)換規(guī)則確定待轉(zhuǎn)換字段并賦值命令碼;b4、判斷是否完成所有待轉(zhuǎn)換字段的轉(zhuǎn)換,如果完成,則得到賦值后的目 標(biāo)報文樹對象,執(zhí)行步驟b9;否則,執(zhí)行步驟b5;b5、取出下一個待轉(zhuǎn)換字段并讀取待轉(zhuǎn)換字段的賦值方法;b6、判斷待轉(zhuǎn)換字段是否屬于有源值字段,如果屬于有源值字段,執(zhí)行步 驟b7,否則執(zhí)行步驟b8;b7、取該有源值字段對應(yīng)的源報文樹對象中有源值字段的值,將該值直接 作為待轉(zhuǎn)換字段的值,返回步驟b4;b8、根據(jù)報文轉(zhuǎn)換規(guī)則為待轉(zhuǎn)換字段賦值,返回步驟b4;b9 、根據(jù)賦值后的目標(biāo)報文樹對象構(gòu)造目標(biāo)報文。
3、 一種不同接口報文間的自動轉(zhuǎn)換裝置,其特征在于,包括 存儲模塊,用于存儲源報文;報文轉(zhuǎn)換規(guī)則模塊,用于為需要轉(zhuǎn)換的源報文制定報文轉(zhuǎn)換規(guī)則,在進行 報文轉(zhuǎn)換時,接收存儲模塊中的源報文,根據(jù)該源報文的命令碼和方向查找出 報文轉(zhuǎn)換規(guī)則;結(jié)構(gòu)體轉(zhuǎn)換模塊,用于接收結(jié)構(gòu)體轉(zhuǎn)換規(guī)則,根據(jù)該結(jié)構(gòu)體轉(zhuǎn)換規(guī)則規(guī)定的結(jié)構(gòu)體構(gòu)造原始目標(biāo)報文,并輸出所構(gòu)造的原始目標(biāo)報文;報文字段轉(zhuǎn)換處理模塊,用于接收存儲模塊的源報文、結(jié)構(gòu)體轉(zhuǎn)換模塊的原始目標(biāo)報文和報文轉(zhuǎn)換規(guī)則模塊的報文字段賦值規(guī)則,為原始目標(biāo)報文字段重新賦值完成目標(biāo)報文的轉(zhuǎn)換。
4、根據(jù)權(quán)利要求3所述的裝置,其特征在于,進一步包括 源報文樹對象構(gòu)造模塊,用于接收源報文,構(gòu)造該源報文對應(yīng)的樹對象,并輸出所構(gòu)造的源報文樹對象;所述的結(jié)構(gòu)體轉(zhuǎn)換模塊,進一步用于接收結(jié)構(gòu)體轉(zhuǎn)換規(guī)則,根據(jù)該結(jié)構(gòu)體轉(zhuǎn)換規(guī)則指定的結(jié)構(gòu)體構(gòu)造原始目標(biāo)報文樹對象,并輸出該原始目標(biāo)報文的樹對象;所述的報文字段轉(zhuǎn)換處理模塊,進一步用于接收源報文樹對象構(gòu)造模塊的 源報文的樹對象、結(jié)構(gòu)體轉(zhuǎn)換模塊的原始目標(biāo)報文樹對象和報文轉(zhuǎn)換規(guī)則模塊 的報文字段賦值規(guī)則,為原始目標(biāo)報文樹對象中的字段賦值,并將賦值后的目 標(biāo)報文樹對象發(fā)送給目標(biāo)報文構(gòu)造模塊;目標(biāo)報文構(gòu)造模塊,用于接收賦值后的目標(biāo)報文樹對象,將該樹對象構(gòu)造 成目標(biāo)4艮文。
全文摘要
本發(fā)明公開了一種不同接口報文間的自動轉(zhuǎn)換方法,包括a.選取源報文,根據(jù)所選源報文的命令碼和方向設(shè)置相應(yīng)的報文轉(zhuǎn)換規(guī)則;b.進行報文轉(zhuǎn)換時,根據(jù)待轉(zhuǎn)換源報文的命令碼和方向,查找報文轉(zhuǎn)換規(guī)則,將源報文根據(jù)查找到的報文轉(zhuǎn)換規(guī)則轉(zhuǎn)換成目標(biāo)報文;c.判斷是否完成所有源報文的轉(zhuǎn)換,如果完成,則結(jié)束報文轉(zhuǎn)換流程;否則,執(zhí)行步驟b。本發(fā)明還公開了一種不同接口報文間的自動轉(zhuǎn)換裝置,包括存儲模塊、報文轉(zhuǎn)換規(guī)則模塊、結(jié)構(gòu)體轉(zhuǎn)換模塊、報文字段轉(zhuǎn)換處理模塊。本發(fā)明能夠批量自動轉(zhuǎn)換不同接口之間的報文,減少測試用例設(shè)計工作量,提高測試效率。
文檔編號H04L12/56GK101335648SQ200810134548
公開日2008年12月31日 申請日期2008年7月25日 優(yōu)先權(quán)日2008年7月25日
發(fā)明者張新平, 毛才斐 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
长垣县| 磐石市| 上饶县| 庆云县| 高要市| 长治市| 陇西县| 普定县| 天峻县| 库车县| 莱阳市| 剑阁县| 东阳市| 兴城市| 绥化市| 淮南市| 搜索| 壤塘县| 积石山| 班玛县| 大丰市| 巫山县| 专栏| 宣汉县| 建水县| 罗城| 会泽县| 永清县| 巴彦淖尔市| 临猗县| 贡嘎县| 安国市| 黄龙县| 绥滨县| 东台市| 稻城县| 平度市| 罗田县| 揭西县| 化州市| 内乡县|