欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

智能壓縮方法及系統(tǒng)與流程

文檔序號(hào):12161358閱讀:450來源:國(guó)知局
智能壓縮方法及系統(tǒng)與流程

本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別是涉及一種智能壓縮方法及系統(tǒng)。



背景技術(shù):

開發(fā)人員在進(jìn)行前端開發(fā)時(shí),需要將前端的靜態(tài)資源進(jìn)行壓縮后再進(jìn)行上傳,前端的靜態(tài)資源主要包括開發(fā)前端時(shí)所用的圖片、js(JavaScript)、css(Cascading Style Sheets層疊樣式表)、html(HyperText Markup Language超文本標(biāo)記語言)等文件。開發(fā)人員在對(duì)其進(jìn)行壓縮時(shí)需手動(dòng)對(duì)其一個(gè)個(gè)進(jìn)行壓縮,壓縮過程繁瑣,耗時(shí)較長(zhǎng),且容易遺漏某個(gè)前端靜態(tài)資源文件未進(jìn)行壓縮,效率較低。



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

基于此,有必要提供一種智能壓縮方法,能夠智能壓縮前端靜態(tài)資源,提高壓縮效率,節(jié)省時(shí)間。

基于此,還有必要提供一種智能壓縮系統(tǒng),能夠智能壓縮前端靜態(tài)資源,提高壓縮效率,節(jié)省時(shí)間。

一種智能壓縮方法,包括以下步驟:

獲取待壓縮文件的文件名稱及所述文件名稱的字符串;

分析所述字符串并判斷所述待壓縮文件的文件類型;

根據(jù)所述字符串及所述文件類型判斷是否具有對(duì)應(yīng)的壓縮方法,若是,則采用對(duì)應(yīng)的壓縮方法將所述待壓縮文件進(jìn)行壓縮;

若否,則采用默認(rèn)壓縮方法將所述待壓縮文件進(jìn)行壓縮。

在其中一個(gè)實(shí)施例中,在所述獲取待壓縮文件的文件名稱的步驟之前,還包括以下步驟:

設(shè)置待壓縮文件的命名規(guī)則;

根據(jù)所述命名規(guī)則設(shè)置對(duì)應(yīng)的壓縮方法;

導(dǎo)入待壓縮文件。

在其中一個(gè)實(shí)施例中,所述設(shè)置待壓縮文件的命名規(guī)則的步驟具體如下:

設(shè)置圖片類型的文件名稱的字符串以第一預(yù)設(shè)分隔符和第二預(yù)設(shè)分隔符隔開;

設(shè)置非圖片類型的文件名稱的字符串以第二預(yù)設(shè)分隔符隔開;

設(shè)置圖片類型的文件名稱的字符串包括名稱前綴、圖片用途、壓縮方式、壓縮級(jí)別、圖片尺寸以及文件后綴。

在其中一個(gè)實(shí)施例中,所述方法還包括以下步驟:

根據(jù)第一預(yù)設(shè)分隔符和第二預(yù)設(shè)分隔符分割待壓縮文件的文件名稱的字符串;

判斷所述待壓縮文件是否為圖片類型;

若所述待壓縮文件為圖片類型,則判斷所述待壓縮文件的圖片用途、壓縮級(jí)別及圖片尺寸;

采用與所述待壓縮文件的圖片用途、壓縮級(jí)別及圖片尺寸對(duì)應(yīng)的壓縮方法將所述待壓縮文件進(jìn)行壓縮;

若所述字符串中不包含所述待壓縮文件的壓縮級(jí)別以及圖片尺寸,則所述待壓縮文件的壓縮級(jí)別為默認(rèn)壓縮級(jí)別,圖片尺寸為默認(rèn)壓縮尺寸。

在其中一個(gè)實(shí)施例中,所述方法還包括以下步驟:

設(shè)置非圖片類型的待壓縮文件的默認(rèn)壓縮方法為L(zhǎng)Z77無損壓縮;

設(shè)置圖片類型的待壓縮文件默認(rèn)壓縮方法為無損壓縮,默認(rèn)壓縮等級(jí)為壓縮級(jí)別中,默認(rèn)圖片尺寸為900*450。

一種智能壓縮系統(tǒng),包括:

獲取模塊,用于獲取待壓縮文件的文件名稱及所述文件名稱的字符串;

分析模塊,用于分析所述字符串并判斷所述待壓縮文件的文件類型;

壓縮模塊,用于根據(jù)所述字符串及所述文件類型判斷是否具有對(duì)應(yīng)的壓縮方法,若是,則采用對(duì)應(yīng)的壓縮方法將所述待壓縮文件進(jìn)行壓縮;若否,則采用默認(rèn)壓縮方法將所述待壓縮文件進(jìn)行壓縮。

