路明月 鄭建琴 劉 彬 王 軒 邵一丹
1(江蘇省氣象災(zāi)害重點(diǎn)實(shí)驗(yàn)室(南京信息工程大學(xué)) 江蘇 南京 210044)2(南京信息工程大學(xué)遙感學(xué)院 江蘇 南京 210044)
?
海量時(shí)空大氣電場數(shù)據(jù)的壓縮存儲(chǔ)與共享
路明月1,2鄭建琴1劉彬1王軒1邵一丹1
1(江蘇省氣象災(zāi)害重點(diǎn)實(shí)驗(yàn)室(南京信息工程大學(xué))江蘇 南京 210044)2(南京信息工程大學(xué)遙感學(xué)院江蘇 南京 210044)
摘要大氣電場數(shù)據(jù)能夠很好地表征地面大氣電場的變化情況,對于研究雷電的發(fā)生發(fā)展具有重要意義。針對電場數(shù)據(jù)的時(shí)空海量特性給數(shù)據(jù)的存儲(chǔ)共享以及專業(yè)分析使用都帶來很大困難這一問題,根據(jù)電場數(shù)據(jù)隨時(shí)間起伏變化的特點(diǎn),提出時(shí)間分割基礎(chǔ)上的壓縮組織存儲(chǔ)算法。該算法能夠確保在電場數(shù)據(jù)“波動(dòng)段無損”的前提下,有效降低電場冗余數(shù)據(jù)的存儲(chǔ),節(jié)省存儲(chǔ)空間,提高海量數(shù)據(jù)的查詢效率;基于“波動(dòng)段”與“非波動(dòng)段”的組織結(jié)構(gòu)進(jìn)一步增加了數(shù)據(jù)檢索查詢的靈活性。在此基礎(chǔ)上本文基于WCF(Windows Communication Foundation)技術(shù)實(shí)現(xiàn)對電場數(shù)據(jù)及其壓縮操作算法等的服務(wù)共享。最后采用實(shí)際電場數(shù)據(jù)進(jìn)行了實(shí)例實(shí)現(xiàn),充分驗(yàn)證了該壓縮存儲(chǔ)算法以及共享機(jī)制的有效性與可行性,能夠?yàn)楹A侩妶鰯?shù)據(jù)高效的專業(yè)分析使用提供支持。
關(guān)鍵詞電場數(shù)據(jù)壓縮存儲(chǔ)共享
0引言
大氣中時(shí)刻存在電場[1,2],地面大氣電場數(shù)據(jù)反映了電場測站周圍的雷暴云電荷量大小變化,是大氣物理的一個(gè)基本要素,也是氣象部門判斷雷暴的重要指標(biāo)[3-6]。對于大氣電場數(shù)據(jù)進(jìn)行專業(yè)的深入分析研究能夠幫助我們更好地認(rèn)識雷暴天氣的變化機(jī)理及其發(fā)展過程。很多學(xué)者針對電場數(shù)據(jù)進(jìn)行了分析研究,吳亭等根據(jù)2004年-2005年大氣觀測資料分析北京地區(qū)大氣電場與部分大氣要素間的關(guān)系[7];徐棟璞等將2009年夏季近地面大氣電場資料應(yīng)用經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)方法分析,分解出雷暴和晴天天氣大氣電場的不同時(shí)間尺度變化分量,并提取兩類天氣狀態(tài)下的大氣電場振蕩特征進(jìn)行對比[8];潘家利等通過大氣電場資料結(jié)合閃電定位和多普勒雷達(dá)資料,研究小范圍雷暴天氣大氣電場特征,尋找雷暴發(fā)生時(shí)大氣電場強(qiáng)度的預(yù)警閾值以及預(yù)警時(shí)間值[9];張義軍等利用青藏高原東部地區(qū)的大氣電場數(shù)據(jù)提出了不同雷暴的降水會(huì)產(chǎn)生不同的地面電場特性[10];柴瑞等通過2007年6月浙江省嵊縣的電場觀測資料得出電場數(shù)據(jù)會(huì)隨閃電出現(xiàn)發(fā)生快變抖動(dòng)現(xiàn)象,進(jìn)而提高了雷暴預(yù)警的準(zhǔn)確率[11];郭秀峰等探討了尖端建筑物的高度、寬度、位置對大氣電場畸變的影響,促進(jìn)了雷電防護(hù)機(jī)理的研究[12];譚涌波等發(fā)現(xiàn)環(huán)境電場閾值與金屬尖端高度呈明顯的負(fù)相關(guān),隨著高度增大而線性減小,為今后研究雷暴云起電過程與內(nèi)部電荷結(jié)構(gòu)作了一定的基礎(chǔ)[13]。這些對大氣電場數(shù)據(jù)的分析研究對雷暴天氣認(rèn)知以及預(yù)警預(yù)報(bào)有著重要的借鑒意義[14,15]。然而就大氣電場數(shù)據(jù)本身而言,有著數(shù)據(jù)存儲(chǔ)量大,時(shí)空性強(qiáng)的特點(diǎn),尤其是在晴好天氣時(shí),其常規(guī)的存儲(chǔ)方式,會(huì)造成大量的數(shù)據(jù)冗余存儲(chǔ),給數(shù)據(jù)的高效查詢分析等都帶來了很大的障礙。而目前的相關(guān)研究中,也多數(shù)著重于數(shù)據(jù)規(guī)律的探討,對于海量電場數(shù)據(jù)更有效地組織存儲(chǔ)以及更好地共享使用鮮有涉及。基于此本文面向時(shí)空海量電場數(shù)據(jù)的高效存儲(chǔ)檢索與查詢設(shè)計(jì)了時(shí)間分割基礎(chǔ)上的壓縮組織存儲(chǔ)算法,有效降低了電場冗余數(shù)據(jù)的存儲(chǔ),節(jié)省了存儲(chǔ)空間,提高了數(shù)據(jù)查詢訪問效率。在此基礎(chǔ)上本文采用WCF技術(shù)進(jìn)行封裝,設(shè)計(jì)相關(guān)的服務(wù)接口,實(shí)現(xiàn)了電場數(shù)據(jù)的共享,為電場海量數(shù)據(jù)的有效分析使用提供支持。
1海量時(shí)空電場數(shù)據(jù)組織存儲(chǔ)方案
目前對于電場數(shù)據(jù)的常規(guī)存儲(chǔ)方式是一條探測數(shù)據(jù)對應(yīng)一條記錄,就其一秒鐘一個(gè)探測數(shù)據(jù)的頻率計(jì)算,一天產(chǎn)生60×60×24=86 400條數(shù)據(jù)記錄。隨著時(shí)間的推移,這種常規(guī)的存儲(chǔ)方式極大地消耗存儲(chǔ)資源,降低海量電場數(shù)據(jù)的查詢與專業(yè)分析效率。尤其是在晴好的天氣中,探測到的數(shù)據(jù)基本沒有變化,逐條存儲(chǔ)還會(huì)造成大量的數(shù)據(jù)冗余,增加電場數(shù)據(jù)的存儲(chǔ)成本。
考慮到電場數(shù)據(jù)的時(shí)空動(dòng)態(tài)性,本文首先以“天”為記錄單位對其進(jìn)行組織存儲(chǔ)。即設(shè)計(jì)特定的數(shù)據(jù)結(jié)構(gòu),將一天的電場數(shù)據(jù)存儲(chǔ)為數(shù)據(jù)表中的一條記錄,這樣一年也僅為365條記錄,10年不過3650條記錄,能夠大大減少數(shù)據(jù)表中記錄的條數(shù),從而能夠以“天”為單位快速定位到對應(yīng)的電場數(shù)據(jù)記錄,極大地縮短了海量數(shù)據(jù)查詢時(shí)間;在此基礎(chǔ)上,本文對某一天的數(shù)據(jù)再按照時(shí)間進(jìn)行等距離分段,各段電場數(shù)據(jù)分別存儲(chǔ)在當(dāng)前記錄的各個(gè)對應(yīng)字段中,如此可以支持某天某時(shí)間段電場數(shù)據(jù)的檢索查詢,使得檢索更加靈活高效。考慮在天氣晴好時(shí)間內(nèi)電場數(shù)據(jù)波動(dòng)變化很小的特征,本文對于每一段的電場數(shù)據(jù)再次進(jìn)行基于波動(dòng)變化幅度的壓縮,以在最大程度上減少冗余,提高存儲(chǔ)效率。在使用時(shí),根據(jù)某日某時(shí)間段的查詢要求,從對應(yīng)的字段中快速其取出所需要的電場數(shù)據(jù),進(jìn)行解壓縮操作,繼而提供給用戶使用。本文中某天電場數(shù)據(jù)的數(shù)據(jù)組織與存儲(chǔ)方案示意圖如圖1所示。

