亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種文件解壓縮的方法及裝置與流程

文檔序號:12362590閱讀:299來源:國知局
一種文件解壓縮的方法及裝置與流程

本發(fā)明涉及解壓縮技術(shù)領(lǐng)域,具體涉及一種文件解壓縮的方法及裝置。



背景技術(shù):

為了節(jié)省存儲資源或者節(jié)省網(wǎng)絡(luò)帶寬,目前數(shù)據(jù)壓縮技術(shù)已經(jīng)被廣泛使用。

數(shù)據(jù)壓縮是指在不丟失有用信息的前提下,縮減數(shù)據(jù)量以減少存儲空間,提高其傳輸、存儲和處理效率,或按照一定的算法對數(shù)據(jù)進行重新組織,減少數(shù)據(jù)的冗余和存儲的空間的一種技術(shù)方法。

與數(shù)據(jù)壓縮相對應(yīng)的就是數(shù)據(jù)解壓縮。在需要用到相應(yīng)數(shù)據(jù)時,需要將該數(shù)據(jù)解壓縮出來,數(shù)據(jù)解壓縮就是將一個通過軟件壓縮的文檔、文件等各種東西恢復(fù)到壓縮之前的樣子。

現(xiàn)有技術(shù)中,在數(shù)據(jù)解壓縮時,解壓縮方法經(jīng)常與壓縮包不匹配,導(dǎo)致解壓縮過程中發(fā)生的讀寫(IO)操作的次數(shù)非常多,解壓縮時間長,導(dǎo)致解壓縮效率低下。



技術(shù)實現(xiàn)要素:

為解決現(xiàn)有技術(shù)中解壓縮過程中IO操作的次數(shù)多的問題,本發(fā)明實施例提供一種文件解壓縮的方法,可以對解壓縮文件進行分類,然后選擇合適的解壓縮方法解壓縮該文件壓縮包,從而減少了IO操作的次數(shù),減少了解壓縮時間,提高了解壓縮效率。本發(fā)明實施例還提供了相應(yīng)的裝置。

本發(fā)明第一方面提供一種文件解壓縮的方法,包括:

從待解壓縮的文件壓縮包中讀取中心目錄記錄結(jié)束符;

從所述中心目錄記錄結(jié)束符中讀取所述文件壓縮包中被壓縮文件的數(shù)量;

若所述被壓縮文件的數(shù)量大于第一閾值,則根據(jù)所述被壓縮文件的數(shù)量,確定所述文件壓縮包中被壓縮文件的數(shù)據(jù)量均值;

根據(jù)所述被壓縮的文件的數(shù)據(jù)量均值,確定與所述文件壓縮包匹配的解壓策略,并采用與所述文件壓縮包匹配的解壓策略解壓縮所述文件壓縮包。

本發(fā)明第二方面提供一種文件解壓縮的裝置,包括:

第一讀取單元,用于從待解壓縮的文件壓縮包中讀取中心目錄記錄結(jié)束符;

第二讀取單元,用于從所述第一讀取單元讀取的所述中心目錄記錄結(jié)束符中讀取所述文件壓縮包中被壓縮文件的數(shù)量;

第一確定單元,用于若所述被壓縮文件的數(shù)量大于第一閾值,則根據(jù)所述第二讀取單元讀取的所述被壓縮文件的數(shù)量,確定所述文件壓縮包中被壓縮文件的數(shù)據(jù)量均值;

第二確定單元,用于根據(jù)所述第一確定單元確定的被壓縮的文件的數(shù)據(jù)量均值,確定與所述文件壓縮包匹配的解壓策略;

解壓縮單元,用于采用所述第二確定單元確定的與文件壓縮包匹配的解壓策略解壓縮所述文件壓縮包。

與現(xiàn)有技術(shù)中解壓縮過程中IO操作的次數(shù)多相比,本發(fā)明實施例提供一種文件解壓縮的方法,可以對解壓縮文件進行分類,然后選擇合適的解壓縮方法解壓縮該文件壓縮包,從而減少了IO操作的次數(shù),減少了解壓縮時間,提高了解壓縮效率。