在其中一個(gè)實(shí)施例中,所述系統(tǒng)還包括:

命名規(guī)則設(shè)置模塊,用于設(shè)置待壓縮文件的命名規(guī)則;

壓縮方法設(shè)置模塊,用于根據(jù)所述命名規(guī)則設(shè)置對(duì)應(yīng)的壓縮方法;

導(dǎo)入模塊,用于導(dǎo)入待壓縮文件。

在其中一個(gè)實(shí)施例中,所述命名規(guī)則設(shè)置模塊包括:

符號(hào)設(shè)置子模塊,用于設(shè)置圖片類型的文件名稱字符串以第一預(yù)設(shè)分隔符和第二預(yù)設(shè)分隔符隔開;

符號(hào)設(shè)置子模塊還用于設(shè)置非圖片類型的文件名稱的字符串以第二預(yù)設(shè)分隔符隔開;

名稱設(shè)置子模塊,用于設(shè)置圖片類型的文件名稱的字符串包括名稱前綴、圖片用途、壓縮方式、壓縮級(jí)別、圖片尺寸以及文件后綴。

在其中一個(gè)實(shí)施例中,所述系統(tǒng)還包括:

分割模塊,用于根據(jù)第一預(yù)設(shè)分隔符和第二預(yù)設(shè)分隔符分割待壓縮文件的文件名稱的字符串;

判斷模塊,用于判斷所述待壓縮文件是否為圖片類型;

所述判斷模塊還用于若所述待壓縮文件為圖片類型,則判斷所述待壓縮文件的壓縮級(jí)別以及圖片尺寸;

所述壓縮模塊還用于采用與所述待壓縮文件的壓縮級(jí)別以及圖片尺寸對(duì)應(yīng)的壓縮方法將所述待壓縮文件進(jìn)行壓縮;

若所述字符串中不包含所述待壓縮文件的壓縮級(jí)別以及圖片尺寸,則所述待壓縮文件的壓縮級(jí)別為默認(rèn)壓縮級(jí)別,圖片尺寸為默認(rèn)壓縮尺寸。

在其中一個(gè)實(shí)施例中,所述系統(tǒng)還包括:

非圖片設(shè)置模塊,用于設(shè)置非圖片類型的待壓縮文件的默認(rèn)壓縮方法為L(zhǎng)Z77無損壓縮;

圖片設(shè)置模塊,用于設(shè)置圖片類型的待壓縮文件的默認(rèn)壓縮方法為無損壓縮,默認(rèn)壓縮等級(jí)為壓縮級(jí)別中,默認(rèn)圖片尺寸為900*450。

上述智能壓縮方法及系統(tǒng),根據(jù)分析前端靜態(tài)資源的待壓縮文件的文件名稱的字符串智能選擇與其對(duì)應(yīng)的壓縮方法,自動(dòng)將資源進(jìn)行壓縮,無需開發(fā)人 員手動(dòng)對(duì)前端的靜態(tài)資源文件一個(gè)個(gè)進(jìn)行壓縮,解放了開發(fā)人員手動(dòng)零散壓縮,且開發(fā)人員無需再擔(dān)心是否有前端靜態(tài)資源被遺漏而未被壓縮,提高了壓縮效率,節(jié)省了時(shí)間。

附圖說明

圖1為一個(gè)實(shí)施例中智能壓縮方法的流程示意圖;

圖2為另一個(gè)實(shí)施例中智能壓縮方法的流程示意圖;

圖3為一個(gè)實(shí)施例中判斷圖片類型的待壓縮文件的壓縮方法的流程示意圖;

圖4為一個(gè)實(shí)施例中智能壓縮系統(tǒng)的結(jié)構(gòu)示意圖;

圖5為另一個(gè)實(shí)施例中智能壓縮系統(tǒng)的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面結(jié)合附圖及具體的實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)的描述。

如圖1所示,一種智能壓縮方法,包括以下步驟:

步驟S110,獲取待壓縮文件的文件名稱及文件名稱的字符串。

具體的,通過開發(fā)人員將前端靜態(tài)資源導(dǎo)入后,獲取待壓縮文件的文件名稱,以及文件名稱對(duì)應(yīng)的字符串。其中,前端靜態(tài)資源主要包括圖片、js、css、html等文件,應(yīng)用于前端開發(fā)。

步驟S120,分析字符串并判斷該待壓縮文件的文件類型。

