本發明涉及軟件管理
技術領域:
:,尤其涉及一種軟件安裝的方法及軟件升級裝置。
背景技術:
::隨著計算機技術和網絡技術的飛速發展,互聯網技術在人們的日常生活、學習和工作中發揮的作用也越來越大。網絡上各種軟件層出不窮,也間接地促使了對軟件管理的需求。其中,管理類軟件是一種集軟件下載和軟件管理于一體的工具,其功能主要分為檢測、下載、安裝和卸載軟件這四個部分。現有技術中,當需要對軟件進行升級時,需要先退出該軟件進程,再運行安裝包,或者等到軟件進程退出后再自動運行安裝包,又或者是在啟動軟件進程前進行軟件更新,更新過程中軟件進程不能夠啟動。然而由于現有技術中的軟件進程與安裝進程之間是互斥的關系,兩者不能同時存在。當用戶正在使用的軟件進程中尚有任務未完成時,一旦該軟件出現有升級的要求,則需要用戶先退出當前還有任務沒完成的軟件進程,然后升級成功后再繼續未完成的任務,這樣不但會耽誤任務完成的時間,同時,還可能影響任務完成的質量,不利于用戶體驗。技術實現要素:本發明實施例提供了一種軟件升級的方法及軟件升級裝置,可以在用戶無感知的情況下完成目標軟件升級,提升用戶體驗,也使得安裝過程更為靈活。有鑒于此,本發明第一方面提供一種軟件升級的方法,包括:獲取目標軟件的待安裝數據包;當所述目標軟件處于運行狀態時,在所述目標軟件的安裝目錄下安裝所述待安裝數據包,并生成所述待安裝數據包對應的第一可執行程序;對所述安裝目錄下的第二可執行程序進行屬性修改,并得到目標文件,所述目標文件為非可執行程序;當所述目標軟件被關閉后,接收所述目標軟件的啟動指令;根據所述啟動指令,啟動所述第一可執行程序。第二方面,本方面實施例還提供一種軟件升級裝置,包括:獲取模塊,用于獲取目標軟件的待安裝數據包;安裝模塊,用于當所述目標軟件處于運行狀態時,在所述目標軟件的安裝目錄下安裝所述獲取模塊獲取的所述待安裝數據包,并生成所述待安裝數據包對應的第一可執行程序;修改模塊,用于對所述安裝目錄下的第二可執行程序進行屬性修改,并得到目標文件,所述目標文件為非可執行程序;接收模塊,用于當所述目標軟件被關閉后,接收所述目標軟件的啟動指令;啟動模塊,用于根據所述接收模塊接收的所述啟動指令,啟動所述安裝模塊安裝的所述第一可執行程序。第三方面,本方面實施例還提供一種軟件升級裝置,包括:存儲器、收發器、處理器以及總線系統;其中,所述存儲器用于存儲程序;所述處理器用于執行所述存儲器中的程序,具體如下步驟:獲取目標軟件的待安裝數據包;當所述目標軟件處于運行狀態時,在所述目標軟件的安裝目錄下安裝所述待安裝數據包,并生成所述待安裝數據包對應的第一可執行程序;對所述安裝目錄下的第二可執行程序進行屬性修改,并得到目標文件,所述目標文件為非可執行程序;當所述目標軟件被關閉后,控制所述收發器接收所述目標軟件的啟動指令;根據所述啟動指令,啟動所述第一可執行程序。從以上技術方案可以看出,本發明實施例具有以下優點:本發明實施例中,提供了一種軟件升級的方法,軟件升級裝置首先獲取 目標軟件的待安裝數據包,當目標軟件處于運行狀態時,在目標軟件的安裝目錄下安裝待安裝數據包,并生成待安裝數據包對應的第一可執行程序,對安裝目錄下的第二可執行程序進行屬性修改,并得到目標文件,目標文件為非可執行程序,當目標軟件被關閉后,接收目標軟件的啟動指令,根據啟動指令,啟動第一可執行程序。通過上述方式進行目標軟件的升級安裝,可以在用戶無感知的情況下,一邊繼續在原有進程中任務,一邊在后臺進行軟件的升級安裝,升級成功后,待系統重啟時,會直接執行升級后的第一可執行程序,而原有的第二可執行程序因為屬性的更改不會被運行,從而完成目標軟件升級,提升用戶體驗,也使得安裝過程更為靈活。附圖說明圖1為本發明實施例中軟件升級的方法一個實施例示意圖;圖2為本發明實施例中軟件升級的方法另一個實施例示意圖;圖3為本發明實施例中軟件升級流程的示意圖;圖4為本發明實施例中軟件安裝流程的示意圖;圖5為本發明應用場景中軟件升級界面(1)的顯示示意圖;圖6為本發明應用場景中軟件升級界面(2)的顯示示意圖;圖7為本發明應用場景中軟件升級界面(3)的顯示示意圖;圖8為本發明應用場景中軟件升級界面(4)的顯示示意圖;圖9為本發明實施例中軟件升級裝置一個實施例示意圖;圖10為本發明實施例中軟件升級裝置一個實施例示意圖;圖11為本發明實施例中軟件升級裝置一個實施例示意圖;圖12為本發明實施例中軟件升級裝置一個實施例示意圖;圖13為本發明實施例中軟件升級裝置一個實施例示意圖;圖14為本發明實施例中軟件升級裝置一個實施例示意圖;圖15為本發明實施例中軟件升級裝置一個實施例示意圖;圖16為本發明實施例中軟件升級裝置一個實施例示意圖;圖17為本發明實施例中軟件升級裝置一個實施例示意圖;圖18為本發明實施例中軟件升級裝置一個結構示意圖。具體實施方式本發明實施例提供了一種軟件升級的方法及軟件升級裝置,可以在用戶無感知的情況下完成目標軟件升級,提升用戶體驗,也使得安裝過程更為靈活。本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”、“第三”、“第四”等(如果存在)是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本發明的實施例例如能夠以除了在這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。應理解,本發明實施例可以應用于不同的用戶設備(英文全稱:userequipment,英文縮寫:ue),如手機、平板電腦或者個人電腦(英文全稱:personalcomputer,英文縮寫:pc)等設備,故此處不作限定。對于pc而言,在不同的操作環境下也可以實現本發明方案,例如在視窗操作系統2000(英文全稱:windows2000)的環境下,或者是視窗操作系統體驗版(英文全稱:windowsexperience,英文縮寫:windowsxp)的環境下,還可以是windows7或windows8的環境下,故此處不作限定。除此以外,該方案若是應用于手機,則不但可以應用于谷歌公司開發的操作系統(英文全稱:android),還可以應用于蘋果公司的移動操作系統(英文全稱:appleoperatingsystem,英文縮寫:ios),或者其他類型的操作系統,故此處不作限定。請參閱圖1,本發明實施例中軟件升級的方法一個實施例包括:101、獲取目標軟件的待安裝數據包;本實施例中,軟件升級裝置可以獲取目標軟件的待安裝數據包,目標軟件為當前可以升級的軟件,例如瀏覽器軟件、聊天軟件或者社交軟件等,其待安裝數據包中是目標軟件的軟件安裝包,是可自行解壓縮文件的集合,其 中包括軟件安裝的所有文件,運行這個待安裝數據包,可以將此軟件的所有的文件釋放到硬盤上,完成修改注冊表、修改系統設置和創建快捷方式等工作。102、當目標軟件處于運行狀態時,在目標軟件的安裝目錄下安裝待安裝數據包,并生成待安裝數據包對應的第一可執行程序;本實施例中,當目標軟件正處于運行狀態的時候,軟件升級裝置在該目標軟件的安裝目錄下安裝待安裝數據包,此時,目標軟件已經在后臺進行升級處理,但是這個時候用戶仍可以繼續使用未升級的目標軟件,且用戶未感知新版本的目標軟件已經升級完畢。軟件升級裝置在對目標軟件升級完成后,會生成待安裝數據包對應的第一可執行程序。103、對安裝目錄下的第二可執行程序進行屬性修改,并得到目標文件,目標文件為非可執行程序;本實施例中,當目標軟件的升級完成后,目標軟件對應的舊版本運行程序就可以進行刪除處理,以免占用系統內存。具體方式為,軟件升級裝置對安裝目錄下的目標軟件原運行程序,即第二可執行程序,進行屬性修改,修改后得到目標文件,其中,該目標文件是非執行程序,也就是失去的原有的運行目標軟件的功能。104、當目標軟件被關閉后,接收目標軟件的啟動指令;本實施例中,當目標軟件被關閉后,用戶需要再次使用該目標軟件時,可通過輸入設備向軟件升級裝置發送啟動指令,軟件升級裝置接收到目標軟件對應的啟動指令。105、根據啟動指令,啟動第一可執行程序。本實施例中,軟件升級裝置根據接收到啟動指令,啟動對應的第一可執行程序,第一可執行程序是升級后目標軟件對應的運行程序,就此完成了在用戶沒有感知的情況下,在后臺對目標軟件進行升級的過程。本發明實施例中,提供了一種軟件升級的方法,軟件升級裝置首先獲取目標軟件的待安裝數據包,當目標軟件處于運行狀態時,在目標軟件的安裝目錄下安裝待安裝數據包,并生成待安裝數據包對應的第一可執行程序,對 安裝目錄下的第二可執行程序進行屬性修改,并得到目標文件,目標文件為非可執行程序,當目標軟件被關閉后,接收目標軟件的啟動指令,根據啟動指令,啟動第一可執行程序。通過上述方式進行目標軟件的升級安裝,可以在用戶無感知的情況下,一邊繼續在原有進程中任務,一邊在后臺進行軟件的升級安裝,升級成功后,待系統重啟時,會直接執行升級后的第一可執行程序,而原有的第二可執行程序因為屬性的更改不會被運行,從而完成目標軟件升級,提升用戶體驗,也使得安裝過程更為靈活。請參閱圖2,本發明實施例中軟件升級的方法另一個實施例包括:201、檢測目標軟件是否存在待安裝數據包;本實施例中,軟件升級裝置在目標軟件進程啟動后開始檢測當前是否存在待安裝數據包。其中,進程既是操作系統結構的基礎,又是一次程序的執行,還是一個程序及其數據在處理器上順序執行時所發生的活動,也是在一個數據集合上運行的過程。它是系統進行資源分配和調度的一個獨立單位。202、若目標軟件存在待安裝數據包,則下載待安裝數據包;本實施例中,如果目標軟件存在待安裝數據包,則可以在后臺下載該待安裝數據包。步驟201與步驟202的具體過程可參閱圖3,圖3為本發明實施例中軟件升級流程的示意圖,如圖所示:步驟301:通過用戶發起進程開啟指令,啟動目標軟件的進程;步驟302:正如步驟201檢測目標軟件是否存在待安裝數據包這一操作,即在線檢測是否存在新版本,在線檢測的過程可以是持續性的檢測,這樣雖然能夠更快地發現新版本,但是會占用較多的網絡資源,因此可以設置為間歇性檢測,比如每隔15分鐘進行一次新版本的檢測,如果檢測到有新版本則進入步驟303,若沒有新版本,則跳轉至步驟305;步驟303:正如步驟202若目標軟件存在待安裝數據包,則下載待安裝數據包所述,如果當前的目標軟件存在新版本的待安裝數據包,則直接下載該待安裝數據包;步驟304:安裝新版本的待安裝數據包,且安裝到默認路徑下;步驟305如果當前的目標軟件不存在新版本的待安裝數據包,則退出軟 件的升級,或者在某一個預置時間內不再進行軟件升級的操作。203、獲取目標軟件的待安裝數據包;本實施例中,在步驟304中,當安裝新版本的待安裝數據包,且安裝到默認路徑下,也就意味著軟件升級裝置獲取到已完成下載的安裝數據包。204、當目標軟件處于運行狀態時,在目標軟件的安裝目錄下安裝待安裝數據包,并生成待安裝數據包對應的第一可執行程序;本實施例中,步驟204與上述實施例中圖1對應的步驟102類似,故此處不作贅述。205、對安裝目錄下的第二可執行程序進行屬性修改,并得到目標文件,目標文件為非可執行程序;本實施例中,步驟205與上述實施例中圖1對應的步驟103類似,故此處不作贅述。206、當目標軟件被關閉后,接收目標軟件的啟動指令;本實施例中,步驟206與上述實施例中圖1對應的步驟104類似,故此處不作贅述。207、根據啟動指令,啟動第一可執行程序。本實施例中,步驟207與上述實施例中圖1對應的步驟105類似,故此處不作贅述。其次,本發明實施例中,還具體說明了軟件升級裝置獲取目標軟件的待安裝數據包之前,檢測目標軟件是否存在待安裝數據包,如果目標軟件存在待安裝數據包,則下載待安裝數據包并進行后續的無感知升級。從而使得本發明方案在實際應用中的可操作性更強,并且也能體現本發明不需要用戶對其進行升級安裝等相關操作,方便快捷的完成軟件升級,提升方案的實用性以及加強用戶體驗。可選地,在上述圖1或圖2對應的實施例的基礎上,本發明實施例提供的軟件升級的方法第一個可選實施例中,獲取目標軟件的待安裝數據包之后,還可以包括:在安裝目錄下創建第一子目錄;在目標軟件的安裝目錄下安裝待安裝數據包,可以包括:在安裝目錄下的第一子目錄安裝待安裝數據包。本實施例中,軟件升級裝置獲取到目標軟件的待安裝數據包之后,先在安裝目錄下創建第一子目錄,可以理解的是,我們可將安裝目錄作為父目錄,那么子目錄就是父目錄里的一個目錄,而子目錄里還可以有子目錄,因此子目錄是沒有限制的。例如在pc中,c:\是父目錄,那么c:\windows就是c:\的子目錄,而c:\windows\system32\就是c:\windows的子目錄。在安裝目錄下建立完成第一子目錄后,在安裝目錄下的第一子目錄中安裝待安裝數據包。其次,本發明實施例中,在安裝目錄下先創建第一子目錄,然后可以第一子目錄下安裝待安裝數據包。一方面將待安裝數據包中的所有文件歸于第一子目錄,便于一次性進行處理,比如可以直接通過刪除子目錄來刪除待安裝數據包,另一方面將待安裝數據包放置于子目錄里方便與其他文件進行區分,提升方案的可行性。可選地,在上述圖1或圖2對應的第一個實施例的基礎上,本發明實施例提供的軟件升級的方法第二個可選實施例中,安裝目錄中可以包括第一子目錄以及第二子目錄,其中,第一子目錄對應于第一可執行程序,第二子目錄對應于第二可執行程序,第二子目錄用于存儲目標軟件的原數據。本實施例中,在安裝目錄中除了第一子目錄以外,還包括了第二子目錄,第一子目錄中用于存儲待安裝數據包的內容,且第一子目錄對應的是第一可執行程序,當運行第一可執行程序時,其數據來源于第一子目錄。第二子目錄中用于存儲目標軟件未升級前的原數據,且第二子目錄對應于第二可執行程序,當前正在使用的目標軟件是通過第二可執行程序運行的。可以理解的是,第一可執行程序既可以在第一子目錄中保存,也可以自動從第一子目錄中拷貝到安裝目錄,成為快捷方式,此處不作限定。再次,本發明實施例中,在安裝目錄下建立有第一子目錄和第二子目錄,而第一子目錄和第二子目錄分別存儲了不同的數據,便于區別升級前與升級后的文件,再進行后續處理時有利于提高系統工作的效率,增加方案的可行性和可操作性。可選地,在上述圖1或圖2對應的第一個實施例的基礎上,本發明實施 例提供的軟件升級的方法第三個可選實施例中,還可以包括:當第二可執行程序的屬性修改失敗時,則刪除第一子目錄,并結束流程。本實施例中,軟件升級裝置會自動在后臺對第二可執行程序進行屬性修改,如果在屬性修改的過程中出現操作中斷或者操作失誤,則說明第二可執行程序的屬性修改失敗,這個時候將刪除第一子目錄,根據上述實施例中所介紹的內容可知,第一子目錄中包含了待安裝數據包,因此刪除的即為待安裝數據包。再次,本發明實施例中,設定了一種情況,即當第二可執行程序的屬性修改失敗時,刪除第一子目錄,并結束流程。通過這樣的方式進行軟件升級,能夠有效地防止第二可執行程序與第一可執行程序之間造成沖突,在第二可行性程序還為有效程序時,如果第一可執行程序也有效,就會發生沖突運行的情況。由此增強方案的實用性和靈活性,提升用戶體驗。可選地,在上述圖1或圖2對應的第一個實施例的基礎上,本發明實施例提供的軟件升級的方法第四個可選實施例中,在安裝目錄下創建第一子目錄之后,還可以包括:在第一子目錄下解壓縮待安裝數據包;當待安裝數據包解壓縮失敗時,則刪除第一子目錄,并結束流程。本實施例中,軟件升級裝置在安裝目錄下創建了第一子目錄之后,首先需要在第一子目錄下解壓縮待安裝數據包,且當該待安裝數據包解壓縮失敗時,會自動刪除第一子目錄,并結束相關流程。其中,解壓縮就是將一個通過軟件壓縮的文檔和文件等各種東西恢復到壓縮之前的樣子,這種形式以利于傳輸或存儲。其原理就是利用壓縮軟件把二進制信息中相同的字符串以特殊字符標記來達到壓縮的目。再次,本發明實施例中,當待安裝數據包在第一子目錄下解壓縮失敗時,會刪除第一子目錄,并結束流程。通過上述方式可以克服因為解壓失敗導致無效文件殘留在磁盤空間里,并占用系統資源的情況,根據實際情況對解壓失敗的待安裝數據包進行及時地刪除可以有效的避免上述問題,從而使得方案的實用性更強,提升用戶設備的性能。可選地,在上述圖1或圖2對應的實施例的基礎上,本發明實施例提供 的軟件升級的方法第五個可選實施例中,對安裝目錄下的第二可執行程序進行屬性修改,可以包括:將安裝目錄下的第二可執行程序對應的第一后綴名更改為第二后綴名。本實施例中,軟件升級裝置對安裝目錄下的第二可執行程序進行屬性修改的具體做法可以是,將安裝目錄下的第二可執行程序對應的第一后綴名更改為第二后綴名。其中,第二可執行程序就是舊版本所對應的可執行程序(英文全稱:executableprogram,英文縮寫:exe),第一后綴名也可以稱為文件擴展名,即為.exe,第二后綴名是更改后的文件擴展名,例如可以將.exe更改為.exe.old,使得更改后的文件為不可執行文件,即為本發明中所指的目標文件。可以理解的是,文件的后綴名也稱為文件擴展名,是操作系統用來標志文件類型的一種機制。通常來說,一個擴展名是跟在主文件名后面的,由一個分隔符分隔。在一個像“讀我.txt”的文件名中,讀我是主文件名,.txt為擴展名(文本或外語全稱:text),表示這個文件被認為是一個純文本文件。擴展名可以被認為是一個類型的元數據,一些文件系統限制擴展的長度,如個人計算機磁盤操作系統和微軟磁盤操作系統上的文件配置表(英文全稱:fileallocationtable,英文縮寫:fat)文件系統不允許超過三個字符,,國際商業機器公司)或萬國商業機器公司(英文全稱:internationalbusinessmachinescorporation,英文縮寫:ibm)的虛擬機(英文全稱:virtualmanufacturing,英文縮寫:vm)/內容管理系統(英文全稱:contentmanagementsystem,英文縮寫:cms)不允許超過八個字符,而其他的比如新技術文件系統(英文全稱:newtechnologyfilesystem,英文縮寫:ntfs)則不限制。其次,本發明實施例中,具體提出了一種如何修改第二可執行程序屬性的方式,可以通過修改第二可執行程序的后綴名來實現該功能。而修改后綴名不但能夠更改第二可執行程序的屬性,還可以根據實際需要對其進行靈活的屬性配置,與此同時,更改后綴的方式簡單有效,不需要占用過多的計算資源來實現該效果,提升了方案的實用性。可選地,在上述圖1或圖2對應的第一至第五個實施例中任一個實施例 的基礎上,本發明實施例提供的軟件升級的方法第六個可選實施例中,根據啟動指令,啟動第一可執行程序之后,還可以包括:刪除目標文件以及第二子目錄。本實施例中,當用戶重啟目標軟件的進程時,則根據用戶觸發的啟動指令啟動第一可執行程序,且系統運行新版本的目標軟件。那么這個時候,對應舊版本的文件而言,則可以進行刪除處理,刪除目標文件以及第二子目錄。其中,目標文件就是上述圖1對應的第五個可選實施例中提及的經過后綴名修改后的不可執行文件,第二子目錄則是儲存了目標軟件未升級前的原數據。因為已經可以成功使用新版本的目標軟件了,于是這些舊版本的內容可被刪除,從而釋放系統空間。進一步地,本發明實施例中,在軟件升級裝置接收啟動指令并執行第一可執行程序之后,自動刪除目標文件以及第二子目錄。由此可以及時地為系統“瘦身”,增加系統容量,不占用過多的空間,提升資源利用率,加強本發明方案的靈活性和實用性。可選地,在上述圖1或圖2對應的第二個實施例的基礎上,本發明實施例提供的軟件升級的方法第七個可選實施例中,啟動第一可執行程序之后,還可以包括:若第一可執行程序運行失敗,則將目標文件還原為第二可執行程序,并執行第二可執行程序。本實施例中,在啟動第一可執行程序之后,如果發生第一可執行程序運行失敗,則將目標文件進行還原,得到第二可執行程序。換言之,也就是當新版本的目標軟件運行失敗時,則可以運行舊版本的目標軟件,而不會因為升級失敗導致無法使用該目標軟件的情況。其中,第二可執行程序就是舊版本所對應的可執行程序,將目標文件還原為第二可執行程序,具體可以是,將第二后綴名再更改為第一后綴名,例如第二后綴名為.exe.old,它指示一個不可執行的程序,因此需要將.exe.old.,更改為.exe,從而可以執行第二可執行文件。進一步地,本發明實施例中,提供了一種當第一可執行程序運行失敗時的備選方案,若第一可執行程序不能正常運行時,則軟件升級裝置自動將目 標文件又還原為第二可執行程序,并且用戶通過打開第二可執行程序來開啟舊版本的目標軟件。通過上述方式進行軟件升級,避免了因為特殊情況導致目標軟件無法運行的情況,即便安裝失敗,也會自動恢復到舊版本,不影響舊版本的正常使用,從而增加的方案的靈活性。可選地,在上述圖1或圖2對應的第七個實施例的基礎上,本發明實施例提供的軟件升級的方法第八個可選實施例中,執行第二可執行程序之后,還可以包括:刪除第一可執行程序以及第一子目錄。本實施例中,在圖1或圖2對應的第七個實施例的基礎上,可以知道如果第一可執行程序運行失敗,則將目標文件還原為第二可執行程序,并執行第二可執行程序,最后將刪除第一可執行程序和第一子目錄。當第一可執行程序運行失敗也就意味著本次目標軟件的升級并沒有成功,可以在這個時候自動刪除第一可執行程序以及對應的第一子目錄,回退到舊版本。以下將具體介紹整個目標軟件安裝的過程,請參閱圖4,圖4為本發明實施例中軟件安裝流程的示意圖,如圖所示,我們將詳細地進行介紹:步驟401:開啟目標軟件,如果這個時候后臺檢測到該目標軟件具有新版本可以下載,于是開始下載目標軟件對應的新版本待安裝數據包,就此也開啟了安裝進程;步驟402:新版本的待安裝數據包下載成功后,軟件升級裝置在安裝目錄下創建9.*.*.*的子目錄;步驟403:再將待安裝數據包解壓縮到9.*.*.*的子目錄中;步驟404:解壓的過程中可能會出現解壓異常或者其他形式的錯誤,于是在這一步驟中需要對解壓縮是否成功進行檢測,如果解壓縮成功,則繼續步驟405,反之,若解壓縮失敗,則跳轉至步驟410;步驟405:如果步驟404解壓縮成功,則將舊版本對應的可執行文件進行重命名處理,例如可以將.exe重命名為.exe.old;步驟406:當然,在步驟405的重命名過程中同樣可能遇到重命名異常,或者是其他形式的問題,于是這一步驟中需要對重命名是否成功進行檢測,如果重命名成功,則繼續步驟407,反之,如果解壓縮失敗,則跳轉至步驟 410;步驟407:如果對舊版本的可執行程序重命名成功,則將9.*.*.*子目錄下的可執行程序,即以.exe為后綴的文件被拷貝至安裝目錄下,與子目錄位于同一層,方便用戶選擇;步驟408:在后臺進行安裝相關的操作,例如設置防火墻、注冊表和快捷方式等,防火墻是一種位于內部網絡與外部網絡之間的網絡安全系統。一項信息安全的防護系統,依照特定的規則,允許或是限制傳輸的數據通過,注冊表用于存儲系統和應用程序的設置信息;步驟409:就此,目標軟件的升級安裝全部完成,升級成功;步驟410:無論是步驟404在解壓縮時發生解壓縮失敗,還是步驟406在舊版本可執行程序的重命名失敗,都將進行本步驟,即刪除9.*.*.*子目錄;步驟411:在步驟410刪除了9.*.*.*子目錄后,意味著升級安裝失敗,這個時候可以退回到舊版本的目標軟件,等到下次開啟目標軟件時,依舊為舊版本的內容,但是對于目標軟件的后臺升級仍然可以參考步驟401至411所述的過程來實現。更進一步地,本發明實施例中,在第一可執行程序不能正常運行時,自動將目標文件又還原為第二可執行程序,并且通過第二可執行程序來開啟舊版本的目標軟件之后,還可以刪除第一可執行程序以及第一子目錄,從而達到節省系統資源的效果,提升計算效率,增強用戶體驗。為便于理解,下面以一個具體應用場景對本發明中一種軟件升級的方法進行詳細描述,具體為:用戶甲在自己的pc上下載了騰訊瀏覽器使用,用戶甲習慣性的每天在騰訊瀏覽器中搜索財經新聞。當這次用戶甲再次開啟騰訊瀏覽器時,在他無感知的情況下,瀏覽器后臺檢測到已經出現了新版本內容可以下載,其版本號為9.3.6438.400。請參閱圖5,圖5為本發明應用場景中軟件升級界面(1)的顯示示意圖,如圖所示,在軟件升級裝置啟動了待安裝數據包進程,獲取了該待安裝數據包的版本,并在當前安裝目錄c:\programfiles(×86)/tencent/qqbrower下創建了子目錄,也可以理解為是子文件夾,名稱即為新版本號9.3.6438.400。此時,再將待安裝數據包中的文件解壓到新的子文件夾9.3.6438.400中,具體請參閱圖6,圖6為本發明應用場景中軟件升級界面(2)的顯示示意圖,當然如果解壓失敗,則會刪除新生成的子文件夾9.3.6438.400,并且直接退出升級的流程,相反地,如果解壓成功,那么子文件夾9.3.6438.400中就包含了所有完整的安裝程序,當然,也包括了可執行程序。因為舊版本9.3.6400.400對應一個可執行程序,而新版本9.3.6438.400也對應一個可執行程序,這就需要把舊版本的可執行程序處理為不可執行程序才能保證新版本的正常運行。更改舊版本的可執行程序具體做法可以是,將按照目錄下原理的exe文件進行重命名,得到命名后的exe.old,如圖7所示,圖7為本發明應用場景中軟件升級界面(3)的顯示示意圖,不難看出,圖標qqbrower.exe.old已經是更改后的文件了,此時它已不能被正常運行。可以理解的是,在舊版本運行的情況下,仍舊可以重命名成功,并不需要退出安裝進程。無可避免的情況下,可能會出現對舊版本的可執行文件重命名失敗,這個時候還是可以將新創建的子文件夾9.3.6438.400進行刪除,且說明安裝失敗。如果重命名成功,那么會在系統重啟后,自動刪除舊版本9.3.6400.400對應的qqbrower.exe.old文件以及其他相關的數據。將子文件夾中的exe程序拷貝到安裝目錄下,請參閱圖8,圖8為本發明應用場景中軟件升級界面(4)的顯示示意圖,用戶甲重新開啟騰訊瀏覽器進程時,只能通過更新后的exe打開,并加載新目錄9.3.6438.400下的文件。而舊版本的qqbrower.exe.old文件不能被打開,或者,直接刪除了qqbrower.exe.old文件。下面對本發明中的軟件升級裝置進行詳細描述,請參閱圖9,本發明實施例中的軟件升級裝置,包括:獲取模塊501,用于獲取目標軟件的待安裝數據包;安裝模塊502,用于當所述目標軟件處于運行狀態時,在所述目標軟件的安裝目錄下安裝所述獲取模塊501獲取的所述待安裝數據包,并生成所述待安裝數據包對應的第一可執行程序;修改模塊503,用于所述安裝模塊502生成所述待安裝數據包對應的第一 可執行程序之后,對所述安裝目錄下的第二可執行程序進行屬性修改,并得到目標文件,所述目標文件為非可執行程序;接收模塊504,用于修改模塊503對所述安裝目錄下的第二可執行程序進行屬性修改之后,當所述目標軟件被關閉后,接收所述目標軟件的啟動指令;啟動模塊505,用于根據所述接收模塊504接收的所述啟動指令,啟動所述安裝模塊安裝的所述第一可執行程序。本實施例中,獲取模塊501獲取目標軟件的待安裝數據包,當目標軟件處于運行狀態時,安裝模塊502在目標軟件的安裝目錄下安裝獲取模塊501獲取的待安裝數據包,并生成待安裝數據包對應的第一可執行程序,安裝模塊502生成待安裝數據包對應的第一可執行程序之后,修改模塊503對安裝目錄下的第二可執行程序進行屬性修改,并得到目標文件,目標文件為非可執行程序,修改模塊503對安裝目錄下的第二可執行程序進行屬性修改之后,當目標軟件被關閉后,接收模塊504接收目標軟件的啟動指令,啟動模塊505根據接收模塊504接收的啟動指令,啟動安裝模塊安裝的第一可執行程序。本發明實施例中,提供了一種軟件升級的方法,軟件升級裝置首先獲取目標軟件的待安裝數據包,當目標軟件處于運行狀態時,在目標軟件的安裝目錄下安裝待安裝數據包,并生成待安裝數據包對應的第一可執行程序,對安裝目錄下的第二可執行程序進行屬性修改,并得到目標文件,目標文件為非可執行程序,當目標軟件被關閉后,接收目標軟件的啟動指令,根據啟動指令,啟動第一可執行程序。通過上述方式進行目標軟件的升級安裝,可以在用戶無感知的情況下,一邊繼續在原有進程中任務,一邊在后臺進行軟件的升級安裝,升級成功后,待系統重啟時,會直接執行升級后的第一可執行程序,而原有的第二可執行程序因為屬性的更改不會被運行,從而完成目標軟件升級,提升用戶體驗,也使得安裝過程更為靈活。可選地,在上述圖9對應的實施例的基礎上,請參閱圖10發明實施例提供的軟件升級裝置50的另一實施例中,軟件升級裝置50還包括:檢測模塊506,用于所述獲取模塊501獲取目標軟件的待安裝數據包之前,檢測所述目標軟件是否存在所述待安裝數據包;下載模塊507,用于若所述檢測模塊506檢測到所述目標軟件存在所述待安裝數據包,則下載所述待安裝數據包。其次,本發明實施例中,還具體說明了軟件升級裝置獲取目標軟件的待安裝數據包之前,檢測目標軟件是否存在待安裝數據包,如果目標軟件存在待安裝數據包,則下載待安裝數據包并進行后續的無感知升級。從而使得本發明方案在實際應用中的可操作性更強,并且也能體現本發明不需要用戶對其進行升級安裝等相關操作,方便快捷的完成軟件升級,提升方案的實用性以及加強用戶體驗。可選地,在上述圖9對應的實施例的基礎上,請參閱圖11發明實施例提供的軟件升級裝置50的另一實施例中,軟件升級裝置50還包括:創建模塊508,用于所述獲取模塊501獲取目標軟件的待安裝數據包之后,在所述安裝目錄下創建第一子目錄;所述安裝模塊502包括:安裝單元5021,用于在所述安裝目錄下的所述第一子目錄安裝所述待安裝數據包。其次,本發明實施例中,在安裝目錄下先創建第一子目錄,然后可以第一子目錄下安裝待安裝數據包。一方面將待安裝數據包中的所有文件歸于第一子目錄,便于一次性進行處理,比如可以直接通過刪除子目錄來刪除待安裝數據包,另一方面將待安裝數據包放置于子目錄里方便與其他文件進行區分,提升方案的可行性。可選地,在上述圖9對應的實施例的基礎上,在本發明實施例中,安裝目錄中包括所述第一子目錄以及第二子目錄,其中,所述第一子目錄對應于所述第一可執行程序,所述第二子目錄對應于所述第二可執行程序,所述第二子目錄用于存儲所述目標軟件的原數據。再次,本發明實施例中,在安裝目錄下建立有第一子目錄和第二子目錄,而第一子目錄和第二子目錄分別存儲了不同的數據,便于區別升級前與升級后的文件,再進行后續處理時有利于提高系統工作的效率,增加方案的可行性和可操作性。可選地,在上述圖11對應的實施例的基礎上,請參閱圖12發明實施例 提供的軟件升級裝置50的另一實施例中,軟件升級裝置50還包括:第一刪除模塊509,用于當所述第二可執行程序的屬性修改失敗時,則刪除所述第一子目錄,并結束流程。再次,本發明實施例中,設定了一種情況,即當第二可執行程序的屬性修改失敗時,刪除第一子目錄,并結束流程。通過這樣的方式進行軟件升級,能夠有效地防止第二可執行程序與第一可執行程序之間造成沖突,在第二可行性程序還為有效程序時,如果第一可執行程序也有效,就會發生沖突運行的情況。由此增強方案的實用性和靈活性,提升用戶體驗。可選地,在上述圖11對應的實施例的基礎上,請參閱圖13發明實施例提供的軟件升級裝置50的另一實施例中,軟件升級裝置50還包括:解壓模塊510,用于所述創建模塊508在所述安裝目錄下創建第一子目錄之后,在所述第一子目錄下解壓縮所述待安裝數據包;第二刪除模塊511,用于當所述解壓模塊510解壓所述待安裝數據包解壓縮失敗時,則刪除所述第一子目錄,并結束流程。再次,本發明實施例中,當待安裝數據包在第一子目錄下解壓縮失敗時,會刪除第一子目錄,并結束流程。通過上述方式可以克服因為解壓失敗導致無效文件殘留在磁盤空間里,并占用系統資源的情況,根據實際情況對解壓失敗的待安裝數據包進行及時地刪除可以有效的避免上述問題,從而使得方案的實用性更強,提升用戶設備的性能。可選地,在上述圖9對應的實施例的基礎上,請參閱圖14發明實施例提供的軟件升級裝置50的另一實施例中,所述修改模塊503包括:更新單元5031,用于將所述安裝目錄下的所述第二可執行程序對應的第一后綴名更改為第二后綴名。其次,本發明實施例中,具體提出了一種如何修改第二可執行程序屬性的方式,可以通過修改第二可執行程序的后綴名來實現該功能。而修改后綴名不但能夠更改第二可執行程序的屬性,還可以根據實際需要對其進行靈活的屬性配置,與此同時,更改后綴的方式簡單有效,不需要占用過多的計算資源來實現該效果,提升了方案的實用性。可選地,在上述圖11、12或13對應的實施例的基礎上,請參閱圖15發明實施例提供的軟件升級裝置50的另一實施例中,軟件升級裝置50還包括:第三刪除模塊512,用于所述啟動模塊505根據所述啟動指令,啟動所述第一可執行程序之后,刪除所述目標文件以及所述第二子目錄。進一步地,本發明實施例中,在軟件升級裝置接收啟動指令并執行第一可執行程序之后,自動刪除目標文件以及第二子目錄。由此可以及時地為系統“瘦身”,增加系統容量,不占用過多的空間,提升資源利用率,加強本發明方案的靈活性和實用性。可選地,在上述圖9對應的實施例的基礎上,請參閱圖16發明實施例提供的軟件升級裝置50的另一實施例中,還原模塊513,用于所述啟動模塊505啟動所述第一可執行程序之后,若所述第一可執行程序運行失敗,則將所述目標文件還原為所述第二可執行程序,并執行所述第二可執行程序。進一步地,本發明實施例中,提供了一種當第一可執行程序運行失敗時的備選方案,若第一可執行程序不能正常運行時,則軟件升級裝置自動將目標文件又還原為第二可執行程序,并且用戶通過打開第二可執行程序來開啟舊版本的目標軟件。通過上述方式進行軟件升級,避免了因為特殊情況導致目標軟件無法運行的情況,即便安裝失敗,也會自動恢復到舊版本,不影響舊版本的正常使用,從而增加的方案的靈活性。可選地,在上述圖16對應的實施例的基礎上,請參閱圖17發明實施例提供的軟件升級裝置50的另一實施例中,第四刪除模塊514,用于所述還原模塊513執行所述第二可執行程序之后,刪除所述第一可執行程序以及所述第一子目錄。更進一步地,本發明實施例中,在第一可執行程序不能正常運行時,自動將目標文件又還原為第二可執行程序,并且通過第二可執行程序來開啟舊版本的目標軟件之后,還可以刪除第一可執行程序以及第一子目錄,從而達到節省系統資源的效果,提升計算效率,增強用戶體驗。本發明實施例還提供了另一種圖像顯示控制裝置,如圖18所示,為了便 于說明,僅示出了與本發明實施例相關的部分,具體技術細節未揭示的,請參照本發明實施例方法部分。該終端可以為包括手機、平板電腦、個人數字助理(英文全稱:personaldigitalassistant,英文縮寫:pda)、銷售終端(英文全稱:pointofsales,英文縮寫:pos)、車載電腦等任意終端設備,以終端為手機為例:圖18示出的是與本發明實施例提供的終端相關的手機的部分結構的框圖。參考圖18,手機包括:射頻(英文全稱:radiofrequency,英文縮寫:rf)電路610、存儲器620、輸入單元630、顯示單元640、傳感器650、音頻電路660、無線保真(英文全稱:wirelessfidelity,英文縮寫:wifi)模塊670、處理器680、以及電源690等部件。本領域技術人員可以理解,圖18中示出的手機結構并不構成對手機的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。下面結合圖18對手機的各個構成部件進行具體的介紹:rf電路610可用于收發信息或通話過程中,信號的接收和發送,特別地,將基站的下行信息接收后,給處理器680處理;另外,將設計上行的數據發送給基站。通常,rf電路610包括但不限于天線、至少一個放大器、收發信機、耦合器、低噪聲放大器(英文全稱:lownoiseamplifier,英文縮寫:lna)、雙工器等。此外,rf電路610還可以通過無線通信與網絡和其他設備通信。上述無線通信可以使用任一通信標準或協議,包括但不限于全球移動通訊系統(英文全稱:globalsystemofmobilecommunication,英文縮寫:gsm)、通用分組無線服務(英文全稱:generalpacketradioservice,英文縮寫:gprs)、碼分多址(英文全稱:codedivisionmultipleaccess,英文縮寫:cdma)、寬帶碼分多址(英文全稱:widebandcodedivisionmultipleaccess,英文縮寫:wcdma)、長期演進(英文全稱:longtermevolution,英文縮寫:lte)、電子郵件、短消息服務(英文全稱:shortmessagingservice,英文縮寫:sms)等。存儲器620可用于存儲軟件程序以及模塊,處理器680通過運行存儲在存儲器620的軟件程序以及模塊,從而執行手機的各種功能應用以及數據處理。存儲器620可主要包括存儲程序區和存儲數據區,其中,存儲程序區可 存儲操作系統、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數據區可存儲根據手機的使用所創建的數據(比如音頻數據、電話本等)等。此外,存儲器620可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態存儲器件。輸入單元630可用于接收輸入的數字或字符信息,以及產生與手機的用戶設置以及功能控制有關的鍵信號輸入。具體地,輸入單元630可包括觸控面板631以及其他輸入設備632。觸控面板631,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板631上或在觸控面板631附近的操作),并根據預先設定的程式驅動相應的連接裝置。可選的,觸控面板631可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉換成觸點坐標,再送給處理器680,并能接收處理器680發來的命令并加以執行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現觸控面板631。除了觸控面板631,輸入單元630還可以包括其他輸入設備632。具體地,其他輸入設備632可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。顯示單元640可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機的各種菜單。顯示單元640可包括顯示面板641,可選的,可以采用液晶顯示器(英文全稱:liquidcrystaldisplay,英文縮寫:lcd)、有機發光二極管(英文全稱:organiclight-emittingdiode,英文縮寫:oled)等形式來配置顯示面板641。進一步的,觸控面板631可覆蓋顯示面板641,當觸控面板631檢測到在其上或附近的觸摸操作后,傳送給處理器680以確定觸摸事件的類型,隨后處理器680根據觸摸事件的類型在顯示面板641上提供相應的視覺輸出。雖然在圖6中,觸控面板631與顯示面板641是作為兩個獨立的部件來實現手機的輸入和輸入功能,但是在某些實施例中,可以將觸控面板631與顯示面板641集成而實現手機的輸入和輸出功能。手機還可包括至少一種傳感器650,比如光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環境光傳感器及接近傳感器,其中,環境光傳感器可根據環境光線的明暗來調節顯示面板641的亮度,接近傳感器可在手機移動到耳邊時,關閉顯示面板641和/或背光。作為運動傳感器的一種,加速計傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態的應用(比如橫豎屏切換、相關游戲、磁力計姿態校準)、振動識別相關功能(比如計步器、敲擊)等;至于手機還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。音頻電路660、揚聲器661,傳聲器662可提供用戶與手機之間的音頻接口。音頻電路660可將接收到的音頻數據轉換后的電信號,傳輸到揚聲器661,由揚聲器661轉換為聲音信號輸出;另一方面,傳聲器662將收集的聲音信號轉換為電信號,由音頻電路660接收后轉換為音頻數據,再將音頻數據輸出處理器680處理后,經rf電路610以發送給比如另一手機,或者將音頻數據輸出至存儲器620以便進一步處理。wifi屬于短距離無線傳輸技術,手機通過wifi模塊670可以幫助用戶收發電子郵件、瀏覽網頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯網訪問。雖然圖6示出了wifi模塊670,但是可以理解的是,其并不屬于手機的必須構成,完全可以根據需要在不改變發明的本質的范圍內而省略。處理器680是手機的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執行存儲在存儲器620內的軟件程序和/或模塊,以及調用存儲在存儲器620內的數據,執行手機的各種功能和處理數據,從而對手機進行整體監控。可選的,處理器680可包括一個或多個處理單元;優選的,處理器680可集成應用處理器和調制解調處理器,其中,應用處理器主要處理操作系統、用戶界面和應用程序等,調制解調處理器主要處理無線通信。可以理解的是,上述調制解調處理器也可以不集成到處理器680中。手機還包括給各個部件供電的電源690(比如電池),優選的,電源可以通過電源管理系統與處理器680邏輯相連,從而通過電源管理系統實現管理充電、放電、以及功耗管理等功能。盡管未示出,手機還可以包括攝像頭、藍牙模塊等,在此不再贅述。在本發明實施例中,該終端所包括的處理器680還具有以下功能:獲取目標軟件的待安裝數據包;當所述目標軟件處于運行狀態時,在所述目標軟件的安裝目錄下安裝所述待安裝數據包,并生成所述待安裝數據包對應的第一可執行程序;對所述安裝目錄下的第二可執行程序進行屬性修改,并得到目標文件,所述目標文件為非可執行程序;當所述目標軟件被關閉后,控制所述輸入單元630接收所述目標軟件的啟動指令;根據所述啟動指令,啟動所述第一可執行程序。所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售 或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質。以上所述,以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。當前第1頁12當前第1頁12