附圖說明

為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明實施例中文件壓縮包的結(jié)構(gòu)示意圖;

圖2是本發(fā)明實施例中文件壓縮包的代碼示意圖;

圖3是本發(fā)明實施例中文件解壓縮的方法的一實施例示意圖;

圖4是本發(fā)明實施例中文件解壓縮的裝置的一實施例示意圖;

圖5是本發(fā)明實施例中文件解壓縮的裝置的另一實施例示意圖。

具體實施方式

本發(fā)明實施例提供一種文件解壓縮的方法,可以對解壓縮文件進行分類,然后選擇合適的解壓縮方法解壓縮該文件壓縮包,從而減少了IO操作的次數(shù),減少了解壓縮時間,提高了解壓縮效率。本發(fā)明實施例還提供了相應(yīng)的裝置。以下分別進行詳細(xì)說明。

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

圖1為本發(fā)明實施例中文件壓縮包的結(jié)構(gòu)示意圖。

如圖1所示,本發(fā)明實施例所提供的文件壓縮包的結(jié)構(gòu)可以包括各個文件的文件頭和文件壓縮數(shù)據(jù),以及中心目錄(Central Directory)和中心目錄記錄結(jié)束符。如圖1所示,文件部分可以包括文件1、文件2、文件3…文件n,n為大于3的整數(shù)。其中,每個文件都包括文件頭。中心目錄中包括每個文件的描述信息,例如:每個文件的文件頭信息和偏移信息等。中心目錄記錄結(jié)束符有22比特(bit),中心目錄記錄結(jié)束符的結(jié)構(gòu)可以參閱表1進行理解。

表1:中心目錄記錄結(jié)束符的結(jié)構(gòu)表

從表1可以讀取出中心目錄中所記錄的文件壓縮包中被壓縮文件的數(shù)量,以及該中心目錄的大小。

因中心目錄記錄結(jié)束符位于文件壓縮包中最后的22個比特位,所以,可以通過第一次讀取操作從待解壓縮的文件壓縮包中讀取中心目錄記錄結(jié)束符,然后再從表1所示的中心目錄記錄結(jié)束符中讀取所述文件壓縮包中被壓縮文件的數(shù)量,被壓縮文件的數(shù)量就是表1中的中心目錄的總記錄數(shù)量。

若被壓縮文件的數(shù)量大于第一閾值,則可以確認(rèn)該文件壓縮包中壓縮多個文件,針對文件壓縮包中有多個文件的解壓方案,需要根據(jù)文件壓縮包中各壓縮文件的數(shù)據(jù)量均值來決定解壓縮策略,因此,需要進一步確定文件壓縮包中被壓縮文件的數(shù)據(jù)量均值。第一閾值例如可以為50,該第一閾值的具體值在本發(fā)明實施例中不做限定,根據(jù)需求設(shè)置即可。

被壓縮文件的數(shù)據(jù)量均值只的是被壓縮文件的文件內(nèi)容的數(shù)據(jù)量均值,因各文件名稱的長度長短不一,如果將文件名稱的數(shù)據(jù)量引入到均值計算中,會影響被壓縮文件的數(shù)據(jù)量均值的準(zhǔn)確性。

如圖1所示,文件壓縮包的總數(shù)據(jù)量包括:文件頭的數(shù)據(jù)量、文件名稱數(shù)據(jù)量、文件內(nèi)容數(shù)據(jù)量、中心目錄的數(shù)據(jù)量和中心目錄記錄結(jié)束符的數(shù)據(jù)量。