具體的,在獲取待壓縮文件的文件名稱對(duì)應(yīng)的字符串后,分析字符串。將字符串通過預(yù)設(shè)的分隔符進(jìn)行分割,例如通過分隔符“.”將字符串分割成文件名和文件后綴,而圖片類型的文件名稱的字符串的文件名部分又可再分割成名稱前綴、圖片用途、壓縮方式、壓縮級(jí)別以及圖片尺寸等。分割字符串后,分析字符串分割后的各部分,并判斷該待壓縮文件的文件類型,主要通過文件后綴進(jìn)行判斷是為圖片類型,還是為js、css、html等非圖片類型文件。

步驟S130,根據(jù)字符串及文件類型判斷是否具有對(duì)應(yīng)的壓縮方法,若是,則執(zhí)行步驟S140,若否,則執(zhí)行步驟S150。

具體的,判斷是否有與字符串分析結(jié)果和待壓縮文件的文件類型相匹配的 壓縮方法,若是,則采用該壓縮方法將待壓縮文件進(jìn)行壓縮,若否,則采用預(yù)先設(shè)置的默認(rèn)壓縮方法將待壓縮文件進(jìn)行壓縮。

步驟S140,采用對(duì)應(yīng)的壓縮方法將該待壓縮文件進(jìn)行壓縮。

具體的,采用與字符串分析結(jié)果和待壓縮文件的文件類型相匹配的壓縮方法,將待壓縮文件進(jìn)行壓縮。例如,待壓縮文件的文件名稱的字符串為my_ic_middle_500*200.jpg,分割該字符串后,根據(jù)文件后綴可知該文件為圖片,圖片用途為圖標(biāo),壓縮級(jí)別為中,圖片尺寸為500*200,即采用圖標(biāo)的默認(rèn)壓縮方法將該文件壓縮至500*200大小,壓縮級(jí)別中。

步驟S150,采用默認(rèn)壓縮方法將該待壓縮文件進(jìn)行壓縮。

具體的,默認(rèn)壓縮方法可預(yù)先進(jìn)行設(shè)置,可設(shè)置js、css、html等非圖片類型的文件的默認(rèn)壓縮方法為L(zhǎng)Z77無損壓縮。LZ77無損壓縮一種基于字典的、“滑動(dòng)窗”的無損壓縮算法,廣泛應(yīng)用于通信、計(jì)算機(jī)文件存檔等方面,總會(huì)包含有一個(gè)動(dòng)態(tài)窗口和預(yù)讀緩沖器??稍O(shè)置圖片類型文件的默認(rèn)壓縮方法為無損壓縮,例如行程長(zhǎng)度編碼,熵編碼法等。當(dāng)待壓縮文件的文件類型為js、css、html等非圖片類型文件時(shí),采用其默認(rèn)壓縮方法LZ77無損壓縮。當(dāng)圖片類型的文件名稱的字符串中既不包含圖片用途字段且不包含可采用有損壓縮字段時(shí),采用圖片的默認(rèn)壓縮方法。

上述智能壓縮方法,根據(jù)分析前端靜態(tài)資源的待壓縮文件的文件名稱的字符串智能選擇與其對(duì)應(yīng)的壓縮方法,自動(dòng)將資源進(jìn)行壓縮,無需開發(fā)人員手動(dòng)對(duì)前端的靜態(tài)資源文件一個(gè)個(gè)進(jìn)行壓縮,解放了開發(fā)人員手動(dòng)零散壓縮,且開發(fā)人員無需再擔(dān)心是否有前端靜態(tài)資源被遺漏而未被壓縮,提高了壓縮效率,節(jié)省了時(shí)間。

如圖2所示,在另一個(gè)實(shí)施例中,一種智能壓縮方法,包括以下步驟:

步驟S202,設(shè)置待壓縮文件的命名規(guī)則。

具體的,設(shè)置待壓縮文件的命名規(guī)則主要包括以下步驟:

設(shè)置圖片類型的文件名稱的字符串以第一預(yù)設(shè)分隔符和第二預(yù)設(shè)分隔符隔開。例如,第一預(yù)設(shè)分隔符可設(shè)置為“_”、“/”、“-”等符號(hào),第二預(yù)設(shè)分隔符可設(shè)置為“.”,在分隔符“.”前的字符串部分為文件名,在分隔符“.”后的字符 串部分為文件后綴。

設(shè)置非圖片類型的文件名稱的字符串以第二預(yù)設(shè)分隔符隔開。非圖片類型的文件名稱的字符串只需以第二預(yù)設(shè)分隔符隔開,分為文件名和文件后綴。

設(shè)置圖片類型的文件名稱的字符串包括名稱前綴、圖片用途、壓縮方式、壓縮級(jí)別、圖片尺寸以及文件后綴。名稱前綴、圖片用途、壓縮方式、壓縮級(jí)別、圖片尺寸可用第一預(yù)設(shè)分隔符隔開,與文件后綴用第二預(yù)設(shè)分隔符隔開。

