本申請公開了一種軟件升級方法及裝置、電子設備,該方法包括步驟:獲取軟件的升級包并存儲,升級包中的文件與原版本的文件存儲的目錄不同,所述軟件的可執行文件的存儲目錄為相應文件的上級目錄;當觸發軟件升級事件時,利用該軟件的可執行文件通知操作系統讀取所述升級包中的文件,所述可執行文件用于在操作系統的指定接口中設置操作系統讀取文件的順序。本申請可以解決軟件運行時不能安裝新版本的問題。
【技術實現步驟摘要】
軟件升級方法及裝置、電子設備
本申請涉及軟件升級技術,尤其是涉及軟件升級方法及裝置、電子設備。
技術介紹
由于軟件需要增加新功能、防止病毒入侵及修復原有部分漏洞(BUG),所以要從低版本更新到高版本,即軟件升級,一般升級后的版本都會比原版本的性能更好,得到優化的效果,用戶也能有更好的體驗。但是傳統的軟件升級方法中,用戶使用軟件時不能安裝升級包,而且要花時間等待軟件升級,這樣會導致軟件升級難以執行,更重要的是軟件的性能優化及安全性的提高均會受到阻礙。
技術實現思路
本申請提供一種軟件升級方法及裝置、電子設備,可以解決軟件運行時不能安裝新版本的問題。根據本申請實施例的第一方面,提供一種軟件升級的方法,該方法包括步驟:獲取軟件的升級包并存儲,升級包中的文件與原版本的文件存儲的目錄不同,所述軟件的可執行文件的存儲目錄為相應文件的上級目錄;當觸發軟件升級事件時,利用該軟件的可執行文件通知操作系統讀取所述升級包中的文件,所述可執行文件用于在操作系統的指定接口中設置操作系統讀取文件的順序。在某些例子中,所述軟件包括多個插件,所述插件包括基礎服務插件和其他功能相互獨立的插件;所述基礎服務插件用于其他插件之間的數據的通信。在某些例子中,所述升級包包括封裝了至少一個插件所對應的升級文件。在軟件運行時,如果檢測到所述升級文件不是當前處于運行的插件所涉及的文件,則軟件升級事件被觸發。在某些例子中,所述軟件還包括升級插件,所述升級插件判斷升級包中存在所述升級插件的升級文件時,升級插件停止運行,并觸發軟件升級事件。在某些例子中,將獲取的所述升級包與對應的信息-摘要算法值(MD5值)進行匹配,如果匹配成功,則將所述升級包存儲;如果匹配不成功,則將所述升級包刪除。在某些例子中,判斷所述軟件存在多個實例時,由首個實例從服務器獲取升級包。在某些例子中,所述軟件包括以下任意一種:應用程序、插件。在某些例子中,當觸發軟件升級事件時,利用該軟件的可執行文件通知操作系統讀取所述升級包中的文件之后,該方法還包括步驟:軟件的原版本的文件未被讀取時,刪除原版本的文件。本申請的另一方面,提供一種電子設備,包括:處理器;用于存儲獲取的升級包中的文件及原版本的文件的存儲器;所述處理器耦合于所述存儲器,用于讀取所述存儲器存儲的軟件和文件,并做出響應,執行如下操作:獲取軟件的升級包并存儲,升級包中的文件與原版本的文件存儲的目錄不同,所述軟件的可執行文件的存儲目錄為相應文件的上級目錄;當觸發軟件升級事件時,利用該軟件的可執行文件通知操作系統讀取所述升級包中的文件;所述可執行文件用于在操作系統的指定接口中設置操作系統讀取文件的順序。本申請的第三方面,提供一種軟件升級裝置,包括:獲取模塊,用于獲取軟件的升級包;存儲模塊,用于將獲取的軟件升級包存儲,升級包中的文件與原版本的文件存儲的目錄不同,所述軟件的可執行文件的存儲目錄為相應文件的上級目錄;處理模塊,用于當觸發軟件升級事件時,利用該軟件的可執行文件通知操作系統讀取所述升級包中的文件,所述可執行文件用于在操作系統的指定接口中設置操作系統讀取文件的順序。本申請將升級包的存儲目錄結構改變,也就是讓升級包與原版本的文件不在同一目錄下,這樣就可以在不影響原版本的文件運行的情況下完成升級包的下載(獲取)、解壓及安裝過程,解決了傳統的軟件升級技術用戶要花時間等待軟件在后臺完成升級包安裝的問題。附圖說明圖1本申請一示例性實施例示出的應用環境的網絡圖;圖2本申請一示例性實施例示出的一種軟件升級方法的部分流程圖;圖3本申請一示例性實施例示出的一種軟件存儲結構示意圖;圖4本申請一示例性實施例示出的軟件的架構圖;圖5本申請一示例性實施例示出的升級插件的自升級過程的部分流程圖;圖6a本申請一示例性實施例示出的一種電子設備的硬件架構圖;圖6b本申請一示例性實施例示出的一種軟件升級裝置的硬件架構圖;圖7本申請一示例性實施例示出的一種軟件升級裝置的軟件邏輯框圖。具體實施方式這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權利要求書中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯的列出項目的任何或所有可能組合。本申請提供了一種對終端設備的軟件升級的方法,如圖1所示,軟件升級是指從服務器120下載(獲取)升級包121,并在終端設備100中存儲,再解壓、安裝并生效的過程。其中,升級包解壓、安裝后為新版本的文件,生效過程為開始使用(也就是操作系統讀取并運行新版本的文件)新版本的文件。其中,終端設備100可以具有操作系統,例如Windows系統等。終端設備100還可以具有存儲分區101。終端設備100還可以裝載多個軟件,這些軟件相應的文件被存儲在終端設備100的存儲分區101中。本申請中的軟件可以包括應用程序、插件等。本申請對軟件的類型并不做限定。本申請中的終端設備可以是具有連網功能的設備,包括臺式電腦,筆記本電腦、車載終端等。本申請對設備的類型并不做限定。圖2顯示了一些例子中軟件升級的方法的部分流程。S201階段,獲取軟件的升級包并存儲,升級包中的文件與原版本的文件存儲的目錄不同,所述軟件的可執行文件的存儲目錄為相應文件的上級目錄。S202階段,當觸發軟件升級事件時,利用該軟件的可執行文件通知操作系統讀取所述升級包中的文件,所述可執行文件用于在操作系統的指定接口中設置操作系統讀取文件的順序。通常,軟件可以包含可執行文件和資源文件,本申請中,資源文件可以是提供圖片等資源的文件,也可以是軟件需要使用的動態鏈接庫DLL。現有技術中,可執行文件和資源文件存儲于同一目錄,使得操作系統會默認首先讀取可執行文件所在目錄下的資源文件。本申請的實施例中,如S201階段所述,改變了可執行文件和資源文件的存儲結構,圖3為本申請軟件的存儲結構的一個例子,如圖3所示,可執行文件301存儲在原版本302和升級包304的上級目錄里,升級包304的文件和原版本302的文件存儲在不同的目錄里,升級包304在所存儲的目錄中解壓、安裝成為新版本303。在這里,可執行文件301可以不具有實現軟件功能的邏輯,也就是不涉及文件的更新,而是作為軟件的入口,通過控制操作系統調用相關接口讀取新版本303的文件。可以看出,由于原版本302和升級包304處于不同的目錄下,因此即便軟件在運行時,也可以實現升級包304的安裝,從而減少了用戶下載安裝升級包的等待時間;而可執行文件301在操作系統需要讀取文件時,可以通知操作系統快速讀取到新版本303的文件,新版本303的文件就生效了,因此通過以上過程,可以實現軟件完成升級的全過程。作為例子,可執行文件301可以在操作系統的指定接口中設置如下內容,以改變現有技術中操作系統的文件調用次序,使操作系統能夠讀取到新版本的升級文件:本文檔來自技高網...

