專利名稱::結構化數據序列的壓縮方法
技術領域:
:本發明涉及一種計算機數據壓縮方法,尤其是一種以列為順序進行分組和壓縮的數據壓縮方法,具體地說是一種結構化數據序列的壓縮方法。技術背景目前,在各種應用系統中,有許多需要存儲大量數據的情況,經常需要存儲一年幾十年的數據,數據總量達到幾十GB千GB以上。如果預期總數據量超過了實際系統的存儲總容量,則還需要增加存儲設備,增加存儲成本。對于某些系統,存儲設備已經達到擴充的極限,不能再增加了,數據存儲的問題將更嚴重。同時因為大量的存儲器讀寫操作導致系統運行開銷很大,輸入/輸出成為系統性能的瓶頸。采用數據壓縮,可以節約存儲空間,降低成本,減少數據讀寫總量,提高輸入/輸出效率,提供大容量、高速度的數據存儲與傳輸服務。現在的壓縮方法有很多,比如RLE、霍夫曼編碼、PPM、LZ系列、BWT等等。還有許多有損壓縮方法。將這些壓縮方法用于結構化數據序列的壓縮,會出現幾個方面的問題一、上述的各種壓縮方法適用于壓縮連續的某一種類型的數據,而結構化數據序列往往是由不同種類的數據混合組成,具有不同的特質,因此,單一地使用任何一種方法往往無法獲得理想的壓縮效果。二、如果針對數據元素中的數據域的特定數據類型而選擇特定的方法進行壓縮,則可以取得較好的效果,但必須預先知道數據元素的數據結構。三、對于二,即使知道數據結構,但在實際應用中,同種類型的數據可能具有不同的特性,這也會對壓縮效果產生很大影響。比如用一個l字節的整數表示開關狀態,0和1對應開和關。當用其表示極少變化的開關狀態時,用RLE方法壓縮將能獲得理想的效果,而用LZW方法則不如RLE方法;當用其表示經常變化的開關狀態時,用RLE方法壓縮的效果較差,而用LZW方法則比RLE方法好很多。可見,沒有絕對好的方法,只有更適用的方法。四、對于不能確定具體數據類型的數據序列,將無法選擇合適的方法進行壓縮。綜上所述目前尚無一種壓縮率高、適用于結構化數據序列的壓縮方法可供采用。
發明內容本發明的目的是針對現有的壓縮方法應用于結構化數據序列時存在壓縮效果較差,需要預先知道數據類型,不能最大限度地實現壓縮目的的問題,發明一種基于分組壓縮的適用于結構化數據序列且無需知道數據類型即可實現高效壓縮的結構化數據序列壓縮方法。本發明的技術方案是一種結構化數據序列的壓縮方法,其特征是首先,將由若干大小相等、數據結構相同或類似的元素構成的結構化的數據序列劃分為數據矩陣,以該數據序列的元素為矩陣的行,元素的個數就是矩陣的行數,以該數據序列的元素的各字節或各位為矩陣的列,元素的字節數或位數就是矩陣的列數,對此數據矩陣以列為順序,按矩陣的一列或若干字節或若干位劃分成組,每組數據稱為一個分組;其次,對所得各分組使用常規的壓縮方法進行壓縮;第三,將上述壓縮結果進行存儲,存儲時先存儲結構化數據序列的元素個數、元素的大小和分組的數量,再存儲各分組的壓縮結果,以便于解壓縮。所述的常規壓縮方法包括差分編碼、RLE壓縮方法和LZW壓縮方法及其它現有的壓縮方法和未來新出現的壓縮方法,以及多種方法的組合。對各分組分別用已知的壓縮方法進行壓縮,并對每種壓縮方法進行編號,取壓縮效果最優的壓縮方法作為該分組的最終壓縮方法,并對該分組最優的壓縮結果進行存儲,存儲時先存儲該壓縮方法的編號、該分組的原數據的數量和該分組的壓縮數據的數量,然后存儲該分組的壓縮數據。在對各分組進行壓縮過程中,將未進行壓縮的原數據視為一個特別的壓縮方法的壓縮結果,進行比較和存儲。對于固定結構的數據序列,可事先通過分析和試驗,確定采用固定的方法進行分組,并對各分組采用固定的壓縮方法進行壓縮。在存儲壓縮結果時,可根據情況省略結構化數據序列的元素個數、元素的大小、分組的數量、分組壓縮方法的編號、分組的原數據的數量、分組的壓縮數據的數量。本發明的有益效果一、本發明實現了"結構化數據序列"的高效壓縮。二、本發明以分組為單位進行壓縮和解壓縮。不用知道數據序列的具體數據結構,將其劃分為若干分組即可。因此,本方法具有通用性、自適應性。三、對各分組嘗試使用不同的方法進行壓縮,取最優的壓縮結果,從而使總體的壓縮效果最優。四、對于固定結構的數據序列,可采用預適應的做法,即事先通過分析和試驗,確定各分組對應的最優壓縮方法,以后總以各分組的最優方法壓縮各分組,不再進行最優判斷,這樣可進一步提高壓縮速度、降低壓縮消耗。五、在對各分組進行壓縮之前,可根據實際的數據結構和數據特性,先基于具體的數據類型進行量化、差分等處理,使壓縮效率進一步提高。圖1是本發明的結構化數據序列壓縮流程圖。圖2是本發明的低內存需求的結構化數據序列壓縮流程圖。圖3是本發明的解壓縮流程圖。具體實施方式下面結合附圖和實施例對本發明作進一步的說明。一種結構化數據序列的壓縮方法,其特征是首先,將由若干大小相等、數據結構相同或類似的元素構成的結構化的數據序列劃分為數據矩陣,以該數據序列的元素為矩陣的行,元素的個數就是矩陣的行數,以該數據序列的元素的各字節或各位為矩陣的列,元素的字節數或位數就是矩陣的列數,對此數據矩陣以列為順序,按矩陣的一列或若干字節或若干位劃分成組,每組數據稱為一個分組;其次,對所得各分組使用常規的壓縮方法進行壓縮;第三,將上述壓縮結果進行存儲,存儲時先存儲結構化數據序列的元素個數、元素的大小和分組的數量,再存儲各分組的壓縮結果,以便于解壓縮。所述的常規壓縮方法包括差分編碼、RLE壓縮方法和LZW壓縮方法及其它現有的壓縮方法和未來新出現的壓縮方法,以及多種方法的組合。對各分組分別用已知的壓縮方法進行壓縮,并對每種壓縮方法進行編號,取壓縮效果最優的壓縮方法作為該分組的最終壓縮方法,并對該分組最優的壓縮結果進行存儲,存儲時先存儲該壓縮方法的編號、該分組的原數據的數量和該分組的壓縮數據的數量,然后存儲該分組的壓縮數據。在對各分組進行壓縮過程中,將未進行壓縮的原數據視為一個特別的壓縮方法的壓縮結果,進行比較和存儲。對于固定結構的數據序列,可事先通過分析和試驗,確定采用固定的方法進行分組,并對各分組采用固定的壓縮方法進行壓縮。在存儲壓縮結果時,可根據情況省略結構化數據序列的元素個數、元素的大小、分組的數量、分組壓縮方法的編號、分組的原數據的數量、分組的壓縮數據的數量。詳述如下一種結構化數據序列壓縮及解壓縮方法,進一步使用多種其它具體的壓縮方法。先為各種準備使用的壓縮方法編號(包括不壓縮,可用編號0表示),然后對數據序列劃分成的數據矩陣經過以列為順序劃分成組得到的各分組進行壓縮及解壓縮,包括步驟一、用各種壓縮方法對一個分組進行壓縮;二、對各種壓縮方法的效果進行比較,確定此分組的最優壓縮方法;三、存儲效果最優的壓縮結果作為此分組的壓縮結果。循環進行第一、二、三步,直到壓縮完所有分組的數據。壓縮流程如圖1所示。上述步驟也可以先循環進行第一步,直到壓縮完所有分組的數據。然后再循環進行第二、三步,選擇各分組的最優結果進行存儲。這樣做必須在第二步前同時保留所有分組的各種方法的結果,壓縮處理的開銷比較大,只適合分組數很少的情況,實用意義不大,完全可由循環進行第一、二、三步的做法取代。也可以通過下列步驟進行壓縮-一、用各種方法對一個分組進行壓縮,以獲得壓縮效果;二、對各種壓縮方法的效果進行比較,確定此分組的最優壓縮方法;三、用此分組的最優壓縮方法對此分組進行壓縮,并存儲壓縮結果。循環進行第一、二、三步,直到壓縮完所有分組的數據。這種方法每次只有一個壓縮方法占用系統資源,壓縮處理的內存開銷比較小,適合壓縮方法很多的情況。只是每分組要多壓縮一次。這種低內存需求的壓縮流程如圖2所示。解壓縮的技術方案一、獲取一個分組的壓縮方法的編號。二、以編號所對應的解壓縮方法,對此分組的壓縮數據進行解壓縮處理;三、存儲還原的一個分組的數據。循環進行一、二、三步驟,直到解壓縮完所有的分組,就實現所有數據的解壓縮。解壓縮流程如圖3所示。本發明中,結構化數據序列是指由若干數據元素組成的一組數據,各數據元素具有相同或類似的數據結構,各元素的大小相同。元素的大小指元素所包含的數據的數量,可以用字節或位為基本單位來衡量,即元素的字節數或位數。結構化數據序列的典型形式有一、內存中的數組,其元素可以是任何簡單類型(如整型、浮點性、邏輯型、字符串型等)的數據,也可以是任何復雜類型(如結構型、聯合型、數組型等)的數據。二、文件和數據庫中,包括K記錄型的文件或文件中的一些邏輯上相關、結構相同的記錄。2、數據庫中的表是一種典型的具體形式。表中的一個個記錄就是數據序列,每個記錄就是一個元素,是一個結構型數據。3、工業信息系統的實時/歷史數據庫中,點的數據也是具有特定結構的數據序列,是適合本方法的處理對象。在本發明中,將上述的結構化數據序列劃分成以字節或位為基本單位的數據矩陣,并以列為順序(以行為順序就是將一行中的每個字節或位逐個處理后再處理下一行,以列為順序就是將一列中的每個字節或位處理后再處理下一列。)將該矩陣的所有數據分成若干組。各分組的數據量可以相等,也可以不等,最常用的是將數據矩陣的一列作為一個分組。壓縮處理以分組為單位進行。具體實施時還可對分組內部數據的順序進行靈活安排,比如某個分組是矩陣的兩列,則在壓縮時可按列的順序也可按行的順序,甚至是特定的一種順序進行壓縮處理。在實際應用中,在目標數據量非常大的情況下,采用本發明的壓縮技術非常有意義。可以在數據庫備份、數據庫查詢結果的通訊傳送等應用中使用本發明的方法對目標數據進行壓縮處理,提高數據的存儲和傳輸效率。在工業生產中,有很多現場的測點數據需要記錄下來,以便進行歷史査詢,并可幫助生產管理人員進行問題的分析。這些測點數據記錄就是本發明所說的結構化數據序列的具體形式之一。而成千上萬的測點,經過長年累月的積累,測點的歷史數據將非常多,以致只能在硬盤上保存較短時間的歷史數據,歷史數據的維護和查詢都有困難。使用本發明的方法可以顯著地提高硬盤有限的存儲空間所能保存的歷史數據的時間長度,方便了歷史數據的査詢和維護。在應用本發明的過程中要先確定采用哪些具體的壓縮方法。理論上可以采用任意多個壓縮方法,實際上沒有必要采用太多種方法。由于本發明的基本思想之一就是在結構化數據序列中,同列(指由結構化數據序列劃分成的數據矩陣的列)數據具有同質的特點,利用這個特點進行壓縮可以提高壓縮效率。即使只用同一種方法,以列為順序進行分組和壓縮,也將比以行為順序進行壓縮的效果好。對一個分組采用多種方法進行壓縮然后取其最佳者,可能比對一個分組只采用一種方法進行壓縮獲得更好的效果。各種壓縮方法都有適用的數據類型,都存在壓縮率和壓縮速度之間的平衡問題。對各分組進行壓縮的常規方法可以是一種基本的常規方法,也可以是多種常規方法組合變化而成的復合方法。"不壓縮"也作為一種特別的壓縮方法來對待。為每種將采用的壓縮方法編號,以便存儲結果時將壓縮方法的編號也存儲起來,在解壓縮時根據編號使用對應的解壓縮方法實現解壓縮處理。這里將以三種具有代表性的壓縮方法,分別對應不同種類的數據,組合成不同的壓縮方法,來說明本發明的實施方式。由于具體方法可以是任何方法,本文中僅以三種方法來介紹整體上的用法,而不詳細介紹具體方法的內容。一種是差分編碼。是將輸入數據前后之間的差值作為輸出數據的編碼方式。本發明的具體差分編碼方法是第一個字節保持原碼,之后的每個字節減前一個字節,以其差值的作為編碼的輸出。差分編碼可以將數值變化頻繁,但數值變化的幅度很小的數據轉換成簡單的數據,便于壓縮。比如原來有數據1、2、3、4、5、6、7、8、9,經過差分編碼后,得到數據1、1、1、1、1、1、K1、1,顯然后者很容易壓縮。一種是RLE方法。其基本思想是用單個字符對nd來表示在輸入流中連續出現n次的數據項d。在本發明中規定為*以一個字節的低7位表示數量,最高位為0表示后面低7位的數據是原碼數量,此字節后將是低7指定數量的原碼;*以一個字節的低7位表示數量,最高位為l表示后面低7位的數據是重復數量,此字節后的這個字節重復低7指定次數;對于變化頻率低的數據,采用該方法進行壓縮,由于數據的變化頻率低,所以很多同樣的數據可以被高效地壓縮。比如某數據序列的數據結構中有一個部分是以4字節的整數表示的年齡,因為年齡實際用一個字節就可以表示,另3個字節總是為0,那么這3個字節所在的列使用RLE方法進行壓縮,其壓縮率將是最高的。一種是LZW方法。LZW方法的基本內容是編碼時,首先把字母表中的所有字符初始化到字典中,常見的是用8位字符,先占用字典的前256項;編碼器逐個輸入字符并累積一個字符串,如果當前字符串在字典中存在,則將下一個字符添加到當前字符串中,并以其為新的當前字符串繼續判斷處理;如果當前字符串不在字典中,則輸出當前最大匹配串的字典索引,并將當前字符串存入字典的下一個可用詞條,將當前字符串置為其最后一個字符。解碼時,只要采用與編碼時同樣的方式建立自己的字典,就可以將字典還原,實現解壓。對于變化頻率較高的數據使用RLE方法將難以獲得理想的壓縮效果,可以采用LZW方法。下面以一個具體的例子對本發明的壓縮方法及效果作進一步的說明某工業現場的數據需要保存下來,以便之后查詢和分析。以其中一個溫度測點為例子,其數據的結構包括為1、狀態,表示測點的狀態,數據類型為l字節的整數;具體意義是0_停止,l一正常運行,2..n—其它狀態2、時間,表示采樣的時間,數據類型為4字節的整數;3、數值,表示測點的數值,數據類型為4字節的浮點數;時間的表示方式有很多種,根據本例子的應用特點,采用以秒為單位,以某個時刻為起點進行表示。本例中,以2000年1月1日0點0分0秒為起點0,以2000年1月1日0點0分1秒為1,依此類推,4字節的整數可表示約136年的范圍。(這實際上是在對各分組進行壓縮之前,對時間進行量化處理,有利于提高壓縮效率,而一般的以浮點數表示的時間是比較難壓縮的)設此溫度測點每隔5秒左右采樣一次,有下列100個采樣記錄<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table><table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table>將這些記錄劃分成以字節為基本單位的100行、9列的數據矩陣:(以下每個字節的數據都采用16進制的方式表示。)<table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage14</column></row><table><table>tableseeoriginaldocumentpage15</column></row><table>以上述數據矩陣的一列為一個分組,將整個數據矩陣劃分為9個分組。采用以下三種方法對各分組進行試壓縮,以確定最優的壓縮方法并存儲最優的壓縮結果。各種壓縮方法的編號和內容如下表<table>tableseeoriginaldocumentpage15</column></row><table>現在嘗試對各分組進行壓縮,選擇壓縮率最高的為最優,其結果是:第1分組<table>tableseeoriginaldocumentpage15</column></row><table><table>tableseeoriginaldocumentpage16</column></row><table><table>tableseeoriginaldocumentpage17</column></row><table>方法1的結果最優,所以取方法1的結果。第4分組<table>tableseeoriginaldocumentpage17</column></row><table>方法l的結果最優,所以取方法l的結果。第5分組<table>tableseeoriginaldocumentpage17</column></row><table>方法l的結果最優,所以取方法l的結果。第6分組<table>tableseeoriginaldocumentpage17</column></row><table><table>tableseeoriginaldocumentpage18</column></row><table>62CB662CIFOE2C742D45219F29BAAO782530E3C519OE67FA2475OD方法2的結果最優,所以取方法2的結果。第8分組<table>tableseeoriginaldocumentpage19</column></row><table>方法2的結果最優,所以取方法2的結果。第9分組<table>tableseeoriginaldocumentpage19</column></row><table>方法1的結果最優,所以取方法1的結果。從上述各分組的壓縮結果可以看出一、原來的數據總量是900個字節;二、如果全部用方法l來壓縮,則壓縮結果是392個字節;三、如果全部用方法2來壓縮,則壓縮結果是357個字節;四、如果各分組選擇最優結果,則壓縮結果是283個字節;可見,本申請所述的方法具有顯著的效果。存儲結果時,先存儲結構化數據序列的元素個數、元素的大小,即記錄數量和記錄大小,等于數據矩陣的行數和列數。由于是將數據矩陣的一列為一個分組,分組的數量等于數據矩陣的列數,即元素的大小,因此,省略分組的數量。本例中,結構化數據序列的元素個數為100,元素的大小為9。分別用4字節的整數表示。然后存儲各分組的壓縮結果。對于各分組,先存儲該分組的壓縮方法的編號,本例子中用1個字節表示,再該分組的壓縮數據的數量,本例子中用2個字節表示,然后存儲該分組的壓縮數據。所有分組的原數據的數量等于都前面保存的結構化數據序列的元素個數,因此省略分組的原數據的數量。下面是總的結果(第1行是結構化數據序列的元素個數和元素的大小,之后每個段落是一個分組的壓縮結果,第1個字節是分組的壓縮方法的編號,第2、3個字節是分組的壓縮數據的數量。所有結果都以16進制的字節表示。)6400000009000000010600A3010100C001022800800814286060600181040D222C3870AlC281OCOF1A648830Al44880D2766C4B831A2C38EOF2D16000106009AB8B3B997BA010200A0C3010200AO03025F0066007C600720DCBA05El28D80B276E5D8570OAAE0D54E0B01900OAEC5278005041A20782EB52805CB0CEDECI6B14C2A50020CE83B814CC2A380C0740410500175F32FB10EEEl8775IF14D8FB60CF83BD14F62808OCC971063B0A368B5E5B000257006600149202608F946B7B5CA5D8A3478AAB3DD748ODBCE6BO19005752B814BA28Dl50140052BA7C3C2825C54152OFB9142CB4874B338COF015C7305E062CB662CIF0E2C742D45219F29BAAO782530E3C519OE67FA2475OD022B002600FC0B00004080.81050D2634F8AFE0418205IB2E44281062C2870B1352CC38Dl2247891A33FEIB083221010200A041以上為具體說明了本發明的實施方式,由上文可知,在本發明中,為了對結構化數據序列進行高效的壓縮,本發明克服了現有通用壓縮方法應用于結構化數據序列壓縮時的缺陷。例如各種通用方法往往沒有考慮結構化數據的特點,只是將其看作一個整體進行壓縮,其實各列(指由結構化數據序列劃分成的數據矩陣的列)具有不同的性質,可以使用更適合的方法來達到更好的壓縮效果;個別方法,針對特定結構的數據序列進行壓縮,雖然具有良好的效果,但必須事先知道數據序列的具體結構,并且在實際中,不可能為無限多種結構提供針對性的壓縮方法;還有個別方法可以根據數據庫中表的定義來為各字段選擇針對性的壓縮方法,從而獲得良好的壓縮效果,但對于未知定義的表或其他數據序列則不能處理;上述兩種個別方法,對于同一種類型的數據往往采用一種特定的壓縮方法,而實際上,即使是同種類型的數據,也不一定是一種壓縮方法效果最好,根據實際的數據用途和數值特點,也可以對應多種不同的最優壓縮方法。綜上所述,現有的方法都存在不同的缺點而無法使結構化數據序列的壓縮效果達到最好。基于該分析,本發明在實現對結構化數據序列進行壓縮的過程中,對現有各種壓縮方法進行了綜合組織,針對結構化數據序列的同列(指由結構化數據序列劃分成的數據矩陣的列)同質的特點,采用自動適應的壓縮方法的選擇,使壓縮效果達到最優。在實際應用中,還可以用標量量化等方法進行預處理,進一步提高壓縮效果。對于固定結構的數據序列,可采用預適應的做法,即事先通過分析和試驗,確定各分組對應的最優壓縮方法,以后總以各分組的最優方法壓縮各分組,不再進行最優判斷,這樣可進一步提高壓縮速度、降低壓縮消耗。這種預適應的做法,在實際應用中,存在可能的非最優情況,不過總體接近最優,相對于速度的提高和資源消耗的降低,這種壓縮效率的降低是可以接受的。到底如何選擇,關鍵看最終的目標是什么。如果不是特別追求壓縮效率,而是對提高壓縮速度、降低資源消耗或者總體的平衡有較高的需求,則可以選擇預適應的做法。以上對本發明所提供的結構化數據序列壓縮方法進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用范圍上均可有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。權利要求1、一種結構化數據序列的壓縮方法,其特征是首先,將由若干大小相等、數據結構相同或類似的元素構成的結構化數據序列劃分為數據矩陣,以該數據序列的元素為矩陣的行,元素的個數就是矩陣的行數,以該數據序列的元素的各字節或各位為矩陣的列,元素的字節數或位數就是矩陣的列數,對此數據矩陣以列為順序,按矩陣的一列或若干字節或若干位劃分成組,每組數據稱為一個分組;其次,對所得各分組使用常規的壓縮方法進行壓縮;第三,將上述壓縮結果進行存儲,存儲時先存儲結構化數據序列的元素個數、元素的大小和分組的數量,再存儲各分組的壓縮結果,以便于解壓縮。2、根據權利要求1所述的結構化數據序列的壓縮方法,其特征是所述的常規壓縮方法包括差分編碼、RLE壓縮方法和LZW壓縮方法及其它現有的壓縮方法和未來新出現的壓縮方法,以及多種方法的組合。3、根據權利要求1所述的結構化數據序列的壓縮方法,其特征是對各分組分別用已知的壓縮方法進行壓縮,并對每種壓縮方法進行編號,取壓縮效果最優的壓縮方法作為該分組的最終壓縮方法,并對該分組最優的壓縮結果進行存儲,存儲時先存儲該壓縮方法的編號、該分組的原數據的數量和該分組的壓縮數據的數量,然后存儲該分組的壓縮數據。4、根據權利要求1所述的結構化數據序列的壓縮方法,其特征是在對各分組進行壓縮過程中,將未進行壓縮的原數據視為一個特別的壓縮方法的壓縮結果,進行比較和存儲。5、根據權利要求1所述的結構化數據序列的壓縮方法,其特征是對于固定結構的數據序列,可事先通過分析和試驗,確定采用固定的方法進行分組,并對各分組采用固定的壓縮方法進行壓縮。6、根據權利要求1所迷的結構化數據序列的壓縮方法,其特征是在存儲壓縮結果時,可根據情況省略結構化數據序列的元素個數、元素的大小、分組的數量、分組壓縮方法的編號、分組的原數據的數量、分組的壓縮數據的數量。全文摘要一種結構化數據序列的壓縮方法,屬于一種計算機數據壓縮技術,其特征是首先,將由若干大小相等、數據結構相同或類似的元素構成的結構化數據序列劃分為數據矩陣,以該數據序列的元素為矩陣的行,元素的個數就是矩陣的行數,以該數據序列的元素的各字節或各位為矩陣的列,元素的字節數或位數就是矩陣的列數,對此數據矩陣以列為順序,按矩陣的一列或若干字節或若干位劃分成組,每組數據稱為一個分組;其次,對所得各分組使用常規的壓縮方法進行壓縮;第三,將上述壓縮結果進行存儲,存儲時先存儲結構化數據序列的元素個數、元素的大小和分組的數量,再存儲各分組的壓縮結果,以便于解壓縮。本發明具有良好的自適應性、可擴展性,壓縮效率高,且無需知道數據的具體類型即可進行高效率的壓縮。文檔編號G06F17/30GK101241508SQ20081008713公開日2008年8月13日申請日期2008年3月18日優先權日2007年8月1日發明者立金申請人:立金