文件壓縮包的總數(shù)據(jù)量可以很容易通過系統(tǒng)的接口函數(shù)得到,例如:用A表示被壓縮文件的總壓縮數(shù)據(jù)量,每個文件的文件頭的數(shù)據(jù)量是固定的30bit,若用D表示文件頭的數(shù)據(jù)量,則D=30bit,中心目錄記錄結(jié)束符的數(shù)據(jù)量為22bit,用B表示中心目錄記錄結(jié)束符的數(shù)據(jù)量,則B=22,中心目錄的數(shù)據(jù)量用C表示,從表1中可以讀取出該C的取值,也就是中心目錄的大小。被壓縮文件的數(shù)量用E就是表1中的中心目錄的總記錄數(shù)量,被壓縮文件的文件名稱總數(shù)據(jù)量用F表示,中心目錄中記錄有每個被壓縮文件的文件名稱的數(shù)據(jù)量,因此,只要將每個被壓縮文件的文件名稱的數(shù)據(jù)量讀取出來相加即可得到F的值,所述被壓縮文件的文件內(nèi)容總壓縮數(shù)據(jù)量用M表示。

因A=M+B+C+D*E+F,所以就可以得到M=A-B-C-D*E-F,因為B=22,D=30bit,所以就可以得到M=A-22-C-30*E-F。

因為A、C、E和F都是可以通過讀取得到,或者通過讀取相應(yīng)數(shù)據(jù)后計算得到,因此可以求出M,被壓縮文件的數(shù)據(jù)量均值=被壓縮文件的文件內(nèi)容總壓縮數(shù)據(jù)量/被壓縮文件的數(shù)量,即M/E。

若被壓縮文件的數(shù)量較多,每個被壓縮文件的文件名稱的數(shù)據(jù)量都讀取后再相加,無疑會增加操作時間,因此,可以設(shè)置第二閾值,例如第二閾值可以為60,當(dāng)被壓縮文件的數(shù)量少于60時,可以把每個被壓縮文件的文件名稱的數(shù)據(jù)量都讀取出來再相加,以得到所有被壓縮文件的文件名稱總數(shù)據(jù)量。若被壓縮文件的數(shù)量大于60時,可以只讀取預(yù)置數(shù)量的文件名稱的數(shù)據(jù)量,然后計算文件名稱的數(shù)據(jù)量平均值,根據(jù)所述數(shù)據(jù)量平均值和所述被壓縮文件的數(shù)量,確定所有被壓縮文件的文件名稱總數(shù)據(jù)量。預(yù)置數(shù)量可以與第二閾值相同,也可以與第二閾值不同。

圖1是本發(fā)明實施例中文件壓縮包的結(jié)構(gòu)示意圖,實際上,文件壓縮包中的數(shù)據(jù)是二進制代碼,因此,本發(fā)明實施例中給出了例如圖2所示代碼形式的文件壓縮包的示意圖。

如圖2所示,最后22bit為中心目錄記錄結(jié)束符,其中標(biāo)號101所指示的位置為中心目錄的總記錄數(shù)量,也就是被壓縮文件的數(shù)量,標(biāo)號102所指示的位置為中心目錄的大小。標(biāo)號103所指示的區(qū)域為中心目錄區(qū)域,標(biāo)號104所指示的區(qū)域為壓縮文件區(qū)域。

關(guān)于文件頭的長度為30bit可以參閱表2進行理解。

表2:文件頭信息結(jié)構(gòu)表

因為,從文件名稱開始,就不作為固定的文件頭了,所以,本發(fā)明實施例中,固定的文件頭長度為30bit。

因為中心目錄中的結(jié)構(gòu)上有文件名稱長度的字段,也就是每個文件名稱的數(shù)據(jù)量,所以可以直接從中心目錄上讀取文件名稱長度,包含文件名稱長度的中心目錄結(jié)構(gòu)表可以參閱表3進行理解。

表3:中心目錄結(jié)構(gòu)表

從表3中可以讀出各被壓縮文件的文件名稱長度,也就是文件名稱的數(shù)據(jù)量。

按照以上方案確定被壓縮的文件的數(shù)據(jù)量均值后,可以將數(shù)據(jù)量均值與第三閾值進行比較,第三閾值例如可以為1K,第三閾值的取值根據(jù)需求設(shè)置即可。

