一種工控系統(tǒng)曲線圖的數(shù)據(jù)分層存儲查詢方法
【專利摘要】本發(fā)明涉及一種工控系統(tǒng)曲線圖的數(shù)據(jù)分層存儲查詢方法,包括存儲步驟:為待查詢的工控系統(tǒng)創(chuàng)建分層快表,對工控系統(tǒng)的源數(shù)據(jù)進行處理,將處理結(jié)果存入分層快表;查詢步驟:根據(jù)用戶輸入的查詢內(nèi)容,選擇對應(yīng)的分層快表作為數(shù)據(jù)源并從中查詢,對查詢出的結(jié)果集進行抽樣并根據(jù)抽樣結(jié)果繪制曲線圖。本發(fā)明可以從海量的工控系統(tǒng)數(shù)據(jù)中快速獲取所需的查詢數(shù)據(jù),保證曲線圖在縮放中數(shù)據(jù)一致,同時獲取的數(shù)據(jù)量保持在一個較低水平上;可以快速、準(zhǔn)確的繪制反應(yīng)事實情況的圖表,同時將系統(tǒng)壓力降到最低水平;實現(xiàn)了在最快的時間內(nèi)繪制反應(yīng)真實運營情況的曲線圖,直觀準(zhǔn)確的了解生產(chǎn)系統(tǒng)的瓶頸與技術(shù)問題,提高了服務(wù)質(zhì)量,降低了生產(chǎn)成本。
【專利說明】一種工控系統(tǒng)曲線圖的數(shù)據(jù)分層存儲查詢方法
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,尤其是一種工控系統(tǒng)曲線圖的數(shù)據(jù)分層存儲查詢方法。
[0003]【背景技術(shù)】
[0004]隨著企業(yè)的信息化建設(shè),生產(chǎn)企業(yè)產(chǎn)生大量的實時監(jiān)控數(shù)據(jù),需要工控系統(tǒng)通過界面將實時數(shù)據(jù)繪制為曲線圖呈現(xiàn)給用戶使用。目前,工控系統(tǒng)通過網(wǎng)絡(luò)采集各個設(shè)備、監(jiān)測儀器的實時數(shù)據(jù)并存儲,大多數(shù)的工控系統(tǒng)在繪制實時數(shù)據(jù)曲線時,通過全量取數(shù)繪制的方法,即對于每次查詢操作,工控系統(tǒng)需要向后臺數(shù)據(jù)庫的實時數(shù)據(jù)表中請求滿足用戶要求的所有監(jiān)控明細數(shù)據(jù),再繪制曲線圖。在現(xiàn)實環(huán)境中,如果工控系統(tǒng)運行時間較長,系統(tǒng)中的監(jiān)控數(shù)據(jù)量會非常大,按照每秒采集一次計算,系統(tǒng)運行一年產(chǎn)生的數(shù)據(jù)記錄數(shù)在3千多萬,從海量數(shù)據(jù)中獲取滿足要求的數(shù)據(jù),數(shù)據(jù)庫檢索時系統(tǒng)壓力較大;同時繪制I年數(shù)據(jù)的曲線圖,工控系統(tǒng)需要對3千萬個記錄點進行繪制,工控系統(tǒng)的計算壓力也很大。 [0005]可見,目前的數(shù)據(jù)存儲查詢方法涉及大量的數(shù)據(jù)統(tǒng)計運算,消耗系統(tǒng)的內(nèi)存與時間,如果同時查詢多個曲線圖,對網(wǎng)絡(luò)的傳輸壓力很大?;谀壳袄L制的曲線圖雖然真實反映了系統(tǒng)的運行情況,但是由于大量數(shù)據(jù)在有限的顯示設(shè)備上展現(xiàn),許多關(guān)注點無法方便的觀察到。通常的解決方法是使用高配置的服務(wù)器端與客戶端、加大網(wǎng)絡(luò)帶寬、使用負載均衡等,這既增加了企業(yè)的運營成本,也增加了系統(tǒng)的復(fù)雜性。
[0006]
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的在于提供一種減輕網(wǎng)絡(luò)傳輸負擔(dān)、便于客戶端繪圖、提高服務(wù)質(zhì)量、降低生產(chǎn)成本的工控系統(tǒng)曲線圖的數(shù)據(jù)分層存儲查詢方法。
[0008]為實現(xiàn)上述目的,本發(fā)明采用了以下技術(shù)方案:一種工控系統(tǒng)曲線圖的數(shù)據(jù)分層存儲查詢方法,該方法包括下列順序的步驟:
(1)存儲步驟:為待查詢的工控系統(tǒng)創(chuàng)建分層快表,對工控系統(tǒng)的源數(shù)據(jù)進行處理,將處理結(jié)果存入分層快表;
(2)查詢步驟:根據(jù)用戶輸入的查詢內(nèi)容,選擇對應(yīng)的分層快表作為數(shù)據(jù)源并從中查詢,對查詢出的結(jié)果集進行抽樣并根據(jù)抽樣結(jié)果繪制曲線圖。
[0009]所述存儲步驟包括如下步驟:
Al.分析工控系統(tǒng)的查詢條件,確定其常用查詢條件以及常用查詢條件的單位范圍; A2.根據(jù)常用查詢條件的單位范圍創(chuàng)建對應(yīng)的分層快表;
A3.根據(jù)工控系統(tǒng)的顯示設(shè)備參數(shù),確定常用查詢條件的單位范圍以內(nèi)的數(shù)據(jù)量即單位數(shù)據(jù)量;
A4.依據(jù)單位范圍和單位數(shù)據(jù)量來處理工控系統(tǒng)的源數(shù)據(jù);
A5.將處理源數(shù)據(jù)得到的處理結(jié)果存入分層快表。
[0010]所述查詢步驟包括如下步驟:
B1.根據(jù)用戶輸入的查詢內(nèi)容,分析出用戶所要查詢內(nèi)容的查詢條件及其查詢范圍; B2.依據(jù)用戶所要查詢內(nèi)容的查詢范圍確定對應(yīng)的分層快表作為數(shù)據(jù)源;
B3.計算用戶所要查詢內(nèi)容的查詢范圍中所包含的單位范圍個數(shù);
B4.根據(jù)用戶所要查詢內(nèi)容的查詢范圍從數(shù)據(jù)源中查詢出結(jié)果集;
B5.根據(jù)單位范圍個數(shù)對查詢出的結(jié)果集進行抽樣,依據(jù)抽樣結(jié)果繪制曲線圖。
[0011]所述工控系統(tǒng)的顯示設(shè)備參數(shù)是指工控系統(tǒng)顯示設(shè)備的水平分辨率值,所述單位數(shù)據(jù)量大于等于顯示設(shè)備的水平分辨率值。
[0012]依據(jù)單位范圍和單位數(shù)據(jù)量來處理工控系統(tǒng)的源數(shù)據(jù)的處理方法包括如下步驟:
Cl.使用K-Means算法分析單位范圍內(nèi)的異常數(shù)據(jù);
C2.將單位范圍進行平均劃分,統(tǒng)計異常數(shù)據(jù)的分布情況;
將單位范圍平均劃分為η段,每段的范圍為Μ,單位數(shù)據(jù)量為F,統(tǒng)計落在各段(m1、m2、
m3、......mn)中異常數(shù)據(jù)的個數(shù)分別為(Χρ x2、x3、......xn);
C3.計算各段中異常數(shù)據(jù)的權(quán)重;
對于叫段中的異常數(shù)據(jù)權(quán)重為qi=Xi/E χη,該權(quán)重反映了當(dāng)前段中異常數(shù)據(jù)的密度; C4.按權(quán)重計算各段中的范圍間隔,進行采樣;
根據(jù)得到的權(quán)重,計算各段中的采樣間隔,Hii段的采樣間隔為M/(F*qi),根據(jù)各段的采樣間隔,從各段中分別使用間隔采樣方法抽取數(shù)據(jù)。
[0013]在依據(jù)查詢范圍確定對應(yīng)的分層快表作為數(shù)據(jù)源時,當(dāng)查詢范圍小于當(dāng)前單位范圍的80%時,使用比當(dāng)前單位范圍小一級的單位范圍所對應(yīng)的分層快表作為數(shù)據(jù)源;反之,當(dāng)查詢范圍大于等于當(dāng)前單位范圍的80%時,使用當(dāng)前單位范圍所對應(yīng)的分層快表作為數(shù)據(jù)源。
[0014]所述單位范圍個數(shù)=查詢范圍/單位范圍。
[0015]由上述技術(shù)方案可知,本發(fā)明將待查詢的工控系統(tǒng)中的海量數(shù)據(jù)先以間隔抽樣的方式存儲在分層快表內(nèi),在用戶進行查詢時,只要調(diào)用已經(jīng)創(chuàng)建好的分層快表,并將分層快表作為數(shù)據(jù)源進行查詢,極大程度地減輕網(wǎng)絡(luò)傳輸負擔(dān),同時,對查詢到的結(jié)果集進行抽樣來繪制曲線圖,方便了客戶端繪圖。可見,本發(fā)明可以從海量的工控系統(tǒng)數(shù)據(jù)中快速獲取所需的查詢數(shù)據(jù),保證曲線圖在縮放中數(shù)據(jù)一致,同時獲取的數(shù)據(jù)量保持在一個較低水平上;可以快速、準(zhǔn)確的繪制反應(yīng)事實情況的圖表,同時將系統(tǒng)壓力降到最低水平;實現(xiàn)了在最快的時間內(nèi)繪制反應(yīng)真實運營情況的曲線圖,直觀準(zhǔn)確的了解生產(chǎn)系統(tǒng)的瓶頸與技術(shù)問題,提高了服務(wù)質(zhì)量,降低了生產(chǎn)成本。
[0016]
【專利附圖】
【附圖說明】
[0017]圖1為本發(fā)明中對海量數(shù)據(jù)進行分層統(tǒng)計存儲的方法流程圖; 圖2為本發(fā)明中對用戶輸入內(nèi)容進行查詢的方法流程圖;
圖3是圖1中對源數(shù)據(jù)進行處理的方法流程圖。
【具體實施方式】
[0018]一種工控系統(tǒng)曲線圖的數(shù)據(jù)分層存儲查詢方法,該方法包括下列順序的步驟:存儲步驟:為待查詢的工控系統(tǒng)創(chuàng)建分層快表,對工控系統(tǒng)的源數(shù)據(jù)進行處理,將處理結(jié)果存入分層快表;查詢步驟:根據(jù)用戶輸入的查詢內(nèi)容,選擇對應(yīng)的分層快表作為數(shù)據(jù)源并從中查詢,對查詢出的結(jié)果集進行抽樣并根據(jù)抽樣結(jié)果繪制曲線圖。如圖1、2所示。
[0019]如圖1所示,所述存儲步驟包括如下步驟:
Al.分析工控系統(tǒng)的查詢條件,確定其常用查詢條件以及常用查詢條件的單位范圍;
對于已有曲線圖的工控系統(tǒng),分析工控系統(tǒng)中曲線圖的查詢?nèi)罩荆@取使用頻率最高的一個查詢條件作為常用查詢條件;對于沒有曲線圖的工控系統(tǒng),分析其業(yè)務(wù)需求以及其實施案例,確定一個常用查詢條件;
分析已經(jīng)確定的常用查詢條件,統(tǒng)計常用查詢條件的常用查詢范圍,依照使用頻度,選擇至少一個常用查詢范圍作為單位范圍;舉例,業(yè)務(wù)系統(tǒng)中時間常作為查詢條件出現(xiàn),當(dāng)時間條件作為常用查詢條件時,分析其常用的查詢范圍,其范圍一般為查詢一天數(shù)據(jù)、查詢一個月的數(shù)據(jù)、查詢一年的數(shù)據(jù),那么天、月、年可以作為其對應(yīng)的單位范圍;
A2.根據(jù)常用查詢條件的單位范圍創(chuàng)建對應(yīng)的分層快表; t匕如,可以創(chuàng)建天分層快表、月分層快表和年分層快表;
A3.根據(jù)工控系統(tǒng)的顯示設(shè)備參數(shù),確定常用查詢條件的單位范圍以內(nèi)的數(shù)據(jù)量即單位數(shù)據(jù)量;
所述工控系統(tǒng)的顯示設(shè)備參數(shù)是指工控系統(tǒng)顯示設(shè)備的水平分辨率值,所述單位數(shù)據(jù)量大于等于顯示設(shè)備的水平分辨率值;
為了曲線圖的美觀性,單位數(shù)據(jù)量的值推薦略大于工控系統(tǒng)顯示設(shè)備的水平分辨率值。較小的單位數(shù)據(jù)量,可以減輕系統(tǒng)壓力,更快的繪制曲線圖;較大的單位數(shù)據(jù)量,可以更真實的反應(yīng)系統(tǒng)運行情況;
在系統(tǒng)中,當(dāng)單位數(shù)據(jù)量遠小于分辨率時,會造成曲線失真;
在系統(tǒng)中,如果單位數(shù)據(jù)量遠大于工控系統(tǒng)顯示設(shè)備的分辨率值,在工控系統(tǒng)顯示設(shè)備上,無法正常辨識其中的關(guān)注點,海量的數(shù)據(jù)充斥屏幕,異常信息被隱藏在其中;
在系統(tǒng)性能有瓶頸時,推薦使用工控系統(tǒng)顯示設(shè)備的水平分辨率值作為單位數(shù)據(jù)量,這樣可以生成間隔合理、性能較優(yōu)的曲線圖。如果注重工控系統(tǒng)的真實情況時,可以選擇多倍顯示分辨率值最為單位數(shù)據(jù)量;
A4.依據(jù)單位范圍和單位數(shù)據(jù)量來處理工控系統(tǒng)的源數(shù)據(jù);
如圖3所示,依據(jù)單位范圍和單位數(shù)據(jù)量來處理工控系統(tǒng)的源數(shù)據(jù)的處理方法包括如下步驟:
Cl.使用K-Means算法分析單位范圍內(nèi)的異常數(shù)據(jù);
C2.將單位范圍進行平均劃分,統(tǒng)計異常數(shù)據(jù)的分布情況;
將單位范圍平均劃分為η段,每段的范圍為Μ,單位數(shù)據(jù)量為F,統(tǒng)計落在各段(m1、m2、m3、......mn)中異常數(shù)據(jù)的個數(shù)分別為(Χρ x2、x3、......xn); C3.計算各段中異常數(shù)據(jù)的權(quán)重;
對于叫段中的異常數(shù)據(jù)權(quán)重為qi=Xi/E χη,該權(quán)重反映了當(dāng)前段中異常數(shù)據(jù)的密度; C4.按權(quán)重計算各段中的范圍間隔,進行采樣;
根據(jù)得到的權(quán)重,計算各段中的采樣間隔,Hii段的采樣間隔為M/(F*qi),根據(jù)各段的采樣間隔,從各段中分別使用間隔采樣方法抽取數(shù)據(jù)。
[0020]在工控業(yè)務(wù)系統(tǒng)中,系統(tǒng)監(jiān)控數(shù)據(jù)是漸變的,關(guān)注點為突變的數(shù)據(jù),為了保證數(shù)據(jù)真實,且突出異常數(shù)據(jù),可以使用間隔抽樣的方法抽取源數(shù)據(jù),保證數(shù)據(jù)的穩(wěn)定性,再通過追加極限數(shù)據(jù)來突出異常情況的數(shù)據(jù)。如果要求曲線的美觀,數(shù)據(jù)間隔一致,那么可以選擇間隔抽樣抽取源數(shù)據(jù);
A5.將處理源數(shù)據(jù)得到的處理結(jié)果存入分層快表。
[0021]如圖2所示,所述查詢步驟包括如下步驟:
B1.根據(jù)用戶輸入的查詢內(nèi)容,分析出用戶所要查詢內(nèi)容的查詢條件及其查詢范圍; B2.依據(jù)用戶所要查詢內(nèi)容的查詢范圍確定對應(yīng)的分層快表作為數(shù)據(jù)源;
在依據(jù)查詢范圍確定對應(yīng)的分層快表作為數(shù)據(jù)源時,當(dāng)查詢范圍小于當(dāng)前單位范圍的80%時,使用比當(dāng)前單位范圍小一級的單位范圍所對應(yīng)的分層快表作為數(shù)據(jù)源;反之,當(dāng)查詢范圍大于等于當(dāng)前單位范圍的80%時,使用當(dāng)前單位范圍所對應(yīng)的分層快表作為數(shù)據(jù)源;
t匕如,系統(tǒng)有日分層快表、月分層快表、年分層快表三種,當(dāng)時間條件查詢范圍大于一天,但是小于月的天數(shù)的80%—24天時,從日分層快表中查詢數(shù)據(jù);當(dāng)時間條件查詢范圍大于24天,小于292天時,從月分層快表中查詢數(shù)據(jù);
根據(jù)查詢范圍來確定分層快表,可以對其中的參數(shù)進行適當(dāng)?shù)恼{(diào)整。使用這個方法,可以保證曲線圖繪制時的數(shù)據(jù)量與查詢效率達到一個平衡;
B3.計算用戶所要查詢內(nèi)容的查詢范圍中所包含的單位范圍個數(shù);
所述單位范圍個數(shù)=查詢范圍/單位范圍;
t匕如,查詢時間范圍為22天,得到需要從日分層快表中查詢,日分層快表的單位范圍為天,那么單位范圍個數(shù)為22天/I天=22個。單位范圍個數(shù)小于I的計算為1,也可以根據(jù)實際需要進行計算;
B4.根據(jù)用戶所要查詢內(nèi)容的查詢范圍從數(shù)據(jù)源中查詢出結(jié)果集;
B5.根據(jù)單位范圍個數(shù)對查詢出的結(jié)果集進行抽樣,依據(jù)抽樣結(jié)果繪制曲線圖。
[0022]綜上所述,本發(fā)明將待查詢的工控系統(tǒng)中的海量數(shù)據(jù)先以間隔抽樣的方式存儲在分層快表內(nèi),在用戶進行查詢時,只要調(diào)用已經(jīng)創(chuàng)建好的分層快表,并將分層快表作為數(shù)據(jù)源進行查詢,極大程度地減輕網(wǎng)絡(luò)傳輸負擔(dān),同時,對查詢到的結(jié)果集進行抽樣來繪制曲線圖,方便了客戶端繪圖。
【權(quán)利要求】
1.一種工控系統(tǒng)曲線圖的數(shù)據(jù)分層存儲查詢方法,該方法包括下列順序的步驟: (1)存儲步驟:為待查詢的工控系統(tǒng)創(chuàng)建分層快表,對工控系統(tǒng)的源數(shù)據(jù)進行處理,將處理結(jié)果存入分層快表; (2)查詢步驟:根據(jù)用戶輸入的查詢內(nèi)容,選擇對應(yīng)的分層快表作為數(shù)據(jù)源并從中查詢,對查詢出的結(jié)果集進行抽樣并根據(jù)抽樣結(jié)果繪制曲線圖。
2.根據(jù)權(quán)利要求1所述的工控系統(tǒng)曲線圖的數(shù)據(jù)分層存儲查詢方法,其特征在于:所述存儲步驟包括如下步驟: Al.分析工控系統(tǒng)的查詢條件,確定其常用查詢條件以及常用查詢條件的單位范圍; A2.根據(jù)常用查詢條件的單位范圍創(chuàng)建對應(yīng)的分層快表; A3.根據(jù)工控系統(tǒng)的顯示設(shè)備參數(shù),確定常用查詢條件的單位范圍以內(nèi)的數(shù)據(jù)量即單位數(shù)據(jù)量; A4.依據(jù)單位范圍和單位數(shù)據(jù)量來處理工控系統(tǒng)的源數(shù)據(jù); A5.將處理源數(shù)據(jù)得到的處理結(jié)果存入分層快表。
3.根據(jù)權(quán)利要求1所述的工控系統(tǒng)曲線圖的數(shù)據(jù)分層存儲查詢方法,其特征在于:所述查詢步驟包括如下步驟: B1.根據(jù)用戶輸入的查詢內(nèi)容,分析出用戶所要查詢內(nèi)容的查詢條件及其查詢范圍; B2.依據(jù)用戶所要查詢內(nèi)容的查詢范圍確定對應(yīng)的分層快表作為數(shù)據(jù)源; B3.計算用戶所要查詢內(nèi)容的查詢范圍中所包含的單位范圍個數(shù); B4.根據(jù)用戶所要查詢內(nèi)容的查詢范圍從數(shù)據(jù)源中查詢出結(jié)果集; B5.根據(jù)單位范圍個數(shù)對查詢出的結(jié)果集進行抽樣,依據(jù)抽樣結(jié)果繪制曲線圖。
4.根據(jù)權(quán)利要求2所述的工控系統(tǒng)曲線圖的數(shù)據(jù)分層存儲查詢方法,其特征在于:所述工控系統(tǒng)的顯示設(shè)備參數(shù)是指工控系統(tǒng)顯示設(shè)備的水平分辨率值,所述單位數(shù)據(jù)量大于等于顯示設(shè)備的水平分辨率值。
5.根據(jù)權(quán)利要求2所述的工控系統(tǒng)曲線圖的數(shù)據(jù)分層存儲查詢方法,其特征在于:依據(jù)單位范圍和單位數(shù)據(jù)量來處理工控系統(tǒng)的源數(shù)據(jù)的處理方法包括如下步驟: Cl.使用K-Means算法分析單位范圍內(nèi)的異常數(shù)據(jù); C2.將單位范圍進行平均劃分,統(tǒng)計異常數(shù)據(jù)的分布情況; 將單位范圍平均劃分為η段,每段的范圍為Μ,單位數(shù)據(jù)量為F,統(tǒng)計落在各段(m1、m2、m3、......mn)中異常數(shù)據(jù)的個數(shù)分別為(Χρ x2、x3、......xn); C3.計算各段中異常數(shù)據(jù)的權(quán)重; 對于叫段中的異常數(shù)據(jù)權(quán)重為qi=Xi/E χη,該權(quán)重反映了當(dāng)前段中異常數(shù)據(jù)的密度; C4.按權(quán)重計算各段中的范圍間隔,進行采樣; 根據(jù)得到的權(quán)重,計算各段中的采樣間隔,Hii段的采樣間隔為M/(F*qi),根據(jù)各段的采樣間隔,從各段中分別使用間隔采樣方法抽取數(shù)據(jù)。
6.根據(jù)權(quán)利要求3所述的工控系統(tǒng)曲線圖的數(shù)據(jù)分層存儲查詢方法,其特征在于:在依據(jù)查詢范圍確定對應(yīng)的分層快表作為數(shù)據(jù)源時,當(dāng)查詢范圍小于當(dāng)前單位范圍的80%時,使用比當(dāng)前單位范圍小一級的單位范圍所對應(yīng)的分層快表作為數(shù)據(jù)源;反之,當(dāng)查詢范圍大于等于當(dāng)前單位范圍的80%時,使用當(dāng)前單位范圍所對應(yīng)的分層快表作為數(shù)據(jù)源。
7.根據(jù)權(quán)利要求3所述的工控系統(tǒng)曲線圖的數(shù)據(jù)分層存儲查詢方法,其特征在于:所述單位范圍個數(shù)=查詢 范圍/單位范圍。
【文檔編號】G06F17/30GK103955508SQ201410176285
【公開日】2014年7月30日 申請日期:2014年4月29日 優(yōu)先權(quán)日:2014年4月29日
【發(fā)明者】湯醒龍, 陳志華, 李偉, 劉勝軍, 張景云 申請人:安徽中科大國禎信息科技有限責(zé)任公司