專利名稱:高性能日志及行為審計系統(tǒng)的制作方法
技術領域:
本發(fā)明屬于日志及行為審計領域,具體是涉及一種高性能日志及行為審 計系統(tǒng)。
背景技術:
目前的日志和行為審計系統(tǒng)在釆集數(shù)據(jù)、分析數(shù)據(jù)和存儲數(shù)據(jù)時,主要是利用limix/unix或者Windows服務器,采用通用的關系數(shù)據(jù)庫來構(gòu)建系統(tǒng)平 臺,在此平臺上進一步開發(fā)對數(shù)據(jù)采集和分析存儲的應用。然而對于日志和 行為這樣的大數(shù)據(jù)量的環(huán)境來講,應用這樣的平臺往往在采集、分析和檢索 上無法滿足性能的要求。原因在于1、對于服務器而言,為了滿足業(yè)務和穩(wěn) 定性的需要,.運行了很多的服務和守護進程,但這些服務和守護進程大多數(shù) 對于審計應用而言是沒有必要的;2、對于通用的關系數(shù)據(jù)庫而言,除了提供 數(shù)據(jù)存儲和査詢之外,還需要提供很多數(shù)據(jù)關聯(lián)性的功能,因此無法滿足審 計中數(shù)據(jù)關.系單一但同時數(shù)據(jù)量巨大的快速檢索;3、往往開發(fā)出來的應用, 采集、分析和存儲不能完全獨立,導致一旦有某個模塊上產(chǎn)生瓶頸就很難應 用。發(fā)明內(nèi)容本發(fā)明主要是解決上述現(xiàn)有技術所存在的技術問題,提供一種高性能曰 志及行為審計系統(tǒng)。本發(fā)明的上述技術問題主要是通過下述技術方案得以解決的本發(fā)明系 統(tǒng)主體采用數(shù)據(jù)采集層、數(shù)據(jù)分析層和數(shù)據(jù)存儲檢索層三層設計,各層之間 采用TCP加密傳輸,各層均可以單獨擴展,從而提高單層的性能。其中數(shù)據(jù)采集層采用PCI-E網(wǎng)絡接口工控板,配置INTEL雙核CPU、 DDRII內(nèi)存和DOM盤。裁剪Linux內(nèi)核,只菌下必要的驅(qū)動和模塊。制作啟 動鏡像,并且使系統(tǒng)啟動以后完全運行在內(nèi)存中,以加快系統(tǒng)運行速度。采集程序工作在該層中并采用零拷貝技術,在數(shù)據(jù)采集的初期,完成大部分無 用數(shù)據(jù)的過濾,減少分析和拷貝的壓力。采集到的數(shù)據(jù)格式化為統(tǒng)一的結(jié)構(gòu)體,通過TCP加密傳輸至數(shù)據(jù)分析層。數(shù)據(jù)分析層采用服務器主板,配置AMD ATHLON 64位雙核CPU和SATA 硬盤RAID5。裁剪Linux內(nèi)核,只留下必要的驅(qū)動和模塊。制作啟動鏡像, 并且使系統(tǒng)啟動以后完全運行在內(nèi)存中,以加快系統(tǒng)運行速度。數(shù)據(jù)分析模 塊工作在該層中并接收來自采集層的數(shù)據(jù),采用樹型規(guī)則庫分析每條數(shù)據(jù), 采取相應的動作,然后將數(shù)據(jù)通過TCP加密傳輸至數(shù)據(jù)存儲檢索層。數(shù)據(jù)存儲檢索層采用服務器主板,配置AMD ATHLON 64位雙核CPU和 SATA硬盤RAID5。裁剪Linux內(nèi)核,只留下必要的驅(qū)動和模塊。制作啟動鏡 像,并且使系統(tǒng)啟動以后完全運行在內(nèi)存中,以加快系統(tǒng)運行速度。數(shù)據(jù)存 儲檢索層工作在此系統(tǒng)中,接收來自數(shù)據(jù)分析層的數(shù)據(jù),接收到的數(shù)據(jù)首先 存儲于ramdisk中,到一定量了之后,批量寫入硬盤。在寫入時,首先將結(jié)構(gòu) 體轉(zhuǎn)為二進制流,然后將結(jié)構(gòu)體中唯一的序號和二進制流一一對應寫入原始 數(shù)據(jù)文件。寫入硬盤之后,為了能高效地檢索,為統(tǒng)一結(jié)構(gòu)體的每個字段建 立索引文件。結(jié)構(gòu)體分為數(shù)字型和字符串型兩種數(shù)據(jù),往往對于這兩種數(shù)據(jù), 不僅計算機處理方式不同,而且需要檢索的方式也不同(例如,數(shù)字型通常 為大于、小于和等于,而字符串型為包含或不包含)。因此,建立索引文件時 根據(jù)類型不同,所建立的索引文件也不同。數(shù)字型索引文件通過二進制的方 式來建立,文件中包含兩種信息 一是結(jié)構(gòu)體中對應字段的數(shù)值,二是對應 的結(jié)構(gòu)體索引編號(對于每條數(shù)據(jù)而言,序號是唯一的> 在檢索時,通過對對 應索引文件的檢索,可以檢索出符合條件的序號集合,通過這個集合,可以 在原始數(shù)據(jù)文件中獲取數(shù)據(jù)。字符串索引文件首先計算字符串hash值,文件 中包含三種信息 一是結(jié)構(gòu)體中對應字段的原始字符串,二是字符串對應的 hash值,三是對應的結(jié)構(gòu)體索引編號(對于每條數(shù)據(jù)而言,序號是唯一的)。在 檢索時,通過對對應索引文件的檢索,可以檢索出符合條件的序號集合,通 過這個集合,可以在原始數(shù)據(jù)文件中獲取數(shù)據(jù)。本發(fā)明高性能日志及行為審計系統(tǒng)的設計完全基于嵌入式系統(tǒng),并且在 采集上對軟硬件進行針對性優(yōu)化,在日志和行為型數(shù)據(jù)的存儲和檢索上采用 專用的軟硬件接口和算法,在模塊的設計上保持獨立性,便于擴展,不會在 單一模塊上造成瓶頸。
圖1是本發(fā)明的一種結(jié)構(gòu)示意圖。
具體實施方式
下面通過實施例,并結(jié)合附圖,對本發(fā)明的技術方案作進一步具體的說明。實施例參看圖l,本發(fā)明系統(tǒng)主體采用數(shù)據(jù)采集層、數(shù)據(jù)分析層和數(shù)據(jù) 存儲檢索層三層設計,各層之間采用TCP加密傳輸,各層均可以單獨擴展,從而提高單層的性能。其中數(shù)據(jù)采集層采用PCI-E網(wǎng)絡接口工控板,配置INTEL雙核CPU、 DDRII內(nèi)存和DOM盤。裁剪Linux內(nèi)核,只留下必要的驅(qū)動和模塊。制作啟 動鏡像,并且使系統(tǒng)啟動以后完全運行在內(nèi)存中,以加快系統(tǒng)運行速度。釆 集程序工作在該層中并采用零拷貝技術,在數(shù)據(jù)采集的初期,完成大部分無 用數(shù)據(jù)的過濾,減少分析和拷貝的壓力。采集到的數(shù)據(jù)格式化為統(tǒng)一的結(jié)構(gòu) 體,通過TCP加密傳輸至數(shù)據(jù)分析層。數(shù)據(jù)分析層采用服務器主板,配置AMD ATHLON 64位雙核CPU和SATA 硬盤RAID5。裁剪Li皿x內(nèi)核,只留下必要的驅(qū)動和模塊。制作啟動鏡像, 并且使系統(tǒng)啟動以后完全運行在內(nèi)存中,以加快系統(tǒng)運行速度。數(shù)據(jù)分析模 塊工作耷該層中并接收來自采集層的數(shù)據(jù),采用樹型規(guī)則庫分析每條數(shù)據(jù), 采取相應的動作,然后將數(shù)據(jù)通過TCP加密傳輸至數(shù)據(jù)存儲檢索層。.數(shù)據(jù)存儲檢索層采用服務器主板,配置AMD ATHLON 64位雙核CPU和 SATA硬盤RAID5。裁剪Linux內(nèi)核,只留下必要的驅(qū)動和模塊。偉i作啟動鏡 像,并且使系統(tǒng)啟動以后完全運行在內(nèi)存中,以加快系統(tǒng)運行速度。數(shù)據(jù)存儲檢索層工作在此系統(tǒng)中,接收來自數(shù)據(jù)分析層的數(shù)據(jù),接收到的數(shù)據(jù)首先存儲于ramdisk中,到一定量了之后,批量寫入硬盤。在寫入時,首先將結(jié)構(gòu) 體轉(zhuǎn)為二進制流,然后將結(jié)構(gòu)體中唯一的序號和二進制流一一對應寫入原始 數(shù)據(jù)文件。寫入硬盤之后,為了能高效地檢索,為統(tǒng)一結(jié)構(gòu)體的每個字段建 立索引文件。結(jié)構(gòu)體分為數(shù)字型和字符串型兩種數(shù)據(jù),往往對于這兩種數(shù)據(jù), 不僅計算機處理方式不同,而且需要檢索的方式也不同(例如,數(shù)字型通常 為大于、小于和等于,而字符串型為包含或不包含)。因此,建立索引文件時 根據(jù)類型不同,所建立的索引文件也不同。數(shù)字型索引文件通過二進制的方 式來建立,文件中包含兩種信息 一是結(jié)構(gòu)體中對應字段的數(shù)值,二是對應 的結(jié)構(gòu)體索引編號(對于每條數(shù)據(jù)而言,序號是唯一的)。在檢索時,通過對對應索引文件的檢索,可以檢索出符合條件的序號集合,通過這個集合,可以 在原始數(shù)據(jù)文件中獲取數(shù)據(jù)。'字符串索引文件首先計算字符串hash值,文件 中包含三種信息 一是結(jié)構(gòu)體中對應字段的原始字符串,二是字符串對應的 hash值,三是對應的結(jié)構(gòu)體索引編號(對于每條數(shù)據(jù)而言,序號是唯一的)。在 檢索時,通過對對應索引文件的檢索,可以檢索出符合條件的序號集合,通 過這個集合,可以在原始數(shù)據(jù)文件中獲取數(shù)據(jù)。在這一系列的過程中,性能消耗最大同時也是對性能要求最高的地方, 就在于存儲和檢索這一步。在存儲和檢索上,硬^:會產(chǎn)生頻繁的讀寫,為了 提高這一性能,系統(tǒng)使用了軟件配合硬件的設計。首先,軟件上盡量保證批 量寫入磁盤;然后,在批量寫入的同時,按照DMA寫入塊大小分割寫入數(shù)據(jù); 最后,在讀寫硬盤時,用合理的算法盡量減小磁盤尋道次數(shù)。由于在這些讀 寫設計時與硬件和操作系統(tǒng)內(nèi)核的關系緊密,因此只能采用定制內(nèi)核和硬件 的方法來保障效率。最后,應當指出,以上實施例僅是本發(fā)明較有代表性的例子。顯然,本 發(fā)明的技術方案并不限于上述實施例,還可以有許多變形。本領域的普通技 術人員能從本發(fā)明公開的內(nèi)容直接導出或聯(lián)想到的所有變形,均應認為是本 發(fā)明的保護范圍。
權(quán)利要求
1. 一種高性能日志及行為審計系統(tǒng),其特征是在所述系統(tǒng)主體采用數(shù)據(jù)采集層、數(shù)據(jù)分析層和數(shù)據(jù)存儲檢索層三層設計,各層之間采用TCP加密傳輸,各層均可以單獨擴展,從而提高單層的性能;其中數(shù)據(jù)采集層采用PCI-E網(wǎng)絡接口工控板,配置INTEL雙核CPU、DDRII內(nèi)存和DOM盤,裁剪Linux內(nèi)核,只留下必要的驅(qū)動和模塊,制作啟動鏡像,并且使系統(tǒng)啟動以后完全運行在內(nèi)存中,以加快系統(tǒng)運行速度;采集程序工作在該層中并采用零拷貝技術,在數(shù)據(jù)采集的初期,完成大部分無用數(shù)據(jù)的過濾,減少分析和拷貝的壓力,采集到的數(shù)據(jù)格式化為統(tǒng)一的結(jié)構(gòu)體,通過TCP加密傳輸至數(shù)據(jù)分析層;數(shù)據(jù)分析層采用服務器主板,配置AMD ATHLON 64位雙核CPU和SATA硬盤RAID5,裁剪Linux內(nèi)核,只留下必要的驅(qū)動和模塊,制作啟動鏡像,并且使系統(tǒng)啟動以后完全運行在內(nèi)存中,以加快系統(tǒng)運行速度;數(shù)據(jù)分析模塊工作在該層中并接收來自采集層的數(shù)據(jù),采用樹型規(guī)則庫分析每條數(shù)據(jù),采取相應的動作,然后將數(shù)據(jù)通過TCP加密傳輸至數(shù)據(jù)存儲檢索層;數(shù)據(jù)存儲檢索層采用服務器主板,配置AMD ATHLON 64位雙核CPU和SATA硬盤RAID5,裁剪Linux內(nèi)核,只留下必要的驅(qū)動和模塊,制作啟動鏡像,并且使系統(tǒng)啟動以后完全運行在內(nèi)存中,以加快系統(tǒng)運行速度;數(shù)據(jù)存儲檢索層工作在該層中并接收來自數(shù)據(jù)分析層的數(shù)據(jù),接收到的數(shù)據(jù)首先存儲于ramdisk中,到一定量了之后,批量寫入硬盤;在寫入時,首先將結(jié)構(gòu)體轉(zhuǎn)為二進制流,然后將結(jié)構(gòu)體中唯一的序號和二進制流一一對應寫入原始數(shù)據(jù)文件。
2. 根據(jù)權(quán)利要求1所述的高性能日志及行為審計系統(tǒng),其特征是在所述數(shù) 據(jù)存儲檢索層中,接收來自數(shù)據(jù)分析層的數(shù)據(jù)并批量寫入硬盤之后> 為了能 高效地檢索,為統(tǒng)一結(jié)構(gòu)體的每個字段建立索引文件;結(jié)構(gòu)體分為數(shù)字型和字符串型兩種數(shù)據(jù),數(shù)字型索引文件通過二進制的方式來建立,文件中包含 結(jié)構(gòu)體中對應字段的數(shù)值和對應的結(jié)構(gòu)體索引編號兩種信息,在檢索時通過 對對應索引文件的檢索,可以檢索出符合條件的序號集合,通過這個集合,可以在原始數(shù)據(jù)文件中獲取數(shù)據(jù);字符串索引文件首先計算字符串hash值, 文件中包含結(jié)構(gòu)體中對應字段的原始字符串、字符串對應的hash值和對應的 結(jié)構(gòu)體索引編號三種信息,在檢索時通過對對應索引文件的檢索,可以檢索 出符合條件的序號集合,通過這個集合可以在原始數(shù)據(jù)文件中獲取數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種高性能日志及行為審計系統(tǒng),系統(tǒng)主體采用數(shù)據(jù)采集層、數(shù)據(jù)分析層和數(shù)據(jù)存儲檢索層三層設計,各層之間采用TCP加密傳輸,各層均可以單獨擴展,從而提高單層的性能。本發(fā)明完全基于嵌入式系統(tǒng),并且在采集上對軟硬件進行針對性優(yōu)化,在日志和行為型數(shù)據(jù)的存儲和檢索上采用專用的軟硬件接口和算法,在模塊的設計上保持獨立性,便于擴展,不會在單一模塊上造成瓶頸。
文檔編號G06F17/30GK101267338SQ20081006048
公開日2008年9月17日 申請日期2008年4月23日 優(yōu)先權(quán)日2008年4月23日
發(fā)明者黃藝海 申請人:杭州思福迪信息技術有限公司