若所述被壓縮的文件的數(shù)據(jù)量均值小于第三閾值,則確定與所述文件壓縮包匹配的解壓策略為ZipFileStream,并采用ZipFileStream解壓縮所述文件壓縮包;

若所述被壓縮的文件的數(shù)據(jù)量均值大于第三閾值,則確定與所述文件壓縮包匹配的解壓策略為ZipFile,并采用ZipFile解壓縮所述文件壓縮包。

本發(fā)明實施例中,在解壓縮前先對文件壓縮包進行歸類,根據(jù)文件壓縮包中的被壓縮文件的數(shù)量和被壓縮的文件的數(shù)據(jù)量均值再為該文件壓縮包選擇合適的解壓策略,可以有效的減少解壓縮過程中IO操作的次數(shù),減少解壓縮的時間,從而提高解壓縮的效率。

例如:針對本發(fā)明實施例的一個仿真數(shù)據(jù)統(tǒng)計,針對同一個文件壓縮包,其中包括了大量的小文件,而且每個小文件的數(shù)據(jù)量均值都小于第三閾值,如果選擇ZipFile解壓縮,則需要發(fā)生507次IO操作,需要花費1982ms才能完成解壓縮,而如果選中ZipFileStream解壓縮,則只需發(fā)生7次IO操作,714ms就可以完成解壓縮。從仿真數(shù)據(jù)的對比中可以看出,為一個文件壓縮包選擇合適的解壓縮策略進行解壓縮,大大的減少了解壓縮過程中IO操作的次數(shù),減少解壓縮的時間,從而提高解壓縮的效率。

參閱圖3,本發(fā)明實施例提供的文件解壓縮的方法的一實施例包括:

201、從待解壓縮的文件壓縮包中讀取中心目錄記錄結(jié)束符。

202、從所述中心目錄記錄結(jié)束符中讀取所述文件壓縮包中被壓縮文件的數(shù)量。

203、若所述被壓縮文件的數(shù)量大于第一閾值,則根據(jù)所述被壓縮文件的數(shù)量,確定所述文件壓縮包中被壓縮文件的數(shù)據(jù)量均值。

204、根據(jù)所述被壓縮的文件的數(shù)據(jù)量均值,確定與所述文件壓縮包匹配的解壓策略,并采用與所述文件壓縮包匹配的解壓策略解壓縮所述文件壓縮包。

與現(xiàn)有技術(shù)中解壓縮過程中IO操作的次數(shù)多相比,本發(fā)明實施例提供一種文件解壓縮的方法,可以對解壓縮文件進行分類,然后選擇合適的解壓縮方法解壓縮該文件壓縮包,從而減少了IO操作的次數(shù),減少了解壓縮時間,提高了解壓縮效率。

可選地,所述根據(jù)所述被壓縮文件的數(shù)量,確定所述文件壓縮包中被壓縮文件的數(shù)據(jù)量均值,可以包括:

確定所述被壓縮文件的文件內(nèi)容總壓縮數(shù)據(jù)量;

根據(jù)所述文件內(nèi)容總壓縮數(shù)據(jù)量和所述被壓縮文件的數(shù)量,確定所述文件壓縮包中被壓縮文件的數(shù)據(jù)量均值。

可選地,所述確定所述被壓縮文件的文件內(nèi)容總壓縮數(shù)據(jù)量,可以包括:

確定所述被壓縮文件的總壓縮數(shù)據(jù)量A、所述中心目錄記錄結(jié)束符的數(shù)據(jù)量B、中心目錄的數(shù)據(jù)量C、文件頭的數(shù)據(jù)量D、被壓縮文件的數(shù)量E,以及確定所有被壓縮文件的文件名稱總數(shù)據(jù)量F;

根據(jù)如下公式確定所述被壓縮文件的文件內(nèi)容總壓縮數(shù)據(jù)量M:

M=A-B-C-D*E-F。

