[發明專利]一種實時數據無損壓縮方法及系統無效
| 申請號: | 201110374947.5 | 申請日: | 2011-11-22 |
| 公開(公告)號: | CN103138764A | 公開(公告)日: | 2013-06-05 |
| 發明(設計)人: | 盧學東;楊永軍;孫益;程相杰;張旭;田興東;吳景彪 | 申請(專利權)人: | 上海麥杰科技股份有限公司 |
| 主分類號: | H03M7/30 | 分類號: | H03M7/30 |
| 代理公司: | 上海精晟知識產權代理有限公司 31253 | 代理人: | 何新平 |
| 地址: | 200233 上海市徐匯*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實時 數據 無損 壓縮 方法 系統 | ||
技術領域
本發明涉及實時數據無損壓縮方法及系統,具體是一種針對實時數據庫經有損壓縮處理后的無損壓縮方法及系統。?
背景技術
實時數據庫(RTDB-Real?Time?DataBase)是數據庫系統發展的一個分支,是數據庫技術結合實時處理技術產生的。實時數據庫可用于工廠流程的自動采集、儲存和監視,可在線儲存每個工藝過程點的多年數據,可以提供清晰、精確的操作情況畫面,用戶既可瀏覽工廠當前的生產情況,也可回顧過去的生產情況,可以說,實時數據庫對于流程工業系統來說就如同飛機上的“黑匣子”。然而隨著工業技術的發展,現在的大型過程控制系統的實時數據種類繁多,來源復雜,更新速度快,精度要求高,要保存的歷史數據量非常大。因而如果將這些數據直接儲存,會占用非常大的存儲空間,還會對數據的傳輸、備份、分析造成困難。所以實時數據庫系統急需引入數據壓縮技術。?
實時數據壓縮技術可以分為兩大類,分別是有損壓縮和無損壓縮。大部分實時數據庫系統會先對數據進行有損壓縮,再使用無損壓縮算法進行二次壓縮,以達到更大的壓縮率。目前比較通用的有損壓縮算法主要有兩種,第一種是死區壓縮算法,這種算法較為簡單,它將采集的數據根據預定義的死區進行比較,如果該數據在死區外則記錄該數值,否則濾去該數值;另一種是由美國OSI公司研發的旋轉門?壓縮算法(SDT),此算法已經成功的運用在了PI實時數據庫系統中,此算法主要針對的對象是浮點數據類型的數據,其本質是通過一條由起點到終點確定的直線代替一些連續數據點。?
實時數據無損壓縮算法很多源自通用無損壓縮算法,包括PPM算法、BWT算法和LZ系列算法等。PPM算法和BWT算法壓縮率較高,但是這兩種壓縮算法耗費的壓縮和解壓縮時間比較長,不滿足實時數據庫的要求。而LZ系列算法較為簡單,壓縮時間更短,擴展性更強,因此本發明選擇對LZ系列算法中的LZ77算法進行改進。如圖1所示,LZ77算法又被稱為“滑動窗口壓縮算法”,這是由于該算法維護一個虛擬的,可以跟隨壓縮進程滑動的窗口,這個窗口中的內容即是最近的歷史數據,要壓縮的字符串如果在該窗口中出現,則輸出其長度和出現的位置。而本發明對LZ77的改進主要在于處理匹配字符串長度及位置的方式。?
Wenjun,Huang等人在2006年的The?Sixth?World?Congress?onIntelligent?Control?and?Automation(第六屆世界智能控制和自動化會議)上發表的論文《A?Lossless?Data?Compression?Algorithm?for?Real-timeDatabase(一種實時數據庫無損數據壓縮算法)》中提出了一種基于LZW算法的實時數據壓縮算法。具體為先計算相鄰數據的差值,并使用RLE算法和改進的LZW算法對差值進行壓縮存儲。但是這種壓縮算法,無論在壓縮和解壓縮過程中都需要大量的浮點型數值運算,會對整個系統運行的時間消耗帶來不利的影響。本發明提出的無損壓縮方法計算量小,在壓縮時間和解壓縮時間上具有更大的優勢,特別?適合對實時性要求比較高的實時數據庫系統。?
另外,目前高速發展的工業技術對實時數據庫系統的性能有著很高的要求,一個實時數據壓縮程序在運行的過程中必然需要頻繁地動態申請內存,如此會造成三大隱患:一是容易出現內存泄露;二是會在系統中產生大量的內存碎片,降低系統內存的利用率;三是系統的內存分配函數往往通過系統調用實現,而系統調用比普通函數調用更加耗時。本發明通過構建內存池可以緩解這一性能問題。所謂內存池是指在真正使用內存之前,先申請分配一定數量的的內存塊留作備用。當有新的內存需求時,就從內存池中分出一部分內存塊,若內存塊不夠再繼續申請新的內存。?
發明內容
為了適應實時數據庫壓縮解壓縮進程對實時性的要求,本發明提出了一種實時數據的無損壓縮方法及系統,專門針對經有損壓縮后的數據進行二次壓縮。該方法在保證壓縮率的前提下,壓縮與解壓縮時間都具有一定優勢,而且采取優化措施大大減少內存消耗,具有較高的性能。?
本發明解決其技術問題所采用的技術方案是:?
一種實時數據的無損壓縮方法及系統,其特征在于,由兩個模塊組成,分別是:壓縮解壓模塊和內存池模塊;?
所述壓縮解壓縮是本系統的主模塊,負責實時數據的無損壓縮和解壓縮,其主要操作方法步驟包括:?
1、初始化系統;?
2、將未處理數據與滑動窗口內數據匹配,獲取最大匹配字符串的長度以及偏移位置,如圖1所示;?
3、將長度和偏移位置與最近產生的匹配字符串的長度和偏移位置做比較;?
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海麥杰科技股份有限公司,未經上海麥杰科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110374947.5/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