步驟S204,根據(jù)命名規(guī)則設(shè)置對(duì)應(yīng)的壓縮方法。

具體的,根據(jù)設(shè)置的命名規(guī)則設(shè)置與命名規(guī)則相對(duì)應(yīng)的壓縮方法。非圖片類型的文件采用默認(rèn)壓縮方法LZ77無損壓縮,圖片類型的文件則根據(jù)開發(fā)人員的命名依次判斷所使用的壓縮方法。開發(fā)人員通過命名圖片類型的文件名稱,可指定該圖片的圖片用途,圖片用途可根據(jù)業(yè)務(wù)需求自行設(shè)定,例如可設(shè)置ic表示圖標(biāo),gb表示背景圖。不同用途的圖片可預(yù)先設(shè)置默認(rèn)壓縮方法,可設(shè)置圖標(biāo)的默認(rèn)壓縮方法為有損壓縮方法,背景圖的默認(rèn)壓縮方法為無損壓縮方法??芍付▓D片的壓縮方法,例如設(shè)置lossyc表示可進(jìn)行有損壓縮,losslessc表示需進(jìn)行無損壓縮。常用的有損壓縮方法主要有色度抽樣,變換編碼,分形壓縮等,常用的無損壓縮方法主要有行程長(zhǎng)度編碼,熵編碼法等??芍付▓D片尺寸,圖片的默認(rèn)尺寸可預(yù)先進(jìn)行設(shè)置,例如設(shè)置默認(rèn)圖片尺寸為900*450??芍付▓D片的壓縮級(jí)別,將壓縮級(jí)別分為9級(jí),分別為clevel1、clevel2、clevel3、clevel4、clevel5、clevel6、clevel7、clevel8、clevel9,可設(shè)置圖片默認(rèn)壓縮等級(jí)為中,即clevel5,small表示壓縮級(jí)別小,為clevel1,middle表示壓縮級(jí)別中,為clevel5,large表示壓縮級(jí)別大,為clevel9。

例如,有一待壓縮文件的文件名稱的字符串為xx_bg_800*400.jpg,將該字符串通過分隔符“_”和“.”進(jìn)行分割,可分割為xx、bg、800*400、jpg,根據(jù)文件后綴可知該文件為圖片類型,xx為名稱前綴,圖片用途為背景圖,圖片尺寸為800*400,即指定將圖片壓縮為800*400。有另一待壓縮文件的文件名稱的字符串為mouse_ic_lossyc_small.jpg,通過分隔符“_”和“.”分割后,可知該待壓縮文件為圖片類型,圖片用途為圖標(biāo),指定壓縮方式為可用有損壓縮,壓縮級(jí)別為小。

步驟S206,導(dǎo)入待壓縮文件。

具體的,通過開發(fā)人員將待壓縮文件導(dǎo)入。

步驟S208,分割待壓縮文件的文件名稱的字符串。

具體的,在導(dǎo)入待壓縮文件后,獲取待壓縮文件的文件名稱的字符串,按照步驟S202和步驟S204中設(shè)置的命名規(guī)則進(jìn)行分割,得到分割后的各部分字符串。

步驟S210,判斷待壓縮文件是否為圖片類型,若是,則執(zhí)行步驟S212,若否,則執(zhí)行步驟S216。

具體的,根據(jù)分割后的字符串的文件后綴判斷該待壓縮文件是否為圖片類型,若是圖片類型,則需進(jìn)一步進(jìn)行分析,若為非圖片類型,而是js、css、html等文件則直接采用預(yù)先設(shè)置的默認(rèn)壓縮方法LZ77無損壓縮。

步驟S212,判斷該待壓縮文件的圖片用途、壓縮級(jí)別及圖片尺寸。再執(zhí)行步驟S214。

具體的,根據(jù)分割后的文件名稱的字符串,分別判斷出該圖片文件的圖片用途、壓縮方法、壓縮級(jí)別及圖片尺寸等,若字符串中未包含壓縮級(jí)別,則采用預(yù)先設(shè)置的默認(rèn)壓縮級(jí)別,若字符串中未包含圖片尺寸,則采用預(yù)先設(shè)置的默認(rèn)圖片尺寸。

步驟S214,采用對(duì)應(yīng)的壓縮方法將待壓縮文件進(jìn)行壓縮。

具體的,根據(jù)分析分割后的文件名稱的字符串的結(jié)果采用與字符串相匹配的壓縮方法,將待壓縮文件進(jìn)行壓縮。

步驟S216,采用默認(rèn)壓縮方法將所述待壓縮文件進(jìn)行壓縮。

