一種配置回滾方法和裝置的制造方法
【專(zhuān)利摘要】本發(fā)明提供一種配置回滾方法和裝置,所述方法包括:當(dāng)需要取消當(dāng)前配置中的目標(biāo)正向配置命令對(duì)應(yīng)的配置時(shí),執(zhí)行所述目標(biāo)正向配置命令對(duì)應(yīng)的no命令;若所述目標(biāo)正向配置命令對(duì)應(yīng)的no命令執(zhí)行失敗,則執(zhí)行預(yù)設(shè)的用于取消所述目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作。應(yīng)用本發(fā)明實(shí)施例可以避免由于正向配置命令對(duì)應(yīng)的no命令不存在而導(dǎo)致回滾失敗的情況發(fā)生。
【專(zhuān)利說(shuō)明】
一種配置回滾方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種配置回滾方法和裝置。
【背景技術(shù)】
[0002]管理員通??梢酝ㄟ^(guò)命令行方式對(duì)設(shè)備進(jìn)行維護(hù)。命令行是一種交互式終端界面,管理員可以通過(guò)console (操縱)、telnet (遠(yuǎn)程終端協(xié)議)等連接方式訪(fǎng)問(wèn)設(shè)備,在提示符下輸入命令,對(duì)設(shè)備進(jìn)行維護(hù)。
[0003]隨著網(wǎng)絡(luò)規(guī)模越來(lái)越大,應(yīng)用越來(lái)越復(fù)雜,網(wǎng)絡(luò)設(shè)備配置也越來(lái)越多。比如路由、包過(guò)濾等表項(xiàng),條目數(shù)量可達(dá)10萬(wàn)數(shù)量級(jí),這種規(guī)模的配置量依靠人工維護(hù)變得越來(lái)越不現(xiàn)實(shí)。因此網(wǎng)絡(luò)設(shè)備需要支持相應(yīng)的自動(dòng)化管理手段,實(shí)現(xiàn)對(duì)設(shè)備配置的快速添加、刪除、恢復(fù)等操作。為了解決該類(lèi)批量配置的問(wèn)題,通常命令行都支持配置回滾功能。
[0004]配置回滾是指將當(dāng)前的配置回滾到指定配置文件中的配置狀態(tài)。配置回滾使用的配置文件是執(zhí)行configurat1n save (配置保存)命令生成的一種全部由命令行可執(zhí)行命令組成的.cfg文件。該文件支持從設(shè)備中導(dǎo)出、導(dǎo)入、編輯。管理員可以將生成的配置文件從設(shè)備中導(dǎo)出后進(jìn)行編輯,將所需要的配置命令添加到配置文件中后將配置文件導(dǎo)入設(shè)備,再使用配置回滾功能將設(shè)備當(dāng)前配置回滾到導(dǎo)入的配置文件中指定的配置狀態(tài),以此可以實(shí)現(xiàn)對(duì)設(shè)備的批量配置。
[0005]在配置回滾流程中,系統(tǒng)會(huì)處理、比較當(dāng)前配置文件(對(duì)應(yīng)設(shè)備當(dāng)前的配置)與回滾配置文件中的差異:
[0006]1、對(duì)于當(dāng)前配置文件與回滾配置文件中的相同命令,回滾操作不做處理;
[0007]2、對(duì)于存在于當(dāng)前配置文件但不存在于回滾配置文件中的命令,回滾操作將取消當(dāng)前配置文件中的配置命令,即執(zhí)行該配置命令對(duì)應(yīng)的no命令;
[0008]3、對(duì)于存在于回滾配置文件中,但不存在于當(dāng)前配置文件的命令,回滾操作將執(zhí)行這些命令;
[0009]4、對(duì)于當(dāng)前配置文件和回滾配置文件中不相同的命令,配置回滾將先取消這些配置,再執(zhí)行回滾配置文件中的相應(yīng)命令。
[0010]然而實(shí)踐發(fā)現(xiàn),在上述配置回滾方案中,當(dāng)需要取消某正向配置命令對(duì)應(yīng)的配置時(shí),如該正向配置命令存在于當(dāng)前配置文件但不存在于回滾配置文件中時(shí),需要執(zhí)行該正向配置命令對(duì)應(yīng)的no命令,即在正向配置命令前加上關(guān)鍵字no執(zhí)行。若正向配置命令前加關(guān)鍵字no構(gòu)成的反向配置命令不存在,系統(tǒng)不識(shí)別,就可能導(dǎo)致配置回滾失敗。例如,命令A(yù) B STRING(其中A、B為命令關(guān)鍵字,STRING為命令參數(shù)),對(duì)應(yīng)的反向配置命令為noA B,但是配置回滾的時(shí)候,系統(tǒng)會(huì)去自動(dòng)執(zhí)行no A B STRING,此時(shí)系統(tǒng)會(huì)因?yàn)椴恢С謓o AB STRING而造成配置A B STRING回滾失敗。
【發(fā)明內(nèi)容】
[0011]本發(fā)明提供一種配置回滾方法和裝置,以解決現(xiàn)有配置回滾方案中執(zhí)行正向配置命令對(duì)應(yīng)的no命令以取消正向配置命令對(duì)應(yīng)的配置時(shí),由于正向配置命令對(duì)應(yīng)的no命令不存在而導(dǎo)致回滾失敗的問(wèn)題。
[0012]根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種配置回滾方法,包括:
[0013]當(dāng)需要取消當(dāng)前配置中的目標(biāo)正向配置命令對(duì)應(yīng)的配置時(shí),執(zhí)行所述目標(biāo)正向配置命令對(duì)應(yīng)的no命令;
[0014]若所述目標(biāo)正向配置命令對(duì)應(yīng)的no命令執(zhí)行失敗,則執(zhí)行預(yù)設(shè)的用于取消所述目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作。
[0015]根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種配置回滾裝置,包括:
[0016]第一執(zhí)行單元,用于當(dāng)需要取消當(dāng)前配置中的目標(biāo)正向配置命令對(duì)應(yīng)的配置時(shí),執(zhí)行所述目標(biāo)正向配置命令對(duì)應(yīng)的no命令;
[0017]第二執(zhí)行單元,用于若所述目標(biāo)正向配置命令對(duì)應(yīng)的no命令執(zhí)行失敗,則執(zhí)行預(yù)設(shè)的用于取消所述目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作。
[0018]應(yīng)用本發(fā)明實(shí)施例,通過(guò)預(yù)先設(shè)置用于取消目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作,當(dāng)在配置回滾流程中需要取消當(dāng)前配置中的目標(biāo)正向配置命令對(duì)應(yīng)的配置,且執(zhí)行該目標(biāo)正向配置命令對(duì)應(yīng)的no命令失敗時(shí),可以執(zhí)行該預(yù)設(shè)的用于取消目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作,以取消目標(biāo)正向配置命令對(duì)應(yīng)的配置,避免了由于正向配置命令對(duì)應(yīng)的no命令不存在而導(dǎo)致回滾失敗的情況發(fā)生。
【附圖說(shuō)明】
[0019]圖1是本發(fā)明實(shí)施例提供的一種配置回滾方法的流程示意圖;
[0020]圖2是本發(fā)明實(shí)施例提供的另一種配置回滾方法的流程示意圖;
[0021]圖3是本發(fā)明實(shí)施例提供的配置回滾裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖;
[0022]圖4是本發(fā)明實(shí)施例提供的一種配置回滾裝置的結(jié)構(gòu)示意圖;
[0023]圖5是本發(fā)明實(shí)施例提供的另一種配置回滾裝置的結(jié)構(gòu)示意圖;
[0024]圖6是本發(fā)明實(shí)施例提供的另一種配置回滾裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0025]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。
[0026]請(qǐng)參見(jiàn)圖1,為本發(fā)明實(shí)施例提供的一種配置回滾方法的流程示意圖,如圖1所示,該配置回滾方法可以包括以下步驟:
[0027]步驟101、當(dāng)需要取消當(dāng)前配置中的目標(biāo)正向配置命令對(duì)應(yīng)的配置時(shí),執(zhí)行該目標(biāo)正向配置命令對(duì)應(yīng)的no命令。
[0028]本發(fā)明實(shí)施例中,上述方法可以應(yīng)用于包括但不限于路由器、交換機(jī)等網(wǎng)絡(luò)設(shè)備,為便于描述,以下以上述方法的執(zhí)行主體為網(wǎng)絡(luò)設(shè)備進(jìn)行說(shuō)明。
[0029]本發(fā)明實(shí)施例中,在網(wǎng)絡(luò)設(shè)備進(jìn)行配置回滾的過(guò)程中,當(dāng)需要取消當(dāng)前配置中的目標(biāo)正向配置命令對(duì)應(yīng)的配置時(shí),網(wǎng)絡(luò)設(shè)備可以先嘗試執(zhí)行該目標(biāo)正向配置命令對(duì)應(yīng)的no命令,即在該目標(biāo)正向配置命令前加上關(guān)鍵字“no”,并執(zhí)行。
[0030]例如,假設(shè)正向配置命令為telnet enable,其對(duì)應(yīng)的no命令為no telnetenable ;假設(shè)正向配置命令為password WORD,其對(duì)應(yīng)的no命令為no password WORD。[0031 ] 其中,該目標(biāo)正向配置命令可以包括但不限于任一存在于當(dāng)前配置對(duì)應(yīng)的配置文件中,但不存在于回滾配置文件中的正向配置命令;或,任一存在于當(dāng)前配置對(duì)應(yīng)的配置文件中,且與回滾配置文件中對(duì)應(yīng)的配置命令不同的正向配置命令。
[0032]步驟102、若該目標(biāo)正向配置命令對(duì)應(yīng)的no命令執(zhí)行失敗,則執(zhí)行預(yù)設(shè)的用于取消目標(biāo)正向配置命令對(duì)應(yīng)的目標(biāo)操作。
[0033]本發(fā)明實(shí)施例中,為了避免在配置回滾過(guò)程中由于正向配置命令對(duì)應(yīng)的no命令不存在而導(dǎo)致回滾失敗,可以預(yù)先針對(duì)當(dāng)前配置對(duì)應(yīng)的配置文件中反向配置命令不是正向配置命令前加上關(guān)鍵詞“no”的正向配置命令,設(shè)定用于取消該正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作。
[0034]相應(yīng)地,當(dāng)網(wǎng)絡(luò)設(shè)備執(zhí)行目標(biāo)正向配置命令對(duì)應(yīng)的no命令失敗時(shí),網(wǎng)絡(luò)設(shè)備可以執(zhí)行預(yù)設(shè)的用于取消該目標(biāo)正向配置命令的配置的目標(biāo)操作,以取消該目標(biāo)正向配置命令的配置的目標(biāo)操作。
[0035]作為一種實(shí)現(xiàn)方式,上述步驟102中,執(zhí)行預(yù)設(shè)的用于取消目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作,可以具體包括:
[0036]將反向配置狀態(tài)標(biāo)志設(shè)置為開(kāi)啟狀態(tài),并執(zhí)行該目標(biāo)正向配置命令;其中,在反向配置狀態(tài)標(biāo)識(shí)為開(kāi)啟狀態(tài)時(shí),執(zhí)行目標(biāo)正向配置命令將會(huì)取消目標(biāo)正向配置命令對(duì)應(yīng)的配置。
[0037]在該實(shí)施方式中,對(duì)于系統(tǒng)中反向配置命令不是由正向配置命令前加關(guān)鍵字“no”構(gòu)成的情況,將該正向配置命令的執(zhí)行流程由原來(lái)的正向配置流程設(shè)置為兩個(gè)部分:正常配置流程和取消配置流程。該兩個(gè)流程通過(guò)一個(gè)反向配置狀態(tài)標(biāo)志來(lái)區(qū)分,當(dāng)該反向配置狀態(tài)標(biāo)志開(kāi)啟狀態(tài)時(shí),執(zhí)行正向配置命令即為執(zhí)行其對(duì)應(yīng)的取消配置流程,即取消該正向配置命令對(duì)應(yīng)的配置;當(dāng)該反向配置狀態(tài)標(biāo)志為關(guān)閉狀態(tài)時(shí),執(zhí)行正向配置命令即為執(zhí)行其對(duì)應(yīng)的正常配置流程,即根據(jù)該正向配置命令對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行配置。其中,上述反向配置狀態(tài)標(biāo)志的初始化狀態(tài)為關(guān)閉狀態(tài)。
[0038]需要注意的是,對(duì)于系統(tǒng)中反向配置命令是由正向配置命令前加關(guān)鍵字“no”構(gòu)成的情況,正向配置流程與反向配置流程分別歸屬于正向配置命令和反向配置命令,二者相互獨(dú)立,其流程均不用修改,其具體實(shí)現(xiàn)在此不再贅述。
[0039]相應(yīng)地,當(dāng)網(wǎng)絡(luò)設(shè)備執(zhí)行目標(biāo)正向命令的no命令失敗時(shí),該網(wǎng)絡(luò)設(shè)備可以將反向配置狀態(tài)標(biāo)志設(shè)置為開(kāi)啟狀態(tài),并執(zhí)行該目標(biāo)正向配置命令;此時(shí),由于反向配置狀態(tài)標(biāo)志為開(kāi)啟狀態(tài),因此,網(wǎng)絡(luò)設(shè)備執(zhí)行該正向配置命令即為執(zhí)行該正向配置命令對(duì)應(yīng)的取消配置命令流程,即網(wǎng)絡(luò)設(shè)備將會(huì)取消該正向配置命令對(duì)應(yīng)的配置。
[0040]進(jìn)一步地,在該實(shí)施方式中,將反向配置狀態(tài)標(biāo)志設(shè)置為開(kāi)啟狀態(tài),并執(zhí)行目標(biāo)正向配置命令之后,還可以包括:
[0041]將反向配置狀態(tài)標(biāo)志設(shè)置為關(guān)閉狀態(tài)。
[0042]在該實(shí)施方式中,為了避免反向配置狀態(tài)標(biāo)志的狀態(tài)影響其它配置命令的執(zhí)行,當(dāng)網(wǎng)絡(luò)設(shè)備在反向配置狀態(tài)標(biāo)志位開(kāi)啟狀態(tài)下執(zhí)行目標(biāo)正向配置命令之后,還可以將反向配置狀態(tài)標(biāo)志設(shè)置為關(guān)閉狀態(tài),進(jìn)而,當(dāng)網(wǎng)絡(luò)設(shè)備執(zhí)行其它正向配置命令時(shí),將會(huì)執(zhí)行其對(duì)應(yīng)的正常配置流程。
[0043]需要注意的是,在本發(fā)明實(shí)施例中,還可以通過(guò)進(jìn)行設(shè)置,使網(wǎng)絡(luò)設(shè)備在反向配置狀態(tài)標(biāo)志在開(kāi)啟狀態(tài)下執(zhí)行一個(gè)正向配置命令之后自動(dòng)觸發(fā)反向配置狀態(tài)標(biāo)志切換為關(guān)閉狀態(tài),而不需要進(jìn)行專(zhuān)門(mén)的設(shè)置;或者,也可以通過(guò)設(shè)置反向配置狀態(tài)標(biāo)志處于開(kāi)啟狀態(tài)的持續(xù)時(shí)間閾值,當(dāng)反向配置狀態(tài)標(biāo)志處于開(kāi)啟狀態(tài)的持續(xù)時(shí)間到達(dá)預(yù)設(shè)的持續(xù)時(shí)間閾值時(shí),將自動(dòng)切換為關(guān)閉狀態(tài);其中,該持續(xù)時(shí)間閾值可以根據(jù)網(wǎng)絡(luò)設(shè)備執(zhí)行配置命令的時(shí)間設(shè)置,本發(fā)明實(shí)施例對(duì)此不再贅述。
[0044]值得說(shuō)明的是,在本發(fā)明實(shí)施例中,將上述控制執(zhí)行正向配置命令對(duì)應(yīng)的流程為“正常配置流程”或“取消配置流程”的標(biāo)志命名為“反向配置狀態(tài)標(biāo)志”僅是對(duì)該標(biāo)志的命名的一種具體示例,本領(lǐng)域技術(shù)人員也可以對(duì)其進(jìn)行其它命名,在本發(fā)明實(shí)施例的基礎(chǔ)上,本領(lǐng)域技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的前提下,對(duì)上述標(biāo)志命名的任何變型均應(yīng)屬于本發(fā)明的保護(hù)范圍。
[0045]可見(jiàn),在圖1所描述的方法流程中,通過(guò)預(yù)先設(shè)置用于取消目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作,當(dāng)在配置回滾流程中需要取消當(dāng)前配置中的目標(biāo)正向配置命令對(duì)應(yīng)的配置,且執(zhí)行該目標(biāo)正向配置命令對(duì)應(yīng)的no命令失敗時(shí),可以執(zhí)行該預(yù)設(shè)的用于取消目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作,以取消目標(biāo)正向配置命令對(duì)應(yīng)的配置,避免了由于正向配置命令對(duì)應(yīng)的no命令不存在而導(dǎo)致回滾失敗的情況發(fā)生。
[0046]請(qǐng)參見(jiàn)圖2,為本發(fā)明實(shí)施例提供的一種配置回滾方法的流程示意圖,如圖2所示,該配置回滾方法可以包括以下步驟:
[0047]步驟201、當(dāng)正向配置命令對(duì)應(yīng)的反向配置命令與該正向配置命令對(duì)應(yīng)的no命令不同時(shí),為該正向配置命令注冊(cè)該正向配置命令對(duì)應(yīng)的no命令。
[0048]本發(fā)明實(shí)施例中,考慮到在配置回滾過(guò)程中,當(dāng)網(wǎng)絡(luò)設(shè)備需要取消某正向配置命令對(duì)應(yīng)的配置時(shí),該網(wǎng)絡(luò)設(shè)備會(huì)先執(zhí)行該正向配置命令對(duì)應(yīng)的no命令,即在該正向配置命令前加關(guān)鍵字“no”,并執(zhí)行;若該正向配置命令對(duì)應(yīng)的反向配置命令與該正向配置命令對(duì)應(yīng)的no命令不同,即該正向配置命令對(duì)應(yīng)的反向配置命令不是由該正向配置命令前加關(guān)鍵字“no”構(gòu)成,則網(wǎng)絡(luò)設(shè)備執(zhí)行該正向配置命令對(duì)應(yīng)的no命令將會(huì)失敗,無(wú)法取消該正向配置命令對(duì)應(yīng)的配置,因此,針對(duì)系統(tǒng)中所對(duì)應(yīng)的反向配置命令不是由正向配置命令前加關(guān)鍵字“no”構(gòu)成的正向配置命令(即該正向配置命令對(duì)應(yīng)的反向配置命令與該正向配置命令對(duì)應(yīng)的no命令不同),網(wǎng)絡(luò)設(shè)備可以為該正向配置命令注冊(cè)對(duì)應(yīng)的no命令,將該正向配置命令對(duì)應(yīng)的no命令作為該正向配置命令在配置回滾時(shí)使用的反向配置命令。
[0049]例如,以正向配置命令為A B STRING為例,其對(duì)應(yīng)的反向配置命令(普通的反向配置命令)為no A B;對(duì)應(yīng)的no命令(配置回滾時(shí)對(duì)應(yīng)的反向配置命令)為no A BSTRING,可見(jiàn),該正向配置命令對(duì)應(yīng)的反向配置命令與該正向配置命令對(duì)應(yīng)的no命令不同,對(duì)于該類(lèi)型的正向配置命令,可以為其注冊(cè)對(duì)應(yīng)的no命令,即該正向配置命令共注冊(cè)有三條命令,一條正向配置命令,如A B STRING,一條反向配置命令,如no A B,一條no命令no A B STRING。
[0050]本發(fā)明實(shí)施例中,對(duì)于注冊(cè)有no命令的正向配置命令,執(zhí)行正向配置命令對(duì)應(yīng)的no命令的功能與執(zhí)行該正向配置命令對(duì)應(yīng)的反向配置命令的功能相同。
[0051]例如,仍以上述正向配置命令no A B STRING為例,當(dāng)為其注冊(cè)對(duì)應(yīng)的no命令之后,網(wǎng)絡(luò)設(shè)備執(zhí)行其對(duì)應(yīng)的no命令(即no A B STRING)的功能與執(zhí)行其對(duì)應(yīng)的反向配置命令(即no A B)的功能相同,均為取消該正向配置命令對(duì)應(yīng)的配置。
[0052]在一種實(shí)施方式中,考慮到命令行同時(shí)存在普通的反向配置命令與配置回滾使用的反向配置命令會(huì)對(duì)管理員造成困擾,用于配置回滾使用的反向配置命令注冊(cè)為隱藏命令,其中,隱藏命令對(duì)用戶(hù)不可見(jiàn),且在正常的配置流程中,隱藏命令也不會(huì)被執(zhí)行,而在配置回滾過(guò)程中可以正常執(zhí)行隱藏命令。
[0053]步驟202、當(dāng)需要取消當(dāng)前配置中的目標(biāo)正向配置命令對(duì)應(yīng)的配置時(shí),執(zhí)行目標(biāo)正向配置命令對(duì)應(yīng)的no命令。
[0054]本發(fā)明實(shí)施例中,在網(wǎng)絡(luò)設(shè)備進(jìn)行配置回滾的過(guò)程中,當(dāng)需要取消當(dāng)前配置中的目標(biāo)正向配置命令對(duì)應(yīng)的配置時(shí),網(wǎng)絡(luò)設(shè)備可以先嘗試執(zhí)行該目標(biāo)正向配置命令對(duì)應(yīng)的no命令,即在該目標(biāo)正向配置命令前加上關(guān)鍵字“no”,并執(zhí)行。
[0055]例如,假設(shè)正向配置命令為telnet enable,其對(duì)應(yīng)的no命令為no telnetenable ;假設(shè)正向配置命令為password WORD,其對(duì)應(yīng)的no命令為no password WORD。
[0056]其中,該目標(biāo)正向配置命令可以包括但不限于任一存在于當(dāng)前配置對(duì)應(yīng)的配置文件中,但不存在于回滾配置文件中的正向配置命令;或,任一存在于當(dāng)前配置對(duì)應(yīng)的配置文件中,且與回滾配置文件中對(duì)應(yīng)的配置命令不同的正向配置命令。
[0057]步驟203、若該目標(biāo)正向配置命令對(duì)應(yīng)的no命令執(zhí)行失敗,則執(zhí)行預(yù)設(shè)的用于取消目標(biāo)正向配置命令對(duì)應(yīng)的目標(biāo)操作。
[0058]本發(fā)明實(shí)施例中,對(duì)于反向配置命令是由正向配置命令前加上“no”構(gòu)成的配置命令(即對(duì)應(yīng)的反向配置命令與對(duì)應(yīng)的no命令相同的正向配置命令),以及反向配置命令不是由正向配置命令前加上“no”構(gòu)成,但已注冊(cè)對(duì)應(yīng)的no命令的配置命令(步驟201中所描述的配置命令),執(zhí)行該正向配置命令的no命令可以直接取消該正向配置命令對(duì)應(yīng)的目標(biāo)操作。
[0059]而對(duì)于反向配置命令不是由正向配置命令前加上“no”構(gòu)成,且未注冊(cè)對(duì)應(yīng)的no命令的配置命令,為了避免在配置回滾過(guò)程中由于正向配置命令對(duì)應(yīng)的no命令不存在而導(dǎo)致回滾失敗,可以預(yù)先設(shè)定用于取消該正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作。
[0060]相應(yīng)地,當(dāng)網(wǎng)絡(luò)設(shè)備執(zhí)行目標(biāo)正向配置命令對(duì)應(yīng)的no命令失敗時(shí),網(wǎng)絡(luò)設(shè)備可以執(zhí)行預(yù)設(shè)的用于取消該目標(biāo)正向配置命令的配置的目標(biāo)操作,以取消該目標(biāo)正向配置命令的配置的目標(biāo)操作。
[0061]作為一種實(shí)現(xiàn)方式,上述步驟203中,執(zhí)行預(yù)設(shè)的用于取消目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作,可以具體包括:
[0062]將反向配置狀態(tài)標(biāo)志設(shè)置為開(kāi)啟狀態(tài),并執(zhí)行該目標(biāo)正向配置命令;其中,在反向配置狀態(tài)標(biāo)識(shí)為開(kāi)啟狀態(tài)時(shí),執(zhí)行目標(biāo)正向配置命令將會(huì)取消目標(biāo)正向配置命令對(duì)應(yīng)的配置。
[0063]在該實(shí)施方式中,對(duì)于系統(tǒng)中反向配置命令不是由正向配置命令前加關(guān)鍵字“no”構(gòu)成的情況,將該正向配置命令的執(zhí)行流程由原來(lái)的正向配置流程設(shè)置為兩個(gè)部分:正常配置流程和取消配置流程。該兩個(gè)流程通過(guò)一個(gè)反向配置狀態(tài)標(biāo)志來(lái)區(qū)分,當(dāng)該反向配置狀態(tài)標(biāo)志開(kāi)啟狀態(tài)時(shí),執(zhí)行正向配置命令即為執(zhí)行其對(duì)應(yīng)的取消配置流程,即取消該正向配置命令對(duì)應(yīng)的配置;當(dāng)該反向配置狀態(tài)標(biāo)志為關(guān)閉狀態(tài)時(shí),執(zhí)行正向配置命令即為執(zhí)行其對(duì)應(yīng)的正常配置流程,即根據(jù)該正向配置命令對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行配置。其中,上述反向配置狀態(tài)標(biāo)志的初始化狀態(tài)為關(guān)閉狀態(tài)。
[0064]相應(yīng)地,當(dāng)網(wǎng)絡(luò)設(shè)備執(zhí)行目標(biāo)正向命令的no命令失敗時(shí),該網(wǎng)絡(luò)設(shè)備可以將反向配置狀態(tài)標(biāo)志設(shè)置為開(kāi)啟狀態(tài),并執(zhí)行該目標(biāo)正向配置命令;此時(shí),由于反向配置狀態(tài)標(biāo)志為開(kāi)啟狀態(tài),因此,網(wǎng)絡(luò)設(shè)備執(zhí)行該正向配置命令即為執(zhí)行該正向配置命令對(duì)應(yīng)的取消配置命令流程,即網(wǎng)絡(luò)設(shè)備將會(huì)取消該正向配置命令對(duì)應(yīng)的配置。
[0065]進(jìn)一步地,在該實(shí)施方式中,將反向配置狀態(tài)標(biāo)志設(shè)置為開(kāi)啟狀態(tài),并執(zhí)行目標(biāo)正向配置命令之后,還可以包括:
[0066]將反向配置狀態(tài)標(biāo)志設(shè)置為關(guān)閉狀態(tài)。
[0067]在該實(shí)施方式中,為了避免反向配置狀態(tài)標(biāo)志的狀態(tài)影響其它配置命令的執(zhí)行,當(dāng)網(wǎng)絡(luò)設(shè)備在反向配置狀態(tài)標(biāo)志位開(kāi)啟狀態(tài)下執(zhí)行目標(biāo)正向配置命令之后,還可以將反向配置狀態(tài)標(biāo)志設(shè)置為關(guān)閉狀態(tài),進(jìn)而,當(dāng)網(wǎng)絡(luò)設(shè)備執(zhí)行其它正向配置命令時(shí),將會(huì)執(zhí)行其對(duì)應(yīng)的正常配置流程。
[0068]需要注意的是,在本發(fā)明實(shí)施例中,在配置回滾過(guò)程中,網(wǎng)絡(luò)設(shè)備遍歷和比較當(dāng)前配置對(duì)應(yīng)的配置文件與回滾配置文件的具體處理流程、根據(jù)當(dāng)前配置對(duì)應(yīng)的配置文件中不存在,而回滾配置文件中存在的配置指令進(jìn)行配置等相關(guān)處理流程可以參見(jiàn)現(xiàn)有配置回滾方案中的相關(guān)處理流程,本發(fā)明實(shí)施例在此不再贅述。
[0069]可見(jiàn),在圖2所描述的方法流程中,通過(guò)為對(duì)應(yīng)的反向配置命令與對(duì)應(yīng)的no命令不同的正向配置命令注冊(cè)對(duì)應(yīng)的no命令,避免了由于正向配置命令對(duì)應(yīng)的no命令不存在而導(dǎo)致回滾失敗的情況發(fā)生。
[0070]通過(guò)以上描述可以看出,在本發(fā)明實(shí)施例提供的技術(shù)方案中,通過(guò)預(yù)先設(shè)置用于取消目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作,當(dāng)在配置回滾流程中需要取消當(dāng)前配置中的目標(biāo)正向配置命令對(duì)應(yīng)的配置,且執(zhí)行該目標(biāo)正向配置命令對(duì)應(yīng)的no命令失敗時(shí),可以執(zhí)行該預(yù)設(shè)的用于取消目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作,以取消目標(biāo)正向配置命令對(duì)應(yīng)的配置,避免了由于正向配置命令對(duì)應(yīng)的no命令不存在而導(dǎo)致回滾失敗的情況發(fā)生。
[0071]與前述配置回滾方法實(shí)施例相對(duì)應(yīng),本發(fā)明還提供了配置回滾裝置的實(shí)施例。
[0072]本發(fā)明實(shí)施例中,配置回滾裝置可以應(yīng)用于包括但不限于路由器、交換機(jī)等網(wǎng)絡(luò)設(shè)備。裝置實(shí)施例可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過(guò)其所在設(shè)備的處理器將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖3所示,為本發(fā)明實(shí)施例提供的配置回滾裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、網(wǎng)絡(luò)接口、內(nèi)存以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常還可以包括其他硬件,如負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)芯片等等;從硬件結(jié)構(gòu)上來(lái)講該設(shè)備還可能是分布式的設(shè)備,可能包括多個(gè)接口卡,以便在硬件層面進(jìn)行報(bào)文處理的擴(kuò)展。
[0073]請(qǐng)參見(jiàn)圖4,為本發(fā)明實(shí)施例提供的一種配置回滾裝置的結(jié)構(gòu)示意圖,其中,所述裝置可以應(yīng)用于可以應(yīng)用于上述方法實(shí)施例中的網(wǎng)絡(luò)設(shè)備,如圖4所示,該配置回滾裝置可以包括:
[0074]第一執(zhí)行單元410,用于當(dāng)需要取消當(dāng)前配置中的目標(biāo)正向配置命令對(duì)應(yīng)的配置時(shí),執(zhí)行所述目標(biāo)正向配置命令對(duì)應(yīng)的no命令;
[0075]第二執(zhí)行單元420,用于若所述目標(biāo)正向配置命令對(duì)應(yīng)的no命令執(zhí)行失敗,則執(zhí)行預(yù)設(shè)的用于取消所述目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作。
[0076]請(qǐng)一并參見(jiàn)圖5,為本發(fā)明實(shí)施例提供的另一種配置回滾裝置的結(jié)構(gòu)示意圖,該實(shí)施例在前述圖4所示實(shí)施例的基礎(chǔ)上,所述裝置中第二執(zhí)行單元420可以包括:設(shè)置子單元421和執(zhí)行子單兀422。其中:
[0077]設(shè)置子單元421,用于將反向配置狀態(tài)標(biāo)志設(shè)置為開(kāi)啟狀態(tài);
[0078]執(zhí)行子單元422,用于執(zhí)行所述目標(biāo)正向配置命令;其中,在反向配置狀態(tài)標(biāo)識(shí)為開(kāi)啟狀態(tài)時(shí),執(zhí)行所述目標(biāo)正向配置命令將會(huì)取消所述目標(biāo)正向配置命令對(duì)應(yīng)的配置。
[0079]在一實(shí)施例中,所述設(shè)置子單元421,還可以用于當(dāng)所述執(zhí)行子單元422執(zhí)行所述目標(biāo)正向配置指令之后,將所述反向配置狀態(tài)標(biāo)志設(shè)置為關(guān)閉狀態(tài)。
[0080]請(qǐng)一并參見(jiàn)圖6,為本發(fā)明實(shí)施例提供的另一種配置回滾裝置的結(jié)構(gòu)示意圖,該實(shí)施例在前述圖4所示實(shí)施例的基礎(chǔ)上,所述裝置還可以包括:注冊(cè)單元430 ;其中:
[0081 ] 注冊(cè)單元430,用于當(dāng)正向配置命令對(duì)應(yīng)的反向配置命令與所述正向配置命令對(duì)應(yīng)的no命令不同時(shí),為所述正向配置命令注冊(cè)所述正向配置命令對(duì)應(yīng)的no命令;其中,對(duì)于注冊(cè)有no命令的正向配置命令,執(zhí)行所述正向配置命令對(duì)應(yīng)的no命令的功能與執(zhí)行所述正向配置命令對(duì)應(yīng)的反向配置命令的功能相同。
[0082]在一實(shí)施例中,所述正向配置命令對(duì)應(yīng)的no命令為隱藏命令。
[0083]上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過(guò)程具體詳見(jiàn)上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過(guò)程,在此不再贅述。
[0084]對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本發(fā)明方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
[0085]由上述實(shí)施例可見(jiàn),通過(guò)預(yù)先設(shè)置用于取消目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作,當(dāng)在配置回滾流程中需要取消當(dāng)前配置中的目標(biāo)正向配置命令對(duì)應(yīng)的配置,且執(zhí)行該目標(biāo)正向配置命令對(duì)應(yīng)的no命令失敗時(shí),可以執(zhí)行該預(yù)設(shè)的用于取消目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作,以取消目標(biāo)正向配置命令對(duì)應(yīng)的配置,避免了由于正向配置命令對(duì)應(yīng)的no命令不存在而導(dǎo)致回滾失敗的情況發(fā)生。
[0086]本領(lǐng)域技術(shù)人員在考慮說(shuō)明書(shū)及實(shí)踐這里公開(kāi)的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開(kāi)的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書(shū)和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
[0087]應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來(lái)限制。
【主權(quán)項(xiàng)】
1.一種配置回滾方法,其特征在于,包括: 當(dāng)需要取消當(dāng)前配置中的目標(biāo)正向配置命令對(duì)應(yīng)的配置時(shí),執(zhí)行所述目標(biāo)正向配置命令對(duì)應(yīng)的no命令; 若所述目標(biāo)正向配置命令對(duì)應(yīng)的no命令執(zhí)行失敗,則執(zhí)行預(yù)設(shè)的用于取消所述目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述執(zhí)行預(yù)設(shè)的用于取消所述目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作,包括: 將反向配置狀態(tài)標(biāo)志設(shè)置為開(kāi)啟狀態(tài),并執(zhí)行所述目標(biāo)正向配置命令;其中,在反向配置狀態(tài)標(biāo)識(shí)為開(kāi)啟狀態(tài)時(shí),執(zhí)行所述目標(biāo)正向配置命令將會(huì)取消所述目標(biāo)正向配置命令對(duì)應(yīng)的配置。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將反向配置狀態(tài)標(biāo)志設(shè)置為開(kāi)啟狀態(tài),并執(zhí)行所述目標(biāo)正向配置命令之后,還包括: 將所述反向配置狀態(tài)標(biāo)志設(shè)置為關(guān)閉狀態(tài)。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 當(dāng)正向配置命令對(duì)應(yīng)的反向配置命令與所述正向配置命令對(duì)應(yīng)的no命令不同時(shí),為所述正向配置命令注冊(cè)所述正向配置命令對(duì)應(yīng)的no命令;其中,對(duì)于注冊(cè)有no命令的正向配置命令,執(zhí)行所述正向配置命令對(duì)應(yīng)的no命令的功能與執(zhí)行所述正向配置命令對(duì)應(yīng)的反向配置命令的功能相同。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述正向配置命令對(duì)應(yīng)的no命令為隱藏命令。6.一種配置回滾裝置,其特征在于,包括: 第一執(zhí)行單元,用于當(dāng)需要取消當(dāng)前配置中的目標(biāo)正向配置命令對(duì)應(yīng)的配置時(shí),執(zhí)行所述目標(biāo)正向配置命令對(duì)應(yīng)的no命令; 第二執(zhí)行單元,用于若所述目標(biāo)正向配置命令對(duì)應(yīng)的no命令執(zhí)行失敗,則執(zhí)行預(yù)設(shè)的用于取消所述目標(biāo)正向配置命令對(duì)應(yīng)的配置的目標(biāo)操作。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述第二執(zhí)行單元包括: 設(shè)置子單元,用于將反向配置狀態(tài)標(biāo)志設(shè)置為開(kāi)啟狀態(tài); 執(zhí)行子單元,用于執(zhí)行所述目標(biāo)正向配置命令;其中,在反向配置狀態(tài)標(biāo)識(shí)為開(kāi)啟狀態(tài)時(shí),執(zhí)行所述目標(biāo)正向配置命令將會(huì)取消所述目標(biāo)正向配置命令對(duì)應(yīng)的配置。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于, 所述設(shè)置子單元,還用于當(dāng)所述執(zhí)行子單元執(zhí)行所述目標(biāo)正向配置指令之后,將所述反向配置狀態(tài)標(biāo)志設(shè)置為關(guān)閉狀態(tài)。9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 注冊(cè)單元,用于當(dāng)正向配置命令對(duì)應(yīng)的反向配置命令與所述正向配置命令對(duì)應(yīng)的no命令不同時(shí),為所述正向配置命令注冊(cè)所述正向配置命令對(duì)應(yīng)的no命令;其中,對(duì)于注冊(cè)有no命令的正向配置命令,執(zhí)行所述正向配置命令對(duì)應(yīng)的no命令的功能與執(zhí)行所述正向配置命令對(duì)應(yīng)的反向配置命令的功能相同。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述正向配置命令對(duì)應(yīng)的no命令為隱藏命令。
【文檔編號(hào)】H04L12/24GK105939205SQ201510540662
【公開(kāi)日】2016年9月14日
【申請(qǐng)日】2015年8月28日
【發(fā)明人】湯永翔, 符志清
【申請(qǐng)人】杭州迪普科技有限公司