專(zhuān)利名稱(chēng):智能樓宇中海量能耗信息的壓縮方法
技術(shù)領(lǐng)域:
本發(fā)明涉及建筑能耗監(jiān)控技術(shù)領(lǐng)域,具體是一種智能樓宇中海量能耗信息的壓縮 和解壓縮方法
背景技術(shù):
智能樓宇能耗信息在線實(shí)時(shí)監(jiān)測(cè)是利用電子測(cè)控技術(shù)實(shí)現(xiàn)對(duì)智能樓宇內(nèi)的水、 電、暖等能源消耗情況進(jìn)行分量式監(jiān)測(cè),電能分項(xiàng)數(shù)據(jù)采集;并應(yīng)用無(wú)線傳感網(wǎng)絡(luò)技術(shù),實(shí) 現(xiàn)對(duì)建筑物室內(nèi)溫濕度、C02、甲醛含量等環(huán)境定時(shí)采集監(jiān)測(cè);通過(guò)建立數(shù)據(jù)中心,構(gòu)建省市 多級(jí)能耗監(jiān)管系統(tǒng)。該能耗監(jiān)管系統(tǒng)能夠?qū)δ芎臄?shù)據(jù)進(jìn)行分析統(tǒng)計(jì),獲得準(zhǔn)確建筑真實(shí)的 能耗數(shù)據(jù),便于政府部門(mén)進(jìn)一步強(qiáng)化監(jiān)督管理,確保建筑全面執(zhí)行建筑節(jié)能強(qiáng)制性標(biāo)準(zhǔn),建 立和完善能效測(cè)評(píng)、用能標(biāo)準(zhǔn)、能耗統(tǒng)計(jì)、能源審計(jì)、能效公示、用能定額、節(jié)能服務(wù)等各項(xiàng) 制度,促進(jìn)既有高耗能?chē)?guó)家機(jī)關(guān)辦公建筑和大型公共建筑節(jié)能運(yùn)行和改造,可有效控制樓 宇內(nèi)能源的浪費(fèi),達(dá)到優(yōu)化能源供應(yīng)、提高能源管理水平、節(jié)約能源成本的目的。由于系統(tǒng)提供每天各智能樓宇能耗信息在線實(shí)時(shí)監(jiān)測(cè)回路能耗的實(shí)時(shí)監(jiān)測(cè)功能, 每間隔一定時(shí)間(可由用戶(hù)設(shè)定)采集一次能耗數(shù)據(jù)。對(duì)于省市多級(jí)能耗監(jiān)管系統(tǒng),由于 監(jiān)測(cè)現(xiàn)場(chǎng)的采集點(diǎn)多,采集時(shí)間周期短,因而要保存的歷史數(shù)據(jù)量非常大。如果將這些數(shù)據(jù) 直接存儲(chǔ),不僅會(huì)占用大量的系統(tǒng)存儲(chǔ)空間,而且會(huì)降低數(shù)據(jù)的實(shí)時(shí)性,使數(shù)據(jù)的傳輸、查 詢(xún)變得困難。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中存在的上述問(wèn)題,減少對(duì)海量歷史數(shù)據(jù)存儲(chǔ)管理的成本,本 發(fā)明根據(jù)智能樓宇管理系統(tǒng)中的能耗信息數(shù)據(jù)結(jié)構(gòu)特點(diǎn),提出了一種新的海量能耗信息的 壓縮和解壓縮方法。本方法充分考慮了不同特性信號(hào)點(diǎn)的需求,采用開(kāi)放性的記錄方式給 予工程配置以最大的自由度,能夠很好地配合工程應(yīng)用,有效地過(guò)濾冗余數(shù)據(jù)。利用數(shù)據(jù)平 滑對(duì)數(shù)據(jù)序列中強(qiáng)噪聲點(diǎn)進(jìn)行處理,使得處理后的數(shù)據(jù)能接近被測(cè)參數(shù)的實(shí)際值,主要用 于降低傳感器的測(cè)量精度誤差給數(shù)據(jù)處理帶來(lái)的影響。時(shí)間戳的處理采用了周期跨度的保 存方式,具有很高的壓縮比,與內(nèi)存數(shù)據(jù)庫(kù)中的緩存結(jié)構(gòu)設(shè)計(jì)相結(jié)合,使得壓縮方法與結(jié)構(gòu) 設(shè)計(jì)相得益彰。在浮點(diǎn)數(shù)的壓縮方法的過(guò)程中,采取了量程轉(zhuǎn)換的方法,該方法的理論基礎(chǔ) 更牢固,實(shí)際工程應(yīng)用的壓縮性能更好,并且實(shí)現(xiàn)方法更為有效和合理。與傳統(tǒng)的數(shù)據(jù)壓縮 算法相比較,該算法的壓縮率有了顯著的提高,并大大縮短了壓縮時(shí)間,具有很強(qiáng)的應(yīng)用價(jià) 值。本發(fā)明的技術(shù)方案如下一種智能樓宇中海量能耗信息的壓縮方法,步驟如下1)先對(duì)樓宇中個(gè)監(jiān)測(cè)端的數(shù)據(jù)進(jìn)行采集,對(duì)于采集得到的數(shù)據(jù),設(shè)智能樓宇能耗 信息在線實(shí)時(shí)監(jiān)測(cè)現(xiàn)場(chǎng)的記錄點(diǎn)每條記錄為一個(gè)三元組(tagid,time, data),分別表示點(diǎn) 編號(hào)、數(shù)據(jù)的采集時(shí)態(tài)和采集的數(shù)據(jù);
2)當(dāng)某記錄點(diǎn)的時(shí)態(tài)屬性值發(fā)生改變時(shí),對(duì)應(yīng)的新數(shù)據(jù)存入一級(jí)緩存中,然后直 接返回下一個(gè)任務(wù),這些新數(shù)據(jù)由后臺(tái)數(shù)據(jù)存儲(chǔ)線程存入文件;所述一級(jí)緩存是一個(gè)數(shù)據(jù)隊(duì)列,由數(shù)據(jù)管理線程和數(shù)據(jù)存儲(chǔ)線程共享;3)設(shè)立二級(jí)緩存對(duì)應(yīng)每個(gè)tagid設(shè)有兩個(gè)固定大小的緩存區(qū),存儲(chǔ)線程從一級(jí)緩存中取得數(shù)據(jù), 寫(xiě)入該id對(duì)應(yīng)的緩存區(qū);當(dāng)某點(diǎn)對(duì)應(yīng)的緩存區(qū)已滿(mǎn)的時(shí)候,一次性地把該緩存區(qū)中的所有 數(shù)據(jù)轉(zhuǎn)入歷史數(shù)據(jù)壓縮區(qū)中,并將另一個(gè)緩存區(qū)變?yōu)楫?dāng)前緩存區(qū),繼續(xù)接收一級(jí)緩存的歷 史數(shù)據(jù),如此交替進(jìn)行;4)設(shè)置歷史數(shù)據(jù)壓縮區(qū),并在該壓縮區(qū)中,對(duì)步驟3)的緩存區(qū)中的數(shù)據(jù)進(jìn)行壓縮 后再將其轉(zhuǎn)存到磁盤(pán)文件;5)采用文件隊(duì)列的形式來(lái)組織數(shù)據(jù)文件,當(dāng)一個(gè)文件存滿(mǎn)后,才啟用文件隊(duì)列中 下一個(gè)文件;6)當(dāng)壓縮完成后,把壓縮后的數(shù)據(jù)存入存儲(chǔ)器中,供所需用戶(hù)端調(diào)用。
圖1數(shù)據(jù)轉(zhuǎn)儲(chǔ)流程示意圖;圖2數(shù)據(jù)存儲(chǔ)流程示意圖;圖3開(kāi)關(guān)量的變化壓縮示意圖。
具體實(shí)施例方式下面結(jié)合附圖與具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步說(shuō)明。一種智能樓宇中海量能耗信息的壓縮方法,步驟如下1)設(shè)計(jì)智能樓宇能耗信息在線實(shí)時(shí)監(jiān)測(cè)現(xiàn)場(chǎng)的記錄點(diǎn)每條記錄為一個(gè)三元組 (tagid, time, data),分別表示點(diǎn)編號(hào),數(shù)據(jù)的采集時(shí)間,當(dāng)時(shí)的數(shù)據(jù)狀態(tài)和采集的數(shù)據(jù);2)當(dāng)系統(tǒng)中某對(duì)象的時(shí)態(tài)屬性值發(fā)生改變時(shí),這個(gè)新值并不直接存人數(shù)據(jù)文件 中,系統(tǒng)把該值存入一級(jí)緩沖中,然后直接返回下一個(gè)任務(wù),而這些數(shù)據(jù)由后臺(tái)數(shù)據(jù)存儲(chǔ)線 程負(fù)責(zé)存入文件;3)設(shè)立二級(jí)緩存。一級(jí)緩存是一個(gè)數(shù)據(jù)隊(duì)列,由數(shù)據(jù)管理線程和數(shù)據(jù)存儲(chǔ)線程共 享。而二級(jí)緩存是為了防止頻繁的文件寫(xiě)入,提高數(shù)據(jù)存儲(chǔ)的效率。系統(tǒng)為每個(gè)tagid設(shè) 立兩個(gè)固定大小的緩存區(qū)(如4KB),存儲(chǔ)線程從一級(jí)緩存中取得數(shù)據(jù),并不直接寫(xiě)入文件, 而是寫(xiě)入該id對(duì)應(yīng)的緩存區(qū),只有當(dāng)某點(diǎn)對(duì)應(yīng)的緩存區(qū)已滿(mǎn)的時(shí)候,系統(tǒng)才會(huì)一次性地把 該緩存區(qū)中的所有數(shù)據(jù)轉(zhuǎn)入歷史數(shù)據(jù)壓縮區(qū)中。并將另一個(gè)緩存區(qū)成為當(dāng)前緩存區(qū),繼續(xù) 接收一級(jí)緩存的歷史數(shù)據(jù),如此交替進(jìn)行從而避免了在歷史數(shù)據(jù)壓縮保存時(shí)無(wú)法保存一級(jí) 緩存歷史數(shù)據(jù)現(xiàn)象的出現(xiàn)。4)在歷史數(shù)據(jù)壓縮區(qū)中,對(duì)步驟3)的緩存區(qū)中的數(shù)據(jù)進(jìn)行壓縮后再將其轉(zhuǎn)存到 磁盤(pán)文件。對(duì)緩存區(qū)中的數(shù)據(jù)進(jìn)行壓縮,是一種多級(jí)壓縮策略,包括了初級(jí)壓縮、核心壓縮 兩個(gè)階段以及對(duì)數(shù)據(jù)文件的定期整理壓縮;初級(jí)壓縮過(guò)程中,先由數(shù)據(jù)平滑處理對(duì)數(shù)據(jù)序 列中的強(qiáng)噪聲點(diǎn)進(jìn)行平滑計(jì)算;再由記錄方式過(guò)濾根據(jù)組態(tài)信息、預(yù)處理數(shù)據(jù)序列,保留 下需要的數(shù)據(jù)點(diǎn);核心壓縮過(guò)程中,首先進(jìn)行時(shí)間戳壓縮,然后根據(jù)不同的數(shù)據(jù)類(lèi)型,分別采用不同的方法進(jìn)行數(shù)據(jù)量過(guò)濾壓縮,最后經(jīng)過(guò)數(shù)據(jù)類(lèi)型轉(zhuǎn)換,完成對(duì)所有過(guò)程數(shù)據(jù)的壓 縮;5)采用文件隊(duì)列的形式來(lái)組織數(shù)據(jù)文件,當(dāng)一個(gè)文件存滿(mǎn)后,才啟用文件隊(duì)列中 下一個(gè)文件。6)當(dāng)壓縮完成后,把壓縮后的數(shù)據(jù)存入存儲(chǔ)器中,供所需用戶(hù)端調(diào)用。所述步驟4)中,對(duì)緩存區(qū)中的數(shù)據(jù)進(jìn)行壓縮,是一種多級(jí)壓縮策略,包括了初級(jí) 壓縮、核心壓縮兩個(gè)階段以及對(duì)數(shù)據(jù)文件的定期整理壓縮;初級(jí)壓縮過(guò)程中,先由數(shù)據(jù)平滑處理對(duì)數(shù)據(jù)序列中的強(qiáng)噪聲點(diǎn)進(jìn)行平滑計(jì)算;再 由記錄方式過(guò)濾根據(jù)組態(tài)信息、預(yù)處理數(shù)據(jù)序列,保留下需要的數(shù)據(jù)點(diǎn);核心壓縮過(guò)程中,首先進(jìn)行時(shí)間戳壓縮,然后根據(jù)不同的數(shù)據(jù)類(lèi)型,分別采用不同 的方法進(jìn)行數(shù)據(jù)量過(guò)濾壓縮,最后經(jīng)過(guò)數(shù)據(jù)類(lèi)型轉(zhuǎn)換,完成對(duì)所有過(guò)程數(shù)據(jù)的壓縮。所述核心壓縮過(guò)程中,如果組態(tài)時(shí)用戶(hù)配置了定期整理策略,則定期地對(duì)數(shù)據(jù)文 件進(jìn)行無(wú)損壓縮備份,并清理原始數(shù)據(jù)。所述步驟5)中,文件隊(duì)列的長(zhǎng)度由系統(tǒng)管理員來(lái)設(shè)定。初級(jí)壓縮過(guò)程中,1)首先要根據(jù)傳感器的測(cè)量精度來(lái)確定是否需要進(jìn)行數(shù)據(jù)平滑,當(dāng)傳感器的測(cè)量 誤差較大時(shí),則對(duì)數(shù)據(jù)塊中的噪聲點(diǎn)進(jìn)行處理,使得處理后的數(shù)據(jù)更能代表或者更接近被 測(cè)參數(shù)的實(shí)際值;數(shù)據(jù)平滑處理在科學(xué)研究中應(yīng)用廣泛,常用的方法有移動(dòng)窗口多項(xiàng)式最 小二乘擬和平滑方法,粗糙懲罰方法,以及kernel平滑方法、卡爾曼濾波法、指數(shù)平滑法、 五點(diǎn)三次平滑法、七點(diǎn)二次平滑法等。事實(shí)上無(wú)論是哪種平滑方法,平滑結(jié)果都是對(duì)每組數(shù) 據(jù)進(jìn)行的修正計(jì)算,對(duì)于比較準(zhǔn)確的數(shù)據(jù)都存在精度損失的可能。2)記錄方式過(guò)濾根據(jù)組態(tài)信息、預(yù)處理數(shù)據(jù)序列,保留下需要的數(shù)據(jù)點(diǎn)。不同的 記錄點(diǎn),其記錄的數(shù)據(jù)對(duì)應(yīng)著不同物理意義的現(xiàn)場(chǎng)信號(hào)量,如溫度、壓力、流量等,即使是物 理意義相同的信號(hào)量,信號(hào)變化快慢也存在著差異。因此,保存歷史數(shù)據(jù)時(shí)采用有針對(duì)性的 記錄方式,只在有必要的時(shí)刻才保存信息,可以有效地對(duì)采集到的數(shù)據(jù)進(jìn)行過(guò)濾,進(jìn)而減小 存儲(chǔ)的總量。記錄方式過(guò)濾的主要參數(shù)是來(lái)源于工程組態(tài)時(shí)對(duì)記錄點(diǎn)的配置,由工程人員 根據(jù)實(shí)際記錄點(diǎn)的物理意義、信號(hào)特性等信息,設(shè)置周期記錄方式的k值(對(duì)于每個(gè)記錄 點(diǎn),實(shí)際的記錄周期應(yīng)該設(shè)置為最小記錄周期的整數(shù)倍,即Ti = k · T(k = 1,2, K),k值由 用戶(hù)在工程組態(tài)時(shí)配置),或者死區(qū)記錄方式的△值(設(shè)[為某記錄點(diǎn)最近一次保存的數(shù) 據(jù)值,該記錄點(diǎn)待壓縮的數(shù)據(jù)序列為y2, K,yn_i,yn,定義一個(gè)精度值Δ,依次對(duì)序列中的 值Yi做如下比較若Yi滿(mǎn)足IyiIsI彡八,則將71保存,并記錄1 = 71;否則過(guò)濾掉71值 不予保存);初級(jí)壓縮中的所有參數(shù)是對(duì)用戶(hù)完全開(kāi)放的。所述核心壓縮包括時(shí)間戳壓縮,和針對(duì)不同數(shù)據(jù)類(lèi)型的開(kāi)關(guān)量壓縮、整型量壓縮 和模擬量壓縮;1)時(shí)間戳壓縮對(duì)于同一個(gè)記錄點(diǎn),每次對(duì)二級(jí)緩存中的一組歷史數(shù)據(jù)壓縮時(shí),完整地記錄該組 數(shù)據(jù)的起始時(shí)間戳Ts,對(duì)于其他數(shù)據(jù)的時(shí)間戳Ti,則使用“周期跨度”來(lái)表示,表達(dá)形式為T(mén)i = TJiXT式中i為一個(gè)0到255的整數(shù),表示Ti相對(duì)于起始時(shí)間Ts的“周期跨度”,T為該點(diǎn)的記錄周期;由于記錄周期T另外保存在配置文件中,一個(gè)時(shí)間戳實(shí)際上存儲(chǔ)的信息僅 為一個(gè)周期跨度i,占用1個(gè)字節(jié);同時(shí),因?yàn)椴捎昧诉@種時(shí)間戳的存儲(chǔ)方式,在內(nèi)存二級(jí)緩 存中,將單個(gè)記錄點(diǎn)的數(shù)據(jù)緩存量限制為255,也就是一個(gè)字節(jié)能夠表示的最大時(shí)間跨度;2)開(kāi)關(guān)量壓縮開(kāi)關(guān)量進(jìn)行數(shù)據(jù)量過(guò)濾時(shí),采用了變化壓縮算方法,提取時(shí)間點(diǎn)中的關(guān)鍵數(shù)據(jù)點(diǎn) 保存;3)整型量壓縮對(duì)于整型量的壓縮,采用變化壓縮算法,只保存關(guān)鍵數(shù)據(jù)點(diǎn);4)模擬量壓縮對(duì)模擬量的數(shù)據(jù)量過(guò)濾,提出了一種的自控精度SDT算法,自控精度SDT算法如 下SAE* SDT算法的壓縮精度參數(shù),其壓縮原理為起點(diǎn)、為最近一次存儲(chǔ)的 點(diǎn),以距離、為ΔΕ的上下兩點(diǎn)作為支點(diǎn),建立兩扇虛擬的門(mén),只有一個(gè)數(shù)據(jù)時(shí)門(mén)閉合;隨 著數(shù)據(jù)點(diǎn)的增加,門(mén)會(huì)旋轉(zhuǎn)著打開(kāi),門(mén)的寬度可延伸,一旦打開(kāi)就不能再閉合;只要兩扇門(mén) 的內(nèi)角和小于180° (兩扇門(mén)未平行),旋轉(zhuǎn)操作就可以繼續(xù);當(dāng)兩扇門(mén)的內(nèi)角和大于等于 180°,就停止操作,存儲(chǔ)前一數(shù)據(jù)點(diǎn),并由該點(diǎn)開(kāi)始新一段壓縮。數(shù)據(jù)壓縮過(guò)程中,計(jì)算出 實(shí)際壓縮性能與期望性能之間的偏差,根據(jù)偏差大小調(diào)整壓縮精度Δ五,并作為下一組數(shù) 據(jù)的壓縮精度,使得實(shí)際性能指標(biāo)不斷地逼近期望值。SDT算法可以理解為帶有變化趨勢(shì)判 斷的死區(qū)壓縮,壓縮精度ΔΕ決定了兩扇門(mén)達(dá)到平行時(shí)能夠容納的精度范圍,因此,SDT算 法的壓縮效果對(duì)Δ E的依賴(lài)性很大。然而該算法的Δ E是一個(gè)固定值并且需要預(yù)先設(shè)置,通 常需要豐富的經(jīng)驗(yàn)或者長(zhǎng)時(shí)間的試驗(yàn)才能夠得到合適的值,因而很多情況下ΔΕ設(shè)置與實(shí) 際數(shù)據(jù)特性不符嚴(yán)重限制了 SDT算法的性能。SDT算法是一種有損壓縮算法,即在壓縮過(guò)程 中通過(guò)丟棄一些數(shù)據(jù)來(lái)達(dá)到減少數(shù)據(jù)容量的要求。這些被丟棄的數(shù)據(jù)必須在一定范圍內(nèi)不 影響數(shù)據(jù)的恢復(fù)和重建,因此,數(shù)據(jù)的解壓縮誤差通常作為評(píng)價(jià)壓縮過(guò)程好壞的重要標(biāo)準(zhǔn)。所述步驟3)中,對(duì)數(shù)據(jù)文件的定期整理壓縮是指定期整理歷史數(shù)據(jù)壓縮區(qū),按照 組態(tài)時(shí)的配置對(duì)歷史數(shù)據(jù)文件進(jìn)行壓縮備份。本例技術(shù)方案的說(shuō)明智能樓宇能耗信息在線實(shí)時(shí)監(jiān)測(cè)現(xiàn)場(chǎng)的記錄點(diǎn)多為現(xiàn)場(chǎng)實(shí)時(shí)數(shù)據(jù),記錄點(diǎn)的數(shù)據(jù) 類(lèi)型簡(jiǎn)單而固定,只有開(kāi)關(guān)量、模擬量和整型量三種,且其時(shí)間標(biāo)簽為毫秒級(jí)。每條記錄都 是一個(gè)三元組(tagid, time, data),分別表示點(diǎn)編號(hào),數(shù)據(jù)的采集時(shí)態(tài)和采集的數(shù)據(jù)。其中tagid是智能樓宇管理系統(tǒng)中給每一個(gè)點(diǎn)分配一個(gè)唯一的id,它是由變量號(hào) (short int, 2字節(jié))、設(shè)備號(hào)(Byte,1字節(jié))、子系統(tǒng)號(hào)(Byte,1字節(jié))組合成一個(gè)int型 (4字節(jié))的統(tǒng)一編號(hào)。可容納10萬(wàn)以上的點(diǎn)。time時(shí)間標(biāo)簽用于標(biāo)識(shí)數(shù)據(jù)采集的時(shí)間。每記錄一個(gè)數(shù)據(jù),都給它打上當(dāng)前時(shí)刻 的時(shí)間標(biāo)簽。一般來(lái)說(shuō),開(kāi)關(guān)量只有當(dāng)變化了才記錄,而對(duì)于模擬量則設(shè)定一個(gè)采樣周期, 時(shí)間周期是由用戶(hù)設(shè)定的,根據(jù)系統(tǒng)的要求來(lái)選定,有的量變化慢(如溫度),可以設(shè)定它 的周期比較長(zhǎng),有的變化快,則設(shè)定的采樣周期時(shí)間短。data數(shù)據(jù)是歷史數(shù)據(jù)中最關(guān)鍵的部分,系統(tǒng)中的位號(hào)分為很多類(lèi)型,數(shù)據(jù)分為開(kāi) 關(guān)量的數(shù)據(jù)、模擬量的數(shù)據(jù)(包括浮點(diǎn)量和整型量)三種。
當(dāng)系統(tǒng)中某對(duì)象的時(shí)態(tài)屬性值發(fā)生改變時(shí),這個(gè)新值并不直接存人數(shù)據(jù)文件中, 系統(tǒng)把該值存入一級(jí)緩沖中,然后直接返回下一個(gè)任務(wù),而這些數(shù)據(jù)由后臺(tái)數(shù)據(jù)存儲(chǔ)線程 負(fù)責(zé)存入文件。設(shè)立二級(jí)緩存。一級(jí)緩存是一個(gè)數(shù)據(jù)隊(duì)列,由數(shù)據(jù)管理線程和數(shù)據(jù)存儲(chǔ)線程共享。 而二級(jí)緩存是為了防止頻繁的文件寫(xiě)入,提高數(shù)據(jù)存儲(chǔ)的效率。系統(tǒng)為每個(gè)tagid設(shè)立兩 個(gè)固定大小的緩存區(qū)(如4KB),存儲(chǔ)線程從一級(jí)緩存中取得數(shù)據(jù),并不直接寫(xiě)入文件,而是 寫(xiě)入該id對(duì)應(yīng)的緩存區(qū),只有當(dāng)某點(diǎn)對(duì)應(yīng)的緩存區(qū)已滿(mǎn)的時(shí)候,系統(tǒng)才會(huì)一次性地把該緩 存區(qū)中的所有數(shù)據(jù)轉(zhuǎn)入歷史數(shù)據(jù)壓縮區(qū)中。并將另一個(gè)緩存區(qū)成為當(dāng)前緩存區(qū),繼續(xù)接收 一級(jí)緩存的歷史數(shù)據(jù),如此交替進(jìn)行從而避免了在歷史數(shù)據(jù)壓縮保存時(shí)無(wú)法保存一級(jí)緩存 歷史數(shù)據(jù)現(xiàn)象的出現(xiàn)。為了盡可能地節(jié)省磁盤(pán)空間,我們對(duì)緩存區(qū)中的數(shù)據(jù)進(jìn)行有效的壓縮后再將其轉(zhuǎn) 存到磁盤(pán)文件。為了防止數(shù)據(jù)文件過(guò)于龐大、不利于管理,系統(tǒng)采取以文件隊(duì)列的形式來(lái)組織數(shù) 據(jù)文件,文件的長(zhǎng)度由系統(tǒng)管理員來(lái)設(shè)定,當(dāng)一個(gè)文件存滿(mǎn)后,才啟用文件隊(duì)列中下一個(gè)文 件,從而提高數(shù)據(jù)存儲(chǔ)和查詢(xún)的效率。對(duì)緩存區(qū)中的數(shù)據(jù)進(jìn)行壓縮的是一種多級(jí)壓縮策略,包括了初級(jí)壓縮、核心壓縮 兩個(gè)階段以及對(duì)數(shù)據(jù)文件的定期整理壓縮。如圖2所示,該策略可以描述為初級(jí)壓縮過(guò)程 中,數(shù)據(jù)平滑處理對(duì)數(shù)據(jù)序列中的強(qiáng)噪聲點(diǎn)進(jìn)行平滑計(jì)算,在傳感器的測(cè)量誤差較大時(shí)降 低噪聲干擾;記錄方式過(guò)濾根據(jù)組態(tài)信息、預(yù)處理數(shù)據(jù)序列,保留下需要的數(shù)據(jù)點(diǎn)。核心壓 縮過(guò)程中,首先進(jìn)行時(shí)間戳壓縮,然后根據(jù)不同的數(shù)據(jù)類(lèi)型,分別采用不同的方法進(jìn)行數(shù)據(jù) 量過(guò)濾壓縮,最后經(jīng)過(guò)數(shù)據(jù)類(lèi)型轉(zhuǎn)換步驟,完成對(duì)所有過(guò)程數(shù)據(jù)的壓縮。如果組態(tài)時(shí)用戶(hù)配 置了定期整理策略,則會(huì)定期地對(duì)數(shù)據(jù)文件進(jìn)行無(wú)損壓縮備份,并清理原始數(shù)據(jù)。數(shù)據(jù)平滑處理當(dāng)傳感器的測(cè)量誤差較大時(shí),就需要對(duì)數(shù)據(jù)塊中的噪聲點(diǎn)進(jìn)行處 理,使得處理后的數(shù)據(jù)更能代表或者更接近被測(cè)參數(shù)的實(shí)際值,這就是數(shù)據(jù)平滑過(guò)程。首先 要根據(jù)傳感器的測(cè)量精度來(lái)確定是否需要進(jìn)行數(shù)據(jù)平滑,其次是使用何種平方法,不同的 平滑方法對(duì)平滑后的數(shù)據(jù)結(jié)果有一定影響。不同的記錄點(diǎn),其記錄的數(shù)據(jù)對(duì)應(yīng)著不同物理意義的現(xiàn)場(chǎng)信號(hào)量,如溫度、壓力、 流量等,即使是物理意義相同的信號(hào)量,信號(hào)變化快慢也存在著差異。因此,保存歷史數(shù)據(jù) 時(shí)采用有針對(duì)性的記錄方式,只在有必要的時(shí)刻才保存信息,可以有效地對(duì)采集到的數(shù)據(jù) 進(jìn)行過(guò)濾,進(jìn)而減小存儲(chǔ)的總量。記錄方式過(guò)濾的主要參數(shù)是來(lái)源于于工程組態(tài)時(shí)對(duì)記錄 點(diǎn)的配置,由工程人員根據(jù)實(shí)際記錄點(diǎn)的物理意義、信號(hào)特性等信息,設(shè)置周期記錄方式的 k值,或者死區(qū)記錄方式的△值??梢?jiàn),記錄方式過(guò)濾的壓縮效果對(duì)組態(tài)人員的工程經(jīng)驗(yàn)有 著較多的依賴(lài),因此,本級(jí)壓縮中的所有參數(shù)是對(duì)用戶(hù)完全開(kāi)放的。核心壓縮工業(yè)的歷史數(shù)據(jù)是基于時(shí)間序列的數(shù)據(jù),數(shù)據(jù)量會(huì)隨著時(shí)間的推移不 斷地增加。對(duì)歷史數(shù)據(jù)庫(kù)的要求是所記錄的歷史數(shù)據(jù)必須能夠反映出系統(tǒng)在一系列時(shí)刻的 狀態(tài),因此時(shí)間戳與數(shù)據(jù)值必須嚴(yán)格對(duì)應(yīng)地記錄。在核心壓縮過(guò)程中,首先解決時(shí)間戳壓縮 的問(wèn)題。另外,為了提高歷史數(shù)據(jù)庫(kù)系統(tǒng)的效率,便于統(tǒng)一管理,在內(nèi)存緩存中的歷史數(shù)據(jù) 統(tǒng)一按照4字節(jié)進(jìn)行暫存,此時(shí)并沒(méi)有考慮信號(hào)點(diǎn)的實(shí)際數(shù)據(jù)類(lèi)型。因而在數(shù)據(jù)的核心壓 縮階段,進(jìn)行數(shù)據(jù)壓縮和存儲(chǔ)格式轉(zhuǎn)換是必不可少的過(guò)程。需要說(shuō)明的是,在這個(gè)過(guò)程中,將減少采樣數(shù)據(jù)序列中冗余數(shù)據(jù)的過(guò)程,稱(chēng)為數(shù)據(jù)量過(guò)濾。數(shù)據(jù)量過(guò)濾是根據(jù)開(kāi)關(guān)量、整型 量和模擬量三類(lèi)不同信號(hào)的特點(diǎn),分別設(shè)計(jì)了有針對(duì)性的壓縮方法,下文將詳細(xì)分析該過(guò) 程使用的壓縮方法。三種信號(hào)類(lèi)型的數(shù)據(jù)在實(shí)際存儲(chǔ)中又對(duì)應(yīng)著三種不同的C什數(shù)據(jù)類(lèi) 型,分別為char,int和float,將上述數(shù)據(jù)類(lèi)型占用的存儲(chǔ)空間減小的過(guò)程,稱(chēng)為數(shù)據(jù)位精簡(jiǎn)。時(shí)間戳壓縮對(duì)于同一個(gè)記錄點(diǎn),每次對(duì)二級(jí)緩存中的一組歷史數(shù)據(jù)壓縮時(shí),完整地記錄該組 數(shù)據(jù)的起始時(shí)間戳Ts,對(duì)于其他數(shù)據(jù)的時(shí)間戳Ti,則使用“周期跨度”來(lái)表示,表達(dá)形式為T(mén)i = TJiXT式中i為一個(gè)0到255的整數(shù),表示Ti相對(duì)于起始時(shí)間Ts的“周期跨度”,T為該 點(diǎn)的記錄周期(精度記錄方式下,該周期等于系統(tǒng)的掃描周期1秒)。由于記錄周期T另 外保存在配置文件中,這樣一來(lái),一個(gè)時(shí)間戳實(shí)際上存儲(chǔ)的信息僅為一個(gè)周期跨度i,占用 1個(gè)字節(jié),極大降低了存儲(chǔ)空間的占用。同時(shí),因?yàn)椴捎昧诉@種時(shí)間戳的存儲(chǔ)方式,在內(nèi)存二 級(jí)緩存中,將單個(gè)記錄點(diǎn)的數(shù)據(jù)緩存量限制為255,也就是一個(gè)字節(jié)能夠表示的最大時(shí)間跨 度。需要指出的是,在實(shí)際保存到文件中時(shí),一組數(shù)據(jù)中連續(xù)數(shù)據(jù)點(diǎn)的i值并不一定是連續(xù) 遞增的整數(shù)。因?yàn)榻?jīng)過(guò)了數(shù)據(jù)量過(guò)濾壓縮后,實(shí)際存儲(chǔ)的數(shù)據(jù)點(diǎn)所對(duì)應(yīng)的時(shí)間戳是無(wú)規(guī)律 的。開(kāi)關(guān)量壓縮開(kāi)關(guān)量信號(hào)點(diǎn)只有0和1兩種狀態(tài),其數(shù)據(jù)值是跳變的,而不是連續(xù)性地變化。另 外,在工業(yè)現(xiàn)場(chǎng),有相當(dāng)一部分的開(kāi)關(guān)量數(shù)據(jù)在特定甚至很長(zhǎng)的時(shí)間段內(nèi)狀態(tài)不發(fā)生變化, 因此,本文在對(duì)開(kāi)關(guān)量進(jìn)行數(shù)據(jù)量過(guò)濾時(shí)采用了變化壓縮算法。如圖3,時(shí)間點(diǎn)分別應(yīng) 著開(kāi)關(guān)量值1,0,0,0,1,0,0,根據(jù)變化壓縮算法提取、,、,、,、時(shí)刻的關(guān)鍵數(shù)據(jù)點(diǎn)保存,而 t2,t3,t6時(shí)刻的數(shù)據(jù)值丟棄不保存。這樣,在嚴(yán)格保證數(shù)據(jù)序列準(zhǔn)確性的同時(shí),實(shí)現(xiàn)了數(shù)據(jù) 量的過(guò)濾。開(kāi)關(guān)量在實(shí)際存儲(chǔ)時(shí)使用了 char這種數(shù)據(jù)類(lèi)型,占用了 1個(gè)字節(jié)的存儲(chǔ)空間, 而實(shí)際上表示一個(gè)開(kāi)關(guān)量只需要1位,因此對(duì)于經(jīng)過(guò)變化壓縮算法過(guò)濾后的開(kāi)關(guān)量數(shù)據(jù), 要進(jìn)行數(shù)據(jù)位精簡(jiǎn)。在使用C 一編程時(shí)最小的操作單位是1個(gè)字節(jié)而并非1位,因此,開(kāi)關(guān) 量在精簡(jiǎn)時(shí)采用了移位的方法,將8個(gè)開(kāi)關(guān)量數(shù)據(jù)存放于1個(gè)字節(jié)的不同位置,讀數(shù)據(jù)時(shí)同 樣通過(guò)移位操作取出。進(jìn)行移位操作雖然增加了數(shù)據(jù)管理的負(fù)擔(dān),對(duì)數(shù)據(jù)的讀取速度也有 一定影響,但是該壓縮方法成功地將開(kāi)關(guān)量的存儲(chǔ)空間降到了最小,并保證了 8 1的高壓 縮比,綜合考慮,上述的影響是可以接受的.整型量壓縮整型量信號(hào)點(diǎn)的歷史數(shù)據(jù)具有一定的特殊性,它們通常是將一系列的開(kāi)關(guān)量組合 記錄,存儲(chǔ)時(shí)占用4個(gè)字節(jié)(32位),每一位的數(shù)據(jù)都有著嚴(yán)格的意義,因此不允許出現(xiàn)任何 誤差。對(duì)于整型量的壓縮,只進(jìn)行一步數(shù)據(jù)量過(guò)濾,處理方法與開(kāi)關(guān)量相同,采用變化壓縮 算法,只保存關(guān)鍵數(shù)據(jù)點(diǎn),此處不再贅述。數(shù)據(jù)量過(guò)濾后就不再進(jìn)行數(shù)據(jù)位精簡(jiǎn),直接將需 要保存的數(shù)據(jù)按照4字節(jié)大小存儲(chǔ)到數(shù)據(jù)文件中。模擬量壓縮模擬量信號(hào)是工業(yè)歷史數(shù)據(jù)庫(kù)存儲(chǔ)的主要信號(hào)類(lèi)型,也是數(shù)據(jù)量最多、信號(hào)復(fù)雜 度最高、壓縮難度最大的信號(hào)類(lèi)型,本文研究的重點(diǎn)在于對(duì)模擬量的數(shù)據(jù)量過(guò)濾,提出了一種的自控精度SDT算法。模擬量信號(hào)點(diǎn)的數(shù)據(jù),在實(shí)際存儲(chǔ)時(shí)使用4字節(jié)的float類(lèi)型,即 單精度浮點(diǎn)數(shù)存儲(chǔ)。定期整理壓縮定期整理是按照組態(tài)時(shí)的配置對(duì)歷史數(shù)據(jù)文件進(jìn)行壓縮備份,一 方面保證數(shù)據(jù)的安全性,另一方面可以清理硬盤(pán)空間,提高歷史數(shù)據(jù)庫(kù)的運(yùn)行效率。本級(jí)文件整理壓縮采用的是無(wú)損壓縮技術(shù)。對(duì)歷史數(shù)據(jù)壓縮的復(fù)雜程度與解壓 耗時(shí)是相互制約的關(guān)系,在定期整理策略的設(shè)計(jì)上要根據(jù)不同歷史數(shù)據(jù)文件的應(yīng)用需求與 特點(diǎn),權(quán)衡兩者的關(guān)系,選擇合理的策略進(jìn)行數(shù)據(jù)的壓縮。對(duì)于工業(yè)現(xiàn)場(chǎng)的備份數(shù)據(jù),在追 溯歷史信息、分析故障等特定應(yīng)用時(shí)才需要解壓查詢(xún)。雖然備份數(shù)據(jù)不需要經(jīng)常地查詢(xún)使 用,但要保證其時(shí)間跨度上的完整性,即要求涵蓋系統(tǒng)運(yùn)行以來(lái)幾乎每個(gè)時(shí)間段上的現(xiàn)場(chǎng) 數(shù)據(jù),數(shù)據(jù)量巨大。因此,對(duì)于備份數(shù)據(jù),可以適當(dāng)?shù)貭奚鈮汉臅r(shí)來(lái)?yè)Q取高的壓縮比。相 反,對(duì)于需要經(jīng)常查詢(xún)的近期數(shù)據(jù)文件或者關(guān)鍵數(shù)據(jù)文件,查詢(xún)性能是至關(guān)重要的。過(guò)于繁 瑣的壓縮步驟會(huì)直接影響到數(shù)據(jù)的解壓縮效率,解壓時(shí)間過(guò)長(zhǎng)將使得歷史數(shù)據(jù)庫(kù)的查詢(xún)性 能讓人難以接受。在本方法的壓縮策略設(shè)計(jì)中,數(shù)據(jù)的實(shí)時(shí)壓縮是以工業(yè)數(shù)據(jù)為對(duì)象的壓縮過(guò)程, 此時(shí)并未采用二次無(wú)損壓縮技術(shù),即磁盤(pán)數(shù)據(jù)文件中的數(shù)據(jù)都是沒(méi)有經(jīng)過(guò)無(wú)損壓縮的。歷 史數(shù)據(jù)庫(kù)僅在數(shù)據(jù)定期整理時(shí)采用無(wú)損壓縮技術(shù),獨(dú)立于在線壓縮完成。定期整理為多級(jí) 壓縮策略的最后一個(gè)步驟,當(dāng)歷史數(shù)據(jù)文件存儲(chǔ)到一定量,如一個(gè)星期或者一個(gè)月時(shí),會(huì)在 新的進(jìn)程中以數(shù)據(jù)文件為對(duì)象,進(jìn)行無(wú)損壓縮,采用標(biāo)準(zhǔn)的LZW算法,不對(duì)數(shù)據(jù)的準(zhǔn)確性造 成任何影響。
權(quán)利要求
1.一種智能樓宇中海量能耗信息的壓縮方法,步驟如下1)先對(duì)樓宇中個(gè)監(jiān)測(cè)端的數(shù)據(jù)進(jìn)行采集,對(duì)于采集得到的數(shù)據(jù),設(shè)智能樓宇能耗信息 在線實(shí)時(shí)監(jiān)測(cè)現(xiàn)場(chǎng)的記錄點(diǎn)每條記錄為一個(gè)三元組(tagid,time, data),分別表示點(diǎn)編號(hào)、 數(shù)據(jù)的采集時(shí)態(tài)和采集的數(shù)據(jù);2)當(dāng)某記錄點(diǎn)的時(shí)態(tài)屬性值發(fā)生改變時(shí),對(duì)應(yīng)的新數(shù)據(jù)存入一級(jí)緩存中,然后直接返 回下一個(gè)任務(wù),這些新數(shù)據(jù)由后臺(tái)數(shù)據(jù)存儲(chǔ)線程存入文件;所述一級(jí)緩存是一個(gè)數(shù)據(jù)隊(duì)列,由數(shù)據(jù)管理線程和數(shù)據(jù)存儲(chǔ)線程共享;3)設(shè)立二級(jí)緩存對(duì)應(yīng)每個(gè)tagid設(shè)有兩個(gè)固定大小的緩存區(qū),存儲(chǔ)線程從一級(jí)緩存中取得數(shù)據(jù),寫(xiě)入 該id對(duì)應(yīng)的緩存區(qū);當(dāng)某點(diǎn)對(duì)應(yīng)的緩存區(qū)已滿(mǎn)的時(shí)候,一次性地把該緩存區(qū)中的所有數(shù)據(jù) 轉(zhuǎn)入歷史數(shù)據(jù)壓縮區(qū)中,并將另一個(gè)緩存區(qū)變?yōu)楫?dāng)前緩存區(qū),繼續(xù)接收一級(jí)緩存的歷史數(shù) 據(jù),如此交替進(jìn)行;4)設(shè)置歷史數(shù)據(jù)壓縮區(qū),并在該壓縮區(qū)中,對(duì)步驟3)的緩存區(qū)中的數(shù)據(jù)進(jìn)行壓縮后再 將其轉(zhuǎn)存到磁盤(pán)文件;5)采用文件隊(duì)列的形式來(lái)組織數(shù)據(jù)文件,當(dāng)一個(gè)文件存滿(mǎn)后,才啟用文件隊(duì)列中下一 個(gè)文件;6)當(dāng)壓縮完成后,把壓縮后的數(shù)據(jù)存入存儲(chǔ)器中,供所需用戶(hù)端調(diào)用。
2.根據(jù)權(quán)利要求1所述的智能樓宇中海量能耗信息的壓縮方法,其特征是所述步驟4) 中,對(duì)步驟3)的緩存區(qū)中的數(shù)據(jù)進(jìn)行壓縮,是一種多級(jí)壓縮策略,包括了初級(jí)壓縮、核心壓 縮兩個(gè)階段以及對(duì)數(shù)據(jù)文件的定期整理壓縮;初級(jí)壓縮過(guò)程中,a)先由數(shù)據(jù)平滑處理對(duì)數(shù)據(jù)序列中的強(qiáng)噪聲點(diǎn)進(jìn)行平滑處理;b)再 由記錄方式過(guò)濾根據(jù)組態(tài)信息、預(yù)處理數(shù)據(jù)序列,保留下需要的數(shù)據(jù)點(diǎn);核心壓縮過(guò)程中,首先進(jìn)行時(shí)間戳壓縮,然后根據(jù)不同的數(shù)據(jù)類(lèi)型,分別采用不同的方 法進(jìn)行數(shù)據(jù)量過(guò)濾壓縮,最后經(jīng)過(guò)數(shù)據(jù)類(lèi)型轉(zhuǎn)換,完成對(duì)所有過(guò)程數(shù)據(jù)的壓縮。
3.根據(jù)權(quán)利要求2所述的智能樓宇中海量能耗信息的壓縮方法,其特征是所述核心壓 縮過(guò)程中,如果組態(tài)時(shí)用戶(hù)配置了定期整理策略,則定期地對(duì)數(shù)據(jù)文件進(jìn)行無(wú)損壓縮備份, 并清理原始數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的智能樓宇中海量能耗信息的壓縮方法,其特征是所述步驟5) 中,文件隊(duì)列的長(zhǎng)度由管理員設(shè)定。
5.根據(jù)權(quán)利要求3所述的智能樓宇中海量能耗信息的壓縮方法,其特征是所述初級(jí)壓 縮過(guò)程中,初級(jí)壓縮過(guò)程中,先由數(shù)據(jù)平滑處理對(duì)數(shù)據(jù)序列中的強(qiáng)噪聲點(diǎn)進(jìn)行平滑處理;再 由記錄方式過(guò)濾根據(jù)組態(tài)信息、預(yù)處理數(shù)據(jù)序列,保留下需要的數(shù)據(jù)點(diǎn);1)對(duì)a)中,根據(jù)傳感器的測(cè)量精度來(lái)確定是否需要進(jìn)行數(shù)據(jù)平滑,當(dāng)傳感器的測(cè)量誤 差較大時(shí),則對(duì)數(shù)據(jù)塊中的噪聲點(diǎn)進(jìn)行處理,使得處理后的數(shù)據(jù)更能代表或者更接近被測(cè) 參數(shù)的實(shí)際值;數(shù)據(jù)平滑的方法包括移動(dòng)窗口多項(xiàng)式最小二乘擬和平滑方法、粗糙懲罰方 法,kernel平滑方法、卡爾曼濾波法、指數(shù)平滑法、五點(diǎn)三次平滑法或七點(diǎn)二次平滑法;2)對(duì)于b)中,記錄方式過(guò)濾是指,保存歷史數(shù)據(jù)時(shí),只在有必要的時(shí)刻才保存信息;記 錄方式過(guò)濾的主要參數(shù)是來(lái)源于工程組態(tài)時(shí)對(duì)記錄點(diǎn)的配置,由工程人員根據(jù)實(shí)際記錄點(diǎn) 的物理意義、信號(hào)特性等信息,設(shè)置周期記錄方式的k值,或者死區(qū)記錄方式的△值;初級(jí)壓縮中的所有參數(shù)是對(duì)用戶(hù)完全開(kāi)放的;對(duì)于所述k值,對(duì)于每個(gè)記錄點(diǎn),實(shí)際的記錄周期應(yīng)該設(shè)置為最小記錄周期的整數(shù)倍, 即Ti = k · T,k = 1,2,K,k值由用戶(hù)在工程組態(tài)時(shí)配置;對(duì)于所述△值,設(shè)ys為某記錄點(diǎn)最近一次保存的數(shù)據(jù)值,該記錄點(diǎn)待壓縮的數(shù)據(jù)序 列為y2,κ, yn_i,yn,定義一個(gè)精度值Δ,依次對(duì)序列中的值yi做如下比較Syi滿(mǎn)足 Yi-Ys I彡Δ,則將yi保存,并記錄ys = Yi ;否則過(guò)濾掉yi值不予保存。
6.根據(jù)權(quán)利要求2所述的智能樓宇中海量能耗信息的壓縮方法,其特征是所述核心壓 縮包括時(shí)間戳壓縮,和針對(duì)不同數(shù)據(jù)類(lèi)型的開(kāi)關(guān)量壓縮、整型量壓縮和模擬量壓縮;1)時(shí)間戳壓縮對(duì)于同一個(gè)記錄點(diǎn),每次對(duì)二級(jí)緩存中的一組歷史數(shù)據(jù)壓縮時(shí),完整地記錄該組數(shù)據(jù) 的起始時(shí)間戳Ts,對(duì)于其他數(shù)據(jù)的時(shí)間戳Ti,則使用“周期跨度”來(lái)表示,表達(dá)形式為T(mén)i = Ts+iXT式中i為一個(gè)0到255的整數(shù),表示Ti相對(duì)于起始時(shí)間Ts的“周期跨度”,T為該點(diǎn)的記 錄周期;由于記錄周期T另外保存在配置文件中,一個(gè)時(shí)間戳實(shí)際上存儲(chǔ)的信息僅為一個(gè) 周期跨度i,占用1個(gè)字節(jié);同時(shí),因?yàn)椴捎昧诉@種時(shí)間戳的存儲(chǔ)方式,在內(nèi)存二級(jí)緩存中, 將單個(gè)記錄點(diǎn)的數(shù)據(jù)緩存量限制為255,也就是一個(gè)字節(jié)能夠表示的最大時(shí)間跨度;2)開(kāi)關(guān)量壓縮開(kāi)關(guān)量進(jìn)行數(shù)據(jù)量過(guò)濾時(shí),采用了變化壓縮算方法,提取時(shí)間點(diǎn)中的關(guān)鍵數(shù)據(jù)點(diǎn)保存;3)整型量壓縮對(duì)于整型量的壓縮,采用變化壓縮算法,只保存關(guān)鍵數(shù)據(jù)點(diǎn);4)模擬量壓縮對(duì)模擬量的數(shù)據(jù)量過(guò)濾,提出了一種的自控精度SDT算法;自控精度SDT算法如下設(shè)ΔΕ為SDT算法的壓縮精度參數(shù),其壓縮過(guò)程為起點(diǎn)、為最近一次存儲(chǔ)的點(diǎn),以距 離t(l為ΔΕ的上下兩點(diǎn)作為支點(diǎn),建立兩扇虛擬的門(mén),只有一個(gè)數(shù)據(jù)時(shí)門(mén)閉合;隨著數(shù)據(jù)點(diǎn) 的增加,門(mén)會(huì)旋轉(zhuǎn)著打開(kāi),門(mén)的寬度可延伸,一旦打開(kāi)就不能再閉合;只要兩扇門(mén)的內(nèi)角和 小于180°即兩扇門(mén)未平行,旋轉(zhuǎn)操作就可以繼續(xù);當(dāng)兩扇門(mén)的內(nèi)角和大于等于180°,就 停止操作,存儲(chǔ)前一數(shù)據(jù)點(diǎn),并由該點(diǎn)開(kāi)始新一段壓縮;數(shù)據(jù)壓縮過(guò)程中,計(jì)算出實(shí)際壓縮性能與期望性能之間的偏差,根據(jù)偏差大小調(diào)整壓 縮精度ΔΕ,并作為下一組數(shù)據(jù)的壓縮精度,使得實(shí)際性能指標(biāo)不斷地逼近期望值。
7.根據(jù)權(quán)利要求1所述的智能樓宇中海量能耗信息的壓縮方法,其特征是所述步驟3) 中,對(duì)數(shù)據(jù)文件的定期整理壓縮是指定期整理歷史數(shù)據(jù)壓縮區(qū),按照組態(tài)時(shí)的配置對(duì)歷史 數(shù)據(jù)文件進(jìn)行壓縮備份。
全文摘要
一種智能樓宇中海量能耗信息的壓縮方法,步驟如下1)先對(duì)樓宇中個(gè)監(jiān)測(cè)端的數(shù)據(jù)進(jìn)行采集,對(duì)于采集得到的數(shù)據(jù)的記錄點(diǎn)每條記錄為一個(gè)三元組(tagid,time,data);2)當(dāng)某記錄點(diǎn)的時(shí)態(tài)屬性值發(fā)生改變時(shí),對(duì)應(yīng)的新數(shù)據(jù)存入一級(jí)緩存中,然后直接返回下一個(gè)任務(wù),這些新數(shù)據(jù)由后臺(tái)數(shù)據(jù)存儲(chǔ)線程存入文件;3)設(shè)立二級(jí)緩存;4)設(shè)置歷史數(shù)據(jù)壓縮區(qū),并在該壓縮區(qū)中對(duì)緩存區(qū)中的數(shù)據(jù)進(jìn)行壓縮后再將其轉(zhuǎn)存到磁盤(pán)文件;5)采用文件隊(duì)列的形式來(lái)組織數(shù)據(jù)文件,當(dāng)一個(gè)文件存滿(mǎn)后,才啟用文件隊(duì)列中下一個(gè)文件;6)當(dāng)壓縮完成后,把壓縮后的數(shù)據(jù)存入存儲(chǔ)器中,供所需用戶(hù)端調(diào)用。
文檔編號(hào)H03M7/30GK102006081SQ201010567749
公開(kāi)日2011年4月6日 申請(qǐng)日期2010年12月1日 優(yōu)先權(quán)日2010年12月1日
發(fā)明者張廣明, 徐楠, 李為相, 路宏偉 申請(qǐng)人:南京工業(yè)大學(xué)