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