一種基于java Swing組件的性能數(shù)據(jù)模擬生成器及生成方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及性能測(cè)試領(lǐng)域,尤其涉及一種基于java Swing組件的性能數(shù)據(jù)模擬生成器及生成方法。
【背景技術(shù)】
[0002]當(dāng)前,對(duì)網(wǎng)絡(luò)性能要求越來越多,網(wǎng)管系統(tǒng)需要為用戶呈現(xiàn)各種統(tǒng)計(jì)報(bào)表。但是網(wǎng)管系統(tǒng)需要存儲(chǔ)的性能數(shù)據(jù)越來越多,性能數(shù)據(jù)采集指標(biāo)不僅多,需要處理的數(shù)據(jù)量也很大,計(jì)算公式非常復(fù)雜,需要數(shù)據(jù)庫能對(duì)數(shù)據(jù)靈活計(jì)算。針對(duì)網(wǎng)管性能繁多的采集指標(biāo)和采集時(shí)間周期長(zhǎng)的問題,這些復(fù)雜的性能報(bào)表,傳統(tǒng)上研發(fā)人員會(huì)手動(dòng)輸入大量性能數(shù)據(jù)進(jìn)行測(cè)試分析,但是這樣做非常困難。
[0003]現(xiàn)有技術(shù)中,也存在有很多性能數(shù)據(jù)模擬工具,雖然界面做的很完美,但是他們的配置和數(shù)據(jù)都有自己的數(shù)據(jù)存儲(chǔ)格式,提取和再利用比較困難,很難拿過來直接給研發(fā)人員進(jìn)行二次開發(fā)。現(xiàn)有的一些模擬工具由于從業(yè)人員比較少,測(cè)試采集項(xiàng)不是很完善,很多都需要手動(dòng)錄制腳本或者手動(dòng)錄入數(shù)據(jù)庫。但是對(duì)于電信網(wǎng)管項(xiàng)目,不僅需要硬件設(shè)備的真實(shí)數(shù)據(jù)而且具有需求多變,測(cè)試需要反復(fù)回歸等特點(diǎn),每次需求變動(dòng)都需要重新錄入腳本,不僅浪費(fèi)人力,財(cái)力而且不能滿足需求多變的性能采集功能。
[0004]所以針對(duì)以上問題,需要提供一種新的適用于各類設(shè)備的性能數(shù)據(jù)模擬器和模擬方法,能夠模擬出在不同數(shù)據(jù)庫下的網(wǎng)管設(shè)備性能數(shù)據(jù),從而方便開發(fā)人員二次開發(fā)。
【發(fā)明內(nèi)容】
[0005]針對(duì)現(xiàn)有性能數(shù)據(jù)模擬工具因?yàn)閿?shù)據(jù)格式專用而造成的提取和再利用困難的技術(shù)問題,本發(fā)明提出了一種基于java Swing組件的性能數(shù)據(jù)模擬生成器和模擬方法,能夠?qū)⑿阅軘?shù)據(jù)導(dǎo)入不同操作系統(tǒng)的不同的數(shù)據(jù)庫類型中,以便開發(fā)人員或者測(cè)試人員不用依賴硬件設(shè)備,就可以拿到性能數(shù)據(jù)進(jìn)行分析和調(diào)試。
[0006]為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于java Swing組件的性能數(shù)據(jù)模擬生成器,所述模擬生成器包括:源信息存儲(chǔ)設(shè)備,用于預(yù)先存儲(chǔ)設(shè)備表、PO表和原始數(shù)據(jù)庫,所述設(shè)備表以設(shè)備樹形式保存了每一個(gè)設(shè)備的相關(guān)信息,所述PO表保存了各個(gè)類型設(shè)備要生成的性能指標(biāo)數(shù)據(jù)所對(duì)應(yīng)的原始數(shù)據(jù)表的表名,所述原始數(shù)據(jù)庫中保存了各種性能指標(biāo)數(shù)據(jù)所分別對(duì)應(yīng)的各個(gè)原始數(shù)據(jù)表;用戶輸入設(shè)備,用于根據(jù)用戶的操作,接收用戶輸入的開始時(shí)間、結(jié)束時(shí)間、采集粒度、存入數(shù)據(jù)庫類型和存入數(shù)據(jù)庫IP地址;定時(shí)器,提供定時(shí)信號(hào);主控設(shè)備,與所述源信息存儲(chǔ)設(shè)備、所述用戶輸入設(shè)備和所述定時(shí)器分別連接,根據(jù)用戶的輸入,在設(shè)備樹形式的設(shè)備表中查找需要生成性能指標(biāo)數(shù)據(jù)的設(shè)備作為目標(biāo)設(shè)備,基于所述開始時(shí)間和所述結(jié)束時(shí)間創(chuàng)建一個(gè)線程,根據(jù)采集粒度設(shè)定所述定時(shí)器輪詢所述線程;其中,在所述線程內(nèi),所述主控設(shè)備執(zhí)行以下操作:根據(jù)目標(biāo)設(shè)備的相關(guān)信息在所述PO表中查找要生成的性能指標(biāo)數(shù)據(jù)所對(duì)應(yīng)的原始數(shù)據(jù)表的表名以作為目標(biāo)表名,根據(jù)所述目標(biāo)表名在所述原始數(shù)據(jù)庫中查找生成目標(biāo)設(shè)備性能指標(biāo)數(shù)據(jù)所對(duì)應(yīng)的原始數(shù)據(jù)表,根據(jù)查找到的原始數(shù)據(jù)表的字段類型和字段對(duì)應(yīng)的取值范圍,生成在所述取值范圍內(nèi)的隨機(jī)性能指標(biāo)數(shù)據(jù);所述主控設(shè)備在所述定時(shí)器輪詢所述線程時(shí)執(zhí)行以下操作:將生成的隨機(jī)性能指標(biāo)數(shù)據(jù)和生成時(shí)間寫入TXT文件;在TXT文件寫入完畢后,所述主控設(shè)備將TXT文件導(dǎo)入具有存入數(shù)據(jù)庫IP地址的存入設(shè)備內(nèi)與存入數(shù)據(jù)庫類型對(duì)應(yīng)的數(shù)據(jù)庫。
[0007]可選地,所述模擬生成器還包括:顯示設(shè)備,與所述源信息存儲(chǔ)設(shè)備連接,用于顯示設(shè)備樹以供用戶選擇目標(biāo)設(shè)備,還用于顯示開始時(shí)間選項(xiàng)、結(jié)束時(shí)間選項(xiàng)、采集粒度選項(xiàng)、存入數(shù)據(jù)庫類型選項(xiàng)和存入數(shù)據(jù)庫IP地址選項(xiàng)。
[0008]可選地,所述模擬生成器中:所述目標(biāo)設(shè)備性能指標(biāo)數(shù)據(jù)所對(duì)應(yīng)的原始數(shù)據(jù)表為一個(gè)或多個(gè)。
[0009]可選地,所述模擬生成器中:所述主控設(shè)備在寫入TXT文件時(shí),將所述TXT文件存儲(chǔ)其內(nèi)置存儲(chǔ)單元中。
[0010]可選地,所述模擬生成器中:所述主控設(shè)備在將TXT文件導(dǎo)入具有存入數(shù)據(jù)庫IP地址的存入設(shè)備內(nèi)與存入數(shù)據(jù)庫類型對(duì)應(yīng)的數(shù)據(jù)庫后,刪除其內(nèi)置存儲(chǔ)單元中的TXT文件。
[0011]本發(fā)明還提供了一種基于java Swing組件的性能數(shù)據(jù)模擬生成方法,所述模擬生成方法包括:建立預(yù)先存儲(chǔ)設(shè)備表、PO表和原始數(shù)據(jù)庫,所述設(shè)備表以設(shè)備樹形式保存了每一個(gè)設(shè)備的相關(guān)信息,所述PO表保存了各個(gè)類型設(shè)備要生成的性能指標(biāo)數(shù)據(jù)所對(duì)應(yīng)的原始數(shù)據(jù)表的表名,所述原始數(shù)據(jù)庫中保存了各種性能指標(biāo)數(shù)據(jù)所分別對(duì)應(yīng)的各個(gè)原始數(shù)據(jù)表;接收用戶輸入的開始時(shí)間、結(jié)束時(shí)間、采集粒度、存入數(shù)據(jù)庫類型和存入數(shù)據(jù)庫IP地址;根據(jù)用戶的輸入,在設(shè)備樹形式的設(shè)備表中查找需要生成性能指標(biāo)數(shù)據(jù)的設(shè)備作為目標(biāo)設(shè)備,基于所述開始時(shí)間和所述結(jié)束時(shí)間創(chuàng)建一個(gè)線程,根據(jù)采集粒度設(shè)定定時(shí)輪詢所述線程;其中,在所述線程具體操作為:根據(jù)目標(biāo)設(shè)備的相關(guān)信息在所述PO表中查找要生成的性能指標(biāo)數(shù)據(jù)所對(duì)應(yīng)的原始數(shù)據(jù)表的表名以作為目標(biāo)表名,根據(jù)所述目標(biāo)表名在所述原始數(shù)據(jù)庫中查找生成目標(biāo)設(shè)備性能指標(biāo)數(shù)據(jù)所對(duì)應(yīng)的原始數(shù)據(jù)表,根據(jù)查找到的原始數(shù)據(jù)表的字段類型和字段對(duì)應(yīng)的取值范圍,生成在所述取值范圍內(nèi)的隨機(jī)性能指標(biāo)數(shù)據(jù);在定時(shí)輪詢所述線程時(shí),將生成的隨機(jī)性能指標(biāo)數(shù)據(jù)和生成時(shí)間寫入TXT文件;在TXT文件寫入完畢后,將TXT文件導(dǎo)入具有存入數(shù)據(jù)庫IP地址的存入設(shè)備內(nèi)與存入數(shù)據(jù)庫類型對(duì)應(yīng)的數(shù)據(jù)庫。
[0012]可選地,所述模擬生成方法還包括:采用顯示設(shè)備以顯示設(shè)備樹,供用戶選擇目標(biāo)設(shè)備,還采用顯示設(shè)備顯示開始時(shí)間選項(xiàng)、結(jié)束時(shí)間選項(xiàng)、采集粒度選項(xiàng)、存入數(shù)據(jù)庫類型選項(xiàng)和存入數(shù)據(jù)庫IP地址選項(xiàng)以供用戶選擇。
[0013]可選地,所述模擬生成方法中:所述目標(biāo)設(shè)備性能指標(biāo)數(shù)據(jù)所對(duì)應(yīng)的原始數(shù)據(jù)表為一個(gè)或多個(gè)。
[0014]可選地,所述模擬生成方法中:在寫入TXT文件時(shí),實(shí)時(shí)存儲(chǔ)所述TXT文件。
[0015]可選地,所述模擬生成方法中:在將TXT文件導(dǎo)入具有存入數(shù)據(jù)庫IP地址的存入設(shè)備內(nèi)與存入數(shù)據(jù)庫類型對(duì)應(yīng)的數(shù)據(jù)庫后,刪除實(shí)時(shí)存儲(chǔ)的TXT文件。
[0016]本發(fā)明由于采用了上述技術(shù)方案,從而具有以下優(yōu)點(diǎn):本發(fā)明的基于java Swing組件的性能數(shù)據(jù)模擬生成器及生成方法,改造了現(xiàn)有技術(shù)模擬生成器數(shù)據(jù)提取需要依賴硬件設(shè)備,或不易被開發(fā)人員或測(cè)試人員導(dǎo)出的困境,能夠輕松從模擬生成器中取出所需設(shè)備的各項(xiàng)性能指標(biāo)數(shù)據(jù),便于后續(xù)數(shù)據(jù)的二次開發(fā)。
【附圖說明】
[0017]圖1是本發(fā)明一種基于java Swing組件的性能數(shù)據(jù)模擬生成器的結(jié)構(gòu)方框圖。
[0018]圖2是本發(fā)明一種基于javaSwing組件的性能數(shù)據(jù)模擬生成方法的方法流程圖。
【具體實(shí)施方式】
[0019]現(xiàn)有技術(shù)中,在測(cè)試性能數(shù)據(jù)過程中,需要依賴網(wǎng)管硬件設(shè)備,生成性能采集數(shù)據(jù)文件,或者依賴的性能數(shù)據(jù)模擬生成器所生成的數(shù)據(jù)難以提取。本文通過java Swing組件實(shí)現(xiàn)生成模擬性能原始數(shù)據(jù),不需要依賴網(wǎng)管硬件設(shè)備的情況下,在不同操作系統(tǒng)不同數(shù)據(jù)庫類型下,生成易于提取的對(duì)于小時(shí),天,月各種采集粒度的性能數(shù)據(jù)報(bào)表,有利于測(cè)試人員的后續(xù)分析計(jì)算和數(shù)據(jù)挖掘。
[0020]下面結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】做詳細(xì)的說明。
[0021]首先,請(qǐng)參考圖1,圖1為本發(fā)明一種基于java Swing組件的性能數(shù)據(jù)模擬生成器的結(jié)構(gòu)方框圖,所述模擬生成器包括以下部件:
[0022]源信息存儲(chǔ)設(shè)備1,用于預(yù)先存儲(chǔ)設(shè)備表、PO表和原始數(shù)據(jù)庫,所述設(shè)備表以設(shè)備樹形式保存了每一個(gè)設(shè)備的相關(guān)信息,所述PO表保存了各個(gè)類型設(shè)備要生成的性能指標(biāo)數(shù)據(jù)所對(duì)應(yīng)的原始數(shù)據(jù)表的表名,所述原始數(shù)據(jù)庫中保存了各種性能指標(biāo)數(shù)據(jù)所分別對(duì)應(yīng)的各個(gè)原始數(shù)據(jù)表;
[0023]用戶輸入設(shè)備2,用于根據(jù)用戶的操作,接收用戶輸入的開始時(shí)間、結(jié)束時(shí)間、采集粒度、存入數(shù)據(jù)庫類型和存入數(shù)據(jù)庫IP地址;
[0024]定時(shí)器3,提供定時(shí)信號(hào);
[0025]主控設(shè)備4,與所述源信息存儲(chǔ)設(shè)備1、所述用戶輸入設(shè)備2和所述定時(shí)器3分別連接,根據(jù)用戶的輸入,在設(shè)備樹形式的設(shè)備表中查找需要生成性能指標(biāo)數(shù)據(jù)的設(shè)備作為目標(biāo)設(shè)備,基于所述開始時(shí)間和所述結(jié)束時(shí)間創(chuàng)建一個(gè)線程,根據(jù)采集粒度設(shè)定所述定時(shí)器輪詢所述線程;
[0026]顯示設(shè)備5,與所述源信息存儲(chǔ)設(shè)備I連接,用于顯示設(shè)備樹以供用戶選擇目標(biāo)設(shè)備,還用于顯示開始時(shí)間選項(xiàng)、結(jié)束時(shí)間選項(xiàng)、采集粒度選項(xiàng)、存入數(shù)據(jù)庫類型選項(xiàng)和存入數(shù)據(jù)庫IP地址選項(xiàng);
[0027]其中,在所述線程內(nèi),所述主控設(shè)備4執(zhí)行以下操作:根據(jù)目標(biāo)設(shè)備的相關(guān)信息在所述PO表中查找要生成的性能指標(biāo)數(shù)據(jù)所對(duì)應(yīng)的原始數(shù)據(jù)表的表名以作為目標(biāo)表名,根據(jù)所述目標(biāo)表名在所述原始數(shù)據(jù)庫中查找生成目標(biāo)設(shè)備性能指標(biāo)數(shù)據(jù)所對(duì)應(yīng)的原始數(shù)據(jù)表,根據(jù)查找到的原始數(shù)據(jù)表的字段類型和字段對(duì)應(yīng)的取值范圍,生成在所述取值范圍內(nèi)的隨機(jī)性能指標(biāo)數(shù)據(jù);
[0028]其中,所述主控設(shè)備4在所述定時(shí)器3輪詢所述線程時(shí)執(zhí)行以下操作:將生成的隨機(jī)性能指標(biāo)數(shù)據(jù)和生成時(shí)間寫入TXT文件;以及,在TXT文件寫入完畢后,所述主控