本申請涉及通信技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)設(shè)備配置同步方法和裝置。
背景技術(shù):
VSM(Virtual Switch Matrix,虛擬交換矩陣)是一種將多臺網(wǎng)絡(luò)設(shè)備虛擬成一臺網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)設(shè)備虛擬化技術(shù)。在一個VSM實例中,VSM成員設(shè)備包括主成員設(shè)備(Master設(shè)備)和備成員設(shè)備(Slave設(shè)備),主成員設(shè)備可以對其所屬VSM實例中的所有成員設(shè)備進行統(tǒng)一管理,備成員設(shè)備則可作為主成員設(shè)備的備份設(shè)備運行。
相關(guān)技術(shù)中,主成員設(shè)備在接收到來自管理側(cè)的配置請求時,可以將所述配置請求發(fā)送給可配置狀態(tài)的備成員設(shè)備;對于不可配置狀態(tài)的備成員設(shè)備,則可以在該備成員的狀態(tài)變?yōu)榭膳渲煤?,再將所述配置請求發(fā)送給該備成員設(shè)備。然而,如果主成員設(shè)備無法及時感知到備成員設(shè)備狀態(tài)的變化,就會導(dǎo)致主成員設(shè)備與備成員設(shè)備之間的配置同步不夠及時、準確。
技術(shù)實現(xiàn)要素:
有鑒于此,本申請?zhí)峁┮环N網(wǎng)絡(luò)設(shè)備配置同步方法和裝置,以解決相關(guān)技術(shù)中主成員設(shè)備與備成員設(shè)備之間的配置同步不夠及時、準確的問題。
具體地,本申請是通過如下技術(shù)方案實現(xiàn)的:
第一方面,本申請?zhí)峁┮环N網(wǎng)絡(luò)設(shè)備配置同步方法,所述方法應(yīng)用于VSM實例中的VSM成員設(shè)備,包括:
當本設(shè)備為所述VSM實例中的主成員設(shè)備時,如果接收到來自所述VSM實例中的備成員設(shè)備的第一狀態(tài)報文,則基于所述第一狀態(tài)報文將所述備成員設(shè)備的狀態(tài)標記為不可配置;
如果接收到來自所述VSM實例中的備成員設(shè)備的第二狀態(tài)報文,則基于所述第二狀態(tài)報文將所述備成員設(shè)備的狀態(tài)標記為可配置;
如果接收到來自管理側(cè)的配置請求,則基于所述配置請求在本地執(zhí)行配置修改,并向狀態(tài)為可配置的備成員設(shè)備發(fā)送所述配置請求,以使所述備成員設(shè)備基于所述配置請求在本地執(zhí)行相同的配置修改;
其中,所述第一狀態(tài)報文由所述備成員設(shè)備在開始進行VSM初始配置時發(fā)送;所述第二狀態(tài)報文由所述備成員設(shè)備在完成VSM初始配置時發(fā)送。
第二方面,本申請?zhí)峁┮环N網(wǎng)絡(luò)設(shè)備配置同步裝置,所述裝置應(yīng)用于VSM實例中的VSM成員設(shè)備,包括:
標記單元,用于當本設(shè)備為所述VSM實例中的主成員設(shè)備時,如果接收到來自所述VSM實例中的備成員設(shè)備的第一狀態(tài)報文,則基于所述第一狀態(tài)報文將所述備成員設(shè)備的狀態(tài)標記為不可配置;
所述標記單元還用于在接收到來自所述VSM實例中的備成員設(shè)備的第二狀態(tài)報文時,基于所述第二狀態(tài)報文將所述備成員設(shè)備的狀態(tài)標記為可配置;
第一發(fā)送單元,用于在接收到來自管理側(cè)的配置請求時,基于所述配置請求在本地執(zhí)行配置修改,并向狀態(tài)為可配置的備成員設(shè)備發(fā)送所述配置請求,以使所述備成員設(shè)備基于所述配置請求在本地執(zhí)行相同的配置修改;
其中,所述第一狀態(tài)報文由所述備成員設(shè)備在開始進行VSM初始配置時發(fā)送;所述第二狀態(tài)報文由所述備成員設(shè)備在完成VSM初始配置時發(fā)送。
分析上述技術(shù)方案可知,網(wǎng)絡(luò)設(shè)備在加入VSM實例后,如果確定本設(shè)備為該VSM實例中的備成員設(shè)備,則可以主動向該VSM實例中的主成員設(shè)備上報本設(shè)備的當前狀態(tài)。采用這樣的方式,VSM實例中的主成員設(shè)備可以及時確定各個備成員設(shè)備的狀態(tài),并將來自管理側(cè)的配置請求報文發(fā)送給狀態(tài)為可配置的備成員設(shè)備,使所述備成員設(shè)備在本地執(zhí)行與所述主成員設(shè)備相同的配置修改。與相關(guān)技術(shù)相比,不僅提高了備成員設(shè)備與主成員設(shè)備之間配置同步的及時性和準確性,而且VSM實例中的主成員設(shè)備無需定期向備成員設(shè)備發(fā)送狀態(tài)確認報文,減輕了各個成員設(shè)備處理器以及VSM數(shù)據(jù)傳輸通道的負擔(dān)。
附圖說明
圖1是本申請一示例性實施例示出的一種網(wǎng)絡(luò)設(shè)備配置同步方法的流程圖;
圖2是本申請一示例性實施例示出的一種網(wǎng)絡(luò)設(shè)備配置同步裝置所在設(shè)備的硬件結(jié)構(gòu)圖;
圖3是本申請一示例性實施例示出的一種網(wǎng)絡(luò)設(shè)備配置同步裝置的框圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
在本申請使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。
應(yīng)當理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應(yīng)于確定”。
請參考圖1,為本申請一示例性實施例示出的一種網(wǎng)絡(luò)設(shè)備配置同步方法的流程圖,所述方法可以應(yīng)用于VSM實例中的VSM成員設(shè)備,包括以下步驟:
步驟101:當本設(shè)備為所述VSM實例中的主成員設(shè)備時,如果接收到來自所述VSM實例中的備成員設(shè)備的第一狀態(tài)報文,則基于所述第一狀態(tài)報文將所述備成員設(shè)備的狀態(tài)標記為不可配置。
在本實施例中,當網(wǎng)絡(luò)設(shè)備加入VSM實例時,可以先通過角色選舉確定其在該VSM實例中的角色。在VSM實例中的所有成員設(shè)備均確定其在該VSM實例中的角色后,該VSM實例中的主成員設(shè)備可以將用戶初始配置下發(fā)至所有備成員設(shè)備,從而使該VSM實例中的所有成員設(shè)備保存相同的配置。
在本步驟中,當網(wǎng)絡(luò)設(shè)備通過角色選舉確定其為所屬VSM實例中的備成員設(shè)備,且開始進行VSM初始配置時,可以向該VSM實例中的主成員設(shè)備發(fā)送第一狀態(tài)報文。VSM實例中的主成員設(shè)備在接收到第一狀態(tài)報文時,可以將發(fā)送該第一狀態(tài)報文的備成員設(shè)備的狀態(tài)標記為不可配置。
步驟102:如果接收到來自所述VSM實例中的備成員設(shè)備的第二狀態(tài)報文,則基于所述第二狀態(tài)報文將所述備成員設(shè)備的狀態(tài)標記為可配置。
在本實施例中,當VSM實例中的備成員設(shè)備完成VSM初始配置時,可以向該VSM實例中的主成員設(shè)備發(fā)送第二狀態(tài)報文。VSM實例中的主成員設(shè)備在接收到第二狀態(tài)報文時,可以將發(fā)送該第二狀態(tài)報文的備成員設(shè)備標記為可配置。
步驟103:如果接收到來自管理側(cè)的配置請求,則基于所述配置請求在本地執(zhí)行配置修改,并向狀態(tài)為可配置的備成員設(shè)備發(fā)送所述配置請求,以使所述備成員設(shè)備基于所述配置請求在本地執(zhí)行相同的配置修改。
在本實施例中,當VSM實例中的主成員設(shè)備接收到來自管理側(cè)的配置請求時,除了可以基于該配置請求在本地執(zhí)行配置修改之外,還可以將該配置請求發(fā)送給狀態(tài)為可配置的備成員設(shè)備。在一個例子中,VSM實例中的主成員設(shè)備可以在本地保存?zhèn)涑蓡T設(shè)備狀態(tài)表,該表中可以包括該VSM實例中的各個備成員設(shè)備的狀態(tài)以及其設(shè)備標識,例如:VSM ID,所述主成員設(shè)備可以根據(jù)該表確定狀態(tài)為可配置的備成員設(shè)備,并向所述備成員設(shè)備發(fā)送來自管理側(cè)的配置請求。
狀態(tài)為可配置的備成員設(shè)備在接收到該配置請求后,可以在本地執(zhí)行與所述主成員設(shè)備相同的配置修改,以保證與所述主成員設(shè)備之間的配置同步。
值得注意的是,本申請主成員設(shè)備和備成員設(shè)備可以采用已有協(xié)議實現(xiàn)所述第一狀態(tài)報文和所述第二狀態(tài)報文,比如:可以擴展已有的協(xié)議,在協(xié)議報文中增加用于標識第一狀態(tài)報文和第二狀態(tài)報文的標志位。可選的,還可以在協(xié)議報文中攜帶備成員設(shè)備的狀態(tài),比如:若攜帶不可配置,則可以將該報文確定為第一狀態(tài)報文,若攜帶可配置,則可以將該報文確定為第二狀態(tài)報文,本申請對此不作特殊限制。
由上述實施例可見,網(wǎng)絡(luò)設(shè)備在加入VSM實例后,如果確定本設(shè)備為該VSM實例中的備成員設(shè)備,則可以主動向該VSM實例中的主成員設(shè)備上報本設(shè)備的當前狀態(tài)。采用這樣的方式,VSM實例中的主成員設(shè)備可以及時確定各個備成員設(shè)備的狀態(tài),并將來自管理側(cè)的配置請求報文發(fā)送給狀態(tài)為可配置的備成員設(shè)備,使所述備成員設(shè)備在本地執(zhí)行與所述主成員設(shè)備相同的配置修改。與相關(guān)技術(shù)相比,不僅提高了備成員設(shè)備與主成員設(shè)備之間配置同步的及時性和準確性,而且VSM實例中的主成員設(shè)備無需定期向備成員設(shè)備發(fā)送狀態(tài)確認報文,減輕了各個成員設(shè)備處理器以及VSM數(shù)據(jù)傳輸通道的負擔(dān)。
為了進一步提高備成員設(shè)備與主成員設(shè)備之間配置同步的及時性和準確性,在一個例子中,VSM實例中的主成員設(shè)備在接收到來自管理側(cè)的配置請求后,除了可以將該配置請求發(fā)送給狀態(tài)為可配置的備成員設(shè)備之外,還可以向狀態(tài)為不可配置的備成員設(shè)備發(fā)送狀態(tài)確認請求。狀態(tài)為不可配置的備成員設(shè)備在接收到該狀態(tài)確認請求后,可以向所述主成員設(shè)備返回其當前狀態(tài),如果所述備成員狀態(tài)返回的當前狀態(tài)為可配置,則所述主成員設(shè)備可以將所述備成員設(shè)備的狀態(tài)標記由不可配置更新為可配置,并將所述配置請求發(fā)送給所述備成員設(shè)備,從而使所述備成員設(shè)備基于所述配置請求在本地執(zhí)行與所述主成員設(shè)備相同的配置修改。
在另一個例子中,如果因為環(huán)網(wǎng)等原因?qū)е耉SM實例中的某一備成員設(shè)備不可達,該VSM實例中的主成員設(shè)備可以基于其socket返回的錯誤信息檢測到向該備成員設(shè)備發(fā)送配置請求失敗,后續(xù)所述主成員設(shè)備可以向該備成員設(shè)備發(fā)送狀態(tài)確認請求。該備成員設(shè)備在接收到該狀態(tài)確認請求后,可以向所述主成員設(shè)備返回其當前狀態(tài),如果該備成員設(shè)備返回的當前狀態(tài)為可配置,則所述主成員設(shè)備可以再次向所述備成員設(shè)備發(fā)送所述配置請求。如果該備成員設(shè)備返回的當前狀態(tài)為不可配置,則可以將該備成員設(shè)備的狀態(tài)標記為不可配置。
在另一個例子中,還可以通過狀態(tài)確認進程來進一步提高配置同步的及時性和準確性。具體地,如果VSM實例中的備成員設(shè)備在接收到來自該VSM實例中的主成員設(shè)備的狀態(tài)確認請求后,向所述主成員設(shè)備返回的當前狀態(tài)為不可配置,則所述主成員設(shè)備可以檢測是否存在針對該備成員設(shè)備的狀態(tài)確認進程。所述狀態(tài)確認進程用于按照預(yù)設(shè)的時間周期向所述備成員設(shè)備發(fā)送狀態(tài)確認請求,所述備成員設(shè)備在接收到所述狀態(tài)確認請求后,可以向所述主成員設(shè)備返回其當前狀態(tài),從而使所述主成員設(shè)備可以及時更新所述備成員設(shè)備的狀態(tài)。
在另一個例子中,如果所述主成員設(shè)備在用戶預(yù)先設(shè)置的超時時間內(nèi)未接收到所述備成員設(shè)備返回的當前狀態(tài),則所述主成員設(shè)備也可以檢測是否存在針對該備成員設(shè)備的狀態(tài)確認進程。比如:因為環(huán)網(wǎng)等原因?qū)е略搨涑蓡T設(shè)備無法接收到來自所述主成員設(shè)備的狀態(tài)確認請求,或者所述主成員設(shè)備無法接收到該備成員設(shè)備返回的當前狀態(tài),都會導(dǎo)致所述主成員設(shè)備在所述超時時間內(nèi)接收不到該備成員設(shè)備返回的當前狀態(tài)。
需要說明的是,VSM實例中的主成員設(shè)備在進行配置同步時,若發(fā)現(xiàn)狀態(tài)為不可配置的備成員設(shè)備,該主成員設(shè)備可以向用戶告警,以提醒用戶所述備成員設(shè)備未能成功實現(xiàn)與所述主成員設(shè)備之間的配置同步。
在一個可選的實施例中,VSM實例中的主成員設(shè)備在接收到來自該VSM實例中的備成員設(shè)備的第一狀態(tài)報文時,可以啟動針對所述備成員設(shè)備的狀態(tài)確認進程;而在接收到來自該VSM實例中的備成員設(shè)備的第二狀態(tài)報文時,則可以關(guān)閉針對所述備成員設(shè)備的狀態(tài)確認進程。采用這樣的方式,如果主成員設(shè)備未能及時接收到備成員設(shè)備的第二狀態(tài)報文,基于所述狀態(tài)確認進程所述主成員設(shè)備也可以及時更新所述備成員設(shè)備的狀態(tài)。
與前述網(wǎng)絡(luò)設(shè)備配置同步方法的實施例相對應(yīng),本申請還提供了網(wǎng)絡(luò)設(shè)備配置同步裝置的實施例。
本申請網(wǎng)絡(luò)設(shè)備配置同步裝置的實施例可以應(yīng)用在VSM實例中的VSM成員設(shè)備上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在VSM成員設(shè)備的處理器將非易失性存儲器中對應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,如圖2所示,為本申請網(wǎng)絡(luò)設(shè)備配置同步裝置所在VSM成員設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖2所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲器之外,實施例中裝置所在的VSM成員設(shè)備通常根據(jù)該網(wǎng)絡(luò)設(shè)備配置同步的實際功能,還可以包括其他硬件,對此不再贅述。
請參考圖3,為本申請一示例性實施例示出的一種網(wǎng)絡(luò)設(shè)備配置同步裝置的框圖,該網(wǎng)絡(luò)設(shè)備配置同步裝置300可以應(yīng)用于圖2所示的VSM成員設(shè)備中,包括:
標記單元301,用于當本設(shè)備為所述VSM實例中的主成員設(shè)備時,如果接收到來自所述VSM實例中的備成員設(shè)備的第一狀態(tài)報文,則基于所述第一狀態(tài)報文將所述備成員設(shè)備的狀態(tài)標記為不可配置;
所述標記單元301還用于在接收到來自所述VSM實例中的備成員設(shè)備的第二狀態(tài)報文時,基于所述第二狀態(tài)報文將所述備成員設(shè)備的狀態(tài)標記為可配置;
第一發(fā)送單元302,用于在接收到來自管理側(cè)的配置請求時,基于所述配置請求在本地執(zhí)行配置修改,并向狀態(tài)為可配置的備成員設(shè)備發(fā)送所述配置請求,以使所述備成員設(shè)備基于所述配置請求在本地執(zhí)行相同的配置修改;
其中,所述第一狀態(tài)報文由所述備成員設(shè)備在開始進行VSM初始配置時發(fā)送;所述第二狀態(tài)報文由所述備成員設(shè)備在完成VSM初始配置時發(fā)送。
在一個可選的實施例中,所述網(wǎng)絡(luò)設(shè)備配置同步裝置300還可以包括:
第二發(fā)送單元303,用于在接收到來自管理側(cè)的配置請求時,向狀態(tài)為不可配置的備成員設(shè)備發(fā)送狀態(tài)確認請求,以使所述備成員設(shè)備返回當前狀態(tài);
更新單元304,用于在所述備成員設(shè)備返回的當前狀態(tài)為可配置時,更新所述備成員設(shè)備的狀態(tài)標記,并向所述備成員設(shè)備發(fā)送所述配置請求。
在另一個可選的實施例中,所述網(wǎng)絡(luò)設(shè)備配置同步裝置300還可以包括:
第三發(fā)送單元305,用于在檢測到所述配置請求發(fā)送失敗時,向?qū)?yīng)的備成員設(shè)備發(fā)送狀態(tài)確認請求,以使所述備成員設(shè)備返回當前狀態(tài);
所述第一發(fā)送單元302還可以用于如果所述備成員設(shè)備返回的當前狀態(tài)為可配置,則再次向所述備成員設(shè)備發(fā)送所述配置請求。
在另一個可選的實施例中,所述網(wǎng)絡(luò)設(shè)備配置同步裝置300還可以包括:
檢測單元306,用于在所述備成員設(shè)備返回的當前狀態(tài)為不可配置,或者在預(yù)設(shè)的超時時間內(nèi)未接收到所述備成員設(shè)備返回的當前狀態(tài)時,檢測是否存在針對對應(yīng)的備成員設(shè)備的狀態(tài)確認進程;
第一啟動單元307,用于在不存在針對所述備成員設(shè)備的狀態(tài)確認進程時,啟動針對所述備成員設(shè)備的狀態(tài)確認進程;
其中,所述狀態(tài)確認進程用于按照預(yù)設(shè)的時間周期向所述備成員設(shè)備發(fā)送狀態(tài)確認請求。
在另一個可選的實施例中,所述網(wǎng)絡(luò)設(shè)備配置同步裝置300還可以包括:
第二啟動單元308,用于當接收到來自所述VSM實例中的備成員設(shè)備的第一狀態(tài)報文時,啟動針對所述備成員設(shè)備的狀態(tài)確認進程;
關(guān)閉單元309,用于當接收到來自所述VSM實例中的備成員設(shè)備的第二狀態(tài)報文時,關(guān)閉針對所述備成員設(shè)備的狀態(tài)確認進程。
上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實現(xiàn)過程,在此不再贅述。
對于裝置實施例而言,由于其基本對應(yīng)于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本申請保護的范圍之內(nèi)。