1.一種文件追蹤方法,應(yīng)用于與終端機(jī)通信連接的服務(wù)器,其特征在于,該方法包括:
S1,采集所述終端機(jī)的相關(guān)信息,對(duì)終端機(jī)指定目錄下的文件的操作行為進(jìn)行捕捉監(jiān)控,所述相關(guān)信息包括終端機(jī)物理地址、網(wǎng)絡(luò)地址、操作系統(tǒng)用戶;
S2,根據(jù)所述指定目錄下捕捉到的文件的操作行為生成對(duì)應(yīng)的文件操作事件;
S3,將所述文件操作事件轉(zhuǎn)換成日志存儲(chǔ)到數(shù)據(jù)庫(kù)中;
S4,接收到終端機(jī)發(fā)送的對(duì)目標(biāo)文件全生命周期進(jìn)行定位追蹤的請(qǐng)求后,根據(jù)所述數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)定位日志構(gòu)建所述目標(biāo)文件的生命周期樹(shù)。
2.如權(quán)利要求1所述的文件追蹤方法,其特征在于,步驟S3包括:
若所述文件操作事件是第一類事件,則生成行鍵,將所述第一類事件生成日志,并在所述日志的第一字段添加本結(jié)點(diǎn)行鍵值,作為根結(jié)點(diǎn)指針,存儲(chǔ)到所述數(shù)據(jù)庫(kù)中;
若所述文件操作事件是第二類事件,則生成行鍵,將所述第二類事件生成日志,并查找所述第二類事件的數(shù)據(jù)下最新的一條日志,將所述最新的一條日志中第一字段的內(nèi)容添加到新生成的所述日志的第一字段,并將所述日志存儲(chǔ)到所述數(shù)據(jù)庫(kù)中,存儲(chǔ)成功后,將新生成的所述日志的行鍵追加存儲(chǔ)到所述最新的一條日志的第二字段中;
若所述文件操作事件是第三類事件,則生成行鍵,將所述第三類事件生成日志,并查找所述第三類事件的數(shù)據(jù)下最新的一條日志,將所述最新的一條日志中第一字段的內(nèi)容添加到新生成的所述日志的第一字段,并將所述日志存儲(chǔ)到所述數(shù)據(jù)庫(kù)中。
3.如權(quán)利要求1所述的文件追蹤方法,其特征在于,步驟S4包括:
所述服務(wù)器接收到終端機(jī)發(fā)送的對(duì)目標(biāo)文件全生命周期進(jìn)行定位追蹤請(qǐng)求后,所述服務(wù)器根據(jù)收到的所述對(duì)目標(biāo)文件全生命周期進(jìn)行定位追蹤請(qǐng)求中包含的所述目標(biāo)文件的相關(guān)信息生成行鍵進(jìn)行索引,確定日志條目;
所述服務(wù)器根據(jù)所述日志條目得到對(duì)應(yīng)的數(shù)據(jù)標(biāo)識(shí)符,查詢所述數(shù)據(jù)標(biāo)識(shí)符下的最新一條日志,從所述最新一條日志中獲取根結(jié)點(diǎn)指針,從而獲取根結(jié)點(diǎn)日志;從根結(jié)點(diǎn)進(jìn)行迭代,進(jìn)行樹(shù)構(gòu)建。
4.如權(quán)利要求1所述的文件追蹤方法,其特征在于,所述文件操作事件由所述終端機(jī)在捕獲到文件操作事件時(shí)實(shí)時(shí)發(fā)送給所述服務(wù)器,或由終端機(jī)在捕獲到文件操作時(shí)進(jìn)行存儲(chǔ)然后不定時(shí)地發(fā)送給所述服務(wù)器。
5.如權(quán)利要求1-4任意一項(xiàng)所述的文件追蹤方法,其特征在于,所述數(shù)據(jù)庫(kù)為HBase分布式數(shù)據(jù)庫(kù)。
6.一種文件追蹤裝置,應(yīng)用于與終端機(jī)通信連接的服務(wù)器,其特征在于,所述裝置包括:
采集模塊,用于采集所述終端機(jī)的相關(guān)信息,對(duì)終端機(jī)指定目錄下的文件的操作行為進(jìn)行捕捉監(jiān)控,并將所述操作行為生成對(duì)應(yīng)的文件操作事件,所述相關(guān)信息包括終端機(jī)物理地址、網(wǎng)絡(luò)地址、操作系統(tǒng)用戶;
處理模塊,用于將所述文件操作事件轉(zhuǎn)換成日志;
存儲(chǔ)模塊,用于將所述日志存儲(chǔ)至數(shù)據(jù)庫(kù);
追蹤模塊,用于在接收到終端機(jī)發(fā)送的對(duì)目標(biāo)文件全生命周期進(jìn)行定位追蹤的請(qǐng)求后,根據(jù)所述數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)定位日志構(gòu)建所述目標(biāo)文件的生命周期樹(shù)。
7.如權(quán)利要求6所述的文件追蹤裝置,其特征在于,所述處理模塊:
還用于若所述文件操作事件是第一類事件,則生成行鍵,將所述第一類事件生成日志,并在所述日志的第一字段添加本結(jié)點(diǎn)行鍵值,作為根結(jié)點(diǎn)指針,存儲(chǔ)到所述數(shù)據(jù)庫(kù)中;
還用于若所述文件操作事件是第二類事件,則生成行鍵,將所述第二類事件生成日志,并查找所述第二類事件的數(shù)據(jù)下最新的一條日志,將所述最新的一條日志中第一字段的內(nèi)容添加到新生成的所述日志的第一字段,并將所述日志存儲(chǔ)到所述數(shù)據(jù)庫(kù)中,存儲(chǔ)成功后,將新生成的所述日志的行鍵追加存儲(chǔ)到所述最新的一條日志的第二字段中;
還用于若所述文件操作事件是第三類事件,則生成行鍵,將所述第三類事件生成日志,并查找所述第三類事件的數(shù)據(jù)下最新的一條日志,將所述最新的一條日志中第一字段的內(nèi)容添加到新生成的所述日志的第一字段,并將所述日志存儲(chǔ)到所述數(shù)據(jù)庫(kù)中。
8.如權(quán)利要求6所述的文件追蹤裝置,其特征在于,所述追蹤模塊:
還用于根據(jù)收到的所述對(duì)目標(biāo)文件全生命周期進(jìn)行定位追蹤請(qǐng)求中包含的所述目標(biāo)文件的相關(guān)信息生成行鍵進(jìn)行索引,確定日志條目;
還用于查詢所述數(shù)據(jù)標(biāo)識(shí)符下的最新一條日志,從所述最新一條日志中獲取根結(jié)點(diǎn)指針,從而獲取根結(jié)點(diǎn)日志;從根結(jié)點(diǎn)進(jìn)行迭代,進(jìn)行樹(shù)構(gòu)建。
9.一種文件追蹤系統(tǒng),其特征在于,所述系統(tǒng)包括相互通信連接的終端機(jī)及服務(wù)器;
所述終端機(jī)包括:
終端行為監(jiān)控模塊,用于對(duì)指定目錄下的文件的操作行為進(jìn)行捕捉監(jiān)控,根據(jù)所述操作行為生成對(duì)應(yīng)的文件操作事件;
發(fā)送模塊,用于將所述文件操作事件發(fā)送給所述服務(wù)器;
追蹤請(qǐng)求模塊,用于向所述服務(wù)器發(fā)送目標(biāo)文件全生命周期定位追蹤的請(qǐng)求;
所述服務(wù)器包括:
處理模塊,用于將所述文件操作事件轉(zhuǎn)換成日志;
存儲(chǔ)模塊,用于將所述日志存儲(chǔ)至數(shù)據(jù)庫(kù);
追蹤模塊,用于在接收到終端機(jī)發(fā)送的對(duì)目標(biāo)文件全生命周期進(jìn)行定位追蹤的請(qǐng)求后,根據(jù)所述數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)定位日志構(gòu)建所述目標(biāo)文件的生命周期樹(shù)。
10.如權(quán)利要求9所述的文件追蹤系統(tǒng),其特征在于,所述終端機(jī)的發(fā)送模塊:
用于實(shí)時(shí)地將所述的文件操作事件發(fā)送給所述服務(wù)器;或
用于將所述文件操作事件存儲(chǔ)在所述終端機(jī),及不定時(shí)地將存儲(chǔ)在所述終端機(jī)中的所述操作事件發(fā)送給所述服務(wù)器。