圖1 某全天電場數(shù)據(jù)組織與存儲(chǔ)方案示意圖
基于上述存儲(chǔ),可以將同一個(gè)探測設(shè)備獲取的數(shù)據(jù)存儲(chǔ)作為一張獨(dú)立的表,以設(shè)備的編號作為數(shù)據(jù)表的名稱。而在該表中的字段結(jié)構(gòu)中可以包含:1) 隱含數(shù)據(jù)日期的記錄名稱Idname(型如E140708代表14年7月8日的探測數(shù)據(jù));2) 電場的分段壓縮數(shù)據(jù)存儲(chǔ)字段(字段名稱隱含對應(yīng)的時(shí)間段信息 如S0408,代表4點(diǎn)至8點(diǎn)時(shí)間段的電場數(shù)據(jù),時(shí)間分段可以根據(jù)實(shí)際情況確定);3) 輔助信息字段。這種結(jié)構(gòu)能夠利用名字來快速檢索到某時(shí)間段內(nèi)的電場數(shù)據(jù),提高查詢的效率以及靈活性。其邏輯結(jié)構(gòu)如表1所示。

表1 D001(001為數(shù)據(jù)對應(yīng)的探測設(shè)備)
2電場數(shù)據(jù)分段壓縮組織算法
上述方案中,分段后的數(shù)據(jù)壓縮是減少電場數(shù)據(jù)冗余存儲(chǔ)的關(guān)鍵,因此本文針對設(shè)計(jì)了相應(yīng)的電場數(shù)據(jù)結(jié)構(gòu)及其壓縮算法。
2.1壓縮算法思想
電場數(shù)據(jù)的冗余主要存在于兩個(gè)方面:一個(gè)是大量時(shí)間信息的存儲(chǔ);一個(gè)是無波動(dòng)數(shù)據(jù)的重復(fù)存儲(chǔ)。因此,本文的壓縮算法針對這兩個(gè)方面入手。首先設(shè)定波動(dòng)閾值,對該段電場數(shù)據(jù)進(jìn)行波動(dòng)段和無波動(dòng)段識別,并分別記錄各段的起始時(shí)間(消除大量時(shí)間信息的存儲(chǔ));對于無波動(dòng)段,記錄其在這段時(shí)間內(nèi)的平均數(shù)值(消除重復(fù)數(shù)值存儲(chǔ));而對于有波動(dòng)段,則依次記錄在該段時(shí)間內(nèi)所有電場數(shù)值信息(確保有波動(dòng)數(shù)據(jù)的無損性)。這種壓縮方案能夠很好地確保波動(dòng)時(shí)期數(shù)據(jù)的“無損性”,減少“無波動(dòng)”數(shù)據(jù)以及重復(fù)時(shí)間信息的冗余存儲(chǔ),很好地保留了電場數(shù)據(jù)中有價(jià)值的信息以支持電場數(shù)據(jù)的專業(yè)分析。在極端晴好的天氣下,只需要存儲(chǔ)一組起始時(shí)間以及電場的平均數(shù)值;即便在極端變化的情況下,只需要存儲(chǔ)一組起始時(shí)間,以及各個(gè)時(shí)間點(diǎn)的數(shù)值即可,可以減少了大量日期時(shí)間信息的冗余存儲(chǔ)。
2.2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
根據(jù)上述壓縮思想,需要設(shè)計(jì)特定的數(shù)據(jù)結(jié)構(gòu)以便更好的實(shí)現(xiàn)壓縮操作。基本壓縮段的內(nèi)存數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),偽碼表示如下:
//基本壓縮單元
Class EDataCell {
beginTime 日期類型
endTime 日期類型
values 數(shù)據(jù)串類型
}
//電場壓縮數(shù)據(jù)段(基本壓縮單元組成)
Class EDataSegment
{
EDataCell[]
//基本壓縮單元數(shù)組
}
在基本壓縮單元的數(shù)據(jù)結(jié)構(gòu)中,beginTime用于記錄該段數(shù)據(jù)的起始時(shí)間;endTime用于記錄該段數(shù)據(jù)的終止時(shí)間;values用于記錄該段時(shí)間內(nèi)的數(shù)據(jù),對于無波動(dòng)數(shù)據(jù)段僅存儲(chǔ)一個(gè)平均值,對于波動(dòng)數(shù)據(jù)段則依次存儲(chǔ)該時(shí)間段內(nèi)的電場數(shù)值;這種數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)有效地將有波動(dòng)數(shù)據(jù)和無波動(dòng)數(shù)據(jù)段的表達(dá)進(jìn)行統(tǒng)一,并且能夠根據(jù)所存儲(chǔ)的數(shù)值個(gè)數(shù)來判斷當(dāng)前該段是否為波動(dòng)段,為波動(dòng)段數(shù)據(jù)的查詢提供了支持,更加增加了數(shù)據(jù)應(yīng)用的靈活性。
通過電場壓縮數(shù)據(jù)段的數(shù)據(jù)結(jié)構(gòu)可以看出若干基本壓縮單元組成電場壓縮數(shù)據(jù)段,將此電場壓縮數(shù)據(jù)段序列化為二進(jìn)制數(shù)據(jù)后就可以存儲(chǔ)到數(shù)據(jù)庫的字段中以備查詢應(yīng)用。
2.3壓縮算法實(shí)現(xiàn)
根據(jù)上述的壓縮算法思想以及設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu),其算法實(shí)現(xiàn)的關(guān)鍵在于波動(dòng)段與非波動(dòng)段的自動(dòng)判定與提取。可推知壓縮之后得到的波動(dòng)段與非波動(dòng)段一定是相互間隔的,并且上一段的結(jié)束點(diǎn)即是下一段的開始點(diǎn),這個(gè)規(guī)律能夠在很大程度上清晰算法的實(shí)現(xiàn)思路。其中需要特別注意非波動(dòng)段的“有效性”判別,避免出現(xiàn)過于零碎的非波動(dòng)段(比如在兩個(gè)波動(dòng)段之間短暫的非波動(dòng)段),以提取出真正的“有效非波動(dòng)段”。因此,需要設(shè)定一個(gè)時(shí)間長度閾值(△d),只有當(dāng)非波動(dòng)段的長度大于這個(gè)時(shí)間長度閾值(△d)時(shí),才會(huì)被判定為獨(dú)立的有效非波動(dòng)段,否則將其歸并到波動(dòng)段中存儲(chǔ),以進(jìn)一步確保波動(dòng)段的“無損性”及“完整性”。根據(jù)上述的分析,算法實(shí)現(xiàn)步驟如下:
1) 設(shè)定波動(dòng)閾值(△w,判斷是否波動(dòng))以及時(shí)間長度閾值(△d,有效的非波動(dòng)段最小長度)。
截?cái)嗳≈毙拓?fù)反轉(zhuǎn)是指一個(gè)沖斷系后緣被一個(gè)新形成的陡傾張性斷層所取直、截?cái)啵簧婕皼_斷層兩側(cè)重復(fù)出現(xiàn)的地層。老30-樁海10井近東西向地震剖面顯示,該區(qū)燕山末期發(fā)育了走向北東、傾向北西的一系列緩傾角逆斷層,當(dāng)逆斷層逆沖受阻時(shí),便切層逆沖形成若干個(gè)逆斷層,構(gòu)成疊瓦沖斷組合。喜山早期,在逆沖斷層應(yīng)力集中的后緣,被正斷層截切并反向下滑,形成負(fù)反轉(zhuǎn)構(gòu)造(圖1),并形成花狀構(gòu)造。其顯著特征為:該斷裂向深部延伸,歸并于變緩的斷層面上,并處于純拉張狀態(tài)而無收縮,在斷層上升盤則保留原逆沖形態(tài),這種取直型負(fù)反轉(zhuǎn)主要在樁西潛山北部與埕北凹陷結(jié)合部的老30-292井區(qū)發(fā)育。
2) 判定數(shù)據(jù)起始段是波動(dòng)段還是非波動(dòng)段(第一個(gè)數(shù)據(jù)是波動(dòng)段的起始點(diǎn)還是非波動(dòng)段的起始點(diǎn)):
從當(dāng)前數(shù)據(jù)的起始點(diǎn)開始,首先記錄點(diǎn)起始點(diǎn)時(shí)間,連續(xù)向后遍歷△d個(gè)電場數(shù)據(jù),是否有數(shù)據(jù)與當(dāng)前數(shù)據(jù)的數(shù)值差大于△w,如果有,則當(dāng)前點(diǎn)為波動(dòng)段的起始點(diǎn),否則,為非波動(dòng)段起始點(diǎn)。
3) 識別當(dāng)前數(shù)據(jù)段的結(jié)束點(diǎn):
(1) 如果該段是波動(dòng)段,則尋找該波動(dòng)段的結(jié)束點(diǎn)。
① 遍歷之后的各點(diǎn),判斷當(dāng)前點(diǎn)的后面△d個(gè)電場數(shù)據(jù),是否有波動(dòng)數(shù)據(jù)(與當(dāng)前點(diǎn)數(shù)值之差大于△w閾值),如果沒有則表明當(dāng)前點(diǎn)即為波動(dòng)段的結(jié)束點(diǎn);否則繼續(xù)進(jìn)行下一點(diǎn)的判別,直至找到符合條件的本波動(dòng)段結(jié)束點(diǎn),或者至數(shù)據(jù)結(jié)束點(diǎn)。
② 記錄該結(jié)束點(diǎn)的時(shí)間,同時(shí)將起始點(diǎn)至該結(jié)束點(diǎn)之間的電場數(shù)據(jù)依次保存至values字段中。
(2) 如果該段是非波動(dòng)段,則尋找該非波動(dòng)段的結(jié)束點(diǎn)。
① 遍歷之后的各點(diǎn),判斷當(dāng)前點(diǎn)是否有波動(dòng)(與起始點(diǎn)數(shù)值之差大于△w閾值),如果有則表明當(dāng)前點(diǎn)即為非波動(dòng)段的結(jié)束點(diǎn);否則繼續(xù)進(jìn)行下一點(diǎn)的判別,直至找到符合條件的本非波動(dòng)段結(jié)束點(diǎn),或者至數(shù)據(jù)結(jié)束點(diǎn)。
② 記錄該結(jié)束點(diǎn)的時(shí)間,同時(shí)將起始點(diǎn)至該結(jié)束點(diǎn)之間的電場數(shù)據(jù)平均值保存至values字段中。
4) 將步驟3中獲得的結(jié)束點(diǎn)及其數(shù)據(jù)作為下一段的起始點(diǎn),同時(shí)根據(jù)波動(dòng)段與非波動(dòng)段的相互間隔性,獲得下一段的波動(dòng)性,重復(fù)步驟3的操作完成下一段的壓縮操作。
5) 依此直至電場數(shù)據(jù)的最后一個(gè)數(shù)據(jù),并將最后一個(gè)數(shù)據(jù)作為最后一段的結(jié)束點(diǎn)進(jìn)行處理。
6) 將上述步驟獲得的多段數(shù)據(jù)存放在數(shù)組變量中,完成該電場數(shù)據(jù)的壓縮,算法完畢。
2.4壓縮算法分析
同上述的壓縮算法可以看出:1) 對于無波動(dòng)段的處理是有損壓縮,用無波動(dòng)段的平均值代替該段中的實(shí)際數(shù)值(差值控制在閾值△w之內(nèi));而在波動(dòng)段則是無損壓縮,在最大程度上保證波動(dòng)段的“原裝性”; 2) 壓縮后的數(shù)據(jù)“波動(dòng)段”與“非波動(dòng)段”的交界點(diǎn)的數(shù)據(jù)重復(fù)存儲(chǔ),并且在兩段存儲(chǔ)的數(shù)據(jù)會(huì)有差異,主要原因是非波動(dòng)段這段數(shù)據(jù)是這段數(shù)據(jù)的平均值,而“非波動(dòng)段”的數(shù)據(jù)是真實(shí)值,因此在解壓時(shí),要使用波動(dòng)段的數(shù)值來作為交界處的數(shù)據(jù),以確保波動(dòng)段數(shù)據(jù)的無損性;3) 無論在“波動(dòng)段”還是在“非波動(dòng)段”壓縮之后的數(shù)據(jù)中僅僅記錄了該段起始以及結(jié)束時(shí)刻的時(shí)間,節(jié)省了中間段的時(shí)間信息存儲(chǔ),因此在解壓時(shí)縮時(shí),算法會(huì)默認(rèn)以固定時(shí)間長度單位(目前電場數(shù)據(jù)多為一秒一個(gè)數(shù)據(jù))對應(yīng)存儲(chǔ)的電場數(shù)據(jù),如果原有的電場數(shù)據(jù)中間缺少某些時(shí)刻的觀測數(shù)據(jù),如果在“非波動(dòng)段” 缺失,影響不大,但是如果在“波動(dòng)段”缺失,則該缺失時(shí)刻后面的數(shù)據(jù)自動(dòng)向前補(bǔ)齊缺失的數(shù)據(jù),造成電場數(shù)據(jù)的整體“前移”。因此在使用該算法前要確保數(shù)據(jù)的質(zhì)量,進(jìn)行一定的數(shù)據(jù)處理確保數(shù)據(jù)的“無缺失”。在本文算法實(shí)現(xiàn)中采取的方法是:“零碎缺失”采用平均插值方法補(bǔ)齊;“大時(shí)間缺失”則對這段數(shù)據(jù)統(tǒng)一賦予“無效值”(如-9999),即作為特殊的“一段”處理。
按照這種算法壓縮之后的數(shù)據(jù),能夠起到明顯的壓縮效果。以SqlServer數(shù)據(jù)庫的存儲(chǔ)為例,日期類型占用8個(gè)字節(jié)存儲(chǔ),單精度類型也是占用8個(gè)字節(jié)。則一天的電場數(shù)據(jù)正常情況下的存儲(chǔ)量為:1×24×60×60×(8+8)=1 382 400字節(jié);采用本壓縮算法在最好的情況下(即一天電場數(shù)據(jù)沒有波動(dòng));則只需要存儲(chǔ)兩個(gè)時(shí)間以及一個(gè)單精度的電場數(shù)據(jù),即:8×2+8=24字節(jié),壓縮比為:1 382 400/24=57 600;在最壞的情況下(即一天電場數(shù)據(jù)都為波動(dòng)數(shù)據(jù)),需要存儲(chǔ)兩個(gè)時(shí)間以及各個(gè)電場數(shù)據(jù),即8×2+1×24×60×60×8=691 216字節(jié),壓縮比為:1 382 400/691 216≈2;因此可見該算法對海量電場數(shù)據(jù)能夠很好地壓縮效果。
3基于WCF的電場數(shù)據(jù)共享服務(wù)設(shè)計(jì)
WCF是由微軟開發(fā)的,面向服務(wù)的,將各種分布式技術(shù)整合到一起的一款軟件。它提供了一致的開發(fā)框架,降低了系統(tǒng)開發(fā)周期,解決了不同網(wǎng)絡(luò)和應(yīng)用環(huán)境下數(shù)據(jù)和操作的共享以及異構(gòu)系統(tǒng)間跨平臺(tái)訪問與操作等問題,實(shí)現(xiàn)了真正意義上的分布式計(jì)算。因此基于WCF,將電場數(shù)據(jù)的壓縮/解壓縮以及檢索查詢等操作過程進(jìn)行封裝,裸露相關(guān)接口實(shí)現(xiàn)電場數(shù)據(jù)及其服務(wù)的共享,因此整個(gè)操作處理過程對用戶是屏蔽的,用戶只要調(diào)用一個(gè)接口就可以獲得所需要的數(shù)據(jù),為客戶的處理分析提供便捷的數(shù)據(jù)服務(wù)。其整體三層結(jié)構(gòu)如圖2所示。

