專利名稱:一種設備性能統計數據的采集及處理方法
技術領域:
本發明屬于數據處理技術領域,特別涉及設備性能方面的數據統計方法。
背景技術:
性能統計(PERFPerformance)技術是設定系統某一固定時段,采集在此時段中的某些設備性能方面的數據。通過統計分析這些數據,可監控系統中各設備的運行狀況。產生性能統計結果的最小時間段稱為一個性能統計周期,通過采集處理多項數據獲得一個性能統計結果。
數據項一般按照其處理方式可以分為流量類型,最大值統計類型,最小值統計類型,均值統計類型,流量最大值統計類型以及時長類型。流量類型是計算一個周期結束時相對于開始時數據的增量;最大值統計類型是獲得一個周期中多個采樣點原始數據的最大值;最小值統計類型是獲得一個周期中多個采樣點原始數據的最小值;均值統計類型是獲得一個周期中多個采樣點原始數據的平均值;流量最大值統計類型是獲得在相鄰采樣間隔中流量增量的最大值;時長類型主要獲得在一個周期內在各個采樣點中狀態值,并將該值作為所需要狀態的采樣點個數的統計值。根據具體設備的監控需要,數據項的處理方式還可以定義一些其他的專用類型。
設備性能統計數據的采集及處理方法主要完成相關原始數據的采集,數據項的處理,最后將處理后的結果數據提供給用戶。一般性能統計數據的采集及處理方法可以分為原始數據的采集,數據項的處理兩部分。原始數據的采集實時反映各設備的運行狀況;數據項的處理是在性能統計的周期內,根據采集的原始數據,采樣得到數據項,然后根據各數據項事先定義好的處理方式分別進行處理,最終得到所需要的結果數據。
現有的一種設備性能統計數據的采集及處理方法如圖1所示,包括建立一個用于保存數據項的緩沖區,在該緩沖區內設置多個計數器,每個計數器對應一項原始數據的當前值;具體過程包括相互獨立運行的原始數據的采集和數據項的處理兩部分;其中原始數據的采集包括以下步驟1)尋址是指從緩沖區域找到反映某數據項的計數器,從而得到具體配置的數據項所對應的計數器地址;2)數據保存獲得計數器地址后,將相應的原始數據放入該計數器中;3)數據更新當原始數據變化時,重復步驟1,將新的原始數據代替上次保存的原始數據;數據項的處理包括以下步驟1)設定系統設備的性能統計周期T及采樣間隔t,每個周期中包含n個采樣點,n=T/t;2)在一個統計周期T內,根據采樣間隔t讀取原始數據緩沖區D,獲得采樣點k時刻的原始數據當前值a(k)作為數據項;在該周期內,將從原始數據緩沖區D中獲得的所有數據項,形成數據項集合A={a(0),a(1),…a(n-1)};3)統計周期結束后,根據不同類型數據項的處理方法,對所獲得的數據項集合A進行處理,例如處理方式為求最大值類型,即取集合A中各數據項的最大值為最終的結果數據;其他數據項類型的處理方式如前所述,不再重復。
下面以流量類型的測量數據項為例子說明上述數據項處理步驟2)中的具體實現方法。
在一個統計周期中,需要兩次獲得緩沖區的數據,即周期結束時獲得的數據和周期開始時獲得的數據,步驟如下1、統計周期開始;2、當滿足時間==周期開始的時間,周期開始,讀取計數器緩沖區數據,獲得a(0);
3、當滿足時間==周期結束的時間,周期結束,讀取計數器緩沖區數據,獲得a(n),計算結果數據F=a(n)-a(0)。
4、統計周期結束。
上述已有的設備性能統計數據的采集及處理方法是原始數據的采集和數據項的處理相互獨立運行。采用共享緩沖區,用以保存及修改數據。共享緩沖區的每個存放數據的最小單位,稱為計數器。計數器作為中介來完成數據交換的。緩沖區中的數據是被動地接受修改,只需要在這些緩沖區域內進行采樣就可以獲得所需的數據項集合,由于該緩沖區域是用來保存當前原始數據的,原始數據每次變化,都需要實時反映到緩沖區中,不管是否進行數據采樣,都需要隨時改變計數器,來保留當前的原始數據的值。由于系統類似的配置較多,每項配置所需要的數據項種類也較多,所以占用的計數器緩沖區較大。
綜上所述,采用該方法,當原始數據發生變化時,都要通過計數器將這些變化同步反應到計數器緩沖區中,并且不管是否正在進行性能統計,該計數器都要實時更新。原始數據變化頻繁,導致計數器頻繁更新;此外,由于計數器緩沖區域較大,造成尋址較慢,所以該方法效率較低,不適合統計變化頻繁的情況。
發明內容
本發明的目的是為解決已有技術效率較低,不適合統計變化頻繁的原始數據的問題,提出一種新的設備性能統計數據的采集及處理方法,具有效率高,適應范圍廣的特點。
本發明提出的一種設備性能統計數據的采集及處理方法,包括原始數據的采集和數據項的處理兩個流程;其特征在于設置一具有“關閉”和“開啟”兩種狀態的開始標志;所述原始數據的采集流程在開始標志處于“開啟”狀態時更新原始數據成為當前原始數據,在開始標志處于“關閉”狀態時不更新原始數據;所述數據項的處理流程在統計周期開始時開始標志設置為“開啟”狀態,在統計周期內,獲取當時原始數據,統計周期結束后,將原始數據的開始標志置為“關閉”狀態,處理所獲取的原始數據獲得最終數據統計結果。
本發明方法還可包括設置多個固定的原始數據緩沖區,設定系統的性能統計周期T及采樣間隔t,每個周期中包含n個采樣點,n=T/t,n取整。
所述原始數據的采集流程具體可包括以下步驟當原始數據發生變化時,先判斷開始標志的狀態,如果是“關閉”狀態時,原始數據不更新;若開始標志為“開啟”狀態,更新原始數據緩沖區中的原始數據成為當前原始數據。
所述數據項的處理流程具體可包括以下步驟1)統計周期開始,將開始標志設置為“開啟”狀態,同時從所述原始數據緩沖區中的獲取當前原始數據;2)生成數據項;3)統計周期結束;4)將所述開始標志設置為“關閉”狀態;5)根據不同類型數據項的處理方法計算獲得結果數據。
所述生成數據項的處理過程可為在一個統計周期T內,根據采樣間隔t從原始數據緩沖區讀取當前原始數據,獲得采樣點k時刻的原始數據當前值a(k)作為數據項;在該周期內,將從原始數據緩沖區中獲得的所有數據項,形成數據項集合A={a(0),a(1),…a(n-1)}。
本發明的特點為設置固定的原始數據緩存區,避免了耗時的數據尋址過程。數據處理流程采用開始標志,避免了沒有進行性能統計數據時原始數據采集流程對于CPU資源的占用,同時擴大了可以統計的數據項的范圍。
圖1為已有技術的性能統計數據采集及處理方法總體流程框圖;圖2為本發明的性能統計數據采集及處理方法總體流程框圖。
具體實施例方式
本發明提出的一種設備性能統計數據的采集及處理方法實施例,結合圖2詳細說明如下本實施例方法包括采集處理3個原始數據A,B,C的數據項,原始數據A的數據項為流量類型,原始數據B的數據項為最大值類型,原始數據C的數據項為流量最大值類型。原始數據A平均0.1秒變化一次,原始數據B平均0.2秒變化一次,原始數據C平均0.3秒變化一次,A,B,C的數據項不相關。
設置原始數據A,B,C相對應的緩沖區D(a),D(b),D(c);設置一具有“關閉”和“開啟”兩種狀態的開始標志。設定系統的性能統計周期T為1分鐘及采樣間隔t為1秒,每個周期中包含n個采樣點,n=60;本實施例的具體流程包括原始數據的采集和數據項的處理兩部分,如圖2所示;其中,原始數據的采集流程具體包括以下步驟1)當原始數據發生變化時,先判斷開始標志的狀態,如果是“關閉”狀態時,原始數據不更新;2)若開始標志為“開啟”狀態,實時更新緩沖區D(a),D(b),D(c)中的原始數據,成為當前時刻孤原始數據。
數據項處理流程具體包括以下步驟1)統計周期開始,將開始標志設置為“開啟”狀態,即啟動開始標志;同時讀取緩沖區D(a),D(b),D(c)中的當前數據,根據數據A,B,C的統計數據類型的不同,記錄數據項a(0),b(0),c(0);2)生成數據項在1分鐘的統計周期內,獲得采樣點k時刻原始數據當前值;對于數據項A,由于流量類型在一個周期中僅僅需要兩個值,所以在1分鐘內,在k={0,59}時獲得采樣數據A={a(0),a(59)};對于數據項B,在1分鐘內,需要獲得60個采樣數據B={b(0),b(1),...b(59)},并在k={0,1,...59}時求Max(b)=Max{b(0),b(1),...b(59)};對于數據項C,需要獲得61個采樣點數據C={c(0),c(1),...,c(60)}并在k={1,2,...60 }時求Max(c(k)-c(k-1))=Max{c(1)-c(0),c(2)-c(1),...c(60)-c(59)};3)統計周期結束,4)將原始數據的開始標志設置為“關閉”狀態,即關閉開啟標志;5)計算結果數據根據數據項的處理方法,對所獲得的數據項集合進行處理,對于A,E(a)=a(59)-a(0);對于B,E(b)=Max(b);對于C,E(c)=Max(c(k)-c(k-1));6)數據處理流程結束,獲得最終數據統計結果。
在本實施例整個“開啟”狀態中,A更新了600次,B更新了300次,C更新了200次。假設數據A,B,C數據更新所占用的CPU時間為0.0005秒(對于不同的數據更新方式,更新所占用的時間長度有不同,在本實施例中,數據更新所需要的時間平均為0.0005),判斷標志所花費的時間忽略,則A,B,C所占用的CPU總時間為(600+300+200)*0.0005=0.55秒,由于數據更新所占用的CPU時間資源的比值為0.55/60=0.92%;而在已有技術流程中,除了數據更新所花費的時間外,還有更新每次數據所花費的數據尋址所占用的CPU時間為0.001,則數據尋址所占用的CPU總時間為(600+300+200)*0.001=1.1秒,則已有技術所占用的總時間為(0.55+1.1)=1.65,所占用的CPU時間資源比值為1.65/60=2.75%;當開始標志的狀態為“關閉”狀態,結束更新緩沖區D(a),D(b),D(c)中的數據,此時幾乎不占用CPU時間;而在已有技術中,由于原始數據更新還需要繼續,所以為數據處理流程所開銷的CPU資源比值依然是2.75%。
從以上實施例中原始數據采集流程可以看出,在進行性能統計數據時,數據采集流程對于CPU的占用減少了1.83%;在不進行性能統計的時間內,數據采集流程對于CPU的占用減少了2.75%;由于性能統計數據是提供給數據測試使用的,不進行性能統計數據的時間遠大于進行性能統計數據的時間。本發明減少了數據統計對CPU資源的消耗,使性能統計數據的效率獲得了極大的提高。
由本實施例中的原始數據采集流程來看,本發明的性能統計數據采集及處理方法可以擴大性能統計的范圍。假如存在原始數據D,平均0.002秒數據更新一次,數據更新所花的時間為0.0001秒。那么在一個采樣周期(1秒)內,數據更新了500次,在一個周期中(60秒),需要更新30000次,在已有技術中,由于數據更新所需要占用CPU的時間為(0.001+0.0001)*30000=33秒,而一個周期時間為60秒,所以這樣的統計,系統是不能勝任的。但是使用本發明,原始數據采集流程所需要的時間長為0.0001*30000=3秒,這個數據,系統是可以接受的。
權利要求
1.一種設備性能統計數據的采集及處理方法,包括原始數據的采集和數據項的處理兩個流程;其特征在于,設置一具有“關閉”和“開啟”兩種狀態的開始標志;所述原始數據的采集流程在開始標志處于“開啟”狀態時更新原始數據成為當前原始數據,在開始標志處于“關閉”狀態時不更新原始數據;所述數據項的處理流程在統計周期開始時開始標志設置為“開啟”狀態,在統計周期內,獲取當時原始數據,統計周期結束后,將原始數據的開始標志置為“關閉”狀態,處理所獲取的原始數據獲得最終數據統計結果。
2.如權利要求1所述的設備性能統計數據的采集及處理方法,其特征在于,還包括設置多個固定的原始數據緩沖區,設定系統的性能統計周期T及采樣間隔t,每個周期中包含n個采樣點,n=T/t,n取整。
3.如權利要求2所述的設備性能統計數據的采集及處理方法,其特征在于,所述原始數據的采集流程具體包括以下步驟當原始數據發生變化時,先判斷開始標志的狀態,如果是“關閉”狀態時,原始數據不更新;若開始標志為“開啟”狀態,更新原始數據緩沖區中的原始數據成為當前原始數據。
4.如權利要求2所述的設備性能統計數據的采集及處理方法,其特征在于,所述數據項的處理流程具體包括以下步驟1)統計周期開始,將開始標志設置為“開啟”狀態,同時從所述原始數據緩沖區中的獲取當前原始數據;2)生成數據項;3)統計周期結束;4)將所述開始標志設置為“關閉”狀態;5)根據不同類型數據項的處理方法計算獲得結果數據。
5.如權利要求2或4所述的設備性能統計數據的采集及處理方法,其特征在于,所述生成數據項的處理過程為在一個統計周期T內,根據采樣間隔t從原始數據緩沖區讀取當前原始數據,獲得采樣點k時刻的原始數據當前值a(k)作為數據項;在該周期內,將從原始數據緩沖區中獲得的所有數據項,形成數據項集合A={a(0),a(1),...a(n-1)}。
全文摘要
本發明屬于數據處理技術領域,涉及一種設備性能統計數據的采集及處理方法。首先設置一具有兩種狀態的開始標志;當原始數據發生變化時,先判斷開始標志的狀態,如果是“關閉”狀態時,不更新原始數據;否則,將當前數據更新到緩沖區D中;統計周期開始,將原始數據的開始標志設置為“開啟”狀態;根據采樣間隔t讀取原始數據緩沖區D,獲得采樣點k時刻的原始數據當前值a(k)作為數據項;形成數據項集合A;統計周期結束后,將原始數據的開始標志置為“關閉”狀態;根據不同類型數據項的處理方法,對所獲得的數據項集合A進行處理,數據處理流程結束。本發明具有效率高,適應范圍廣的特點。
文檔編號G06F17/18GK1553375SQ0313808
公開日2004年12月8日 申請日期2003年5月29日 優先權日2003年5月29日
發明者董海軍 申請人:華為技術有限公司