可選地,所述確定所有被壓縮文件的文件名稱總數(shù)據(jù)量,包括:

若所述被壓縮文件的數(shù)量大于第二閾值,則獲取預(yù)置數(shù)量的文件名稱的數(shù)據(jù)量,以計算文件名稱的數(shù)據(jù)量平均值,根據(jù)所述數(shù)據(jù)量平均值和所述被壓縮文件的數(shù)量,確定所有被壓縮文件的文件名稱總數(shù)據(jù)量,所述第二閾值大于所述第一閾值;

若所述被壓縮文件的數(shù)量小于第二閾值,則將每個被壓縮文件的文件名稱的數(shù)據(jù)量相加,以得到所有被壓縮文件的文件名稱總數(shù)據(jù)量。

可選地,所述根據(jù)所述被壓縮的文件的數(shù)據(jù)量均值,確定與所述文件壓縮包匹配的解壓策略,并采用與所述文件壓縮包匹配的解壓策略解壓縮所述文件壓縮包,可以包括:

若所述被壓縮的文件的數(shù)據(jù)量均值小于第三閾值,則確定與所述文件壓縮包匹配的解壓策略為ZipFileStream,并采用ZipFileStream解壓縮所述文件壓縮包;

若所述被壓縮的文件的數(shù)據(jù)量均值大于第三閾值,則確定與所述文件壓縮包匹配的解壓策略為ZipFile,并采用ZipFile解壓縮所述文件壓縮包。

以上圖3所對應(yīng)文件解壓縮的方法的實施例以及任一可選實施例可以參閱圖1和圖2以及表至表3所對應(yīng)的描述進行理解,本處不再重復(fù)贅述。

以上是對文件解壓縮的方法的描述,下面結(jié)合附圖描述本發(fā)明實施例中的文件解壓縮的裝置。

如圖4所示,本發(fā)明實施例所提供的文件解壓縮的裝置30的一實施例包括:

第一讀取單元301,用于從待解壓縮的文件壓縮包中讀取中心目錄記錄結(jié)束符;

第二讀取單元302,用于從所述第一讀取單元301讀取的所述中心目錄記錄結(jié)束符中讀取所述文件壓縮包中被壓縮文件的數(shù)量;

第一確定單元303,用于若所述被壓縮文件的數(shù)量大于第一閾值,則根據(jù)所述第二讀取單元302讀取的所述被壓縮文件的數(shù)量,確定所述文件壓縮包中被壓縮文件的數(shù)據(jù)量均值;

第二確定單元304,用于根據(jù)所述第一確定單元303確定的被壓縮的文件的數(shù)據(jù)量均值,確定與所述文件壓縮包匹配的解壓策略;

解壓縮單元305,用于采用所述第二確定單元302確定的與文件壓縮包匹配的解壓策略解壓縮所述文件壓縮包。

本發(fā)明實施例中,第一讀取單元301從待解壓縮的文件壓縮包中讀取中心目錄記錄結(jié)束符;第二讀取單元302從所述第一讀取單元301讀取的所述中心目錄記錄結(jié)束符中讀取所述文件壓縮包中被壓縮文件的數(shù)量;第一確定單元303若所述被壓縮文件的數(shù)量大于第一閾值,則根據(jù)所述第二讀取單元302讀取的所述被壓縮文件的數(shù)量,確定所述文件壓縮包中被壓縮文件的數(shù)據(jù)量均值;第二確定單元304根據(jù)所述第一確定單元303確定的被壓縮的文件的數(shù)據(jù)量均值,確定與所述文件壓縮包匹配的解壓策略;解壓縮單元305采用所述第二確定單元302確定的與文件壓縮包匹配的解壓策略解壓縮所述文件壓縮包。與現(xiàn)有技術(shù)中解壓縮過程中IO操作的次數(shù)多相比,本發(fā)明實施例提供一種文件解壓縮的裝置,可以對解壓縮文件進行分類,然后選擇合適的解壓縮方法解壓縮該文件壓縮包,從而減少了IO操作的次數(shù),減少了解壓縮時間,提高了解壓縮效率。