圖2 基于WCF的電場數(shù)據(jù)服務(wù)架構(gòu)示意圖
其中數(shù)據(jù)層主要指按照組織方案中設(shè)計(jì)的用于實(shí)際存儲(chǔ)電場壓縮數(shù)據(jù)數(shù)據(jù)庫;而在WCF數(shù)據(jù)層實(shí)現(xiàn)電場數(shù)據(jù)的分段壓縮算法,以及按照時(shí)間(段)、站點(diǎn)等多樣式檢索查詢,并以接口的形式裸露服務(wù),以供客戶端調(diào)用;客戶應(yīng)用層則是客戶根據(jù)需要直接調(diào)用服務(wù)接口進(jìn)行相關(guān)數(shù)據(jù)的獲取,對客戶端而言,電場數(shù)據(jù)的壓縮/解壓縮等操作過程是完全屏蔽的,僅僅是調(diào)用一個(gè)服務(wù)接口即可獲得所需要的服務(wù)。以此電場數(shù)據(jù)及其操作都得到最大程度的便捷共享,為電場數(shù)據(jù)的專業(yè)應(yīng)用與分析提供服務(wù)支持。
4應(yīng)用實(shí)例
為了更好地驗(yàn)證本文中對電場數(shù)據(jù)的壓縮組織以及共享方法的正確性,借助氣象行業(yè)專項(xiàng)課題的支撐,對其25個(gè)電場探測設(shè)備的探測數(shù)據(jù)進(jìn)行了應(yīng)用實(shí)踐,取得了很好的應(yīng)用效果。
在實(shí)例中每個(gè)電場檢測設(shè)備每秒鐘產(chǎn)生一個(gè)探測數(shù)值,產(chǎn)生的數(shù)據(jù)臨時(shí)性存儲(chǔ)在文本文件中等待壓縮入庫處理。在處理時(shí)按照本文的數(shù)據(jù)組織存儲(chǔ)與共享設(shè)計(jì)方案,首先針對每一個(gè)電場探測設(shè)備創(chuàng)建對應(yīng)的電場數(shù)據(jù)存儲(chǔ)表單;繼而創(chuàng)建WCF服務(wù),在該服務(wù)中實(shí)現(xiàn)了電場數(shù)據(jù)的壓縮/解壓縮算法、存儲(chǔ)入庫方法、按照站點(diǎn)及時(shí)間(段)查詢算法、某時(shí)間段內(nèi)波動(dòng)數(shù)據(jù)檢索等操作,并共享了服務(wù)接口;繼而設(shè)計(jì)了電場數(shù)據(jù)可視化查詢客戶端系統(tǒng)進(jìn)行基于服務(wù)接口的電場數(shù)據(jù)調(diào)用,實(shí)驗(yàn)結(jié)果證明,壓縮算法有效,尤其在晴好天氣環(huán)境下,可以將數(shù)據(jù)進(jìn)行最大程度的壓縮,能夠很好地適應(yīng)氣象領(lǐng)域的實(shí)際業(yè)務(wù)應(yīng)用。
4.1電場數(shù)據(jù)壓縮處理前后圖形比較
本實(shí)例中開發(fā)了圖形可視化平臺(tái),能夠直觀地看出電場數(shù)據(jù)的波動(dòng)情況。本文將原始的電場數(shù)據(jù)與經(jīng)過壓縮處理后的電場數(shù)據(jù)在該可視化系統(tǒng)上集成顯示,從圖3中可以看出經(jīng)過壓縮處理后還原的數(shù)據(jù)與原始電場數(shù)據(jù)兩者能夠緊密貼合,達(dá)到了波動(dòng)段無損壓縮的設(shè)計(jì)效果。

