亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種可對多種同類軟件進行鏈式升級的通用方法及系統(tǒng)與流程

文檔序號:11949678閱讀:271來源:國知局
一種可對多種同類軟件進行鏈式升級的通用方法及系統(tǒng)與流程

本發(fā)明屬于通訊領域的軟件升級技術領域,尤其是涉及一種可對多種同類軟件進行鏈式升級的通用方法及系統(tǒng)。



背景技術:

軟件升級,是指軟件開發(fā)者在編寫軟件的時候,由于設計人員考慮不全面或程序功能不完善,在軟件發(fā)行后,通過對原程序的修改或加入新的功能后,以補丁的形式發(fā)布的方式。用戶把這些補丁更新,即升級完成。

在軟件開發(fā)行業(yè),軟件升級是非常常見和普遍的日常操作,隨著IT/互聯(lián)網領域的技術發(fā)展和成熟,軟件升級已經是非常司空見慣的了。目前普遍使用的軟件升級方式無外乎以下兩種:一種是,聯(lián)網自動更新,下載新版本的安裝包后自動卸載前一版本,然后安裝最新版本;另一種是,下載更新包后覆蓋安裝到最新版本。

無論哪種升級方式,都存在以下幾個問題:

1、缺乏用戶主導的升級管理器:現(xiàn)在大部分的軟件升級程序沒有做到類似管理器的程度,用戶希望打開這類程序的時候有可以供選擇的升級選項,而不是立馬進行升級。

2、重新安裝而非補丁升級:現(xiàn)在不少的應用都是通過重新安裝升級的,在升級過程之中用戶需要鏈接網絡下載最新版本的安裝包。而安裝包通常比較大,升級過程非常耗時,而且重新安裝新版本,用戶之前的數(shù)據(jù)很有可能會丟失。

3、軟件更新不能撤銷:現(xiàn)在很多軟件更新之后就是不能使用舊版本了,但是不能保證最新版本的軟件是適合用戶的。合理的軟件版本升級應當是可以供用戶撤銷更新,可回退的。

4、升級補丁種類繁多:假設有多個軟件產品,針對不同的產品進行升級就有各自的升級包,并且從某一個版本A升級到另一個版本B,就需要一個升級補丁,從版本A到版本C又需要一個升級補丁,依次類推。隨著軟件產品的不斷發(fā)布和演進,用戶已安裝的版本千差萬別,升級補丁也會變得非常多,對于開發(fā)人員來說,無疑是一種負擔。



技術實現(xiàn)要素:

有鑒于此,本發(fā)明旨在提出一種可對多種同類軟件進行鏈式升級的通用方法,以實現(xiàn)對同類軟件版本的升級,可屏蔽各個軟件自身的差異,以通用的操作步驟完成軟件升級。用戶可以自己選擇升級的版本,并且允許用戶撤銷回退到原始版本。同時,支持一種“鏈式升級”的方式,便于版本演進。

為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的:

一種可對多種同類軟件進行鏈式升級的通用方法,包含如下內容:

根據(jù)用戶現(xiàn)場的軟件環(huán)境和新版本進行對比分析,生成軟件升級補丁包;

解析存在的各個升級補丁包,形成若干從低版本到可升級版本的若干版本升級鏈;

獲取當前軟件版本信息,并判斷當前軟件版本可以升級的版本列表,并將可升級到的不同版本呈現(xiàn)給用戶進行選擇;

根據(jù)用戶的選擇,從若干版本升級鏈中查找到一條可升級到用戶所選擇版本的版本升級鏈;

根據(jù)所選擇的版本升級鏈的升級順序,分步逐個補丁的進行升級,解析每個補丁中的升級腳本命令,執(zhí)行升級操作。

進一步的,升級過程開始時,首先備份當前軟件版本,并將備份記錄到備份映像列表內;升級后,若用戶需要還原到原來的版本,首先獲取程序中存在的備份映像列表,從備份映像列表中選擇需要還原的版本進行還原。

進一步的,不同的軟件的升級過程中的差異通過命令腳本的方式由開發(fā)人員進行定制,升級過程中要先解析命令腳本,定制化不同的軟件升級過程。

相對于現(xiàn)有技術,本發(fā)明所述的方法具有以下優(yōu)勢:

第一,本發(fā)明提供了一種通用的軟件升級模版,軟件開發(fā)人員可以忽略軟件升級的具體操作步驟,而只需要將關注點放在升級補丁的制作上。

第二,本發(fā)明提供直觀的操作界面,方便非專業(yè)人員進行操作,并且操作完全由用戶主導,版本間的切換由用戶控制。