具體的,若該待壓縮文件不是圖片類型,即為js、css、html等文件,直接采用預(yù)先設(shè)置的默認(rèn)壓縮方法LZ77無損壓縮,將待壓縮文件進(jìn)行壓縮。

上述智能壓縮方法,開發(fā)人員通過命名待壓縮文件,可指定其圖片用途、壓縮方式、壓縮等級(jí)和圖片尺寸等,根據(jù)分析待壓縮文件的文件名稱的字符串智能選擇與其對(duì)應(yīng)的壓縮方法,自動(dòng)將資源進(jìn)行壓縮,無需開發(fā)人員手動(dòng)對(duì)前端的靜態(tài)資源文件一個(gè)個(gè)進(jìn)行壓縮,解放了開發(fā)人員手動(dòng)零散壓縮,且開發(fā)人員無需再擔(dān)心是否有前端靜態(tài)資源被遺漏而未被壓縮,提高了壓縮效率,節(jié)省 了時(shí)間。

圖3為一個(gè)實(shí)施例中判斷圖片類型的待壓縮文件的壓縮方法的流程示意圖。如圖3所示,判斷圖片類型的待壓縮文件所采用的壓縮方法具體包括以下步驟:

步驟S302,判斷圖片用途。

具體的,圖片用途可根據(jù)業(yè)務(wù)需求進(jìn)行設(shè)置,例如設(shè)置ic表示圖標(biāo),bg表示背景圖。不同用途的圖片可預(yù)先設(shè)置默認(rèn)壓縮方法,例如設(shè)置圖標(biāo)的默認(rèn)壓縮方法為有損壓縮方法,背景圖的默認(rèn)壓縮方法為無損壓縮方法。當(dāng)分析分割后的文件名稱的字符串時(shí),發(fā)現(xiàn)里面包含有ic或bg字段,且其未指定壓縮方式時(shí),則采用圖標(biāo)或背景圖的默認(rèn)壓縮方法。

步驟S304,判斷是否可采用有損壓縮,若是,則執(zhí)行步驟S308,若否,則執(zhí)行步驟S306。

具體的,壓縮方式可預(yù)先進(jìn)行設(shè)置,例如設(shè)置lossyc表示可進(jìn)行有損壓縮,losslessc表示需進(jìn)行無損壓縮。當(dāng)分析分割后的文件名稱的字符串時(shí),發(fā)現(xiàn)里面包含有l(wèi)ossyc字段,即表示該圖片可采用有損壓縮進(jìn)行壓縮,若是包含有l(wèi)osslessc字段,則表示該圖片必須采用無損壓損。常用的有損壓縮方法主要有色度抽樣,變換編碼,分形壓縮等,常用的無損壓縮方法主要有行程長(zhǎng)度編碼,熵編碼法等。若無指定壓縮方式,且無指定圖片用途,則采用預(yù)先設(shè)置的圖片默認(rèn)壓縮方法無損壓縮,若指定圖片用途,則采用預(yù)先設(shè)置的各個(gè)圖片用途對(duì)應(yīng)的默認(rèn)壓縮方法。

步驟S306,采用默認(rèn)壓縮方法,執(zhí)行步驟S308。

具體的,若待壓縮文件的文件名稱的字符串中無指定壓縮方式,且無指定圖片用途,則采用預(yù)先設(shè)置的圖片默認(rèn)壓縮方法無損壓縮,若指定圖片用途,則采用預(yù)先設(shè)置的各個(gè)圖片用途對(duì)應(yīng)的默認(rèn)壓縮方法。

步驟S308,判斷是否有壓縮級(jí)別,若是,則執(zhí)行步驟S312,若否,則執(zhí)行步驟S310。

具體的,圖片的壓縮級(jí)別分為9級(jí),分別為clevel1、clevel2、clevel3、clevel4、clevel5、clevel6、clevel7、clevel8、clevel9,可預(yù)先設(shè)置small表示壓縮級(jí)別小,為clevel1,middle表示壓縮級(jí)別中,為clevel5,large表示壓縮級(jí)別大,為clevel9。 當(dāng)分析分割后的文件名稱的字符串時(shí),發(fā)現(xiàn)包含有small、middle、large等字段時(shí),即表示該圖片所需的壓縮級(jí)別。

步驟S310,采用默認(rèn)壓縮級(jí)別,執(zhí)行步驟S312。

具體的,默認(rèn)壓縮級(jí)別可預(yù)先設(shè)置,例如設(shè)置默認(rèn)壓縮級(jí)別為中,當(dāng)圖片的文件名稱的字符串中未包含指定壓縮級(jí)別的字段時(shí),則采用默認(rèn)壓縮級(jí)別進(jìn)行壓縮。

步驟S312,判斷是否有圖片尺寸,若是,執(zhí)行步驟S316,若否,執(zhí)行步驟S314。