圖3 電場數(shù)據(jù)壓縮處理前后的圖形擬合對比圖
4.2基于WCF數(shù)據(jù)共享服務(wù)的數(shù)據(jù)調(diào)用
本文設(shè)計(jì)了客戶端程序?qū)CF的數(shù)據(jù)壓縮存儲(chǔ)以及多功能檢索查詢進(jìn)行了驗(yàn)證。通過用戶對圖形化電場儀的交互揀選,獲取對應(yīng)的電場設(shè)備名稱以及具體的時(shí)間日期,并將這兩個(gè)參數(shù)傳遞給WCF服務(wù) ,WCF服務(wù)從數(shù)據(jù)庫中獲取符合條件的電場數(shù)據(jù)(段)繼而完成解壓縮操作后,將完整的電場數(shù)據(jù)傳遞給客戶段調(diào)用顯示。其可視化效果如圖4所示。實(shí)例證明相對于普通組織存儲(chǔ)方式,本文的方案能夠有效地減少對海量時(shí)空電場冗余數(shù)據(jù)的存儲(chǔ),提高時(shí)空數(shù)據(jù)的檢索查詢效率;對于客戶端而言,其僅僅需要調(diào)用WCF服務(wù)接口,數(shù)據(jù)的時(shí)區(qū)分段、壓縮存儲(chǔ)以及解壓查詢等計(jì)算操作都由WCF服務(wù)在內(nèi)部完成,反而大大減輕簡化了客戶端的操作及計(jì)算壓力,需要注意的是這些優(yōu)勢是以增加WCF服務(wù)端的CPU計(jì)算壓力為代價(jià)的。

