一種基于命令行動(dòng)態(tài)替換用于多設(shè)備共鏡像的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于通信領(lǐng)域,尤其涉及一種基于命令行動(dòng)態(tài)替換用于多設(shè)備共鏡像的方法。
【背景技術(shù)】
[0002]命令行界面(Command Line Interface,簡寫:CLI)是在圖形用戶界面得到普及之前使用最為廣泛的用戶界面,它通常不支持鼠標(biāo),用戶通過鍵盤輸入指令,計(jì)算機(jī)接收到指令后,予以執(zhí)行。
[0003]命令行界面比圖形用戶界面更節(jié)約計(jì)算機(jī)系統(tǒng)的資源。在熟記命令的前提下,使用命令行界面往往要比使用圖形用戶界面的操作速度要快。所以,在現(xiàn)在的操作系統(tǒng)中通常都保留著命令行界面。同時(shí),在各種交換機(jī)設(shè)備中也有廣泛應(yīng)用。
[0004]目前,在實(shí)際工程應(yīng)用中存在這樣的問題:
[0005]對(duì)于交換機(jī)、路由器、防火墻、網(wǎng)關(guān)設(shè)備、光網(wǎng)絡(luò)單元(Optical Network Unit,簡寫:0NU)或光線路終端(Optical Line Terminal,簡寫:0LT)等可支持CLI功能的設(shè)備,可能存在底層實(shí)現(xiàn)處理相同,但CLI參數(shù)范圍存在差異的情況。而且,這些差異性并不局限于某種設(shè)備的同系列產(chǎn)品。由于上述設(shè)備的CLI參數(shù)范圍存在差異,使得開發(fā)人員需要開發(fā)和維護(hù)多套代碼以及多個(gè)CLI鏡像文件,這不僅浪費(fèi)許多人力,還增加了開發(fā)人員的工作強(qiáng)度。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例的目的在于提供一種基于命令行動(dòng)態(tài)替換用于多設(shè)備共鏡像的方法,以解決現(xiàn)有技術(shù)開發(fā)人員需要開發(fā)和維護(hù)多套代碼以及多個(gè)鏡像文件的問題。
[0007]本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種基于命令行動(dòng)態(tài)替換用于多設(shè)備共鏡像的方法,所述方法包括以下步驟:
[0008]根據(jù)待替換的命令行的關(guān)鍵字到命令集樹中搜索命令節(jié)點(diǎn),所述命令集樹提供多個(gè)命令節(jié)點(diǎn),以便所述命令行界面CLI功能通過所述命令節(jié)點(diǎn)的組合,組合成擁有各種功能選項(xiàng)的命令行;對(duì)于搜索到的命令節(jié)點(diǎn),則通過軟件接口讀取當(dāng)前設(shè)備實(shí)際支持的配置參數(shù);根據(jù)所述實(shí)際支持的配置參數(shù),調(diào)整命令集樹上的命令節(jié)點(diǎn)。
[0009]本發(fā)明實(shí)施例提供的一種基于命令行動(dòng)態(tài)替換用于多設(shè)備共鏡像的方法的有益效果包括:通過對(duì)上述需要共鏡像的設(shè)備的命令行參數(shù)范圍的差異進(jìn)行處理,可以將與當(dāng)前設(shè)備實(shí)際匹配的命令行呈現(xiàn)給用戶,使得需要提供不同CLI鏡像的設(shè)備可以共用一個(gè)CLI鏡像文件,可有效的提高開發(fā)人員的工作效率,減少人力和物力的浪費(fèi)。
【附圖說明】
[0010]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0011]圖1是本發(fā)明實(shí)施例提供的一種基于命令行動(dòng)態(tài)替換用于多設(shè)備共鏡像的方法的流程圖;
[0012]圖2是本發(fā)明實(shí)施例提供的一種基于命令行動(dòng)態(tài)替換用于多設(shè)備共鏡像的方法的流程圖;
[0013]圖3是本發(fā)明實(shí)施例提供的一種基于命令行動(dòng)態(tài)替換用于多設(shè)備共鏡像的方法的流程圖;
[0014]圖4是本發(fā)明實(shí)施例提供的一種基于命令行動(dòng)態(tài)替換用于多設(shè)備共鏡像的方法的流程圖;
[0015]圖5是本發(fā)明實(shí)施例提供的一種命令集樹示意圖。
【具體實(shí)施方式】
[0016]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0017]為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實(shí)施例來進(jìn)行說明。
[0018]實(shí)施例一
[0019]如圖1所示為本發(fā)明提供的一種基于命令行動(dòng)態(tài)替換用于多設(shè)備共鏡像的方法的流程圖,其中,支持命令行界面CLI功能的設(shè)備進(jìn)入啟動(dòng)初始化狀態(tài)。所述支持命令行界面CLI功能的設(shè)備,可以是交換機(jī)、路由器、防火墻、網(wǎng)關(guān)設(shè)備、光網(wǎng)絡(luò)單元ONU或光線路終端 OLT0
[0020]在本實(shí)施例中,所述啟動(dòng)初始化具體包括:軟件平臺(tái)初始化、協(xié)議模塊初始化和網(wǎng)管初始化。在完成所述協(xié)議模塊初始化和網(wǎng)管初始化后,進(jìn)行所述根據(jù)待替換的命令行的關(guān)鍵字到命令集樹中搜索命令節(jié)點(diǎn)的操作。所述方法包括以下步驟:
[0021]在步驟201中,根據(jù)待替換的命令行的關(guān)鍵字到命令集樹中搜索命令節(jié)點(diǎn),所述命令集樹用于在啟動(dòng)CLI功能后,為CLI功能提供所支持的各種功能選項(xiàng)的命令行和該命令行的參數(shù)。
[0022]其中,命令行的參數(shù)設(shè)置為默認(rèn)值的命令行即為待替換的命令行。或者,在對(duì)應(yīng)所述命令集樹存儲(chǔ)有一個(gè)待替換命令行的列表,以便從中獲取待替換命令行。
[0023]在步驟202中,對(duì)于搜索到的命令節(jié)點(diǎn),則通過軟件接口讀取當(dāng)前設(shè)備實(shí)際支持的配置參數(shù)。
[0024]在步驟203中,根據(jù)所述實(shí)際支持的配置參數(shù),調(diào)整命令集樹上的命令節(jié)點(diǎn)。
[0025]本發(fā)明實(shí)施例,通過對(duì)上述需要共鏡像的設(shè)備的命令行參數(shù)范圍的差異進(jìn)行處理,可以將與當(dāng)前設(shè)備實(shí)際匹配的命令行呈現(xiàn)給用戶,使得需要共鏡像的設(shè)備可以共用一個(gè)鏡像文件,可有效的提高開發(fā)人員的工作效率,減少人力和物力的浪費(fèi)。
[0026]結(jié)合本實(shí)施例存在一種可行的方案,其中,所述根據(jù)待替換的命令行的關(guān)鍵字到命令集樹中搜索命令節(jié)點(diǎn),具體包括:
[0027]所述命令行由命令集樹中多個(gè)命令節(jié)點(diǎn)組成;解析待替換的命令行,并依據(jù)解析出來的關(guān)鍵字依次匹配命令集樹中的命令節(jié)點(diǎn),從而搜索到最終保存參數(shù)值的命令節(jié)點(diǎn)。
[0028]結(jié)合本實(shí)施例存在一種可行的方案,其中,所述根據(jù)所述實(shí)際支持的配置參數(shù),調(diào)整命令集樹上的命令節(jié)點(diǎn),具體包括:
[0029]比較所述命令節(jié)點(diǎn)中的參數(shù)值和所述實(shí)際支持的配置參數(shù);當(dāng)比較結(jié)果為不相同時(shí),根據(jù)所述實(shí)際支持的配置參數(shù),生成新的命令行;用所述新生成的命令行替換所述命令節(jié)點(diǎn)中注冊(cè)的命令行。當(dāng)比較結(jié)果為相同時(shí),則繼續(xù)搜索下一個(gè)待替換的命令行的關(guān)鍵字。
[0030]結(jié)合本實(shí)施例存在一種可行的方案,其中,所述根據(jù)所述實(shí)際支持的配置參數(shù),調(diào)整命令集樹上的命令節(jié)點(diǎn),具體包括:
[0031]根據(jù)所述實(shí)際支持的配置參數(shù),生成新的命令節(jié)點(diǎn);用所述新生成的命令行替換所述命令集樹中中注冊(cè)的存儲(chǔ)默認(rèn)配置參數(shù)的命令節(jié)點(diǎn)。
[0032]結(jié)合本實(shí)施例存在一種可行的方案,其中,所述對(duì)于搜索到的命令節(jié)點(diǎn),則通過軟件接口讀取當(dāng)前設(shè)備實(shí)際支持的配置參數(shù),具體包括:
[0033]對(duì)于搜索到的命令節(jié)點(diǎn),獲取該命令節(jié)點(diǎn)中包含的命對(duì)應(yīng)該命令行的參數(shù)。根據(jù)所述命令行的參數(shù),調(diào)用相應(yīng)模塊的驅(qū)動(dòng)接口,利用所述驅(qū)動(dòng)接口獲取相應(yīng)模塊實(shí)際支持的配置參數(shù)。
[0034]結(jié)合本實(shí)施例存在一種可行的方案,其中,在完成所述啟動(dòng)初始化后,保存更新完畢的命令集樹,以便在下一次啟動(dòng)時(shí),在同一個(gè)終端上無需再完成一次命令行的替換。
[0035]實(shí)施例二
[0036]如圖2所示為本發(fā)明實(shí)施例提供的一種基于命令行動(dòng)態(tài)替換用于多設(shè)備共鏡像的方法的流程圖,由圖2可知,本發(fā)明提供的一種基于命令行動(dòng)態(tài)替換用于多設(shè)備共鏡像的方法的實(shí)施例包括:
[0037]在步驟201中,根據(jù)待替換的命令行的關(guān)鍵字到命令集樹中搜索命令節(jié)點(diǎn),所述命令集樹用于在啟動(dòng)CLI功能后,為CLI功能提供所支持的各種功能選項(xiàng)的命令行和該命令行的參數(shù)。
[0038]在步驟202中,對(duì)于搜索到的命令節(jié)點(diǎn),則通過軟件接口讀取當(dāng)前設(shè)備實(shí)際支持的配置參數(shù)。
[0039]其中,步驟203具體執(zhí)行為:
[0040]在步驟301中,比較所述命令節(jié)點(diǎn)中的參數(shù)值和所述實(shí)際支持的配置參數(shù)。
[0041]如圖5中,命令節(jié)點(diǎn)參數(shù)值〈0,1000〉,而實(shí)際支持的配置參數(shù)假設(shè)為〈0,500〉。
[0042]在步驟302中,當(dāng)比較結(jié)果為不相同時(shí),根據(jù)所述實(shí)際支持的配置參數(shù),生成新的命令節(jié)點(diǎn)。
[0043]具體的,以圖5為例生成一個(gè)參數(shù)值為〈0,500>的命令節(jié)點(diǎn)。
[0044]在步驟303中,用所述新生成的命令節(jié)點(diǎn)替換所述命令集樹中注冊(cè)的存儲(chǔ)默認(rèn)配置參數(shù)的命令節(jié)點(diǎn),并回到步驟201,進(jìn)行其他命令行的關(guān)鍵字的搜索。
[0045]具體的,以圖5為例,用新生成的參數(shù)值為〈0,500>的命令節(jié)點(diǎn)替換圖中參數(shù)值為〈O, 1000〉的命令節(jié)點(diǎn),從而將命令行“add page〈0, 1000〉,,調(diào)整為了命令行“addpage〈0,500>”。
[0046]在本發(fā)明實(shí)施例中,通過對(duì)上述需要共鏡像的設(shè)備的命令行參數(shù)范圍的差異進(jìn)行處理,可以將與當(dāng)前設(shè)備實(shí)際匹配的命令行呈現(xiàn)給用戶,使得需要共鏡像的設(shè)備可以共用一個(gè)鏡像文件,可有效的提高開發(fā)人員的工作效率,減少人力和物力的浪費(fèi)。
[0047]優(yōu)選的,在步驟302的判