【技術保護點】
一種軟件升級方法,其特征在于,所述方法包括:獲取軟件的升級包并存儲,升級包中的文件與原版本的文件存儲的目錄不同,所述軟件的可執行文件的存儲目錄為相應文件的上級目錄;當觸發軟件升級事件時,利用該軟件的可執行文件通知操作系統讀取所述升級包中的文件,所述可執行文件用于在操作系統的指定接口中設置操作系統讀取文件的順序。
【技術特征摘要】
1.一種軟件升級方法,其特征在于,所述方法包括:獲取軟件的升級包并存儲,升級包中的文件與原版本的文件存儲的目錄不同,所述軟件的可執行文件的存儲目錄為相應文件的上級目錄;當觸發軟件升級事件時,利用該軟件的可執行文件通知操作系統讀取所述升級包中的文件,所述可執行文件用于在操作系統的指定接口中設置操作系統讀取文件的順序。2.根據權利要求1所述的軟件升級方法,其特征在于,所述軟件包括多個插件,所述插件包括基礎服務插件和其他功能相互獨立的插件;所述基礎服務插件用于其他插件之間的數據的通信。3.根據權利要求2所述的軟件升級方法,其特征在于,所述升級包包括封裝了至少一個插件所對應的升級文件。4.根據權利要求3所述的軟件升級方法,其特征在于,在軟件運行時,如果檢測到所述升級文件不是當前處于運行的插件所涉及的文件,則軟件升級事件被觸發。5.根據權利要求3所述的軟件升級方法,其特征在于,所述軟件還包括升級插件,所述升級插件判斷升級包中存在所述升級插件的升級文件時,升級插件停止運行,并觸發軟件升級事件。6.根據權利要求1所述的軟件升級方法,其特征在于,所述方法還包括步驟:將獲取的所述升級包中的文件與對應的信息-摘要算法值(MD5值)進行匹配,如果匹配成功,則將所述升級包的文件存儲;如果匹配不成功,則將所述升級包中的文件刪除。7.根據權利要求1所述的軟件升級方法,其特征在于,所述方法還包...
【專利技術屬性】
技術研發人員:庫宇,
申請(專利權)人:廣州華多網絡科技有限公司,
類型:發明
國別省市:廣東,44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。