【技術實現步驟摘要】
本專利技術涉及數據壓縮領域,具體為一種X-BIT壓縮編碼算法。
技術介紹
實時數據庫廣泛應用于電力、電信、鋼鐵、石油化工、裝備制造等領域,主要用于存儲工業生產過程中測量點數據(包括點ID、值、時間戳、點狀態),負責實時數據(當前測量點值)的讀寫和歷史數據(過去的值)讀取,是一種時序數據,它的主要特點是短時間內數據值相差不大。對于歷史數據的壓縮,一般使用的以字符為依據的通用壓縮算法(如ZIP、RAR等)是無法達到理解效果的,有時壓縮的結果可能比未壓縮前更占空間 大。目前在業內使用最多的兩種實時數據壓縮算法是PI使用的旋轉門壓縮算法和EDNA使用的霍夫曼壓縮算法。旋轉門壓縮算法的壓縮比高,但它是有損壓縮,數據有失真,對于某些高精度的要求無法滿足。哈夫曼壓縮算法是編碼壓縮的一種,通過構造哈夫曼樹來實現編碼和壓縮,哈夫曼壓縮算法屬于無損壓縮,但是要想得到較高的壓縮率,需要進行一些特殊的處理。以EDNA為例,雖然它通過一些特殊的處理提高了壓縮比,但確犧牲了歷史數據的檢索效率?,F有技術還存在以下缺點1、目前使用的按字節壓縮(如ZIP、RAR、霍夫曼)主要缺點是壓縮率比較低,對二進制數據壓縮,壓縮率更低。2、有損壓縮(旋轉門)雖然壓縮率比較高,但是數據有一定的失真。
技術實現思路
本專利技術所解決的技術問題在于提供一種X-BIT壓縮編碼算法,以解決實時數據庫中,歷史數據壓縮問題,保證了數據不失真的情況下,提高數據的壓縮率,減少磁盤的占用,提高海量數據存儲能力。本專利技術所解決的技術問題采用以下技術方案來實現 X-BIT壓縮編碼算法,具體壓縮過程如下 (1)數據準備并轉換數據在 ...
【技術保護點】
X?BIT壓縮編碼算法,其特征是:具體壓縮過程如下:(1)數據準備并轉換:數據在經過實時服務處理后,時間戳將轉換成以秒為單位的UTC時間,每條記錄用13個字節來存儲原始數據;(2)時間差分:對存儲的原始數據進行時間差分處理;(3)值排序:采用快速排序算法對時間差分處理后的數據進行值排序;(4)計算序號最大位數:計算出最大序號的最小二進制位;(5)生成序號壓縮流:根據第(4)步計算出的序號最大位數,將序號寫入緩存流中;(6)生成狀態壓縮流:通過分析狀態數據的重復率來決定采用的壓縮方案;目前的設置是,當有1/3的狀態相同時,采用重復計數法進行壓縮;否則,采用按位壓縮法;重復計數法:在進行狀態數據分析的同時,將生成一張二維表,記錄了每一段重復狀態的索引位置和重復數,壓縮方案標志占1個位,表示后續壓縮數據的壓縮方案,在解壓時會根據該標志來自動選擇解壓方案;重復次數使用第(4)步中計算的序號最大位數來存儲;接下來的3個位存儲狀態值;按位壓縮法:以3位為標準來存儲狀態值;(7)生成時差壓縮流:通過分析時差數據的重復率來決定采用的壓縮方案;目前的設置是,當有1/2的時差相同時,采用重復計數法進行壓縮 ...
【技術特征摘要】
1.X-BIT壓縮編碼算法,其特征是具體壓縮過程如下 (1)數據準備并轉換數據在經過實時服務處理后,時間戳將轉換成以秒為單位的UTC時間,每條記錄用13個字節來存儲原始數據; (2)時間差分對存儲的原始數據進行時間差分處理; (3)值排序采用快速排序算法對時間差分處理后的數據進行值排序; (4)計算序號最大位數計算出最大序號的最小二進制位; (5)生成序號壓縮流根據第(4)步計算出的序號最大位數,將序號寫入緩存流中; (6)生成狀態壓縮流通過分析狀態數據的重復率來決定采用的壓縮方案;目前的設置是,當有1/3的狀態相同時,采用重復計數法進行壓縮;否則,采用按位壓縮法; 重復計數法在進行狀態數據分析的同時,將生成一張二維表,記錄了每一段重復狀態的索引位置和重復數,壓縮方案標志占I個位,表示后續壓縮數據的壓縮方案,在解壓時會根據該標志來自動選擇解壓方案;重復次數使用第(4)步中計算的序號最大位數來存儲;接下來的3個位存儲狀態值; 按位壓縮法以3位為標準來存儲狀態值; (7)生成時差壓縮流通過分析時差數據的重復率來決定采用的壓縮方案;目前的設置是,當有1/2的時差相同時,采用重復計數法進行壓縮;否則,采用按位壓縮法; 重復計數法在對時差數據進行分析的同時,將生成一張二維表,記錄了每一段重復時差的索引位置和重復數;時間的第一記錄值保...
【專利技術屬性】
技術研發人員:劉有志,唐新華,羅文理,李志金,諶志東,劉克勤,
申請(專利權)人:湖南大唐先一科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。