專利名稱:軟件升級系統以及軟件升級方法
技術領域:
本發明涉及通信技術領域,具體涉及一種軟件升級系統以及一種設備的軟 件升級方法。
背景技術:
月良務不中斷軟件升級(In-service software upgrade,簡稱ISSU)的目的在于 在網絡設備的軟件升級過程中,實現進程服務的不中斷,從而提高設備的可靠 性。在實際的軟件升級時,如何保證將升級前的舊版本軟件的配置數據同步更 新到用于升級的新版本軟件,是保證進程業務服務不中斷的關鍵。
現有技術1是在網絡設備中提供兩塊主控板, 一塊為主用板,另一塊作為 對主用板的備份,軟件升級時,首先將用,于升級的新版本軟件加載到備用板, 然后獲取主控板的配置數據并傳送到備用板,備用板將來自于主用板的配置數 據格式轉換為新版本軟件可以識別的格式的配置數據后形成備用板的配置數 據,進而執行主備倒換,將主用板的進程服務升級到備用板,實現軟件升級。 現有技術2是在網絡設備的同一主控板上與舊版本軟件不同的內存區域上加載 一個新版本軟件,加載完成后,獲取主控板中舊版本軟件的全部配置數據并將 所獲取的配置數據格式轉換為新版本軟件可以識別的格式的配置數據后,將格 式轉換后的配置數據更新至新版本軟件區域,以形成新版本軟件的配置數據, 進而將舊版本軟件的進程服務切換至新版本軟件,實現軟件升級。
上述現有技術1和現有技術2的軟件升級過程中,主用板的配置數據可能 會發生變更(包括軟件配置變更以及附屬硬件變動引起的軟件配置變更),為了 保證進程業務服務不中斷,在現有技術1和現有技術2的軟件升級過程中,是 盡量不變更主用板的配置數據的(如不在升級過程中增加或刪除新的附屬石更件, 而等到升級切換成功后,增加或刪除新的相應的附屬硬件)。為此,在一定程度 上顯然是帶來了一些操作限制的(如禁止在軟件升級過程中變更配置),并且對 于升級過程中可能出現的一些無法預知的意外故障而導致變更的配置數據也無 法更新至升級版本軟件。
發明內容
本發明實施例提供一種軟件升級系統以及相應的一種設備的軟件升級方 法,實現將設備升級過程變更的配置數據(也即增量配置數據)更新至升級版 本軟件。
本發明實施例的一種設備的軟件升級方法,所述設備包含主用板和備用板,
所述方法包括以下步驟
將升級軟件加載到所述備用板;
將所述主用板中當前運行的軟件的配置數據備份至所述備用板,并緩存所 述主用板中當前運行的軟件的增量配置數據;
將所述緩存的所述主用板中當前運行的軟件的增量配置數據同步更新至所 述備用板;
將所述主用板的進程服務切換至所述備用板。
本發明實施例的一種設備的軟件升級方法,所述設備包括主用區和備用區, 所述方法包括以下步驟 '將升級軟件加載到所述備用區;
將所述主用區中當前運行的軟件的配置數據備份至所述備用區,并緩存所 述主用區中當前運行的軟件的增量配置數據;
將所述緩存的所述主用區中當前運行的軟件的增量配置數據同步更新至所 述備用區;
將主用區的進程服務切換至所述備用區。
本發明實施例的一種軟件升級系統,所述系統包含主用板、備用板,其中 所述主用板,用于將自身運行的第一版本軟件的配置數據備份至所述備用
板,并對所述第一版本軟件的增量配置數據進行緩存,并用于將所緩存的增量
配置數據發送至所述備用板;
所述備用板,用于對自身加載進行軟件升級的第二版本軟件,并將來自于
所述主用板的配置數據更新至所述第二版本軟件,以及用于將來自于所述主用
板的所述增量配置數據更新至所述第二版本軟件,并將所述主用板的進程服務
切換至所自身。
本發明實施例的一種軟件升級系統,所述軟件升級系統包括主用板、備用
板、以及增量配置數據緩存裝置,其中
所述主用板,用于將自身運行的第一版本軟件的配置數據備份至所述備用
板并將所述第一版本軟件的增量配置數據發送至所述增量配置數據緩存裝置;
所述增量配置數據緩存裝置,用于將來自于所述主用板的所述增量配置數
據進行緩存;
所述備用板,用于對自身加載進行軟件升級的第二版本軟件,并將來自于 所述主用板的配置數據更新至所述第二版本軟件,以及用于從所述增量配置數 據緩存裝置中獲取所述增量配置數據,并將所獲取的所述增量配置數據更新至 所述第二版本軟件,并用于將所述主用板的進程服務切換至所自身。
本發明實施例的一種軟件升級系統,所述系統包括主用區、備用區、以及 增量配置數據緩存模塊,其中
所述主用區,用于將自身運行的第一版本軟件的配置數據備份至所述備用 區,并將所述第 一版本軟件的增量配置數據緩存至所述增量配置數據緩存模塊;
所述增量配置數據緩存模塊,'用于緩存來自所述主用區的增量配置數據;
所述備用區,用于對自身加載進行軟件升級的第二版本軟件,并將來自于 所述主用區的配置數據更新至所述第二版本軟件,以及用于從所述增量配置數 據緩存模塊中讀取所述增量配置數據并將其更新至所述第二版本軟件,并用于 將所述主用板的進程服務切換至自身。
實施本發明實施例的一種設備的軟件升級方法以及一種軟件升級系統,通 過緩存增量配置數據(也即升級過程中變更的配置數據),并將所緩存的增量配 置數據同步更新至升級版本軟件,實現了可靠的業務服務不間斷軟件升級,提 高了網絡設備升級過程的可靠性,降低了網絡設備升級風險。
圖l是本發明軟件升級系統的第一實施例的結構示意圖; 圖2是本發明軟件升級系統的第二實施例的結構示意圖; 圖3是本發明軟件升級系統的第三實施例的結構示意圖; 圖4是本發明軟件升級方法的第一實施例流程示意圖; 圖5是本發明軟件升級方法的第二實施例流程示意圖6是本發明軟件升級方法的第三實施例流程示意圖。
具體實施例方式
為了使本發明實施例的技術方案以及優點更加清楚明白,下面結合附圖并 舉實施例對本發明實施例進行進一步詳細說明。
參考圖1,是本發明4欠件升級系統的第一實施例的結構示意圖。如圖所示, 本發明軟件升級系統的第一實施例主要包括主用板IO和備用板11。下面對主用
板10和備用板11以及其相互關系進行詳細說明。
所述主用4反10,用于將自身運行的第一版本軟件的配置數據備份至所述備
用板11,并對所述第一版本軟件的增量配置數據進行緩存,并用于將所緩存的
增量配置數據發送至所述備用板11。具體實施時,所述主用板10主要包括 第一版本軟件模塊101。
此處,所述第一版本軟件才莫塊101中的第一版本軟件為本發明實施例中需 要被升級的舊版本軟件,也即當前運行的軟件,在本發明實施例所述的軟件升 級系統應用于網絡設備時,所述第一版本軟件以應用進程形式運行于所述主用 板10中,為網絡設備提供相應的進程服務。
配置數據備份單元102,用于將所述第一版本軟件模塊中的第一版本軟件的 配置數據備份至所述備用板11 。
此處,所述配置數據為軟件運行時的相關軟件配置,這些相應的軟件配置
設備的軟件配置主要包括配置命令、動態配置和靜態配置等,其中,配置命令 主要涉及用戶對網絡設備進行一些命令操作而產生的命令配置數據,通常用戶 通過可以識別的命令行文本形式對網絡設備輸入配置命令,所輸入的配置命令 通過相應的命令解析器轉換為機器可以識別的配置數據,比如用戶輸入的一條 配置命令為ip address 10 .1.1.12 mask 255.255,0.0,該ip address (網絡地址)西己 置命令通過命令解析器轉換為ip地址表中的一條配置數據記錄,該配置數據記 錄包含了物理接口和ip地址兩個屬性。動態配置主要涉及系統中經常更新的一 些配置信息,比如鏈路的狀態、鏈路的通斷、可'用帶寬等經常發生變化的配置 信息。靜態配置主要涉及系統運行時相對穩定的配置信息,比如系統中唯一標 識某個物理接口的ID信息,該信息配置一般由系統分配并在該物理4妻口存在期
所述主用板10將所述配置數據備份至所述備用板11時, 一般先收集獲取 對應所述主用板中的全部配置數據,并對該收集獲取的配置數據進行打包后,
以IPC進程間通信消傳送至所述備用板,具體備份過程與現有技術類似,在此
不與贅述。
主增量配置數據緩存單元103,用于將對應所述第一版本軟件模塊中第一版 本軟件的增量配置數據進行緩存。
此處,所述增量配置數據為在軟件升級過程,也即上述數據備份過程開始 至后續中將要描述的主備倒換期間內變更的配置數據,在本實施例中通過在主 用板中增加一所述的主增量配置數據緩存單元103,實現了將升級過程中變更的 配置數據進行緩存,所述增量配置數據也既變更的配置數據主要包括了軟件變 動引起的軟件配置變更和附屬硬件變化而導致的與附屬硬件相關的軟件配置, 一般說來,附屬硬件變更主要包括以下三種情況
1、 附屬硬件的增加,比如由于網絡設備的擴容增加一個以太網物理接口, 由此可能帶來多條軟件配置變更,如鏈接速度、雙工和租界的IP地址等配置的 增力口;
2、 附屬硬件的刪除,比如淘汰舊的物理端口,與該物理端口相應的軟件配 置也必須刪除;
3、 附屬硬件的更換,比如以太網物理接口更換為更大容量的光接口模塊, 這時配置變更將涉及原有以太網接口配置的刪除和光接口模塊配置的增加。
增量配置凄t據發送單元104,用于將所述增量配置數據緩存單元103所緩存 的增量配置數據發送至所述備用板11。
此處,具體實施時,所述增量配置數據發送單元104 —般是在所述配置數 據備份單元102備份結束后開始向所述備用板11發送所述增量配置數據。
所述備用板11,加載進行軟件升級的第二版本軟件,并將來自于所述主用 板10的配置數據更新至所述第二版本軟件,以及用于將來自于所述主用板10 的所述增量配置數據更新至所述第二版本軟件,并將所述主用板10的進程服務 切換至所自身。具體實施時,所述備用板l廠主要包括
升級軟件加載單元113,用于加載對備用板進行軟件升級的第二版本軟件。
此處,所述第二版本軟件一般為相對于所述主用板中的第 一版本軟件版本
更高的新版本軟件,將軟件升級為更高版本的軟件的目的一般是為了對系統進 行功能升級或解決舊版本軟件可能存在的一些漏洞等。
第二版本軟件模塊112。
此處,所述第二版本軟件沖莫塊112中的軟件為通過所述軟件加載單元113 所加載的新版本軟件。
配置數據更新單元114,用于將來自所述配置數據備份單元的配置數據更新 至所述第二版本軟件模塊112。
此處,具體實施時, 一般情況下,所述備用板中的所述第二版本軟件也即 新版本軟件的配置數據與所述主用板中的所述第一版本軟件也即舊版本軟件的 配置數據的格式是有差異的,故所述配置數據更新單元114需要對配置數據進 行格式轉換后將轉換后的配置數據更新至所述第二版本軟件才莫塊114。具體實現 時,所述配置數據更新單元114主要包括配置數據格式轉換單元1142和配置數 據更新執行單元1141,下面對其分別詳細說明
配置數據格式轉換單元1142,用于將所述配置數據格式轉換為對應所述第 二版本軟件的配置數據。
此處,所述配置數據的格式轉換主要為對配置數據的結構進行增加、刪除 或4務改,例如
1、 配置命令格式的變化,不同版本軟件的編寫格式、風格可能會有差異或 不用,比如為了統一命令行的風格,新版本把命令xxx disable命令(關閉xxx 功能)修改為undo xxx enable (關閉xxx功能),此時在配置數據格式轉換時必 須將舊版本的配置數據轉換為新版本可以識別的格式,如將xxx disable命令(關 閉xxx功能)〈務改為undo xxx enable (關閉xxx功能)。
2、 默認值的變化,比如某協商報文的默認定時周期設計,舊版本軟件默認 為10秒,新版本軟件默認為5秒,此時配置數據格式轉換時,新版本應當按照 舊版本的默認配置調整為10秒。
配置數據更新執行單元1141,用于將對應所述第二版本軟件的配置數據更 新至所述第二版本軟件模塊112。
備增量配置數據緩存單元116,用于接收來自所述增量配置數據發送單元 104的增量配置數據,并緩存所接收到的增量配置數據。
此處,具體實施時,在所述備增量配置數據緩存單元116通過設置增量配
置數據緩存隊列來實現對數據的緩存控制,根據實際需要,可以設置多個優先 級不同的數據緩存隊列,比如,劃分為高優先級隊列、基本優先級隊列和低優 先級隊列。優先級別主要根據軟件配置的依賴關系來確定,比如物理接口的鏈 路協議(如PPP協議)配置應當優先于網絡(如IP地址)的配置,所以物理接 口的鏈路配置放在高優先級隊列,網絡配置放在基本優先級隊列。再比如訪問
控制列表(ACL )應當優先于使用訪問控制列表的協議(比如telnet協議)配置, 可以把訪問控制列表配置放在基本優先級隊列,使用訪問控制列表的協議放在 低優先級隊列。備用板按照優先順序,首先恢復高優先級隊列的配置,再恢復 基本優先級隊列的配置,最后恢復低優先級隊列的配置。為了便于增量配置數 據的緩存控制,數據緩存隊列逐條存入所述增量配置,每存入一條增量配置, 數據緩存隊列的中的隊列長度增1 。
增量配置數據更新單元115,用于從所述備增量緩存單元116讀取所述增量 配置數據,并將所讀取的所述增量配置數據更新至所述第二版本軟件模塊112。 具體實施時,所'述增量配置數據更新單元115主要包括
增量配置數據讀取單元'1153,用于從所述增量配置緩沖隊列中讀取所述增 量配置數據。
此處,具體實現時,所述增量配置數據讀取單元1153從所述備增量配置數 據緩存單元116中的增量配置緩沖隊列逐條讀取所述增量配置數據。
增量配置數據格式轉換單元1152,用于將所述增量配置數據讀取單元所讀 取的增量配置數據格式轉換為對應所述第二版本軟件的增量配置數據。
此處,對所述增量配置數據的數據格式轉換與所述配置數據才各式轉換單元 1142對配置數據的格式轉換的定義和原理是類似的,在此不再贅述。
增量配置數據更新執行單元1151,用于將對應所述第二版本的增量配置數 據更新至所述第二版本軟件模塊112。
切換控制單元111 ,用于將所述主用板10的進程服務切換至所述備用板11。
此處,所述切換控制單元111 一般是在增量配置數據更新執行單元1151完 成了全部增量配置數據的更新也即所述備增量配置數據緩存單元116中各個增 量配置數據緩存隊列的長度為0 (即增量配置數據^t全部讀取)時,將所述主用 板]0的進程服務切換至所述備用板,以實現主備切換。當然,本領域技術人員 應該明白,如果對于新版本運行并提供進程服務不是非常關鍵的部分增量配置
數據未完全更新時,也是可以先主備切換,再繼續完成未完成部分的增量配置 數據的更新的,當然前提是該未完成部分的增量配置數據的暫時缺失,不會影 響到正常的進程服務以及不應當導致業務服務中斷。
參考圖2,是本發明軟件升級系統的第二實施例的結構示意圖。如圖所示,
本發明軟件升級系統的第二實施例主要包括主用板20、備用板21、以及增量配 置數據緩存裝置22。本實施例與所述的本發明軟件升級系統的第一實施例的不
增量配置數據,下面對主用板20、備用板21、增量配置數據緩存裝置22以及 其相互關系進行詳細說明。
所述主用板20,用于將自身運行的第一版本軟件的配置數據備份至所述備 用板21,并將所述第一版本軟件的增量配置數據發送至所述增量配置數據緩存 裝置22。具體實施時,所述主用板20主要包括
第一版本軟件模塊201。
此處,'所述笫一版本軟件才莫塊201中的第一版本軟件為本發明實施例中需 要被升級的舊版本軟件,在本發明實施例所述的軟件升級系統應用于網絡設備 時,所述第一版本軟件以應用進程形式運行于所述主用板20中,為網絡設備提 供相應的進程服務。
配置數據備份單元202,用于將所述第一版本軟件模塊201中的第一版本軟 件的配置數據備份至所述備用板21 。
此處,所述配置數據以及所述配置數據備份至所述備用板21的過程與本發 明軟件升級系統的第一實施例中描述的類似,在此不再贅述。
增量配置數據發送單元203,用于將對應所述第一版本軟件的增量配置數據 發送至所述增量配置緩存裝置22。
此處,所述增量配置數據的含義與本發明軟件升級系統第一實施例中相應 的描述類似,在此不再贅述。具體實施,所述增量配置數據發送單元203 —般 是在所述數據備份單元202開始數據備份后,將獲取的增量配置數據也即變更 的配置數據發送至所述增量配置緩存裝置22。
所述增量配置數據緩存裝置22,用于將來自于所述主用板20的所述增量配 置數據進行緩存。
此處具體實施時,所述增量配置緩存裝置22包括
增量配置數據緩存單元221,用于將來自于所述主用板20的所述增量配置
數據進行緩存。
此處,具體實現時,與所述備增量配置數據緩存單元116類似,也可通過 在所述增量配置數據緩存單元221中設置增量配置數據緩存隊列實現對數據的 緩存控制。
增量配置數據格式轉換單元222,用于將所述增量配置數據格式轉換為對應 所述備用板中所述第二版本軟件的增量配置數據。
此處,對所述增量配置數據格式轉換的含義與前文相應描述是類似的,所 不同之處在于,可通過相應的外部工具或手動進行增量配置數據的格式轉換和 驗證,通過將配置數據發送至獨立于主用板以及備用板的外圍設備(即增量配 置數據緩存裝置22),可以降低網絡設備軟件配置轉換的復雜度。由于外圍設備 實現增量配置數據格式轉換是不受網絡設備主用板和備用板中的軟件控制的, 故本實施例實現軟件升級時,應當預先確知升級時可能會修改哪些軟件配置也 即可能會變動那些附屬硬件。本實施例的增量配置數據緩存裝置22可部署在網 絡系統中的本地網絡管理機中,.其與網絡設備的主用板以及備用板之間文件的 網絡傳送方式進行通信,由于本實施例的增量配置數據緩存裝置22獨立于網絡 設備,因此其不僅可用于實現在同 一網絡設備的主用板和備用板之間實現軟件 升級,還可用于實現同時對多個類似功能的網絡設備的備用板的軟件升級。
所述備用板21,用于對自身加載進行軟件升級的第二版本軟件,并將來自 于所述主用板20的配置數據更新至所述第二版本軟件,以及用于從所述增量配 置數據緩存裝置22中獲取所述增量配置數據,并將所獲取的所述增量配置數據 更新至所述第二版本軟件,并用于將所述主用板20的進程服務切換至所自身。 具體實施時,所述備用板主要包括
升級軟件加載單元213,用于加載對備用板進行軟件升級的第二版本軟件。
此處,所述升級軟件加載單元213與本發明軟件升級系統第一實施例中描 述的升級軟件加載單元113相同或類似,在此不再贅述。
第二版本軟件模塊212。
此處,第二版本軟件沖莫塊212與本發明軟件升級系統第一實施例中描述的 第二版本軟件;漠塊112相同或類似,在此不再贅述。
配置數據更新單元214,用于將來自所述配置數據備份單元202的配置數據
更新至所述第二軟件版本才莫塊。
此處、具體實施時,與本發明軟件升級系統第一實施例中描述的配置數據
更新單元214類似,所述配置數據更新單元214主要包括
配置數據格式轉換單元2142,用于將所述配置凄t據格式轉換為對應所述第 二版本軟件的配置數據。
此處,所述配置數據格式轉換單元2142與本發明軟件升級系統第一實施例 中描述的配置數據格式轉換單元1142相同或類似,在此不再贅述。
配置數據更新執行單元2141,用于將對應所述第二版本軟件的配置數據更 新至所述第二版本軟件模塊212。
此處,所述配置數據更新執行單元2141與本發明軟件升級系統第一實施例 中描述的配置萄:據更新執行單元1141相同或類似,在此不再贅述。
增量配置數據更新單元215,用于從所述增量配置數據緩存裝置22獲取所 述對應于所述第二軟件版本的增量配置數據,并將所獲取的對應于所述第二軟 件版本的所述增量配置數據更新至所述第二版本軟件^f莫塊212。'
切換控制單元211,用于將所述主用板的進程服務切換至所述備用板。
此處,所述切換控制單元211與本發明軟件升級系統第一實施例中描述的 切換控制單元lll相同或類似,在此不再贅述。
參考圖3,是本發明軟件升級系統的第三實施例結構示意圖。如圖所示,本 發明軟件升級系統的第三實施例主要包括主用區30、備用區31以及增量配置緩 存模塊32,與前述本發明軟件升級系統的第一實施例以及本發明軟件升級系統 的第二實施例不同,本實施例是在網絡設備的同一單板上實現軟件升級,下面 分別對所述主用區30、所述備用區31以及所述增量配置數據緩存模塊的功能以 及其相互關系進行詳細i兌明。
所述主用區30,用于將自身運行的第一版本軟件的配置數據備份至所述備 用區31,并將所述第一版本軟件的增量配置數據緩存至所述增量配置數據緩存 模塊32。具體實施時,所述主用區30包括
第一版本軟件模塊301。
此處,所述第一版本軟件模塊301中的第一版本軟件為本發明實施例中需 要被升級的舊版本軟件,在本發明實施例所述的軟件升級系統應用于網絡設備 時,所述第一版本軟件以應用進程形式運行于所述主用區30中,為網絡設備提
供相應的進程服務。
配置數據備份單元302,用于將所述第一版本軟件模塊中的第一版本軟件的 配置數據備份至所述備用區31。
此處,所述配置數據的備份過程與本發明軟件升級系統第一實施例中所描 述的配置數據備份過程是類似的,所不同之處在于,所述本發明軟件升級系統 第 一實施例中是將配置數據從主用板備份至備用板,而本實施例中則是在同一 主控板中的兩個不同區域間實現配置數據備份。
所述增量配置數據緩存^^莫塊32,用于緩存來自所述主用區的增量配置數據。 此處,具體實施時,與本發明軟件升級系統的第一實施例中所描述的備增量配 置數據緩存單元116相類似,所述增量配置數據緩存模塊32通過設置增量配置 數據緩存隊列來實現對數據的緩存控制。
所述備用區31,用于對自身加載進行軟件升級的第二版本軟件,并將來自 于所述主用區30的配置數據更新至所述第二版本軟件,以及用于從所述增量配 置數據緩存模塊32中讀取所述增量配置數據并將其更新至所述第二版本軟件, 并用于將所述主用板的進程服務切換至自身。具體實施時,所述備用區31主要 包括
升級軟件加載單元313,用于加載對備用區31進行軟件升級的第二版本軟件。
此處,第二版本軟件模塊313與本發明軟件升級系統第一實施例中描述的 第二版本軟件模塊112相同或類似,在此不再贅述。 第二版本軟件模塊312。
此處,第二版本軟件;漠塊312與本發明軟件升級系統第一實施例中描述的 第二版本軟件模塊112相同或類似,在此不再贅述。
配置數據更新單元314,用于將來自所述配置數據備份單元的配置數據更新 至所述第二軟件版本模塊。
此處、具體實施時,與本發明軟件升級系統第一實施例中描述的配置數據 更新單元214類似,所述配置數據更新單元314主要包括
配置數據格式轉換單元3142,用于將所述配置數據格式轉換為對應所述第 二版本軟件的配置數據。
此處,所述配置數據格式轉換單元2142與本發明軟件升級系統第一實施例
中描述的配置數據格式轉換單元1142相同或類似,在此不再贅述。
配置數據更新執行單元3141,用于將對應所述第二版本軟件的配置數據更 新至所述第二版本軟件模塊。
此處,所述配置數據更新執行單元2141與本發明軟件升級系統第一實施例 中描述的配置數據更新執行單元1141相同或類似,在此不再贅述。
增量配置數據更新單元315,用于從所述增量配置數據緩存模塊中讀取所述 增量配置數據,并將所讀取的所述增量配置數據更新至所述第二版本軟件才莫塊。
具體實施時,所述增量配置數據更新單元包括
增量配置數據讀取單元3153,用于從所述增量配置緩沖隊列中讀取所述增 量配置數據。
此處,具體實現時,所述增量配置數據讀取單元3153從所述增量配置數據 緩存模塊32中的增量配置緩沖隊列逐條讀取所述增量配置數據。
增量配置數據格式轉換單元3152,用于將所述增量配置數據讀取單元所讀 取的增量配置數據格式轉換為對應所述第二版本軟件的增量配置數據。
此處,所述增量配置數據格式轉換單元3152與本發明軟件升級系統第一實 施例中描述的增量配置數據格式轉換單元1152相同或類似,在此不再贅述。
增量配置數據更新執行單元1151,用于將對應所述第二版本的增量配置數 據更新至所述第二版本軟件模塊312。
此處,所述切換控制單元311 —般是在增量配置數據更新執行單元3151完 成了全部增量配置數據的更新也即所述增量配置數據緩存模塊32中各個增量配 置數據緩存隊列的長度為0 (即增量配置數據被全部讀取)時,將所述主用區 30的進程服務切換至所述備用區。
本實施例所描述的為在網絡設備的同 一主控板中實現進程服務不間斷的軟 件升級,為此網絡設備的主控板需為能支持多進程服務的系統,在升級切換成 功后,將注銷舊版本軟件進程(也即所述第一版本軟件進程)。
參考圖4,為本發明軟件升級方法的第一實施例流程示意圖。如圖所示,該 實施例實施過程如下
步驟s401,將用于升級的第二版本軟件加載到備用板。
此處,所述第二版本為用于軟件升級的升級^L件。
步驟s402,獲取所述主用板中當前運行的第一版本軟件的配置數據,并緩
存第 一版本軟件的增量配置數據。
此處,所述配置數據為軟件運行時的相關軟件配置,這些相應的軟件配置 是軟件正常運行并為網絡設備提供正常有效的進程服務的關鍵, 一般說來網絡 設備的軟件配置主要包括配置命令、動態配置和靜態配置等,其中,配置命令 主要涉及用戶對網絡設備進行一些命令操作而產生的命令配置數據,通常用戶 通過可以識別的命令行文本形式對網絡設備輸入配置命令,所輸入的配置命令 通過相應的命令解析器轉換為機器可以識別的配置數據,比如用戶輸入的一條
配置命令為ip address 10 .1.1.12 mask 255.255.0.0,該ip address配置命令通過命 令解析器轉換為ip地址表中的一條配置數據記錄,該配置數據記錄包含了物理 接口和ip地址兩個屬性。動態配置主要涉及系統中經常更新的一些配置信息, 比如鏈路的狀態、鏈路的通斷、可用帶寬等經常發生變化的配置信息。靜態配 置主要涉及系統運行時相對穩定的配置信息,比如系統中唯一標識某個物理接 口的ID信息,該信息配置一4殳由系統分配并在該物理接口存在期間一直有效。
所述增量配置數據為在軟件升級過程中變更的配置數據,在本實施例'中通 過在主用板中增加一主增量配置數據緩存,實現了將升級過程中變更的配置數 據進行緩存,所述增量配置數據也既變更的配置數據主要包括了軟件變動? 1起 的軟件配置變更和附屬硬件變化而導致的與附屬硬件相關的軟件配置, 一般說 來,附屬硬件變更主要包括以下三種情況
1、 附屬硬件的增加,比如由于網絡設備的擴容增加一個以太網物理接口, 由此可能帶來多條軟件配置變更,如鏈接速度、雙工和租界的IP地址等配置的 增力口;
2、 附屬硬—件的刪除,比如淘汰舊的物理端口,與該物理端口相應的軟件4欠 件配置也必須刪除;
3、 附屬硬件的更換,比如以太網物理接口更換為更大容量的光接口模塊, 這時配置變更將涉及原有以太網接口配置的刪除和光接口模塊配置的增加。
步驟s403,將所獲取的配置數據發送至所述備用板。
此處,-具體實施時, 一般通過IPC進程間通訊實現將所述配置數'據發送至
所述-備用板。
步驟s404,將所述配置數據格式轉換為對應所述第二版本軟件的配置數據。 此處,所述配置數據的格式轉換主要為對配置數據的結構進行增加、刪除
或》務改,例如
1、 配置命令格式的變化,不同版本軟件的編寫格式、風格可能會有差異或
不用,比如為了統一命令行的風格,新版本把命令xxx disable命令(關閉xxx 功能)修改為undo xxx enable,此時在配置數據格式轉換時必須將舊版本的配置 數據轉換為新版本可以識別的格式,如將xxx disable命令(關閉xxx功能)修 改為undo xxx enable 。
2、 默認值的變化,比如某協商報文的默認定時周期設計,舊版本軟件默認 為10秒,新版本軟件默認為5秒,此時配置數據格式轉換時,新版本應當按照 舊版本的默認配置調整為10秒。
步驟s405,根據所述對應于所述第二版本軟件的配置數據更新所述第二版 本的配置數據。
步驟s406,將所述緩存在主用板中的當前運行的第一版本軟件增量配置數 據發送至所述備用板。
此處,.具體實施時, 一般通過IPC進程間通訊實現將所述增量S乙置數據發 送至所述備用板。
步驟s407,備用板將來自于主用板的增量配置數據緩存至增量配置數據緩 存隊列。
此處,具體實施時,通過設置增量配置數據緩存隊列來實現對數據的緩存 控制,根據實際需要,可以設置多個優先級不同的數據緩存隊列,比如,劃分 為高優先級隊列、基本優先級隊列和低優先級隊列。優先級別主要根據軟件配 置的依賴關系來確定,比如物理接口的鏈路協議(如PPP協議)配置應當優先 于網絡(如IP地址)的配置,所以物理接口的鏈路配置放在高優先級隊列,網 絡配置放在基本優先級隊列。再比如訪問控制列表(ACL)應當優先于使用訪 問控制列表的協議(比如telnet協議)配置,可以把訪問控制列表配置力丈在基本 優先級隊列,使用訪問控制列表的協議放在低優先級隊列。備用板按照優先順 序,首先恢復高優先級隊列的配置,再恢復基本優先級隊列的配置,最后恢復 低優先級隊列的配置。為了便于增量配置數據的緩存控制,數據緩存隊列逐條 存入所述增量配置,每存入一條增量配置,數據緩存隊列的中的隊列長度增1。
步驟s408,從增量配置緩存隊列中讀取增量配置數據并將其格式轉換為對
應第二版本軟件的增量配置數據。
此處,增量配置數據格式轉換的原理和過程與前述配置數據格式轉換是類 似的,在此不再贅述。
步驟s409,將格式轉換后的增量配置數據更新至所述第二版本軟件。
步驟s410,將所述主用板的進程服務切換至備用板。
步驟s411,將所述備用板中的第二版本軟件以及其配置數據備份至主用板。
此處,該步驟s411是在備用板軟件升級成功后,用備用板中的升級軟件(也 即第二版本軟件)以及相應的配置數據更新原主用板中的軟件以及配置數據, 從而實現網絡設備的主用板和備用板均升級至更高版本軟件。
參考圖5,為本發明軟件升級方法的第二實施例流程示意圖。如圖所示,該 實施例實施過程如下
步驟s501,將用于升級的第二版本軟件加載到備用^1。
步驟s502,獲取所述主用板中當前運行的第一版本軟件的配置數據,并將 第 一版本軟件的增量配置數據存儲于設備'外的存儲介質中。
此處,具體實施時, 一般是將所述增量配置數據以網絡傳送方式發送至網 絡管理系統中的網絡管理機中的存儲介質中。
步驟s503,將所獲取的配置數據發送至所述備用板。
此處,具體實施時, 一般通過IPC進程間通訊實現將所述配置數據發送至 所述備用才反。
步驟s504,將所述配置數據格式轉換為對應所述第二版本軟件的配置數據。 此處,所述步驟s504與步驟s404類似,在此不再追述。 步驟s505,根據所述對應于所述第二版本軟件的配置數據更新所述第二版 本的配置數據。
步驟s506,將所述存儲于設備外的增量配置數據格式轉換為對應備用板中 所述第二版本軟件的增量配置凄丈據。
此處,對所述增量配置數據格式轉換的含義與前文相應描述是類似的,所 不同之處在于,可通過相應的外部工具或手動進行增量配置數據的格式轉換和 驗'證,通過將增量配置數據發送至獨立于主用板以及備用板的外圍設備,可以 降低網絡設備軟件配置轉換的復雜度。由于外圍設備實現增量配置數據格式轉
時,應當預先確知升級時可能會修改哪些軟件配置也即可能會變動那些附屬硬 件。本實施例的設備外的存儲介質可部署在網絡系統中的本地網絡管理機中, 其與網絡設備的主用板以及備用板之間文件的網絡傳送方式進行通信,由于增 量配置數據的格式轉換獨立于網絡設備,因此其不僅可用于實現在同 一 網絡設 備的主用板和備用板之間實現軟件升級,還可用于實現同時對多個類似功能的 網絡設備的備用板的軟件升級。
步驟s507,將所述增量配置數據發送至所述備用板。
步驟s508,將所接收到的增量配置數據更新至所述第二版本軟件。
步驟s509,將所述備用板中的第二版本軟件以及其配置數據備份至主用板。
參考圖6,為本發明軟件升級方法的第三實施例流程示意圖。本實施例是在
同一單板上實現軟件升級,為此為了實現軟件升級,需在單板上與存儲原版本
軟件以及相應的配置的存儲區之外的區域定義用于加載相應升級軟件的備用
區,如圖所示,該實施例實施過程如下
步驟s601 ,將用于升級的第二版'本軟件加載到備用區。
步驟s602,獲取所述主用區中當前運行的第一版本軟件的配置數據,并將
第一版本軟件的增量配置數據緩存至增量配置數據緩存隊列。
此處,所述增量配置數據緩存隊列的緩存控制原理以及實現機制與步驟 s407中所描述的是類似的,在此不再贅述。
步驟s603,將所獲取的配置數據發送至所述備用區。
步驟s604,將所述配置數據格式轉換為對應所述第二版本軟件的配置數據。 此處,所述步驟s604與步驟s404類似,在此不再追述。 步驟s605,根據所述對應于所述第二版本軟件的配置數據更新所述第二版 本的配置數據。
步驟s606,從增量配置緩存隊列中讀取增量配置數據并將其格式轉換為對 應第二版本軟件的增量配置數據。
此處,增量配置數據格式轉換的原理和過程與前述配置數據格式轉換是類 似的,在此不再贅述。
步驟s607,將格式轉換后的增量配置數據更新至所述第二版本軟件。
步驟s608,將所述主用區的進程服務切換至備用區。
以上所述僅是本發明的優選實施方式,應當指出,對于本技術領域的普通
技術人員來說,在不脫離本發明原理的前提下,還可以作出若干改進和潤飾, 這些改進和潤飾也應^L為本發明的保護范圍。
權利要求
1、一種設備的軟件升級方法,其特征在于,所述設備包含主用板和備用板,所述方法包括以下步驟將升級軟件加載到所述備用板;將所述主用板中當前運行的軟件的配置數據備份至所述備用板,并緩存所述主用板中當前運行的軟件的增量配置數據;將所述緩存的所述主用板中當前運行的軟件的增量配置數據同步更新至所述備用板;將所述主用板的進程服務切換至所述備用板。
2、 如權利要求l所述的方法,其特征在于,所述將所述主用板中當前運行 的軟件的配置數據備份至所述備用板的步驟具體為獲取所述主用板中當前運行的軟件的配置數據; 將所述獲取的配置數據發送至所述備用板;將所述配置數據格式轉換為對庫所述備用板中所述升級軟件版本的配置數據;根據轉換后的配置數據更新所述升級軟件的配置數據。
3、 如權利要求2所述的方法,其特征在于,將所述緩存的所述主用板中當 前運行的軟件的增量配置數據同步更新至所述備用板的步驟具體為在所述備用板中設置至少一個增量配置數據緩沖隊列; 將所述緩存的所述主用板中當前運行的軟件的增量配置數據發送至所述備 用板;所述備用板接收所述增量配置數據并將所接收到的所述增量配置數據緩存 至所述增量配置數據緩沖隊列;讀取所述增量配置數據緩沖隊列中的增量配置數據并將其格式轉換為對應 于所述備用板中所述升級軟件版本的增量配置數據;升級軟件的配置數據。
4、 如權利要求3所述的方法,其特征在于,所述緩存所述主用板中當前運行的軟件的增量配置數據,將所述緩存的所述主用板中當前運行的軟件的增量配置數據同步更新至所述備用板的步驟包括以下子步驟將所述主用板中當前運行的軟件的增量配置數據存儲于設備外的存儲介質中;將所述存儲于設備外的存儲介質中的所述增量配置數據格式轉換為對應于所述備用板中所述升級軟件版本的增量配置數據; 備用板。
5、 如權利要求1至4任意一項所述的方法,其特征在于,所述增量配置數 據包括軟件配置變動引起的增量配置數據或附屬硬件變動引起的增量配置數 據。
6、 一種設備的軟件升級方法,其特征在于,所述設備包含主用區和備用區, 所述方法包括以下步驟將升級軟件加載到所述備用區;將所述主用區中當前運行的軟件的配置數據備份至所述備用區,并緩存所 述主用區中當前運行的軟件的增量配置數據;將所述緩存的所述主用區中當前運行的軟件的增量配置數據同步更新至所 述備用區;將主用區的進程服務切換至所述備用區。
7、 如權利要求6所述的方法,其特征在于,將所述主用區中當前運行的軟 件的配置數據備份至所述備用區的步驟包括以下子步驟獲取所述主用區中當前運行的軟件的配置數據; 將所述獲取的配置數據發送至所述備用區;將所述配置數據格式轉'換為對應所述備用區中所述升級軟件版本的配置數據;根據所述對應所述備用區中所述升級軟件版本的配置數據更新所述升級軟件的配置數據。
8、 如權利要求7所述的方法,其特征在于,設置至少一個增量配置數據緩 沖隊列,所述緩存所述主用區中當前運行的軟件的增量配置數據的步驟為將所述主用區中當前運行的軟件的增量配置數據緩存至所述增量配置數據 緩沖隊列。
9、 如權利要求8所述的方法,其特征在于,所述將所述緩存的所述主用區 中當前運行的軟件的增量配置數據同步更新至所述備用區的步驟包括以下子步 驟讀取所述增量配置緩沖隊列中的所述增量配置數據并將其格式轉換為對應 于所述備用區中所述升級軟件版本的增量配置數據;根據所述對應于所述備用區中所述升級軟件版本的增量配置數據更新所述 升級軟件的配置數據。
10、 一種軟件升級系統,其特征在于,所述系統包含主用板、備用板,其中所述主用板,用于將自身運行的第一版本軟件的配置數據備份至所述備用 板,并對所述第一版本軟件的增量配置數據進行緩存,并用于將所緩存的增量 配置數據發送至所述備用板;所述備用板,用于對自身加載進行軟件升級的第二版本軟件,并將來自于 所述主用板的配置數據更新至所述第二版本軟件,以及用于將來自于所述主用 板的所述增量配置數據更新至所述第二版本軟件,并將所述主用板的進程服務 切換至所自身。
11、 如權利要求IO所述的系統,其特征在于,所述主用板包括 第一版本軟件模塊;配置數據備份單元用于將所述第 一版本軟件模塊中的第 一版本軟件的配 置數據備份至所述備用板;主增量配置數據緩存單元,用于將對應所述第一版本軟件模塊中第一版本軟件的增量配置數據進行緩存;增量配置數據發送單元,用于將緩存于所述主增量配置數據緩存單元的增 量配置數據發送至所述備用板。
12、 如權利要求11所述的系統,其特征在于,所述備用板包括 升級軟件加載模塊,用于加載對備用板進行軟件升級的第二版本軟件; 第二版本軟件模塊;配置數據更新單元,用于將來自所述配置數據備份單元的配置數據更新至 所述第二軟件版本模塊;備增量配置數據緩存單元,用于接收來自所述增量配置數據發送單元的增 量配置數據,并緩存所接收到的增量配置數據;增量配置數據更新單元,用于從所述備增量緩存單元讀取所述增量配置數 據,并將所讀取的所述增量配置數據更新至所述第二版本軟件沖莫塊;切換控制單元,用于將所述主用板的進程服務切換至所述備用板。
13、 如權利要求12所述的系統,其特征在于,所述配置數據更新單元包括 配置數據格式轉換單元,用于將所述配置數據格式轉換為對應所述第二版本軟件的配置數據;配置數據更新執行單元,用于將對應所述第二版本軟件的配置數據更新至 所述第二版本軟件模塊。
14、 如權利要求13所述的系統,其特征在于,所述備增量配置數據緩存單 元包括至少一個用于緩存增量配置數據的增量配置數據緩沖隊列;所述增量配置數據更新單元包括增量配置數據讀取單元,用于從所述增量配置緩沖隊列中讀取所述增量配 置數據;增量配置數據格式轉換單元,用于將所述增量配置數據讀取單元所讀取的 增量配置數據格式轉換為對應所述第二版本軟件的增量配置數據;增量配置數據更新執行單元,用于將對應所述第二版本的增量配置數據更 新至所述第二版本軟件模塊。
15、 一種軟件升級系統,其特征在于,所述軟件升級系統包括主用板、備 用板、以及增量配置數據緩存裝置,其中所述主用板,用于將自身運行的第一版本軟件的配置數據備份至所述備用 板并將所述第一版本軟件的增量配置數據發送至所述增量配置數據緩存裝置;所述增量配置數據緩存裝置,用于將來自于所述主用板的所述增量配置數 據進行緩存;所述備用板,用于對自身加載進行軟件升級的第二版本軟件,并將來自于 所述主用板的配置數據更新至所述第二版本軟件,以及用于從所述增量配置數 據緩存裝置中獲取所述增量配置數據,并將所獲取的所述增量配置數據更新至 所述第二版本軟件,并用于將所述主用板的進程服務切換至所自身。
16、如權利要求15所述的系統,其特征在于,所述主用板包括 第一版本軟件模塊;配置數據備份單元,用于將所述第一版本軟件模塊中的第一版本軟件的配 置數據備份至所述備用板;增量配置數據發送單元,用于將對應所述第一版本軟件的增量配置數據發 送至所述增量配置緩存裝置。
17、如權利要求16所述的系統,其特征在于,所述增量配置數據緩存裝 置包括增量配置數據緩存單元,用于將來自于所述主用板的所述增量配置數據進 行緩存;增量配置數據格式轉換單元,用于將所述增量配置數據格式轉換為對應所 述備用板中所述第二版本軟件的增量配置數據;
18、如權利要求17所述的系統,其特征在于,所述備用板包括 升級軟件加載模塊,用于加載對備用板進行軟件升級的第二版本軟件;-第二版本軟件模塊;配置數據更新單元,用于將來自所述配置數據備份單元的配置數據更新至 所述第二軟件版本才莫塊;增量配置凄t據更新單元,用于從所述增量配置數據緩存裝置獲取所述對應 于所述第二軟件版本的增量配置數據,并將所獲取的對應于所述第二軟件版本的所述增量配置數據更新至所述第二版本軟件才莫塊;切換控制單元,用于將所述主用板的進程服務切換至所述備用板。
19、 如權利要求18所述的系統,其特征在于,所述配置數據更新單元包括 配置數據格式轉換單元,用于將所述配置數據格式轉換為對應所述第二版本軟件的配置數據;配置數據更新執行單元,用于將對應所述第二版本軟件的配置數據更新至 所述第二版本軟件模塊。
20、 一種軟件升級系統,其特征在于,所述系統包括主用區、備用區、以 及增量配置數據緩存模塊,其中所述主用區,用于將自身運行的第一版本軟件的配置數據備份至所l備用 區,并將所述第一版本軟件的增量配置數據緩存至所述增量配置數據緩存模塊; 所述增量配置數據緩存模塊,用于緩存來自所述主用區的增量配置數據; 所述備用區,用于對自身加載進行軟件升級的第二版本軟件,并將來自于 所述主用區的配置數據更新至所述第二版本軟件,以及用于從所述增量配置數 據緩存模塊中讀取所述增量配置數據并將其更新至所述第二版本軟件,并用于 將所述主用板的進程服務切換至自身。
21、 如權利要求20所述的系統,其特征在于,所述主用區包括 第一版本軟件模塊;配置數據備份單元,用于將所述第 一版本軟件模塊中的第 一版本軟件的配 置數據備份至所述備用區。
22、 如權利要求21所述的系統,其特征在于,所述備用區包括 升級軟件加載;f莫塊,用于加載對備用區進行軟件升級的第二版本軟件;第二版本軟件模塊;配置數據更新單元,用于將來自所述配置數據備份單元的配置數據更新至所述第二軟件版本模塊;增量配置數據更新單元,用于從所述增量配置數據緩存^t塊中讀取所述增 量配置數據,并將所讀取的所述增量配置數據更新至所述第二版本軟件模塊;切換控制單元,用于將所述主用板的進程服務切換至所述備用板。
23、 如權利要求22所述的系統,其特征在于,所述配置數據更新單元包括 配置數據格式轉換單元,用于將所述配置數據格式轉換為對應所述第二版本軟件的配置數據;配置數據更新執行單元,用于將對應所述第二版本軟件的配置數據更新至 所述第二版本軟件模塊。
24、 如權利要求23所述的系統,其特征在于,所述增量配置數據緩存模塊 包括至少一個用于緩存增量配置數據的增量配'置數據緩沖隊列;所述增量配置數據更新單元包括增量配置數據讀取單元,用于從所述增量配置緩沖隊列中讀取所述增量配 置數據;增量配置數據格式轉換單元,用于將所述增量配置數據讀取單元所讀取的 增量配置數據格式轉換為對應所述第二版本軟件的增量配置數據;增量配置數據更新執行單元,用于將對應所述第二版本的增量配置數據更 新至所述第二版本軟件模塊。
全文摘要
本發明公開了一種軟件升級系統,主要包括主用板和備用板,其中所述主用板,用于將自身運行的第一版本軟件的配置數據備份至所述備用板,并對所述第一版本軟件的增量配置數據進行緩存,并用于將所緩存的增量配置數據發送至所述備用板;所述備用板,用于對自身加載進行軟件升級的第二版本軟件,并將來自于所述主用板的配置數據更新至所述第二版本軟件,以及用于將來自于所述主用板的所述增量配置數據更新至所述第二版本軟件,并將所述主用板的進程服務切換至所自身。同時本發明還公開了相應的軟件升級方法,通過本發明提供的軟件升級系統、方法,實現了可靠的業務服務不間斷軟件升級,提高了網絡設備升級過程的可靠性,降低了網絡設備升級風險。
文檔編號G06F9/445GK101102219SQ20071002946
公開日2008年1月9日 申請日期2007年7月30日 優先權日2007年7月30日
發明者安宏杰 申請人:華為技術有限公司