專利名稱:一種通信系統(tǒng)軟件版本的平滑升級方法
技術領域:
本發(fā)明涉及一種在通信系統(tǒng)中實現(xiàn)軟件版本平滑升級的方法,特別是涉及一種可以在不影響通信系統(tǒng)正常工作的情況下,對支撐其運行的軟件進行升級的升級方法。
背景技術:
在移動通信領域,一套完整的基站系統(tǒng)通常由成千上萬塊單板組成。要使這些單板正常工作,必須在硬件模塊上駐留相應的軟件程序映象即版本程序或軟件版本。隨著通信系統(tǒng)功能日益強大,軟件版本的大小也在逐漸擴張。但是,單板的存儲空間極其有限,而且成本高昂。為此,我們一方面盡量精簡版本大小以滿足存儲空間的限制,同時也在存儲介質中采用適當?shù)陌姹敬鎯Ψ绞健?br>
目前的數(shù)據(jù)存儲一般是文件系統(tǒng)方式或數(shù)據(jù)塊存儲方式。相對于常見的文件系統(tǒng)存儲方式,數(shù)據(jù)塊存儲方式可以大大減小軟件版本自身的大小,版本軟件以連續(xù)的方式存儲在存儲介質中,同時將塊起始地址及長度等信息以參數(shù)區(qū)的形式保留,供系統(tǒng)引導使用。數(shù)據(jù)塊存儲使軟件版本在功能上完全獨立于操作系統(tǒng),但是卻帶來了另外一個弊端由于軟件版本的存儲位置以參數(shù)形式寫入了參數(shù)區(qū),當出現(xiàn)軟件版本大小超過既定的塊長度時,即使原存儲介質上仍然有剩余空間或另新增加了物理存儲設備,軟件版本加載運行時也無法被系統(tǒng)所識別并使用。
發(fā)明內容
本發(fā)明所要解決的技術問題是提供一種通信系統(tǒng)軟件版本的平滑升級方法,解決在塊存儲方式下,通信系統(tǒng)升級過程中,硬件單板上的軟件版本存儲區(qū)有限而不能容納新版本的問題。
為達到上述目的,本發(fā)明提供了一種通信系統(tǒng)軟件版本的平滑升級方法,其特點在于,包括將硬件單板存儲區(qū)中的第一長度存儲塊中原來正常運行的原始版本保留到緩沖存儲器,將所述單板存儲區(qū)重新劃分為第二長度存儲塊,并將所述原始版本和下載的新版本分別保存到兩個第二長度存儲塊中;所述第一長度存儲塊和所述第二長度存儲塊均為多個,并且所述第二長度大于所述第一長度。
上述的方法,其特點在于,進一步包括如下步驟步驟一,將所述第一長度存儲塊中的原始版本保留到緩沖存儲器;步驟二,刪除所述單板存儲區(qū)中第一長度存儲塊的劃分,按照所述第二長度劃分為多個第二長度存儲塊;步驟三,修改所述單板存儲區(qū)的參數(shù)區(qū)中的存儲塊劃分信息,將長度信息由第一長度改為第二長度;步驟四,將所述緩沖存儲器中保留的原始版本寫入一個第二長度存儲塊中,并修改所述參數(shù)區(qū)中的相應信息;步驟五,下載新版本,將所述新版本寫入另一個第二長度存儲塊中,并修改所述參數(shù)區(qū)中的相應信息;步驟六,進行所述新版本的激活、加載和運行。
上述的方法,其特點在于,在所述步驟一之前,還具有一個判斷是否可以進行升級的判斷步驟,包括根據(jù)所述參數(shù)區(qū)中的信息判斷所述單板存儲區(qū)是否有足夠的存儲空間進行升級,是則執(zhí)行步驟一,否則退出。
上述的方法,其特點在于,在所述步驟二中,還包括根據(jù)所述新版本的大小來確定所述第二長度的步驟。
上述的方法,其特點在于,在所述單板存儲區(qū)中,所述參數(shù)區(qū)位于存儲介質上的固定位置,可以是所述第一長度存儲塊或第二長度存儲塊之前或者尾部,用于保存所述原始版本和所述新版本的起始地址及長度的信息。
上述的方法,其特點在于,在所述步驟四中,所述相應信息包括所述原始版本所在的第二長度存儲塊的起始地址及長度。
上述的方法,其特點在于,在所述步驟五中,所述相應信息包括所述新版本所在的第二長度存儲塊的起始地址及長度。
上述的方法,其特點在于,所述參數(shù)區(qū)還保存有引導參數(shù),用于決定系統(tǒng)引導模塊具體啟動哪一個版本,所述系統(tǒng)引導模塊根據(jù)所述引導參數(shù)加載運行正確的版本軟件。
上述的方法,其特點在于,所述單板為通信系統(tǒng)中以塊存儲方式存儲版本的模塊。
本發(fā)明的技術效果在于本方法對于基站系統(tǒng)功能增強、軟件版本大小擴張時的系統(tǒng)升級過程有明顯效果,主要表現(xiàn)在1)能充分利用現(xiàn)有硬件資源,軟件版本大小在一定范圍內時都不需要增加額外的存儲設備,重新合理的劃分存儲空間,有效降低系統(tǒng)成本。
2)打破了存儲區(qū)或者文件系統(tǒng)版本軟件大小的限制,突破塊存儲方式限制。
3)在不影響通信系統(tǒng)的正常工作的前提下,高效穩(wěn)定地完成系統(tǒng)的升級。
4)降低維護費用,可以直接在操作維護中心實現(xiàn)遠程單板的平滑升級,不需要專人到現(xiàn)場進行更換硬件設備。本方法現(xiàn)應用于移動通信系統(tǒng),但其原理具有普遍性,略作修改可推廣到其它通信系統(tǒng)。
下面結合附圖進一步詳細說明本發(fā)明的具體實施例。
圖1是本發(fā)明平滑升級前后單板存儲區(qū)的示意圖;圖2是本發(fā)明方法的平滑升級流程圖。
具體實施例方式
本發(fā)明方法充分利用現(xiàn)有存儲器資源,靈活劃分存儲區(qū)域以適應新版本大小,以實現(xiàn)通信系統(tǒng)的平滑升級。本發(fā)明主要是解決在塊存儲方式下,通信系統(tǒng)升級過程中,硬件單板上的軟件版本存儲區(qū)有限而不能容納新版本的問題,不僅有利于節(jié)省硬件成本,還保證了通信系統(tǒng)升級過程的穩(wěn)定性和可靠性,保障了運營商的利益。
本發(fā)明方法主要涉及兩個版本存儲區(qū)長度的概念,本發(fā)明將升級前的版本存儲區(qū)長度稱之為長度A(第一長度),升級后的長度稱之為長度B(第二長度)。這些長度等參數(shù)信息以參數(shù)區(qū)的方式保留在存儲介質中某個固定的區(qū)域。為了不影響原來正常運行的版本,我們先將原來正常運行的版本進行保留。完成對存儲區(qū)重新劃分后,再將正常運行的長度A版本寫入長度B的新版本存儲區(qū)中。本發(fā)明平滑升級的過程如下一、保留原來正常運行的版本1)從長度A的版本存儲區(qū)(即第一長度存儲塊)中將原來正常運行的版本讀入緩沖存儲器(如內存)中保留。
二、版本存儲區(qū)的重新劃分及版本升級2)刪除原有長度A的版本存儲區(qū)劃分,重新按長度B進行劃分,形成多個長度B的版本存儲區(qū)(即第二長度存儲塊)。
3)修改參數(shù)區(qū)的存儲區(qū)劃分信息,主要是將長度A改為了長度B。
4)將內存中保留的長度A版本寫入其中一個版本存儲區(qū)中,并修改相應參數(shù)區(qū)信息。
5)下載新版本,將新下載的版本寫入其它任意一個版本存儲區(qū),修改相應參數(shù)區(qū)信息。
6)長度B新版本的激活、加載和運行。
目前本方法已在CDMA2000基站系統(tǒng)的操作維護子系統(tǒng)中得到應用。下面以基站系統(tǒng)BTS(Base Transceiver Station)下基帶數(shù)字子系統(tǒng)BDS(Baseband Digital Subsystem)中通信控制模塊CCM(CommunicationControl Module)為例詳細講解本方法。
由前臺(設備內)單板存儲區(qū)示意圖(圖1)我們可以看到,存儲區(qū)最前端有一小塊區(qū)域是用來保存軟件版本起始地址及長度等信息,我們稱之為系統(tǒng)參數(shù)區(qū)110、120。系統(tǒng)引導程序具體啟動哪一個版本由系統(tǒng)參數(shù)區(qū)110、120的參數(shù)決定,引導程序根據(jù)參數(shù)區(qū)中的參數(shù)加載正確的版本軟件到RAM(Random Access Memory)上運行。此外,從圖1中可以看出,升級后的B長度的存儲區(qū)121(即第二長度存儲塊)的長度要大于升級前的A長度的存儲區(qū)111(即第一長度存儲塊)。
為了保證前臺單板的正常運行,我們都在前臺單板上保留了兩個軟件版本,當某一個版本損壞或者其它原因不能正常運行時,可以馬上加載啟動另一個軟件版本。所以通信控制模塊CCM單板存儲區(qū)主要劃分了CCM軟件版本1、CCM軟件版本2、受控版本1、受控版本2和一個臨時版本(主要用來緩存)等五大塊,每一塊長度固定。
圖2是本發(fā)明方法的平滑升級流程圖,如圖,升級過程如下步驟201,后臺發(fā)起升級請求;步驟202,根據(jù)CCM參數(shù)區(qū)信息判斷是否可以進行升級,若沒有足夠的存儲空間進行升級,則退出。
步驟203,將CCM正在運行的版本保存到內存中,當前運行的版本可能是版本1也可能是版本2。
步驟204,增大每個版本存儲區(qū)的長度,重新劃分存儲區(qū),將劃分信息寫入CCM參數(shù)區(qū)。
步驟205,將內存中保留的版本寫入版本存儲區(qū)1(圖1中的存儲區(qū)121),并將本塊的起始長度等信息寫入系統(tǒng)參數(shù)區(qū)。
步驟206,下載新軟件版本,保留到版本存儲區(qū)2(圖1中的存儲區(qū)122),并將本塊的起始地址及長度等信息寫入系統(tǒng)參數(shù)區(qū)。
步驟207,激活存儲在存儲區(qū)2的新版本,并加載啟動。
在上述過程中,為增加系統(tǒng)的穩(wěn)定性和可靠性,我們將升級的新軟件版本存儲到擴大后的版本存儲區(qū)2(即圖1中的存儲區(qū)122)的位置處,而沒有覆蓋和破壞正在運行的軟件版本(即存儲在圖1中的存儲區(qū)121中的版本)。這樣,如果新的版本不能正常運行,系統(tǒng)仍然可以讀取舊的版本1作為工作版本,保證了系統(tǒng)升級出現(xiàn)異常時能夠自動回退到原來正常工作狀態(tài)的版本。
由上可知,本發(fā)明方法可以在不影響通信系統(tǒng)正常工作的情況下,對支撐其運行的軟件進行升級,該方法充分利用現(xiàn)有存儲器資源,靈活劃分存儲區(qū)域以適應新版本大小,實現(xiàn)了通信系統(tǒng)的平滑升級,不僅有利于節(jié)省硬件成本,還保證了通信系統(tǒng)升級過程的穩(wěn)定性和可靠性,保障了運營商的利益。
本方法現(xiàn)應用于移動通信系統(tǒng),但其原理具有普遍性,略作修改可推廣到其它通信系統(tǒng)。因此以上所述僅為本發(fā)明的較佳實施例,并非用來限定本發(fā)明的實施范圍;凡是依本發(fā)明所作的等效變化與修改,都被本發(fā)明的專利范圍所涵蓋。
權利要求
1.一種通信系統(tǒng)軟件版本的平滑升級方法,其特征在于,包括將硬件單板存儲區(qū)中的第一長度存儲塊中原來正常運行的原始版本保留到緩沖存儲器,將所述單板存儲區(qū)重新劃分為第二長度存儲塊,并將所述原始版本和下載的新版本分別保存到兩個第二長度存儲塊中;所述第一長度存儲塊和所述第二長度存儲塊均為多個,并且所述第二長度大于所述第一長度。
2.根據(jù)權利要求1所述的方法,其特征在于,進一步包括如下步驟步驟一,將所述第一長度存儲塊中的原始版本保留到緩沖存儲器;步驟二,刪除所述單板存儲區(qū)中第一長度存儲塊的劃分,按照所述第二長度劃分為多個第二長度存儲塊;步驟三,修改所述單板存儲區(qū)的參數(shù)區(qū)中的存儲塊劃分信息,將長度信息由第一長度改為第二長度;步驟四,將所述緩沖存儲器中保留的原始版本寫入任意一個第二長度存儲塊中,并修改所述參數(shù)區(qū)中的相應信息;步驟五,下載新版本,將所述新版本寫入另一個第二長度存儲塊中,并修改所述參數(shù)區(qū)中的相應信息;步驟六,進行所述新版本的激活、加載和運行。
3.根據(jù)權利要求2所述的方法,其特征在于,在所述步驟一之前,還具有一個判斷是否可以進行升級的判斷步驟,包括根據(jù)所述參數(shù)區(qū)中的信息判斷所述單板存儲區(qū)是否有足夠的存儲空間進行升級,是則執(zhí)行步驟一,否則退出。
4.根據(jù)權利要求2所述的方法,其特征在于,在所述步驟二中,還包括根據(jù)所述新版本的大小來確定所述第二長度的步驟。
5.根據(jù)權利要求2、3或4所述的方法,其特征在于,在所述單板存儲區(qū)中,所述參數(shù)區(qū)位于存儲介質上的固定位置,可以是所述第一長度存儲塊或第二長度存儲塊之前或者尾部,用于保存所述原始版本和所述新版本的起始地址及長度的信息。
6.根據(jù)權利要求5所述的方法,其特征在于,在所述步驟四中,所述相應信息包括所述原始版本所在的第二長度存儲塊的起始地址及長度。
7.根據(jù)權利要求5所述的方法,其特征在于,在所述步驟五中,所述相應信息包括所述新版本所在的第二長度存儲塊的起始地址及長度。
8.根據(jù)權利要求5所述的方法,其特征在于,所述參數(shù)區(qū)還保存有引導參數(shù),用于決定系統(tǒng)引導模塊具體啟動哪一個版本,所述系統(tǒng)引導模塊根據(jù)所述引導參數(shù)加載運行正確的版本軟件。
9.根據(jù)權利要求1所述的方法,其特征在于,所述單板為通信系統(tǒng)中的以塊存儲方式存儲版本的模塊。
全文摘要
本發(fā)明公開了一種通信系統(tǒng)軟件版本的平滑升級方法,包括將硬件單板存儲區(qū)中的第一長度存儲塊中原來正常運行的原始版本保留到緩沖存儲器,將所述單板存儲區(qū)重新劃分為第二長度存儲塊,并將所述原始版本和下載的新版本分別保存到兩個第二長度存儲塊中。本發(fā)明方法能充分利用現(xiàn)有硬件資源,重新合理的劃分存儲空間,軟件版本大小在一定范圍內時都不需要增加額外的存儲設備,有效降低了系統(tǒng)成本。本發(fā)明打破了存儲區(qū)或者文件系統(tǒng)版本軟件大小的限制,能在不影響通信系統(tǒng)的正常工作的前提下,高效穩(wěn)定地完成系統(tǒng)的升級。
文檔編號H04W24/00GK1980447SQ20051012631
公開日2007年6月13日 申請日期2005年12月6日 優(yōu)先權日2005年12月6日
發(fā)明者王源媛, 胡祥銀, 雷大力, 金鑫 申請人:中興通訊股份有限公司