本發(fā)明涉及計(jì)算機(jī)通信領(lǐng)域,尤其涉及一種網(wǎng)管系統(tǒng)間報(bào)文的通信方法及系統(tǒng)。
背景技術(shù):
同一個(gè)軟件產(chǎn)品的不同衍生品,隨著各自的演進(jìn)過程,其內(nèi)部的通信報(bào)文會(huì)不斷演進(jìn),但是當(dāng)這些同源產(chǎn)品之間需要通信的時(shí)候,報(bào)文之間的兼容性會(huì)逐漸成為一個(gè)嚴(yán)重的問題,使得不同產(chǎn)品之間的通信變得十分脆弱和低效,在網(wǎng)管產(chǎn)品之間這種情況尤為突出。
實(shí)際運(yùn)用中,網(wǎng)管產(chǎn)品通常采用抽象語法標(biāo)記(ASN,Abstract Syntax Notation)報(bào)文進(jìn)行通信,ASN報(bào)文之中的字段經(jīng)常變化,但其變化具有以下特點(diǎn):(1)報(bào)文字段大多都是遞增的,很少有刪減;(2)報(bào)文之間編解碼協(xié)議通常不會(huì)發(fā)生變化,變化的只是報(bào)文量;(3)報(bào)文名稱很少改變,即使改變也是有限的,字面上有跡可循;(4)最常用及最有意義的字段保持不變。當(dāng)更高層次的網(wǎng)管系統(tǒng)(如網(wǎng)絡(luò)運(yùn)維系統(tǒng))需要接入不同版本的網(wǎng)管系統(tǒng)來獲取數(shù)據(jù)(例如,實(shí)現(xiàn)對這些網(wǎng)管系統(tǒng)的智能健康檢查)時(shí),不同版本系統(tǒng)報(bào)文的差異性會(huì)隨著管理的網(wǎng)管系統(tǒng)的版本增多而快速增加。
針對上述問題,目前的處理方式是為不同版本網(wǎng)管系統(tǒng)都準(zhǔn)備一份有差異性的報(bào)文版本的副本,并且在不同層次間轉(zhuǎn)換的時(shí)候,用手工編碼形式逐字段拷貝。然而,上述處理方式存在以下問題:(1)存在很多不必要的拷貝動(dòng)作;(2)手工編寫極易出現(xiàn)問題;(3)每個(gè)差異報(bào)文逐個(gè)解決,造成相當(dāng)大的工作量;(4)若在相同名稱的報(bào)文內(nèi)有不同的子報(bào)文嵌套入,則該報(bào)文整體需要進(jìn)行逐字段編碼轉(zhuǎn)換操作,實(shí)際經(jīng)常難以發(fā)現(xiàn),造成運(yùn)行時(shí)報(bào)錯(cuò),更甚成為潛在的系統(tǒng)隱患。
鑒于以上情況,隨著各系統(tǒng)的發(fā)展,需要提供一種新的報(bào)文處理機(jī)制,以簡單易用的形式,處理以上各種現(xiàn)存的報(bào)文兼容及效率弊端。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提供一種網(wǎng)管系統(tǒng)間不同報(bào)文的通信方法及系統(tǒng),能夠解決現(xiàn)有技術(shù)中存在的報(bào)文兼容及效率弊端。
為了達(dá)到上述技術(shù)目的,本發(fā)明提供一種網(wǎng)管系統(tǒng)間報(bào)文的通信方法,包括:讀取配置文件;當(dāng)接收到所述配置文件存儲(chǔ)的命令時(shí),根據(jù)所述配置文件內(nèi)該命令對應(yīng)的處理信息,生成對應(yīng)的報(bào)文,將所述報(bào)文轉(zhuǎn)換為符合目標(biāo)網(wǎng)管系統(tǒng)報(bào)文格式的報(bào)文,并將轉(zhuǎn)換后的報(bào)文下發(fā)給目標(biāo)網(wǎng)管系統(tǒng);將目標(biāo)網(wǎng)管系統(tǒng)返回的結(jié)果報(bào)文轉(zhuǎn)換為符合源網(wǎng)管系統(tǒng)報(bào)文格式的報(bào)文。
進(jìn)一步地,所述讀取配置文件之前,還包括:設(shè)置配置文件,其中,所述配置文件包括命令名稱、命令名稱對應(yīng)的處理信息。
進(jìn)一步地,所述命令名稱對應(yīng)的處理信息包括:命令碼、輸入輸出參數(shù)的報(bào)文名稱、其他輔助功能、報(bào)文的關(guān)注字段以及相應(yīng)字段的處理方式。
進(jìn)一步地,所述當(dāng)接收到所述配置文件存儲(chǔ)的命令時(shí),根據(jù)所述配置文件內(nèi)該命令對應(yīng)的處理信息,生成對應(yīng)的報(bào)文之后,所述將所述報(bào)文轉(zhuǎn)換為符合目標(biāo)網(wǎng)管系統(tǒng)報(bào)文格式的報(bào)文之前,還包括:管理所述報(bào)文的生命周期。
進(jìn)一步地,所述將目標(biāo)網(wǎng)管系統(tǒng)返回的結(jié)果報(bào)文轉(zhuǎn)換為符合源網(wǎng)管系統(tǒng)報(bào)文格式的報(bào)文之后,還包括:當(dāng)以大數(shù)據(jù)形式返回報(bào)文時(shí),調(diào)用封裝的處理函數(shù),對返回給源網(wǎng)管系統(tǒng)的報(bào)文進(jìn)行處理。
本發(fā)明還提供一種網(wǎng)管系統(tǒng)間報(bào)文的通信系統(tǒng),包括:讀取模塊,用于讀取配置文件;第一報(bào)文處理模塊,用于當(dāng)接收到所述配置文件存儲(chǔ)的命令時(shí),根據(jù)所述配置文件內(nèi)該命令對應(yīng)的處理信息,生成對應(yīng)的報(bào)文,將所述報(bào)文轉(zhuǎn)換為符合目標(biāo)網(wǎng)管系統(tǒng)報(bào)文格式的報(bào)文,并將轉(zhuǎn)換后的報(bào)文下發(fā)給目標(biāo)網(wǎng)管系統(tǒng);第二報(bào)文處理模塊,用于將目標(biāo)網(wǎng)管系統(tǒng)返回的結(jié)果報(bào)文轉(zhuǎn)換為符合源網(wǎng)管系統(tǒng)報(bào)文格式的報(bào)文。
進(jìn)一步地,上述系統(tǒng)還包括:設(shè)置模塊,用于設(shè)置配置文件,其中,所 述配置文件包括命令名稱、命令名稱對應(yīng)的處理信息。
進(jìn)一步地,所述命令名稱對應(yīng)的處理信息包括:命令碼、輸入輸出參數(shù)的報(bào)文名稱、其他輔助功能、報(bào)文的關(guān)注字段以及相應(yīng)字段的處理方式。
進(jìn)一步地,所述第一報(bào)文處理模塊,還用于管理所述報(bào)文的生命周期。
進(jìn)一步地,所述第二報(bào)文處理模塊,還用于將目標(biāo)網(wǎng)管系統(tǒng)返回的結(jié)果報(bào)文轉(zhuǎn)換為符合源網(wǎng)管系統(tǒng)的報(bào)文格式的報(bào)文之后,當(dāng)以大數(shù)據(jù)形式返回報(bào)文時(shí),調(diào)用封裝的處理函數(shù),對返回給源網(wǎng)管系統(tǒng)的報(bào)文進(jìn)行處理。
在本發(fā)明中,讀取配置文件;當(dāng)接收到配置文件存儲(chǔ)的命令時(shí),根據(jù)配置文件內(nèi)該命令對應(yīng)的處理信息,生成對應(yīng)的報(bào)文,將所述報(bào)文轉(zhuǎn)換為符合目標(biāo)網(wǎng)管系統(tǒng)報(bào)文格式的報(bào)文,并將轉(zhuǎn)換后的報(bào)文下發(fā)給目標(biāo)網(wǎng)管系統(tǒng);將目標(biāo)網(wǎng)管系統(tǒng)返回的結(jié)果報(bào)文轉(zhuǎn)換為符合源網(wǎng)管系統(tǒng)報(bào)文格式的報(bào)文。如此,使得不同版本網(wǎng)管系統(tǒng)之間通信報(bào)文處理性能、穩(wěn)定性、安全性均達(dá)到較高水平,而且,便于維護(hù)。網(wǎng)絡(luò)運(yùn)維系統(tǒng)在接入不同版本網(wǎng)管系統(tǒng)時(shí)無需用戶干預(yù),自動(dòng)處理通信報(bào)文的兼容性,網(wǎng)絡(luò)運(yùn)維系統(tǒng)的實(shí)現(xiàn)者只需通過配置文件就可以兼容不同網(wǎng)管系統(tǒng)之間的報(bào)文通信,從而極大地節(jié)省開發(fā)、測試、維護(hù)及擴(kuò)展成本。而且,本發(fā)明自帶報(bào)文內(nèi)容轉(zhuǎn)換,大大地減少了ASN報(bào)文適配及轉(zhuǎn)換所帶來的工作量。
附圖說明
圖1為本發(fā)明實(shí)施例提供的網(wǎng)管系統(tǒng)間報(bào)文的通信方法的流程圖;
圖2為本發(fā)明一具體實(shí)施例提供的網(wǎng)管系統(tǒng)間報(bào)文的通信方法的流程圖。
具體實(shí)施方式
以下結(jié)合附圖對本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明,應(yīng)當(dāng)理解,以下所說明的實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
圖1為本發(fā)明實(shí)施例提供的網(wǎng)管系統(tǒng)間報(bào)文的通信方法的流程圖。如圖1所示,本實(shí)施例提供的網(wǎng)管系統(tǒng)間報(bào)文的通信方法包括以下步驟:
步驟11:讀取配置文件。
于步驟11之前,該方法還包括:設(shè)置配置文件,其中,配置文件包括命令名稱、命令名稱對應(yīng)的處理信息。其中,命令名稱對應(yīng)的處理信息包括:命令碼、輸入輸出參數(shù)的報(bào)文名稱、其他輔助功能、報(bào)文的關(guān)注字段以及相應(yīng)字段的處理方式。
具體而言,配置文件第一部分為每種處理方式的名稱(即,用戶定義的命令名稱)及其對應(yīng)的命令碼。如此,使得命令碼對應(yīng)返回的報(bào)文可以用后續(xù)不同的處理方式處理,換句話說,使讀取命令碼與報(bào)文的具體內(nèi)容的對應(yīng)關(guān)系可以成為一對多的關(guān)系。配置文件第二部分為輸入輸出參數(shù)的報(bào)文名稱以及其他輔助功能(例如,過濾、篩選,入數(shù)據(jù)庫等)。通過此配置條件,使得用戶可以不用通過編碼即可清楚描述報(bào)文的輸入和返回。配置文件第三部分為報(bào)文的關(guān)注字段以及對應(yīng)每個(gè)字段的處理方式,上述處理方式例如包括保留、排除、過濾、轉(zhuǎn)換等。
步驟12:當(dāng)接收到配置文件存儲(chǔ)的命令時(shí),根據(jù)配置文件內(nèi)該命令對應(yīng)的處理信息,生成對應(yīng)的報(bào)文,將所述報(bào)文轉(zhuǎn)換為符合目標(biāo)網(wǎng)管系統(tǒng)報(bào)文格式的報(bào)文,并將轉(zhuǎn)換后的報(bào)文下發(fā)給目標(biāo)網(wǎng)管系統(tǒng)。
具體而言,當(dāng)配置文件包含相應(yīng)命令對應(yīng)的處理信息時(shí),執(zhí)行配置文件內(nèi)的處理信息,生成相應(yīng)的報(bào)文。例如,使用反射生成配置所需報(bào)文,并通過內(nèi)存引用計(jì)數(shù)器對報(bào)文的生命周期進(jìn)行自動(dòng)管理。其中,在切換報(bào)文字段的同時(shí),處理每個(gè)網(wǎng)管系統(tǒng)之間報(bào)文字段的內(nèi)容上的差異性,并將轉(zhuǎn)換后的報(bào)文下發(fā)給目標(biāo)網(wǎng)管系統(tǒng)。
另外,當(dāng)配置文件沒有包含相應(yīng)命令對應(yīng)的處理信息時(shí),采用與目標(biāo)網(wǎng)管系統(tǒng)匹配的默認(rèn)的報(bào)文處理方式,以保證處理方式的向下兼容性。
步驟13:將目標(biāo)網(wǎng)管系統(tǒng)返回的結(jié)果報(bào)文轉(zhuǎn)換為符合源網(wǎng)管系統(tǒng)報(bào)文格式的報(bào)文。
具體而言,當(dāng)收到目標(biāo)網(wǎng)管系統(tǒng)的內(nèi)容信息后,反向處理網(wǎng)管系統(tǒng)字段的報(bào)文內(nèi)容,轉(zhuǎn)換為源網(wǎng)管系統(tǒng)的內(nèi)容格式信息。
其中,于步驟13之后,該方法還包括:當(dāng)所述報(bào)文為以大數(shù)據(jù)形式返 回的報(bào)文時(shí),調(diào)用封裝的處理函數(shù),對返回給源網(wǎng)管系統(tǒng)的報(bào)文進(jìn)行處理。具體而言,當(dāng)命令需要查詢的數(shù)據(jù)量較大時(shí),報(bào)文從應(yīng)用層網(wǎng)管系統(tǒng)到目標(biāo)網(wǎng)管系統(tǒng)之間的傳遞時(shí)間和占用資源變得不可忽略,此時(shí),采用封裝器將應(yīng)用層調(diào)用的處理函數(shù)封裝,在報(bào)文轉(zhuǎn)換后調(diào)用該封裝器,使應(yīng)用層網(wǎng)管系統(tǒng)無需等待和復(fù)制目標(biāo)網(wǎng)管系統(tǒng)回傳的報(bào)文。
圖2為本發(fā)明一具體實(shí)施例提供的網(wǎng)管系統(tǒng)間報(bào)文的通信方法的流程圖。如圖2所示,本實(shí)施例提供的網(wǎng)管系統(tǒng)間報(bào)文的通信方法,應(yīng)用于源網(wǎng)管系統(tǒng),包括以下步驟:
步驟101:讀取配置文件,其中,配置文件例如包括命令名稱、命令名稱對應(yīng)的命令碼、輸入輸出參數(shù)的報(bào)文名稱、其他輔助功能(如過濾)、報(bào)文下發(fā)方式等信息;
步驟102:判斷接收到的命令名稱是否存在配置文件的記錄里;
步驟103:若配置文件內(nèi)無記錄,則按照原有手工實(shí)現(xiàn)方式執(zhí)行,以兼容原有的網(wǎng)管系統(tǒng)間報(bào)文通信的兼容處理方式;
步驟104:若配置文件內(nèi)有該命令名稱的記錄,則檢查配置參數(shù)(包括命令名稱、參數(shù)及動(dòng)作)的合法性;
步驟105:通過合法性檢查后,獲取輸入輸出參數(shù)的報(bào)文名稱及下發(fā)方式;
步驟106:生成對應(yīng)的報(bào)文,并進(jìn)行報(bào)文的生命周期管理;
步驟107:自動(dòng)根據(jù)目標(biāo)網(wǎng)管系統(tǒng)報(bào)文格式進(jìn)行轉(zhuǎn)換,并修正報(bào)文內(nèi)容為目標(biāo)網(wǎng)管系統(tǒng)報(bào)文;
步驟108:自動(dòng)判斷是否需以大數(shù)據(jù)形式返回報(bào)文;
步驟109:若需以大數(shù)據(jù)形式返回報(bào)文,源網(wǎng)管系統(tǒng)下發(fā)轉(zhuǎn)換后的報(bào)文給目標(biāo)網(wǎng)管系統(tǒng),目標(biāo)網(wǎng)管系統(tǒng)返回結(jié)果報(bào)文;
步驟110:轉(zhuǎn)換并修正結(jié)果報(bào)文內(nèi)容為源網(wǎng)管系統(tǒng)報(bào)文格式,同時(shí)執(zhí)行配置文件中報(bào)文過濾等其他輔助功能;
步驟111:調(diào)用用戶定義的處理方法,例如,調(diào)用封裝的處理函數(shù),若報(bào)文返回仍未完成,返回步驟109;
步驟112:若無需以大數(shù)據(jù)形式返回報(bào)文,源網(wǎng)管系統(tǒng)下發(fā)轉(zhuǎn)換后的報(bào)文給目標(biāo)網(wǎng)管系統(tǒng),目標(biāo)網(wǎng)管系統(tǒng)返回結(jié)果報(bào)文;
步驟113:轉(zhuǎn)換并修正結(jié)果報(bào)文內(nèi)容為源網(wǎng)管系統(tǒng)報(bào)文格式,同時(shí)執(zhí)行配置文件中報(bào)文過濾等其他輔助功能;
步驟114:將結(jié)果切換到用戶傳遞的報(bào)文指針,實(shí)現(xiàn)無拷貝返回結(jié)果。
此外,本發(fā)明實(shí)施例還提供一種網(wǎng)管系統(tǒng)間報(bào)文的通信系統(tǒng),包括:讀取模塊,用于讀取配置文件;第一報(bào)文處理模塊,用于當(dāng)接收到所述配置文件存儲(chǔ)的命令時(shí),根據(jù)所述配置文件內(nèi)該命令對應(yīng)的處理信息,生成對應(yīng)的報(bào)文,將所述報(bào)文轉(zhuǎn)換為符合目標(biāo)網(wǎng)管系統(tǒng)報(bào)文格式的報(bào)文,并將轉(zhuǎn)換后的報(bào)文下發(fā)給目標(biāo)網(wǎng)管系統(tǒng);第二報(bào)文處理模塊,用于將目標(biāo)網(wǎng)管系統(tǒng)返回的結(jié)果報(bào)文轉(zhuǎn)換為符合源網(wǎng)管系統(tǒng)報(bào)文格式的報(bào)文。
于一實(shí)施例中,該系統(tǒng)還包括設(shè)置模塊,用于設(shè)置配置文件,其中,所述配置文件包括命令名稱、命令名稱對應(yīng)的處理信息。其中,命令名稱對應(yīng)的處理信息包括:命令碼、輸入輸出參數(shù)的報(bào)文名稱、其他輔助功能、報(bào)文的關(guān)注字段以及相應(yīng)字段的處理方式。
于一實(shí)施例中,第一報(bào)文處理模塊,還用于管理報(bào)文的生命周期。
于一實(shí)施例中,第二報(bào)文處理模塊,還用于將目標(biāo)網(wǎng)管系統(tǒng)返回的結(jié)果報(bào)文轉(zhuǎn)換為符合源網(wǎng)管系統(tǒng)的報(bào)文格式的報(bào)文之后,當(dāng)以大數(shù)據(jù)形式返回報(bào)文時(shí),調(diào)用封裝的處理函數(shù),對返回給源網(wǎng)管系統(tǒng)的報(bào)文進(jìn)行處理。
于此,該系統(tǒng)例如應(yīng)用于源網(wǎng)管系統(tǒng)。然而,本發(fā)明對此并不限定。該系統(tǒng)亦可獨(dú)立設(shè)置。
此外,上述系統(tǒng)的具體處理流程同上述方法所述,故于此不再贅述。
綜上所述,在本發(fā)明實(shí)施例中,網(wǎng)管系統(tǒng)間報(bào)文處理只需配置文件即可,省略了開發(fā)測試步驟,便于維護(hù);報(bào)文與命令解耦合,即不同上層需求可配置相同的命令,但通過用戶定義不同的名稱及處理方式得到不同的結(jié)果;報(bào)文在網(wǎng)管系統(tǒng)內(nèi)通過封裝,達(dá)到透傳的效果,大幅提高效率降低內(nèi)存峰值;針對不同網(wǎng)管系統(tǒng),自動(dòng)轉(zhuǎn)換報(bào)文內(nèi)容為目標(biāo)網(wǎng)管系統(tǒng)可識(shí)別的格式;報(bào)文添加過濾及額外處理接口,不僅提高效率,也極大增強(qiáng)了可擴(kuò)展性;而 且,提供多種回調(diào)方案,大大提高對大數(shù)據(jù)的迭代處理效率。
以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點(diǎn)。本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會(huì)有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。