一種壓縮優化方法及其裝置與流程
2023-05-06 20:15:41
本發明涉及數據壓縮技術領域,特別是涉及一種壓縮優化方法及其裝置。
背景技術:
在大數據時代,壓縮技術能夠大大的節省實際存儲空間,降低產品的成本。壓縮技術對於用戶來說使用廣泛,如zip以及gzip等工具的使用。
但是,由於用戶經常會對壓縮後的數據進行重寫,而目前的方法中,由於重寫後會導致數據進行重新壓縮,而重新壓縮後的數據與上次壓縮後的數據大小往往會發生改變,這種情況下即導致了無用數據佔用的存儲空間越來越多,造成壓縮空間浪費,存儲空間的利用率低。
因此,如何提供一種存儲空間利用率高的壓縮優化方法及其裝置是本領域技術人員目前需要解決的問題。
技術實現要素:
本發明的目的是提供一種壓縮優化方法及其裝置,能夠及時釋放被重寫後的數據所佔用的存儲區域,減少無用數據的積累,提高存儲空間利用率高。
為解決上述技術問題,本發明提供了一種壓縮優化方法,包括:
壓縮待壓縮數據,並將壓縮後的數據依次存儲至固定大小的存儲塊中;
對壓縮後的數據進行數據重寫後,為重寫後的新數據分配空閒存儲空間進行存儲,並標記被重寫的數據;
採用優化釋放算法釋放所述被重寫的數據佔用的存儲空間。
優選地,所述壓縮待壓縮數據的過程具體為:
在待壓縮數據寫入過程中,每隔預設時間段,則將該預設時間段內接收到的待壓縮數據進行壓縮,並存儲至相應的存儲塊中。
優選地,所述採用優化釋放算法釋放被重寫的數據佔用的存儲空間的過程包括:
檢查被重寫過的存儲塊中被重寫過的部分所佔的比例,若存在被完全重寫的存儲塊,則釋放該存儲塊。
為解決上述技術問題,本發明還提供了一種壓縮優化裝置,包括:
壓縮模塊,用於壓縮待壓縮數據,並將壓縮後的數據依次存儲至固定大小的存儲塊中;
重寫模塊,用於對壓縮後的數據進行數據重寫後,為重寫後的新數據分配空閒存儲空間進行存儲,並標記被重寫的數據;
釋放模塊,用於採用優化釋放算法釋放被重寫的數據佔用的存儲空間。
優選地,所述壓縮模塊具體包括:
計時單元,用於在待壓縮數據寫入過程中,每隔預設時間段,觸發一次實時壓縮單元;
實時壓縮單元,用於將該預設時間段內接收到的待壓縮數據進行壓縮,並存儲至相應的存儲塊中。
優選地,所述釋放模塊包括:
存儲塊檢查單元,用於檢查被重寫過的存儲塊中被重寫過的部分所佔的比例,若存在被完全重寫的存儲塊,觸發存儲塊釋放單元;
所述存儲塊釋放單元,用於釋放相應存儲塊。
本發明提供了一種壓縮優化方法及其裝置,將壓縮後的數據存放至固定大小的存儲塊中,壓縮數據重寫後,將重寫後的新數據寫入新存儲空間內,而被重寫的舊數據進行標記,之後採用預設的優化釋放算法釋放掉被重寫的數據佔用的存儲空間。本發明通過將壓縮數據的存儲區域劃分為固定大小的存儲塊,方便了後續對被重寫的數據所佔用的存儲空間的釋放,且本發明通過數據的釋放操作,避免了大量無用數據的積累,減少了壓縮空間的浪費,提高了存儲空間利用率高。
附圖說明
為了更清楚地說明本發明實施例中的技術方案,下面將對現有技術和實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明提供的一種壓縮優化方法的過程的流程圖;
圖2為本發明提供的另一種壓縮優化方法的過程的流程圖;
圖3為本發明提供的一種壓縮優化裝置的結構示意圖。
具體實施方式
本發明的核心是提供一種壓縮優化方法及其裝置,能夠及時釋放被重寫後的數據所佔用的存儲區域,減少無用數據的積累,提高存儲空間利用率高。
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
本發明提供了一種壓縮優化方法,參見圖1所示,圖1為本發明提供的一種壓縮優化方法的過程的流程圖;該方法包括:
步驟s1:壓縮待壓縮數據,並將壓縮後的數據依次存儲至固定大小的存儲塊中;
步驟s2:對壓縮後的數據進行數據重寫後,為重寫後的新數據分配空閒存儲空間進行存儲,並標記被重寫的數據;
步驟s3:採用優化釋放算法釋放被重寫的數據佔用的存儲空間。
具體的,步驟s1中壓縮待壓縮數據的過程具體為:
在待壓縮數據寫入過程中,每隔預設時間段,則將該預設時間段內接收到的待壓縮數據進行壓縮,並存儲至相應的存儲塊中。
可以理解的是,上述壓縮方式可以理解為實時壓縮,即壓縮窗口由傳統的滑動窗口變為時間為軸的窗口,數據持續寫入的過程中,每個預設時間段,則將該段連續時間段內輸入的數據進行壓縮,這種方式相比目前數據全部寫入後,再將其按照數據大小進行劃分然後壓縮的方式,首先壓縮時間短,另外,也方便了將數據壓縮至各個固定大小的存儲塊內。
作為優選地,步驟s3的過程包括:
檢查被重寫過的存儲塊中被重寫過的部分所佔的比例,若存在被完全重寫的存儲塊,則釋放該存儲塊。
可以理解的是,通過劃分存儲塊,可以使得連續輸入的數據一般會存儲與同一個或相鄰的存儲塊中,因此在進行數據重寫時,被重寫的數據一般會處於同一個或相鄰的存儲塊中,這樣只要控制存儲塊的大小,即能夠使得在經過幾次數據重寫後,比較容易達到一個或幾個存儲塊內的數據均被重寫過,進而釋放,這些存儲塊,達到減少無用數據的目的。而若壓縮後的數據存儲的空間並未劃分為同等大小的存儲塊,則在對其進行釋放操作時,所需的算法要比目前的算法複雜的多,且容易誤刪除其他未被重寫的數據。
進一步的,還可以將每個存儲塊分為多個存儲頁,每個存儲頁內存儲的數據較少,這樣一旦一個存儲頁內的數據全部被重寫,即僅釋放該存儲頁。這種方式能夠進一步減少無用數據佔用的空間大小,提高存儲空間的利用率。
當然,這裡的優化釋放算法的目的是為了釋放無用數據佔用的存儲空間,其具體算法內容本發明不作限定。
參見圖2所示,圖2為本發明提供的另一種壓縮優化方法的過程的流程圖。
本發明提供了一種壓縮優化方法,將壓縮後的數據存放至固定大小的存儲塊中,壓縮數據重寫後,將重寫後的新數據寫入新存儲空間內,而被重寫的舊數據進行標記,之後採用預設的優化釋放算法釋放掉被重寫的數據佔用的存儲空間。本發明通過將壓縮數據的存儲區域劃分為固定大小的存儲塊,方便了後續對被重寫的數據所佔用的存儲空間的釋放,且本發明通過數據的釋放操作,避免了大量無用數據的積累,減少了壓縮空間的浪費,提高了存儲空間利用率高。
本發明還提供了一種壓縮優化裝置,參見圖3所示,圖3為本發明提供的一種壓縮優化裝置的結構示意圖。該裝置包括:
壓縮模塊1,用於壓縮待壓縮數據,並將壓縮後的數據依次存儲至固定大小的存儲塊中;
重寫模塊2,用於對壓縮後的數據進行數據重寫後,為重寫後的新數據分配空閒存儲空間進行存儲,並標記被重寫的數據;
釋放模塊3,用於採用優化釋放算法釋放被重寫的數據佔用的存儲空間。
其中,壓縮模塊1具體包括:
計時單元,用於在待壓縮數據寫入過程中,每隔預設時間段,觸發一次實時壓縮單元;
實時壓縮單元,用於將該預設時間段內接收到的待壓縮數據進行壓縮,並存儲至相應的存儲塊中。
另外,釋放模塊3包括:
存儲塊檢查單元,用於檢查被重寫過的存儲塊中被重寫過的部分所佔的比例,若存在被完全重寫的存儲塊,觸發存儲塊釋放單元;
存儲塊釋放單元,用於釋放相應存儲塊。
本發明提供了一種壓縮優化裝置,將壓縮後的數據存放至固定大小的存儲塊中,壓縮數據重寫後,將重寫後的新數據寫入新存儲空間內,而被重寫的舊數據進行標記,之後採用預設的優化釋放算法釋放掉被重寫的數據佔用的存儲空間。本發明通過將壓縮數據的存儲區域劃分為固定大小的存儲塊,方便了後續對被重寫的數據所佔用的存儲空間的釋放,且本發明通過數據的釋放操作,避免了大量無用數據的積累,減少了壓縮空間的浪費,提高了存儲空間利用率高。
需要說明的是,在本說明書中,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或範圍的情況下,在其他實施例中實現。因此,本發明將不會被限制於本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的範圍。