專利名稱:用于選擇多版本軟件的方法和選擇設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及多版本軟件,尤其涉及在具有多個版本的軟件的系統(tǒng)中,用于選擇軟件版本的方法和選擇設(shè)備。
背景技術(shù):
對于計算機(jī)軟件而言,為了改正軟件中的某些錯誤、提高軟件的性能或者滿足用戶對軟件使用的需要,往往需要對軟件進(jìn)行修改和更新,從而形成新的軟件。通常將這種在原軟件基礎(chǔ)之上進(jìn)行修改形成的新軟件稱為原軟件的升級版本軟件或者高版本軟件,而將作為修改基礎(chǔ)的原軟件相對于高版本軟件稱為低版本軟件。根據(jù)每次修改所依據(jù)的軟件版本和修改的次數(shù),可以將軟件分為第一版軟件、第二版軟件等等。原軟件為第一版軟件,在第一版軟件基礎(chǔ)上第一次修改后的軟件為第二版軟件,在第二版軟件基礎(chǔ)上再次修改后的軟件為第三版軟件等等,依次類推。
由于常常在已安裝了低版本軟件的計算機(jī)系統(tǒng)中直接安裝新的高版本軟件,或者為保證系統(tǒng)的持續(xù)工作,將低版本軟件作為試運(yùn)行的高版本軟件的備用版本等原因,在一個計算機(jī)系統(tǒng)中,有時會出現(xiàn)多個版本的軟件共存的現(xiàn)象。如何對這些軟件進(jìn)行選擇從而開始適當(dāng)?shù)能浖\(yùn)行,是具有多版本軟件的計算機(jī)系統(tǒng)普遍存在的問題。
現(xiàn)有技術(shù)中,都是采用手工操作從多版本軟件中選擇適當(dāng)?shù)能浖姹?,即通過操作員手工啟動適當(dāng)版本的軟件進(jìn)行后續(xù)運(yùn)行。這種手工選擇軟件版本的方法和設(shè)備有以下兩個缺點首先,需要操作員對計算機(jī)系統(tǒng)進(jìn)行時實監(jiān)視,以便在軟件運(yùn)行故障時,手工啟動另一版本的軟件運(yùn)行;其次,手工啟動的特點使得該項任務(wù)難以進(jìn)行遠(yuǎn)程控制。
因此,需要一種不依賴于操作員的操作,就可以對多版本軟件進(jìn)行選擇的方法和選擇設(shè)備。
發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明提供了一種計算機(jī)系統(tǒng)中的選擇多版本軟件的方法,包括如下步驟判斷步驟,用于判斷前一次運(yùn)行的軟件版本是否成功運(yùn)行;選擇步驟,用于當(dāng)經(jīng)判斷前一次運(yùn)行的軟件版本成功運(yùn)行時,選擇前一次運(yùn)行的軟件版本作為此次運(yùn)行的當(dāng)前版本,當(dāng)經(jīng)判斷前一次運(yùn)行的軟件版本運(yùn)行失敗時,選擇更低的版本作為此次運(yùn)行的當(dāng)前版本;以及運(yùn)行監(jiān)視步驟,用于運(yùn)行軟件的所述當(dāng)前版本,并對其運(yùn)行情況進(jìn)行監(jiān)視,在當(dāng)前版本的軟件運(yùn)行成功時,關(guān)閉對軟件運(yùn)行情況的監(jiān)視,在當(dāng)前版本的軟件運(yùn)行失敗時,停止運(yùn)行所述當(dāng)前版本的軟件,并啟動一次新的軟件版本的選擇。
本發(fā)明還提供了一種計算機(jī)系統(tǒng)中的選擇多版本軟件的選擇設(shè)備,包括判斷處理裝置,用于從存儲裝置中讀取有關(guān)前一次運(yùn)行的軟件版本信息,判斷前一次運(yùn)行的軟件版本是否成功運(yùn)行,當(dāng)判斷處理裝置判斷前一次運(yùn)行的軟件版本成功運(yùn)行時,則從存儲裝置中讀取該軟件版本作為此次運(yùn)行的當(dāng)前版本,將其送入軟件運(yùn)行裝置運(yùn)行;存儲裝置,用于存儲多個版本的軟件及其軟件版本信息,軟件版本信息存儲各個版本的軟件對應(yīng)的前一次運(yùn)行的狀態(tài);以及軟件運(yùn)行裝置,用于運(yùn)行判斷處理裝置送入的當(dāng)前版本的軟件,并在當(dāng)前版本的軟件成功運(yùn)行時,將成功狀態(tài)信息存儲到存儲裝置中與該軟件版本對應(yīng)的軟件版本信息中;并且在當(dāng)前版本的軟件運(yùn)行失敗時,將失敗狀態(tài)信息存儲到存儲裝置中與該軟件版本對應(yīng)的軟件版本信息中,之后啟動判斷處理裝置開始軟件版本的另一次選擇。
根據(jù)本發(fā)明的多版本軟件自動選擇方法和設(shè)備無需手工操作即可實現(xiàn)多版本軟件的自動選擇。從而解決了現(xiàn)有技術(shù)中手工選擇軟件版本的缺陷,提高了系統(tǒng)的效率和可靠性。
通過以下結(jié)合附圖的說明及權(quán)利要求書的內(nèi)容,并且隨著對本發(fā)明的更全面了解,本發(fā)明的其他目的和效果將變得更加清楚和易于理解。
圖1是根據(jù)本發(fā)明的選擇多版本軟件的方法的示意圖;以及圖2是根據(jù)本發(fā)明的選擇多版本軟件的選擇設(shè)備的示意圖。
具體實施例方式
以下將根據(jù)附圖對本發(fā)明的優(yōu)選實施方式進(jìn)行詳細(xì)的說明,在附圖中,相同的標(biāo)號表示相同或相似的部件。
圖1是根據(jù)本發(fā)明的選擇多版本軟件的方法的示意圖。參見圖1,根據(jù)本發(fā)明的方法開始于步驟S101。在步驟S102中,判斷在非易失性存儲器中存儲的前一次運(yùn)行的軟件版本是否成功運(yùn)行。在本實施方式中,采用的非易失性存儲器例如為高密閃存卡、閃存芯片或者硬盤等,這些存儲器可以保證即使在斷電的情況下,也不會丟失存儲在其中的數(shù)據(jù)。
當(dāng)在步驟S102中經(jīng)判斷,前一次運(yùn)行的軟件版本運(yùn)行成功時,則圖1所示流程進(jìn)入步驟S103。在步驟S103中,選擇前一次的版本作為此次運(yùn)行的當(dāng)前版本。之后,流程進(jìn)入步驟S104。在步驟S104,啟動軟件運(yùn)行監(jiān)視程序。之后,在步驟S105,運(yùn)行選擇的當(dāng)前版本的軟件。并在步驟S106,判斷當(dāng)前版本的軟件運(yùn)行是否成功。當(dāng)經(jīng)判斷運(yùn)行成功時,圖1所示流程進(jìn)入步驟S107。在步驟S107,關(guān)閉軟件運(yùn)行監(jiān)視程序。然后,圖1所示流程結(jié)束于步驟S108。
當(dāng)在步驟S106,經(jīng)判斷當(dāng)前版本的軟件運(yùn)行不成功時,圖1所示流程進(jìn)入步驟S109。在步驟S109,停止當(dāng)前版本軟件的運(yùn)行,重新開始下一次軟件版本的選擇。此時,流程返回步驟S102,重新進(jìn)行步驟S102的判斷。
當(dāng)在步驟S102,經(jīng)判斷前一次運(yùn)行的軟件版本沒有成功運(yùn)行時,則圖1所示流程進(jìn)入步驟S110。在步驟S110,判斷是否存在比前一次運(yùn)行的軟件版本更低的版本。當(dāng)經(jīng)判斷存在更低版本時,圖1所示流程進(jìn)入步驟S111。在步驟S111,選擇前一次運(yùn)行的軟件版本的低一級版本作為此次運(yùn)行的當(dāng)前版本。之后,流程進(jìn)入步驟S104,并繼續(xù)執(zhí)行上述步驟S104及后續(xù)的運(yùn)行、監(jiān)視步驟。
當(dāng)在步驟S110,經(jīng)判斷不存在更低版本時,則圖1所示流程進(jìn)入步驟S112。在步驟S112,啟動診斷軟件,確定計算機(jī)系統(tǒng)是否正常。之后,流程結(jié)束于步驟S108。
由上述描述可知,通過本發(fā)明的方法可以完成計算機(jī)系統(tǒng)對多版本軟件的自動選擇,解決了現(xiàn)有技術(shù)中手工選擇軟件版本的缺陷,提高了系統(tǒng)的效率和可靠性。
本發(fā)明還提供了一種選擇多版本軟件的選擇設(shè)備。圖2是根據(jù)本發(fā)明的選擇多版本軟件的選擇設(shè)備200的示意圖。
如圖2所示,選擇設(shè)備200包括判斷處理裝置201、存儲裝置202以及軟件運(yùn)行裝置203。
判斷處理裝置201從存儲裝置202中讀取有關(guān)前一次運(yùn)行的軟件版本信息,判斷前一次運(yùn)行的軟件版本是否成功運(yùn)行。當(dāng)判斷處理裝置201判斷前一次運(yùn)行的軟件版本成功運(yùn)行時,則從存儲裝置202中讀取該軟件版本作為此次運(yùn)行的當(dāng)前版本,將其送入軟件運(yùn)行裝置203進(jìn)行運(yùn)行。當(dāng)軟件運(yùn)行裝置203中的軟件成功運(yùn)行時,軟件運(yùn)行裝置203將軟件版本成功運(yùn)行的信息送入存儲裝置202,由存儲裝置202將該版本運(yùn)行成功的標(biāo)識存儲在與該版本的軟件相對應(yīng)的軟件版本信息中。
當(dāng)軟件運(yùn)行裝置203運(yùn)行的軟件運(yùn)行失敗時,軟件運(yùn)行裝置203停止運(yùn)行該軟件版本,同時向存儲裝置202發(fā)送運(yùn)行失敗信號。由存儲裝置202將該版本運(yùn)行失敗的標(biāo)識存儲在與該版本的軟件相對應(yīng)的軟件版本信息中。之后,軟件運(yùn)行裝置203向判斷處理裝置201發(fā)送啟動另一次軟件版本選擇的信號,從而令軟件運(yùn)行裝置203開始一次新的版本選擇操作。
當(dāng)判斷處理裝置201從存儲裝置202中讀取的有關(guān)前一次運(yùn)行的軟件版本信息表明,前一次運(yùn)行的軟件版本運(yùn)行失敗時,則判斷處理裝置201從存儲裝置202中檢索是否存在比前一次運(yùn)行的軟件版本更低的版本。當(dāng)經(jīng)檢索不存在更低的軟件版本時,判斷處理裝置201啟動診斷程序?qū)φ麄€計算機(jī)系統(tǒng)進(jìn)行診斷。當(dāng)經(jīng)檢索存在更低的軟件版本時,判斷處理裝置201從存儲裝置202中讀取上一次運(yùn)行的軟件版本的低一級版本,將其作為此次運(yùn)行的當(dāng)前版本,送入軟件運(yùn)行裝置202進(jìn)行運(yùn)行,并由軟件運(yùn)行裝置203執(zhí)行上述類似的運(yùn)行、信息存儲等操作。
本發(fā)明中,存儲裝置202是例如為高密閃存卡、閃存芯片或者硬盤等非易失性存儲器。
根據(jù)本發(fā)明的選擇設(shè)備200實現(xiàn)了多版本軟件的自動選擇。
根據(jù)本發(fā)明的用于選擇多版本軟件的方法和選擇設(shè)備,尤其適用于一個計算機(jī)系統(tǒng)中同時共存多個版本的系統(tǒng)軟件的情況。利用本發(fā)明的用于選擇多版本軟件的方法和選擇設(shè)備,計算機(jī)系統(tǒng)可以在每次啟動系統(tǒng)時,自動選擇使用最適合的系統(tǒng)軟件,使得在高版本的軟件無法正常運(yùn)行時,可以自動地依次選擇較低版本的系統(tǒng)軟件重新啟動系統(tǒng),為系統(tǒng)的正常運(yùn)行和穩(wěn)定提供了一種可靠的方法和設(shè)備。
不脫離本發(fā)明的范圍和構(gòu)思,可以對本發(fā)明做出多種改變和變形。本發(fā)明不限于前述具體實施方式
。本發(fā)明的范圍由所附權(quán)利要求書限定。
權(quán)利要求
1.一種計算機(jī)系統(tǒng)中的選擇多版本軟件的方法,包括如下步驟判斷步驟,用于判斷前一次運(yùn)行的軟件版本是否成功運(yùn)行;選擇步驟,用于當(dāng)經(jīng)判斷前一次運(yùn)行的軟件版本成功運(yùn)行時,選擇前一次運(yùn)行的軟件版本作為此次運(yùn)行的當(dāng)前版本,當(dāng)經(jīng)判斷前一次運(yùn)行的軟件版本運(yùn)行失敗時,選擇更低的版本作為此次運(yùn)行的當(dāng)前版本;以及運(yùn)行監(jiān)視步驟,用于運(yùn)行軟件的所述當(dāng)前版本,并對其運(yùn)行情況進(jìn)行監(jiān)視,在當(dāng)前版本的軟件運(yùn)行成功時,關(guān)閉對軟件運(yùn)行情況的監(jiān)視,在當(dāng)前版本的軟件運(yùn)行失敗時,停止運(yùn)行所述當(dāng)前版本的軟件,并啟動一次新的軟件版本的選擇。
2.根據(jù)權(quán)利要求1所述的選擇多版本軟件的方法,其中所述選擇步驟包括判斷前一次軟件運(yùn)行情況步驟,用于判斷前一次運(yùn)行的軟件版本是否成功運(yùn)行;選擇前一版本步驟,用于當(dāng)經(jīng)判斷前一次運(yùn)行的軟件版本成功運(yùn)行時,選擇前一次運(yùn)行的軟件版本為當(dāng)前版本;判斷低版本步驟,用于當(dāng)經(jīng)判斷前一次運(yùn)行的軟件版本運(yùn)行失敗時,判斷計算機(jī)系統(tǒng)中是否存在更低版本的軟件;低版本處理步驟,用于當(dāng)經(jīng)判斷計算機(jī)系統(tǒng)中存在更低版本的軟件時,選擇前一次運(yùn)行的軟件版本的低一級版本作為此次運(yùn)行的當(dāng)前版本,當(dāng)經(jīng)判斷不存在更低版本的軟件時,運(yùn)行計算機(jī)系統(tǒng)中診斷版本的軟件。
3.根據(jù)權(quán)利要求1所述的選擇多版本軟件的方法,其中所述軟件為系統(tǒng)軟件。
4.根據(jù)權(quán)利要求3所述的選擇多版本軟件的方法,其中所述運(yùn)行監(jiān)視步驟中,在當(dāng)前版本的系統(tǒng)軟件運(yùn)行失敗時,停止運(yùn)行所述當(dāng)前版本的系統(tǒng)軟件,并重新啟動計算機(jī)系統(tǒng)開始新的系統(tǒng)軟件版本的選擇。
5.一種計算機(jī)系統(tǒng)中的選擇多版本軟件的選擇設(shè)備(200),包括判斷處理裝置(201),用于從存儲裝置(202)中讀取有關(guān)前一次運(yùn)行的軟件版本信息,判斷前一次運(yùn)行的軟件版本是否成功運(yùn)行,當(dāng)判斷處理裝置(201)判斷前一次運(yùn)行的軟件版本成功運(yùn)行時,則從存儲裝置(202)中讀取該軟件版本作為此次運(yùn)行的當(dāng)前版本,將其送入軟件運(yùn)行裝置(203)運(yùn)行;存儲裝置(202),用于存儲多個版本的軟件及其軟件版本信息,軟件版本信息存儲各個版本的軟件對應(yīng)的前一次運(yùn)行的狀態(tài);以及軟件運(yùn)行裝置(203),用于運(yùn)行判斷處理裝置(201)送入的當(dāng)前版本的軟件,并在當(dāng)前版本的軟件成功運(yùn)行時,將成功狀態(tài)信息存儲到存儲裝置(202)中與該軟件版本對應(yīng)的軟件版本信息中;并且在當(dāng)前版本的軟件運(yùn)行失敗時,將失敗狀態(tài)信息存儲到存儲裝置(202)中與該軟件版本對應(yīng)的軟件版本信息中,之后啟動判斷處理裝置(201)開始軟件版本的另一次選擇。
6.根據(jù)權(quán)利要求5所述的選擇多版本軟件的選擇設(shè)備(200),其中當(dāng)所述判斷處理裝置(201)判斷前一次運(yùn)行的軟件版本運(yùn)行失敗時,則從存儲裝置(202)中檢索是否存在比前一次運(yùn)行的軟件版本更低的版本,當(dāng)經(jīng)判斷存在更低的版本時,則從存儲裝置(202)中讀取前一次運(yùn)行的軟件版本的低一級版本作為此次運(yùn)行的當(dāng)前版本,將其送入軟件運(yùn)行裝置(203)運(yùn)行,當(dāng)經(jīng)判斷不存在更低的版本時,則從存儲裝置(202)中讀取診斷版本的軟件送入軟件運(yùn)行裝置(203)運(yùn)行。
7.根據(jù)權(quán)利要求6所述的選擇多版本軟件的選擇設(shè)備(200),其中所述軟件為系統(tǒng)軟件。
8.根據(jù)權(quán)利要求7所述的選擇多版本軟件的選擇設(shè)備(200),還包括監(jiān)視裝置(204),用于當(dāng)判斷處理裝置(201)從存儲裝置(202)中讀取當(dāng)前版本的系統(tǒng)軟件后,由判斷處理裝置(201)啟動,并在當(dāng)前版本的軟件運(yùn)行失敗后,用于重新啟動判斷處理裝置(201)開始系統(tǒng)軟件版本的另一次選擇。
9.根據(jù)權(quán)利要求5至8的任一項所述的選擇多版本軟件的選擇設(shè)備(200),所述存儲裝置(202)是高密閃存卡、閃存芯片或者硬盤等非易失性存儲器之一。
全文摘要
本發(fā)明公開了一種計算機(jī)系統(tǒng)中的選擇多版本軟件的方法,包括如下步驟判斷步驟,用于判斷前一次運(yùn)行的軟件版本是否成功運(yùn)行;選擇步驟,用于當(dāng)經(jīng)判斷前一次運(yùn)行的軟件版本成功運(yùn)行時,選擇前一次運(yùn)行的軟件版本作為此次運(yùn)行的當(dāng)前版本,當(dāng)經(jīng)判斷前一次運(yùn)行的軟件版本運(yùn)行失敗時,選擇更低的版本作為此次運(yùn)行的當(dāng)前版本;以及,運(yùn)行監(jiān)視步驟,用于運(yùn)行軟件的所述當(dāng)前版本,并對其運(yùn)行情況進(jìn)行監(jiān)視,在當(dāng)前版本的軟件運(yùn)行成功時,關(guān)閉對軟件運(yùn)行情況的監(jiān)視,在當(dāng)前版本的軟件運(yùn)行失敗時,停止運(yùn)行所述當(dāng)前版本的軟件,并啟動一次新的軟件版本的選擇。本發(fā)明還提供了一種選擇多版本軟件的選擇設(shè)備。根據(jù)本發(fā)明,可以完成對多版本軟件的自動選擇。
文檔編號G06F9/44GK1797327SQ20041009328
公開日2006年7月5日 申請日期2004年12月20日 優(yōu)先權(quán)日2004年12月20日
發(fā)明者王江, 謝偉, 吳冰, 楊衛(wèi)峰 申請人:上海貝爾阿爾卡特股份有限公司