[發明專利]一種基于列式存儲技術的實時數據壓縮方法有效
| 申請號: | 201710346825.2 | 申請日: | 2017-05-15 |
| 公開(公告)號: | CN107193925B | 公開(公告)日: | 2019-09-20 |
| 發明(設計)人: | 黃永忠;徐兵;張建強;曹福國 | 申請(專利權)人: | 浙江正泰中自控制工程有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/21 |
| 代理公司: | 北京維正專利代理有限公司 11508 | 代理人: | 曹曉斐 |
| 地址: | 310018 浙江省杭*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 存儲 技術 實時 數據壓縮 算法 | ||
本發明公開了一種基于列式存儲技術的實時數據壓縮方法,本發明的方法對于一個具體的列包里的序列,完成了可變步距計算公式的試算和評估,以及覆蓋單元計算公式的搜索和參數計算,將可壓縮劃分內的實時數據列包進行壓縮,從而解決了存儲空間占用巨大的問題,減少硬件部署數量,小型化部署環境,節省部署成本,本發明能夠實現實時、高頻度、大數據量的數據壓縮存儲,大大減少存儲空間占用的問題。
技術領域
本發明涉及數據壓縮技術領域,特別涉及一種基于列式存儲技術的實時數據壓縮方法。
背景技術
實時數據庫的數據結構設計,將其劃分為內存和磁盤兩個部分,其中磁盤部分又分為短期歷史和長期歷史兩個部分。內存部分和磁盤部分都是列式存儲結構,只是存儲的物理位置不同。短期歷史部分與長期歷史部分的區別是,前者未進行數據壓縮,而后者進行了數據壓縮。
對于內存部分,我們所采取的是讀寫分離技術。這種技術為數據讀寫分別分配兩種內存緩沖區。其中讀區域只能用來讀出數據,不能寫入數據;寫區域只能用來寫入數據,不能讀出數據。寫區域是數個輪番寫入數據的內存緩沖區。讀區域則是一個內存區塊的鏈接表,由寫滿數據的寫區域轉化而來。對于數據讀取專門進行了緩存策略優化。
數據壓縮的策略就是,只對長期歷史部分進行壓縮,而對短期歷史部分不進行壓縮。這是因為從用戶需求來看,短期歷史數據相較于長期歷史數據仍然可能被程序頻繁讀取,因此不進行數據壓縮可以避免查詢時的效率損耗。在目前主流硬盤規格條件下,(不壓縮的)短期歷史部分的數據量是可以接受的。對此,主薦的磁盤類型是固態硬盤(SSD),可實現高性能的讀寫操作。
列式存儲技術將數據按列包存儲,每個數據包內都是同構數據,內容相關性高,存在被高度壓縮的基礎。在具體的壓縮算法中,目前使用最廣泛的是旋轉門算法(SDT)。
旋轉門算法比較擅長于壓縮存在較多具有同一變化趨勢的數據段的實時數據,但是對于以鋸齒狀為主的實時數據,壓縮效率就比較低。究其原因,旋轉門算法是一種線性擬合算法,而從工業設備采集的測量數據,很少是線性的。其背后的原因,決定現實中物理量變化的因素是多方面的,而且以非線性為主。
發明內容
本發明的目的是提供一種基于列式存儲技術的實時數據壓縮算法,對于一個具體的列包里的序列,完成了可變步距計算公式的試算和評估。
本發明的上述技術目的是通過以下技術方案得以實現的:
一種基于列式存儲技術的實時數據壓縮方法,所述方法包括下述步驟,
(1)讀入實時數據列包Xi,i=1,2,...,n,Xi為第i個對應的數據值;
(2)設△F為精度值,若對于列包中的序列Xi(a≤i≤b),有定義在[Ta,Tb]上的函數Fi=f(Ti),使得:
|Xi-Fi|≤△F
|X(a-1)-F(a-1)|>△F
|X(n+1)-F(n+1)|>△F
則稱區間[Ta,Tb]為對于f(Ti)和△F的可壓縮區間,稱Fi=f(Ti)為Xi的一個覆蓋函數;
所有覆蓋函數都被事先賦予一個代碼fid;在精度△F的意義上,用fid、f(Ti)的所有參數值以及a、b來替代可壓縮區間內的所有Xi,實現數據壓縮;
(3)對下標i賦予一個可變性,以下述函數表達:
i=S(j) (i,j∈{0}∪N)
S(j)稱為一個劃分函數,對應于其值域的集合{Ti|i=S(j)}稱為一個劃分,記為Γ(S);
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江正泰中自控制工程有限公司,未經浙江正泰中自控制工程有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710346825.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種高性能環保拖鞋
- 下一篇:一種使用手機拍照掃描生成腳部模型及數據的方法





