數(shù)據(jù)庫審計設(shè)備的測試方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,具體而言,涉及一種數(shù)據(jù)庫審計設(shè)備的測試方法和裝置。
【背景技術(shù)】
[0002]數(shù)據(jù)庫審計系統(tǒng)主要用于監(jiān)視并記錄對數(shù)據(jù)庫服務(wù)器的各類操作行為,通過對網(wǎng)絡(luò)數(shù)據(jù)的分析,實時地、智能地解析對數(shù)據(jù)庫服務(wù)器的各種操作,并記入審計數(shù)據(jù)庫中以便日后進行查詢、分析、過濾,實現(xiàn)對目標數(shù)據(jù)庫系統(tǒng)的用戶操作的監(jiān)控和審計。目前,越來越多的大型企業(yè)意識到了數(shù)據(jù)庫行為審計的重要性,現(xiàn)在采用獨立的數(shù)據(jù)庫審計產(chǎn)品已經(jīng)成為業(yè)界的趨勢。
[0003]性能測試是全面反映數(shù)據(jù)庫審計系統(tǒng)處理分析能力的重要指標,而審計產(chǎn)品性能測試目前并沒有統(tǒng)一的方法。一般的審計產(chǎn)品性能測試指標主要為每秒處理事件數(shù),測試方法為數(shù)據(jù)包回放或使用高端測試儀器模擬數(shù)據(jù)庫數(shù)據(jù)。無論采用哪種方式進行測試,都是使用測試工具提供的回放數(shù)據(jù)或發(fā)模擬數(shù)據(jù)的時間作為處理時間,而一般的審計產(chǎn)品為了提高系統(tǒng)性能,都有數(shù)據(jù)緩存能力,收到數(shù)據(jù)并不代表處理完成,也沒有真正寫入系統(tǒng),所以這種測試方法并不能準確反映系統(tǒng)的處理能力。另外,數(shù)據(jù)庫審計系統(tǒng)處理性能還與背景流量大小、會話處理能力、緩存能力等多項指標有關(guān),所以上述測試方法也不能準確全面反映系統(tǒng)的處理性能。
[0004]針對現(xiàn)有技術(shù)中數(shù)據(jù)庫審計系統(tǒng)的性能測試不準確的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的主要目的在于提供一種數(shù)據(jù)庫審計設(shè)備的測試方法和裝置,以解決數(shù)據(jù)庫審計系統(tǒng)的性能測試不準確的問題。
[0006]為了實現(xiàn)上述目的,根據(jù)本發(fā)明實施例的一個方面,提供了一種數(shù)據(jù)庫審計設(shè)備的測試方法。根據(jù)本發(fā)明的數(shù)據(jù)庫審計設(shè)備的測試方法包括:獲取測試用例和待測試數(shù)據(jù)包:檢測所述數(shù)據(jù)庫審計設(shè)備按照所述測試用例多次接收的測試儀器發(fā)送的所述待測試數(shù)據(jù)包;在檢測到所述數(shù)據(jù)庫審計設(shè)備接收到所述待測試數(shù)據(jù)包時,記錄多次接收所述待測試數(shù)據(jù)包過程中所述待測試數(shù)據(jù)包的入庫時間和丟包率,其中,所述入庫時間為所述數(shù)據(jù)庫審計設(shè)備第一次接收到所述待測試數(shù)據(jù)包的時間至將最后一個接收到的所述待測試數(shù)據(jù)包寫入數(shù)據(jù)庫之間的時間。
[0007]為了實現(xiàn)上述目的,根據(jù)本發(fā)明實施例的另一方面,提供了一種數(shù)據(jù)庫審計設(shè)備的測試裝置。根據(jù)本發(fā)明的數(shù)據(jù)庫審計設(shè)備的測試裝置包括:獲取單元,用于獲取測試用例和待測試數(shù)據(jù)包;檢測單元,用于在檢測所述數(shù)據(jù)庫審計設(shè)備是否按照所述測試用例多次接收測試儀器發(fā)送的所述待測試數(shù)據(jù)包;記錄單元,用于在檢測到所述數(shù)據(jù)庫審計設(shè)備接收所述待測試數(shù)據(jù)包時,記錄多次接收所述待測試數(shù)據(jù)包過程中所述待測試數(shù)據(jù)包的入庫時間和丟包率,其中,所述入庫時間為所述數(shù)據(jù)庫審計設(shè)備第一次接收到所述待測試數(shù)據(jù)包的時間至將最后一個接收到的所述待測試數(shù)據(jù)包寫入數(shù)據(jù)庫之間的時間。
[0008]根據(jù)發(fā)明實施例,獲取測試用例和待測試數(shù)據(jù)包:檢測數(shù)據(jù)庫審計設(shè)備按照測試用例多次接收的測試儀器發(fā)送的待測試數(shù)據(jù)包;在檢測到數(shù)據(jù)庫審計設(shè)備接收到待測試數(shù)據(jù)包時,記錄多次接收待測試數(shù)據(jù)包過程中待測試數(shù)據(jù)包的入庫時間和丟包率,其中,入庫時間為數(shù)據(jù)庫審計設(shè)備第一次接收到待測試數(shù)據(jù)包的時間至將最后一個接收到的待測試數(shù)據(jù)包寫入數(shù)據(jù)庫之間的時間,通過利用多個測試用例測試審計設(shè)備的多個系統(tǒng)性能,能夠全面覆蓋數(shù)據(jù)庫審計設(shè)備的處理性能,同時,通過計算審計設(shè)備接收到第一個數(shù)據(jù)包到將最后一個接收到的數(shù)據(jù)包寫入到數(shù)據(jù)庫的時間準確體現(xiàn)了審計設(shè)備處理數(shù)據(jù)包的時間,避免了現(xiàn)有技術(shù)將回放數(shù)據(jù)或發(fā)模擬數(shù)據(jù)的時間作為處理時間,提高了計時的準確性,由于審計設(shè)備的系統(tǒng)性能參數(shù)利用處理時間來進行計算,因此,提高了審計設(shè)備的性能測試的準確性。
【附圖說明】
[0009]構(gòu)成本申請的一部分的附圖用來提供對本發(fā)明的進一步理解,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
[0010]圖1是根據(jù)本發(fā)明實施例的數(shù)據(jù)庫審計設(shè)備的測試方法的流程圖;以及
[0011]圖2是根據(jù)本發(fā)明實施例的數(shù)據(jù)庫審計設(shè)備的測試裝置的示意圖。
【具體實施方式】
[0012]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。
[0013]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當屬于本發(fā)明保護的范圍。
[0014]需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0015]本發(fā)明實施例提供了一種數(shù)據(jù)庫審計設(shè)備的測試方法。該數(shù)據(jù)庫審計設(shè)備的測試方法能對數(shù)據(jù)庫審計設(shè)備的處理性能進行測試。該測試方法可以采用多個測試用例對數(shù)據(jù)庫審計設(shè)備的處理性能進行測試,全面覆蓋了體現(xiàn)數(shù)據(jù)庫審計設(shè)備性能的多項指標,能夠準確反映數(shù)據(jù)庫審計設(shè)備的處理性能。同時,由于該測試方法采用數(shù)據(jù)庫審計設(shè)備記錄收到數(shù)據(jù)到將接收到的數(shù)據(jù)存入到數(shù)據(jù)庫審計設(shè)備的數(shù)據(jù)庫中的時間,從而提高了計算數(shù)據(jù)庫審計設(shè)備的處理速率的準確性,也就解決了現(xiàn)有技術(shù)中數(shù)據(jù)庫審計系統(tǒng)的性能測試不準確的問題,達到了提高測試數(shù)據(jù)庫審計系統(tǒng)的性能的準確性的效果。在記錄了數(shù)據(jù)庫審計設(shè)備的處理性能的測試結(jié)果后,可以根據(jù)測試結(jié)果找出數(shù)據(jù)審計設(shè)備的處理瓶頸,以便對數(shù)據(jù)庫審計設(shè)備進行優(yōu)化。
[0016]圖1是根據(jù)本發(fā)明實施例的數(shù)據(jù)庫審計設(shè)備的測試方法的流程圖。如圖1所示,該數(shù)據(jù)庫審計設(shè)備的測試方法包括步驟S102至步驟S106:
[0017]步驟S102,獲取測試用例和待測試數(shù)據(jù)包。測試用例可以是多個測試用例,每個測試用例測試數(shù)據(jù)庫審計設(shè)備的一個性能。測試用例可以對數(shù)據(jù)庫審計設(shè)備的多項性能進行測試,例如,無背景流量時前景數(shù)據(jù)入庫性能、有背景流量時前景數(shù)據(jù)入庫性能、多會話處理能力、多網(wǎng)卡抓包性能和緩存寫滿時間等。
[0018]獲取待測試數(shù)據(jù)包時,連接客戶端和數(shù)據(jù)庫服務(wù)器,采集客戶端和數(shù)據(jù)庫服務(wù)器之間通信的數(shù)據(jù)包,該數(shù)據(jù)包包括了完整的會話數(shù)據(jù),如用戶的登錄、登錄后的操作以及登出等數(shù)據(jù)。一般測試常用的數(shù)據(jù)庫如Oracle和SQL server數(shù)據(jù)庫,客戶端連接到數(shù)據(jù)庫后執(zhí)行DQL (數(shù)據(jù)查詢語言),DML (數(shù)據(jù)操作語言),TCL (事務(wù)控制語言),DDL (數(shù)據(jù)定義語言),DCL(數(shù)據(jù)控制語言)等操作,操作完成后斷開數(shù)據(jù)庫的連接。針對不同的數(shù)據(jù)庫的測試可以采集相應(yīng)的數(shù)據(jù)庫的數(shù)據(jù)包,本實施例的測試方法可以對多種數(shù)據(jù)庫的性能進行測試。在獲取到待測試數(shù)據(jù)包時,需要去除無用的數(shù)據(jù)包,僅保留數(shù)據(jù)庫連接的數(shù)據(jù)包。
[0019]步驟S104,檢測數(shù)據(jù)庫審計設(shè)備按照測試用例多次接收的測試儀器發(fā)送的待測試數(shù)據(jù)包。在數(shù)據(jù)庫審計設(shè)備中設(shè)置了計時單元、會話統(tǒng)計單元、自檢單元和性能分析單元。其中,計時單元用于計算數(shù)據(jù)庫審計設(shè)備從接收到數(shù)據(jù)包到將接收到的數(shù)據(jù)全部寫入到數(shù)據(jù)庫的時間;會話統(tǒng)計單元可以統(tǒng)計寫入數(shù)據(jù)庫審計設(shè)備的會話數(shù);自檢單元可以用來檢測數(shù)據(jù)庫審計設(shè)備的緩存是否寫滿;性能分析單元可以用來計算測試時間內(nèi)事件解析入庫的平均處理能力。在執(zhí)行測試用例時,可以使用crontab定期調(diào)用上述測試單元中的一個或多個。其中,crontab是UNIX系統(tǒng)下定期執(zhí)行任務(wù)的觸發(fā)器。用戶把要定期執(zhí)行的任務(wù)記錄在這個文件下面,然后crond定期的去檢查這個定期執(zhí)行列表,有要執(zhí)行的工作時便自動執(zhí)行。
[0020]步驟S106,在檢測到數(shù)據(jù)庫審計設(shè)備接收到待測試數(shù)據(jù)包時,記錄多次接收待測試數(shù)據(jù)包過程中待測試數(shù)據(jù)包的入庫時間和丟包率,其中,入庫時間為數(shù)據(jù)庫審計設(shè)備第一次接收到待測試數(shù)據(jù)包的時間至將最后一個接收到的待測試數(shù)據(jù)包寫入數(shù)據(jù)庫之間的時間。數(shù)據(jù)庫審計設(shè)備接收到待測試數(shù)據(jù)包