可選地,所述第一確定單元303用于:

確定所述被壓縮文件的文件內(nèi)容總壓縮數(shù)據(jù)量;

根據(jù)所述文件內(nèi)容總壓縮數(shù)據(jù)量和所述被壓縮文件的數(shù)量,確定所述文件壓縮包中被壓縮文件的數(shù)據(jù)量均值。

可選地,所述第一確定單元303用于:

確定所述被壓縮文件的總壓縮數(shù)據(jù)量A、所述中心目錄記錄結(jié)束符的數(shù)據(jù)量B、中心目錄的數(shù)據(jù)量C、文件頭的數(shù)據(jù)量D、被壓縮文件的數(shù)量E,以及確定所有被壓縮文件的文件名稱總數(shù)據(jù)量F;

根據(jù)如下公式確定所述被壓縮文件的文件內(nèi)容總壓縮數(shù)據(jù)量M:

M=A-B-C-D*E-F。

可選地,所述第一確定單元303用于:

若所述被壓縮文件的數(shù)量大于第二閾值,則獲取預(yù)置數(shù)量的文件名稱的數(shù)據(jù)量,以計算文件名稱的數(shù)據(jù)量平均值,根據(jù)所述數(shù)據(jù)量平均值和所述被壓縮文件的數(shù)量,確定所有被壓縮文件的文件名稱總數(shù)據(jù)量,所述第二閾值大于所述第一閾值;

若所述被壓縮文件的數(shù)量小于第二閾值,則將每個被壓縮文件的文件名稱的數(shù)據(jù)量相加,以得到所有被壓縮文件的文件名稱總數(shù)據(jù)量。

可選地,所述第二確定單元304,用于若所述被壓縮的文件的數(shù)據(jù)量均值小于第三閾值,則確定與所述文件壓縮包匹配的解壓策略為ZipFileStream;

所述解壓縮單元305,用于采用ZipFileStream解壓縮所述文件壓縮包;

所述第二確定單元304,用于若所述被壓縮的文件的數(shù)據(jù)量均值大于第三閾值,則確定與所述文件壓縮包匹配的解壓策略為ZipFile;

所述解壓縮單元305,用于采用ZipFile解壓縮所述文件壓縮包。

以上圖4所對應(yīng)的文件解壓縮的裝置實施例以及任一可選實施例可以參閱圖1和圖2以及表至表3所對應(yīng)的描述進行理解,本處不再重復(fù)贅述。

圖5是本發(fā)明實施例提供的文件壓縮的裝置30的結(jié)構(gòu)示意圖。所述文件壓縮的裝置30包括處理器310、存儲器350和收發(fā)器330,存儲器350可以包括只讀存儲器和隨機存取存儲器,并向處理器310提供操作指令和數(shù)據(jù)。存儲器350的一部分還可以包括非易失性隨機存取存儲器(NVRAM)。

在一些實施方式中,存儲器350存儲了如下的元素,可執(zhí)行模塊或者數(shù)據(jù)結(jié)構(gòu),或者他們的子集,或者他們的擴展集:

在本發(fā)明實施例中,通過調(diào)用存儲器350存儲的操作指令(該操作指令可存儲在操作系統(tǒng)中),

從待解壓縮的文件壓縮包中讀取中心目錄記錄結(jié)束符;

從所述中心目錄記錄結(jié)束符中讀取所述文件壓縮包中被壓縮文件的數(shù)量;

若所述被壓縮文件的數(shù)量大于第一閾值,則根據(jù)所述被壓縮文件的數(shù)量,確定所述文件壓縮包中被壓縮文件的數(shù)據(jù)量均值;

根據(jù)所述被壓縮的文件的數(shù)據(jù)量均值,確定與所述文件壓縮包匹配的解壓策略,并采用與所述文件壓縮包匹配的解壓策略解壓縮所述文件壓縮包。

