TWI673958B - 基於抽樣猜測之資料壓縮方法 - Google Patents
基於抽樣猜測之資料壓縮方法 Download PDFInfo
- Publication number
- TWI673958B TWI673958B TW107130431A TW107130431A TWI673958B TW I673958 B TWI673958 B TW I673958B TW 107130431 A TW107130431 A TW 107130431A TW 107130431 A TW107130431 A TW 107130431A TW I673958 B TWI673958 B TW I673958B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- sampling
- compression
- guessing
- threshold
- Prior art date
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一種基於抽樣猜測之資料壓縮方法,包含:接收一筆資料;於該筆資料的M個資料區域中,抽取N個資料區域;檢查N個資料區域中的資料累贅占比;及根據資料累贅占比多寡決定是否壓縮該筆資料。
Description
本發明係有關於一種壓縮方法,特別是有關於一種基於抽樣猜測之資料壓縮方法。
即時資料壓縮有快速壓縮的需求,通常採用壓縮能力較差但具有較快壓縮速度的演算法。然而,為了達到快速的需求,常常無法判斷是否有足夠的資料累贅,導致造成壓縮後的資料比壓縮前的資料還大的現象,此為無意義的壓縮。
有鑑於此,本發明一實施例提出一種基於抽樣猜測之資料壓縮方法,包含:接收一筆資料,該筆資料包含M個資料區域;於該筆資料的M個資料區域中,抽取N個資料區域,其中N<M,且N與M為正整數;檢查N個資料區域中的資料累贅占比;及根據資料累贅占比多寡決定是否壓縮該筆資料。
本發明另一實施例還提出一種基於抽樣猜測之資料壓縮方法,係依序對多筆資料的每一筆資料執行下列步驟:於該第i筆資料的Mi個資料區域中,抽取Ni個資料區域,其中N<M,且N、M與i為正整數;檢查Ni個資料區域中的資料累贅;於所抽取的各資料區域中均為資料累贅的占比至少為一閥值時,將該第i筆資料存放於一緩衝區中;及當滿足一
壓縮條件時,壓縮緩衝區中的第x筆至第i筆的該些資料,該壓縮條件為 K且>K,其中x、K為正整數。
綜上所述,根據本發明實施例提出之基於抽樣猜測之資料壓縮方法,可對欲儲存的資料進行抽樣,檢查資料累贅的比例,據以推估資料值不值得壓縮,據此可兼顧壓縮速度及壓縮率。
100‧‧‧電腦系統
110‧‧‧處理器
120‧‧‧暫態儲存裝置
121‧‧‧緩衝區
130‧‧‧非暫態儲存裝置
140‧‧‧輸入裝置
200‧‧‧資料
S210、S220、S230、S240‧‧‧步驟
S310、S320、S330、S340、S350、S360、S370、S380‧‧‧步驟
[圖1]為本發明一實施例之系統架構圖。
[圖2]為本發明一實施例之基於抽樣猜測之資料壓縮方法流程圖。
[圖3]為本發明另一實施例之基於抽樣猜測之資料壓縮方法流程圖。
參照圖1,係為本發明一實施例之系統架構圖。本發明實施例係由一電腦系統100實現。電腦系統100包含處理器110、暫態儲存裝置120(如揮發式記憶體)、非暫態儲存裝置130(如硬碟、固態硬碟等)及輸入裝置140(如網路介面、外接儲存裝置(如隨身碟、外接硬碟等))。電腦系統100可例如為個人電腦、伺服器、伺服器叢集等。暫態儲存裝置120包含一緩衝區121。在一些實施例中,緩衝區121是位於非暫態儲存裝置130中的揮發式記憶體上。在一些實施例中,緩衝區121是位於非暫態儲存裝置130中的非揮發式儲存媒體上。
參照圖2,係為本發明一實施例之基於抽樣猜測之資料壓縮方法流程圖,由處理器110載入程式後執行。所述程式係可儲存於非暫態儲存裝置130中。首先,自輸入裝置140接收一筆資料200,資料200包含
M個資料區域(步驟S210)。在此,M為正整數。參照表1,係為M個資料區域(R1~R16)的示例,於此M為16。在步驟S220中,於此筆資料200的M個資料區域中,抽取N個資料區域。在此,N為4,但本發明實施例非以此為限,只要N為小於M的正整數即可。於步驟S230中,檢查此些N個資料區域中的資料累贅占比。如表1所示,以符號“Z”表示對應的資料區域全部為資料累贅。所述資料累贅可例如為零或其他可視為冗餘的字符。在此例中,所抽取的四個資料區域全部為資料累贅,因此資料累贅占比為100%。在步驟S240中,根據資料累贅占比多寡決定是否壓縮該筆資料200。於此,可根據所抽取的各資料區域中均為資料累贅的占比是否至少為一閥值來判斷是否壓縮該筆資料200。在本例中,可設定閥值為100%。而因為所抽取的四個資料區域的資料累贅占比為100%,因此將對該筆資料200進行壓縮。所述壓縮並非限定只能對單筆資料200進行,亦可累積多筆資料200一起進行壓縮,於後將再詳細說明。
於此,將再以表2來示例資料累贅的占比非為100%的情形。在此,以符號“A”表示對應的資料區域中不完全為資料累贅,亦即至少部分非為資料累贅。在此例中,所抽取的四資料區域中有三個資料區域為資料累贅,另一個資料區域不完全為資料累贅,因此資料累贅占比為75%。若閥值設定為100%,則不對此筆資料200進行壓縮。
參照圖3,係為本發明另一實施例之基於抽樣猜測之資料壓縮方法流程圖,由處理器110載入程式後執行。於此,假設是依序對n筆資料200進行處理,n為正整數。在此,以n為8為例,如表3所示,共有八筆資料200。於步驟S310,判斷i是否小於或等於n,意即確認n筆資料200是否已處理完畢。於此,i代表現在處理的資料200次序,係為正整數。若已處理完畢,則結束此流程,若未處理完畢,則進入步驟S320。在此例中,第i筆資料200包含Mi個資料區域。Mi為正整數。於此,Mi為16,但本發明實施例非以此為限。
在步驟S320中,於第i筆資料200的Mi個資料區域中,抽取Ni個資料區域。Ni小於Mi。於此例中,Ni均為相同數值。於此,Ni均為4,但本發明實施例非以此為限。接著,進入步驟S330。
在步驟S330中,檢查此些抽取出的Ni個資料區域中的資料
累贅。以第一筆資料D1來說,如表3所示,所抽取出的資料區域R2、R5、R10、R14中均為資料累贅。
接著,在步驟S340中,判斷所抽取的各資料區域中均為資料累贅的占比是否至少為一閥值。若是,則進入步驟S350,將第i筆資料200存放在緩衝區121中,以利後續進行壓縮。若否,表示該第i筆資料200不適合壓縮的機率很高,則進入步驟S380,以原值儲存該第i筆資料200。在此,閥值仍以100%為例說明。由於第一筆資料D1所抽取出的四個資料區域均為資料累贅,因此會將第一筆資料D1存放於緩衝區121中,接著進入步驟S360。
在步驟S360中,計算緩衝區121中的第x筆至第i筆的該些資料200對應之Ni/Mi之總和。在此,緩衝區121中僅有第一筆資料D1,其Ni/Mi總和為1/4。於此步驟中,會判斷Ni/Mi之總和是否小於且接近K,作為壓縮條件。K為正整數,於此以K為1為例。所述接近K的意思是指小於或等於K的最大值,若再將下一筆資料200的Ni/Mi(即Ni+1/Mi+1)計入總和則會大於K。在此,由於Ni+1/Mi+1也是1/4,因此其總和為1/2,並不符合壓縮條件,將回到步驟310,檢查第二筆資料D2。
重複前述的步驟,發現第一筆至第四筆的資料D1~D4的資料累贅占比均超過閥值,而均存入緩衝區121中。並且,第一筆至第四筆資料D1~D4的Ni/Mi均為1/4,其總和為K,符合壓縮條件。因此,將進入步驟S370,壓縮緩衝區121中的第一筆至第四筆資料D1~D4。之後,返回步驟S310,檢查處理第五筆資料D5。
參照表3,第五筆資料D5所抽取的四個資料區域R2、R4、
R8、R13中的資料區域R4、R8所存放的不完全為資料累贅。因此,在步驟S340中判斷資料累贅占比僅有50%,低於閥值,表示該第五筆資料D5有較高的機率具有較低的壓縮效率,因而接續步驟S380。在步驟S380中,以原值儲存該第五筆資料D5,而不對第五筆資料D5進行壓縮。
在步驟S380之後,進入步驟S370,以將緩衝區121中的資料200進行壓縮。換言之,壓縮條件還包含該第i筆資料累贅占比小於閥值。若該第i筆資料累贅占比小於閥值,則不壓縮第i筆資料200,並壓縮緩衝區121中的該些資料200。於步驟S370執行後再返回步驟S310,繼續檢查後續的資料200直至所有資料200都處理完畢後結束流程。
參照表4,在此示例變化各資料200抽取的資料區域數量的情形。也就是說,各筆資料200的Ni/Mi不完全相同。第一筆資料D1的Ni/Mi是1/4;第二筆資料D2的Ni/Mi是1/2;第三筆資料D3的Ni/Mi是1/8。此三
筆資料D1~D3的資料累贅占比均為100%,且Ni/Mi總和接近K(在此仍設定為1),因此將於步驟S370將此三筆資料D1~D3壓縮成不超過一筆資料200的大小。
接著,對於第四筆資料D4,資料區域R3、R4、R7、R9、R11、R14不完全為資料累贅,因此將進入步驟S380,原值儲存第四筆資料D4。而後,由於此時緩衝區121尚無資料200,因此再返回步驟S310,繼續處理後續資料200。
第五筆資料D5的Ni/Mi是3/8;第六筆資料D6的Ni/Mi是1/8;第七筆資料D7的Ni/Mi是1/4;第八筆資料D8的Ni/Mi是1/8。此四筆資料D5~D8的資料累贅占比均為100%,且Ni/Mi總和接近K(在此仍設定為1),因此將於步驟S370將此四筆資料D5~D8壓縮成不超過一筆資料200的大小。
在一些實施例中,前筆資料200或已檢查過的多筆資料200的資料累贅占比會影響之後的取樣。舉例而言,若當前的資料200的資料累贅占比偏高,則可降低對下一筆資料200抽取資料區域的數量;反之,則提昇對下一筆資料200抽取資料區域的數量。
參見表5,在此示例其他閥值設定的情形。在一些實施例中,閥值可不設定為100%,可設定在50%~100%的範圍內。於此以閥值為70%為例說明。第一筆資料D1的資料區域R2、R4、R5、R7、R10、R14為資料累贅,資料區域R13、R15不完全為資料累贅,因此資料累贅占比為75%,係超過閥值,因此第一筆資料D1將存放於緩衝區121中。在此,假設K為2,亦即希望壓縮後的資料能不超過二倍的資料200大小。第一筆資料D1的Ni/Mi是1/2。
第二筆資料D2的資料區域R1、R2、R3、R9、R12為資料累贅,資料區域R13不完全為資料累贅,因此資料累贅占比為83%,係超過閥值,因此第二筆資料D2將存放於緩衝區121中。第二筆資料D2的Ni/Mi是3/8。
第三筆資料D3的資料累贅占比為75%,其Ni/Mi是1/2。第四筆資料D4的資料累贅占比為100%,其Ni/Mi是1/8。第五筆資料D5的資料累贅占比為75%,其Ni/Mi是1/4。第一筆資料至第五筆資料D1~D5的Ni/Mi總和接近K,於是將於步驟S370壓縮第一筆資料至第五筆資料D1~D5。而第六筆資料D6的資料累贅占比為33%,低於閥值。因此,將於步驟S380中原值儲存第六筆資料D6。接著返回步驟S310,接續處理後續資料200。
在一些實施例中,一筆資料200的大小可設定為4k位元,因此多筆資料200經壓縮後可存入K個頁面。
綜上所述,根據本發明實施例提出之基於抽樣猜測之資料壓縮方法,可對欲儲存的資料進行抽樣,檢查資料累贅的比例,據以推估資料值不值得壓縮,據此可兼顧壓縮速度及壓縮率。
Claims (7)
- 一種基於抽樣猜測之資料壓縮方法,包含:依序對多筆資料的每一筆該資料執行下列步驟,其中第i筆資料包含Mi個資料區域:於該第i筆資料的Mi個該資料區域中,抽樣Ni個該資料區域,其中N<M,且N、M與i為正整數;檢查該Ni個資料區域中的資料累贅;於所抽樣的各該資料區域中均為資料累贅的占比至少為一閥值時,將該第i筆資料存放於一緩衝區中;及當滿足一壓縮條件時,壓縮該緩衝區中的第x筆至第i筆的該些資料,該壓縮條件為 K且>K,其中x、K為正整數。
- 如請求項1所述之基於抽樣猜測之資料壓縮方法,其中該壓縮條件還包含該第i筆資料累贅占比小於該閥值,若該第i筆資料累贅占比小於該閥值,則不壓縮該第i筆資料,並壓縮該緩衝區中的該些資料。
- 如請求項1所述之基於抽樣猜測之資料壓縮方法,其中K為1。
- 如請求項1所述之基於抽樣猜測之資料壓縮方法,其中各該筆資料的相同。
- 如請求項1所述之基於抽樣猜測之資料壓縮方法,其中各該筆資料的不完全相同。
- 如請求項1所述之基於抽樣猜測之資料壓縮方法,更包含:以當前該資料的該資料累贅占比,決定下一筆該資料的該資料區域抽樣數量。
- 如請求項1所述之基於抽樣猜測之資料壓縮方法,其中該閥值在50%~100%的範圍內。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107130431A TWI673958B (zh) | 2018-08-30 | 2018-08-30 | 基於抽樣猜測之資料壓縮方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107130431A TWI673958B (zh) | 2018-08-30 | 2018-08-30 | 基於抽樣猜測之資料壓縮方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI673958B true TWI673958B (zh) | 2019-10-01 |
TW202010270A TW202010270A (zh) | 2020-03-01 |
Family
ID=69023490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107130431A TWI673958B (zh) | 2018-08-30 | 2018-08-30 | 基於抽樣猜測之資料壓縮方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI673958B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060165176A1 (en) * | 2004-07-20 | 2006-07-27 | Qualcomm Incorporated | Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression |
US7340666B1 (en) * | 2004-09-16 | 2008-03-04 | Sun Microsystems, Inc. | Method and apparatus for using memory compression to enhance error correction |
US20110161781A1 (en) * | 2009-12-29 | 2011-06-30 | Cleversafe, Inc. | Digital content distribution utilizing dispersed storage |
CN102934093A (zh) * | 2010-06-29 | 2013-02-13 | 英特尔公司 | 用于改进固态驱动器的性能和/或可靠性的方法和系统 |
US20150149739A1 (en) * | 2013-11-25 | 2015-05-28 | Research & Business Foundation Sungkyunkwan University | Method of storing data in distributed manner based on technique of predicting data compression ratio, and storage device and system using same |
CN105009091A (zh) * | 2012-12-26 | 2015-10-28 | 西部数据技术公司 | 用于数据存储系统的动态预留空间 |
CN105022593A (zh) * | 2015-08-18 | 2015-11-04 | 南京大学 | 一种基于数据压缩和数据去冗协同的存储优化方法 |
US9564918B2 (en) * | 2013-01-10 | 2017-02-07 | International Business Machines Corporation | Real-time reduction of CPU overhead for data compression |
TWI631556B (zh) * | 2017-05-05 | 2018-08-01 | 英屬開曼群島商捷鼎創新股份有限公司 | 資料壓縮裝置及其資料壓縮方法 |
-
2018
- 2018-08-30 TW TW107130431A patent/TWI673958B/zh active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060165176A1 (en) * | 2004-07-20 | 2006-07-27 | Qualcomm Incorporated | Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression |
US7340666B1 (en) * | 2004-09-16 | 2008-03-04 | Sun Microsystems, Inc. | Method and apparatus for using memory compression to enhance error correction |
US20110161781A1 (en) * | 2009-12-29 | 2011-06-30 | Cleversafe, Inc. | Digital content distribution utilizing dispersed storage |
CN102934093A (zh) * | 2010-06-29 | 2013-02-13 | 英特尔公司 | 用于改进固态驱动器的性能和/或可靠性的方法和系统 |
CN105009091A (zh) * | 2012-12-26 | 2015-10-28 | 西部数据技术公司 | 用于数据存储系统的动态预留空间 |
US9564918B2 (en) * | 2013-01-10 | 2017-02-07 | International Business Machines Corporation | Real-time reduction of CPU overhead for data compression |
US20150149739A1 (en) * | 2013-11-25 | 2015-05-28 | Research & Business Foundation Sungkyunkwan University | Method of storing data in distributed manner based on technique of predicting data compression ratio, and storage device and system using same |
CN105022593A (zh) * | 2015-08-18 | 2015-11-04 | 南京大学 | 一种基于数据压缩和数据去冗协同的存储优化方法 |
TWI631556B (zh) * | 2017-05-05 | 2018-08-01 | 英屬開曼群島商捷鼎創新股份有限公司 | 資料壓縮裝置及其資料壓縮方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202010270A (zh) | 2020-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11023439B2 (en) | Variable cardinality index and data retrieval | |
US9348832B2 (en) | Method and device for reassembling a data file | |
US20200304146A1 (en) | Variable-sized symbol entropy-based data compression | |
US10025784B2 (en) | Similarity determination apparatus, similarity determination method, and computer-readable recording medium | |
KR20170040343A (ko) | 적응형 레이트 압축 해시 프로세싱 디바이스 | |
US11881873B1 (en) | Huffman correction encoding method and system, and relevant components | |
TWI673958B (zh) | 基於抽樣猜測之資料壓縮方法 | |
US8909897B2 (en) | Method for generating a delta for compressed data | |
CN110875743B (zh) | 基于抽样猜测的数据压缩方法 | |
US11017155B2 (en) | Method and system for compressing data | |
CN106293542B (zh) | 一种文件解压缩的方法及装置 | |
CN112527950A (zh) | 一种基于MapReduce的图数据删除方法及系统 | |
US8976048B2 (en) | Efficient processing of Huffman encoded data | |
JP6181247B1 (ja) | データベース管理装置、データベース管理方法、およびデータベース管理プログラム | |
CN110941597B (zh) | 解压缩文件的清理方法、装置、计算设备及计算机存储介质 | |
CN107341113B (zh) | Cache的压缩方法和装置 | |
CN103049388A (zh) | 一种分页存储器件的压缩管理方法及装置 | |
US9236056B1 (en) | Variable length local sensitivity hash index | |
US9361404B2 (en) | Offline radix tree compression with key sequence skip | |
CN112597106A (zh) | 一种文档页面跳转方法及系统 | |
CN111209254A (zh) | 文件指纹获取方法、装置、电子设备以及存储介质 | |
CN111723266A (zh) | 海量数据处理方法和装置 | |
TWI590159B (zh) | 智慧刪除應用程式的方法及電子設備 | |
US8554773B2 (en) | Method for indexing images and for reading an index of an image | |
CN111061731B (zh) | 一种加密数据全文检索方法 |