專利名稱:一種回滾方法和回滾裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及應(yīng)用程序維護(hù)技術(shù)領(lǐng)域,特別涉及一種回滾方法和回滾裝置。
背景技術(shù):
當(dāng)操作系統(tǒng)出現(xiàn)故障且用戶不能自行解決時(shí),通常是利用系統(tǒng)光盤重新安裝操作系統(tǒng),利用系統(tǒng)光盤重新安裝操作系統(tǒng)的操作費(fèi)時(shí)費(fèi)力,此外,如果重裝后的操作系統(tǒng)未能達(dá)到用戶期望的狀態(tài),現(xiàn)有技術(shù)中也無法恢復(fù)到操作系統(tǒng)重裝前的狀態(tài)。當(dāng)然,除了操作系統(tǒng)之外,對其他應(yīng)用程序進(jìn)行重裝時(shí)(例如應(yīng)用程序的升級(jí)或修復(fù)重裝),也會(huì)出現(xiàn)重裝后難以恢復(fù)到重裝前的狀態(tài)的問題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種回滾方法和回滾裝置,能夠快速有效地回滾到應(yīng)用對象重裝前的狀態(tài)。為解決上述問題,本發(fā)明提供一種回滾方法,包括在接收到一回滾指令后,獲取備份目錄,所述備份目錄是由原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象時(shí)確定的備份目錄,所述備份目錄中包括所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象時(shí)刪除的文件以及被替換的文件;將所述備份目錄中的文件移動(dòng)或拷貝到所述新應(yīng)用對象中,以實(shí)現(xiàn)應(yīng)用對象的回滾。優(yōu)選的,所述獲取備份目錄之前還包括獲取所述原應(yīng)用對象對應(yīng)的恢復(fù)文件列表;根據(jù)所述恢復(fù)文件列表,獲取所述原應(yīng)用對象中存在而所述恢復(fù)文件列表中不存在的第一文件,以及所述原應(yīng)用對象與所述恢復(fù)文件列表不同的第二文件;將所述第一文件和所述第二文件備份到所述備份目錄中,所述第一文件即所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象時(shí)刪除的文件,所述第二文件即所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象時(shí)被替換的文件。優(yōu)選的,所述獲取備份目錄之前還包括獲取所述原應(yīng)用對象對應(yīng)的關(guān)鍵文件列表;將所述關(guān)鍵文件列表中的文件備份到所述備份目錄中。優(yōu)選的,所述恢復(fù)文件列表和所述關(guān)鍵文件列表是由一服務(wù)器根據(jù)所述原應(yīng)用對象的環(huán)境信息從數(shù)據(jù)庫中選擇并發(fā)送的。優(yōu)選的,所述獲取備份目錄之前還包括記錄所述原應(yīng)用對象中的文件的長文件名和短文件名的對應(yīng)關(guān)系;所述將所述備份目錄中的文件移動(dòng)或拷貝到所述新應(yīng)用對象中之后還包括根據(jù)記錄的所述對應(yīng)關(guān)系,將當(dāng)前應(yīng)用對象中的文件的短文件名恢復(fù)至所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象之前的短文件名。優(yōu)選的,所述獲取備份目錄之前還包括記錄所述原應(yīng)用對象中的文件的鏈接信息;所述將所述備份目錄中的文件移動(dòng)或拷貝到所述新應(yīng)用對象中之后還包括根據(jù)記錄的所述文件的鏈接信息,將當(dāng)前應(yīng)用對象中的文件的鏈接信息恢復(fù)至所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象之前的鏈接信息。優(yōu)選的,所述獲取備份目錄之前還包括記錄所述原應(yīng)用對象中的文件的權(quán)限信息;所述將所述備份目錄中的文件移動(dòng)或拷貝到所述新應(yīng)用對象中之后還包括根據(jù)記錄的所述權(quán)限信息,將當(dāng)前應(yīng)用對象中的文件的權(quán)限信息恢復(fù)至所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象之前的權(quán)限信息。本發(fā)明還提供一種回滾裝置,包括第一獲取模塊,用于在接收到一回滾指令后,獲取備份目錄,所述備份目錄是由原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象時(shí)確定的備份目錄,所述備份目錄中包括所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象時(shí)刪除的文件以及被替換的文件;處理模塊,用于將所述備份目錄中的文件移動(dòng)或 拷貝到所述新應(yīng)用對象中,以實(shí)現(xiàn)應(yīng)用對象的回滾。優(yōu)選的,所述回滾裝置還包括第二獲取模塊,用于獲取所述原應(yīng)用對象對應(yīng)的恢復(fù)文件列表;第三獲取模塊,用于根據(jù)所述恢復(fù)文件列表,獲取所述原應(yīng)用對象中存在而所述恢復(fù)文件列表中不存在的第一文件,以及所述原應(yīng)用對象與所述恢復(fù)文件列表不同的第二文件;第一備份模塊,用于將所述第一文件和所述第二文件備份到所述備份目錄中,所述第一文件即所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象時(shí)刪除的文件,所述第二文件即所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象時(shí)被替換的文件。優(yōu)選的,所述回滾裝置還包括第四獲取模塊,用于獲取所述原應(yīng)用對象對應(yīng)的關(guān)鍵文件列表;第二備份模塊,用于將所述關(guān)鍵文件列表中的文件備份到所述備份目錄中。優(yōu)選的,所述回滾裝置還包括第一記錄模塊,用于記錄所述原應(yīng)用對象中的文件的長文件名和短文件名的對應(yīng)關(guān)系;第一恢復(fù)模塊,用于根據(jù)記錄的所述對應(yīng)關(guān)系,將當(dāng)前應(yīng)用對象中的文件的短文件名恢復(fù)至所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象之前的短文件名。優(yōu)選的,所述回滾裝置還包括第二記錄模塊,用于記錄所述原應(yīng)用對象中的文件的鏈接信息;第二恢復(fù)模塊,用于根據(jù)記錄的所述文件的鏈接信息,將當(dāng)前應(yīng)用對象中的文件的鏈接信息恢復(fù)至所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象之前的鏈接信息。優(yōu)選的,所述回滾裝置還包括第三記錄模塊,用于記錄所述原應(yīng)用對象中的文件的權(quán)限信息;第三恢復(fù)模塊,用于根據(jù)記錄的所述權(quán)限信息,將當(dāng)前應(yīng)用對象中的文件的權(quán)限信息恢復(fù)至所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象之前的權(quán)限信息。本發(fā)明具有以下有益效果對原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象時(shí)刪除的文件以及被替換的文件進(jìn)行備份,根據(jù)上述備份文件能夠快速有效地實(shí)現(xiàn)應(yīng)用對象的回滾。對原應(yīng)用對象的關(guān)鍵文件進(jìn)行備份,解決了應(yīng)用對象回滾時(shí)關(guān)鍵文件不兼容的問題。對原應(yīng)用對象的文件的長文件名和短文件名的對應(yīng)關(guān)系進(jìn)行備份,以保證應(yīng)用對象回滾時(shí)文件的長文件名和短文件名相匹配。對原應(yīng)用對象的文件的鏈接信息進(jìn)行備份,以保證應(yīng)用對象回滾時(shí)能夠鏈接到正確的文件。對原應(yīng)用對象的文件的權(quán)限信息進(jìn)行備份,以避免在原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象時(shí)文件的權(quán)限信息發(fā)生改變,而導(dǎo)致應(yīng)用對象回滾后無法正常進(jìn)入應(yīng)用對象或者應(yīng)用對象發(fā)生異常的問題。通過與遠(yuǎn)程服務(wù)器配合,能夠方便快速地實(shí)現(xiàn)應(yīng)用對象的重裝和回滾。
圖I為本發(fā)明實(shí)施例的回滾方法的流程示意圖;圖2為本發(fā)明的操作系統(tǒng)的回滾方法的一流程示意圖;圖3為本發(fā)明實(shí)施例的操作系統(tǒng)的回滾方法的另一流程示意圖;圖4為本發(fā)明實(shí)施例的回滾裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例,對本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì)描述。如圖I所示為本發(fā)明的回滾方法的一流程示意圖,該回滾方法包括以下步驟 步驟101,在接收到一回滾指令后,獲取備份目錄,備份目錄是由原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象時(shí)確定的備份目錄,備份目錄中包括原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象時(shí)刪除的文件以及被替換的文件;步驟102,將備份目錄中的文件移動(dòng)或拷貝到新應(yīng)用對象中,以實(shí)現(xiàn)應(yīng)用對象的回滾。在回滾時(shí),可以將備份目錄中的文件拷貝到新應(yīng)用對象中,該種方式下,在應(yīng)用對象回滾后,備份目錄中的文件仍然會(huì)保留。另外,為了節(jié)省存儲(chǔ)空間,還可以將備份目錄中的文件直接移動(dòng)到新應(yīng)用對象中。在將備份目錄中的文件移動(dòng)或拷貝到新應(yīng)用對象中時(shí),如果新應(yīng)用對象中存在與備份目錄中的文件相同的文件,則直接將該相同的文件覆蓋即可。上述應(yīng)用對象可以是操作系統(tǒng)或其他應(yīng)用程序,以下實(shí)施例中以應(yīng)用對象是操作系統(tǒng)為例,對本發(fā)明的回滾方法進(jìn)行詳細(xì)說明。如圖2所示為本發(fā)明的操作系統(tǒng)的回滾方法的一流程示意圖,包括以下步驟步驟201,獲取操作系統(tǒng)對應(yīng)的恢復(fù)文件列表;該恢復(fù)文件列表記錄的是用于重裝該操作系統(tǒng)的系統(tǒng)文件的名稱,該恢復(fù)文件列表以及其對應(yīng)的系統(tǒng)文件可以存儲(chǔ)于本地,也可以存儲(chǔ)于遠(yuǎn)程服務(wù)器上,或者存儲(chǔ)于一光盤中。當(dāng)系統(tǒng)文件列表以及其對應(yīng)的系統(tǒng)文件存儲(chǔ)于遠(yuǎn)程服務(wù)器上時(shí),還需要與服務(wù)器進(jìn)行交互,以下載該恢復(fù)文件列表以及其對應(yīng)的系統(tǒng)文件。步驟202,對原操作系統(tǒng)文件進(jìn)行掃描,并根據(jù)恢復(fù)文件列表對原操作系統(tǒng)文件進(jìn)行驗(yàn)證,獲取以下幾種文件原應(yīng)用對象中存在而恢復(fù)文件列表中不存在的第一文件,原應(yīng)用對象與恢復(fù)文件列表不同的第二文件,以及原應(yīng)用對象中不存在而恢復(fù)文件列表中存在的第三文件;原操作系統(tǒng)文件是指原操作系統(tǒng)所在的硬盤分區(qū)中的文件,通常包括系統(tǒng)文件和用戶數(shù)據(jù)文件。步驟203,將第一文件和第二文件備份到備份目錄中,第一文件即上述實(shí)施例中提到的原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象時(shí)需要?jiǎng)h除的文件,第二文件即上述實(shí)施例中提到的原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象時(shí)被替換的文件;具體的,是將第一文件移動(dòng)到備份目錄中,將第二文件拷貝到備份目錄中。在將文件移動(dòng)或拷貝到備份目錄時(shí),需要同時(shí)記錄文件在原操作系統(tǒng)中的文件路徑,以便回滾時(shí)能夠根據(jù)記錄的文件路徑,將該文件移動(dòng)或拷貝到新操作系統(tǒng)中的正確位置。步驟204,獲取上述第二文件和第三文件,并利用第二文件和第三文件更新原操作系統(tǒng),以完成原操作系統(tǒng)到新操作系統(tǒng)的轉(zhuǎn)換;上述步驟中已經(jīng)提到,恢復(fù)文件列表對應(yīng)的系統(tǒng)文件可以存儲(chǔ)于本地、光盤或者服務(wù)器上,當(dāng)恢復(fù)文件列表對應(yīng)的系統(tǒng)文件存儲(chǔ)于服務(wù)器上時(shí),還需要從服務(wù)器上下載系統(tǒng)文件,如果將該恢復(fù)文件列表中所有的系統(tǒng)文件均下載下來的話,將會(huì)極大地增加系統(tǒng)的負(fù)擔(dān),因此,優(yōu)選的,可以僅下載以下兩種文件原應(yīng)用對象與恢復(fù)文件列表不同的第二文件,以及原應(yīng)用對象中不存在而恢復(fù)文件列表中存在的第三文件,原應(yīng)用對象與恢復(fù)文件列表中相同的文件則無需下載。此外,還存在另外一種優(yōu)選的下載方式,即在下載系統(tǒng)文件之前,針對原操作系統(tǒng)與恢復(fù)文件列表不同的第二文件,可以首先在本地(本地硬盤或光盤)上搜索,判斷本地是否存儲(chǔ)有相同特征的文件,如果本地存儲(chǔ)有相同特征的文件,則從本地獲取即可,無需到服務(wù)器上下載,該種方式能夠進(jìn)一步減少下載時(shí)的網(wǎng)絡(luò)負(fù)擔(dān)。 完成上述第二文件和第三文件的下載后,可以利用下載的文件替換原操作系統(tǒng)文件,并重新配置操作系統(tǒng),以完成原操作系統(tǒng)到新操作系統(tǒng)的轉(zhuǎn)換,也即完成操作系統(tǒng)的重裝。步驟205,接收到回滾指令后,將備份目錄中的文件移動(dòng)或拷貝到新操作系統(tǒng)中,以完成操作系統(tǒng)的回滾。具體的,將備份目錄中的文件按照之前記錄的其在原操作系統(tǒng)中的文件路徑,移動(dòng)或拷貝到新操作系統(tǒng)中的正確位置,當(dāng)新操作系統(tǒng)中存在與備份目錄中的文件相同的文件時(shí),直接將新操作系統(tǒng)中相同文件覆蓋即可。通過上述實(shí)施例提供的回滾方法,當(dāng)重裝后的新操作系統(tǒng)沒有達(dá)到用戶期望的狀態(tài)時(shí),可以根據(jù)上述回滾方法完成操作系統(tǒng)的回滾,恢復(fù)到重裝前操作系統(tǒng)的狀態(tài)。在重裝過程中,可能會(huì)由于補(bǔ)丁升級(jí)等原因,使得新操作系統(tǒng)的系統(tǒng)關(guān)鍵文件被修改,如果在操作系統(tǒng)重裝前沒有對該系統(tǒng)關(guān)鍵文件進(jìn)行備份,則在操作系統(tǒng)回滾時(shí),很可能會(huì)導(dǎo)致回滾后的文件與該系統(tǒng)關(guān)鍵文件不匹配,從而使得回滾后的操作系統(tǒng)無法正常運(yùn)行。為了解決上述問題,本發(fā)明實(shí)施例中,可以在重裝操作系統(tǒng)之前,獲取一系統(tǒng)關(guān)鍵文件列表,并將系統(tǒng)關(guān)鍵文件列表中的原操作系統(tǒng)文件備份到備份目錄中。也就是說,對系統(tǒng)關(guān)鍵文件進(jìn)行備份。系統(tǒng)關(guān)鍵文件是指操作系統(tǒng)正常運(yùn)行時(shí)必須的文件,可以存儲(chǔ)于本地,也可以存儲(chǔ)于遠(yuǎn)程服務(wù)器中,或者存儲(chǔ)于光盤中。在操作系統(tǒng)回滾時(shí),可以將備份目錄中的系統(tǒng)關(guān)鍵文件移動(dòng)或拷貝新操作系統(tǒng)中,以避免操作系統(tǒng)回滾后出現(xiàn)文件不兼容的問題。每一文件均具有一長文件名和一短文件名,長文件名可以超過8個(gè)字符,短文件名不能超過8個(gè)字符,短文件名是根據(jù)文件的長文件名、生成時(shí)間等因素生成,舉例來說,C:\Program Files 目錄下的 Microsoft Games 的短文件名是 MICROS I, MicrosoftOffice的短文件名是MICROS 3。在操作系統(tǒng)回滾過程中,如果將被移動(dòng)到備份目錄中文件再移動(dòng)回來的話,其短文件名可能會(huì)發(fā)生變化,從而導(dǎo)致該文件無法被找到。為了解決上述問題,本發(fā)明實(shí)施例中,可以在重裝操作系統(tǒng)之前,記錄原操作系統(tǒng)文件的長文件名和短文件名的對應(yīng)關(guān)系,在操作系統(tǒng)回滾時(shí),根據(jù)記錄的對應(yīng)關(guān)系,將當(dāng)前操作系統(tǒng)中的文件的短文件名恢復(fù)至原操作系統(tǒng)轉(zhuǎn)換成新操作系統(tǒng)之前的短文件名。具體的,可以通過兩種方式恢復(fù)原操作系統(tǒng)文件的短文件名,一種方式是在回滾后直接修改當(dāng)前操作系統(tǒng)文件的短文件名,另一種方式是根據(jù)備份目錄中的原操作系統(tǒng)文件的短文件名的生成順序,將備份目錄中的原操作系統(tǒng)文件依次移動(dòng)或拷貝回去。在操作系統(tǒng)中,一個(gè)文件可能會(huì)存在多個(gè)版本,舉例來說,winsxs目錄里包含了 3個(gè)版本的gdiplus. dll文件,system32目錄里也包括了 I個(gè)gdiplus. dll文件,system32目錄里的gdiplus. dll文件指向winsxs目錄里的其中I個(gè)版本的gdiplus. dll文件,該指向即是system32目錄里的gdiplus. dll文件的鏈接信息。在重裝操作系統(tǒng)后,文件的鏈接信息可能會(huì)發(fā)生變化,因此,在操作系統(tǒng)重裝前,可以記錄system32目錄里的gdiplus. dll文件的鏈接信息,在操作系統(tǒng)回滾時(shí)還原其鏈接信息。也就是說,可以在重裝操作系統(tǒng)之前,記錄原操作系統(tǒng)文件的鏈接信息;在操作系統(tǒng)回滾時(shí),根據(jù)記錄的文件鏈接信息,將當(dāng)前操作系統(tǒng)中的文件的鏈接信息恢復(fù)至原操作 系統(tǒng)轉(zhuǎn)換成新操作系統(tǒng)之前的鏈接信息。在重裝操作系統(tǒng)時(shí),一些文件的權(quán)限可能會(huì)發(fā)生變化,舉例來說,在操作系統(tǒng)重裝前,C: \windows\al文件的所有者是administrator,在操作系統(tǒng)重裝后,administrator的用戶是新建的,所以其SID (Security Identif iers,安全標(biāo)識(shí)符)會(huì)發(fā)生變化,從而導(dǎo)致al文件之前的權(quán)限丟失。在操作系統(tǒng)回滾時(shí),可能會(huì)導(dǎo)致進(jìn)不了操作系統(tǒng),或者操作系統(tǒng)異常等情況。為了解決上述問題,本發(fā)明實(shí)施例中,可以在重裝操作系統(tǒng)之前,記錄原操作系統(tǒng)文件的權(quán)限信息;在操作系統(tǒng)回滾時(shí),根據(jù)記錄的權(quán)限信息,將當(dāng)前操作系統(tǒng)中的文件的權(quán)限信息恢復(fù)至原操作系統(tǒng)轉(zhuǎn)換成新操作系統(tǒng)之前的權(quán)限信息。由于原操作系統(tǒng)文件數(shù)量較多,如果通過枚舉的方式記錄所有原操作系統(tǒng)文件的權(quán)限信息,將會(huì)浪費(fèi)系統(tǒng)資源。由于一個(gè)文件目錄下的文件的權(quán)限通常相同,因此,本發(fā)明實(shí)施例中,可以僅記錄文件目錄的權(quán)限信息,而不逐個(gè)記錄該目錄下的每個(gè)文件的權(quán)限信
肩、O上述實(shí)施例中已經(jīng)提到,可以通過與遠(yuǎn)程服務(wù)器交互的方式執(zhí)行操作系統(tǒng)的回滾,下面將對該種方式進(jìn)行詳細(xì)說明。本發(fā)明實(shí)施例中的遠(yuǎn)程服務(wù)器具有一數(shù)據(jù)庫,該數(shù)據(jù)庫中存儲(chǔ)有多個(gè)版本的系統(tǒng)文件以及其對應(yīng)的恢復(fù)文件列表和關(guān)鍵文件列表?;谏鲜龇?wù)器,如圖3所示,本發(fā)明的操作系統(tǒng)的回滾方法包括以下步驟步驟301,在需要重裝操作系統(tǒng)時(shí),向服務(wù)器發(fā)送本地操作系統(tǒng)(即原操作系統(tǒng))的環(huán)境信息,該環(huán)境信息包括原操作系統(tǒng)的版本、SP(服務(wù)提供商)版本、語言、處理器類型(X86、X64等)以及安裝的軟件和補(bǔ)丁等。步驟302,接收服務(wù)器根據(jù)提供的環(huán)境信息從數(shù)據(jù)庫中選擇并發(fā)送的與原操作系統(tǒng)相匹配的恢復(fù)文件列表和關(guān)鍵文件列表。步驟303,掃描原操作系統(tǒng)文件,并根據(jù)恢復(fù)文件列表對原操作系統(tǒng)文件進(jìn)行驗(yàn)證,得到待下載文件列表和待備份文件列表,待下載的文件包括原操作系統(tǒng)與恢復(fù)文件列表不同的第二文件以及原操作系統(tǒng)中不存在而恢復(fù)文件列表中存在的第三文件,待備份的文件包括關(guān)鍵文件列表中的文件、原操作系統(tǒng)中存在而恢復(fù)文件列表中不存在的第一文件,以及原操作系統(tǒng)與恢復(fù)文件列表不同的第二文件。步驟304,將待備份文件列表中的文件備份到備份目錄中。步驟305,根據(jù)待下載文件列表從服務(wù)器下載系統(tǒng)文件,并利用下載的系統(tǒng)文件更新原操作系統(tǒng),完成原操作系統(tǒng)到新操作系統(tǒng)的轉(zhuǎn)換,即完成操作系統(tǒng)的重裝。步驟306,在接收到回滾指令后,將備份目錄中的文件移動(dòng)或拷貝到新操作系統(tǒng),完成操作系統(tǒng)的回滾。為方便理解,下面將舉例進(jìn)行說明。假設(shè)原操作系統(tǒng)文件包括A、B、C、E,從服務(wù)器下載的恢復(fù)文件列表包括A1、B、C、D,關(guān)鍵文件列表包括A和B。
掃描原操作系統(tǒng)文件,并根據(jù)恢復(fù)文件列表對原操作系統(tǒng)文件進(jìn)行驗(yàn)證,得到以下驗(yàn)證結(jié)果I)原操作系統(tǒng)文件中不包括D,需要從服務(wù)器下載;2)原操作系統(tǒng)文件中的A和恢復(fù)文件列表中的Al不符合,需要從服務(wù)器下載,同時(shí)將A備份到備份目錄中;3)原操作系統(tǒng)文件E不在恢復(fù)文件列表中,將E移動(dòng)到備份目錄中;4)將關(guān)鍵文件A、B備份到備份目錄中。從上述內(nèi)容可知,備份目錄中包括A、B、E。在上述備份過程中,還需要記錄原操作系統(tǒng)的文件的長文件名和短文件名的對應(yīng)關(guān)系、鏈接信息以及權(quán)限信息。根據(jù)從服務(wù)器下載的Al和D,重裝操作系統(tǒng),完成原操作系統(tǒng)到新操作系統(tǒng)的轉(zhuǎn)換,新操作系統(tǒng)文件包括:A1、B、C、D。操作系統(tǒng)回滾時(shí),將備份目錄中的A、B、E移動(dòng)或拷貝到新操作系統(tǒng),并根據(jù)記錄的原操作系統(tǒng)的文件的長文件名和短文件名的對應(yīng)關(guān)系、鏈接信息、以及權(quán)限信息,將當(dāng)前操作系統(tǒng)文件的短文件名、鏈接信息以及權(quán)限信息恢復(fù)到原操作系統(tǒng)轉(zhuǎn)換成新操作系統(tǒng)之前的短文件名、鏈接信息以及權(quán)限信息,至此,完成操作系統(tǒng)的回滾,回滾后的操作系統(tǒng)文件包括A、B、C、D、E。上述實(shí)施例中是以操作系統(tǒng)為例對本發(fā)明的回滾方法進(jìn)行說明,當(dāng)然,上述方法也可以應(yīng)用于其他應(yīng)用程序的回滾,例如在應(yīng)用程序的升級(jí)重裝過程中,可以在重裝前對應(yīng)用程序的相關(guān)文件(關(guān)鍵文件、原應(yīng)用程序轉(zhuǎn)換為新應(yīng)用程序時(shí)需要?jiǎng)h除的文件以及被替換的文件)備份到一備份目錄中,同時(shí)記錄該文件在原應(yīng)用程序中的文件路徑,此外,還可以記錄應(yīng)用程序中的文件的長文件名和短文件名的對應(yīng)關(guān)系、文件的鏈接信息以及文件的權(quán)限信息等信息,然后再進(jìn)行升級(jí)重裝。當(dāng)需要回滾時(shí),將備份目錄中的文件直接移動(dòng)或拷貝到新應(yīng)用程序中,以完成應(yīng)用程序的回滾。對應(yīng)于上述回滾方法,本發(fā)明還提供一種回滾裝置,如圖4所示,該回滾裝置包括第一獲取模塊,用于在接收到一回滾指令后,獲取備份目錄,備份目錄是由原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象時(shí)確定的備份目錄,備份目錄中包括原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象時(shí)刪除的文件以及被替換的文件;處理模塊,用于將備份目錄中的文件移動(dòng)或拷貝到新應(yīng)用對象中,以實(shí)現(xiàn)應(yīng)用對象的回滾。為了確定上述備份目錄,本發(fā)明的回滾裝置還包括第二獲取模塊,用于獲取原應(yīng)用對象對應(yīng)的恢復(fù)文件列表;第三獲取模塊,用于根據(jù)恢復(fù)文件列表,獲取原應(yīng)用對象中存在而恢復(fù)文件列表中不存在的第一文件,以及原應(yīng)用對象與恢復(fù)文件列表不同的第二文件;第一備份模塊,用于將第一文件和第二文件備份到備份目錄中,第一文件即原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象時(shí)刪除的文件,第二文件即原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象時(shí)被替換的文件。該恢復(fù)文件列表記錄的是用于重裝該應(yīng)用對象的恢復(fù)文件的名稱,該恢復(fù)文件列表以及其對應(yīng)的恢復(fù)文件可以存儲(chǔ)于本地,也可以存儲(chǔ)于遠(yuǎn)程服務(wù)器上,或者存儲(chǔ)于一光盤中。當(dāng)系統(tǒng)文件列表以及其對應(yīng)的恢復(fù)文件存儲(chǔ)于遠(yuǎn)程服務(wù)器上時(shí),還需要與服務(wù)器進(jìn)行交互,以下載該恢復(fù)文件列表以及其對應(yīng)的恢復(fù)文件。在應(yīng)用對象重裝過程中,可能會(huì)由于補(bǔ)丁升級(jí)等原因,使得新應(yīng)用對象的關(guān)鍵文件被修改,如果在應(yīng)用對象重裝前沒有對該關(guān)鍵文件進(jìn)行備份,則在應(yīng)用對象回滾時(shí),很可能會(huì)導(dǎo)致回滾后的文件與該關(guān)鍵文件不匹配,從而使得回滾后的應(yīng)用對象無法正常運(yùn)行。為了解決上述問題,本發(fā)明實(shí)施例的回滾裝置還包括第四獲取模塊,用于獲取原 應(yīng)用對象對應(yīng)的關(guān)鍵文件列表;第二備份模塊,用于將關(guān)鍵文件列表中的文件備份到備份目錄中。為了避免應(yīng)用對象回滾后,當(dāng)前應(yīng)用對象中的文件的長文件名與短文件名不匹配的問題,本發(fā)明的回滾裝置還包括第一記錄模塊,用于記錄原應(yīng)用對象中的文件的長文件名和短文件名的對應(yīng)關(guān)系;第一恢復(fù)模塊,用于根據(jù)記錄的對應(yīng)關(guān)系,將當(dāng)前應(yīng)用對象中的文件的短文件名恢復(fù)至原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象之前的短文件名。為了避免應(yīng)用對象回滾后,當(dāng)前應(yīng)用對象中的文件的鏈接信息無法指向真實(shí)的文件,本發(fā)明的回滾裝置還包括第二記錄模塊,用于記錄原應(yīng)用對象中的文件的鏈接信息;第二恢復(fù)模塊,用于根據(jù)記錄的文件的鏈接信息,將當(dāng)前應(yīng)用對象中的文件的鏈接信息恢復(fù)至原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象之前的鏈接信息。為了避免應(yīng)用對象重裝后,新應(yīng)用對象中的文件的權(quán)限信息發(fā)生變化,本發(fā)明的回滾裝置還包括第三記錄模塊,用于記錄原應(yīng)用對象中的文件的權(quán)限信息;第三恢復(fù)模塊,用于根據(jù)記錄的權(quán)限信息,將當(dāng)前應(yīng)用對象中的文件的權(quán)限信息恢復(fù)至原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象之前的權(quán)限信息。上述應(yīng)用對象可以是操作系統(tǒng),也可以是其他應(yīng)用程序。此說明書中所描述的許多功能部件都被稱為模塊,以便更加特別地強(qiáng)調(diào)其實(shí)現(xiàn)方式的獨(dú)立性。本發(fā)明實(shí)施例中,模塊可以用軟件實(shí)現(xiàn),以便由各種類型的處理器執(zhí)行。舉例來說,一個(gè)標(biāo)識(shí)的可執(zhí)行代碼模塊可以包括指令的一個(gè)或多個(gè)物理或者邏輯塊,舉例來說,其可以被構(gòu)建為對象、過程或函數(shù)。盡管如此,所標(biāo)識(shí)模塊的可執(zhí)行代碼無需物理地位于一起,而是可以包括存儲(chǔ)在不同位里上的不同的指令,當(dāng)這些指令邏輯上結(jié)合在一起時(shí),其構(gòu)成模塊并且實(shí)現(xiàn)該模塊的規(guī)定目的。實(shí)際上,可執(zhí)行代碼模塊可以是單條指令或者是許多條指令,并且甚至可以分布在多個(gè)不同的代碼段上,分布在不同程序當(dāng)中,以及跨越多個(gè)存儲(chǔ)器設(shè)備分布。同樣地,操作數(shù)據(jù)可以在模塊內(nèi)被識(shí)別,并且可以依照任何適當(dāng)?shù)男问綄?shí)現(xiàn)并且被組織在任何適當(dāng)類型的數(shù)據(jù)結(jié)構(gòu)內(nèi)。所述操作數(shù)據(jù)可以作為單個(gè)數(shù)據(jù)集被收集,或者可以分布在不同位置上(包括在不同存儲(chǔ)設(shè)備上),并且至少部分地可以僅作為電子信號(hào)存在于系統(tǒng)或網(wǎng)絡(luò)上。在模塊可以利用軟件實(shí)現(xiàn)時(shí),考慮到現(xiàn)有硬件工藝的水平,所以可以以軟件實(shí)現(xiàn)的模塊,在不考慮成本的情況下,本領(lǐng)域技術(shù)人員都可以搭建對應(yīng)的硬件電路來實(shí)現(xiàn)對應(yīng)的功能,所述硬件電路包括常規(guī)的超大規(guī)模集成(VLSI)電路或者門陣列以及諸如邏輯芯片、晶體管之類的現(xiàn)有半導(dǎo)體或者是其它分立的元件。模塊還可以用可編程硬件設(shè)備,諸如現(xiàn)場可編程門陣列、可編程陣列邏輯、可編程邏輯設(shè)備等實(shí)現(xiàn)。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍?!?br>
權(quán)利要求
1.一種回滾方法,其特征在于,包括 在接收到一回滾指令后,獲取備份目錄,所述備份目錄是由原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象時(shí)確定的備份目錄,所述備份目錄中包括所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象時(shí)刪除的文件以及被替換的文件; 將所述備份目錄中的文件移動(dòng)或拷貝到所述新應(yīng)用對象中,以實(shí)現(xiàn)應(yīng)用對象的回滾。
2.如權(quán)利要求I所述的回滾方法,其特征在于,所述獲取備份目錄之前還包括 獲取所述原應(yīng)用對象對應(yīng)的恢復(fù)文件列表; 根據(jù)所述恢復(fù)文件列表,獲取所述原應(yīng)用對象中存在而所述恢復(fù)文件列表中不存在的第一文件,以及所述原應(yīng)用對象與所述恢復(fù)文件列表不同的第二文件; 將所述第一文件和所述第二文件備份到所述備份目錄中,所述第一文件即所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象時(shí)刪除的文件,所述第二文件即所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象時(shí)被替換的文件。
3.如權(quán)利要求I或2所述的回滾方法,其特征在于,所述獲取備份目錄之前還包括 獲取所述原應(yīng)用對象對應(yīng)的關(guān)鍵文件列表; 將所述關(guān)鍵文件列表中的文件備份到所述備份目錄中。
4.如權(quán)利要求3所述的回滾方法,其特征在于,所述恢復(fù)文件列表和所述關(guān)鍵文件列表是由一服務(wù)器根據(jù)所述原應(yīng)用對象的環(huán)境信息從數(shù)據(jù)庫中選擇并發(fā)送的。
5.如權(quán)利要求I所述的回滾方法,其特征在于 所述獲取備份目錄之前還包括記錄所述原應(yīng)用對象中的文件的長文件名和短文件名的對應(yīng)關(guān)系; 所述將所述備份目錄中的文件移動(dòng)或拷貝到所述新應(yīng)用對象中之后還包括根據(jù)記錄的所述對應(yīng)關(guān)系,將當(dāng)前應(yīng)用對象中的文件的短文件名恢復(fù)至所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象之前的短文件名。
6.如權(quán)利要求I所述的回滾方法,其特征在于 所述獲取備份目錄之前還包括記錄所述原應(yīng)用對象中的文件的鏈接信息; 所述將所述備份目錄中的文件移動(dòng)或拷貝到所述新應(yīng)用對象中之后還包括根據(jù)記錄的所述文件的鏈接信息,將當(dāng)前應(yīng)用對象中的文件的鏈接信息恢復(fù)至所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象之前的鏈接信息。
7.如權(quán)利要求I所述的回滾方法,其特征在于 所述獲取備份目錄之前還包括記錄所述原應(yīng)用對象中的文件的權(quán)限信息; 所述將所述備份目錄中的文件移動(dòng)或拷貝到所述新應(yīng)用對象中之后還包括根據(jù)記錄的所述權(quán)限信息,將當(dāng)前應(yīng)用對象中的文件的權(quán)限信息恢復(fù)至所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象之前的權(quán)限信息。
8.一種回滾裝置,其特征在于,包括 第一獲取模塊,用于在接收到一回滾指令后,獲取備份目錄,所述備份目錄是由原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象時(shí)確定的備份目錄,所述備份目錄中包括所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象時(shí)刪除的文件以及被替換的文件; 處理模塊,用于將所述備份目錄中的文件移動(dòng)或拷貝到所述新應(yīng)用對象中,以實(shí)現(xiàn)應(yīng)用對象的回滾。
9.如權(quán)利要求8所述的回滾裝置,其特征在于,還包括 第二獲取模塊,用于獲取所述原應(yīng)用對象對應(yīng)的恢復(fù)文件列表; 第三獲取模塊,用于根據(jù)所述恢復(fù)文件列表,獲取所述原應(yīng)用對象中存在而所述恢復(fù)文件列表中不存在的第一文件,以及所述原應(yīng)用對象與所述恢復(fù)文件列表不同的第二文件; 第一備份模塊,用于將所述第一文件和所述第二文件備份到所述備份目錄中,所述第一文件即所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象時(shí)刪除的文件,所述第二文件即所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象時(shí)被替換的文件。
10.如權(quán)利要求8所述的回滾裝置,其特征在于,還包括 第四獲取模塊,用于獲取所述原應(yīng)用對象對應(yīng)的關(guān)鍵文件列表; 第二備份模塊,用于將所述關(guān)鍵文件列表中的文件備份到所述備份目錄中。
11.如權(quán)利要求8所述的回滾裝置,其特征在于,還包括 第一記錄模塊,用于記錄所述原應(yīng)用對象中的文件的長文件名和短文件名的對應(yīng)關(guān)系; 第一恢復(fù)模塊,用于根據(jù)記錄的所述對應(yīng)關(guān)系,將當(dāng)前應(yīng)用對象中的文件的短文件名恢復(fù)至所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象之前的短文件名。
12.如權(quán)利要求8所述的回滾裝置,其特征在于,還包括 第二記錄模塊,用于記錄所述原應(yīng)用對象中的文件的鏈接信息; 第二恢復(fù)模塊,用于根據(jù)記錄的所述文件的鏈接信息,將當(dāng)前應(yīng)用對象中的文件的鏈接信息恢復(fù)至所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象之前的鏈接信息。
13.如權(quán)利要求8所述的回滾裝置,其特征在于,還包括 第三記錄模塊,用于記錄所述原應(yīng)用對象中的文件的權(quán)限信息;第三恢復(fù)模塊,用于根據(jù)記錄的所述權(quán)限信息,將當(dāng)前應(yīng)用對象中的文件的權(quán)限信息恢復(fù)至所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象之前的權(quán)限信息。
全文摘要
本發(fā)明提供一種回滾方法和回滾裝置,所述回滾方法包括在接收到一回滾指令后,獲取備份目錄,所述備份目錄是由原應(yīng)用對象轉(zhuǎn)換成新應(yīng)用對象時(shí)確定的備份目錄,所述備份目錄中包括所述原應(yīng)用對象轉(zhuǎn)換成所述新應(yīng)用對象時(shí)刪除的文件以及被替換的文件;將所述備份目錄中的文件移動(dòng)或拷貝到所述新應(yīng)用對象中,以實(shí)現(xiàn)應(yīng)用對象的回滾。本發(fā)明能夠快速有效地恢復(fù)到應(yīng)用對象重裝前的狀態(tài)。
文檔編號(hào)G06F11/14GK102841824SQ20111017162
公開日2012年12月26日 申請日期2011年6月23日 優(yōu)先權(quán)日2011年6月23日
發(fā)明者徐鳴, 羅鵬, 石淼磊, 陳志強(qiáng), 張康宗, 趙旭, 羅勇, 鄭有勝 申請人:珠海市君天電子科技有限公司, 北京金山安全軟件有限公司, 可牛網(wǎng)絡(luò)技術(shù)(北京)有限公司