專利名稱:一種計(jì)算機(jī)硬盤數(shù)據(jù)恢復(fù)和備份的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及硬盤數(shù)據(jù)安全技術(shù),具體涉及一種計(jì)算機(jī)硬盤內(nèi)數(shù)據(jù)恢復(fù)和備份的實(shí)現(xiàn)方法。
背景技術(shù):
隨著信息化的發(fā)展和計(jì)算機(jī)的普及,人們在日常的生活和工作中越來越離不開計(jì)算機(jī)這種有效的工具,與此相對應(yīng),對用戶來說非常重要的大量用戶數(shù)據(jù)存儲在計(jì)算機(jī)的硬盤空間內(nèi)。而隨著計(jì)算機(jī)的發(fā)展,計(jì)算機(jī)病毒也日益泛濫,這對計(jì)算機(jī)硬盤的安全性帶來了嚴(yán)峻的考驗(yàn)。除了計(jì)算機(jī)病毒之外,諸如用戶的誤操作或系統(tǒng)崩潰等等其他因素,都有可能造成用戶極為重要的數(shù)據(jù)、文件丟失或損壞,從而給用戶帶來極大的損失。因此,如何切實(shí)有效地保護(hù)和恢復(fù)用戶數(shù)據(jù)成為計(jì)算機(jī)用戶關(guān)注的熱點(diǎn)。綜合目前的技術(shù)狀況,常規(guī)的計(jì)算機(jī)硬盤信息的恢復(fù)和備份的方法主要包括如下幾種方法一通過備份硬盤進(jìn)行恢復(fù)和備份。使用這種方法時(shí)需要在計(jì)算機(jī)內(nèi)除了用來存儲操作系統(tǒng)和用戶數(shù)據(jù)的硬盤之外,再設(shè)置一個(gè)用于備份該硬盤數(shù)據(jù)的備份硬盤。這種方法雖然可以完全備份所有的用戶數(shù)據(jù),可靠性高,但是單獨(dú)設(shè)置一個(gè)硬盤會增加用戶的經(jīng)濟(jì)負(fù)擔(dān),同時(shí)這需要修改基本輸入輸出系統(tǒng)(BIOS)的設(shè)置,需要一定的計(jì)算機(jī)專業(yè)知識,對于一般用戶而言不容易操作,因此顯得不夠方便。
方法二使用光盤或軟盤進(jìn)行備份和恢復(fù)。使用這種方法時(shí),計(jì)算機(jī)廠商在計(jì)算機(jī)出廠時(shí)直接設(shè)置一張利用光盤或軟盤作為載體的恢復(fù)盤,并保留了計(jì)算機(jī)在出廠時(shí)的操作系統(tǒng)和應(yīng)用軟件數(shù)據(jù)。當(dāng)用戶的計(jì)算機(jī)系統(tǒng)崩潰時(shí),用戶可以直接使用恢復(fù)盤將計(jì)算機(jī)恢復(fù)到出廠時(shí)的狀態(tài)。這種方法雖然易于使用,但是恢復(fù)盤是以附加物形式提供的,用戶必須妥善保存,一旦丟失就不能再進(jìn)行恢復(fù),因此對用戶來說也并不方便。同時(shí),使用這種方法只能將計(jì)算機(jī)恢復(fù)到出廠時(shí)的設(shè)置,不能做到適時(shí)備份和恢復(fù),具有很大的局限性。
方法三通過在同一硬盤建立不同分區(qū)進(jìn)行備份和恢復(fù)。目前一些諸如GHOST等硬盤分區(qū)軟件可以對硬盤進(jìn)行分區(qū),然后在新建立的分區(qū)保存?zhèn)浞輸?shù)據(jù),如果其他分區(qū)的數(shù)據(jù)遭到破壞,可以利用備份分區(qū)內(nèi)的數(shù)據(jù)進(jìn)行恢復(fù)。這種方法雖然可操作性強(qiáng),但是由于新建立的備份分區(qū)和其它數(shù)據(jù)位于同一個(gè)硬盤中,并不能完全免除計(jì)算機(jī)病毒或者其他操作的影響,同樣可能被破壞,同時(shí)這些備份文件可以輕易地被訪問或刪除,因此安全性和可靠性較差。
方法四單純基于BIOS進(jìn)行備份和恢復(fù)。在本申請人的名稱為“硬盤數(shù)據(jù)備份與恢復(fù)方法”、中國專利申請?zhí)枮?1134778.3的發(fā)明專利申請中提出了一種單純基于BIOS進(jìn)行備份和恢復(fù)的方法,在這種方法中,控制計(jì)算機(jī)實(shí)現(xiàn)數(shù)據(jù)備份及恢復(fù)的程序固定設(shè)置在BIOS芯片中,用戶在BIOS啟動過程中可以按下備份熱鍵進(jìn)入備份功能菜單,或者按下恢復(fù)熱鍵進(jìn)入恢復(fù)功能菜單,從而分別進(jìn)行系統(tǒng)備份或系統(tǒng)恢復(fù)工作。這種方法的可靠性和安全性不容置疑,但它卻具有兩個(gè)缺點(diǎn)首先,用戶在實(shí)際操作時(shí)比較麻煩,因?yàn)橹挥性贐IOS啟動的時(shí)候用戶才能按下相應(yīng)熱鍵,也只有在BIOS啟動的時(shí)候計(jì)算機(jī)才能響應(yīng)相關(guān)備份和恢復(fù)的操作,由于BIOS啟動的時(shí)間很短,因此經(jīng)常會出現(xiàn)用戶開始按鍵的時(shí)間超過了預(yù)定時(shí)間,從而使計(jì)算機(jī)不再對用戶所按的熱鍵進(jìn)行響應(yīng),用戶要進(jìn)行系統(tǒng)恢復(fù)或備份則必須重新啟動計(jì)算機(jī),對用戶來說很不方便。第二,在這種方法中實(shí)現(xiàn)數(shù)據(jù)備份及恢復(fù)的程序是固定設(shè)置在BIOS芯片中的,如果要更改軟件,必須整個(gè)更換BIOS芯片,對于軟件修改或升級來說非常不方便,因此也限制了這種方法的使用。
方法五基于BIOS和保護(hù)分區(qū)實(shí)現(xiàn)恢復(fù)和備份。在本申請人的名稱為
“計(jì)算機(jī)硬盤內(nèi)信息恢復(fù)和備份的實(shí)現(xiàn)方法”、中國專利申請?zhí)枮?2104483.X的另一篇發(fā)明專利申請中提出了基于BIOS和保護(hù)分區(qū)實(shí)現(xiàn)恢復(fù)和備份的方法。這種方法克服了方法四的缺點(diǎn),實(shí)現(xiàn)恢復(fù)和備份的程序代碼不是固定設(shè)置在BIOS芯片,而是設(shè)置在一個(gè)不同于常規(guī)操作系統(tǒng)的嵌入式操作系統(tǒng)中。當(dāng)計(jì)算機(jī)啟動時(shí),可以直接進(jìn)入嵌入式操作系統(tǒng),執(zhí)行相應(yīng)的程序代碼,從而實(shí)現(xiàn)恢復(fù)和備份。這種方法只能實(shí)現(xiàn)整個(gè)分區(qū)的磁道對磁道的備份方式,而不能靈活地備份某一個(gè)或幾個(gè)文件,因此其功能大受限制。而且這種方法對于BIOS和嵌入式操作系統(tǒng)內(nèi)核具有很強(qiáng)的依賴性,在使用上必須在關(guān)機(jī)狀態(tài)下進(jìn)行或者重新啟動計(jì)算機(jī),對用戶來說并不是很方便。
綜上所述,目前雖然提出了多種硬盤恢復(fù)/備份的方法,但是它們各自具有一定的缺陷,在這幾種方法中,第五種方法的安全性和可靠性最高,但是在用戶易用性方面仍然存在很大的缺陷,對用戶來說使用這種方法并不方便。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的是提供一種更易于使用的計(jì)算機(jī)硬盤內(nèi)信息恢復(fù)和備份的方法。
本發(fā)明的上述目的是通過如下的技術(shù)方案予以實(shí)現(xiàn)的一種計(jì)算機(jī)硬盤信息的備份和恢復(fù)的方法,包括如下步驟a.預(yù)先在硬盤高端劃分出保護(hù)分區(qū),并將對保護(hù)分區(qū)進(jìn)行打開和關(guān)閉操作的代碼寫入計(jì)算機(jī)操作系統(tǒng)的硬盤讀寫驅(qū)動程序;b.接收到執(zhí)行信息備份或恢復(fù)的命令后,硬盤讀寫驅(qū)動程序打開保護(hù)分區(qū),并在保護(hù)分區(qū)完成信息備份或恢復(fù)的操作之后關(guān)閉保護(hù)分區(qū)。
在上述方法中,對于源代碼公開的操作系統(tǒng),步驟a的寫入是在硬盤讀寫驅(qū)動程序的現(xiàn)有源代碼的基礎(chǔ)上添加對保護(hù)分區(qū)進(jìn)行操作的代碼;對于源代碼未公開的操作系統(tǒng),步驟a的寫入是重新編制包含對保護(hù)分區(qū)進(jìn)行操作的代碼的硬盤讀寫驅(qū)動程序,然后使用重新編制的硬盤讀寫驅(qū)動程序代替原有的硬盤讀寫驅(qū)動程序。其中,源代碼未公開的操作系統(tǒng)可以是Windows操作系統(tǒng),在步驟a中利用配合該操作系統(tǒng)提供的驅(qū)動程序規(guī)范和驅(qū)動程序開發(fā)工具包并遵循保護(hù)分區(qū)的技術(shù)規(guī)范重新編制硬盤讀寫驅(qū)動程序。
在上述方法中,在步驟a中采用ATA-5規(guī)范劃分保護(hù)分區(qū),保護(hù)分區(qū)至少包括內(nèi)核和數(shù)據(jù)備份區(qū),并在內(nèi)核部分嵌入在數(shù)據(jù)備份區(qū)中進(jìn)行硬盤信息恢復(fù)和備份的程序代碼,以及對數(shù)據(jù)備份區(qū)的備份文件進(jìn)行組織和管理的程序代碼。這里的組織和管理至少包括記錄扇區(qū)分布信息、記錄所有備份文件的目錄結(jié)構(gòu)信息、以及記錄數(shù)據(jù)備份區(qū)的每一個(gè)文件的至少包括存儲位置和文件屬性的配置信息。并且,存儲位置信息至少包括起始扇區(qū)信息,文件屬性信息至少包括文件大小和創(chuàng)建日期信息。
在上述方法中,在步驟b中進(jìn)一步包括對需要進(jìn)行備份的大于等于1個(gè)文件進(jìn)行壓縮處理,并打包為一個(gè)鏡像文件,然后向硬盤讀寫驅(qū)動程序發(fā)送一個(gè)執(zhí)行備份的命令;備份操作包括將鏡像文件寫入數(shù)據(jù)備份區(qū)預(yù)留的備份空間,并生成一個(gè)至少記錄該鏡像文件的起始扇區(qū)、文件大小和創(chuàng)建日期的文件屬性信息的配置文件,并更新內(nèi)核中的目錄結(jié)構(gòu)信息。其中鏡像文件包括一個(gè)文件頭,文件頭記錄了備份文件中各個(gè)子文件的文件屬性信息,以及壓縮方式和重新組織方式信息。
在上述方法中,在步驟b中硬盤讀寫驅(qū)動程序打開保護(hù)分區(qū)之前進(jìn)一步包括接收一個(gè)顯示內(nèi)核備份文件目錄結(jié)構(gòu)的命令,在打開保護(hù)分區(qū)之后進(jìn)一步包括讀取保護(hù)分區(qū)內(nèi)核的目錄結(jié)構(gòu)信息,并將該信息顯示在計(jì)算機(jī)屏幕上,然后記錄由用戶選擇的需要恢復(fù)的文件信息;恢復(fù)操作包括定位該文件信息對應(yīng)的通過壓縮打包而形成的鏡像文件,并將該鏡像文件以及配置時(shí)生成的配置文件發(fā)送給硬盤讀寫驅(qū)動程序;在關(guān)閉保護(hù)分區(qū)之后進(jìn)一步包括對鏡像文件進(jìn)行解壓縮并存儲到可見硬盤分區(qū)的步驟。
在上述方法中,打開保護(hù)分區(qū)時(shí)可以進(jìn)一步執(zhí)行加密或防病毒操作。
在上述方法中,在步驟a和步驟b之間進(jìn)一步包括如下步驟
利用硬件觸發(fā)使主板上電并啟動BIOS,同時(shí)在硬件內(nèi)的記錄裝置中根據(jù)硬件觸發(fā)方式存儲計(jì)算機(jī)啟動方式信息,其中計(jì)算機(jī)啟動方式信息至少包括表示啟動常規(guī)操作系統(tǒng)的信息和表示啟動嵌入式操作系統(tǒng)的信息;BIOS從記錄裝置中讀取并判斷計(jì)算機(jī)啟動方式信息,如果是表示啟動常規(guī)操作系統(tǒng),則執(zhí)行步驟b,如果是表示啟動嵌入式操作系統(tǒng),則BIOS操作硬盤保護(hù)分區(qū),裝載嵌入操作系統(tǒng)內(nèi)核,然后啟動恢復(fù)/備份功能,進(jìn)行恢復(fù)/備份處理。
從本發(fā)明的技術(shù)方案可以看出,由于修改了操作系統(tǒng)底層的硬盤讀寫驅(qū)動程序,使其可以直接在常規(guī)操作系統(tǒng)對保護(hù)分區(qū)進(jìn)行打開、關(guān)閉和讀寫等操作,從而使用戶可以不用重新開機(jī)就可以執(zhí)行硬盤信息的備份和恢復(fù),因此在實(shí)現(xiàn)上更加方便。在常規(guī)操作系統(tǒng)下對保護(hù)分區(qū)進(jìn)行操作時(shí),可以同時(shí)利用加密和防病毒等技術(shù),因此在方便操作的同時(shí),并不會降低硬盤數(shù)據(jù)保護(hù)的安全性和可靠性。
其次,同樣是利用保護(hù)分區(qū)進(jìn)行數(shù)據(jù)備份和恢復(fù),在以前的技術(shù)中只能進(jìn)行磁道對磁道的拷貝動作,無法對備份數(shù)據(jù)在保護(hù)分區(qū)下進(jìn)行重新組織與管理,或者只能進(jìn)行簡單的壓縮和標(biāo)記,在恢復(fù)時(shí)也只能按照備份時(shí)所記錄的數(shù)據(jù)源在磁盤上的物理地址進(jìn)行操作,這樣無論是備份還是恢復(fù)都受到很大的限制,并且當(dāng)硬盤進(jìn)行重新分區(qū)和調(diào)整后就無法正?;謴?fù)。本發(fā)明在保護(hù)分區(qū)內(nèi)核嵌入對數(shù)據(jù)備份區(qū)文件進(jìn)行組織和管理的代碼,這樣能夠?qū)浞輸?shù)據(jù)以類似于文件系統(tǒng)管理文件的方式進(jìn)行管理與組織,使用戶能夠訪問詳細(xì)的備份文件信息,同時(shí)可以自如地以文件為單位任意恢復(fù)到可見分區(qū)的指定路徑下,而不受分區(qū)調(diào)整或備份源選取的限制,這大大地超越了磁道拷貝方式,使用戶可以更靈活地對某一個(gè)文件或部分文件進(jìn)行備份和恢復(fù),在使用上更靈活和方便。
圖1是本發(fā)明的硬盤保護(hù)分區(qū)架構(gòu)示意圖;
圖2是本發(fā)明的硬盤保護(hù)分區(qū)的規(guī)劃示意圖;圖3是本發(fā)明操作系統(tǒng)下恢復(fù)和備份功能系統(tǒng)框圖;圖4是本發(fā)明操作系統(tǒng)下對保護(hù)分區(qū)的寫操作流程圖;圖5是本發(fā)明操作系統(tǒng)下對保護(hù)分區(qū)的讀操作流程圖;圖6是本發(fā)明結(jié)合嵌入式操作系統(tǒng)下的備份和恢復(fù)方法的總體流程圖。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明進(jìn)行更詳細(xì)的說明。
為了實(shí)現(xiàn)對硬盤內(nèi)信息的高級別的保護(hù),本發(fā)明依然采用了公知技術(shù)ATA-5及其以后規(guī)范中的“Host Protected Area”功能在硬盤高端劃分出用于保存?zhèn)浞菪畔⒌谋Wo(hù)分區(qū)。這樣對于整個(gè)系統(tǒng)而言,硬盤空間由如圖1所示的兩部分組成,一部分是正常的硬盤空間,即在操作系統(tǒng)下可以顯示的分區(qū);另一部分是保護(hù)分區(qū),它在常規(guī)的操作系統(tǒng)下是不可見的,只能通過特殊的手段才能打開和修改,因而具有非常高的安全性。這樣硬盤空間在物理上表現(xiàn)為一個(gè)硬盤,而在邏輯上則表現(xiàn)為兩個(gè)硬盤。
圖1所示的保護(hù)分區(qū)包括三部分內(nèi)核、出廠備份區(qū)以及數(shù)據(jù)備份區(qū)。其中內(nèi)核嵌入了文件備份功能和系統(tǒng)分區(qū)備份功能的代碼,以及恢復(fù)功能的代碼,而且還可以包含執(zhí)行其他功能的代碼。出廠備份區(qū)用來存儲用戶的系統(tǒng)分區(qū)備份文件,也就是廠家出廠時(shí)的硬盤數(shù)據(jù)信息。與該區(qū)域相鄰的數(shù)據(jù)備份區(qū)則用來作為備份文件的存儲空間,其大小可以根據(jù)需要通過應(yīng)用程序進(jìn)行調(diào)整,從而有效保護(hù)用戶使用的權(quán)限。同時(shí),本發(fā)明也提供了卸載保護(hù)分區(qū)的功能,從而可以在整個(gè)硬盤空間中釋放出不可見的保護(hù)分區(qū)為可見的硬盤空間。
保護(hù)分區(qū)架構(gòu)如圖2所示,在圖2中可以看到,保護(hù)分區(qū)是從硬盤的高端開始劃分,也就是從硬盤最后的磁道開始劃分,并且依然采取以扇區(qū)為單位的組織形式。下面以幾個(gè)扇區(qū)為例說明保護(hù)分區(qū)內(nèi)數(shù)據(jù)備份區(qū)域的組織與管理。這里把物理硬盤的扇區(qū)與備份數(shù)據(jù)的扇區(qū)相對應(yīng)??紤]到數(shù)據(jù)備份區(qū)大小可以通過應(yīng)用程序進(jìn)行改變,因此對于整個(gè)保護(hù)分區(qū)的規(guī)劃而言,其大小是可變的。而對于一塊確定的硬盤而言,備份數(shù)據(jù)1-1扇區(qū)的位置是固定并可以確定的,那么對于整個(gè)數(shù)據(jù)的備份區(qū)的架構(gòu)可以以其為基準(zhǔn)。
在確定了備份數(shù)據(jù)區(qū)1-1扇區(qū)的位置之后,確定整個(gè)數(shù)據(jù)備份區(qū)域的大小,然后就可以按照如圖2所示的方式確定備份區(qū)每一個(gè)扇區(qū)的位置。在內(nèi)核部分記錄下該區(qū)域扇區(qū)分布的情況,這樣就將整個(gè)備份區(qū)的所有扇區(qū)有效地組織與管理起來了。除了建立起扇區(qū)的索引信息,內(nèi)核中同時(shí)要記錄備份區(qū)下每一個(gè)文件的存儲位置和其它一些信息,這類似于一種目錄結(jié)構(gòu),會記錄下每個(gè)文件的起始扇區(qū)、文件大小、創(chuàng)立日期等等一些屬性。通過上述方式,我們實(shí)現(xiàn)了對保護(hù)分區(qū)數(shù)據(jù)的管理與組織。例如用戶選定要備份的文件將會被打包成一個(gè)映像文件,該映像文件寫入保護(hù)分區(qū)時(shí),保護(hù)分區(qū)的內(nèi)核會同時(shí)生成一個(gè)配置文件,用來記錄該映像文件的一些必要信息,例如創(chuàng)立日期、文件名稱及相關(guān)屬性、文件大小的校驗(yàn)以及在備份區(qū)的存儲位置等。這樣,內(nèi)核中的目錄結(jié)構(gòu)通過這些配置信息就可以方便地管理每一個(gè)映像文件了。
由于目前保護(hù)分區(qū)對于常規(guī)操作系統(tǒng)來說是不可見的,換句話說,目前的常規(guī)操作系統(tǒng)的硬盤讀寫驅(qū)動程序只能對硬盤的可見分區(qū)進(jìn)行操作,而沒有提供對硬盤中的保護(hù)分區(qū)進(jìn)行任何操作的功能。因此,在按照上述方法建立了保護(hù)分區(qū)之后,接下來需要開發(fā)相應(yīng)的驅(qū)動程序,從而實(shí)現(xiàn)在常規(guī)操作系統(tǒng)下對保護(hù)分區(qū)的讀寫操作。
圖3是本發(fā)明進(jìn)行恢復(fù)和備份功能系統(tǒng)框圖。從圖3可以看出,整個(gè)功能系統(tǒng)可以分為文件處理模塊、數(shù)據(jù)處理模塊和操作保護(hù)分區(qū)模塊,其中文件處理模塊主要用于搜集用戶信息,數(shù)據(jù)處理模塊主要用于對數(shù)據(jù)進(jìn)行壓縮和打包等操作,而操作保護(hù)分區(qū)模塊則直接用于和保護(hù)分區(qū)進(jìn)行數(shù)據(jù)和命令傳送。在備份和恢復(fù)的過程中可以在數(shù)據(jù)處理模塊或者操作保護(hù)分區(qū)模塊進(jìn)行加密和防病毒等操作,本發(fā)明的重點(diǎn)在于修改了操作保護(hù)分區(qū)模塊。
首先,根據(jù)建立保護(hù)分區(qū)所采用的ATA-5規(guī)范開發(fā)實(shí)現(xiàn)保護(hù)分區(qū)的打開、關(guān)閉操作的程序代碼,并將這部分代碼加入到操作系統(tǒng)底層對硬盤讀寫進(jìn)行控制的驅(qū)動程序中。也就是說,這部分驅(qū)動程序全面接管了所有對硬盤的讀寫操作,無論是對正常狀態(tài)下可見的硬盤分區(qū)還是對保護(hù)分區(qū)的操作都使用這部分驅(qū)動程序。同時(shí)還可以采用加密、防病毒以及訪問結(jié)束后立即關(guān)閉保護(hù)分區(qū)等技術(shù)手段加強(qiáng)安全性,這些手段對于本領(lǐng)域技術(shù)人員來說都很容易實(shí)現(xiàn),因此不進(jìn)行詳細(xì)說明。
在實(shí)際情況中,對于源代碼公開的操作系統(tǒng),例如Linux等,可以直接對操作系統(tǒng)底層的硬盤讀寫驅(qū)動程序進(jìn)行修改,加入對保護(hù)分區(qū)進(jìn)行修改的代碼。而對于未公開源代碼的操作系統(tǒng),例如現(xiàn)在最常見的Windows操作系統(tǒng),由于它沒有公開整個(gè)操作系統(tǒng)的源代碼,因此也得不到硬盤讀寫驅(qū)動程序的源代碼,從而不能直接在此基礎(chǔ)上進(jìn)行修改。在這種情況下,上述過程其實(shí)需要重新編制一套完整的硬盤讀寫驅(qū)動程序。
在重新編制完整的硬盤讀寫驅(qū)動程序時(shí),需要利用配合Windows操作系統(tǒng)配套提供的驅(qū)動程序規(guī)范和驅(qū)動程序開發(fā)工具包,而且需要遵循保護(hù)分區(qū)技術(shù)所使用的ATA-5規(guī)范。在ATA-5規(guī)范中規(guī)定了如何打開和關(guān)閉保護(hù)分區(qū),因此利用這些規(guī)定,即可開發(fā)出對保護(hù)分區(qū)進(jìn)行打開、關(guān)閉等操作的代碼,這里的開發(fā)工具可以使用C語言或者匯編語言等程序語言,至于具體的開發(fā)過程對于本領(lǐng)域的編程人員來說并不困難,因此這里不再詳細(xì)介紹。
這里需要強(qiáng)調(diào)的是,重新編制硬盤讀寫驅(qū)動程序的目的在于編制打開和關(guān)閉保護(hù)分區(qū)的代碼,從而使保護(hù)分區(qū)在常規(guī)操作系統(tǒng)下也是可見并且可以操作的,這樣操作系統(tǒng)可以像操作可見分區(qū)一樣,對保護(hù)分區(qū)執(zhí)行相同的讀寫等操作,因而實(shí)現(xiàn)了在常規(guī)操作系統(tǒng)下進(jìn)行文件備份和恢復(fù)的目的。
在重新編制了完整的硬盤讀寫驅(qū)動程序之后,用新的硬盤讀寫驅(qū)動程序代替Windows自帶的硬盤讀寫驅(qū)動程序,從而全面接管了對硬盤的底層操作。這樣,在常規(guī)的諸如Windows的操作系統(tǒng)環(huán)境下,也可以對硬盤空間內(nèi)的保護(hù)分區(qū)進(jìn)行讀寫等操作,從而在不損害數(shù)據(jù)備份的安全性和可靠性的前提下,能夠更加方便地進(jìn)行數(shù)據(jù)備份和恢復(fù)。
在修改了硬盤讀寫驅(qū)動程序之后,下面參考圖4詳細(xì)說明本發(fā)明的硬盤數(shù)據(jù)備份的方法。
首先,應(yīng)用程序在步驟401讀取需要備份的數(shù)據(jù),然后在步驟402對數(shù)據(jù)進(jìn)行重新組織和壓縮等數(shù)據(jù)處理,將處理后的數(shù)據(jù)打包制成一個(gè)鏡像文件,這個(gè)鏡像文件包含有文件頭,文件頭記錄了備份文件中各個(gè)子文件或子文件夾的相關(guān)屬性信息以及如何進(jìn)行壓縮和重新組織等信息。
在步驟403,和操作系統(tǒng)底層硬盤讀寫驅(qū)動程序配套開發(fā)和使用的應(yīng)用程序與操作系統(tǒng)底層的硬盤讀寫驅(qū)動程序通訊。然后底層的硬盤讀寫驅(qū)動程序在步驟404執(zhí)行相應(yīng)指令,打開保護(hù)分區(qū),在這個(gè)過程中,可以采用加密和防病毒等技術(shù)提高操作的安全性。在步驟405,硬盤讀寫驅(qū)動程序?qū)⑶懊娼⒌溺R像文件寫入保護(hù)分區(qū)預(yù)留的備份空間中,在步驟406,保護(hù)分區(qū)內(nèi)核的代碼生成配置文件,配置文件記錄了鏡像文件的相關(guān)信息屬性,并在內(nèi)核目錄結(jié)構(gòu)中更新注冊。在完成了上述步驟之后,即將硬盤內(nèi)的需要備份的數(shù)據(jù)備份到了保護(hù)分區(qū)之中。在步驟407,硬盤讀寫驅(qū)動程序關(guān)閉保護(hù)分區(qū)。
通過上述步驟,用戶可以將硬盤內(nèi)的數(shù)據(jù)通過文件的方式備份到保護(hù)分區(qū),下面結(jié)合圖5詳細(xì)說明如何從保護(hù)分區(qū)進(jìn)行文件恢復(fù)。
在步驟501,操作系統(tǒng)下的應(yīng)用程序給底層硬盤讀寫驅(qū)動程序發(fā)送一個(gè)顯示備份數(shù)據(jù)信息的指令,在步驟502,硬盤讀寫驅(qū)動程序打開保護(hù)分區(qū),從保護(hù)分區(qū)內(nèi)核讀取目錄結(jié)構(gòu)信息。在步驟503,應(yīng)用程序以列表或者文件樹等形式將數(shù)據(jù)備份區(qū)內(nèi)的內(nèi)容和備份文件的詳細(xì)數(shù)據(jù)信息顯示給用戶。在步驟504,用戶可以從顯示的信息中選擇需要恢復(fù)的文件或者選擇需要恢復(fù)的某次備份,應(yīng)用程序記錄用戶的選擇信息。
在步驟505,應(yīng)用程序給硬盤讀寫驅(qū)動程序發(fā)送一個(gè)執(zhí)行恢復(fù)的命令,驅(qū)動程序接收到該命令后,在步驟506向保護(hù)分區(qū)發(fā)送一個(gè)恢復(fù)命令。在步驟507,保護(hù)分區(qū)內(nèi)核代碼在所有的備份信息中查找并定位用戶進(jìn)行恢復(fù)所需要的鏡像文件。
在步驟508,底層驅(qū)動程序?qū)ΡWo(hù)分區(qū)執(zhí)行讀操作,從保護(hù)分區(qū)中讀取上一步所定位的鏡像文件。然后在步驟509,底層驅(qū)動程序關(guān)閉保護(hù)分區(qū)。在步驟510,應(yīng)用程序解壓縮該鏡像文件,并在步驟511將其包含的具體數(shù)據(jù)寫入到用戶指定的可見分區(qū)的路徑。至此,完成了數(shù)據(jù)的恢復(fù)過程。
在實(shí)際應(yīng)用本發(fā)明時(shí),既可以單獨(dú)在操作系統(tǒng)下使用,也可以和基于BIOS以及保護(hù)分區(qū)的方法配合使用。圖6示出了后一種情況的總體流程圖。
從圖6可以看出,在計(jì)算機(jī)啟動時(shí),BIOS首先判斷計(jì)算機(jī)啟動模式,如果是進(jìn)入嵌入式操作系統(tǒng),則BIOS操作ATA-5保護(hù)分區(qū),載入嵌入式操作系統(tǒng)內(nèi)核,然后執(zhí)行該內(nèi)核內(nèi)的備份和恢復(fù)代碼,實(shí)現(xiàn)磁道對磁道方式的備份和恢復(fù)。如果計(jì)算機(jī)啟動模式表示啟動常規(guī)操作系統(tǒng),則可以在常規(guī)操作系統(tǒng)下按照圖4和圖5所示的步驟進(jìn)行文件級的備份和恢復(fù)。
可以理解,上述說明只是對本發(fā)明精神的展示,并不用以限制本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種計(jì)算機(jī)硬盤信息的備份和恢復(fù)的方法,包括如下步驟a.預(yù)先在硬盤高端劃分出保護(hù)分區(qū),并將對保護(hù)分區(qū)進(jìn)行打開和關(guān)閉操作的代碼寫入計(jì)算機(jī)操作系統(tǒng)的硬盤讀寫驅(qū)動程序;b.接收到執(zhí)行信息備份或恢復(fù)的命令后,硬盤讀寫驅(qū)動程序打開保護(hù)分區(qū),并在保護(hù)分區(qū)完成信息備份或恢復(fù)的操作之后關(guān)閉保護(hù)分區(qū)。
2.根據(jù)權(quán)利要求1所述的方法,其特征是,對于源代碼公開的操作系統(tǒng),步驟a的寫入是在硬盤讀寫驅(qū)動程序的現(xiàn)有源代碼的基礎(chǔ)上添加對保護(hù)分區(qū)進(jìn)行操作的代碼。
3.根據(jù)權(quán)利要求1所述的方法,其特征是,對于源代碼未公開的操作系統(tǒng),步驟a的寫入是重新編制包含對保護(hù)分區(qū)進(jìn)行操作的代碼的硬盤讀寫驅(qū)動程序,然后使用重新編制的硬盤讀寫驅(qū)動程序代替原有的硬盤讀寫驅(qū)動程序。
4.根據(jù)權(quán)利要求3所述的方法,其特征是,所述操作系統(tǒng)是Windows操作系統(tǒng),在步驟a中利用配合該操作系統(tǒng)提供的驅(qū)動程序規(guī)范和驅(qū)動程序開發(fā)工具包并遵循保護(hù)分區(qū)的技術(shù)規(guī)范重新編制硬盤讀寫驅(qū)動程序。
5.根據(jù)權(quán)利要求1所述的方法,其特征是,在步驟a中采用ATA-5規(guī)范劃分保護(hù)分區(qū),所述保護(hù)分區(qū)至少包括內(nèi)核和數(shù)據(jù)備份區(qū),并在內(nèi)核部分嵌入在數(shù)據(jù)備份區(qū)中進(jìn)行硬盤信息恢復(fù)和備份的程序代碼,以及對數(shù)據(jù)備份區(qū)的備份文件進(jìn)行組織和管理的程序代碼。
6.根據(jù)權(quán)利要求5所述的方法,其特征是,所述組織和管理至少包括記錄扇區(qū)分布信息、記錄所有備份文件的目錄結(jié)構(gòu)信息、以及記錄數(shù)據(jù)備份區(qū)的每一個(gè)文件的至少包括存儲位置和文件屬性的配置信息。
7.根據(jù)權(quán)利要求6所述的方法,其特征是,所述存儲位置信息至少包括起始扇區(qū)信息,所述文件屬性信息至少包括文件大小和創(chuàng)建日期信息。
8.根據(jù)權(quán)利要求6所述的方法,其特征是,步驟b中進(jìn)一步包括對需要進(jìn)行備份的大于等于1個(gè)文件進(jìn)行壓縮處理,并打包為一個(gè)鏡像文件,然后向硬盤讀寫驅(qū)動程序發(fā)送一個(gè)執(zhí)行備份的命令;所述備份操作包括將所述鏡像文件寫入數(shù)據(jù)備份區(qū)預(yù)留的備份空間,并生成一個(gè)至少記錄該鏡像文件的起始扇區(qū)、文件大小和創(chuàng)建日期的文件屬性信息的配置文件,并更新內(nèi)核中的目錄結(jié)構(gòu)信息。
9.根據(jù)權(quán)利要求8所述的方法,其特征是,所述鏡像文件包括一個(gè)文件頭,所述文件頭記錄了備份文件中各個(gè)子文件的文件屬性信息,以及壓縮方式和重新組織方式信息。
10.根據(jù)權(quán)利要求6所述的方法,其特征是,步驟b中硬盤讀寫驅(qū)動程序打開保護(hù)分區(qū)之前進(jìn)一步包括接收一個(gè)顯示內(nèi)核備份文件目錄結(jié)構(gòu)的命令,在打開保護(hù)分區(qū)之后進(jìn)一步包括讀取保護(hù)分區(qū)內(nèi)核的目錄結(jié)構(gòu)信息,并將所述信息顯示在計(jì)算機(jī)屏幕上,然后記錄由用戶選擇的需要恢復(fù)的文件信息;所述恢復(fù)操作包括定位該文件信息對應(yīng)的通過壓縮打包而形成的鏡像文件,并將該鏡像文件以及配置時(shí)生成的配置文件發(fā)送給硬盤讀寫驅(qū)動程序;在關(guān)閉保護(hù)分區(qū)之后進(jìn)一步包括對鏡像文件進(jìn)行解壓縮并存儲到可見硬盤分區(qū)的步驟。
11.根據(jù)權(quán)利要求1所述的方法,其特征是,打開保護(hù)分區(qū)時(shí)進(jìn)一步執(zhí)行加密或防病毒操作。
12.根據(jù)權(quán)利要求1所述的方法,其特征是,在步驟a和步驟b之間進(jìn)一步包括如下步驟利用硬件觸發(fā)使主板上電并啟動BIOS,同時(shí)在硬件內(nèi)的記錄裝置中根據(jù)硬件觸發(fā)方式存儲計(jì)算機(jī)啟動方式信息,所述計(jì)算機(jī)啟動方式信息至少包括表示啟動常規(guī)操作系統(tǒng)的信息和表示啟動嵌入式操作系統(tǒng)的信息;BIOS從記錄裝置中讀取并判斷所述計(jì)算機(jī)啟動方式信息,如果是表示啟動常規(guī)操作系統(tǒng),則執(zhí)行步驟b,如果是表示啟動嵌入式操作系統(tǒng),則BIOS操作硬盤保護(hù)分區(qū),裝載嵌入操作系統(tǒng)內(nèi)核,然后啟動恢復(fù)/備份功能,進(jìn)行恢復(fù)/備份處理。
全文摘要
本發(fā)明公開了一種計(jì)算機(jī)硬盤信息的備份和恢復(fù)的方法,包括預(yù)先在硬盤高端劃分出保護(hù)分區(qū),并將對保護(hù)分區(qū)進(jìn)行操作的代碼寫入計(jì)算機(jī)操作系統(tǒng)的硬盤讀寫驅(qū)動程序;在操作系統(tǒng)的應(yīng)用程序環(huán)境中接收到執(zhí)行信息備份或恢復(fù)的命令后,硬盤讀寫驅(qū)動程序打開保護(hù)分區(qū),在保護(hù)分區(qū)完成具體的信息備份或恢復(fù)操作的操作之后關(guān)閉保護(hù)分區(qū)。同時(shí),本發(fā)明在保護(hù)分區(qū)的內(nèi)核中嵌入了對備份文件進(jìn)行組織和管理的程序代碼。使用本發(fā)明可以直接在常規(guī)操作系統(tǒng)下執(zhí)行文件級的備份和恢復(fù)操作,因此本發(fā)明對于用戶的使用來說更方便,并且更靈活。
文檔編號G06F12/16GK1534490SQ0312129
公開日2004年10月6日 申請日期2003年3月31日 優(yōu)先權(quán)日2003年3月31日
發(fā)明者周亮, 劉毅, 周 亮 申請人:聯(lián)想(北京)有限公司