專利名稱:配置腳本快速收集方法及網(wǎng)絡(luò)通信設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及網(wǎng)絡(luò)通信設(shè)備中腳本收集的方法。
背景技術(shù):
網(wǎng)絡(luò)通信設(shè)備如路由器或者交換機(jī)等,在執(zhí)行向用戶顯示配置文件命令或者寫啟動配置文件等等操作時(shí)都需要執(zhí)行配置腳本收集過程。目前,在每一次需要使用配置信息時(shí),網(wǎng)絡(luò)通信設(shè)備都會執(zhí)行配置腳本的收集過程。現(xiàn)有配置腳本的收集過程是通過收集函數(shù)創(chuàng)建一個(gè)臨時(shí)文件,再調(diào)用需要更新配置的各個(gè)模塊的腳本更新函數(shù)更新腳本塊,最后將更新的各個(gè)腳本塊內(nèi)容寫到創(chuàng)建的臨時(shí)文件中形成完整的腳本配置文件,并將其在終端顯示出來或?qū)懙絾优渲梦募小,F(xiàn)有腳本收集方法存在的問題1)在每一次需要使用腳本的時(shí)候都會執(zhí)行完整的腳本收集過程,如每次執(zhí)行顯示配置文件或?qū)憜优渲梦募r(shí),都需要執(zhí)行腳本所在的各模塊對應(yīng)的腳本塊更新與收集, 盡管很多模塊的配置沒有變化,甚至整個(gè)配置都沒有發(fā)生變化,在收集時(shí)也需要完整的執(zhí)行腳本更新函數(shù)來更新腳本內(nèi)容,浪費(fèi)資源。2)當(dāng)其他模塊正在運(yùn)行時(shí),由于每次進(jìn)行腳本收集過程都需要調(diào)用各個(gè)模塊的腳本更新函數(shù)來更新自己模塊的腳本塊內(nèi)容,并且腳本收集任務(wù)的優(yōu)先級較高,容易影響其他模塊的正常運(yùn)行。3)由于腳本的變化一般是通過腳本收集后才能感知的到,對于熱拔插或同步等需要進(jìn)行腳本收集的過程,收集腳本需要消耗很大的資源,導(dǎo)致熱拔插或同步過程進(jìn)行了很多不必要的開銷。在高端網(wǎng)絡(luò)通信設(shè)備如高端路由器或者高端交換機(jī)中由于還存在腳本配置文件的冗余備份,因此上述問題表現(xiàn)更為嚴(yán)重。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是,提供一種效率更高的配置腳本收集方法。本發(fā)明為解決上述技術(shù)問題所采用的技術(shù)方案是,配置腳本快速收集方法,包括步驟將需要生成配置的各個(gè)模塊的腳本組織為至少一個(gè)腳本塊節(jié)點(diǎn);并將每一個(gè)腳本塊節(jié)點(diǎn)中的腳本塊對應(yīng)保存至獨(dú)立的存儲空間;當(dāng)配置命令發(fā)生改變時(shí),觸發(fā)更新與所述變化相關(guān)的腳本塊節(jié)點(diǎn)對應(yīng)存儲空間中的腳本塊;當(dāng)進(jìn)行腳本收集時(shí),遍歷各腳本塊節(jié)點(diǎn),將各腳本塊節(jié)點(diǎn)對應(yīng)的腳本塊拷貝至腳本配置文件中。本發(fā)明將腳本塊節(jié)點(diǎn)的更新與腳本塊節(jié)點(diǎn)對應(yīng)的腳本塊的拷貝放在不同的時(shí)刻進(jìn)行。預(yù)更新并單獨(dú)保存各個(gè)模塊對應(yīng)的腳本塊節(jié)點(diǎn),此后,僅當(dāng)各個(gè)模塊的配置命令發(fā)生改變時(shí),才單獨(dú)更新并修改發(fā)生變化的腳本塊節(jié)點(diǎn)所對應(yīng)的配置腳本內(nèi)容,占用系統(tǒng)資源少。在進(jìn)行配置腳本收集時(shí),各個(gè)模塊對應(yīng)的腳本塊的更新已經(jīng)完成,整個(gè)腳本收集過程只是簡單地將各個(gè)腳本塊配置內(nèi)容集中起來,省去了臨時(shí)調(diào)用腳本更新函數(shù)更新腳本的時(shí)間,顯著提高了腳本收集速度,也不會在腳本收集時(shí)影響其它模塊正常運(yùn)行,提高了系統(tǒng)效率。為了盡可能少地占用系統(tǒng)資源。將需要生成配置的各個(gè)模塊的腳本可組織成2個(gè)以上的腳本塊節(jié)點(diǎn),不限于一個(gè)模塊僅對應(yīng)一個(gè)腳本塊節(jié)點(diǎn)。根據(jù)模塊的實(shí)際情況,將一個(gè)模塊的腳本組織成多個(gè)腳本塊節(jié)點(diǎn),使得當(dāng)該模塊的配置命令發(fā)生改變時(shí),需要重新更新的腳本塊的配置內(nèi)容更少,占用該模塊的運(yùn)行時(shí)間更短。進(jìn)一步的,在組織腳本塊節(jié)點(diǎn)的同時(shí),為每一個(gè)腳本塊節(jié)點(diǎn)分配唯一的優(yōu)先級;當(dāng)進(jìn)行腳本收集時(shí),根據(jù)腳本塊節(jié)點(diǎn)的優(yōu)先級遍歷各腳本塊節(jié)點(diǎn)。具體的,對于配置內(nèi)容不會隨收集腳本的用途不同而變化的腳本塊節(jié)點(diǎn),會將其對應(yīng)的腳本塊保存為默認(rèn)腳本塊配置。進(jìn)一步的,有少數(shù)模塊的腳本塊存在因收集腳本的用途不同而腳本塊保存的配置內(nèi)容也不相同的情形;因此,對于配置內(nèi)容會隨收集腳本的用途不同而不同的腳本塊節(jié)點(diǎn), 會根據(jù)腳本的用途的不同將不同的腳本塊分別對應(yīng)保存至獨(dú)立的存儲空間;當(dāng)進(jìn)行腳本收集時(shí),根據(jù)腳本用途將腳本塊節(jié)點(diǎn)對應(yīng)的腳本塊拷貝至腳本配置文件中。同時(shí),提供一種實(shí)現(xiàn)上述腳本收集方法的網(wǎng)絡(luò)通信設(shè)備,包括腳本塊節(jié)點(diǎn)組織單元、腳本塊更新單元、腳本收集單元;腳本塊節(jié)點(diǎn)組織單元用于,將需要生成配置的各個(gè)模塊的腳本組織成腳本塊節(jié)占.
^ \\\ 腳本塊更新單元用于,將每一個(gè)腳本塊節(jié)點(diǎn)中的腳本塊對應(yīng)保存至獨(dú)立的存儲空間;當(dāng)配置命令發(fā)生改變時(shí),觸發(fā)更新與所述變化相關(guān)的腳本塊節(jié)點(diǎn)對應(yīng)存儲空間中的腳本塊;腳本收集單元用于,當(dāng)進(jìn)行腳本收集時(shí),遍歷各腳本塊節(jié)點(diǎn),將各腳本塊節(jié)點(diǎn)對應(yīng)存儲空間的的腳本塊拷貝至腳本配置文件中。進(jìn)一步的,腳本塊節(jié)點(diǎn)組織單元還用于,在組織腳本塊節(jié)點(diǎn)的同時(shí),為每一個(gè)腳本塊節(jié)點(diǎn)分配唯一的優(yōu)先級;腳本收集單元還用于,根據(jù)腳本塊節(jié)點(diǎn)的優(yōu)先級遍歷各腳本塊節(jié)點(diǎn)。具體的,所述腳本塊更新單元還用于,對于配置內(nèi)容不會隨收集腳本的用途不同而變化的腳本塊節(jié)點(diǎn),會將其對應(yīng)的腳本塊保存為默認(rèn)腳本塊配置;所述腳本收集單元還用于,根據(jù)腳本用途將腳本塊節(jié)點(diǎn)對應(yīng)的腳本塊拷貝至腳本配置文件中。進(jìn)一步的,腳本塊更新單元還用于,對于配置內(nèi)容會隨收集腳本的用途不同而不同的腳本塊節(jié)點(diǎn),會根據(jù)腳本的用途的不同將不同的腳本塊分別對應(yīng)保存至獨(dú)立的存儲空間;腳本收集單元還用于,根據(jù)腳本用途將腳本塊節(jié)點(diǎn)對應(yīng)的腳本塊拷貝至腳本配置文件中。本發(fā)明的有益效果是,提高腳本收集效率與系統(tǒng)效率,減小腳本收集與各個(gè)模塊的耦合,提供系統(tǒng)穩(wěn)定性。
圖1為實(shí)施本發(fā)明方法的網(wǎng)絡(luò)通信設(shè)備示意圖。圖2為實(shí)施例中,配置變化時(shí)腳本塊配置內(nèi)容的保存流程。圖3為實(shí)施例中,收集腳本時(shí)的流程。
具體實(shí)施例方式如圖1所示的網(wǎng)絡(luò)通信設(shè)備,包括腳本塊節(jié)點(diǎn)組織單元、腳本塊更新單元、腳本收集單元。腳本塊節(jié)點(diǎn)組織單元將各個(gè)模塊的腳本組織為一到多個(gè)小的腳本塊節(jié)點(diǎn),并通過分配的優(yōu)先級常數(shù)對每個(gè)腳本塊節(jié)點(diǎn)賦予唯一的優(yōu)先級。將腳本塊節(jié)點(diǎn)對應(yīng)的配置腳本內(nèi)容單獨(dú)保存,使得能夠在配置命令發(fā)生變化時(shí)單獨(dú)修改這部分內(nèi)容。因此需要根據(jù)模塊的實(shí)際情況使用一個(gè)或多個(gè)腳本塊節(jié)點(diǎn)。如圖2所示,當(dāng)配置命令發(fā)生的改變時(shí),腳本塊更新單元通過通知觸發(fā)各模塊的腳本塊處理函數(shù)更新對應(yīng)的腳本塊節(jié)點(diǎn)的配置內(nèi)容,保存到對應(yīng)的獨(dú)立的存儲空間。獨(dú)立的存儲空間區(qū)別于現(xiàn)有技術(shù)將所有的腳本塊的配置內(nèi)容保存在一個(gè)臨時(shí)文件中,使得單獨(dú)更新某個(gè)腳本塊節(jié)點(diǎn)的配置內(nèi)容成為可能。收集的腳本可以用于執(zhí)行顯示配置命令如Show run,以及執(zhí)行寫啟動配置文件(startup文件),同步等用途,由于大部分腳本塊的內(nèi)容是一致的,只有少數(shù)模塊的腳本塊節(jié)點(diǎn)存在因收集腳本的用途的不同而腳本塊保存的配置內(nèi)容也不相同的情形,因此對于腳本塊節(jié)點(diǎn)保存的配置內(nèi)容會隨收集腳本的用途不同而,而分別保存一份腳本塊配置內(nèi)容,對于腳本塊節(jié)點(diǎn)的配置內(nèi)容不隨用途變化而發(fā)生變化的腳本塊保存為默認(rèn)腳本塊配置。對于沒有進(jìn)行配置的腳本塊節(jié)點(diǎn)則不對該腳本塊保存配置內(nèi)容。如圖3所示,對腳本進(jìn)行收集時(shí),根據(jù)腳本的用途和腳本塊節(jié)點(diǎn)的優(yōu)先級遍歷所有的腳本塊節(jié)點(diǎn),如果腳本塊節(jié)點(diǎn)存在有配置內(nèi)容,則進(jìn)一步根據(jù)用途查找是否存在其用途的配置內(nèi)容,存在則將該用途的腳本塊節(jié)點(diǎn)的配置內(nèi)容拷貝到收集的腳本文件中,不存在區(qū)分用途的腳本塊節(jié)點(diǎn),則將默認(rèn)的配置拷貝到收集的腳本文件中,并繼續(xù)處理下一優(yōu)先級腳本塊節(jié)點(diǎn);腳本塊節(jié)點(diǎn)不存在配置內(nèi)容的則跳過本節(jié)點(diǎn)并繼續(xù)處理下一優(yōu)先級腳本塊節(jié)點(diǎn)。具體步驟如下a、根據(jù)用途收集腳本,從最高優(yōu)先級的腳本塊節(jié)點(diǎn)開始;b、判斷當(dāng)前腳本塊節(jié)點(diǎn)對應(yīng)的腳本塊的配置內(nèi)容是否存在,如是,進(jìn)入步驟c ;如否,進(jìn)入步驟f;C、當(dāng)前腳本塊是否存在該用途的配置內(nèi)容,如是,進(jìn)入步驟d;如否,進(jìn)入步驟e ;d、將該用途的腳本塊的配置內(nèi)容拷貝至腳本文件中,進(jìn)入步驟f ;e、將默認(rèn)腳本塊的配置內(nèi)容拷貝到腳本文件中,進(jìn)入步驟f ;所有腳本塊節(jié)點(diǎn)遍歷是否完成,如是,腳本收集完成;如否,進(jìn)入下一優(yōu)先級腳本塊節(jié)點(diǎn)的處理,返回步驟b;
權(quán)利要求
1.配置腳本快速收集方法,其特征在于,包括步驟將需要生成配置的各個(gè)模塊的腳本組織為至少一個(gè)腳本塊節(jié)點(diǎn);并將每一個(gè)腳本塊節(jié)點(diǎn)中的腳本塊對應(yīng)保存至獨(dú)立的存儲空間;當(dāng)配置命令發(fā)生改變時(shí),觸發(fā)更新所述變化相關(guān)的腳本塊節(jié)點(diǎn)對應(yīng)存儲空間中的腳本塊;當(dāng)進(jìn)行腳本收集時(shí),遍歷各腳本塊節(jié)點(diǎn),將各腳本塊節(jié)點(diǎn)對應(yīng)的腳本塊拷貝至腳本配置文件中。
2.如權(quán)利要求1所述配置腳本快速收集方法,其特征在于,在組織腳本塊節(jié)點(diǎn)的同時(shí), 為每一個(gè)腳本塊節(jié)點(diǎn)分配唯一的優(yōu)先級;當(dāng)進(jìn)行腳本收集時(shí),根據(jù)腳本塊節(jié)點(diǎn)的優(yōu)先級遍歷各腳本塊節(jié)點(diǎn)。
3.如權(quán)利要求1所述配置腳本快速收集方法,其特征在于,對于沒有進(jìn)行配置的腳本塊節(jié)點(diǎn),則其不保存對應(yīng)的腳本塊。
4.如權(quán)利要求1所述配置腳本快速收集方法,其特征在于,對于配置內(nèi)容不會隨收集腳本的用途不同而變化的腳本塊節(jié)點(diǎn),將其對應(yīng)的腳本塊保存為默認(rèn)腳本塊配置。
5.如權(quán)利要求1-4任一項(xiàng)所述配置腳本快速收集方法,其特征在于,對于配置內(nèi)容會隨收集腳本的用途不同而不同的腳本塊節(jié)點(diǎn),則根據(jù)腳本的用途將不同的腳本塊分別對應(yīng)保存至獨(dú)立的存儲空間;當(dāng)進(jìn)行腳本收集時(shí),根據(jù)腳本用途將腳本塊節(jié)點(diǎn)對應(yīng)的腳本塊拷貝至腳本配置文件中。
6.網(wǎng)絡(luò)通信設(shè)備,其特征在于,包括腳本塊節(jié)點(diǎn)組織單元、腳本塊更新單元、腳本收集單元;腳本塊節(jié)點(diǎn)組織單元用于,將需要生成配置的各個(gè)模塊的腳本組織成腳本塊節(jié)點(diǎn);腳本塊更新單元用于,將每一個(gè)腳本塊節(jié)點(diǎn)中的腳本塊對應(yīng)保存至獨(dú)立的存儲空間; 當(dāng)配置命令發(fā)生改變時(shí),觸發(fā)更新與所述變化相關(guān)的腳本塊節(jié)點(diǎn)對應(yīng)存儲空間中的腳本塊;腳本收集單元用于,當(dāng)進(jìn)行腳本收集時(shí),遍歷各腳本塊節(jié)點(diǎn),將各腳本塊節(jié)點(diǎn)對應(yīng)存儲空間中的腳本塊拷貝至腳本配置文件中。
7.如權(quán)利要求6所述網(wǎng)絡(luò)通信設(shè)備,其特征在于,所述腳本塊節(jié)點(diǎn)組織單元還用于,在組織腳本塊節(jié)點(diǎn)的同時(shí),為每一個(gè)腳本塊節(jié)點(diǎn)分配唯一的優(yōu)先級;所述腳本收集單元還用于,根據(jù)腳本塊節(jié)點(diǎn)的優(yōu)先級遍歷各腳本塊節(jié)點(diǎn)。
8.如權(quán)利要求6或7所述網(wǎng)絡(luò)通信設(shè)備,其特征在于,所述腳本塊更新單元還用于,對于配置內(nèi)容不會隨收集腳本的用途不同而變化的腳本塊節(jié)點(diǎn),會將其對應(yīng)的腳本塊保存為默認(rèn)腳本塊配置;所述腳本收集單元還用于,根據(jù)腳本用途將腳本塊節(jié)點(diǎn)對應(yīng)的腳本塊拷貝至腳本配置文件中。
9.如權(quán)利要求6或7所述網(wǎng)絡(luò)通信設(shè)備,其特征在于,所述腳本塊更新單元還用于,對于配置內(nèi)容會隨收集腳本的用途不同而不同的腳本塊節(jié)點(diǎn),會根據(jù)腳本的用途不同將不同的腳本塊分別對應(yīng)保存至獨(dú)立的存儲空間;所述腳本收集單元還用于,根據(jù)腳本用途將腳本塊節(jié)點(diǎn)對應(yīng)的腳本塊拷貝至腳本配置文件中。
全文摘要
本發(fā)明將腳本塊節(jié)點(diǎn)的更新與腳本塊節(jié)點(diǎn)對應(yīng)的腳本塊的拷貝放在不同的時(shí)刻進(jìn)行。預(yù)更新并單獨(dú)保存各個(gè)模塊對應(yīng)的腳本塊節(jié)點(diǎn),此后,僅當(dāng)各個(gè)模塊的配置命令發(fā)生改變時(shí),才單獨(dú)更新并修改發(fā)生變化的腳本塊節(jié)點(diǎn)所對應(yīng)的配置腳本內(nèi)容,占用系統(tǒng)資源少。在進(jìn)行配置腳本收集時(shí),各個(gè)模塊對應(yīng)的腳本塊的更新已經(jīng)完成,整個(gè)腳本收集過程只是簡單地將各個(gè)腳本塊配置內(nèi)容集中起來,省去了臨時(shí)調(diào)用腳本更新函數(shù)更新腳本的時(shí)間,顯著提高了腳本收集速度,也不會在腳本收集時(shí)影響其它模塊正常運(yùn)行,提高了系統(tǒng)效率。
文檔編號G06F17/30GK102419751SQ20101029478
公開日2012年4月18日 申請日期2010年9月28日 優(yōu)先權(quán)日2010年9月28日
發(fā)明者葉學(xué)東, 梁暉, 胡祖松 申請人:邁普通信技術(shù)股份有限公司