第三,本發(fā)明采用升級補丁的方式進行增量升級,而不是卸載之后重新安裝,既加快了升級的速度,又保留了用戶的數(shù)據(jù)。

第四,本發(fā)明提出一種“鏈式升級”的概念,使版本升級可以多樣化演進。

第五,本發(fā)明實現(xiàn)了版本的還原功能,使用戶可以選擇繼續(xù)使用原始版本或者任意備份過的版本。

本發(fā)明的另一目的在于提出一種可對多種同類軟件進行鏈式升級的通用系統(tǒng)。

為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的:

一種可對多種同類軟件進行鏈式升級的通用系統(tǒng),包括:

升級補丁制作模塊,根據(jù)已安裝版本和新版本的差異自動化生成升級補??;

版本升級模塊,用于執(zhí)行版本的升級操作;

版本還原模塊,用于執(zhí)行版本回退操作;

所述版本升級模塊包括:

補丁解析子模塊,用于解析各個存在的升級補丁,形成從各個低版本到高版本的版本升級鏈,顯示可供用戶升級的不同版本;

命令解釋子模塊,解析開發(fā)人員對于不同軟件的升級過程中的差異進行定制的命令腳本;

備份管理子模塊,升級過程中用于備份用戶原始的軟件版本和運行環(huán)境,且用于管理軟件升級系統(tǒng)備份過的用戶版本,還原過程中提供用戶選擇還原任意備份過的版本;

數(shù)據(jù)庫操作子模塊,用于對需要數(shù)據(jù)庫備份的軟件系統(tǒng)升級時執(zhí)行數(shù)據(jù)庫備份、數(shù)據(jù)庫升級腳本執(zhí)行操作;用于在版本還原時執(zhí)行數(shù)據(jù)庫的還原操作;

文件操作子模塊,用于版本升級過程中,一系列文件的新增、覆蓋和刪除操作;還用于版本還原過程中執(zhí)行將升級后的版本刪除,然后還原原始的版本文件的操作;

系統(tǒng)環(huán)境操作子模塊,用于收集用戶當前軟件系統(tǒng)運行環(huán)境以及升級完成后更新系統(tǒng)運行環(huán)境;版本還原過程中用于還原用戶軟件版本當時的系統(tǒng)運行環(huán)境;

日志管理子模塊,用于記錄軟件升級過程中的每一步的操作,還用于記錄還原過程中的操作步驟等關鍵信息;

所述版本還原模塊復用備份管理子模塊、數(shù)據(jù)庫操作子模塊、文件操作子模塊、系統(tǒng)環(huán)境操作子模塊和日志管理子模塊。

所述系統(tǒng)與上述方法相對于現(xiàn)有技術所具有的優(yōu)勢相同,在此不再贅述。

附圖說明

構成本發(fā)明的一部分的附圖用來提供對本發(fā)明的進一步理解,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:

圖1是本發(fā)明系統(tǒng)的結構示意圖;

圖2是本發(fā)明版本升級鏈的形成示意圖;

圖3是本發(fā)明版本升級模塊的處理流程圖;

圖4是本發(fā)明版本還原模塊的處理流程圖。

具體實施方式

需要說明的是,在不沖突的情況下,本發(fā)明中的實施例及實施例中的特征可以相互組合。

下面將參考附圖并結合實施例來詳細說明本發(fā)明。

一種可對多種同類軟件進行鏈式升級的通用方法,包含如下內容:

軟件開發(fā)人員根據(jù)用戶現(xiàn)場的軟件環(huán)境和新版本進行對比分析,生成軟件升級補丁包,既方便了軟件開發(fā)人員,又保留了用戶個性化數(shù)據(jù);

解析存在的各個升級補丁包,形成若干從低版本到可升級版本的若干版本升級鏈;

具體的,版本升級鏈的形成過程為:首先,將每一個升級補丁解析為一個從第低版本到第高版本的一節(jié)鏈式結構,之后,將新發(fā)布的與已有的鏈式結構的兩端的版本相關的升級補丁,按照從低到高的順序拼接到此鏈式結構上,且將新發(fā)布的升級補丁本身解析為一個新的鏈式結構,最終形成若干版本升級鏈;

獲取當前軟件版本的系統(tǒng)運行環(huán)境,獲取一系列特征信息,諸如版本號、安裝路徑等相關信息;并判斷當前軟件版本可以升級的版本列表,并將可升級到的不同版本呈現(xiàn)給用戶進行選擇;

