本發(fā)明涉及數(shù)據(jù)還原技術(shù)領(lǐng)域,尤其涉及一種在線還原操作系統(tǒng)的方法和裝置。
背景技術(shù):
現(xiàn)在給計(jì)算機(jī)進(jìn)行操作系統(tǒng)還原的時(shí)候,一般都要先把計(jì)算機(jī)的操作系統(tǒng)停掉,然后再在這個(gè)計(jì)算機(jī)上運(yùn)行一個(gè)光盤、u盤或者網(wǎng)絡(luò)的引導(dǎo)系統(tǒng),借助這個(gè)引導(dǎo)系統(tǒng),把之前備份的操作系統(tǒng)和數(shù)據(jù)讀取過(guò)來(lái),寫到硬盤上。
如果這些數(shù)據(jù)量很大,那么需要持續(xù)很長(zhǎng)的時(shí)間。在這期間,計(jì)算機(jī)是無(wú)法對(duì)外提供業(yè)務(wù)的。另外,像阿里云上面的主機(jī),沒(méi)有提供光盤、u盤的操作界面,是沒(méi)有辦法通過(guò)光盤、u盤來(lái)啟動(dòng)引導(dǎo)系統(tǒng)的,還原操作系統(tǒng)和數(shù)據(jù)會(huì)變成一個(gè)很棘手的問(wèn)題。
上述內(nèi)容僅用于輔助理解本發(fā)明的技術(shù)方案,并不代表承認(rèn)上述內(nèi)容是現(xiàn)有技術(shù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提供一種在線還原操作系統(tǒng)的方法和裝置,旨在解決現(xiàn)有技術(shù)中操作系統(tǒng)無(wú)法實(shí)現(xiàn)在線還原,從而影響對(duì)外的業(yè)務(wù)的技術(shù)問(wèn)題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種在線還原操作系統(tǒng)的方法,所述方法包括以下步驟:
在通過(guò)待還原數(shù)據(jù)對(duì)目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原時(shí),攔截對(duì)所述目標(biāo)硬盤的當(dāng)前讀寫請(qǐng)求;
判斷所述當(dāng)前讀寫請(qǐng)求是否根據(jù)所述待還原數(shù)據(jù)生成;
在所述當(dāng)前讀寫請(qǐng)求是根據(jù)待還原數(shù)據(jù)生成時(shí),允許所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作。
優(yōu)選地,所述判斷所述當(dāng)前讀寫請(qǐng)求是否根據(jù)所述待還原數(shù)據(jù)生成之后,所述方法還包括:
在所述當(dāng)前讀寫請(qǐng)求不是根據(jù)待還原數(shù)據(jù)生成時(shí),禁止所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作。
優(yōu)選地,所述禁止所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作,具體包括:
將所述當(dāng)前讀寫請(qǐng)求掛起。
優(yōu)選地,所述在通過(guò)待還原數(shù)據(jù)對(duì)目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原時(shí),攔截對(duì)所述目標(biāo)硬盤的當(dāng)前讀寫請(qǐng)求,具體包括:
在通過(guò)待還原數(shù)據(jù)對(duì)目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原時(shí),判斷所述操作系統(tǒng)中的數(shù)據(jù)請(qǐng)求是否為對(duì)目標(biāo)硬盤的讀寫請(qǐng)求,在所述數(shù)據(jù)請(qǐng)求為目標(biāo)硬盤的讀寫請(qǐng)求時(shí),將所述數(shù)據(jù)請(qǐng)求作為所述當(dāng)前讀寫請(qǐng)求,并攔截所述當(dāng)前讀寫請(qǐng)求。
優(yōu)選地,所述在通過(guò)待還原數(shù)據(jù)對(duì)目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原時(shí),攔截對(duì)所述目標(biāo)硬盤的當(dāng)前讀寫請(qǐng)求之前,所述方法還包括:
將所述待還原數(shù)據(jù)存儲(chǔ)至所述目標(biāo)硬盤的預(yù)設(shè)存儲(chǔ)區(qū)域。
此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種在線還原操作系統(tǒng)的裝置,所述裝置包括:
數(shù)據(jù)攔截模塊,用于在通過(guò)待還原數(shù)據(jù)對(duì)目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原時(shí),攔截對(duì)所述目標(biāo)硬盤的當(dāng)前讀寫請(qǐng)求;
請(qǐng)求判斷模塊,用于判斷所述當(dāng)前讀寫請(qǐng)求是否根據(jù)所述待還原數(shù)據(jù)生成;
操作允許模塊,用于在所述當(dāng)前讀寫請(qǐng)求是根據(jù)待還原數(shù)據(jù)生成時(shí),允許所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作。
優(yōu)選地,所述裝置還包括:
操作禁止模塊,用于在所述當(dāng)前讀寫請(qǐng)求不是根據(jù)待還原數(shù)據(jù)生成時(shí),禁止所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作。
優(yōu)選地,所述操作禁止模塊,還用于將所述當(dāng)前讀寫請(qǐng)求掛起。
優(yōu)選地,所述數(shù)據(jù)攔截模塊,還用于在通過(guò)待還原數(shù)據(jù)對(duì)目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原時(shí),判斷所述操作系統(tǒng)中的數(shù)據(jù)請(qǐng)求是否為對(duì)目標(biāo)硬盤的讀寫請(qǐng)求,在所述數(shù)據(jù)請(qǐng)求為目標(biāo)硬盤的讀寫請(qǐng)求時(shí),將所述數(shù)據(jù)請(qǐng)求作為所述當(dāng)前讀寫請(qǐng)求,并攔截所述當(dāng)前讀寫請(qǐng)求。
優(yōu)選地,所述裝置還包括:
數(shù)據(jù)存儲(chǔ)模塊,用于將所述待還原數(shù)據(jù)存儲(chǔ)至所述目標(biāo)硬盤的預(yù)設(shè)存儲(chǔ)區(qū)域。
本發(fā)明在通過(guò)待還原數(shù)據(jù)對(duì)目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原時(shí),攔截對(duì)所述目標(biāo)硬盤的當(dāng)前讀寫請(qǐng)求,判斷所述當(dāng)前讀寫請(qǐng)求是否根據(jù)所述待還原數(shù)據(jù)生成,在所述當(dāng)前讀寫請(qǐng)求是根據(jù)待還原數(shù)據(jù)生成時(shí),允許所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作,從而能夠防止由于數(shù)據(jù)還原過(guò)程中被覆蓋所引起的操作系統(tǒng)崩潰等問(wèn)題,能夠?qū)⑻幱谶\(yùn)行狀態(tài)的操作系統(tǒng)進(jìn)行還原。
附圖說(shuō)明
圖1為本發(fā)明第一種實(shí)施例的在線還原操作系統(tǒng)的方法的流程示意圖;
圖2為本發(fā)明第二種實(shí)施例的在線還原操作系統(tǒng)的方法的流程示意圖;
圖3為本發(fā)明第三種實(shí)施例的在線還原操作系統(tǒng)的方法的流程示意圖;
圖4為本發(fā)明第一種實(shí)施例的在線還原操作系統(tǒng)的裝置的程序模塊示意圖;
圖5為本發(fā)明第二種實(shí)施例的在線還原操作系統(tǒng)的裝置的程序模塊示意圖;
圖6為本發(fā)明第三種實(shí)施例的在線還原操作系統(tǒng)的裝置的程序模塊示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
參照?qǐng)D1,本發(fā)明第一實(shí)施例提供一種在線還原操作系統(tǒng)的方法,所述方法包括:
s10:在通過(guò)待還原數(shù)據(jù)對(duì)目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原時(shí),攔截對(duì)所述目標(biāo)硬盤的當(dāng)前讀寫請(qǐng)求;
需要說(shuō)明的是,本實(shí)施例的方法的執(zhí)行主體為服務(wù)器,當(dāng)然,也可為其他具有類似功能的設(shè)備,本實(shí)施例對(duì)此不加以限制。
可理解的是,所述操作系統(tǒng)的相關(guān)文件存儲(chǔ)于所述目標(biāo)硬盤中,也就是說(shuō),只需要對(duì)所述目標(biāo)硬盤中操作系統(tǒng)的相關(guān)文件通過(guò)讀寫操作進(jìn)行修改,即可將實(shí)現(xiàn)對(duì)所述目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原。
為便于攔截對(duì)所述目標(biāo)硬盤的當(dāng)前讀寫請(qǐng)求,在具體實(shí)現(xiàn)中,可在通過(guò)待還原數(shù)據(jù)對(duì)目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原時(shí),先判斷所述操作系統(tǒng)中的數(shù)據(jù)請(qǐng)求是否為對(duì)目標(biāo)硬盤的讀寫請(qǐng)求,在所述數(shù)據(jù)請(qǐng)求為目標(biāo)硬盤的讀寫請(qǐng)求時(shí),將所述數(shù)據(jù)請(qǐng)求作為所述當(dāng)前讀寫請(qǐng)求,并攔截所述當(dāng)前讀寫請(qǐng)求。
s20:判斷所述當(dāng)前讀寫請(qǐng)求是否根據(jù)所述待還原數(shù)據(jù)生成;
為便于判斷所述當(dāng)前讀寫請(qǐng)求是否根據(jù)所述待還原數(shù)據(jù)生成,可設(shè)置一個(gè)預(yù)設(shè)進(jìn)程,由所述預(yù)設(shè)進(jìn)程來(lái)負(fù)責(zé)對(duì)目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原,因此,根據(jù)所述待還原數(shù)據(jù)生成的讀寫請(qǐng)求也必然是由所述預(yù)設(shè)進(jìn)程所發(fā)送,故而,可直接判斷所述當(dāng)前讀寫請(qǐng)求是否由所述預(yù)設(shè)進(jìn)程所發(fā)送,若是,則認(rèn)定所述當(dāng)前讀寫請(qǐng)求根據(jù)所述待還原數(shù)據(jù)生成,否則認(rèn)定所述當(dāng)前讀寫請(qǐng)求不是根據(jù)所述待還原數(shù)據(jù)生成。
s30:在所述當(dāng)前讀寫請(qǐng)求是根據(jù)待還原數(shù)據(jù)生成時(shí),允許所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作。
由于操作系統(tǒng)中可能會(huì)存在很多的數(shù)據(jù)請(qǐng)求,除了根據(jù)所述待還原數(shù)據(jù)生成的讀寫請(qǐng)求外,還會(huì)存在一些不可預(yù)知的其他數(shù)據(jù)請(qǐng)求出現(xiàn),例如:新的操作系統(tǒng)必須還原第10、11、100、101號(hào)等扇區(qū),當(dāng)在操作系統(tǒng)還原過(guò)程中通過(guò)根據(jù)所述待還原數(shù)據(jù)生成的讀寫請(qǐng)求寫入了這些扇區(qū)后,操作系統(tǒng)的其他數(shù)據(jù)請(qǐng)求可能也同時(shí)要寫入這些扇區(qū),此時(shí)會(huì)導(dǎo)致沖突,無(wú)法保證操作系統(tǒng)的其他數(shù)據(jù)請(qǐng)求(可由運(yùn)行的軟件或操作系統(tǒng)產(chǎn)生)未覆蓋當(dāng)前讀寫請(qǐng)求所寫入的數(shù)據(jù),而整個(gè)操作系統(tǒng)的還原又是大數(shù)據(jù)量的還原,至少幾百兆,甚至幾g或幾t的數(shù)據(jù),還原的時(shí)間越長(zhǎng),數(shù)據(jù)被覆蓋的概率就越大,一但有一個(gè)扇區(qū)被覆蓋,就會(huì)出現(xiàn)操作系統(tǒng)崩潰等問(wèn)題,另外,正在運(yùn)行的操作系統(tǒng)在讀取一塊數(shù)據(jù)時(shí),若這塊數(shù)據(jù)被還原為其它操作系統(tǒng)的數(shù)據(jù)了,這樣會(huì)導(dǎo)致操作系統(tǒng)立刻出現(xiàn)不可恢復(fù)的錯(cuò)誤,因此,本實(shí)施例中,在所述當(dāng)前讀寫請(qǐng)求是根據(jù)待還原數(shù)據(jù)生成時(shí),允許所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作。
本實(shí)施例在通過(guò)待還原數(shù)據(jù)對(duì)目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原時(shí),攔截對(duì)所述目標(biāo)硬盤的當(dāng)前讀寫請(qǐng)求,判斷所述當(dāng)前讀寫請(qǐng)求是否根據(jù)所述待還原數(shù)據(jù)生成,在所述當(dāng)前讀寫請(qǐng)求是根據(jù)待還原數(shù)據(jù)生成時(shí),允許所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作,從而能夠防止由于數(shù)據(jù)還原過(guò)程中被覆蓋所引起的操作系統(tǒng)崩潰等問(wèn)題,能夠?qū)⑻幱谶\(yùn)行狀態(tài)的操作系統(tǒng)進(jìn)行還原。
參照?qǐng)D2,圖2為本發(fā)明在線還原操作系統(tǒng)的方法第二實(shí)施例的流程示意圖,基于上述圖1所示的實(shí)施例,提出本發(fā)明在線還原操作系統(tǒng)的方法的第二實(shí)施例。
本實(shí)施例中,步驟s20之后,所述方法還包括:
s40:在所述當(dāng)前讀寫請(qǐng)求不是根據(jù)待還原數(shù)據(jù)生成時(shí),禁止所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作。
需要說(shuō)明的是,在所述當(dāng)前讀寫請(qǐng)求不是根據(jù)待還原數(shù)據(jù)生成時(shí),若允許所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作,會(huì)導(dǎo)致操作系統(tǒng)崩潰等問(wèn)題,因此,需要禁止所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作。
通常在禁止所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作后,會(huì)將所述當(dāng)前讀寫請(qǐng)求直接丟棄,并返回讀寫失敗的指令,但這樣可能會(huì)使操作系統(tǒng)重新發(fā)出讀寫請(qǐng)求,從而影響還原效率,本實(shí)施例中,會(huì)將所述當(dāng)前讀寫請(qǐng)求掛起,不讓其返回,避免影響還原效率。
參照?qǐng)D3,圖3為本發(fā)明在線還原操作系統(tǒng)的方法第三實(shí)施例的流程示意圖,基于上述圖1或2所示的實(shí)施例,提出本發(fā)明在線還原操作系統(tǒng)的方法的第三實(shí)施例,圖3為以基于圖1所示的實(shí)施例為例。
本實(shí)施例中,步驟s10之前,所述方法還包括:
s00:將所述待還原數(shù)據(jù)存儲(chǔ)至所述目標(biāo)硬盤的預(yù)設(shè)存儲(chǔ)區(qū)域。
需要說(shuō)明的是,由于有些操作系統(tǒng)的網(wǎng)路通信不需要依賴硬盤io程序,此時(shí)可以直接從網(wǎng)路接收數(shù)據(jù)用于還原,但有的操作系統(tǒng)的網(wǎng)路通信可能會(huì)依賴于硬盤io程序,意思就是收發(fā)網(wǎng)路數(shù)據(jù)包時(shí),可能會(huì)夾雜操作系統(tǒng)的硬盤io行為,但夾雜的硬盤io行為對(duì)應(yīng)的數(shù)據(jù)請(qǐng)求被掛起了,在接收網(wǎng)路數(shù)據(jù)的過(guò)程中,會(huì)引起死鎖,這種情況下,可以先將數(shù)據(jù)保存到目標(biāo)硬盤的預(yù)設(shè)存儲(chǔ)區(qū)域(例如:特定的文件),然后從所述預(yù)設(shè)存儲(chǔ)區(qū)域中提取待還原數(shù)據(jù)。
參照?qǐng)D4,本發(fā)明第一實(shí)施例提供一種在線還原操作系統(tǒng)的裝置,所述裝置包括:
數(shù)據(jù)攔截模塊10,用于在通過(guò)待還原數(shù)據(jù)對(duì)目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原時(shí),攔截對(duì)所述目標(biāo)硬盤的當(dāng)前讀寫請(qǐng)求;
需要說(shuō)明的是,本實(shí)施例的裝置部署于服務(wù)器上,當(dāng)然,也可部署于其他具有類似功能的設(shè)備,本實(shí)施例對(duì)此不加以限制。
可理解的是,所述操作系統(tǒng)的相關(guān)文件存儲(chǔ)于所述目標(biāo)硬盤中,也就是說(shuō),只需要對(duì)所述目標(biāo)硬盤中操作系統(tǒng)的相關(guān)文件通過(guò)讀寫操作進(jìn)行修改,即可將實(shí)現(xiàn)對(duì)所述目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原。
為便于攔截對(duì)所述目標(biāo)硬盤的當(dāng)前讀寫請(qǐng)求,在具體實(shí)現(xiàn)中,可在通過(guò)待還原數(shù)據(jù)對(duì)目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原時(shí),先判斷所述操作系統(tǒng)中的數(shù)據(jù)請(qǐng)求是否為對(duì)目標(biāo)硬盤的讀寫請(qǐng)求,在所述數(shù)據(jù)請(qǐng)求為目標(biāo)硬盤的讀寫請(qǐng)求時(shí),將所述數(shù)據(jù)請(qǐng)求作為所述當(dāng)前讀寫請(qǐng)求,并攔截所述當(dāng)前讀寫請(qǐng)求。
請(qǐng)求判斷模塊20,用于判斷所述當(dāng)前讀寫請(qǐng)求是否根據(jù)所述待還原數(shù)據(jù)生成;
為便于判斷所述當(dāng)前讀寫請(qǐng)求是否根據(jù)所述待還原數(shù)據(jù)生成,可設(shè)置一個(gè)預(yù)設(shè)進(jìn)程,由所述預(yù)設(shè)進(jìn)程來(lái)負(fù)責(zé)對(duì)目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原,因此,根據(jù)所述待還原數(shù)據(jù)生成的讀寫請(qǐng)求也必然是由所述預(yù)設(shè)進(jìn)程所發(fā)送,故而,可直接判斷所述當(dāng)前讀寫請(qǐng)求是否由所述預(yù)設(shè)進(jìn)程所發(fā)送,若是,則認(rèn)定所述當(dāng)前讀寫請(qǐng)求根據(jù)所述待還原數(shù)據(jù)生成,否則認(rèn)定所述當(dāng)前讀寫請(qǐng)求不是根據(jù)所述待還原數(shù)據(jù)生成。
操作允許模塊30,用于在所述當(dāng)前讀寫請(qǐng)求是根據(jù)待還原數(shù)據(jù)生成時(shí),允許所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作。
由于操作系統(tǒng)中可能會(huì)存在很多的數(shù)據(jù)請(qǐng)求,除了根據(jù)所述待還原數(shù)據(jù)生成的讀寫請(qǐng)求外,還會(huì)存在一些不可預(yù)知的其他數(shù)據(jù)請(qǐng)求出現(xiàn),例如:新的操作系統(tǒng)必須還原第10、11、100、101號(hào)等扇區(qū),當(dāng)在操作系統(tǒng)還原過(guò)程中通過(guò)根據(jù)所述待還原數(shù)據(jù)生成的讀寫請(qǐng)求寫入了這些扇區(qū)后,操作系統(tǒng)的其他數(shù)據(jù)請(qǐng)求可能也同時(shí)要寫入這些扇區(qū),此時(shí)會(huì)導(dǎo)致沖突,無(wú)法保證操作系統(tǒng)的其他數(shù)據(jù)請(qǐng)求(可由運(yùn)行的軟件或操作系統(tǒng)產(chǎn)生)未覆蓋當(dāng)前讀寫請(qǐng)求所寫入的數(shù)據(jù),而整個(gè)操作系統(tǒng)的還原又是大數(shù)據(jù)量的還原,至少幾百兆,甚至幾g或幾t的數(shù)據(jù),還原的時(shí)間越長(zhǎng),數(shù)據(jù)被覆蓋的概率就越大,一但有一個(gè)扇區(qū)被覆蓋,就會(huì)出現(xiàn)操作系統(tǒng)崩潰等問(wèn)題,另外,正在運(yùn)行的操作系統(tǒng)在讀取一塊數(shù)據(jù)時(shí),若這塊數(shù)據(jù)被還原為其它操作系統(tǒng)的數(shù)據(jù)了,這樣會(huì)導(dǎo)致操作系統(tǒng)立刻出現(xiàn)不可恢復(fù)的錯(cuò)誤,因此,本實(shí)施例中,在所述當(dāng)前讀寫請(qǐng)求是根據(jù)待還原數(shù)據(jù)生成時(shí),允許所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作。
本實(shí)施例在通過(guò)待還原數(shù)據(jù)對(duì)目標(biāo)硬盤進(jìn)行操作系統(tǒng)還原時(shí),攔截對(duì)所述目標(biāo)硬盤的當(dāng)前讀寫請(qǐng)求,判斷所述當(dāng)前讀寫請(qǐng)求是否根據(jù)所述待還原數(shù)據(jù)生成,在所述當(dāng)前讀寫請(qǐng)求是根據(jù)待還原數(shù)據(jù)生成時(shí),允許所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作,從而能夠防止由于數(shù)據(jù)還原過(guò)程中被覆蓋所引起的操作系統(tǒng)崩潰等問(wèn)題,能夠?qū)⑻幱谶\(yùn)行狀態(tài)的操作系統(tǒng)進(jìn)行還原。
參照?qǐng)D5,圖5為本發(fā)明在線還原操作系統(tǒng)的裝置第二實(shí)施例的程序模塊示意圖,基于上述圖4所示的實(shí)施例,提出本發(fā)明在線還原操作系統(tǒng)的裝置的第二實(shí)施例。
本實(shí)施例中,所述裝置還包括:
操作禁止模塊40,用于在所述當(dāng)前讀寫請(qǐng)求不是根據(jù)待還原數(shù)據(jù)生成時(shí),禁止所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作。
需要說(shuō)明的是,在所述當(dāng)前讀寫請(qǐng)求不是根據(jù)待還原數(shù)據(jù)生成時(shí),若允許所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作,會(huì)導(dǎo)致操作系統(tǒng)崩潰等問(wèn)題,因此,需要禁止所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作。
通常在禁止所述當(dāng)前讀寫請(qǐng)求對(duì)所述硬盤進(jìn)行讀寫操作后,會(huì)將所述當(dāng)前讀寫請(qǐng)求直接丟棄,并返回讀寫失敗的指令,但這樣可能會(huì)使操作系統(tǒng)重新發(fā)出讀寫請(qǐng)求,從而影響還原效率,本實(shí)施例中,會(huì)將所述當(dāng)前讀寫請(qǐng)求掛起,不讓其返回,避免影響還原效率。
參照?qǐng)D6,圖6為本發(fā)明在線還原操作系統(tǒng)的裝置第三實(shí)施例的程序模塊示意圖,基于上述圖4或5所示的實(shí)施例,提出本發(fā)明在線還原操作系統(tǒng)的裝置的第三實(shí)施例,圖6為以基于圖4所示的實(shí)施例為例。
本實(shí)施例中,所述裝置還包括:
數(shù)據(jù)存儲(chǔ)模塊00,用于將所述待還原數(shù)據(jù)存儲(chǔ)至所述目標(biāo)硬盤的預(yù)設(shè)存儲(chǔ)區(qū)域。
需要說(shuō)明的是,由于有些操作系統(tǒng)的網(wǎng)路通信不需要依賴硬盤io程序,此時(shí)可以直接從網(wǎng)路接收數(shù)據(jù)用于還原,但有的操作系統(tǒng)的網(wǎng)路通信可能會(huì)依賴于硬盤io程序,意思就是收發(fā)網(wǎng)路數(shù)據(jù)包時(shí),可能會(huì)夾雜操作系統(tǒng)的硬盤io行為,但夾雜的硬盤io行為對(duì)應(yīng)的數(shù)據(jù)請(qǐng)求被掛起了,在接收網(wǎng)路數(shù)據(jù)的過(guò)程中,會(huì)引起死鎖,這種情況下,可以先將數(shù)據(jù)保存到目標(biāo)硬盤的預(yù)設(shè)存儲(chǔ)區(qū)域(例如:特定的文件),然后從所述預(yù)設(shè)存儲(chǔ)區(qū)域中提取待還原數(shù)據(jù)。
需要說(shuō)明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者系統(tǒng)不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者系統(tǒng)所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過(guò)程、方法、物品或者系統(tǒng)中還存在另外的相同要素。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。