專利名稱:一種精度可控的自適應(yīng)數(shù)據(jù)壓縮方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)壓縮方法技術(shù)領(lǐng)域,主要適用于一種精度可控的自適應(yīng)數(shù)據(jù)壓縮 方法。
背景技術(shù):
目前實時數(shù)據(jù)庫已經(jīng)越來越廣泛的在電信、金融、電力等行業(yè)之中使用,極大的簡 化了大規(guī)模工業(yè)流程的控制過程,提高了管理的效率。由于工業(yè)實時數(shù)據(jù)庫系統(tǒng)需要長期 運行,必須要對大量寶貴的現(xiàn)場實時數(shù)據(jù)進行存儲,若直接保存的話,隨著系統(tǒng)運行時間的 增長,必將占用大量的存儲設(shè)備用來保存這些數(shù)據(jù)。同時由于在工業(yè)過程控制領(lǐng)域中大部 分數(shù)據(jù)都是穩(wěn)態(tài)數(shù)據(jù),其數(shù)值變化波動比較小,完整保存就會帶來很高的數(shù)據(jù)信息冗余,不 僅浪費了存儲設(shè)備,而且為實時數(shù)據(jù)的傳輸和分析都帶來了巨大的困難,因此數(shù)據(jù)壓縮處 理技術(shù)已經(jīng)成為實時數(shù)據(jù)處理的必須環(huán)節(jié)。旋轉(zhuǎn)門壓縮算法擁有著簡單的算法邏輯和高效的執(zhí)行效率,非常符合過程工業(yè)對 實時性的要求,在工業(yè)實時數(shù)據(jù)庫領(lǐng)域中得到了廣泛的運用。但是,旋轉(zhuǎn)門壓縮算法存在著 以下的問題(1)參數(shù)固定,設(shè)置繁瑣。在旋轉(zhuǎn)門壓縮算法中門限寬度是唯一可控的參數(shù),其取 值的好壞會嚴重影響著算法的壓縮性能。目前門限寬度的設(shè)置嚴重依賴人為經(jīng)驗,為了保 持壓縮精度,就要對參數(shù)進行反復(fù)的測試與停機修正。(2)自適應(yīng)性低。由于實時數(shù)據(jù)帶有很強的不可預(yù)測性,要求采用的在線數(shù)據(jù)壓縮 算法能夠很好的適應(yīng)數(shù)據(jù)的變化情況,使算法的壓縮比和壓縮誤差不會因為數(shù)據(jù)的變化而 產(chǎn)生劇烈波動。目前旋轉(zhuǎn)門壓縮算法的自適應(yīng)性較差,加之參數(shù)固定,并不能自適應(yīng)的保持 壓縮比和壓縮誤差之間的平衡。(3)目前旋轉(zhuǎn)門壓縮算法并不能判斷數(shù)據(jù)是否異常,而是對異常數(shù)據(jù)也采用正常 的壓縮流程,嚴重影響了算法的性能。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種精度可控的自適應(yīng)數(shù)據(jù)壓縮方法,它具有 通過引入標準誤差的反饋,再利用對誤差率的判斷,逐步調(diào)整門限寬度,從而避免了由于人 為盲目設(shè)置門限寬度而造成壓縮性能的降低,同時也免去了工業(yè)現(xiàn)場為了設(shè)定合適的門限 寬度而進行重復(fù)大量測試的過程的特點。為解決上述技術(shù)問題,本發(fā)明提供了一種精度可控的自適應(yīng)數(shù)據(jù)壓縮方法,包括 下述步驟步驟A :對數(shù)據(jù)進行旋轉(zhuǎn)門壓縮處理;步驟B :判斷是否需要執(zhí)行門限寬度的自適應(yīng)計算調(diào)整若需要執(zhí)行門限寬度的自適應(yīng)計算調(diào)整時,計算原數(shù)據(jù)與壓縮后的數(shù)據(jù)的標準誤 差,根據(jù)所述標準誤差計算標準誤差與門限寬度之間的誤差率,并根據(jù)對誤差率進行的判
# ;
jtm D
±ìè7jM^,ìfiìè'yMB ^■.
PM bi{Aj, a2,......, AJ,,a2,......,AJ ;
/yìM B28 :I 1 _2L~ ^t”' á = Jw%(A>-A') '
PM B3 :if#djT^^$ER :
er = |t’ ^ e ^iiratinps^si ;
jtm B4 ER MMH PS Mí E:
^ 0 s£ ER < Kmin KminPJXin l t e iJP 6 ;
^ Kmin s£ ER s£ Kmx 04, KmxPJ il PI Mí E ^ ;
^ Kmx s£ ER < 1 04, PJX^n PltS E S.
Bwi'0] nif Dnum gü
BC,Wn0M>'èlfèTìèìMM :
pm Cl ESnum,ESnumo, èPAì&#mB5esm = o,^>j esm g±i i ;
jtm C2 -.mm Esnummiè DTthr,mixmWiia ^^[o,i,2--,(2s5 doo+io*k)^wtAífEsnum = o ;^M ^ ,tADo
§A,^ Ti£/^f:
PMAl :^—^f£fê^ HJli ^SavedData45 ìH^^hWillSaveData CurrentData 41, ^ifSPtop> SPbot> SPmid,|4^ Ji+J¥£^#nT#i^ :_____-, cr> _ '^a^UeCurrentData _ (ValUe:v|,vd|J.|l | — E)
SPtop ----—-i imeCurrentData i imeSavedData_____-, CT> _ '^a^UeCurrentData _ (V^luCg ^ t ~*~
^^bot --—.-—.-I imeCurrentData — I iiìieSavedData_____-, CT> _ '^a^UeCurrentData _ Valuewms D t
SPmid - —-—-i imeCurrentData i imeWlllSaveData
^ ValueC rentData^§rWMf , ValueSavedData % ± ->h B fè# &} M è,ValueffillSaveData為待保存的數(shù)據(jù)值,TimeCurrentData為新的數(shù)據(jù)的時戳,TimeSavedData為上一個已 經(jīng)存儲的數(shù)據(jù)的時戳,TimeWillSaveData為待保存的數(shù)據(jù)時戳,E為門限寬度;第三個及以后的 數(shù)據(jù)從步驟A2開始執(zhí)行。 步驟A2 :當?shù)谌齻€及以后的數(shù)據(jù)到來時,將新到來的數(shù)據(jù)的信息賦予 CurrentData中,并計算出新的斜率值SP' top> SP' bot> SP' mid ;新的斜率的計算公式如下 所示
r oc1 cp, _ ValueCu腿tData - (Values
avedData E)
L0035」
權(quán)利要求
1.一種精度可控的自適應(yīng)數(shù)據(jù)壓縮方法,其特征在于,包括下述步驟 步驟A :對數(shù)據(jù)進行旋轉(zhuǎn)門壓縮處理; 步驟B :判斷是否需要執(zhí)行門限寬度的自適應(yīng)計算調(diào)整 若需要執(zhí)行門限寬度的自適應(yīng)計算調(diào)整時,計算原數(shù)據(jù)與壓縮后的數(shù)據(jù)的標準誤差,根據(jù)所述標準誤差計算標準誤差與門限寬度之間的誤差率,并根據(jù)對誤差率進行的判斷調(diào)整門限寬度; 若不需要執(zhí)行門限寬度的自適應(yīng)計算調(diào)整,則執(zhí)行下一步; 步驟D :繼續(xù)對下個數(shù)據(jù)進行壓縮處理。
2.如權(quán)利要求I所述的精度可控的自適應(yīng)數(shù)據(jù)壓縮方法,其特征在于,所述步驟B中,對門限寬度執(zhí)行自適應(yīng)計算調(diào)整包括下述步驟 步驟BI :獲取原始數(shù)據(jù)序列(A1, A2,......,AJ,并對經(jīng)壓縮的數(shù)據(jù)進行解壓,獲取重建數(shù)據(jù)序列{叉,J2,……,AJ; 步驟B2:計算出標準誤差5
3.如權(quán)利要求I所述的精度可控的自適應(yīng)數(shù)據(jù)壓縮方法,其特征在于,在所述步驟B中,根據(jù)設(shè)定的數(shù)據(jù)壓縮時間窗口參數(shù),判斷是否需要執(zhí)行門限寬度的自適應(yīng)計算調(diào)整,其方法為每壓縮完一個數(shù)據(jù),則初始化為O的數(shù)據(jù)壓縮時間窗口計數(shù)器Dnuffl自增1,當Dnuffl等于所述設(shè)定的數(shù)據(jù)壓縮時間窗口參數(shù)時,則執(zhí)行門限寬度的自適應(yīng)計算調(diào)整。
4.如權(quán)利要求1、2、3中任意一項所述的精度可控的自適應(yīng)數(shù)據(jù)壓縮方法,其特征在于,在執(zhí)行完所述步驟B后,執(zhí)行步驟C,即判斷是否更改數(shù)據(jù)壓縮時間窗口參數(shù),包括下述步驟 步驟Cl :設(shè)定數(shù)據(jù)穩(wěn)態(tài)計數(shù)器ESnuffl,并且將數(shù)據(jù)穩(wěn)態(tài)計數(shù)器ESm初始化為O,在所述步驟B5后,判斷門限寬度是否發(fā)生改變,若發(fā)生改變,則ESnum = O,否則ESnum自增I ; 步驟C2 :判斷ESm是否大于預(yù)先設(shè)定好的數(shù)據(jù)穩(wěn)定閾值DTthr,若是,則從離散整數(shù)集合
中隨機取一個數(shù),記為k,新的數(shù)據(jù)壓縮時間窗口參數(shù)變?yōu)槊扛?100+10*k)個數(shù)據(jù)就要進行一次參數(shù)的自適應(yīng)計算,同時執(zhí)行ESnuffl = 0 ;否則調(diào)整結(jié)束,執(zhí)行所述步驟D。
5.如權(quán)利要求I所述的精度可控的自適應(yīng)數(shù)據(jù)壓縮方法,其特征在于,所述步驟A,包括下述步驟 步驟Al :第一個數(shù)據(jù)直接保存,并將第一個數(shù)據(jù)的信息賦予SavedData中;第二個數(shù)據(jù)的信息賦予WillSaveData和CurrentData中,并計算出斜率SPt()p、SPbot> SPmid,斜率的計算公式如下所示
6.如權(quán)利要求I或5所述的精度可控的自適應(yīng)數(shù)據(jù)壓縮方法,其特征在于,在所述步驟A前,先對需要進行壓縮處理的數(shù)據(jù)進行合法性判別,包括下述步驟 步驟一如果滿足下面的判別式,則執(zhí)行下一步;否則為數(shù)據(jù)值異常的數(shù)據(jù),更新數(shù)據(jù)標志位; ValueMIN ≤ ValueCurrentData ≤ValueMX 式中Valueamentllata為新進入緩沖區(qū)的數(shù)據(jù)值,ValueMIN為合法數(shù)據(jù)的最小值,Valuemx為合法數(shù)據(jù)的最大值; 步驟二 若滿足下面判別式,則執(zhí)行步驟A,否則為時戳異常的數(shù)據(jù),更新數(shù)據(jù)標志位;
7.如權(quán)利要求3所述的精度可控的自適應(yīng)數(shù)據(jù)壓縮方法,其特征在于,所述數(shù)據(jù)壓縮時間窗口參數(shù)為壓縮處理100個數(shù)據(jù)進行一次門限寬度的自適應(yīng)計算。
8.如權(quán)利要求4所述的精度可控的自適應(yīng)數(shù)據(jù)壓縮方法,其特征在于,所述數(shù)據(jù)壓縮時間窗口參數(shù)為壓縮處理100個數(shù)據(jù)進行一次門限寬度的自適應(yīng)計算。
9.如權(quán)利要求4所述的精度可控的自適應(yīng)數(shù)據(jù)壓縮方法,其特征在于,數(shù)據(jù)穩(wěn)定閾值DTthr 為 5。
10.如權(quán)利要求6所述的精度可控的自適應(yīng)數(shù)據(jù)壓縮方法,其特征在于,所述數(shù)據(jù)標志位為2bit。
全文摘要
本發(fā)明涉及數(shù)據(jù)壓縮方法技術(shù)領(lǐng)域,公開了一種精度可控的自適應(yīng)數(shù)據(jù)壓縮方法,包括下述步驟步驟A對數(shù)據(jù)進行旋轉(zhuǎn)門壓縮處理;步驟B判斷是否執(zhí)行門限寬度的自適應(yīng)計算調(diào)整;若是,則對門限寬度進行自適應(yīng)計算調(diào)整;否則繼續(xù)對下個數(shù)據(jù)進行壓縮處理。本發(fā)明通過引入標準誤差的反饋來逐步調(diào)整門限寬度,避免了由于人為盲目設(shè)置門限寬度值而造成壓縮性能的降低,同時也免去了進行重復(fù)大量測試的過程。此外,增加了數(shù)據(jù)合法性判斷和動態(tài)調(diào)整數(shù)據(jù)壓縮時間窗口參數(shù),降低了異常數(shù)據(jù)對算法性能的影響,對慢變化的穩(wěn)態(tài)數(shù)據(jù)而言,自適應(yīng)計算的時間間隔會動態(tài)的變化,減少無謂的計算動作,提高了壓縮的性能。
文檔編號H03M7/38GK102664635SQ201210055869
公開日2012年9月12日 申請日期2012年3月6日 優(yōu)先權(quán)日2012年3月6日
發(fā)明者宋岸峰, 王非, 莫益軍, 黃本雄 申請人:華中科技大學(xué)