本發(fā)明涉及通信領(lǐng)域,特別涉及一種處理I/O請(qǐng)求的方法及電子設(shè)備。
背景技術(shù):基于I/O(輸入輸出)重定向的存儲(chǔ)設(shè)備保護(hù)軟件可能被穿透,比如應(yīng)用層/驅(qū)動(dòng)層可以通過(guò)直接發(fā)送SCSI(SmallComputerSystemInterface,小型計(jì)算機(jī)系統(tǒng)接口)指令繞過(guò)存儲(chǔ)設(shè)備保護(hù)軟件,或者驅(qū)動(dòng)層還可以通過(guò)獲取DISK(磁盤(pán))的驅(qū)動(dòng)對(duì)象,直接調(diào)用驅(qū)動(dòng)對(duì)象的Dispatch(調(diào)度)函數(shù)等,也可以繞過(guò)存儲(chǔ)設(shè)備保護(hù)軟件。這些方法都可能導(dǎo)致基于IO重定向的存儲(chǔ)設(shè)備保護(hù)軟件失效,可能會(huì)對(duì)磁盤(pán)造成損壞。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例提供一種處理I/O請(qǐng)求的方法及電子設(shè)備,用于保護(hù)磁盤(pán)。一種處理輸入輸出I/O請(qǐng)求的方法,應(yīng)用在一電子設(shè)備中,所述方法包括:獲得一應(yīng)用程序生成的I/O請(qǐng)求,并基于所述I/O請(qǐng)求獲得一I/O請(qǐng)求包信息;在所述電子設(shè)備中的第一驅(qū)動(dòng)獲得所述I/O請(qǐng)求包信息時(shí),判斷所述I/O請(qǐng)求對(duì)應(yīng)的操作是否為第一操作,獲得第一判斷結(jié)果;當(dāng)所述第一判斷結(jié)果表明所述I/O請(qǐng)求對(duì)應(yīng)的操作為所述第一操作時(shí),對(duì)所述I/O請(qǐng)求包信息進(jìn)行第一處理;在所述電子設(shè)備中的第二驅(qū)動(dòng)獲得所述I/O請(qǐng)求包信息時(shí),判斷所述I/O請(qǐng)求包信息是否是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息,獲得第二判斷結(jié)果;當(dāng)所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息時(shí),通過(guò)所述第二驅(qū)動(dòng)執(zhí)行所述I/O請(qǐng)求對(duì)應(yīng)的操作。較佳的,所述第一操作為寫(xiě)操作。較佳的,所述第一驅(qū)動(dòng)為過(guò)濾驅(qū)動(dòng),所述第二驅(qū)動(dòng)為類驅(qū)動(dòng)或端口驅(qū)動(dòng)。較佳的,對(duì)所述I/O請(qǐng)求包信息進(jìn)行第一處理的步驟包括:將所述I/O請(qǐng)求包信息記錄到一列表中,或?qū)⑺鯥/O請(qǐng)求包中的第一元素的值設(shè)置為第一特定值。較佳的,判斷所述I/O請(qǐng)求包信息是否是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息,獲得第二判斷結(jié)果的步驟包括:判斷所述I/O請(qǐng)求包信息是否存在于所述列表中,獲得第二判斷結(jié)果;或判斷所述I/O請(qǐng)求包中的所述第一元素的值是否為所述第一特定值,獲得第二判斷結(jié)果。較佳的,當(dāng)判斷確定所述I/O請(qǐng)求包信息是否存在于所述列表中時(shí),所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息;或當(dāng)判斷確定所述I/O請(qǐng)求包中的所述第一元素的值為所述第一特定值時(shí),所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息。較佳的,還包括步驟:當(dāng)所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息不是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息時(shí),丟棄所述I/O請(qǐng)求包信息,或拒絕執(zhí)行所述I/O請(qǐng)求所對(duì)應(yīng)的操作。一種電子設(shè)備,包括:獲取模塊,用于獲得一應(yīng)用程序生成的I/O請(qǐng)求,并基于所述I/O請(qǐng)求獲得一I/O請(qǐng)求包信息;第一驅(qū)動(dòng),用于在所述電子設(shè)備中的第一驅(qū)動(dòng)獲得所述I/O請(qǐng)求包信息時(shí),判斷所述I/O請(qǐng)求對(duì)應(yīng)的操作是否為第一操作,獲得第一判斷結(jié)果;處理模塊,用于當(dāng)所述第一判斷結(jié)果表明所述I/O請(qǐng)求對(duì)應(yīng)的操作為所述第一操作時(shí),對(duì)所述I/O請(qǐng)求包信息進(jìn)行第一處理;第二驅(qū)動(dòng),用于在所述電子設(shè)備中的第二驅(qū)動(dòng)獲得所述I/O請(qǐng)求包信息時(shí),判斷所述I/O請(qǐng)求包信息是否是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息,獲得 第二判斷結(jié)果;操作模塊,用于當(dāng)所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息時(shí),通過(guò)所述第二驅(qū)動(dòng)執(zhí)行所述I/O請(qǐng)求對(duì)應(yīng)的操作。較佳的,所述第一操作為寫(xiě)操作。較佳的,所述第一驅(qū)動(dòng)為過(guò)濾驅(qū)動(dòng),所述第二驅(qū)動(dòng)為類驅(qū)動(dòng)或端口驅(qū)動(dòng)。較佳的,所述處理模塊具體用于將所述I/O請(qǐng)求包信息記錄到一列表中,或?qū)⑺鯥/O請(qǐng)求包中的第一元素的值設(shè)置為第一特定值。較佳的,所述第二驅(qū)動(dòng)具體用于:判斷所述I/O請(qǐng)求包信息是否存在于所述列表中,獲得第二判斷結(jié)果;或判斷所述I/O請(qǐng)求包中的所述第一元素的值是否為所述第一特定值,獲得第二判斷結(jié)果。較佳的,當(dāng)所述第二驅(qū)動(dòng)判斷確定所述I/O請(qǐng)求包信息是否存在于所述列表中時(shí),所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息;或當(dāng)所述第二驅(qū)動(dòng)判斷確定所述I/O請(qǐng)求包中的所述第一元素的值為所述第一特定值時(shí),所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息。較佳的,所述操作模塊還用于當(dāng)所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息不是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息時(shí),丟棄所述I/O請(qǐng)求包信息,或拒絕執(zhí)行所述I/O請(qǐng)求所對(duì)應(yīng)的操作。本發(fā)明實(shí)施例中處理I/O請(qǐng)求的方法為獲得一應(yīng)用程序生成的I/O請(qǐng)求,并基于所述I/O請(qǐng)求獲得一I/O請(qǐng)求包(IRP)信息;在所述電子設(shè)備中的第一驅(qū)動(dòng)獲得所述I/O請(qǐng)求包信息時(shí),判斷所述I/O請(qǐng)求對(duì)應(yīng)的操作是否為寫(xiě)操作,獲得第一判斷結(jié)果;當(dāng)所述第一判斷結(jié)果表明所述I/O請(qǐng)求對(duì)應(yīng)的操作為寫(xiě)操作時(shí),對(duì)所述I/O請(qǐng)求包信息進(jìn)行第一處理;在所述電子設(shè)備中的第二驅(qū)動(dòng)獲得所述I/O請(qǐng)求包信息時(shí),判斷所述I/O請(qǐng)求包信息是否是經(jīng)過(guò)所述第一處理 后的I/O請(qǐng)求包信息,獲得第二判斷結(jié)果;當(dāng)所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息時(shí),通過(guò)所述第二驅(qū)動(dòng)執(zhí)行所述I/O請(qǐng)求對(duì)應(yīng)的操作。通過(guò)在第二驅(qū)動(dòng)處判斷所述I/O請(qǐng)求包信息是否是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息,再根據(jù)判斷結(jié)果進(jìn)行相應(yīng)操作,如果所述I/O請(qǐng)求包信息不是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息,則可以確定所述I/O請(qǐng)求包信息沒(méi)有經(jīng)過(guò)存儲(chǔ)設(shè)備保護(hù)軟件,則可以丟棄該I/O請(qǐng)求包信息或拒絕執(zhí)行該I/O請(qǐng)求所對(duì)應(yīng)的操作,從而有效保護(hù)磁盤(pán)。附圖說(shuō)明圖1為本發(fā)明實(shí)施例中處理I/O請(qǐng)求的主要方法流程圖;圖2為本發(fā)明實(shí)施例中電子設(shè)備的主要結(jié)構(gòu)圖。具體實(shí)施方式本發(fā)明實(shí)施例中處理I/O請(qǐng)求的方法為獲得一應(yīng)用程序生成的I/O請(qǐng)求,并基于所述I/O請(qǐng)求獲得一I/O請(qǐng)求包(IRP)信息;在所述電子設(shè)備中的第一驅(qū)動(dòng)獲得所述I/O請(qǐng)求包信息時(shí),判斷所述I/O請(qǐng)求對(duì)應(yīng)的操作是否為寫(xiě)操作,獲得第一判斷結(jié)果;當(dāng)所述第一判斷結(jié)果表明所述I/O請(qǐng)求對(duì)應(yīng)的操作為寫(xiě)操作時(shí),對(duì)所述I/O請(qǐng)求包信息進(jìn)行第一處理;在所述電子設(shè)備中的第二驅(qū)動(dòng)獲得所述I/O請(qǐng)求包信息時(shí),判斷所述I/O請(qǐng)求包信息是否是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息,獲得第二判斷結(jié)果;當(dāng)所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息時(shí),通過(guò)所述第二驅(qū)動(dòng)執(zhí)行所述I/O請(qǐng)求對(duì)應(yīng)的操作。通過(guò)在第二驅(qū)動(dòng)處判斷所述I/O請(qǐng)求包信息是否是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息,再根據(jù)判斷結(jié)果進(jìn)行相應(yīng)操作,如果所述I/O請(qǐng)求包信息不是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息,則可以確定所述I/O請(qǐng)求包信息沒(méi)有經(jīng)過(guò)存儲(chǔ)設(shè)備保護(hù)軟件,則可以丟棄該I/O請(qǐng)求包信息或拒絕執(zhí)行該I/O請(qǐng)求所對(duì)應(yīng)的操作,從而有效保護(hù)磁盤(pán)。參見(jiàn)圖1,本發(fā)明實(shí)施例中處理I/O請(qǐng)求的主要方法流程如下,所述方法 可以應(yīng)用于一電子設(shè)備中:步驟101:獲得一應(yīng)用程序生成的I/O請(qǐng)求,并基于所述I/O請(qǐng)求獲得一I/O請(qǐng)求包信息。上層應(yīng)用程序與底層驅(qū)動(dòng)程序通信時(shí),應(yīng)用程序會(huì)發(fā)出I/O請(qǐng)求,將相應(yīng)的I/O請(qǐng)求轉(zhuǎn)換成相應(yīng)的IRP(I/ORequestPacket,輸入輸出請(qǐng)求包)請(qǐng)求包,不同的IRP請(qǐng)求包會(huì)根據(jù)類型被分派到不同的派遣例程中進(jìn)行處理。本發(fā)明實(shí)施例中所述I/O請(qǐng)求包可以是IRP請(qǐng)求包。在所述電子設(shè)備獲得一應(yīng)用程序發(fā)出的I/O請(qǐng)求時(shí),將該I/O請(qǐng)求轉(zhuǎn)換為相應(yīng)的IRP請(qǐng)求包,即基于所述I/O請(qǐng)求獲得一I/O請(qǐng)求包信息。步驟102:在所述電子設(shè)備中的第一驅(qū)動(dòng)獲得所述I/O請(qǐng)求包信息時(shí),判斷所述I/O請(qǐng)求對(duì)應(yīng)的操作是否為第一操作,獲得第一判斷結(jié)果。本發(fā)明實(shí)施例中,所述第一操作可以是寫(xiě)操作,因?yàn)樽x操作是從磁盤(pán)中讀取數(shù)據(jù),無(wú)論是否經(jīng)過(guò)存儲(chǔ)設(shè)備保護(hù)軟件,其對(duì)磁盤(pán)的威脅都不是很大,而寫(xiě)操作是要向磁盤(pán)中寫(xiě)入數(shù)據(jù),如果不經(jīng)過(guò)存儲(chǔ)設(shè)備保護(hù)軟件的過(guò)濾,可能會(huì)向磁盤(pán)中寫(xiě)入非法數(shù)據(jù),對(duì)磁盤(pán)危害較大。本發(fā)明實(shí)施例中所述第一驅(qū)動(dòng)可以是過(guò)濾驅(qū)動(dòng),存儲(chǔ)設(shè)備保護(hù)軟件正是通過(guò)過(guò)濾驅(qū)動(dòng)來(lái)對(duì)信息進(jìn)行過(guò)濾,能夠有效阻止有害信息通過(guò)。所述第一驅(qū)動(dòng)獲得所述I/O請(qǐng)求包信息時(shí),可以判斷所述I/O請(qǐng)求對(duì)應(yīng)的操作是否為第一操作,即是否為寫(xiě)操作,獲得第一判斷結(jié)果,該第一判斷結(jié)果用于表示所述I/O請(qǐng)求對(duì)應(yīng)的操作是所述第一操作或不是所述第一操作。步驟103:當(dāng)所述第一判斷結(jié)果表明所述I/O請(qǐng)求對(duì)應(yīng)的操作為所述第一操作時(shí),對(duì)所述I/O請(qǐng)求包信息進(jìn)行第一處理。當(dāng)所述第一判斷結(jié)果表明所述I/O請(qǐng)求對(duì)應(yīng)的操作為所述第一操作時(shí),可以對(duì)所述I/O請(qǐng)求包信息進(jìn)行第一處理,例如,本發(fā)明實(shí)施例中所述第一處理的方式可以是將所述I/O請(qǐng)求包信息記錄到一列表中,或可以將所述I/O請(qǐng)求包中的第一元素的值設(shè)置為第一特定值,或者也可以是其他處理方式,所述第 一處理只是為了將所述I/O請(qǐng)求包信息做個(gè)記號(hào),以在所述第二驅(qū)動(dòng)處對(duì)接收到的I/O信息進(jìn)行檢測(cè),因此,只要符合本發(fā)明思想的處理方式都在本發(fā)明的保護(hù)范圍之內(nèi)。步驟104:在所述電子設(shè)備中的第二驅(qū)動(dòng)獲得所述I/O請(qǐng)求包信息時(shí),判斷所述I/O請(qǐng)求包信息是否是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息,獲得第二判斷結(jié)果。本發(fā)明實(shí)施例中所述第二驅(qū)動(dòng)可以是類驅(qū)動(dòng)或端口驅(qū)動(dòng),無(wú)論所述I/O請(qǐng)求包信息是否經(jīng)過(guò)所述第一驅(qū)動(dòng),其都會(huì)經(jīng)過(guò)所述第二驅(qū)動(dòng),因此可以在所述第二驅(qū)動(dòng)處設(shè)置檢測(cè)點(diǎn),所述第二驅(qū)動(dòng)在接收到所述I/O請(qǐng)求包信息時(shí),可以判斷所述I/O請(qǐng)求包信息是否是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息,本發(fā)明實(shí)施例中,如果所述第一處理的方式為將所述I/O請(qǐng)求包信息記錄到一列表中,則所述第二驅(qū)動(dòng)需要判斷接收到的所述I/O請(qǐng)求包信息是否位于所述列表中,所述第二判斷結(jié)果用于表明所述I/O請(qǐng)求包信息位于所述列表中或者沒(méi)有位于所述列表中;如果所述第一處理的方式為將所述I/O請(qǐng)求包中的第一元素的值設(shè)置為第一特定值,則所述第二驅(qū)動(dòng)需要判斷接收到的所述I/O請(qǐng)求包中的所述第一元素的值是否為所述第一特定值,所述第二判斷結(jié)果用于表明所述I/O請(qǐng)求包中的所述第一元素的值是所述第一特定值或不是所述第一特定值。其中,所述I/O請(qǐng)求包中可以包括多個(gè)元素,本發(fā)明實(shí)施例中所述第一處理的方式可以是將其中某個(gè)元素的值設(shè)置為所述第一特定值,可以將所述某個(gè)元素稱為所述第一元素。步驟105:當(dāng)所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息時(shí),通過(guò)所述第二驅(qū)動(dòng)執(zhí)行所述I/O請(qǐng)求對(duì)應(yīng)的操作。當(dāng)所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息時(shí),即,如果所述第一處理的方式為將所述I/O請(qǐng)求包信息記錄到一列表中,所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息位于所述列表中;如果所述第一處理的方式為將所述I/O請(qǐng)求包中的第一元素的值設(shè)置為第一特 定值,所述第二判斷結(jié)果表明所述I/O請(qǐng)求包中的所述第一元素的值是所述第一特定值,則可以通過(guò)所述第二驅(qū)動(dòng)繼續(xù)執(zhí)行所述I/O請(qǐng)求包所對(duì)應(yīng)的I/O請(qǐng)求所對(duì)應(yīng)的操作,例如可以將待寫(xiě)數(shù)據(jù)寫(xiě)入磁盤(pán),等等。當(dāng)所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息不是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息時(shí),即,如果所述第一處理的方式為將所述I/O請(qǐng)求包信息記錄到一列表中,所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息沒(méi)有位于所述列表中;如果所述第一處理的方式為將所述I/O請(qǐng)求包中的第一元素的值設(shè)置為第一特定值,所述第二判斷結(jié)果表明所述I/O請(qǐng)求包中的所述第一元素的值不是所述第一特定值,則所述第二驅(qū)動(dòng)可以丟棄所述I/O請(qǐng)求包,或者可以拒絕執(zhí)行所述I/O請(qǐng)求包所對(duì)應(yīng)的I/O請(qǐng)求所對(duì)應(yīng)的操作,用以保護(hù)磁盤(pán)不受可能的傷害。以下通過(guò)幾個(gè)具體的實(shí)施例介紹本發(fā)明中處理I/O請(qǐng)求的方法。實(shí)施例一:首先獲得一應(yīng)用程序生成的I/O請(qǐng)求,將所述I/O請(qǐng)求轉(zhuǎn)換為一I/O請(qǐng)求包,獲得該I/O請(qǐng)求包信息。電子設(shè)備中的所述第一驅(qū)動(dòng)接收到該I/O請(qǐng)求包,獲得該I/O請(qǐng)求包信息,判斷該I/O請(qǐng)求所對(duì)應(yīng)的操作是否為寫(xiě)操作,獲得所述第一判斷結(jié)果,本發(fā)明實(shí)施例中所述第一判斷結(jié)果表明該I/O請(qǐng)求所對(duì)應(yīng)的操作是寫(xiě)操作。對(duì)所述I/O請(qǐng)求包進(jìn)行所述第一處理,本發(fā)明實(shí)施例中所述第一處理的方式為將所述I/O請(qǐng)求包信息記錄到一列表中。在記錄之后,所述I/O請(qǐng)求包繼續(xù)傳遞。所述電子設(shè)備中的所述第二驅(qū)動(dòng)接收到一I/O請(qǐng)求包,判斷該I/O請(qǐng)求包是否是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包,本發(fā)明實(shí)施例中即為判斷所述I/O請(qǐng)求包信息是否存在于所述列表中,本發(fā)明實(shí)施例中所述第二判斷結(jié)果表明所述I/O請(qǐng)求包存在于所述列表中。根據(jù)所述第二判斷結(jié)果確定所述I/O請(qǐng)求包經(jīng)過(guò)了存儲(chǔ)設(shè)備保護(hù)軟件,是安全的,所述第二驅(qū)動(dòng)可以繼續(xù)執(zhí)行所述I/O請(qǐng)求所對(duì)應(yīng)的操作。實(shí)施例二:首先獲得一應(yīng)用程序生成的I/O請(qǐng)求,將所述I/O請(qǐng)求轉(zhuǎn)換為一I/O請(qǐng)求包,獲得該I/O請(qǐng)求包信息。電子設(shè)備中的所述第一驅(qū)動(dòng)接收到該I/O請(qǐng)求包,獲得該I/O請(qǐng)求包信息,判斷該I/O請(qǐng)求所對(duì)應(yīng)的操作是否為寫(xiě)操作,獲得所述第一判斷結(jié)果,本發(fā)明實(shí)施例中所述第一判斷結(jié)果表明該I/O請(qǐng)求所對(duì)應(yīng)的操作是寫(xiě)操作。對(duì)所述I/O請(qǐng)求包進(jìn)行所述第一處理,本發(fā)明實(shí)施例中所述第一處理的方式為將所述I/O請(qǐng)求包中的第一元素的值設(shè)置為第一特定值。在記錄之后,所述I/O請(qǐng)求包繼續(xù)傳遞。所述電子設(shè)備中的所述第二驅(qū)動(dòng)接收到一I/O請(qǐng)求包,判斷該I/O請(qǐng)求包是否是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包,本發(fā)明實(shí)施例中即為判斷所述I/O請(qǐng)求包中的第一元素的值是否為所述第一特定值,本發(fā)明實(shí)施例中所述第二判斷結(jié)果表明所述I/O請(qǐng)求包中所述第一元素的值是所述第一特定值。根據(jù)所述第二判斷結(jié)果確定所述I/O請(qǐng)求包經(jīng)過(guò)了存儲(chǔ)設(shè)備保護(hù)軟件,是安全的,所述第二驅(qū)動(dòng)可以繼續(xù)執(zhí)行所述I/O請(qǐng)求包所對(duì)應(yīng)的操作。實(shí)施例三:首先獲得一應(yīng)用程序生成的I/O請(qǐng)求,將所述I/O請(qǐng)求轉(zhuǎn)換為一I/O請(qǐng)求包,獲得該I/O請(qǐng)求包信息。電子設(shè)備中的所述第一驅(qū)動(dòng)接收到該I/O請(qǐng)求包,獲得該I/O請(qǐng)求包信息,判斷該I/O請(qǐng)求所對(duì)應(yīng)的操作是否為寫(xiě)操作,獲得所述第一判斷結(jié)果,本發(fā)明實(shí)施例中所述第一判斷結(jié)果表明該I/O請(qǐng)求所對(duì)應(yīng)的操作不是寫(xiě)操作。則可以不進(jìn)行后續(xù)處理過(guò)程。實(shí)施例四:首先獲得一應(yīng)用程序生成的I/O請(qǐng)求,將所述I/O請(qǐng)求轉(zhuǎn)換為一I/O請(qǐng)求包,獲得該I/O請(qǐng)求包信息。電子設(shè)備中的所述第一驅(qū)動(dòng)接收到該I/O請(qǐng)求包,獲得該I/O請(qǐng)求包信息, 判斷該I/O請(qǐng)求所對(duì)應(yīng)的操作是否為寫(xiě)操作,獲得所述第一判斷結(jié)果,本發(fā)明實(shí)施例中所述第一判斷結(jié)果表明該I/O請(qǐng)求所對(duì)應(yīng)的操作是寫(xiě)操作。對(duì)所述I/O請(qǐng)求包進(jìn)行所述第一處理,本發(fā)明實(shí)施例中所述第一處理的方式為將所述I/O請(qǐng)求包中的第一元素的值設(shè)置為第一特定值。在記錄之后,所述I/O請(qǐng)求包繼續(xù)傳遞。所述電子設(shè)備中的所述第二驅(qū)動(dòng)接收到一I/O請(qǐng)求包,判斷該I/O請(qǐng)求包是否是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包,本發(fā)明實(shí)施例中即為判斷所述I/O請(qǐng)求包中的第一元素的值是否為所述第一特定值,本發(fā)明實(shí)施例中所述第二判斷結(jié)果表明所述I/O請(qǐng)求包中所述第一元素的值不是所述第一特定值。根據(jù)所述第二判斷結(jié)果確定所述I/O請(qǐng)求包沒(méi)有經(jīng)過(guò)了存儲(chǔ)設(shè)備保護(hù)軟件,可能不安全,所述第二驅(qū)動(dòng)可以丟棄所述I/O請(qǐng)求包。實(shí)施例五:首先獲得一應(yīng)用程序生成的I/O請(qǐng)求,將所述I/O請(qǐng)求轉(zhuǎn)換為一I/O請(qǐng)求包,獲得該I/O請(qǐng)求包信息。電子設(shè)備中的所述第一驅(qū)動(dòng)接收到該I/O請(qǐng)求包,獲得該I/O請(qǐng)求包信息,判斷該I/O請(qǐng)求所對(duì)應(yīng)的操作是否為寫(xiě)操作,獲得所述第一判斷結(jié)果,本發(fā)明實(shí)施例中所述第一判斷結(jié)果表明該I/O請(qǐng)求所對(duì)應(yīng)的操作是寫(xiě)操作。對(duì)所述I/O請(qǐng)求包進(jìn)行所述第一處理,本發(fā)明實(shí)施例中所述第一處理的方式為將所述I/O請(qǐng)求包信息記錄到一列表中。在記錄之后,所述I/O請(qǐng)求包繼續(xù)傳遞。所述電子設(shè)備中的所述第二驅(qū)動(dòng)接收到一I/O請(qǐng)求包,判斷該I/O請(qǐng)求包是否是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包,本發(fā)明實(shí)施例中即為判斷所述I/O請(qǐng)求包信息是否存在于所述列表中,本發(fā)明實(shí)施例中所述第二判斷結(jié)果表明所述I/O請(qǐng)求包沒(méi)有存在于所述列表中。根據(jù)所述第二判斷結(jié)果確定所述I/O請(qǐng)求包沒(méi)有經(jīng)過(guò)存儲(chǔ)設(shè)備保護(hù)軟件,可能安全的,所述第二驅(qū)動(dòng)可以拒絕執(zhí)行所述I/O請(qǐng)求所對(duì)應(yīng)的操作。參見(jiàn)圖2,本發(fā)明實(shí)施例還提供一種電子設(shè)備,其可以包括獲取模塊201、第一驅(qū)動(dòng)202、處理模塊203、第二驅(qū)動(dòng)204和操作模塊205。獲取模塊201用于獲得一應(yīng)用程序生成的I/O請(qǐng)求,并基于所述I/O請(qǐng)求獲得一I/O請(qǐng)求包信息。第一驅(qū)動(dòng)202用于在所述電子設(shè)備中的第一驅(qū)動(dòng)獲得所述I/O請(qǐng)求包信息時(shí),判斷所述I/O請(qǐng)求對(duì)應(yīng)的操作是否為第一操作,獲得第一判斷結(jié)果。處理模塊203用于當(dāng)所述第一判斷結(jié)果表明所述I/O請(qǐng)求對(duì)應(yīng)的操作為所述第一操作時(shí),對(duì)所述I/O請(qǐng)求包信息進(jìn)行第一處理。第二驅(qū)動(dòng)204用于在所述電子設(shè)備中的第二驅(qū)動(dòng)獲得所述I/O請(qǐng)求包信息時(shí),判斷所述I/O請(qǐng)求包信息是否是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息,獲得第二判斷結(jié)果。操作模塊205用于當(dāng)所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息時(shí),通過(guò)所述第二驅(qū)動(dòng)執(zhí)行所述I/O請(qǐng)求對(duì)應(yīng)的操作。本發(fā)明實(shí)施例中處理I/O請(qǐng)求的方法為獲得一應(yīng)用程序生成的I/O請(qǐng)求,并基于所述I/O請(qǐng)求獲得一I/O請(qǐng)求包(IRP)信息;在所述電子設(shè)備中的第一驅(qū)動(dòng)獲得所述I/O請(qǐng)求包信息時(shí),判斷所述I/O請(qǐng)求對(duì)應(yīng)的操作是否為寫(xiě)操作,獲得第一判斷結(jié)果;當(dāng)所述第一判斷結(jié)果表明所述I/O請(qǐng)求對(duì)應(yīng)的操作為寫(xiě)操作時(shí),對(duì)所述I/O請(qǐng)求包信息進(jìn)行第一處理;在所述電子設(shè)備中的第二驅(qū)動(dòng)獲得所述I/O請(qǐng)求包信息時(shí),判斷所述I/O請(qǐng)求包信息是否是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息,獲得第二判斷結(jié)果;當(dāng)所述第二判斷結(jié)果表明所述I/O請(qǐng)求包信息是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息時(shí),通過(guò)所述第二驅(qū)動(dòng)執(zhí)行所述I/O請(qǐng)求對(duì)應(yīng)的操作。通過(guò)在第二驅(qū)動(dòng)處判斷所述I/O請(qǐng)求包信息是否是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息,再根據(jù)判斷結(jié)果進(jìn)行相應(yīng)操作,如果所述I/O請(qǐng)求包信息不是經(jīng)過(guò)所述第一處理后的I/O請(qǐng)求包信息,則可以確定所述I/O請(qǐng)求包信息沒(méi)有經(jīng)過(guò)存儲(chǔ)設(shè)備保護(hù)軟件,則可以丟棄該I/O請(qǐng)求包 信息或拒絕執(zhí)行該I/O請(qǐng)求所對(duì)應(yīng)的操作,從而有效保護(hù)磁盤(pán)。進(jìn)行所述第一處理的方式可以有多種,可以根據(jù)需要進(jìn)行選擇,操作方便。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。