一種應用程序的升級方法,包括如下步驟:對應用程序所在的操作系統進行克隆得到與所述操作系統相對應的虛擬環境;在所述虛擬環境中升級所述應用程序;將所述應用程序的訪問環境由所述操作系統切換為升級后的虛擬環境。上述應用程序的升級方法及裝置對應用程序所在的操作系統進行克隆,在不破壞操作系統環境的前提下通過與操作系統完全一樣的虛擬環境實現應用程序的升級,進而將應用程序的訪問環境由操作系統切換為升級后的虛擬環境,在升級的過程中操作系統并未發生任何變化,保留了升級之前的環境,即使升級過程中發生了錯誤也能夠回到升級之前操作系統的環境,提高了穩定性。
【技術實現步驟摘要】
應用程序的升級方法及裝置
本專利技術涉及計算機處理技術,特別是涉及一種應用程序的升級方法及裝置。
技術介紹
應用程序常常為了滿足各種各樣需求進行升級,傳統的升級方式大致包括了直接在本機中升級以及通過另一服務器進行升級后替換原有的服務器。對于直接在本機中升級的應用程序升級方式,在手動或者自動發起升級請求后將升級程序下載并安裝于本機中;若通過另一服務器進行升級后替換原有環境則需要在該服務器上部署應用程序的升級版本,升級后的應用程序正常運行后,將這一服務器替換原有的服務器,實現應用程序的升級。然而,直接在本機中升級的方式若升級失敗本機將無法回到升級前的狀態,而通過另一服務器進行升級后替換原有的服務器的方式由于難以保證該服務器與原服務器中環境的一致性,應用程序升級出錯的情況也時有發生。因此,無論是通過直接在本機中升級還是通過另一服務器進行升級后替換原有的服務器來實現應用程序的升級,都存在著缺乏穩定性的缺陷。
技術實現思路
基于此,有必要提供一種能提高穩定性的應用程序的升級方法。此外,還有必要提供一種能提高穩定性的應用程序的升級裝置。一種應用程序的升級方法,包括如下步驟對應用程序所在的操作系統進行克隆得到與所述操作系統相對應的虛擬環境; 在所述虛擬環境中升級所述應用程序;將所述應用程序的訪問環境由所述操作系統切換為升級后的虛擬環境。優選地,所述在所述虛擬環境中升級所述應用程序的過程為在所述虛擬環境中下載所述應用程序的升級數據;安裝所述下載得到的升級數據。優選地,所述在所述虛擬環境中下載所述應用程序的升級數據的步驟之前還包括隔離所述克隆得到的虛擬環境。優選地,所述將所述應用程序的訪問環境由所述操作系統切換為升級后的虛擬環境的步驟之后還包括測試所述升級后的虛擬環境是否正常,若否,則將所述應用程序的訪問環境由所述升級后的虛擬環境切換為所述操作系統。一種應用程序的升級裝置,包括克隆模塊,用于對應用程序所在的操作系統進行克隆得到與所述操作系統相對應的虛擬環境;升級模塊,用于在所述虛擬環境中升級所述應用程序;切換模塊,用于將所述應用程序的訪問環境由所述操作系統切換為升級后的虛擬環境。優選地,所述升級模塊包括下載單元,用于在所述虛擬環境中下載所述應用程序的升級數據;安裝單元,用于安裝所述下載得到的升級數據。優選地,所述升級模塊還包括隔離單元,用于隔離所述克隆得到的虛擬環境。優選地,還包括測試模塊,用于測試所述升級后的虛擬環境是否正常,若否,則通知所述切換模塊;所述切換模塊還用于將所述應用程序的訪問環境由所述升級后的虛擬環境切換為所述操作系統。上述應用程序的升級方法及裝置對應用程序所在的操作系統進行克隆,在不破壞所述操作系統環境的·前提下通過與所述操作系統完全一樣的虛擬環境實現應用程序的升級,進而將應用程序的訪問環境由所述操作系統切換為升級后的虛擬環境,在升級的過程中所述操作系統并未發生任何變化,保留了升級之前的環境,即使升級過程中發生了錯誤也能夠回到升級之前操作系統的環境,提高了穩定性。附圖說明圖1為一個實施例中應用程序的升級方法的流程圖2為圖1中在虛擬環境中升級應用程序的方法流程圖3為另一個實施例中應用程序的升級方法的流程圖4為一個實施例中應用程序的升級裝置的結構示意圖5為一個實施例中升級模塊的結構示意圖6為另一個實施例中升級模塊的結構示意圖。具體實施方式圖1示出了一個實施例中應用程序的升級方法,包括如下步驟步驟S110,對應用程序所在的操作系統進行克隆得到與所述操作系統相對應的虛擬環境。本實施例中,應用程序安裝于操作系統中,該操作系統可以設置于物理服務器或者虛擬機中,用戶通過與操作系統建立連接訪問該應用程序。在接收到自動升級指令或者管理員發起的升級指令時,以應用程序所在的操作系統為目標進行克隆,產生與操作系統一模一樣的虛擬環境。例如,在VMware vsphere這一虛擬化平臺中,通過Web Service API這一接口連接虛擬化平臺中的虛擬機管理程序(VMM Virtual Machine Manager,VMM),通過虛擬機管理程序調用克隆方法(如VirtualMachine. CloneVM_Task),以啟動操作系統的克隆,而克隆的參數通過VirtualMachineCloneSpec來指定;在完成操作系統的克隆后,產生對應的虛擬環境,并將向虛擬機管理程序返回克隆成功的消息,此時,虛擬化平臺中的升級管理程序與虛擬環境中的升級管理程序建立連接并 通訊,虛擬環境中的升級管理程序接管應用程序的升級。步驟S130,在虛擬環境中升級應用程序。本實施例中,虛擬環境中的升級管理程序接管應用程序的升級之后,通過虛擬環 境進行應用程序的升級。在一個實施例中,如圖2所示,上述步驟S130的具體過程為步驟S131,在虛擬環境中下載應用程序的升級數據。本實施例中,通過虛擬環境進行升級數據的下載,而操作系統將不進行應用程序 的升級數據下載,以使得操作系統中的環境并不會因為應用程序的升級而發生改變,防止 升級過程中發生錯誤時能夠回滾到升級之前的環境。步驟S133,安裝下載得到的升級數據。本實施例中,下載完成后,在虛擬環境中安裝下載得到的升級數據,以實現虛擬環 境中應用程序的升級。在另一個實施例中,上述步驟S131之前還包括了隔離克隆得到的虛擬環境的步驟。本實施例中,在下載升級數據之前,禁止外界對虛擬環境進行訪問,隔離克隆得 到的虛擬環境,以保證不會受到外界的干擾。具體地,對虛擬環境的隔離可通過網絡設置 實現,例如,將虛擬環境設置于網絡中某一個獨立的隔離的虛擬局域網中(Virtual Local Area Network,簡稱 VLAN)。步驟S150,將應用程序的訪問環境由操作系統切換升級后的虛擬環境。本實施例中,在通過虛擬環境所實現的應用程序升級完成之后,向虛擬環境中的 升級管理程序發出環境切換指令,并調用接口將訪問環境由操作系統切換為升級后的虛擬 環境。環境切換指令包括了更改訪問地址及相關設置的命令,例如,訪問地址可以是對應的 TCP/IP協議地址,即IP地址。訪問環境的切換過程是將用戶原本訪問的操作系統切換為虛擬環境,此時,用戶 不再訪問操作系統,而是對虛擬環境進行訪問,進而實現對升級后的應用程序的訪問。例 如,若操作系統的訪問地址為192. 168.1. 100/24,虛擬環境隔離于另一個虛擬局域網中,對 應的訪問地址為192. 168. 2. 100/24,此時訪問環境的切換通過對調操作系統和虛擬環境中 的訪問地址即可實現。通過切換訪問環境使得用戶訪問的應用程序是升級后的應用程序,且切換訪問環 境所花費的時間極短,幾乎不會產生停機時間,即使處于正在升級的狀態也不會影響用戶 對應用程序的正常訪問。在另一個實施例中,如圖3所示,應用程序的升級方法的步驟S150之后還包括了 如下步驟步驟S301,測試升級后的虛擬環境是否正常,若否,則進入步驟S303,若是,則結束。本實施例中,虛擬環境中完成應用程序的升級之后,還需要對升級后的虛擬環境 進行測試,判斷升級后的虛擬環境是否處于正常狀態,若否,則需要回滾到升級之前的狀 態,即進入步驟S303,若通過檢測得知升級后的虛擬環境是正常的,虛擬環境中的應用程序在升級之后是可用的,將結束整個應本文檔來自技高網...
【技術保護點】
一種應用程序的升級方法,包括如下步驟:對應用程序所在的操作系統進行克隆得到與所述操作系統相對應的虛擬環境;在所述虛擬環境中升級所述應用程序;將所述應用程序的訪問環境由所述操作系統切換為升級后的虛擬環境。
【技術特征摘要】
1.一種應用程序的升級方法,包括如下步驟 對應用程序所在的操作系統進行克隆得到與所述操作系統相對應的虛擬環境; 在所述虛擬環境中升級所述應用程序; 將所述應用程序的訪問環境由所述操作系統切換為升級后的虛擬環境。2.根據權利要求1所述的應用程序的升級方法,其特征在于,所述在所述虛擬環境中升級所述應用程序的過程為 在所述虛擬環境中下載所述應用程序的升級數據; 安裝所述下載得到的升級數據。3.根據權利要求2所述的應用程序的升級方法,其特征在于,所述在所述虛擬環境中下載所述應用程序的升級數據的步驟之前還包括 隔離所述克隆得到的虛擬環境。4.根據權利要求1所述的應用程序的升級方法,其特征在于,所述將所述應用程序的訪問環境由所述操作系統切換為升級后的虛擬環境的步驟之后還包括 測試所述升級后的虛擬環境是否正常,若否,則 將所述應用程序的訪問環境由所述升級后的虛擬環境切換為所述操...
【專利技術屬性】
技術研發人員:何子健,羅慧,
申請(專利權)人:金蝶軟件中國有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。