函數(shù)入口被替換為寫請求轉(zhuǎn)發(fā)處理函數(shù),寫請求轉(zhuǎn)發(fā)處理函記錄sd drvier寫請求處理函數(shù)的新地址,因此磁盤sdx根據(jù)入口地址向磁盤驅(qū)動sd drvier發(fā)出寫請求“WRITE”被寫請求轉(zhuǎn)發(fā)處理函數(shù)截獲并轉(zhuǎn)發(fā)至磁盤過濾驅(qū)動our driver,從而在系統(tǒng)未被重新啟動的情況下將磁盤過濾驅(qū)動加載完成,使得系統(tǒng)穩(wěn)定運行,避免業(yè)務(wù)中斷,同時因為采取替換寫請求處理模塊的方式使得待保護(hù)磁盤與對應(yīng)的磁盤驅(qū)動之間的目錄關(guān)系未被改變。
[0036]本領(lǐng)域技術(shù)人員應(yīng)能理解上述將所述第一入口地址中的所述寫請求處理模塊替換為寫請求轉(zhuǎn)發(fā)處理模塊的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的將所述第一入口地址中的所述寫請求處理模塊替換為寫請求轉(zhuǎn)發(fā)處理模塊的方式如可適用于本申請,也應(yīng)包含在本申請保護(hù)范圍以內(nèi),并在此以引用方式包含于此。
[0037]第四裝置14通過所述寫請求轉(zhuǎn)發(fā)處理模塊將所接收到的關(guān)于所述磁盤的寫請求轉(zhuǎn)發(fā)至對應(yīng)的磁盤過濾驅(qū)動以進(jìn)行處理。即被保護(hù)磁盤根據(jù)所記錄的寫請求處理模塊的地址將寫請求進(jìn)行發(fā)送,該地址中現(xiàn)有的所述寫請求轉(zhuǎn)發(fā)處理模塊接受并根據(jù)磁盤過濾驅(qū)動的地址將所述寫請求轉(zhuǎn)發(fā)至對應(yīng)的磁盤過濾驅(qū)動進(jìn)行處理,從而完成磁盤過濾驅(qū)動的熱加載過程,即如圖4中所示寫請求“WRITE”被寫請求轉(zhuǎn)發(fā)處理函數(shù)截獲并轉(zhuǎn)發(fā)至磁盤過濾驅(qū)動our driver。所述轉(zhuǎn)發(fā)過程因為占用寫請求處理模塊地址對寫請求進(jìn)行截獲和轉(zhuǎn)發(fā),在不重啟系統(tǒng)的情況下加載磁盤過濾驅(qū)動,因此對系統(tǒng)產(chǎn)生的影響很小,提升了系統(tǒng)運行的穩(wěn)定性。
[0038]圖2示出根據(jù)本申請另一個優(yōu)選實例的一種用于熱加載磁盤過濾驅(qū)動的設(shè)備中第四裝置示意圖。所述第四裝置中包括第一單元141、第二單元142以及第三單元143。
[0039]其中,第一單元141接收關(guān)于所述磁盤的寫請求;第二單元142通過所述寫請求轉(zhuǎn)發(fā)處理模塊將所述寫請求轉(zhuǎn)發(fā)至對應(yīng)的磁盤過濾驅(qū)動;第三單元143通過所述寫請求轉(zhuǎn)發(fā)處理模塊將經(jīng)所述磁盤過濾驅(qū)動處理后的所述寫請求轉(zhuǎn)發(fā)至所述寫請求處理模塊。
[0040]具體地,第一單元141接收關(guān)于所述磁盤的寫請求,即通過所述寫請求轉(zhuǎn)發(fā)處理模塊占用所述寫請求處理模塊的第一入口地址,使得所述寫請求轉(zhuǎn)發(fā)處理模塊接受發(fā)往所述第一入口地址中的寫請求,如圖4所示,磁盤sdx所發(fā)出的寫請求“WRITE”被寫請求轉(zhuǎn)發(fā)處理函數(shù)在寫請求轉(zhuǎn)發(fā)處理函數(shù)入口接受,其中,寫請求轉(zhuǎn)發(fā)處理函數(shù)入口即為所占用的原sd driver寫請求處理函數(shù)的入口。接受關(guān)于所述磁盤的寫請求便于進(jìn)一步將寫請求發(fā)送至磁盤過濾驅(qū)動進(jìn)行處理。
[0041]接著,第二單元142通過所述寫請求轉(zhuǎn)發(fā)處理模塊將所述寫請求轉(zhuǎn)發(fā)至對應(yīng)的磁盤過濾驅(qū)動,即所述寫請求轉(zhuǎn)發(fā)處理模塊將所接受的寫請求根據(jù)磁盤過濾驅(qū)動的通信地址進(jìn)行轉(zhuǎn)發(fā),如圖4所示,寫請求轉(zhuǎn)發(fā)函數(shù)將寫請求“WRITE”發(fā)送至磁盤過濾驅(qū)動ourdriver,從而使得磁盤過濾驅(qū)動獲得寫請求進(jìn)而完成對磁盤數(shù)據(jù)的備份或保護(hù)等操作,因為寫請求通過原sd driver寫請求處理函數(shù)的入口后被轉(zhuǎn)發(fā),因此磁盤過濾驅(qū)動獲得寫請求進(jìn)行工作前不需要進(jìn)行專門的加載,改變掛載設(shè)備目錄結(jié)構(gòu)以及重啟系統(tǒng),從而使得系統(tǒng)運行穩(wěn)定,降低運維人員的管理復(fù)雜度。
[0042]優(yōu)選地,所述磁盤過濾驅(qū)動工作于內(nèi)核態(tài),因為被保護(hù)磁盤所對應(yīng)的磁盤過濾驅(qū)動在熱加載的過程中需要進(jìn)行寫請求處理函數(shù)的獲取以及替換,因此工作于內(nèi)核態(tài)有助于獲取系統(tǒng)中更高的運行權(quán)利以及能力,使得熱加載過程順利進(jìn)行。
[0043]接著,第三單元143將經(jīng)過所述磁盤過濾驅(qū)動處理后的所述寫請求發(fā)送至對應(yīng)的磁盤驅(qū)動,即在所述被保護(hù)磁盤對應(yīng)的磁盤過濾驅(qū)動將寫請求進(jìn)行處理后會將寫請求發(fā)送至被保護(hù)磁盤對應(yīng)的磁盤驅(qū)動,在磁盤驅(qū)動接受到所述寫請求后,在第一入口地址中的寫請求轉(zhuǎn)發(fā)處理模塊根據(jù)寫請求處理模塊的新地址將所述處理后的寫請求發(fā)送至寫請求處理模塊,從而使得磁盤與其所對應(yīng)的磁盤驅(qū)動之間完成寫請求的發(fā)送。如圖4所示,寫請求“WRITE”通過磁盤過濾驅(qū)動our driver處理后被發(fā)送至sd driver, sd driver中的寫請求轉(zhuǎn)發(fā)處理函數(shù)將所述寫請求轉(zhuǎn)發(fā)至sd driver寫請求處理函數(shù),在這一過程中磁盤sdx中的寫請求發(fā)送地址未變,所對應(yīng)的驅(qū)動sd driver也可以收到寫請求,因此系統(tǒng)不受磁盤過濾驅(qū)動加載的影響,運行穩(wěn)定。
[0044]優(yōu)選地,所述第二單元142在所述寫請求中附加預(yù)定的標(biāo)識信息,并通過所述寫請求轉(zhuǎn)發(fā)處理模塊將所述寫請求轉(zhuǎn)發(fā)至對應(yīng)的磁盤過濾驅(qū)動。其中,所述預(yù)定的標(biāo)識信息是指標(biāo)記在寫請求中,用于快速識別寫請求類別的信息。例如,設(shè)定寫請求轉(zhuǎn)發(fā)處理模塊所接受的寫請求中,無預(yù)定標(biāo)識信息的是由被保護(hù)磁盤發(fā)送的寫請求,有預(yù)定標(biāo)識信息的是由所述磁盤過濾驅(qū)動發(fā)送的處理過后的寫請求。則寫請求轉(zhuǎn)發(fā)處理模塊在接受到寫請求后對寫請求進(jìn)行檢測是否有預(yù)定的標(biāo)識信息,若無預(yù)定的標(biāo)識信息,則該寫請求源自被保護(hù)磁盤所發(fā)出,因此在所述寫請求中的空白位中進(jìn)行標(biāo)記并發(fā)送至被保護(hù)磁盤所對應(yīng)的磁盤過濾驅(qū)動進(jìn)行處理。
[0045]其中,所述第三單元143去除經(jīng)所述磁盤過濾驅(qū)動處理后的所述寫請求中的所述標(biāo)識信息,并通過所述寫請求轉(zhuǎn)發(fā)處理模塊將去除所述標(biāo)識信息后的所述寫請求轉(zhuǎn)發(fā)至所述寫請求處理模塊。接上文舉例,被保護(hù)磁盤所對應(yīng)的磁盤驅(qū)動中寫請求轉(zhuǎn)發(fā)處理模塊在接受到寫請求后對寫請求進(jìn)行檢測是否有預(yù)定的標(biāo)識信息,若有預(yù)定的標(biāo)識信息則該寫請求源自被保護(hù)磁盤所對應(yīng)的磁盤過濾驅(qū)動處理后所發(fā)出,因此將所述寫請求中預(yù)定標(biāo)記進(jìn)行去除,并發(fā)送至寫請求處理模塊進(jìn)行處理。從而所述被保護(hù)磁盤對應(yīng)的磁盤驅(qū)動接受的仍是原來磁盤所發(fā)出的寫請求,使得系統(tǒng)運行保持原有狀態(tài),且通過所述預(yù)定標(biāo)識信息的添加和刪除使得寫請求轉(zhuǎn)發(fā)處理模塊得以辨別寫請求的來源以及需要發(fā)送的對象,使得熱加載磁盤過濾驅(qū)動的過程效率提升。
[0046]更優(yōu)選地,所述標(biāo)識信息與所述磁盤相對應(yīng),即所述標(biāo)識信息中可包括磁盤的辨識信息,當(dāng)多個被保護(hù)磁盤共用一個磁盤過濾驅(qū)動,例如在物理磁盤被分為多個邏輯磁盤的情況下,磁盤過濾驅(qū)動根據(jù)寫請求中的磁盤辨識信息快速辨識所述寫請求所對應(yīng)的磁盤并進(jìn)行處理,從而提升磁盤過濾驅(qū)動的處理效率。
[0047]本領(lǐng)域技術(shù)人員應(yīng)能理解上述寫請求轉(zhuǎn)發(fā)處理模塊在磁盤驅(qū)動以及磁盤過濾驅(qū)動之間轉(zhuǎn)發(fā)寫請求的方式僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的寫請求轉(zhuǎn)發(fā)處理模塊在磁盤驅(qū)動以及磁盤過濾驅(qū)動之間轉(zhuǎn)發(fā)寫請求的方式如可適用于本申請,也應(yīng)包含在本申請保護(hù)范圍以內(nèi),并在此以引用方式包含于此。
[0048]所述設(shè)備1還包括第五裝置15 (未示出),所述第五裝置15迀移所述寫請求處理模塊至第二入口地址是指在寫請求處理模塊的所述第一入口地址被替換為所述寫請求轉(zhuǎn)發(fā)處理模塊后,被迀移至的第二入口地址。其中所述第二入口地址被寫請求轉(zhuǎn)發(fā)處理模塊所記錄,從而據(jù)此將磁盤過濾驅(qū)動處理后的寫請求轉(zhuǎn)發(fā)至寫請求處理模塊,進(jìn)一步地,當(dāng)磁盤過濾驅(qū)動卸載時,所述寫請求處理模塊將從第二入口地址重新迀回第一入口地址,恢復(fù)系統(tǒng)的正常寫請求收發(fā)關(guān)系。
[0049]其中,所述第三單元143根據(jù)所述第二入口地址,通過所述寫請求轉(zhuǎn)發(fā)處理模塊將經(jīng)所述磁盤過濾驅(qū)動處理后的所述寫請求轉(zhuǎn)發(fā)至所述寫請求處理模塊。如圖4所示,寫請求轉(zhuǎn)發(fā)處理函數(shù)接受來自our driver的寫請求,通過辨識一定標(biāo)識信息確定所述寫請求需要轉(zhuǎn)發(fā)至sd driver寫請求處理函數(shù),因此,根據(jù)所記錄的sd driver寫請求處理函數(shù)新地址將所述寫請求進(jìn)行發(fā)送。
[0050]優(yōu)選地,在熱加載所述磁盤過濾驅(qū)動前后所述磁盤與對應(yīng)掛載目錄保持一致。因為所述被保護(hù)磁盤寫請求的發(fā)送地址為第一入口地址未變動,且被保護(hù)磁盤所對應(yīng)的磁盤驅(qū)動所接受的寫請求經(jīng)過轉(zhuǎn)發(fā)后亦未變動,因此,在熱加載所述磁盤過濾驅(qū)動前后所述磁盤與對應(yīng)掛載目錄無需變動,從而使得磁盤過濾驅(qū)動在加載前后不需要重啟系統(tǒng),降低對被保護(hù)磁盤的干擾,降低運維人員對磁盤的運維的管理復(fù)雜度,降低人力成本。
[0051]圖5示出根據(jù)本申請另一個方面的一種用于熱加載磁盤過濾驅(qū)動的方法流程圖。包括步驟S1、步驟S2、步驟S3以及步驟S4。
[0052]其中,在步驟S1中設(shè)備1確定待保護(hù)磁盤對應(yīng)的磁盤驅(qū)動;在步驟S2中設(shè)備1獲取所述磁盤驅(qū)動中寫請求處理模塊的第一入口地址;在步驟S3中設(shè)備1將所述第一入口地址中的所述寫請求處理模塊替換為寫請求轉(zhuǎn)發(fā)處理模塊;在步驟S4中設(shè)備1通過所述寫請求轉(zhuǎn)發(fā)處理模塊將所接收到的關(guān)于所述磁盤的寫請求轉(zhuǎn)發(fā)至對應(yīng)的磁盤過濾驅(qū)動以進(jìn)行處理。
[0053]具體地,在步驟S1中設(shè)備1確定待保護(hù)磁盤對應(yīng)的磁盤驅(qū)動是指獲取待保護(hù)磁盤特征信息并根據(jù)所述特征信息尋找待保護(hù)磁盤所對應(yīng)的磁盤驅(qū)動,例如,在Linux系統(tǒng)中獲取用戶輸入的帶保護(hù)磁盤名稱并根據(jù)所述磁盤名稱找到所需保護(hù)磁盤所對應(yīng)的磁盤驅(qū)動所在位置。其中,待保護(hù)磁盤的特征信息包括但不限于磁盤的名稱、磁盤在系統(tǒng)中的文件路徑等,因此,確定所述待保護(hù)磁盤對應(yīng)的磁盤驅(qū)動的方法包括但不限于磁盤過濾驅(qū)動根據(jù)磁