根據(jù)用戶的選擇,從若干版本升級鏈中查找到一條可升級到用戶所選擇版本的版本升級鏈;

根據(jù)所選擇的版本升級鏈的升級順序,分步逐個補丁的進行升級,解析每個補丁中的升級腳本命令,執(zhí)行升級操作。

本發(fā)明升級過程開始時,首先備份原有的當前軟件版本和系統(tǒng)環(huán)境,并將備份記錄到備份映像列表內;升級后,若用戶需要還原到原來的版本,首先獲取程序中存在的備份映像列表,從備份映像列表中選擇需要還原的版本進行還原。

執(zhí)行每個補丁的升級命令時,判斷該補丁升級是否需要升級數(shù)據(jù)庫,如果是則要備份原始數(shù)據(jù)庫,按照升級腳本命令執(zhí)行數(shù)據(jù)庫升級腳本。

執(zhí)行每個補丁的升級命令時,判斷該補丁升級是否需要進行文件替換,如果是進行升級補丁的文件新增、覆蓋和刪除。

升級過程中,記錄軟件升級過程中的每一步的操作到日志文件。

不同的軟件的升級過程中的差異通過命令腳本的方式由開發(fā)人員進行定制,升級過程中要先解析這些命令腳本,定制化不同的軟件升級過程。

如圖2所示,分為兩列,左邊代表升級補丁,右邊代表當前形成的版本升級鏈,為本發(fā)明提到的“版本升級鏈”的一個實施例的形成示意圖,在解析軟件開發(fā)人員提供的補丁時,形成了若干“版本升級鏈”:

首先:將每一個升級補丁解析為一個鏈式結構,如第一個升級補丁是從版本V2.00.00升級到V3.00.00,即用一個頭為V2.00.00尾為V3.00.00的鏈表示。

之后:解析下一個補丁,即V3.00.00升級到V3.50.00,通過拼接,發(fā)現(xiàn)V2.00.00可由V3.00.00繼續(xù)升級到V3.50.00。

繼而:如果開發(fā)人員又發(fā)布一個新補丁,可從V3.00.00升級到V3.60.00,繼續(xù)拼接版本升級鏈如圖2所示。

最后:對于過于陳舊的版本,假設為V1.00.00,開發(fā)人員又發(fā)布了一個升級補丁,經過解析,目前已形成了6條升級鏈。如果用戶當前的軟件版本為V1.00.00,他可選擇升級到V3.00.00、V3.50.00和V3.60.00;如果用戶當前的軟件版本為V2.00.00,他可選擇升級到V3.00.00、V3.50.00和V3.60.00;如果用戶當前的軟件版本為V3.00.00,他可選擇升級到V3.50.00和V3.60.00。

圖2只是示意性的說明了本申請?zhí)岬降摹鞍姹旧夋湣钡母拍睿瑢嶋H上,隨著軟件版本的演進、版本分支指數(shù)增長,用戶自身的版本會千差萬別,傳統(tǒng)的升級補丁會呈現(xiàn)爆炸式增長。通過本發(fā)明提出的“版本升級鏈”的概念,軟件開發(fā)人員只需根據(jù)自身軟件的典型性版本制作升級補丁,而不用過多的考慮各種用戶當前是何種版本。同時,用戶可以選擇自身需要的版本進行升級。

一種可對多種同類軟件進行鏈式升級的通用系統(tǒng),包括

升級補丁制作模塊101,用于提供界面,方便地對比用戶已安裝版本和新發(fā)布版本的差異,自動化生成升級補丁;

版本升級模塊102,用于執(zhí)行版本的升級操作;

版本還原模塊103,用于執(zhí)行版本回退操作。

所述版本升級模塊102包括:

補丁解析子模塊104,用于解析各個存在的升級補丁,形成從各個低版本到高版本的版本升級鏈,顯示可供用戶升級的不同版本。

命令解釋子模塊105,本系統(tǒng)作為通用的軟件升級系統(tǒng),不同的軟件的升級過程中的差異通過命令腳本的方式由開發(fā)人員進行定制,本子模塊的功能就是解析這些命令腳本,定制化不同的軟件升級過程。

備份管理子模塊106,用于備份用戶原始的軟件版本和運行環(huán)境,該模塊可被版本還原模塊103復用,下面再進一步說明。

數(shù)據(jù)庫操作子模塊107,用于對需要數(shù)據(jù)庫備份的軟件系統(tǒng)升級時執(zhí)行數(shù)據(jù)庫備份、數(shù)據(jù)庫升級腳本執(zhí)行等操作。該模塊可被版本還原模塊103復用,下面再進一步說明。