與現(xiàn)有技術(shù)中解壓縮過程中IO操作的次數(shù)多相比,本發(fā)明實施例提供一種文件解壓縮的方法,可以對解壓縮文件進行分類,然后選擇合適的解壓縮方法解壓縮該文件壓縮包,從而減少了IO操作的次數(shù),減少了解壓縮時間,提高了解壓縮效率。

處理器310控制文件壓縮的裝置30的操作,處理器310還可以稱為CPU(Central Processing Unit,中央處理單元)。存儲器350可以包括只讀存儲器和隨機存取存儲器,并向處理器310提供指令和數(shù)據(jù)。存儲器350的一部分還可以包括非易失性隨機存取存儲器(NVRAM)。具體的應(yīng)用中文件壓縮的裝置30的各個組件通過總線系統(tǒng)320耦合在一起,其中總線系統(tǒng)320除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號總線等。但是為了清楚說明起見,在圖中將各種總線都標(biāo)為總線系統(tǒng)320。

上述本發(fā)明實施例揭示的方法可以應(yīng)用于處理器310中,或者由處理器310實現(xiàn)。處理器310可能是一種集成電路芯片,具有信號的處理能力。在實現(xiàn)過程中,上述方法的各步驟可以通過處理器310中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器310可以是通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件??梢詫崿F(xiàn)或者執(zhí)行本發(fā)明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結(jié)合本發(fā)明實施例所公開的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領(lǐng)域成熟的存儲介質(zhì)中。該存儲介質(zhì)位于存儲器350,處理器310讀取存儲器350中的信息,結(jié)合其硬件完成上述方法的步驟。

可選地,處理器310用于:

確定所述被壓縮文件的文件內(nèi)容總壓縮數(shù)據(jù)量;

根據(jù)所述文件內(nèi)容總壓縮數(shù)據(jù)量和所述被壓縮文件的數(shù)量,確定所述文件壓縮包中被壓縮文件的數(shù)據(jù)量均值。

可選地,處理器310用于:

確定所述被壓縮文件的總壓縮數(shù)據(jù)量A、所述中心目錄記錄結(jié)束符的數(shù)據(jù)量B、中心目錄的數(shù)據(jù)量C、文件頭的數(shù)據(jù)量D、被壓縮文件的數(shù)量E,以及確定所有被壓縮文件的文件名稱總數(shù)據(jù)量F;

根據(jù)如下公式確定所述被壓縮文件的文件內(nèi)容總壓縮數(shù)據(jù)量M:

M=A-B-C-D*E-F。

可選地,處理器310用于:

若所述被壓縮文件的數(shù)量大于第二閾值,則獲取預(yù)置數(shù)量的文件名稱的數(shù)據(jù)量,以計算文件名稱的數(shù)據(jù)量平均值,根據(jù)所述數(shù)據(jù)量平均值和所述被壓縮文件的數(shù)量,確定所有被壓縮文件的文件名稱總數(shù)據(jù)量,所述第二閾值大于所述第一閾值;

若所述被壓縮文件的數(shù)量小于第二閾值,則將每個被壓縮文件的文件名稱的數(shù)據(jù)量相加,以得到所有被壓縮文件的文件名稱總數(shù)據(jù)量。

可選地,處理器310用于:

若所述被壓縮的文件的數(shù)據(jù)量均值小于第三閾值,則確定與所述文件壓縮包匹配的解壓策略為ZipFileStream,并采用ZipFileStream解壓縮所述文件壓縮包;

若所述被壓縮的文件的數(shù)據(jù)量均值大于第三閾值,則確定與所述文件壓縮包匹配的解壓策略為ZipFile,并采用ZipFile解壓縮所述文件壓縮包。

以上的文件壓縮的裝置30可以參閱圖1至圖4部分的描述進行理解,本處不做過多贅述

本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:ROM、RAM、磁盤或光盤等。

以上對本發(fā)明實施例所提供的文件解壓縮的方法以及裝置進行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1