一種文件修改的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種文件修改的方法及系統(tǒng),在對文件進行修改時,生成一個恢復(fù)文件,此恢復(fù)文件記錄了修改指令對文件中的內(nèi)容進行修改的數(shù)據(jù)塊地址及數(shù)據(jù)塊內(nèi)容,如果修改完成,則刪除此恢復(fù)文件,如果修改中斷,則可以根據(jù)此恢復(fù)文件修復(fù)文件,從而保證文件不會損壞,避免影響與此文件相關(guān)的應(yīng)用及操作。在讀取文件時,首先檢測是否存在恢復(fù)文件,若存在,則根據(jù)此恢復(fù)文件修復(fù)文件,保證讀取操作的正確性。
【專利說明】一種文件修改的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及文件修改,特別是一種通過應(yīng)用程序?qū)ξ募M行修改的方法及系統(tǒng)?!颈尘凹夹g(shù)】
[0002]應(yīng)用程序?qū)ξ募M行修改的過程中,如果因為某些不確定的因素導(dǎo)致修改中斷,致使被修改的文件處于一個中間狀態(tài)。此中間狀態(tài)的文件由于其中的某些數(shù)據(jù)已經(jīng)被執(zhí)行了修改、刪除、位移等操作,因而無法返回到修改前的狀態(tài),而應(yīng)用程序由于修改的中斷,亦無法繼續(xù)對此中間狀態(tài)的文件進行后續(xù)修改。這樣便導(dǎo)致了該文件的損壞,進而對于涉及到與此文件有關(guān)的應(yīng)用及操作,都會受到影響,對于一些大型游戲軟件、辦公軟件及企業(yè)應(yīng)用軟件等則會帶來明顯的不便。
【發(fā)明內(nèi)容】
[0003]為解決上述問題,本發(fā)明的目的在于提供一種應(yīng)用于文件修改的方法及系統(tǒng),在文件修改中斷時,對文件進行恢復(fù),防止因文件修改中斷致使文件損壞,進而影響與此文件相關(guān)的應(yīng)用及操作。
[0004]本發(fā)明解決其問題所采用的技術(shù)方案是:
一種文件修改的方法,包括:
接收修改指令,并根據(jù)修改指令生成對應(yīng)的恢復(fù)文件,所述修改指令包含有修改區(qū)間,所述修改區(qū)間記錄對應(yīng)的所述文件中需要修改的數(shù)據(jù)塊在此文件中的地址區(qū)間,所述恢復(fù)文件記錄此修改區(qū)間和對應(yīng)的所述文件中需要修改的數(shù)據(jù)塊;以及
根據(jù)修改指令執(zhí)行修改操作,若修改完成,則刪除所述恢復(fù)文件,否則,保存此恢復(fù)文件。
[0005]所述方法還包括:
在接收修改指令之前,檢測是否存在有恢復(fù)文件,若存在,則根據(jù)恢復(fù)文件中的內(nèi)容修復(fù)對應(yīng)的文件,修復(fù)完成后,刪除此恢復(fù)文件。
[0006]所述修改指令包括刪除指令、添加指令、覆蓋指令和移動指令,所述每一指令都包含有對應(yīng)的修改區(qū)間。
[0007]所述方法還包括:
讀取文件內(nèi)容,讀取前,首先檢測是否存在恢復(fù)文件,若存在,則根據(jù)恢復(fù)文件中的內(nèi)容修復(fù)對應(yīng)的的文件,修復(fù)完成后,刪除此恢復(fù)文件,之后,讀取文件內(nèi)容;若不存在,則直接讀取文件內(nèi)容。
[0008]一種文件修改的系統(tǒng),包括:
恢復(fù)文件生成模塊,用于接收修改指令,并根據(jù)修改指令生成對應(yīng)的恢復(fù)文件,所述修改指令包含有修改區(qū)間,所述修改區(qū)間記錄對應(yīng)的所述文件中需要修改的數(shù)據(jù)塊在此文件中的地址區(qū)間,所述恢復(fù)文件記錄此修改區(qū)間和對應(yīng)的所述文件中需要修改的數(shù)據(jù)塊;
修改模塊,用于根據(jù)修改指令執(zhí)行修改操作,若修改完成,則刪除所述恢復(fù)文件,否則,保存此恢復(fù)文件。
[0009]所述系統(tǒng)還包括:
檢測模塊,用于在接收修改指令之前,檢測是否存在有恢復(fù)文件,若存在,則根據(jù)恢復(fù)文件中的內(nèi)容修復(fù)對應(yīng)的文件,修復(fù)完成后,刪除此恢復(fù)文件。
[0010]所述修改指令包括刪除指令、添加指令、覆蓋指令和移動指令,所述每一指令都包含有對應(yīng)的修改區(qū)間。
[0011]所述系統(tǒng)還包括:
讀取模塊,用于讀取文件內(nèi)容,讀取前,首先檢測是否存在恢復(fù)文件,若存在,則根據(jù)恢復(fù)文件中的內(nèi)容修復(fù)對應(yīng)的的文件,修復(fù)完成后,刪除此恢復(fù)文件,之后,讀取文件內(nèi)容;若不存在,則直接讀取文件內(nèi)容。
[0012]本發(fā)明的有益效果是:
本發(fā)明采用一種文件修改的方法及系統(tǒng),在對文件進行修改時,生成一個恢復(fù)文件,此恢復(fù)文件記錄了修改指令對文件中的內(nèi)容進行修改的數(shù)據(jù)塊地址及數(shù)據(jù)塊內(nèi)容,如果修改完成,則刪除此恢復(fù)文件,如果修改中斷,則可以根據(jù)此恢復(fù)文件修復(fù)文件,從而保證文件不會損壞,避免影響與此文件相關(guān)的應(yīng)用及操作。
【專利附圖】
【附圖說明】
[0013]下面結(jié)合附圖和實例對本發(fā)明作進一步說明。
[0014]圖1是本發(fā)明所述文件修改的示意圖;
圖2是本發(fā)明所述文件修改的流程圖;
圖3是本發(fā)明所述文件讀取的流程圖;
圖4是本發(fā)明所述系統(tǒng)的結(jié)構(gòu)組成框圖。
【具體實施方式】
[0015]參照圖1所示文件修改的示意圖,本發(fā)明提供了一種文件修改的方法,本發(fā)明在接收修改指令后對文件進行修改時,根據(jù)修改指令中所包含的修改區(qū)間,在需要修改的文件中找到對應(yīng)的需要修改的數(shù)據(jù)塊,并將修改區(qū)間與需要修改的數(shù)據(jù)塊記錄到一個恢復(fù)文件中,這樣,在修改中斷時,便可以將已經(jīng)修改的文件進行恢復(fù),避免了文件的損壞。在通過指令對文件進行修改時,這些指令必然要包含具體的修改區(qū)間,這些修改區(qū)間即對應(yīng)文件中需要修改的數(shù)據(jù)塊的地址,只有指明了具體需要修改的數(shù)據(jù)塊的地址,這些指令才可以執(zhí)行。
[0016]參照圖2所示的文件修改的流程圖,每次對文件進行修改時,首先檢測是否存在所述恢復(fù)文件,如果存在,則說明前次修改時中斷了操作,并沒有完成修改,文件已經(jīng)損壞,此時,則需要對文件進行修復(fù)操作,只需要根據(jù)恢復(fù)文件中的內(nèi)容將已經(jīng)修改的數(shù)據(jù)重新寫回至文件即可;如果不存在恢復(fù)文件,則說明本次修改是第一次修改或者前次修改已經(jīng)順利完成。之后,逐條讀取所有的修改指令,這些指令可能包括用于向文件中添加數(shù)據(jù)的添加指令、用于移動文件中數(shù)據(jù)的移動指令、用于刪除文件中數(shù)據(jù)的刪除指令和用于覆蓋文件中數(shù)據(jù)的覆蓋指令,每一個指令都包含有修改區(qū)間,此修改區(qū)間指明了具體需要修改文件中的哪些數(shù)據(jù)塊,即指明了這些數(shù)據(jù)塊在文件中的地址區(qū)間,在讀取修改指令時,將所述每個指令的修改區(qū)間寫入至一個恢復(fù)文件中,同時,根據(jù)修改區(qū)間找到對應(yīng)的需要修改的數(shù)據(jù)塊,將此數(shù)據(jù)塊一并寫入至恢復(fù)文件中,恢復(fù)文件生成后,依次讀取每條修改指令對文件進行修改,若修改完成,則刪除此恢復(fù)文件,若修改中斷,則保存此修改文件,則可以根據(jù)此恢復(fù)文件修復(fù)原來修改的文件。
[0017]參照圖3所示文件讀取的流程圖,文件修改與文件讀取是不同的操作,文件修改后,需要對文件進行讀取,在讀取時,首先檢測是否存在恢復(fù)文件,如果存在恢復(fù)文件,說明并沒有完成對文件的修改,此文件可能已經(jīng)損壞,此時,通過恢復(fù)文件對修改的文件進行修復(fù),修復(fù)后,則進入普通文件的讀取邏輯;如果沒有檢測到恢復(fù)文件,說明文件完成了修改,此時,則可以直接進入普通文件的讀取流程。
[0018]本發(fā)明通過恢復(fù)文件,記錄修改指令的修改區(qū)間,并將修改區(qū)間對應(yīng)的在文件中需要修改的數(shù)據(jù)寫入至恢復(fù)文件中,如果修改文件的過程中因某些特定的因素導(dǎo)致修改失敗,則通過此恢復(fù)文件即可將已經(jīng)修改的文件恢復(fù),避免了文件的損壞及因文件損壞可能引起的應(yīng)用或操作不便。
[0019]本發(fā)明提供了一種文件修改的系統(tǒng),參照圖4所示的結(jié)構(gòu)框圖,包括:
檢測模塊,用于在接收修改指令之前,檢測是否存在有恢復(fù)文件,若存在,則根據(jù)恢復(fù)文件中的內(nèi)容修復(fù)對應(yīng)的文件,修復(fù)完成后,刪除此恢復(fù)文件,所述修改指令包括刪除指令、添加指令、覆蓋指令和移動指令,所述每一指令都包含有對應(yīng)的修改區(qū)間;
恢復(fù)文件生成模塊,用于接收修改指令,并根據(jù)修改指令生成對應(yīng)的恢復(fù)文件,所述修改指令包含有修改區(qū)間,所述修改區(qū)間記錄對應(yīng)的所述文件中需要修改的數(shù)據(jù)塊在此文件中的地址區(qū)間,所述恢復(fù)文件記錄此修改區(qū)間和對應(yīng)的所述文件中需要修改的數(shù)據(jù)塊;
修改模塊,用于根據(jù)修改指令執(zhí)行修改操作,若修改完成,則刪除所述恢復(fù)文件,否則,保存此恢復(fù)文件;
讀取模塊,用于讀取文件內(nèi)容,讀取前,首先檢測是否存在恢復(fù)文件,若存在,則根據(jù)恢復(fù)文件中的內(nèi)容修復(fù)對應(yīng)的的文件,修復(fù)完成后,刪除此恢復(fù)文件,之后,讀取文件內(nèi)容,若不存在,則直接讀取文件內(nèi)容。
[0020]所述系統(tǒng)具體的執(zhí)行流程參照以上方法中所述內(nèi)容,在此不再贅述。
[0021]以上所述,只是本發(fā)明的較佳實施例而已,本發(fā)明并不局限于上述實施方式,只要其以相同的手段達到本發(fā)明的技術(shù)效果,都應(yīng)屬于本發(fā)明的保護范圍。
【權(quán)利要求】
1.一種文件修改的方法,其特征在于,包括: 接收修改指令,并根據(jù)修改指令生成對應(yīng)的恢復(fù)文件,所述修改指令包含有修改區(qū)間,所述修改區(qū)間記錄對應(yīng)的所述文件中需要修改的數(shù)據(jù)塊在此文件中的地址區(qū)間,所述恢復(fù)文件記錄此修改區(qū)間和對應(yīng)的所述文件中需要修改的數(shù)據(jù)塊;以及 根據(jù)修改指令執(zhí)行修改操作,若修改完成,則刪除所述恢復(fù)文件,否則,保存此恢復(fù)文件。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在接收修改指令之前,檢測是否存在有恢復(fù)文件,若存在,則根據(jù)恢復(fù)文件中的內(nèi)容修復(fù)對應(yīng)的文件,修復(fù)完成后,刪除此恢復(fù)文件。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述修改指令包括刪除指令、添加指令、覆蓋指令和移動指令,所述每一指令都包含有對應(yīng)的修改區(qū)間。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 讀取文件內(nèi)容,讀取前,首先檢測是否存在恢復(fù)文件,若存在,則根據(jù)恢復(fù)文件中的內(nèi)容修復(fù)對應(yīng)的的文件,修復(fù)完成后,刪除此恢復(fù)文件,之后,讀取文件內(nèi)容;若不存在,則直接讀取文件內(nèi)容。
5.一種文件修改的系統(tǒng),其特征在于,包括: 恢復(fù)文件生成模塊,用于接收修改指令,并根據(jù)修改指令生成對應(yīng)的恢復(fù)文件,所述修改指令包含有修改區(qū)間,所述修改區(qū)間記錄對應(yīng)的所述文件中需要修改的數(shù)據(jù)塊在此文件中的地址區(qū)間,所述恢復(fù)文件記錄此修改區(qū)間和對應(yīng)的所述文件中需要修改的數(shù)據(jù)塊; 修改模塊,用于根據(jù)修改指令執(zhí)行修改操作,若修改完成,則刪除所述恢復(fù)文件,否則,保存此恢復(fù)文件。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,還包括: 檢測模塊,用于在接收修改指令之前,檢測是否存在有恢復(fù)文件,若存在,則根據(jù)恢復(fù)文件中的內(nèi)容修復(fù)對應(yīng)的文件,修復(fù)完成后,刪除此恢復(fù)文件。
7.根據(jù)權(quán)利要求5或6所述的系統(tǒng),其特征在于,所述修改指令包括刪除指令、添加指令、覆蓋指令和移動指令,所述每一指令都包含有對應(yīng)的修改區(qū)間。
8.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,還包括: 讀取模塊,用于讀取文件內(nèi)容,讀取前,首先檢測是否存在恢復(fù)文件,若存在,則根據(jù)恢復(fù)文件中的內(nèi)容修復(fù)對應(yīng)的的文件,修復(fù)完成后,刪除此恢復(fù)文件,之后,讀取文件內(nèi)容;若不存在,則直接讀取文件內(nèi)容。
【文檔編號】G06F9/44GK103440181SQ201310404033
【公開日】2013年12月11日 申請日期:2013年9月6日 優(yōu)先權(quán)日:2013年9月6日
【發(fā)明者】吳才忠, 劉暢, 梁波, 譚賢亮, 李翔威 申請人:珠海金山網(wǎng)絡(luò)游戲科技有限公司, 成都西山居互動娛樂科技有限公司