文件操作子模塊108,用于版本升級過程中,一系列文件的新增、覆蓋和刪除操作。該模塊可被版本還原模塊103復用,下面再進一步說明。

系統(tǒng)環(huán)境操作子模塊109,用于收集用戶當前軟件系統(tǒng)運行環(huán)境以及升級完成后更新系統(tǒng)運行環(huán)境。該模塊可被版本還原模塊103復用,下面再進一步說明。

日志管理子模塊110,用于記錄軟件升級過程中的每一步的操作,可在出問題時進行分析。該模塊可被版本還原模塊103復用。

版本還原模塊103包括:

備份管理子模塊106,用于管理軟件升級系統(tǒng)備份過的用戶版本,提供用戶選擇還原任意備份過的版本。

數(shù)據(jù)庫操作子模塊107,用于在版本還原時執(zhí)行數(shù)據(jù)庫的還原操作。

文件操作子模塊108,用于執(zhí)行將升級后的版本刪除,然后還原原始的版本文件的操作。

系統(tǒng)環(huán)境操作子模塊109,用于還原用戶軟件版本當時的系統(tǒng)運行環(huán)境。

日志管理子模塊110,用于記錄還原過程中的操作步驟等關鍵信息。

如圖3所示,本發(fā)明版本升級模塊102的業(yè)務邏輯流程如下:

步驟1:開始版本升級時,解析存在的若干升級補丁包,組織成若干“版本升級鏈”備用。

步驟2:獲取當前軟件版本的系統(tǒng)運行環(huán)境,獲取一系列特征信息,諸如版本號、安裝路徑等相關信息。

步驟3:根據(jù)步驟1和步驟2獲取的信息,判斷當前軟件版本可以升級的版本列表。

步驟4:判斷是否有可供升級的軟件版本,如果有執(zhí)行步驟5,否則流程結束。

步驟5:用戶從可升級的版本列表中選擇一個版本進行升級,程序從之前形成的“升級鏈”中選取一條可達的鏈。

步驟6:升級過程開始,程序首先備份原有軟件版本。

步驟7:從鏈中開始分步逐一補丁的進行升級,解析該升級補丁中的升級腳本命令,執(zhí)行定制化操作。

步驟8:判斷該補丁升級是否需要升級數(shù)據(jù)庫,如果是執(zhí)行步驟9,否則執(zhí)行步驟11。

步驟9:備份原始數(shù)據(jù)庫。

步驟10:按照升級腳本命令執(zhí)行數(shù)據(jù)庫升級腳本。

步驟11:判斷該補丁是否需要進行文件替換,如果是執(zhí)行步驟12,否則執(zhí)行步驟13。

步驟12:進行升級補丁的文件新增、覆蓋和刪除。

步驟13:判斷是否完成“升級鏈”的全部補丁升級,如果是執(zhí)行步驟14,否則執(zhí)行步驟7開始下個補丁的升級操作。

步驟14:更新軟件在系統(tǒng)中的運行環(huán)境,流程結束。

如圖4所示,本發(fā)明中版本還原模塊103的業(yè)務邏輯流程如下:

步驟1:首先獲取程序中存在的備份的映像列表。

步驟2:用戶從備份列表中選擇需要還原的版本進行還原。

步驟3:刪除系統(tǒng)當前的版本的所有文件。

步驟4:將用戶選擇還原的版本文件全部拷貝到安裝路徑中。

步驟5:判斷是否升級過數(shù)據(jù)庫,如果是則執(zhí)行步驟6,否則執(zhí)行步驟7。

步驟6:執(zhí)行數(shù)據(jù)庫還原操作。

步驟7:還原軟件在系統(tǒng)中的運行環(huán)境,流程結束。

綜上所述,本發(fā)明通過直觀的操作界面,方便非專業(yè)人員進行版本的升級和回退。通過用戶選擇升級到哪個版本,回退到哪個版本,將主導權還給軟件用戶。另一方面,本發(fā)明將軟件升級這一當前軟件行業(yè)日常的操作通過通用的模版程序提供給開發(fā)人員,各種具體軟件的開發(fā)人員在進行版本升級時只需關注升級補丁的制作,而忽略升級過程中的瑣碎操作,方便升級補丁的維護。

另外,本發(fā)明提出的“升級鏈”的逐層升級的創(chuàng)新概念,從一個升級補丁挖掘出版本升級的多樣性,避免了若干潛在的升級補丁的開發(fā)。

以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1