圖4 基于WCF服務(wù)的電場數(shù)據(jù)查詢顯示
5結(jié)語
隨著信息科學(xué)技術(shù)的不斷發(fā)展,電場數(shù)據(jù)作為重要的雷電監(jiān)測數(shù)據(jù),對其進(jìn)行有效的科學(xué)分析,挖掘其所隱含的科學(xué)規(guī)律對于深入認(rèn)識雷電發(fā)生發(fā)展的過程具有重要意義。而對于海量時(shí)空電場數(shù)據(jù)的高效組織存儲(chǔ)以及共享提供更加便捷、高效、靈活的數(shù)據(jù)服務(wù)是進(jìn)行專業(yè)分析研究的重要前提與基礎(chǔ)。基于此本文提出的一種大地電場數(shù)據(jù)的壓縮存儲(chǔ)處理以及共享方法,在一定程度上彌補(bǔ)了當(dāng)前海量時(shí)空電場數(shù)據(jù)組織存儲(chǔ)以及共享方面的不足,優(yōu)化了存儲(chǔ)結(jié)構(gòu),節(jié)約了存儲(chǔ)空間,其波動(dòng)段的無損壓縮最大程度上確保了電場數(shù)據(jù)的專業(yè)分析不受影響,同時(shí)進(jìn)一步提高了電場數(shù)據(jù)檢索查詢的靈活性和高效性。并且通過WCF的服務(wù)共享,確保了客戶端調(diào)用數(shù)據(jù)的快捷,減輕了客戶端負(fù)載,實(shí)現(xiàn)了電場數(shù)據(jù)及其數(shù)據(jù)操作處理的服務(wù)共享,為相關(guān)領(lǐng)域的研究提供了很好的借鑒。
參考文獻(xiàn)
[1] 張信華,黃元森,江彩英.閩北強(qiáng)對流天氣的短時(shí)監(jiān)測及判別方法研究[J].氣象,2011,37(6):687-692.
[2] Chalmers J A.Atmospheric Electricity[M].London:Pergamon Press,1957:112-114.
[3] Rycroft M J,Israelsson S,Price C.The global atmospheric electric circuit solar activity and climate change[J].J Atmos Sol Terr Phys,2000:1563-1576.
[4] Rakov V A,Uman M A.Lightning:Physics and Effects[R].Cambridge:Cambridge University Press,2003:73-75.
[5] 張騰飛,許迎杰,張杰,等.云南省閃電活動(dòng)時(shí)大氣相對濕度結(jié)構(gòu)特征[J].應(yīng)用氣象學(xué)報(bào),2010,21(2):180-188.
[6] 孫景群.大氣電學(xué)基礎(chǔ)[M].北京:氣象出版社,1987.
[7] 吳亭,呂偉濤,劉曉陽,等.北京地區(qū)不同天氣條件下近地面大氣電場特征[J].應(yīng)用氣象學(xué)報(bào),2009,20(4):394-401.
[8] 徐棟璞,王振會(huì),曾慶鋒,等.近地面大氣電場數(shù)據(jù)EMD方法分析[J].氣象科技,2013,41(1):170-176.
[9] 潘家利,王明亮,吳海.基于大氣電場的雷電監(jiān)測預(yù)警技術(shù)研究[J].氣象研究與應(yīng)用,2012(9):94-98.
[10] 張義軍,葛正謨,陳成品,等.青藏高原東部地區(qū)的大氣電特征[J].高原氣象,1998,17(2):135-141.
[11] 柴瑞,王振會(huì),肖穩(wěn)安,等.大氣電場資料在雷電預(yù)警中應(yīng)用[J].氣象科技,2009,37(6):724-727.
[12] 郭秀峰,譚涌波,郭鳳霞,等.建筑物尖端對大氣電場畸變影響的數(shù)值計(jì)算[J].應(yīng)用氣象學(xué)報(bào),2013,24(2):189-196.
[13] 譚涌波,朱俊儒,李洋超,等.孤立金屬尖端的電暈觸發(fā)閾值[J].應(yīng)用氣象學(xué)報(bào),2014,25(3):339-346.
[14] 孟青,呂偉濤,姚雯,等.地面電場資料在雷電預(yù)警技術(shù)中的應(yīng)用[J].氣象,2005,31(9):30-33.
[15] 張敏鋒,劉欣生,葛正謨.我國北方地區(qū)雷電活動(dòng)的時(shí)空特征[J].高原氣象,2000,19(3):277-284.
收稿日期:2014-11-29。國家自然科學(xué)基金項(xiàng)目(40901244);博士后基金項(xiàng)目(R2012B03);公益性行業(yè)科研專項(xiàng)(GYHY200806014)。路明月,副教授,主研領(lǐng)域:三維GIS及其數(shù)據(jù)模型,氣象GIS理論與應(yīng)用。鄭建琴,碩士生。劉彬,碩士生。王軒,碩士生。邵一丹,碩士生。
中圖分類號TP3
文獻(xiàn)標(biāo)識碼A
DOI:10.3969/j.issn.1000-386x.2016.07.022
COMPRESSED STORAGE AND SHARING OF MASSIVE SPATIOTEMPORAL ATMOSPHERIC ELECTRIC FIELD DATA
Lu Mingyue1,2Zheng Jianqin1Liu Bin1Wang Xuan1Shao Yidan1
1(JiangsuKeyLaboratoryofMeteorologicalDisaster(NanjingUniversityofInformationScienceandTechnology),Nanjing210044,Jiangsu,China)2(SchoolofRemoteSensing,NanjingUniversityofInformationScienceandTechnology,Nanjing210044,Jiangsu,China)
AbstractThe atmospheric electric field data can indicate the fluctuation of atmospheric electric fields on the ground very well, which is significant to the research of thunder and lightning generation. However, the spatiotemporal and massive characteristic of electric field data brings much trouble to storing and sharing the data as well as data’s professional analysis and use. To solve this problem, in this paper, according to the characteristic that the electric field data fluctuates along with the time, we propose a time division-based compressed organisation storage algorithm. On the premise of “l(fā)ossless in fluctuational segment” of the electric field data, it can ensure to effectively decrease the storage of redundant data of electric field, save the storage space and improve the efficiency of massive data query. Based on the organisation structure of “fluctuational segment” or “non-fluctuational segments”, the algorithm further increases the flexibility of data retrieval and query; according to this, we realise the services sharing for electric field data and its compression operation algorithm based on WCF technology. At last, we adopt the actual electric field data to implement the algorithm with example, which fully verifies the effectiveness and feasibility of the proposed compressed storage algorithm and sharing mechanism, this can provide the support for efficient professional analysis and use of the massive electric field data.
KeywordsElectric field dataCompressStorageSharing