具體的,圖片尺寸的格式為長(zhǎng)*寬,當(dāng)分析分割后的文件名稱的字符串時(shí),若包含有圖片尺寸字段,則將該圖片壓縮成指定的圖片尺寸。

步驟S314,采用默認(rèn)圖片尺寸,執(zhí)行步驟S316。

具體的,默認(rèn)圖片尺寸可預(yù)先進(jìn)行設(shè)置,例如設(shè)置默認(rèn)圖片尺寸為800*400,若圖片的文件名稱的字符串中未包含圖片尺寸字段,則采用默認(rèn)圖片尺寸,將圖片壓縮成默認(rèn)圖片尺寸大小。

步驟S316,采用對(duì)應(yīng)的壓縮方法進(jìn)行壓縮。

具體的,根據(jù)上述各步驟分析的結(jié)果,采用與分析結(jié)果相匹配的壓縮方法進(jìn)行壓縮。

上述智能壓縮方法,通過分析分割后的待壓縮文件的文件名稱的字符串,判斷所應(yīng)采用的壓縮方法,自動(dòng)按照開發(fā)人員指定的各項(xiàng)要求將該待壓縮文件進(jìn)行壓縮。無需開發(fā)人員手動(dòng)對(duì)前端的靜態(tài)資源文件一個(gè)個(gè)進(jìn)行壓縮,解放了開發(fā)人員手動(dòng)零散壓縮,且開發(fā)人員無需再擔(dān)心是否有前端靜態(tài)資源被遺漏而未被壓縮,提高了壓縮效率,節(jié)省了時(shí)間。

如圖4所示,一種智能壓縮系統(tǒng),包括獲取模塊410,分析模塊420及壓縮模塊430。

獲取模塊410,用于獲取待壓縮文件的文件名稱及所述文件名稱的字符串。

具體的,通過開發(fā)人員將前端靜態(tài)資源導(dǎo)入后,獲取待壓縮文件的文件名稱,以及文件名稱對(duì)應(yīng)的字符串。其中,前端靜態(tài)資源主要包括圖片、js、css、html等文件,應(yīng)用于前端開發(fā)。

分析模塊420,用于分析字符串并判斷該待壓縮文件的文件類型。

具體的,在獲取待壓縮文件的文件名稱對(duì)應(yīng)的字符串后,分析字符串。將字符串進(jìn)行通過預(yù)設(shè)的分隔符進(jìn)行分割,例如通過分隔符“.”將字符串分割成文件名和文件后綴,而圖片類型的文件名稱的字符串的文件名部分又可再分割成名稱前綴、圖片用途、壓縮方式、壓縮級(jí)別以及圖片尺寸等。分割字符串后,分析字符串分割后的各部分,并判斷該待壓縮文件的文件類型,主要通過文件后綴進(jìn)行判斷是為圖片類型,還是為js、css、html等非圖片類型文件。

壓縮模塊430,用于根據(jù)字符串及文件類型判斷是否具有對(duì)應(yīng)的壓縮方法,若是,則采用對(duì)應(yīng)的壓縮方法將待壓縮文件進(jìn)行壓縮;若否,則采用默認(rèn)壓縮方法將待壓縮文件進(jìn)行壓縮。

具體的,判斷是否有與字符串分析結(jié)果和待壓縮文件的文件類型相匹配的壓縮方法,若是,采用與字符串分析結(jié)果和待壓縮文件的文件類型相匹配的壓縮方法,將待壓縮文件進(jìn)行壓縮。例如,待壓縮文件的文件名稱的字符串為my_ic_middle_500*200.jpg,分割該字符串后,根據(jù)文件后綴可知該文件為圖片,圖片用途為圖標(biāo),壓縮級(jí)別為中,圖片尺寸為500*200,即采用圖標(biāo)的默認(rèn)壓縮方法將該文件壓縮至500*200大小,壓縮級(jí)別中。若否,則采用預(yù)先設(shè)置的默認(rèn)壓縮方法將待壓縮文件進(jìn)行壓縮。默認(rèn)壓縮方法可進(jìn)行預(yù)先設(shè)置,可設(shè)置js、css、html等非圖片類型的文件的默認(rèn)壓縮方法為L(zhǎng)Z77無損壓縮。LZ77無損壓縮一種基于字典的、“滑動(dòng)窗”的無損壓縮算法,廣泛應(yīng)用于通信、計(jì)算機(jī)文件存檔等方面,總會(huì)包含有一個(gè)動(dòng)態(tài)窗口和預(yù)讀緩沖器??稍O(shè)置圖片類型文件的默認(rèn)壓縮方法為無損壓縮,例如行程長(zhǎng)度編碼,熵編碼法等。當(dāng)待壓縮文件的文件類型為js、css、html等非圖片類型文件時(shí),采用其默認(rèn)壓縮方法LZ77無損壓縮。當(dāng)圖片類型的文件名稱的字符串中既不包含圖片用途字段且不包含可采用有損壓縮字段時(shí),采用圖片的默認(rèn)壓縮方法。

