一種實時的用戶文件內(nèi)容審計方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種用戶文件內(nèi)容審計方法及系統(tǒng),利用計算機操作系統(tǒng)中的應(yīng)用程序接口,捕捉相應(yīng)的文件消息,實現(xiàn)了對操作系統(tǒng)中文件系統(tǒng)下所管理的用戶文件內(nèi)容的實時備份,從而實現(xiàn)用戶文件內(nèi)容的審計。本發(fā)明方法隨操作系統(tǒng)啟動而加載消息捕捉線程,并在操作系統(tǒng)運行周期內(nèi)駐留內(nèi)存,實時監(jiān)視目標(biāo)目錄的文件消息隊列;當(dāng)捕捉到文件消息后,實時對相應(yīng)文件內(nèi)容進(jìn)行預(yù)處理后傳送至遠(yuǎn)端主機備份,并與操作記錄進(jìn)行關(guān)聯(lián),實現(xiàn)了操作系統(tǒng)消息層的用戶文件內(nèi)容的審計。
【專利說明】一種實時的用戶文件內(nèi)容審計方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種計算機操作系統(tǒng)下用戶文件內(nèi)容備份方法,具體涉及一種實時的用戶文件內(nèi)容審計方法及系統(tǒng)。
[0002]
技術(shù)背景
[0003]目前,企業(yè)的信息化都得到了很大程度的普及,許多員工由于工作的需要都會新建、修改、復(fù)查一些重要的或核心的企業(yè)文件,文件的類型也比較多,有報表文件、圖形文件、文本文件、設(shè)計文件等,在這種情況下,如果沒有嚴(yán)格的管理制度配合,往往會導(dǎo)致企業(yè)文件內(nèi)容的改變、遺漏、或涉及到重要環(huán)節(jié)內(nèi)容的丟失,這對企業(yè)的發(fā)展和管理都是非常不利的。
[0004]在這種情況下,對用戶文件內(nèi)容進(jìn)行審計將會很好的保護(hù)企業(yè)文件內(nèi)容的安全,而要達(dá)到內(nèi)容審計的目的,就需要在計算機操作系統(tǒng)下進(jìn)行用戶文件內(nèi)容的備份,這在用戶文件內(nèi)容審計方面的應(yīng)用中有重要意義。
[0005]傳統(tǒng)的備份系統(tǒng)采用定時掃描文件路徑等方法實現(xiàn)操作系統(tǒng)下用戶文件的備份,在此模式下,即使可以將數(shù)據(jù)的備份時間間隔粒度精確到秒級,但仍然無法滿足人們的需要,特別當(dāng)用戶在短時間內(nèi)進(jìn)行大量文件操作時,不可避免的會產(chǎn)生遺漏,從而損害用戶文件備份的完整性。
[0006]對于持續(xù)數(shù)據(jù)保護(hù)方法,則可以實現(xiàn)對任意時間點的數(shù)據(jù)訪問,它能夠獨立對主要數(shù)據(jù)的修改進(jìn)行持續(xù)捕捉或跟蹤,保存數(shù)據(jù)變化,從而實現(xiàn)從過去的任何非預(yù)設(shè)點恢復(fù)的方法。雖然持續(xù)數(shù)據(jù)保護(hù)技術(shù)具有強大的數(shù)據(jù)保護(hù)能力,但是文件級持續(xù)數(shù)據(jù)保護(hù)功能作用在文件系統(tǒng)上,通過在實現(xiàn)上采用的是捕捉文件系統(tǒng)數(shù)據(jù)或元數(shù)據(jù)的變化事件,及時記錄文件的變動信息,以實現(xiàn)任意時間點的文件恢復(fù)。因此,文件級持續(xù)數(shù)據(jù)保護(hù)技術(shù)要求備份時間間隔粒度為用戶對文件的每一個操作,即用戶每對文件進(jìn)行一次操作便要進(jìn)行一次文件備份。
[0007]但是,文件系統(tǒng)在用戶每次操作時在內(nèi)部會觸發(fā)多次操作,備份程序在操作系統(tǒng)底層捕獲到大量的文件操作消息,對存儲造成巨大的壓力。并且在用戶對單一文件進(jìn)行頻繁的修改時,文件級備份將對文件進(jìn)行頻繁的備份,影響用戶的正常使用。
[0008]專利“一種文件實時監(jiān)控和智能備份的方法”(申請?zhí)?201010169277.9),對這種問題提出了一種方法:它可以對目錄和文件的新建、修改、重命名和刪除等操作進(jìn)行記錄,保存發(fā)生變更的時間、位置、類型等信息,并對關(guān)鍵信息進(jìn)行了提取和去重,避免了對用戶一次操作的多次備份和對臨時文件的備份,減輕了實時備份的壓力。同時在實際的文件操作過程中,可以通過對文件的操作頻率進(jìn)行監(jiān)控,智能的分辨出文件操作頻率降低的瞬間進(jìn)行文件備份。
[0009]此發(fā)明方法雖然實現(xiàn)了文件級持續(xù)數(shù)據(jù)保護(hù)功能作用,通過對操作進(jìn)行記錄來確定是否對文件進(jìn)行備份,但是主要是針對備份的觸發(fā)條件進(jìn)行合理的規(guī)劃安排,沒有具體描述備份的方法,而且此發(fā)明方法沒有把操作記錄與數(shù)據(jù)備份進(jìn)行關(guān)聯(lián),從而無法實現(xiàn)對重要的用戶文件內(nèi)容的審計作用。另外,此發(fā)明方法把對用戶文件內(nèi)容的備份保存在本地計算機,無法避免由于本地計算機存儲設(shè)備損壞、失竊而造成的備份數(shù)據(jù)丟失等風(fēng)險。
[0010]
【發(fā)明內(nèi)容】
[0011]針對計算機操作系統(tǒng)下的用戶文件,本發(fā)明基于計算機操作系統(tǒng)與網(wǎng)絡(luò)技術(shù),提出一種用戶文件內(nèi)容審計方法及系統(tǒng),利用計算機操作系統(tǒng)中的應(yīng)用程序接口,捕捉相應(yīng)的文件消息,實現(xiàn)了對操作系統(tǒng)中文件系統(tǒng)下所管理的用戶文件內(nèi)容的實時備份,從而實現(xiàn)用戶文件內(nèi)容的審計。本發(fā)明方法隨操作系統(tǒng)啟動而加載消息捕捉線程,并在操作系統(tǒng)運行周期內(nèi)駐留內(nèi)存,實時監(jiān)視目標(biāo)目錄的文件消息隊列;當(dāng)捕捉到文件消息后,實時對相應(yīng)文件內(nèi)容進(jìn)行預(yù)處理后傳送至遠(yuǎn)端主機備份,并與操作記錄進(jìn)行關(guān)聯(lián),實現(xiàn)了操作系統(tǒng)消息層的用戶文件內(nèi)容的審計。
[0012]本發(fā)明技術(shù)方案如下:
一種實時的用戶文件內(nèi)容審計方法,包括:
在宿主計算機部署發(fā)送子系統(tǒng),在遠(yuǎn)端備份服務(wù)器端部署接收系統(tǒng)。其中,宿主計算機,在此處指新建、編輯企業(yè)重要文件的計算機。
[0013]發(fā)送子系統(tǒng)在初始化過程中創(chuàng)建消息捕捉線程,定位宿主計算機操作系統(tǒng)安裝目錄下的內(nèi)核文件動態(tài)鏈接庫,調(diào)用該動態(tài)鏈接庫上所定義的應(yīng)用程序接口創(chuàng)建文件通知對象,并設(shè)置監(jiān)視目標(biāo)路徑。
[0014]消息捕捉線程將忽略監(jiān)視目標(biāo)路徑以外的文件消息,只保存特定監(jiān)視目標(biāo)路徑下的文件消息,通過文件通知對象返回的句柄截獲操作系統(tǒng)消息層的文件消息。
[0015]當(dāng)用戶使用宿主計算機對目標(biāo)路徑下的文件進(jìn)行操作時,操作系統(tǒng)內(nèi)核將會收到文件更改通知,并通過文件通知對象返回更改該對象的句柄。此時,消息捕捉線程通過該通知對象返回的句柄截獲操作系統(tǒng)消息層的文件消息,然后觸發(fā)文件處理線程。
[0016]其中,對文件的操作類型共分四種:
(O新增,在目錄中新增文件;
(2)刪除,在目錄中刪除文件;
(3)修改,修改目錄中的文件數(shù)據(jù);
(4)重命名,將目錄中原有文件的名稱改變。
[0017]消息捕捉線程捕捉到宿主機算計目標(biāo)路徑下的文件消息,為文件在文件系統(tǒng)中的元數(shù)據(jù)(Meta-data),其中包括文件路徑、文件大小、文件屬性、創(chuàng)建時間、修改時間、訪問時間等。
[0018]文件處理線程首先接收的文件消息,然后檢查相應(yīng)用戶文件是否存在并可讀,若是,則將相應(yīng)用戶文件內(nèi)容讀入內(nèi)存,并調(diào)用第三方控件進(jìn)行預(yù)處理,預(yù)處理是對其進(jìn)行加密、壓縮。當(dāng)預(yù)處理完成之后,向備份服務(wù)器發(fā)送傳輸請求進(jìn)行文件內(nèi)容備份。
[0019]備份服務(wù)器端上的接收系統(tǒng)收到請求之后,響應(yīng)該請求并與宿主機建立連接,開始接收文件。當(dāng)文件內(nèi)容傳輸成功之后,寫入本地文件系統(tǒng),同時,文件信息記錄傳送至備份服務(wù)器端,以數(shù)據(jù)庫記錄的形式持久化保存保存到服務(wù)器端文件系統(tǒng)中。[0020]其中,備份文件的文件名將被自動修改為其元數(shù)據(jù)的哈希值,通過哈希函數(shù)與數(shù)據(jù)庫中對應(yīng)記錄建立映射關(guān)系。
[0021]一種實時的用戶文件內(nèi)容審計系統(tǒng),包括:
發(fā)送子系統(tǒng)和接收子系統(tǒng)。其中,發(fā)送子系統(tǒng)由定位模塊、獲取模塊、記錄模塊、文件檢測模塊、文件預(yù)處理模塊、文件傳輸模塊組成。接收子系統(tǒng)由響應(yīng)模塊、寫入模塊組成。
[0022]在發(fā)送子系統(tǒng)中,定位模塊、獲取模塊、記錄模塊、文件檢測模塊、文件預(yù)處理模塊、文件傳輸模塊順次連接。
[0023]在接收子系統(tǒng)中,響應(yīng)模塊、寫入模塊順次連接。
[0024]并且,發(fā)送子系統(tǒng)中的文件傳輸模塊與接收子系統(tǒng)中的響應(yīng)模塊連接。
[0025]在宿主計算機上部署發(fā)送子系統(tǒng),發(fā)送子系統(tǒng)包含以下模塊:
定位模塊,用于確定宿主計算機操作系統(tǒng)應(yīng)用程序接口的動態(tài)鏈接庫入口,該入口位于操作系統(tǒng)安裝目錄下的內(nèi)核文件動態(tài)鏈接庫內(nèi)。
[0026]獲取模塊,通過應(yīng)用程序接口創(chuàng)建文件通知對象,并設(shè)置監(jiān)視目標(biāo)路徑,通過該通知對象返回的句柄截獲操作系統(tǒng)消息層的文件消息,保存特定監(jiān)視目標(biāo)路徑下的文件消
肩、O
[0027]記錄模塊,對消息捕捉線程傳入的文件路徑、操作類型等信息進(jìn)行記錄,包括文件在文件系統(tǒng)中的元數(shù)據(jù)(Meta-data),其中包括文件路徑、文件大小、文件屬性、創(chuàng)建時間、修改時間、訪問時間等。
[0028]文件檢測模塊,檢查與文件消息相關(guān)的文件是否存在、是否可讀,若文件存在且可讀則將文件內(nèi)容讀入內(nèi)存流。
[0029]文件預(yù)處理模塊,調(diào)用程序外部第三方控件對已讀入內(nèi)存的文件內(nèi)容進(jìn)行壓縮、加密。
[0030]文件傳輸模塊,將已預(yù)處理的文件內(nèi)容以及文件消息記錄通過網(wǎng)絡(luò)發(fā)送至備份服務(wù)器端。
[0031]在備份服務(wù)器端上部署接收系統(tǒng),接收宿主機計算機所傳輸?shù)奈募?nèi)容和文件信息記錄。
[0032]接收子系統(tǒng)包含以下模塊:
響應(yīng)模塊,用以響應(yīng)宿主機端文件傳輸請求,與宿主機建立連接。
[0033]寫入模塊,將宿主機傳入的文件內(nèi)容寫入本地文件系統(tǒng)或數(shù)據(jù)庫管理系統(tǒng)中。
[0034]本發(fā)明的這種處理方式與常規(guī)的備份相比,有以下幾個優(yōu)勢:
(I)在備份服務(wù)器中,按備份文件與文件信息記錄建立映射關(guān)系,便捷實現(xiàn)重要文件內(nèi)容的審計。
[0035](2)實現(xiàn)了發(fā)送子系統(tǒng)在宿主計算機中自動部署與加載,具有使用方便和隱蔽性聞的優(yōu)點。
[0036](3)宿主計算機發(fā)送子系統(tǒng)與備份服務(wù)器端接收子系統(tǒng)相配合,實現(xiàn)了用戶文件內(nèi)容的異地遠(yuǎn)程備份,避免了本地備份方法中由于本地計算機存儲設(shè)備損壞、失竊而造成的備份數(shù)據(jù)丟失等風(fēng)險。
[0037](4)發(fā)送子系統(tǒng)中的文件預(yù)處理模塊可在數(shù)據(jù)發(fā)送前對其進(jìn)行加密、壓縮,即使在不安全的網(wǎng)絡(luò)環(huán)境中進(jìn)行文件傳輸,仍能在一定程度上保護(hù)數(shù)據(jù)的安全性和隱蔽性。[0038]
【專利附圖】
【附圖說明】
[0039]圖1本發(fā)明實施例的硬件設(shè)備連接示意圖。
[0040]圖2本發(fā)明實施例的系統(tǒng)結(jié)構(gòu)示意圖。
[0041]圖3本發(fā)明實施例的消息捕捉線程設(shè)置流程圖。
[0042]圖4本發(fā)明實施例的文件處理線程工作流程圖。
[0043]圖5本發(fā)明實施例的備份服務(wù)器接收工作流程圖。
[0044]
【具體實施方式】
[0045]下面結(jié)合附圖和實例對本發(fā)明進(jìn)一步詳細(xì)說明,所給出的實施例是為了說明本發(fā)明方法的技術(shù)特點和功能特點,而不是限制本發(fā)明的范圍。
[0046]參閱圖1所示,本發(fā)明實施例的硬件設(shè)備連接,包括
宿主計算機100、備份服務(wù)器101,以及數(shù)據(jù)庫服務(wù)器102。宿主計算機100、備份服務(wù)器101,以及數(shù)據(jù)庫服務(wù)器102三者順次連接。
[0047]宿主計算機100,其上部署了發(fā)布子系統(tǒng),在其中,用戶可以對重要的文件進(jìn)行操作,包括:
I新增,在目錄中新增文件;
I刪除,在目錄中刪除文件;
I修改,修改目錄中的文件數(shù)據(jù);
I重命名,將目錄中原有文件的名稱改變。
[0048]備份服務(wù)器101,其上部署了接收子系統(tǒng),用于接收宿主計算機發(fā)來的備份文件,以及文件消息記錄,并把文件消息記錄傳送給數(shù)據(jù)庫服務(wù)器102。
[0049]數(shù)據(jù)庫服務(wù)器102,用于接收備份服務(wù)器101上傳遞過來的文件消息記錄,并放入數(shù)據(jù)庫系統(tǒng)保存。
[0050]參閱圖2所示,本發(fā)明實施例的系統(tǒng)結(jié)構(gòu),包括
發(fā)送子系統(tǒng)20和接收子系統(tǒng)21。其中,發(fā)送子系統(tǒng)由定位模塊200、獲取模塊201、記錄模塊202、文件檢測模塊203、文件預(yù)處理模塊204、文件傳輸模塊205組成。接收子系統(tǒng)21由響應(yīng)模塊210、寫入模塊211組成。
[0051]在發(fā)送子系統(tǒng)中20,定位模塊200、獲取模塊201、記錄模塊202、文件檢測模塊203、文件預(yù)處理模塊204、文件傳輸模塊205順次連接。
[0052]在接收子系統(tǒng)21中,響應(yīng)模塊210、寫入模塊211順次連接。
[0053]并且,發(fā)送子系統(tǒng)20中的文件傳輸模塊205與接收子系統(tǒng)21中的響應(yīng)模塊210連接。
[0054]在宿主計算機100上部署發(fā)送子系統(tǒng)20,發(fā)送子系統(tǒng)20包含以下模塊:
定位模塊200,用于確定宿主計算機100操作系統(tǒng)應(yīng)用程序接口的動態(tài)鏈接庫入口,該入口位于操作系統(tǒng)安裝目錄下的內(nèi)核文件動態(tài)鏈接庫內(nèi)。
[0055]獲取模塊201,通過應(yīng)用程序接口創(chuàng)建文件通知對象,并設(shè)置監(jiān)視目標(biāo)路徑,通過該通知對象返回的句柄截獲操作系統(tǒng)消息層的文件消息,保存特定監(jiān)視目標(biāo)路徑下的文件消息。
[0056]記錄模塊202,對消息捕捉線程傳入的文件路徑、操作類型等信息進(jìn)行記錄,包括文件在文件系統(tǒng)中的元數(shù)據(jù)(Meta-data),其中包括文件路徑、文件大小、文件屬性、創(chuàng)建時間、修改時間、訪問時間等。
[0057]文件檢測模塊203,檢查與文件消息相關(guān)的文件是否存在、是否可讀,若文件存在且可讀則將文件內(nèi)容讀入內(nèi)存流。
[0058]文件預(yù)處理模塊204,調(diào)用程序外部第三方控件對已讀入內(nèi)存的文件內(nèi)容進(jìn)行壓縮、加密。
[0059]文件傳輸模塊205,將已預(yù)處理的文件內(nèi)容以及文件消息記錄通過網(wǎng)絡(luò)發(fā)送至備份服務(wù)器端。
[0060]在備份服務(wù)器101上部署接收子系統(tǒng)21,接收宿主機計算機100所傳輸?shù)奈募?nèi)容和文件信息記錄。
[0061]接收子系統(tǒng)21包含以下模塊:
響應(yīng)模塊210,用以響應(yīng)宿主計算機100的文件傳輸請求,與宿主計算機100建立連接。
[0062]寫入模塊211,將宿主計算機100傳入的文件內(nèi)容寫入備份服務(wù)器101的本地文件系統(tǒng),以及把文件消息記錄寫入到數(shù)據(jù)庫服務(wù)器102的數(shù)據(jù)庫管理系統(tǒng)中。
[0063]參閱圖3所示,本發(fā)明實施例的消息捕捉線程設(shè)置流程,包括:
步驟300:發(fā)送子系統(tǒng)在初始化過程中創(chuàng)建消息捕捉線程。
[0064]步驟301:定位宿主計算機操作系統(tǒng)安裝目錄下的內(nèi)核文件動態(tài)鏈接庫kernel32。
[0065]步驟302:調(diào)用該動態(tài)鏈接庫上所定義的應(yīng)用程序接口 ReadDirectoryChangesW創(chuàng)建文件通知對象。
[0066]步驟303:設(shè)置監(jiān)視目標(biāo)路徑,例如“d:\secret”。消息捕捉線程將忽略“d: \secret"以外的文件消息,只保存特定監(jiān)視目標(biāo)路徑“d: \secret”下的文件消息,通過該通知對象返回的句柄截獲操作系統(tǒng)消息層的文件消息。
[0067]參閱圖4所示,本發(fā)明實施例的文件處理線程工作流程,包括:
步驟400:消息捕捉線程監(jiān)視目標(biāo)路徑,保存特定監(jiān)視目標(biāo)路徑下的文件消息。
[0068]步驟401:戶使用宿主計算機對目標(biāo)路徑下的文件進(jìn)行操作。例如,當(dāng)宿主計算機用戶對目標(biāo)路徑下文件的文件“d:\secret\dem0.doc”進(jìn)行修改。
[0069]步驟402:操作系統(tǒng)內(nèi)核將會收到文件更改通知,并通過文件通知對象返回更改該對象的句柄。
[0070]步驟403:消息捕捉線程通過該通知對象返回的句柄截獲操作系統(tǒng)消息層的文件消息。截獲的消息類型為FILE_N0TIFY_INF0RMAT10N結(jié)構(gòu)體,該結(jié)構(gòu)體上的對象Action和Filename分別對應(yīng)文件操作類型和文件路徑。
[0071]步驟404:文件處理線程接收的文件消息,文件處理線程首先記錄消息結(jié)構(gòu)體上的對象Action和Filename,然后通過對象Filename的值查找文件系統(tǒng)中對應(yīng)的文件“ d: \secret\dem0.doc ”,檢查相應(yīng)用戶文件是否存在并可讀。
[0072]步驟405:當(dāng)該文件存在且可讀時,文件處理線程將該文件讀入內(nèi)存流中。[0073]步驟406:調(diào)用第三方控件進(jìn)行預(yù)處理,預(yù)處理是對其進(jìn)行加密、壓縮。
[0074]步驟407:當(dāng)預(yù)處理完成之后,向備份服務(wù)器發(fā)送傳輸請求。
[0075]參閱圖5所示,本發(fā)明實施例的備份服務(wù)器接收工作流程,包括:
步驟500:備份服務(wù)器端上的接收系統(tǒng)收到請求之后,響應(yīng)該請求。
[0076]步驟501:備份服務(wù)器與宿主機建立連接.步驟502:開始接收文件。
[0077]步驟503:文件內(nèi)容傳輸成功之后,寫入本地文件系統(tǒng),同時,備份文件信息記錄傳送至備份服務(wù)器端,以數(shù)據(jù)庫記錄的形式持久化保存保存到服務(wù)器端文件系統(tǒng)中。
[0078]步驟504:備份文件的文件名將被自動修改為其元數(shù)據(jù)的哈希值,通過哈希函數(shù)與數(shù)據(jù)庫中對應(yīng)記錄建立映射關(guān)系。
[0079]以上實施例只是對于本發(fā)明的部分功能進(jìn)行描述,但實施例和附圖并不是用來限定本發(fā)明的。在不脫離本發(fā)明之精神和范圍內(nèi),所做的任何等效變化或潤飾,同樣屬于本發(fā)明之保護(hù)范圍,因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以本申請的權(quán)利要求所界定的內(nèi)容為標(biāo)準(zhǔn)。
【權(quán)利要求】
1.一種實時的用戶文件內(nèi)容審計方法,其特征在于:利用計算機操作系統(tǒng)中的應(yīng)用程序接口,捕捉相應(yīng)的文件消息,實現(xiàn)對操作系統(tǒng)中文件系統(tǒng)下所管理的用戶文件內(nèi)容的實時備份,從而實現(xiàn)用戶文件內(nèi)容的審計。
2.根據(jù)權(quán)利要求1所述的用戶文件內(nèi)容審計方法,其特征在于:隨操作系統(tǒng)啟動而加載消息捕捉線程,并在操作系統(tǒng)運行周期內(nèi)駐留內(nèi)存,實時監(jiān)視目標(biāo)目錄的文件消息隊列;當(dāng)捕捉到文件消息后,實時對相應(yīng)文件內(nèi)容進(jìn)行預(yù)處理后傳送至遠(yuǎn)端主機備份,并與操作記錄進(jìn)行關(guān)聯(lián),實現(xiàn)操作系統(tǒng)消息層的用戶文件內(nèi)容的審計。
3.根據(jù)權(quán)利要求1或2所述的用戶文件內(nèi)容審計方法,其特征在于,其具體步驟: 步驟一、在宿主計算機部署發(fā)送子系統(tǒng),在遠(yuǎn)端備份服務(wù)器端部署接收系統(tǒng);其中,宿主計算機,指新建、編輯企業(yè)重要文件的計算機; 步驟二、發(fā)送子系統(tǒng)在初始化過程中創(chuàng)建消息捕捉線程,定位宿主計算機操作系統(tǒng)安裝目錄下的內(nèi)核文件動態(tài)鏈接庫,調(diào)用該動態(tài)鏈接庫上所定義的應(yīng)用程序接口創(chuàng)建文件通知對象,并設(shè)置監(jiān)視目標(biāo)路徑; 步驟三、消息捕捉線程將忽略監(jiān)視目標(biāo)路徑以外的文件消息,只保存特定監(jiān)視目標(biāo)路徑下的文件消息,通過文件通知對象返回的句柄截獲操作系統(tǒng)消息層的文件消息; 步驟四、當(dāng)用戶使用宿主計算機對目標(biāo)路徑下的文件進(jìn)行操作時,操作系統(tǒng)內(nèi)核將會收到文件更改通知,并通過文件通知對象返回更改該對象的句柄;此時,消息捕捉線程通過該通知對象返回的句柄截獲操作系統(tǒng)消息層的文件消息,然后觸發(fā)文件處理線程; 步驟五、消息捕捉線程捕捉到宿主機算計目標(biāo)路徑下的文件消息,為文件在文件系統(tǒng)中的元數(shù)據(jù)(Meta-data); 步驟六、文件處理線程首先接收的文件消息,然后檢查相應(yīng)用戶文件是否存在并可讀,若是,則將相應(yīng)用戶文件內(nèi)容讀入內(nèi)存,并調(diào)用第三方控件進(jìn)行預(yù)處理,預(yù)處理是對其進(jìn)行加密、壓縮;當(dāng)預(yù)處理完成之后,向備份服務(wù)器發(fā)送傳輸請求進(jìn)行文件內(nèi)容備份; 步驟七、備份服務(wù)器端上的接收系統(tǒng)收到請求之后,響應(yīng)該請求并與宿主計算機建立連接,開始接收文件;當(dāng)文件內(nèi)容傳輸成功之后,寫入本地文件系統(tǒng),同時,文件信息記錄傳送至備份服務(wù)器端,以數(shù)據(jù)庫記錄的形式持久化保存保存到服務(wù)器端文件系統(tǒng)中。
4.根據(jù)權(quán)利要求3所述的用戶文件內(nèi)容審計方法,其特征在于:消息捕捉線程流程,包括: 步驟300:發(fā)送子系統(tǒng)在初始化過程中創(chuàng)建消息捕捉線程; 步驟301:定位宿主計算機操作系統(tǒng)安裝目錄下的內(nèi)核文件動態(tài)鏈接庫(kernel32);步驟302:調(diào)用該動態(tài)鏈接庫上所定義的應(yīng)用程序接口(ReadDirectoryChangesW)創(chuàng)建文件通知對象; 步驟303:設(shè)置監(jiān)視目標(biāo)路徑,消息捕捉線程將忽略該目標(biāo)路徑以外的文件消息,只保存特定監(jiān)視目標(biāo)路徑下的文件消息,通過該通知對象返回的句柄截獲操作系統(tǒng)消息層的文件消息。
5.根據(jù)權(quán)利要求3所述的用戶文件內(nèi)容審計方法,其特征在于:文件處理線程流程,包括: 步驟400:消息捕捉線程監(jiān)視目標(biāo)路徑,保存特定監(jiān)視目標(biāo)路徑下的文件消息; 步驟401:用戶使用宿主計算機對目標(biāo)路徑下的文件進(jìn)行操作;步驟402:操作系統(tǒng)內(nèi)核將會收到文件更改通知,并通過文件通知對象返回更改該對象的句柄; 步驟403:消息捕捉線程通過該通知對象返回的句柄截獲操作系統(tǒng)消息層的文件消息; 步驟404:文件處理線程接收的文件消息,文件處理線程首先記錄消息結(jié)構(gòu)體上的對象Action和Filename,然后通過對象Filename的值查找文件系統(tǒng)中對應(yīng)的文件,檢查相應(yīng)用戶文件是否存在并可讀; 步驟405:當(dāng)該文件存在且可讀時,文件處理線程將該文件讀入內(nèi)存流中; 步驟406:調(diào)用第三方控件進(jìn)行預(yù)處理,預(yù)處理是對其進(jìn)行加密、壓縮; 步驟407:當(dāng)預(yù)處理完成之后,向備份服務(wù)器發(fā)送傳輸請求。
6.根據(jù)權(quán)利要求3所述的用戶文件內(nèi)容審計方法,其特征在于,備份服務(wù)器接收流程,包括: 步驟500:備份服務(wù)器端上的接收系統(tǒng)收到請求之后,響應(yīng)該請求; 步驟501:備份服務(wù)器與宿主機建立連接; 步驟502:開始接收文件; 步驟503:文件內(nèi)容傳輸成功之后,寫入本地文件系統(tǒng),同時,備份文件信息記錄傳送至備份服務(wù)器端,以數(shù)據(jù)庫記錄的形式持久化保存保存到服務(wù)器端文件系統(tǒng)中; 步驟504:備份文件的文件名將被自`動修改為其元數(shù)據(jù)的哈希值,通過哈希函數(shù)與數(shù)據(jù)庫中對應(yīng)記錄建立映射關(guān)系。
7.根據(jù)權(quán)利要求3所述的用戶文件內(nèi)容審計方法,其特征在于:步驟四中,對文件的操作類型共分四種: (O新增,在目錄中新增文件; (2)刪除,在目錄中刪除文件; (3)修改,修改目錄中的文件數(shù)據(jù); (4)重命名,將目錄中原有文件的名稱改變。
8.根據(jù)權(quán)利要求3所述的用戶文件內(nèi)容審計方法,其特征在于:步驟五中,所述元數(shù)據(jù)包括文件路徑、文件大小、文件屬性、創(chuàng)建時間、修改時間、訪問時間。
9.根據(jù)權(quán)利要求3所述的用戶文件內(nèi)容審計方法,其特征在于:步驟七中,備份文件的文件名將被自動修改為其元數(shù)據(jù)的哈希值,通過哈希函數(shù)與數(shù)據(jù)庫中對應(yīng)記錄建立映射關(guān)系O
10.一種實時的用戶文件內(nèi)容審計系統(tǒng),它包括宿主計算機、備份服務(wù)器和數(shù)據(jù)庫服務(wù)器,其特征在于,它還包括: 發(fā)送子系統(tǒng)和接收子系統(tǒng):所述發(fā)送子系統(tǒng)由定位模塊、獲取模塊、記錄模塊、文件檢測模塊、文件預(yù)處理模塊、文件傳輸模塊組成;所述接收子系統(tǒng)由響應(yīng)模塊、寫入模塊組成; 在宿主計算機上部署所述發(fā)送子系統(tǒng),在發(fā)送子系統(tǒng)中,定位模塊、獲取模塊、記錄模塊、文件檢測模塊、文件預(yù)處理模塊、文件傳輸模塊順次連接; 所述定位模塊,用于確定宿主計算機操作系統(tǒng)應(yīng)用程序接口的動態(tài)鏈接庫入口,該入口位于操作系統(tǒng)安裝目錄下的內(nèi)核文件動態(tài)鏈接庫內(nèi);所述獲取模塊,通過應(yīng)用程序接口創(chuàng)建文件通知對象,并設(shè)置監(jiān)視目標(biāo)路徑,通過該通知對象返回的句柄截獲操作系統(tǒng)消息層的文件消息,保存特定監(jiān)視目標(biāo)路徑下的文件消息; 所述記錄模塊,對消息捕捉線程傳入的文件路徑、操作類型信息進(jìn)行記錄,包括文件在文件系統(tǒng)中的元數(shù)據(jù)(Meta-data); 所述文件檢測模塊,檢查與文件消息相關(guān)的文件是否存在、是否可讀,若文件存在且可讀則將文件內(nèi)容讀入內(nèi)存流; 所述文件預(yù)處理模塊 ,調(diào)用程序外部第三方控件對已讀入內(nèi)存的文件內(nèi)容進(jìn)行壓縮、加密; 所述文件傳輸模塊,將已預(yù)處理的文件內(nèi)容以及文件消息記錄通過網(wǎng)絡(luò)發(fā)送至備份服務(wù)器端; 在備份服務(wù)器端上部署所述接收子系統(tǒng),接收宿主計算機所傳輸?shù)奈募?nèi)容和文件信息記錄;在所述接收子系統(tǒng)中,響應(yīng)模塊、寫入模塊順次連接;并且,發(fā)送子系統(tǒng)中的文件傳輸模塊與接收子系統(tǒng)中的響應(yīng)模塊連接; 所述響應(yīng)模塊,用以響應(yīng)宿主計算機端文件傳輸請求,與宿主計算機建立連接; 所述寫入模塊,將宿主計算機傳入的文件內(nèi)容寫入本地文件系統(tǒng)或數(shù)據(jù)庫管理器中。
【文檔編號】G06F17/30GK103617099SQ201310661316
【公開日】2014年3月5日 申請日期:2013年12月10日 優(yōu)先權(quán)日:2013年12月10日
【發(fā)明者】謝志超, 傅曉, 莊劍鋒 申請人:焦點科技股份有限公司