配置切換方法及裝置與流程
2023-09-22 14:27:25
本申請涉及計算機通信領域,尤其涉及配置切換方法及裝置。
背景技術:
隨著網絡規模的逐漸壯大,應用越來越複雜,網絡設備配置也越來越多。在網絡環境搭建過程中經常遇到兩臺或多臺設備基礎配置相同,此時手動進行配置效率過低容易出錯。
同時,當設備發生更換、配置環境出錯時需要恢復以前某一時刻配置狀態的情況、或者組網模式變更都需要進行設備的配置切換。因此,如何高效地進行配置切換就成為亟待解決的問題。
技術實現要素:
有鑑於此,本申請提供一種配置切換方法及裝置,用以提高配置切換的效率。
具體地,本申請是通過如下技術方案實現的:
根據本申請的第一方面,提供一種配置切換方法,所述方法應用於網絡設備,當將所述網絡設備當前的源配置文件,切換為目標配置文件時,所述方法包括:
遍歷所述源配置文件以及所述目標配置文件中的文件目錄,查找所述源配置文件以及所述目標配置文件中是否存在目錄名相同的文件目錄;
當查找到所述源配置文件中存在與所述目標配置文件中的第一目錄的目錄名相同的第二目錄時,遍歷該第一目錄以及第二目錄中的配置子文件,查找所述第一目錄以及第二目錄中是否存在文件名相同的配置子文件;
當查找到所述第二目錄中存在與所述第一目錄中的第一配置子文件文件名相同的第二配置子文件時,進一步針對所述第一配置子文件與所述第二配置子文件進行內容比較,並在所述第一配置子文件與所述第二配置子文件的內容不同時,使用所述第一配置子文件覆蓋所述第二配置子文件。
根據本申請的第二方面,提供一種配置切換裝置,所述裝置應用於網絡設備,當將所述網絡設備當前的源配置文件,切換為目標配置文件時,所述裝置包括:
第一查找單元,用於遍歷所述源配置文件以及所述目標配置文件中的文件目錄,查找所述源配置文件以及所述目標配置文件中是否存在目錄名相同的文件目錄;
第二查找單元,用於當查找到所述源配置文件中存在與所述目標配置文件中的第一目錄的目錄名相同的第二目錄時,遍歷該第一目錄以及第二目錄中的配置子文件,查找所述第一目錄以及第二目錄中是否存在文件名相同的配置子文件;
比較單元,用於當查找到所述第二目錄中存在與所述第一目錄中的第一配置子文件文件名相同的第二配置子文件時,進一步針對所述第一配置子文件與所述第二配置子文件進行內容比較,並在所述第一配置子文件與所述第二配置子文件的內容不同時,使用所述第一配置子文件覆蓋所述第二配置子文件。
網絡設備可以查找到源配置文件和目標配置文件中的具有差異的目錄及配置子文件,然後使用目標配置文件中的配置子文件來覆蓋原配置文件中的配置子文件,使得網絡設備只需要對源、目標配置文件中具有差異的配置子文件進行配置子文件的切換,從而大幅度減少了CF卡擦除次數,有效地提高了CF卡壽命,同時,還使得網絡設備的配置切換的效率大幅度提升。
附圖說明
圖1是本申請一示例性實施例示出的一種配置切換方法的流程圖;
圖2是本申請一示例性實施例示出的另一種配置切換方法的流程圖;
圖3是本申請一示例性實施例示出的一種配置切換裝置所在設備的硬體結構圖;
圖4是本申請一示例性實施例示出的一種配置切換裝置的框圖。
具體實施方式
這裡將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
在本申請使用的術語是僅僅出於描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權利要求書中所使用的單數形式的「一種」、「所述」和「該」也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語「和/或」是指並包含一個或多個相關聯的列出項目的任何或所有可能組合。
應當理解,儘管在本申請可能採用術語第一、第二、第三等來描述各種信息,但這些信息不應限於這些術語。這些術語僅用來將同一類型的信息彼此區分開。例如,在不脫離本申請範圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決於語境,如在此所使用的詞語「如果」可以被解釋成為「在……時」或「當……時」或「響應於確定」。
隨著網絡規模的逐漸壯大,應用越來越複雜,網絡設備配置也越來越多。在網絡環境搭建過程中經常遇到兩臺或多臺設備基礎配置相同,此時手動進行配置效率過低容易出錯。
同時,當設備發生更換、配置環境出錯時需要恢復以前某一時刻配置狀態的情況、或者組網模式變更都需要進行設備的配置切換。因此,如何高效地進行配置切換就成為亟待解決的問題。
所謂配置切換,是指將網絡設備當前的源配置文件切換成配置文件壓縮包中的目標配置文件。
在相關的配置切換的方案中,網絡設備可以先解壓配置文件壓縮包,生成目標配置文件。然後,網絡設備可以刪除本地當前的全部配置文件,然後將目標配置文件覆蓋當前所有的配置文件。
然而,在相關的配置切換的方案中,一方面,對網絡設備的全部配置文件執行先刪除後覆蓋的操作,會頻繁擦寫CF卡,不僅效率低,而且還會縮短CF卡壽命。
另一方面,在實際應用中,源配置文件和目標配置文件中的配置子文件大部分是相同的,針對這些相同的配置子文件,在配置切換時,執行先刪除後覆蓋地操作,將會大量佔用CPU的資源,大幅度增加配置切換的延時,降低系統的可用性。
本申請提出一種配置切換的方法,當將網絡設備從當前的源配置文件,切換為目標配置文件時,網絡設備可以遍歷所述源配置文件以及所述目標配置文件中的文件目錄,並可以查找所述源配置文件以及所述目標配置文件中是否存在目錄名相同的文件目錄。當查找到所述源配置文件中存在與所述目標配置文件中的第一目錄的目錄名相同的第二目錄時,網絡設備可以遍歷該第一目錄以及第二目錄中的配置子文件,並查找所述第一目錄以及第二目錄中是否存在文件名相同的配置子文件。當網絡設備查找到所述第二目錄中存在與所述第一目錄中的第一配置子文件文件名相同的第二配置子文件時,可以進一步針對所述第一配置子文件與所述第二配置子文件進行內容比較,並在所述第一配置子文件與所述第二配置子文件的內容不同時,使用所述第一配置子文件覆蓋所述第二配置子文件。
由於網絡設備可以查找到源配置文件和目標配置文件中的具有差異的配置子文件,然後使用該目標配置文件中的配置子文件來覆蓋原配置文件中的配置子文件,使得網絡設備只需要對源、目標配置文件中具有差異的配置子文件進行配置子文件的切換,從而大幅度減少了CF卡擦除次數,有效地提高了CF卡壽命,同時,還使得網絡設備的配置切換的效率大幅度提升。
參見圖1,圖1是本申請一示例性實施例示出的一種配置切換的方法的流程圖。該方法應用於網絡設備,當該網絡設備從當前的源配置文件切換為目標配置文件時,該方法具體包括如下所述步驟:
步驟101:遍歷所述源配置文件以及所述目標配置文件中的文件目錄,查找所述源配置文件以及所述目標配置文件中是否存在目錄名相同的文件目錄;
步驟102:當查找到所述源配置文件中存在與所述目標配置文件中的第一目錄的目錄名相同的第二目錄時,遍歷該第一目錄以及第二目錄中的配置子文件,查找所述第一目錄以及第二目錄中是否存在文件名相同的配置子文件;
其中,上述網絡設備,泛指可以接入網際網路的設備,可以包括轉發設備,安全設備等。
上述源配置文件,是指網絡設備當前的配置文件,該源配置文件中包括針對該網絡設備不同的模塊的配置文件目錄,每個配置文件目錄下又包括配置文件子目錄及配置子文件。
上述目標配置文件,是指文件壓縮包中的配置文件,該目標配置文件也包含了針對網絡設備不同的模塊的配置文件目錄,每個配置文件目錄下又包括配置文件子目錄及配置子文件。
上述第一目錄,位於目標配置文件中。上述第二目錄,位於源配置文件中。該第一目錄與第二目錄同名。
在本申請實施例中,為了減少配置切換的時延,網絡設備可以先對源配置文件和目標配置文件中存在差異的文件目錄執行文件目錄的切換操作。而對於源配置文件和目標配置文件中同名的文件目錄,則可以進一步查找這兩個同名的文件目錄下的配置子文件的差異。
在實現時,當用戶確定將網絡設備當前的源配置切換到目標配置時,用戶可以指定針對該目標配置的文件壓縮包。
網絡設備可以對該文件壓縮包進行解壓,生成目標配置文件。網絡設備可以遍歷該源配置文件和目標配置文件中的文件目錄。並可以查找所述源配置文件以及所述目標配置文件中是否存在目錄名相同的文件目錄。
當查找到所述源配置文件中存在與所述目標配置文件中的第一目錄的目錄名相同的第二目錄時,網絡設備可以遍歷該第一目錄以及第二目錄中的配置子文件,並可以查找所述第一目錄以及第二目錄中是否存在文件名相同的配置子文件。
在本申請實施例中,當網絡設備查找到僅在所述源配置文件中存在的文件目錄時,可以刪除該文件目錄以及其子目錄下的所有配置子文件。
當網絡設備查找到僅在目標配置文件中存在的文件目錄時,可以將該文件目錄以及其子目錄下的所有配置子文件,拷貝至該源配置文件對應的文件目錄中。
步驟103:當查找到所述第二目錄中存在與所述第一目錄中的第一配置子文件文件名相同的第二配置子文件時,進一步針對所述第一配置子文件與所述第二配置子文件進行內容比較,並在所述第一配置子文件與所述第二配置子文件的內容不同時,使用所述第一配置子文件覆蓋所述第二配置子文件。
在本申請實施例中,當源配置文件和目標配置文件存在同名的文件目錄時,網絡設備可以對比該同名的文件目錄下的配置子文件,查找兩個同名目錄下配置子文件的差異,然後對具有差異的配置子文件執行配置子文件的切換操作。
在實現時,當網絡設備查找到所述第二目錄中存在與所述第一目錄中的第一配置子文件文件名相同的第二配置子文件時,網絡設備可以判斷該同名的第一配置子文件與第二配置子文件是否相同。
為了減少配置切換的時延,提高配置切換的效率,在比較第一配置子文件與第二配置子文件是否相同時,網絡設備可以先比較第一配置子文件與第二配置子文件的文件大小是否相同。由於文件大小的信息一般在文件頭部信息中,因此可以很快速地比較出上述兩個配置子文件是否相同。
如果第一配置子文件與第二配置子文件的文件大小不相同,則可以使用第一配置子文件覆蓋第二配置子文件。
如果第一配置子文件與第二配置子文件的文件大小相同,網絡設備則可以進一步逐字節地比較第一配置子文件與第二配置子文件的文件內容是否相同。
如果第一配置子文件的文件內容與第二配置子文件的文件內容不相同,則可以使用第一配置子文件覆蓋第二配置子文件。
如果第一配置子文件的文件內容與第二配置子文件的文件內容相同,則可將第一配置子文件從第一目錄中刪除。
在本申請實施例中,當網絡設備查找到僅存在於第一目錄中的配置子文件時,可以將該配置子文件拷貝至第二目錄,或者當網絡設備查找到僅存在於第二目錄中存在的配置子文件時,可以將該配置子文件從第二目錄中刪除。
本申請提出一種配置切換的方法,當將所述網絡設備當前的源配置文件,切換為目標配置文件時,網絡設備可以遍歷所述源配置文件以及所述目標配置文件中的文件目錄,並可以查找所述源配置文件以及所述目標配置文件中是否存在目錄名相同的文件目錄。當查找到所述源配置文件中存在與所述目標配置文件中的第一目錄的目錄名相同的第二目錄時,網絡設備可以遍歷該第一目錄以及第二目錄中的配置子文件,並查找所述第一目錄以及第二目錄中是否存在文件名相同的配置子文件。當網絡設備查找到所述第二目錄中存在與所述第一目錄中的第一配置子文件文件名相同的第二配置子文件時,可以進一步針對所述第一配置子文件與所述第二配置子文件進行內容比較,並在所述第一配置子文件與所述第二配置子文件的內容不同時,使用所述第一配置子文件覆蓋所述第二配置子文件。
一方面,由於網絡設備可以查找到源配置文件和目標配置文件中的具有差異的配置子文件,然後使用該目標配置文件中的配置子文件來覆蓋原配置文件中的配置子文件,使得網絡設備只需要對源、目標配置文件中具有差異的配置子文件進行配置子文件的切換,從而大幅度減少了CF卡擦除次數,有效地提高了CF卡壽命,同時,還使得網絡設備的配置切換的效率大幅度提升。
另一方面,由於網絡設備不再逐一比較源配置文件和目標配置文件中的所有的配置子文件的差異,而是採取先尋找源、目標配置文件中的文件目錄差異,對具有差異的文件目錄進行相應地處理,然後再比較相同的文件目錄下的配置子文件的差異。這種分級比較的方式,可以有效地減少配置切換的時延,提高配置切換的效率。
此外,在比較源配置文件和目標配置文件中的同名的配置子文件是否相同時,網絡設備可以先比較同名的配置子文件的文件大小是否相同,然後在配置子文件大小相同的情況下,再比較同名的配置子文件的內容。由於文件大小的信息在文件頭中,因此很容易進行比較,從而極大地提高了配置切換的速率。
參見圖2,圖2是本申請一示例性實施例示出的另一種配置切換的方法的流程圖。該方法應用於網絡設備,當將該網絡設備當前的源配置文件切換為目標配置文件時,該方法具體包括如下所述步驟:
步驟201:解壓配置文件壓縮包,生成目標配置文件;
步驟202:遍歷源配置文件和目標配置文件中的文件目錄
步驟203:判斷源配置文件和目標配置文件中是否存在同名的文件目錄
步驟204:當查找到僅在源配置文件中存在的文件目錄時,刪除該文件目錄以及其子目錄下的所有配置子文件;當查找到僅在目標配置文件中存在的文件目錄時,將該文件目錄以及其子目錄下的所有配置子文件,拷貝至源配置文件對應的文件目錄中。
在本申請實施例中,網絡設備可以查找到源配置文件和目標配置文件中的具有差異的配置子文件,然後使用該目標配置文件中的配置子文件來覆蓋原配置文件中的配置子文件,使得網絡設備只需要對源、目標配置文件中具有差異的配置子文件進行配置子文件的切換,從而大幅度減少了CF卡擦除次數,有效地提高了CF卡壽命,同時,還使得網絡設備的配置切換的效率大幅度提升。
在實現時,當用戶確定將網絡設備當前的源配置切換到目標配置時,用戶可以指定針對該目標配置的文件壓縮包。
網絡設備可以對該文件壓縮包進行解壓,生成目標配置文件。
為了減少配置切換的時延,網絡設備可以先對源配置文件和目標配置文件中存在差異的文件目錄執行文件目錄的切換操作。而對於源配置文件和目標配置文件中同名的文件目錄,則可以進一步查找這兩個同名的文件目錄下的配置子文件的差異。
在實現時,網絡設備可以遍歷該源配置文件和目標配置文件中的文件目錄。
網絡設備可以判斷源配置文件和目標配置文件中是否存在同名的文件目錄,如果源配置文件和目標配置文件中不存在同名的文件目錄,則可以執行步驟204。
對於僅存在於源配置文件中的文件目錄時,網絡設備可以將該文件目錄及其子目錄下的所有配置子文件刪除。
對於僅存在於目標配置文件中的文件目錄時,網絡設備可以將該文件目錄以及其子目錄下的所有配置文件,拷貝至源配置文件對應的文件目錄中。
如果源配置文件中存在與目標配置文件中的第一目錄同名的第二目錄,則可以執行步驟205,即在同名的源配置文件中的第二目錄和目標配置文件中的第一目錄中查找同名的配置子文件。
步驟205:在同名的源配置文件中的第二目錄和目標配置文件中的第一目錄中查找同名的配置子文件
步驟206:當查找到僅在第一目錄中存在的配置子文件時,將該配置子文件拷貝至第二目錄;當查找到僅在第二目錄中存在的配置子文件時,將該配置子文件從第二目錄中刪除;
步驟207:判斷同名的第一目錄中的第一配置子文件和第二目錄中的第二配置子文件是否相同
步驟208:使用第一配置子文件覆蓋第二配置子文件
步驟209:將目標配置文件中的同名的配置子文件刪除
在本申請實施例中,當源配置文件和目標配置文件存在同名的文件目錄時,網絡設備可以對比該同名的文件目錄下的配置子文件,尋找兩個同名目錄下配置子文件的差異,然後對具有差異的配置子文件執行配置子文件的切換操作。
在實現時,網絡設備可以在同名的源配置文件中的第二目錄和目標配置文件中的第一目錄中查找同名的配置子文件。
當網絡設備查找到僅存在於第一目錄中的配置子文件時,可以將該配置子文件拷貝至第二目錄。
當網絡設備查找到僅存在於第二目錄中存在的配置子文件時,將該配置子文件從第二目錄中刪除。
如果網絡設備在第二目錄中查找到與第一目錄的第一配置子文件同名的第二配置子文件,網絡設備可以判斷該同名的第一配置子文件與第二配置子文件是否相同。
為了減少配置切換的時延,提高配置切換的效率,在比較第一配置子文件與第二配置子文件是否相同時,網絡設備可以先比較第一配置子文件與第二配置子文件的文件大小是否相同。由於文件大小的信息一般在文件頭部信息中,因此可以很快速地比較出上述兩個配置子文件是否相同。
如果第一配置子文件與第二配置子文件的文件大小不相同,則可以使用第一配置子文件覆蓋第二配置子文件。
如果第一配置子文件與第二配置子文件的文件大小相同,網絡設備則可以進一步逐字節地比較第一配置子文件與第二配置子文件的文件內容是否相同。
如果第一配置子文件的文件內容與第二配置子文件的文件內容不相同,則可以使用第一配置子文件覆蓋第二配置子文件。
如果第一配置子文件的文件內容與第二配置子文件的文件內容相同,則可將第一配置子文件從第一目錄中刪除。
本申請提出一種配置切換的方法,當將所述網絡設備當前的源配置文件,切換為目標配置文件時,網絡設備可以遍歷所述源配置文件以及所述目標配置文件中的文件目錄,並可以查找所述源配置文件以及所述目標配置文件中是否存在目錄名相同的文件目錄。當查找到所述源配置文件中存在與所述目標配置文件中的第一目錄的目錄名相同的第二目錄時,網絡設備可以遍歷該第一目錄以及第二目錄中的配置子文件,並查找所述第一目錄以及第二目錄中是否存在文件名相同的配置子文件。當網絡設備查找到所述第二目錄中存在與所述第一目錄中的第一配置子文件文件名相同的第二配置子文件時,可以進一步針對所述第一配置子文件與所述第二配置子文件進行內容比較,並在所述第一配置子文件與所述第二配置子文件的內容不同時,使用所述第一配置子文件覆蓋所述第二配置子文件。
一方面,由於網絡設備可以查找到源配置文件和目標配置文件中的具有差異的目錄及配置子文件,然後使用該目標配置文件中的配置子文件來覆蓋原配置文件中的配置子文件,使得網絡設備只需要對源、目標配置文件中具有差異的配置子文件進行配置子文件的切換,從而大幅度減少了CF卡擦除次數,有效地提高了CF卡壽命,同時,還使得網絡設備的配置切換的效率大幅度提升。
另一方面,由於網絡設備不再逐一比較源配置文件和目標配置文件中的所有的配置子文件的差異,而是採取先尋找源、目標配置文件中的文件目錄差異,對具有差異的文件目錄進行相應地處理,然後再比較相同的文件目錄下的配置子文件的差異。這種分級比較的方式,可以有效地減少配置切換的時延,提高配置切換的效率。
此外,在比較源配置文件和目標配置文件中的同名的配置子文件是否相同時,網絡設備可以先比較同名的配置子文件的文件大小是否相同,然後在配置子文件大小相同的情況下,再比較同名的配置子文件的內容。由於文件大小的信息在文件頭中,因此很容易進行比較,從而極大地提高了配置切換的速率。
與前述配置切換方法的實施例相對應,本申請還提供了配置切換裝置的實施例。
本申請配置切換裝置的實施例可以應用在網絡設備上。裝置實施例可以通過軟體實現,也可以通過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是通過其所在網絡設備的處理器將非易失性存儲器中對應的電腦程式指令讀取到內存中運行形成的。從硬體層面而言,如圖3所示,為本申請配置切換裝置所在網絡設備的一種硬體結構圖,除了圖3所示的處理器、內存、網絡出接口、以及非易失性存儲器之外,實施例中裝置所在的網絡設備通常根據該網絡設備的實際功能,還可以包括其他硬體,對此不再贅述。
請參考圖4,圖4是本申請一示例性實施例示出的一種配置切換裝置的框圖。所述裝置應用於網絡設備,當將所述網絡設備當前的源配置文件,切換為目標配置文件時,所述裝置包括:
第一查找單元410,用於遍歷所述源配置文件以及所述目標配置文件中的文件目錄,查找所述源配置文件以及所述目標配置文件中是否存在目錄名相同的文件目錄;
第二查找單元420,用於當查找到所述源配置文件中存在與所述目標配置文件中的第一目錄的目錄名相同的第二目錄時,遍歷該第一目錄以及第二目錄中的配置子文件,查找所述第一目錄以及第二目錄中是否存在文件名相同的配置子文件;
比較單元430,用於當查找到所述第二目錄中存在與所述第一目錄中的第一配置子文件文件名相同的第二配置子文件時,進一步針對所述第一配置子文件與所述第二配置子文件進行內容比較,並在所述第一配置子文件與所述第二配置子文件的內容不同時,使用所述第一配置子文件覆蓋所述第二配置子文件。
在一種可選的實現方式中,所述裝置還包括:
刪除單元440,用於如果所述第一配置子文件與所述第二配置子文件的內容相同,則將所述第一配置子文件從所述第一目錄中刪除。
在另一種可選的實現方式中,所述比較單元430,具體用於檢查所述第一配置子文件與所述第二配置子文件的大小是否相同;如果所述第一配置子文件與第二配置子文件的大小相同,則進一步針對所述第一配置子文件與所述第二配置子文件執行逐字節的內容匹配,以確定所述第一配置子文件與第二配置子文件內容是否相同。
在另一種可選的實現方式中,所述第一查找單元410,還用於當查找到僅在所述源配置文件中存在的文件目錄時,刪除該文件目錄以及其子目錄下的所有配置子文件;以及,當查找到僅在所述目標配置文件中存在的文件目錄時,將該文件目錄以及其子目錄下的所有配置子文件,拷貝至所述源配置文件對應的文件目錄中。
在另一種可選的實現方式中,所述第二查找單元420,還用於當查找到僅在所述第一目錄中存在的配置子文件時,將該配置子文件拷貝至所述第二目錄;以及,當查找到僅在所述第二目錄中存在的配置子文件時,將該配置子文件從所述第二目錄中刪除。
上述裝置中各個單元的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。
對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本申請方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
以上所述僅為本申請的較佳實施例而已,並不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的範圍之內。