上述智能壓縮系統(tǒng),根據(jù)分析前端靜態(tài)資源的待壓縮文件的文件名稱的字符串智能選擇與其對(duì)應(yīng)的壓縮方法,自動(dòng)將資源進(jìn)行壓縮,無需開發(fā)人員手動(dòng)對(duì)前端的靜態(tài)資源文件一個(gè)個(gè)進(jìn)行壓縮,解放了開發(fā)人員手動(dòng)零散壓縮,且開發(fā)人員無需再擔(dān)心是否有前端靜態(tài)資源被遺漏而未被壓縮,提高了壓縮效率, 節(jié)省了時(shí)間。

如圖5所示,在另一個(gè)實(shí)施例中,上述智能壓縮系統(tǒng)除了包括獲取模塊410,分析模塊420及壓縮模塊430,還包括命名規(guī)則設(shè)置模塊412、壓縮方法設(shè)置模塊414,導(dǎo)入模塊416、分割模塊422和判斷模塊424。

命名規(guī)則設(shè)置模塊412,用于設(shè)置待壓縮文件的命名規(guī)則。

具體的,命名規(guī)則設(shè)置模塊412還包括符號(hào)設(shè)置子模塊和名稱設(shè)置子模塊。

符號(hào)設(shè)置子模塊,用于設(shè)置圖片類型的文件名稱字符串以第一預(yù)設(shè)分隔符和第二預(yù)設(shè)分隔符隔開,還用于設(shè)置非圖片類型的文件名稱的字符串以第二預(yù)設(shè)分隔符隔開。

例如,第一預(yù)設(shè)分隔符可設(shè)置為“_”、“/”、“-”等符號(hào),第二預(yù)設(shè)分隔符可設(shè)置為“.”在分隔符“.”前的字符串部分為文件名,在分隔符“.”后的字符串部分為文件后綴。非圖片類型的文件名稱的字符串只需以第二預(yù)設(shè)分隔符隔開,分為文件名和文件后綴。

名稱設(shè)置子模塊,用于設(shè)置圖片類型的文件名稱的字符串包括名稱前綴、圖片用途、壓縮方式、壓縮級(jí)別、圖片尺寸以及文件后綴。名稱前綴、圖片用途、壓縮方式、壓縮級(jí)別、圖片尺寸可用第一預(yù)設(shè)分隔符隔開,與文件后綴用第二預(yù)設(shè)分隔符隔開。

壓縮方法設(shè)置模塊414,用于根據(jù)命名規(guī)則設(shè)置對(duì)應(yīng)的壓縮方法。

具體的,根據(jù)設(shè)置的命名規(guī)則設(shè)置與命名規(guī)則相對(duì)應(yīng)的壓縮方法。非圖片類型的文件采用默認(rèn)壓縮方法LZ77無損壓縮,圖片類型的文件則根據(jù)開發(fā)人員的命名依次判斷所使用的壓縮方法。開發(fā)人員通過命名圖片類型的文件名稱,可指定該圖片的圖片用途,圖片用途可根據(jù)業(yè)務(wù)需求自行設(shè)定,例如ic表示圖標(biāo),gb表示背景圖。不同用途的圖片可預(yù)先設(shè)置默認(rèn)壓縮方法,可設(shè)置圖標(biāo)的默認(rèn)壓縮方法為有損壓縮方法,背景圖的默認(rèn)壓縮方法為無損壓縮方法??芍付▓D片的壓縮方法,例如lossyc表示可進(jìn)行有損壓縮,losslessc表示需進(jìn)行無損壓縮。常用的有損壓縮方法主要有色度抽樣,變換編碼,分形壓縮等,常用的無損壓縮方法主要有行程長(zhǎng)度編碼,熵編碼法等??芍付▓D片尺寸,圖片的默認(rèn)尺寸可預(yù)先進(jìn)行設(shè)置,例如設(shè)置默認(rèn)圖片尺寸為900*450??芍付▓D片的壓縮 級(jí)別,將壓縮級(jí)別分為9級(jí),分別為clevel1、clevel2、clevel3、clevel4、clevel5、clevel6、clevel7、clevel8、clevel9,可設(shè)置圖片默認(rèn)壓縮等級(jí)為中,即clevel5,small表示壓縮級(jí)別小,為clevel1,middle表示壓縮級(jí)別中,為clevel5,large表示壓縮級(jí)別大,為clevel9。

