本發(fā)明涉及網(wǎng)絡(luò)設(shè)備信息技術(shù)領(lǐng)域,特別涉及一種網(wǎng)絡(luò)設(shè)備配置信息處理方法及裝置。
背景技術(shù):
在信息中心網(wǎng)絡(luò)設(shè)備的日常運維中,網(wǎng)絡(luò)設(shè)備的配置以CLI(command-line interface,命令行界面,是指可在用戶提示符下鍵入可執(zhí)行指令的界面)方式進(jìn)行,配置信息以文本形式存在FLASH中。傳統(tǒng)的,是通過技術(shù)人員人工閱讀文本形式的配置文件,采用人為手動的方式獲取網(wǎng)絡(luò)設(shè)備的端口等配置信息,然后以人工整理的形式來展示網(wǎng)絡(luò)設(shè)備的配置信息。但是由于信息中心的網(wǎng)絡(luò)拓?fù)鋸?fù)雜,網(wǎng)絡(luò)設(shè)備數(shù)量龐大、網(wǎng)絡(luò)設(shè)備的端口類型繁多,在配置信息收集時會耗費大量的時間,且在配置信息收集的過程中容易出現(xiàn)信息不準(zhǔn)確、錯漏等情況,這樣會給信息中心網(wǎng)絡(luò)設(shè)備的日常運維帶來隱患。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種網(wǎng)絡(luò)設(shè)備配置信息處理方法,可以減少獲取配置信息的時間,同時還使得獲取的網(wǎng)絡(luò)設(shè)備的配置信息準(zhǔn)確、無錯漏。該方法包括:
主控服務(wù)器獲取網(wǎng)絡(luò)設(shè)備的配置信息文件,所述配置信息文件中包括多行配置信息;
主控服務(wù)器對每行配置信息進(jìn)行分詞處理,獲得多個配置信息原子;
主控服務(wù)器將每行配置信息中的多個配置信息原子與數(shù)據(jù)庫中的配置信息關(guān)鍵字進(jìn)行比較,當(dāng)每行配置信息中的多個配置信息原子中的一個配置信息原子與所述配置信息關(guān)鍵字相同時,則與所述配置信息關(guān)鍵字相同的配置信息原子所在行對應(yīng)的配置信息為所需配置信息。
在一個實施例中,還包括:
將所需配置信息存入到數(shù)據(jù)庫中,與數(shù)據(jù)庫中的配置信息關(guān)鍵字相對應(yīng)。
在一個實施例中,將所需配置信息存儲到數(shù)據(jù)庫中,具體包括:
將所需配置信息中與所述配置信息關(guān)鍵字相同的配置信息原子后面的配置信息原子存儲到數(shù)據(jù)庫中。
在一個實施例中,還包括:
將數(shù)據(jù)庫中的配置信息關(guān)鍵字、所需配置信息中與所述配置信息關(guān)鍵字相同的配置信息原子后面的配置信息原子以Excel表格的形式進(jìn)行存儲。
在一個實施例中,還包括:
將數(shù)據(jù)庫中的配置信息關(guān)鍵字、所需配置信息中與所述配置信息關(guān)鍵字相同的配置信息原子后面的配置信息原子以Excel表格的形式或Web形式進(jìn)行展示。
本發(fā)明實施例還提供了一種網(wǎng)絡(luò)設(shè)備配置信息處理裝置,可以減少獲取配置信息的時間,同時還使得獲取的網(wǎng)絡(luò)設(shè)備的配置信息準(zhǔn)確、無錯漏。該裝置運行于主控服務(wù)器上,該裝置包括:
文件獲取模塊,用于獲取網(wǎng)絡(luò)設(shè)備的配置信息文件,所述配置信息文件中包括多行配置信息;
分詞處理模塊,用于對每行配置信息進(jìn)行分詞處理,獲得多個配置信息原子;
比較模塊,用于將每行配置信息中的多個配置信息原子與數(shù)據(jù)庫中的配置信息關(guān)鍵字進(jìn)行比較,當(dāng)每行配置信息中的多個配置信息原子中的一個配置信息原子與所述配置信息關(guān)鍵字相同時,則與所述配置信息關(guān)鍵字相同的配置信息原子所在行對應(yīng)的配置信息為所需配置信息。
在一個實施例中,還包括:
存儲模塊,用于將所需配置信息存儲到數(shù)據(jù)庫中,與數(shù)據(jù)庫中的配置信息關(guān)鍵字相對應(yīng)。
在一個實施例中,所述存儲模塊具體用于:
將所需配置信息中與所述配置信息關(guān)鍵字相同的配置信息原子后面的配置信息原子存儲到數(shù)據(jù)庫中。
在一個實施例中,所述存儲模塊具體用于:
將數(shù)據(jù)庫中的配置信息關(guān)鍵字、所需配置信息中與所述配置信息關(guān)鍵字相同的配置信息原子后面的配置信息原子以Excel表格的形式進(jìn)行存儲。
在一個實施例中,還包括:
展示模塊,用于將數(shù)據(jù)庫中的配置信息關(guān)鍵字、所需配置信息中與所述配置信息關(guān)鍵字相同的配置信息原子后面的配置信息原子以Excel表格的形式或Web形式進(jìn)行展示。
在本發(fā)明實施例中,相比較傳統(tǒng)的人工閱讀配置文件、人工獲取網(wǎng)絡(luò)設(shè)備的配置信息,本發(fā)明所有的操作都是在主控服務(wù)器中完成的,這樣可以減少獲取配置信息的時間;同時本發(fā)明是將網(wǎng)絡(luò)設(shè)備的配置信息文件中每行配置信息的多個配置信息原子與數(shù)據(jù)庫中的配置信息關(guān)鍵字進(jìn)行比較后確定的所需配置信息。這樣可以使獲取的網(wǎng)絡(luò)設(shè)備的配置信息準(zhǔn)確、無錯漏,減少給信息中心網(wǎng)絡(luò)設(shè)備的日常運維帶來的隱患。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是一種網(wǎng)絡(luò)設(shè)備配置信息處理方法流程圖;
圖2是一種網(wǎng)絡(luò)設(shè)備配置信息處理裝置結(jié)構(gòu)框圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
傳統(tǒng)的獲取網(wǎng)絡(luò)設(shè)備的配置信息所采用的方法是:人工閱讀配置文件、人工獲取網(wǎng)絡(luò)設(shè)備的配置信息,由于信息中心的網(wǎng)絡(luò)拓?fù)鋸?fù)雜,網(wǎng)絡(luò)設(shè)備數(shù)量龐大、網(wǎng)絡(luò)設(shè)備的端口類型繁多,采用傳統(tǒng)的方法會耗費大量的時間,且獲取的配置信息可能不準(zhǔn)確,也可能出現(xiàn)錯漏情況,這樣會給信息中心網(wǎng)絡(luò)設(shè)備的日常運維帶來隱患?;诖?,本發(fā)明提出一種網(wǎng)絡(luò)設(shè)備配置信息處理方法及裝置,可以解決現(xiàn)有技術(shù)存在的問題。
在本發(fā)明實施例中,圖1是一種網(wǎng)絡(luò)設(shè)備配置信息處理方法流程圖,如圖1所示,該方法包括:
步驟101:主控服務(wù)器獲取網(wǎng)絡(luò)設(shè)備的配置信息文件,所述配置信息文件中包括多行配置信息;
步驟102:主控服務(wù)器對每行配置信息進(jìn)行分詞處理,獲得多個配置信息原子;
步驟103:主控服務(wù)器將每行配置信息中的多個配置信息原子與數(shù)據(jù)庫中的配置信息關(guān)鍵字進(jìn)行比較,當(dāng)每行配置信息中的多個配置信息原子中的一個配置信息原子與所述配置信息關(guān)鍵字相同時,則與所述配置信息關(guān)鍵字相同的配置信息原子所在行對應(yīng)的配置信息為所需配置信息。
具體實施時,現(xiàn)有的通過銀行系統(tǒng)中的辦公網(wǎng)不能直接獲取到生產(chǎn)網(wǎng)處的網(wǎng)絡(luò)設(shè)備的配置信息文件,因此,現(xiàn)有的網(wǎng)絡(luò)設(shè)備的配置信息文件可以存儲到NAT(網(wǎng)絡(luò)設(shè)備配置自動備份)系統(tǒng)中,在辦公網(wǎng)想要查詢網(wǎng)絡(luò)設(shè)備的配置信息文件時,可以直接從NAT系統(tǒng)中獲取。
具體實施時,在獲取到網(wǎng)絡(luò)設(shè)備的配置信息文件之后,需要對配置信息文件中包括的多行配置信息進(jìn)行分詞處理,也就是將每行配置信息分割為一個個單詞或原子,分割之后,每行配置信息都包含多個配置信息原子。然后將每個配置信息原子與預(yù)設(shè)在數(shù)據(jù)庫中的配置信息關(guān)鍵字(由設(shè)備廠家規(guī)劃,然后根據(jù)實際需要整理確定)進(jìn)行比較(或者說匹配),當(dāng)有一個配置信息原子與配置信息關(guān)鍵字相同,則該配置信息原子所在行的配置信息就是我們所需要的配置信息。然后將與配置信息關(guān)鍵字相匹配的配置信息原子后面的配置信息原子存入到數(shù)據(jù)庫中,存儲的方式可以是將相應(yīng)的配置信息原子與相應(yīng)的配置信息關(guān)鍵字存儲到Excel表格中,并且一一對應(yīng)。另外還可以將配置信息分條目存儲到后端數(shù)據(jù)庫中。
當(dāng)有展示需要時,可以將數(shù)據(jù)庫中的配置信息關(guān)鍵字、所需配置信息中與所述配置信息關(guān)鍵字相同的配置信息原子后面的配置信息原子以Excel表格的形式展示,或與JSP結(jié)合以Web形式進(jìn)行展示。
具體實施時,設(shè)備的配置信息可以簡單的暫存于主控服務(wù)器中,同樣,還可以由另外的設(shè)備(比如配置信息展示平臺)獨立存儲和展示設(shè)備的配置信息。
具體實施時,上述方法流程是通過在主控服務(wù)器中運行Python程序來實現(xiàn)網(wǎng)絡(luò)設(shè)備配置信息的自動化分析、比對、匯總。Python作為一種腳本解釋程序,有效的結(jié)合了Unix shell和C的習(xí)慣,具有簡單,速度快,可移植性,可擴(kuò)展性,豐富的庫等優(yōu)點。由于這種設(shè)計觀念,Python源代碼通常被認(rèn)為比Perl具備更好的可讀性,并且能夠支撐大規(guī)模的軟件開發(fā),運維等工作。在本文中,在Python腳本自定義配置信息獲取規(guī)則,可以靈活的獲取有價值的網(wǎng)絡(luò)設(shè)備配置信息。
Python腳本的執(zhí)行流程是:
1)在服務(wù)器端執(zhí)行Python腳本,通過設(shè)置os.chdir,進(jìn)入網(wǎng)絡(luò)設(shè)備配置信息目錄,準(zhǔn)備處理網(wǎng)絡(luò)設(shè)備配置信息;
2)在Python腳本中通過enumerate將網(wǎng)絡(luò)設(shè)備配置信息文件的每行數(shù)據(jù)作為一個信息原子進(jìn)行處理;
3)在Python腳本中通過Python擴(kuò)展模塊re以及字符串的形式定義匹配規(guī)則。通過re模塊中的split,search等功能函數(shù)實現(xiàn)信息原子的匹配處理工作;
4)在處理信息原子的過程中,對于滿足匹配規(guī)則的信息,以字典型數(shù)據(jù)類型進(jìn)行臨時處理。
5)在獲得指定信息之后,完成網(wǎng)絡(luò)設(shè)備配置信息的存儲工作。如:將網(wǎng)絡(luò)設(shè)備配置信息分條目存儲到后端數(shù)據(jù)庫;若將網(wǎng)絡(luò)設(shè)備配置信息存儲于Excel文件,則通過擴(kuò)展模塊xlwt將網(wǎng)絡(luò)設(shè)備配置信息寫入到指定Excel文件中。
6)擴(kuò)展應(yīng)用:成功獲取網(wǎng)絡(luò)設(shè)備配置信息后,對于有展示需求的網(wǎng)絡(luò)設(shè)備配置信息,可以借助多種方式實現(xiàn)網(wǎng)絡(luò)設(shè)備配置信息的展示。如,將網(wǎng)絡(luò)設(shè)備配置信息以Excel文件形式展示;在Python腳本中通過MySQLdb擴(kuò)展模塊,實現(xiàn)設(shè)備信息往數(shù)據(jù)庫中的寫入操作,后期通過與JSP(Java Server Pages,中文名叫java服務(wù)器頁面)結(jié)合將網(wǎng)絡(luò)設(shè)備配置信息以WEB的形式展示。
舉例說明。
第一步:通過os.chdir,進(jìn)入指定目錄,并打開指定文件,例如:C:\Data\sw001.txt;
第二步:通過enumerate函數(shù)將sw001.txt文件逐行讀入內(nèi)存;
例如:讀入第一行:“Building configuration...”;
讀入第二行:“Current configuration:7332bytes”;
讀入第三、四、。。。。。。行;
第三步:通過re模塊中的split,search等功能函數(shù)實現(xiàn)信息原子的匹配處理工作;
第四步:在處理信息原子的過程中,對于滿足匹配規(guī)則的信息,以字典型數(shù)據(jù)類型進(jìn)行臨時處理。
第五步:存儲。
第六步:展示。
第三、四、五、六步,為了理解方便,統(tǒng)一舉例進(jìn)行說明:
例1:讀入第五行:“version 12.2”,利用split函數(shù)通過空格將一行數(shù)據(jù)分割為一個個單詞或原子,也就是(version+12.2)兩個原子;再將每個原子和數(shù)據(jù)字典進(jìn)行比較,比如version就是一個關(guān)鍵字,需要將version字樣后面的原子存入數(shù)據(jù)庫中的version字段;
例2:讀入第一行:“Building configuration...”,將一行數(shù)據(jù)進(jìn)行分割,也就是(Building+configuration...)兩個原子,再將每個原子和數(shù)據(jù)字典進(jìn)行比較,發(fā)現(xiàn)這兩個原子均不是關(guān)鍵字,則這一行無需處理,無需存入數(shù)據(jù)庫中;
例3:讀入第十一行:“hostname_CNBJSWPIT02”,也就是(hostname+_CNBJSWPIT02)兩個,比較后可以得出hostname是關(guān)鍵字,將之后的原子存入數(shù)據(jù)庫中,等待展示;
以此類推,直至將整個文件讀取完畢。
上述所說的是每行數(shù)據(jù)中的關(guān)鍵字只包括一個,但是實際當(dāng)中每行數(shù)據(jù)中的關(guān)鍵字不限于一個,可以包含多個關(guān)鍵字,因為是將每行數(shù)據(jù)分割為一個個單詞,因此當(dāng)存在多個關(guān)鍵字時,根據(jù)本發(fā)明同樣可以將每行中的所有關(guān)鍵字找到。
基于同一發(fā)明構(gòu)思,本發(fā)明實施例中還提供了一種網(wǎng)絡(luò)設(shè)備配置信息處理裝置,如下面的實施例所述。由于網(wǎng)絡(luò)設(shè)備配置信息處理裝置解決問題的原理與網(wǎng)絡(luò)設(shè)備配置信息處理方法相似,因此網(wǎng)絡(luò)設(shè)備配置信息處理裝置的實施可以參見網(wǎng)絡(luò)設(shè)備配置信息處理方法的實施,重復(fù)之處不再贅述。以下所使用的,術(shù)語“單元”或者“模塊”可以實現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。
圖2是一種網(wǎng)絡(luò)設(shè)備配置信息處理裝置結(jié)構(gòu)框圖,如圖2所示,該裝置包括:
文件獲取模塊201,用于獲取網(wǎng)絡(luò)設(shè)備的配置信息文件,所述配置信息文件中包括多行配置信息;
分詞處理模塊202,用于對每行配置信息進(jìn)行分詞處理,獲得多個配置信息原子;
比較模塊203,用于將每行配置信息中的多個配置信息原子與數(shù)據(jù)庫中的配置信息關(guān)鍵字進(jìn)行比較,當(dāng)每行配置信息中的多個配置信息原子中的一個配置信息原子與所述配置信息關(guān)鍵字相同時,則與所述配置信息關(guān)鍵字相同的配置信息原子所在行對應(yīng)的配置信息為所需配置信息。
下面對該結(jié)構(gòu)進(jìn)行說明。
具體實施時,該裝置還包括:
存儲模塊204,用于將所需配置信息存儲到數(shù)據(jù)庫中,與數(shù)據(jù)庫中的配置信息關(guān)鍵字相對應(yīng)。
具體實施時,存儲模塊204具體用于:
將所需配置信息中與所述配置信息關(guān)鍵字相同的配置信息原子后面的配置信息原子存儲到數(shù)據(jù)庫中。
具體實施時,存儲模塊204具體用于:
將數(shù)據(jù)庫中的配置信息關(guān)鍵字、所需配置信息中與所述配置信息關(guān)鍵字相同的配置信息原子后面的配置信息原子以Excel表格的形式進(jìn)行存儲。
具體實施時,該裝置還包括:
展示模塊205,用于將數(shù)據(jù)庫中的配置信息關(guān)鍵字、所需配置信息中與所述配置信息關(guān)鍵字相同的配置信息原子后面的配置信息原子以Excel表格的形式或Web形式進(jìn)行展示。
綜上所述,本發(fā)明具有如下有益效果:
(1)可以批量化處理所有網(wǎng)絡(luò)設(shè)備配置信息文檔,獲取有價值的配置信息并格式化展現(xiàn)。
(2)配置信息收集程序可以定制化實現(xiàn),且配置信息處理程序修改簡單,大大縮減了維護(hù)成本并提升準(zhǔn)確度。
(3)本發(fā)明以文本形式的配置信息文件為輸入,實現(xiàn)了配置信息的直觀格式化展現(xiàn)為輸出,為網(wǎng)絡(luò)設(shè)備的運行維護(hù)和多人交叉配置提供參數(shù)依據(jù),同時解放了人工讀取并整理配置的勞動,解決手動查找設(shè)備配置信息過程效率低下、準(zhǔn)確率難以保證的問題,且不影響網(wǎng)絡(luò)設(shè)備的運行。
(4)目前系統(tǒng)設(shè)置了針對路由器和交換機(jī)配置信息的處理規(guī)則,且設(shè)定了九個關(guān)鍵字段,獲取路由器和交換機(jī)各接口的詳細(xì)信息,包括設(shè)備端口號,封裝方式,專線號等,方便直觀的為技術(shù)人員提供網(wǎng)絡(luò)設(shè)備的全面信息。
本領(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)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明實施例可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。