例如,有一待壓縮文件的文件名稱的字符串為xx_bg_800*400.jpg,將該字符串通過分隔符“_”和“.”進(jìn)行分割,可分割為xx、bg、800*400、jpg,根據(jù)文件后綴可知該文件為圖片類型,xx為名稱前綴,圖片用途為背景圖,圖片尺寸為800*400,即指定將圖片壓縮為800*400。有另一待壓縮文件的文件名稱的字符串為mouse_ic_lossyc_small.jpg,通過分隔符“_”和“.”分割后,可知該待壓縮文件為圖片類型,圖片用途為圖標(biāo),指定壓縮方式為可用有損壓縮,壓縮級(jí)別為小。

導(dǎo)入模塊416,用于導(dǎo)入待壓縮文件。

具體的,通過開發(fā)人員將待壓縮文件導(dǎo)入。

分割模塊422,用于根據(jù)第一預(yù)設(shè)分隔符和第二預(yù)設(shè)分隔符分割待壓縮文件的文件名稱的字符串。

具體的,在導(dǎo)入待壓縮文件后,獲取待壓縮文件的文件名稱的字符串,按照命名規(guī)則設(shè)置模塊412中設(shè)置的命名規(guī)則進(jìn)行分割,得到分割后的各部分字符串。

判斷模塊424,用于判斷所述待壓縮文件是否為圖片類型。

具體的,根據(jù)分割后的字符串的文件后綴判斷該待壓縮文件是否為圖片類型,若是圖片類型,則需進(jìn)一步進(jìn)行分析,若為非圖片類型,而是js、css、html等文件則直接采用預(yù)先設(shè)置的默認(rèn)壓縮方法LZ77無損壓縮。

判斷模塊424還用于若所述待壓縮文件為圖片類型,則判斷所述待壓縮文件的壓縮級(jí)別以及圖片尺寸。

具體的,根據(jù)分割后的文件名稱的字符串,分別判斷出該圖片文件的圖片用途、壓縮方法、壓縮級(jí)別及圖片尺寸等,若字符串中未包含壓縮級(jí)別,則采用預(yù)先設(shè)置的默認(rèn)壓縮級(jí)別,若字符串中未包含圖片尺寸,則采用預(yù)先設(shè)置的默認(rèn)圖片尺寸。

壓縮模塊430還用于采用與待壓縮文件的壓縮級(jí)別以及圖片尺寸對(duì)應(yīng)的壓縮方法將該待壓縮文件進(jìn)行壓縮。

具體的,根據(jù)分析分割后的文件名稱的字符串的結(jié)果采用與字符串相匹配的壓縮方法,將待壓縮文件進(jìn)行壓縮。

上述智能壓縮系統(tǒng),還包括非圖片設(shè)置模塊和圖片設(shè)置模塊。

非圖片設(shè)置模塊,用于設(shè)置非圖片類型的待壓縮文件的默認(rèn)壓縮方法為L(zhǎng)Z77無損壓縮。

圖片設(shè)置模塊,用于設(shè)置圖片類型的待壓縮文件的默認(rèn)壓縮方法為無損壓縮,默認(rèn)壓縮等級(jí)為壓縮級(jí)別中,默認(rèn)圖片尺寸為900*450。

上述智能壓縮系統(tǒng),開發(fā)人員通過命名待壓縮文件,可指定其圖片用途、壓縮方式、壓縮等級(jí)和圖片尺寸等,根據(jù)分析待壓縮文件的文件名稱的字符串智能選擇與其對(duì)應(yīng)的壓縮方法,自動(dòng)將資源進(jìn)行壓縮,無需開發(fā)人員手動(dòng)對(duì)前端的靜態(tài)資源文件一個(gè)個(gè)進(jìn)行壓縮,解放了開發(fā)人員手動(dòng)零散壓縮,且開發(fā)人員無需再擔(dān)心是否有前端靜態(tài)資源被遺漏而未被壓縮,提高了壓縮效率,節(jié)省了時(shí)間。

以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡(jiǎn)潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說明書記載的范圍。

以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
仪征市| 开封市| 雷州市| 怀仁县| 明光市| 曲水县| 获嘉县| 慈利县| 五河县| 梁平县| 台南市| 明星| 西林县| 延津县| 诏安县| 北碚区| 青海省| 镇赉县| 彩票| 安西县| 兴隆县| 鄯善县| 怀来县| 合肥市| 阿克| 珠海市| 阿拉善盟| 昌黎县| 凤台县| 济南市| 广元市| 通山县| 兴文县| 额敏县| 阜城县| 遂昌县| 昔阳县| 张家川| 东莞市| 神木县| 昭通市|