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

應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮的方法及裝置制造方法

文檔序號(hào):7822122閱讀:158來(lái)源:國(guó)知局
應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮的方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮方法及裝置。其中,該方法包括:獲取用于對(duì)數(shù)據(jù)進(jìn)行壓縮的壓縮規(guī)則;讀取用于網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流;判斷數(shù)據(jù)流是否滿(mǎn)足壓縮規(guī)則定義的壓縮條件;在數(shù)據(jù)流滿(mǎn)足壓縮條件時(shí),按照壓縮規(guī)則對(duì)數(shù)據(jù)流進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流。本發(fā)明解決了現(xiàn)有技術(shù)中通過(guò)網(wǎng)絡(luò)傳輸大量數(shù)據(jù)導(dǎo)致帶寬資源消耗量大,運(yùn)維成本高的問(wèn)題。
【專(zhuān)利說(shuō)明】應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮的方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體而言,涉及一種應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮方法及裝置。

【背景技術(shù)】
[0002]隨著計(jì)算機(jī)互聯(lián)網(wǎng)絡(luò)的普及,在互聯(lián)網(wǎng)上可以做越來(lái)越多的事情。例如可以進(jìn)行聊天、玩游戲、觀看視頻、購(gòu)物、工作和學(xué)習(xí)等活動(dòng),給生活、工作和學(xué)習(xí)都帶來(lái)了翻天覆地的變化。
[0003]在各種的應(yīng)用場(chǎng)景下,想要通過(guò)互聯(lián)網(wǎng)實(shí)現(xiàn)上述功能都與互聯(lián)網(wǎng)的數(shù)據(jù)傳輸密不可分。以視頻統(tǒng)計(jì)數(shù)據(jù)采集為例,對(duì)于涉及需要發(fā)送大量連續(xù)相同字符數(shù)據(jù)的場(chǎng)景,如果使用原始數(shù)據(jù)內(nèi)容進(jìn)行發(fā)送,數(shù)據(jù)內(nèi)容冗長(zhǎng),導(dǎo)致帶寬資源消耗的增大,增加了運(yùn)維成本。
[0004]針對(duì)現(xiàn)有技術(shù)中通過(guò)網(wǎng)絡(luò)傳輸大量數(shù)據(jù)導(dǎo)致帶寬資源消耗量大,運(yùn)維成本高的問(wèn)題,目前尚未提出有效的解決方案。


【發(fā)明內(nèi)容】

[0005]本發(fā)明的主要目的在于提供一種應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮的方法及裝置,以解決現(xiàn)有技術(shù)中通過(guò)網(wǎng)絡(luò)傳輸大量數(shù)據(jù)導(dǎo)致帶寬資源消耗量大,運(yùn)維成本高的問(wèn)題。
[0006]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮方法。該方法包括:獲取用于對(duì)數(shù)據(jù)進(jìn)行壓縮的壓縮規(guī)則;讀取用于網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流;判斷數(shù)據(jù)流是否滿(mǎn)足壓縮規(guī)則定義的壓縮條件;在數(shù)據(jù)流滿(mǎn)足壓縮條件時(shí),按照壓縮規(guī)則對(duì)數(shù)據(jù)流進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流。
[0007]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,提供了一種應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)解壓縮方法。該方法包括:獲取用于對(duì)目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮的解壓縮規(guī)則;讀取目標(biāo)數(shù)據(jù)流;按照解壓縮規(guī)則對(duì)目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮,生成原始數(shù)據(jù)流。
[0008]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明實(shí)施例的另一方面,提供了一種應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮裝置,該裝置包括:第一獲取模塊,用于獲取用于對(duì)數(shù)據(jù)進(jìn)行壓縮的壓縮規(guī)則;第一讀取模塊,用于讀取用于網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流;判斷模塊,用于判斷數(shù)據(jù)流是否滿(mǎn)足壓縮規(guī)則定義的壓縮條件;壓縮模塊,用于在數(shù)據(jù)流滿(mǎn)足壓縮條件時(shí),按照壓縮規(guī)則對(duì)數(shù)據(jù)流進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流。
[0009]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明實(shí)施例的另一方面,提供了一種應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)解壓縮裝置,該裝置包括:第二獲取模塊,用于獲取用于對(duì)目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮的解壓縮規(guī)則;第二讀取模塊,用于讀取目標(biāo)數(shù)據(jù)流;解壓縮模塊,用于按照解壓縮規(guī)則對(duì)目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮,生成原始數(shù)據(jù)流。
[0010]根據(jù)發(fā)明實(shí)施例,通過(guò)獲取用于對(duì)數(shù)據(jù)進(jìn)行壓縮的壓縮規(guī)則;讀取用于網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流;判斷數(shù)據(jù)流是否滿(mǎn)足壓縮規(guī)則定義的壓縮條件;在數(shù)據(jù)流滿(mǎn)足壓縮條件時(shí),按照壓縮規(guī)則對(duì)數(shù)據(jù)流進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流,解決了現(xiàn)有技術(shù)通過(guò)網(wǎng)絡(luò)傳輸大量數(shù)據(jù)導(dǎo)致帶寬資源消耗量大,運(yùn)維成本高的問(wèn)題。實(shí)現(xiàn)了在傳輸過(guò)程中使用壓縮格式進(jìn)行發(fā)送,減小了數(shù)據(jù)內(nèi)容發(fā)送的帶寬消耗,降低帶寬成本的效果。

【專(zhuān)利附圖】

【附圖說(shuō)明】
[0011]構(gòu)成本申請(qǐng)的一部分的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0012]圖1是根據(jù)本發(fā)明實(shí)施例一的應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮方法的流程圖;
[0013]圖2是根據(jù)本發(fā)明實(shí)施例二的應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)解壓縮方法的流程圖;
[0014]圖3是根據(jù)本發(fā)明實(shí)施例三的應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮裝置的結(jié)構(gòu)示意圖;
[0015]圖4是根據(jù)本發(fā)明實(shí)施例三可選的應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮裝置的結(jié)構(gòu)示意圖;
[0016]圖5是根據(jù)本發(fā)明實(shí)施例四的應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)解壓縮裝置的結(jié)構(gòu)示意圖;以及
[0017]圖6是根據(jù)本發(fā)明實(shí)施例四可選的應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)解壓縮裝置的結(jié)構(gòu)示意圖。

【具體實(shí)施方式】
[0018]需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。
[0019]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
[0020]需要說(shuō)明的是,本發(fā)明的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類(lèi)似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例。此外,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0021]實(shí)施例1
[0022]本發(fā)明實(shí)施例提供了一種應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮方法。
[0023]圖1是根據(jù)本發(fā)明實(shí)施例的應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮方法的流程圖。如圖1所示,該方法包括步驟如下:
[0024]步驟S11,獲取用于對(duì)數(shù)據(jù)進(jìn)行壓縮的壓縮規(guī)則。
[0025]具體的,通過(guò)上述步驟S11,獲取用于對(duì)網(wǎng)絡(luò)傳輸中數(shù)據(jù)進(jìn)行壓縮的壓縮規(guī)則。通過(guò)壓縮規(guī)則,對(duì)網(wǎng)絡(luò)傳輸中的數(shù)據(jù)進(jìn)行壓縮。減小數(shù)據(jù)的體積,從而實(shí)現(xiàn)提高傳輸效率的目的。
[0026]步驟S13,讀取用于網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流。
[0027]具體的,通過(guò)上述步驟S13,讀取需要通過(guò)網(wǎng)絡(luò)進(jìn)行傳輸?shù)臄?shù)據(jù)流。其中,數(shù)據(jù)流是在網(wǎng)絡(luò)中進(jìn)行傳輸?shù)氖孪纫?guī)定好的順序被讀取一次的數(shù)據(jù)序列。數(shù)據(jù)流可以用來(lái)傳輸語(yǔ)音、文本或者視頻等數(shù)據(jù)。
[0028]步驟S15,判斷數(shù)據(jù)流是否滿(mǎn)足壓縮規(guī)則定義的壓縮條件。
[0029]具體的,通過(guò)上述步驟S15,根據(jù)獲取到的壓縮規(guī)則,對(duì)讀取到的用于網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流進(jìn)行判斷,判斷數(shù)據(jù)流是否滿(mǎn)足壓縮規(guī)則定義的對(duì)其進(jìn)行壓縮的條件。
[0030]步驟S17,在數(shù)據(jù)流滿(mǎn)足壓縮條件時(shí),按照壓縮規(guī)則對(duì)數(shù)據(jù)流進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流。
[0031]具體的,通過(guò)上述步驟S17,對(duì)滿(mǎn)足壓縮規(guī)則定義的壓縮條件的數(shù)據(jù)流按照壓縮規(guī)則進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流。將壓縮過(guò)的目標(biāo)數(shù)據(jù)流用于網(wǎng)絡(luò)數(shù)據(jù)的傳輸。
[0032]通過(guò)上述步驟Sll至步驟S17,首先獲取用來(lái)對(duì)數(shù)據(jù)流進(jìn)行壓縮的壓縮規(guī)則。進(jìn)而通過(guò)壓縮規(guī)則對(duì)符合壓縮規(guī)則定義的壓縮條件的數(shù)據(jù)流進(jìn)行壓縮,最后得到用來(lái)傳輸?shù)哪繕?biāo)數(shù)據(jù)流。
[0033]在實(shí)際應(yīng)用當(dāng)中,以用來(lái)傳輸視頻的數(shù)據(jù)流為例進(jìn)行說(shuō)明。在對(duì)視頻統(tǒng)計(jì)數(shù)據(jù)的采集過(guò)程中,對(duì)于涉及有可能需要發(fā)送大量的,且有可能在數(shù)據(jù)流中具有連續(xù)相同字符數(shù)據(jù)特性的應(yīng)用場(chǎng)景,可以選擇對(duì)這種數(shù)據(jù)進(jìn)行壓縮,減小發(fā)送數(shù)據(jù)流的容量。這樣,就可以在傳輸過(guò)程中使用壓縮后的數(shù)據(jù)格式對(duì)數(shù)據(jù)進(jìn)行發(fā)送,減小數(shù)據(jù)內(nèi)容發(fā)送的帶寬消耗,降低使用成本。
[0034]綜上可知,本發(fā)明解決了現(xiàn)有技術(shù)中通過(guò)網(wǎng)絡(luò)傳輸大量數(shù)據(jù)導(dǎo)致帶寬資源消耗量大,運(yùn)維成本高的問(wèn)題,實(shí)現(xiàn)了在傳輸過(guò)程中使用壓縮格式進(jìn)行發(fā)送,減小了數(shù)據(jù)內(nèi)容發(fā)送的帶寬消耗,降低帶寬成本的效果。
[0035]優(yōu)選的,本申請(qǐng)上述實(shí)施例中,在步驟S15判斷數(shù)據(jù)流是否滿(mǎn)足壓縮規(guī)則定義的壓縮條件中,的步驟包括:
[0036]步驟S151,讀取數(shù)據(jù)流所包含的字符串。
[0037]步驟S153,按照字符串中的字符排列順序,確定在數(shù)據(jù)流中具有相同的字段位數(shù)的字符串。
[0038]步驟S155,判斷字段位數(shù)是否大于等于預(yù)先設(shè)置的第一壓縮閾值。
[0039]其中,當(dāng)字段位數(shù)大于等于第一壓縮閾值時(shí),確定數(shù)據(jù)流滿(mǎn)足壓縮規(guī)則定義的壓縮條件。
[0040]具體的,通過(guò)上述步驟S151至步驟S155,對(duì)數(shù)據(jù)流中所包含的字符串進(jìn)行分析,按照字符串中字符的排列順序,確定在數(shù)據(jù)流的字符串中,具有連續(xù)相同字符的字段及其字段位數(shù)。當(dāng)具有連續(xù)相同字符的字段位數(shù)超過(guò)第一壓縮閾值時(shí),確定數(shù)據(jù)流中的字段滿(mǎn)足壓縮規(guī)則所定義的壓縮條件,通過(guò)壓縮規(guī)則對(duì)數(shù)據(jù)流中的字段進(jìn)行壓縮。
[0041]在實(shí)際應(yīng)用當(dāng)中,以視頻統(tǒng)計(jì)數(shù)據(jù)采集為例,需要發(fā)送具有大量連續(xù)相同字符的數(shù)據(jù)流。使用原始數(shù)據(jù)內(nèi)容進(jìn)行發(fā)送,發(fā)送的數(shù)據(jù)流中的字符串?dāng)?shù)據(jù),例如:“1111111111111222222223322222222222222111111111100000000000000000000000”。
[0042]此時(shí),首先,對(duì)上述字符串進(jìn)行分析,確定上述字符串中一共具有6個(gè)具有連續(xù)相同字符的字段,分別為第一字段:“1111111111111”、第二字段:“22222222”、第三字段:“33”、第四字段:“22222222222222”、第五字段:“1111111111”和第六字段:“00000000000000000000000”,同時(shí)確定上述各個(gè)字段中的字段位數(shù)。通過(guò)對(duì)各個(gè)字段的字段位數(shù)與預(yù)先設(shè)置的第一壓縮閾值判斷,當(dāng)字段位數(shù)大于第一壓縮閾值時(shí),則數(shù)據(jù)流中的該字段滿(mǎn)足壓縮規(guī)則定義的壓縮條件。
[0043]優(yōu)選的,本申請(qǐng)上述實(shí)施例中,在步驟S17數(shù)據(jù)流滿(mǎn)足壓縮條件時(shí),按照壓縮規(guī)則對(duì)數(shù)據(jù)流進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流中,步驟包括:
[0044]步驟S171a,將字段按照壓縮規(guī)則進(jìn)行壓縮,得到目標(biāo)字段。
[0045]步驟S173a,用目標(biāo)字段對(duì)數(shù)據(jù)流中的字段進(jìn)行替換,生成目標(biāo)數(shù)據(jù)流。
[0046]具體的,通過(guò)上述步驟S171a至步驟S173a,數(shù)據(jù)流中具有連續(xù)相同字符的字段按照壓縮規(guī)則進(jìn)行壓縮,得到壓縮后的目標(biāo)字段。使用壓縮后的目標(biāo)字段對(duì)數(shù)據(jù)流中的與目標(biāo)字段對(duì)應(yīng)的字段進(jìn)行替換,生成用于傳輸?shù)哪繕?biāo)數(shù)據(jù)流。
[0047]優(yōu)選的,本申請(qǐng)上述實(shí)施例中,在步驟S17數(shù)據(jù)流滿(mǎn)足壓縮條件時(shí),按照壓縮規(guī)則對(duì)數(shù)據(jù)流進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流中,步驟包括:
[0048]步驟S171b,讀取數(shù)據(jù)流所包含的字符串。
[0049]步驟S172b,按照字符串中的字符排列順序,確定在數(shù)據(jù)流中具有相同的字段位數(shù)的字符串。
[0050]步驟S173b,判斷字段位數(shù)是否大于等于預(yù)先設(shè)置的第二壓縮閾值。
[0051]步驟S174b,當(dāng)字段位數(shù)大于等于第二壓縮閾值時(shí),將字段分為第一字段和第二字段。
[0052]步驟S175b,將第一字段和第二字段分別按照壓縮規(guī)則進(jìn)行壓縮,得到第一目標(biāo)字段和第二目標(biāo)字段。
[0053]步驟S176b,根據(jù)第一目標(biāo)字段和第二目標(biāo)字段,生成目標(biāo)字段。
[0054]步驟S177b,用目標(biāo)字段對(duì)數(shù)據(jù)流中的字段進(jìn)行替換,生成目標(biāo)數(shù)據(jù)流。
[0055]具體的,通過(guò)上述步驟S171b至步驟S177b,對(duì)需要壓縮的字符串的位數(shù)使用第二壓縮閾值進(jìn)行限定。當(dāng)數(shù)據(jù)流中字符串的位數(shù)大于等于第二壓縮閾值時(shí),將字符串拆分為第一字段和第二字段分別進(jìn)行壓縮,得到第一目標(biāo)字段和第二目標(biāo)字段。然后將第一目標(biāo)字段和第二目標(biāo)字段進(jìn)行合并,得到最終的目標(biāo)字段。最后將目標(biāo)字段對(duì)數(shù)據(jù)流中的字段進(jìn)行替換,生成用于傳輸?shù)哪繕?biāo)數(shù)據(jù)流。
[0056]優(yōu)選的,本申請(qǐng)上述實(shí)施例中,在步驟Sll獲取用于對(duì)數(shù)據(jù)進(jìn)行壓縮的壓縮規(guī)則之前,方法還包括:
[0057]步驟S10,創(chuàng)建壓縮規(guī)則,壓縮規(guī)則為在目標(biāo)字段的第一位加入預(yù)先設(shè)定的壓縮標(biāo)識(shí)符,目標(biāo)字段的第二位用于表征字段的字符重復(fù)的位數(shù),目標(biāo)字段的第三位加入字段的重復(fù)的字符。
[0058]優(yōu)選的,本申請(qǐng)上述實(shí)施例中,壓縮規(guī)則包括:
[0059]在目標(biāo)字段的第一位,采用#表征壓縮標(biāo)識(shí)符。
[0060]目標(biāo)字段的第二位,由O至9表征字符段中的字符重復(fù)O至9次;由A至Z表征字段中的字符重復(fù)10至35次;由a至Z表征字段中的字符重復(fù)36至61次。
[0061]目標(biāo)字段的第三位,用來(lái)表征字段的重復(fù)的字符。
[0062]具體的,壓縮規(guī)則以“#”號(hào)為壓縮的起始符號(hào),第二位字符表示重復(fù)的位數(shù),該值取值為O?9、A?Z、a?z,0?9依次對(duì)應(yīng)表示重復(fù)了 O?9次,A?Z依次對(duì)應(yīng)表示重復(fù)了 10?35次,a?z依次對(duì)應(yīng)表不重復(fù)了 36?61次,第三位表不重復(fù)的內(nèi)容。例如“#B3”表示重復(fù)了 11次的“3”,即“33333333333”,這樣三位字符最多可以表示61位重復(fù)的字符,在這種情況下,可以將第二壓縮閾值設(shè)置為62。如果重復(fù)字符不足3位,則無(wú)需壓縮,在這種情況下,可以將上述第一壓縮閾值設(shè)定為3。如果重復(fù)字符超過(guò)61位,例如有100位的“1”,則可以把字段拆分成字段位數(shù)為61位的第一字段和字段位數(shù)為39位的第二字段。先壓縮第一字段的61位,生成第一目標(biāo)字段“#zl”。之后再壓縮第二字段的39位,生成第二目標(biāo)字段“Ml ”,最后將第一目標(biāo)字段和第二目標(biāo)字段進(jìn)行合并,生成目標(biāo)字段,即表示為“ #zl#dl”。
[0063]通過(guò)這種壓縮方式,上述實(shí)施例中出現(xiàn)的數(shù)據(jù)流中的字符串?dāng)?shù)據(jù)1111111111111222222223322222222222222111111111100000000000000000000000”
[0064]可以表示為:“#D1#8233#E2#A1#N0”。將數(shù)據(jù)流中的字符串位數(shù)從70位減少到了17位。
[0065]上述方法適用于需要發(fā)送大量連續(xù)相同字符數(shù)據(jù)的場(chǎng)景。連續(xù)相同字符越多,壓縮效果越明顯。
[0066]在發(fā)送傳輸過(guò)程中使用壓縮格式進(jìn)行發(fā)送,減小了數(shù)據(jù)內(nèi)容發(fā)送的帶寬消耗,提高傳輸效率,降低帶寬成本。
[0067]綜上所述,上述方法的實(shí)質(zhì)是通過(guò)壓縮格式進(jìn)行發(fā)送,減小發(fā)送的帶寬消耗。所以通過(guò)其他壓縮規(guī)則實(shí)現(xiàn)的壓縮方法(非本文中介紹的壓縮算法等),能夠到達(dá)這一目的應(yīng)該均可實(shí)現(xiàn)。
[0068]實(shí)施例2
[0069]本發(fā)明實(shí)施例還提供了一種應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)解壓縮方法,如圖2所示,該裝置可以包括:
[0070]步驟S21,獲取用于對(duì)目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮的解壓縮規(guī)則。
[0071]步驟S23,讀取目標(biāo)數(shù)據(jù)流。
[0072]步驟S25,按照解壓縮規(guī)則對(duì)目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮,生成原始數(shù)據(jù)流。
[0073]具體的,通過(guò)步驟S21至步驟S25,獲取接收到的通過(guò)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流和與壓縮規(guī)則對(duì)應(yīng)的解壓縮規(guī)則。將獲取到的數(shù)據(jù)流按照解壓縮規(guī)則進(jìn)行解壓縮,得到壓縮之前的原始數(shù)據(jù)流。
[0074]優(yōu)選的,本申請(qǐng)上述實(shí)施例中,在步驟S25按照解壓縮規(guī)則對(duì)目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮,生成原始數(shù)據(jù)流中,步驟包括:
[0075]步驟S251,讀取目標(biāo)數(shù)據(jù)流所包含的字符串。
[0076]步驟S253,按照字符串中的字符排列順序,識(shí)別字符串中包含的經(jīng)過(guò)壓縮的目標(biāo)字段。
[0077]步驟S255,通過(guò)解壓縮規(guī)則對(duì)目標(biāo)字段進(jìn)行解壓縮,得到原始字段。
[0078]步驟S257,用原始字段對(duì)目標(biāo)數(shù)據(jù)流中的目標(biāo)字段進(jìn)行替換,生成原始數(shù)據(jù)流。
[0079]具體的,通過(guò)上述步驟S251至步驟S257,對(duì)讀取到的目標(biāo)數(shù)據(jù)流中的字符串進(jìn)行識(shí)別,識(shí)別目標(biāo)數(shù)據(jù)流中包含的字符串中經(jīng)過(guò)壓縮的目標(biāo)字段。將目標(biāo)字段按照與壓縮規(guī)則對(duì)應(yīng)的解壓縮規(guī)則進(jìn)行解壓縮,得到原始字段。用原始字段對(duì)目標(biāo)數(shù)據(jù)流中經(jīng)過(guò)壓縮的目標(biāo)字段進(jìn)行替換,得到原始數(shù)據(jù)流。
[0080]優(yōu)選的,本申請(qǐng)上述實(shí)施例中,在步驟S253按照字符串中的字符排列順序,識(shí)別字符串中包含的經(jīng)過(guò)壓縮的目標(biāo)字段中,步驟包括:
[0081]步驟S2531,識(shí)別字符串中的解壓縮標(biāo)示符,其中,街壓縮標(biāo)示符為壓縮過(guò)程中在字符串中加入的壓縮標(biāo)不符。
[0082]步驟S2533,讀取以解壓縮標(biāo)示符為起始,包括解壓縮標(biāo)示符在內(nèi)的預(yù)定位數(shù)的目標(biāo)字段。
[0083]步驟S2535,根據(jù)解壓縮規(guī)則對(duì)目標(biāo)字段進(jìn)行解壓縮,生成原始字段。
[0084]具體的,上述步驟S2531至步驟S2535,通過(guò)識(shí)別字符串中的解壓縮標(biāo)示符,對(duì)目標(biāo)數(shù)據(jù)流中經(jīng)過(guò)壓縮的目標(biāo)字段進(jìn)行確定。并根據(jù)與壓縮規(guī)則對(duì)應(yīng)的解壓縮規(guī)則對(duì)目標(biāo)字段進(jìn)行解壓縮,生成原始字段。
[0085]優(yōu)選的,本申請(qǐng)上述實(shí)施例中,在步驟S21獲取用于對(duì)目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮的解壓縮規(guī)則之前,方法還包括:
[0086]步驟S20,創(chuàng)建解壓縮規(guī)則,解壓縮規(guī)則為在目標(biāo)字段的第一位為預(yù)先設(shè)定的壓縮標(biāo)識(shí)符,目標(biāo)字段的第二位為原始字段中的字符重復(fù)的位數(shù),目標(biāo)字段的第三位為原始字段的重復(fù)的字符。
[0087]具體的,通過(guò)上述步驟S20,創(chuàng)建與壓縮規(guī)則對(duì)應(yīng)的解壓縮規(guī)則。
[0088]在實(shí)際應(yīng)用當(dāng)中,目標(biāo)字段的第一位為采用#表征的解壓縮標(biāo)識(shí)符。
[0089]目標(biāo)字段的第二位,字符段中的字符重復(fù)O至9次時(shí),由O至9進(jìn)行表征;字符段中的字符重復(fù)10至35次時(shí),由A至Z進(jìn)行表征;字符段中的字符重復(fù)36至61次時(shí),由a至z進(jìn)行表征。
[0090]目標(biāo)字段的第三位,用來(lái)表征字段的重復(fù)的字符。
[0091]通過(guò)上述方式,對(duì)由“#D1#8233#E2#A1#N0”標(biāo)示的目標(biāo)字段進(jìn)行解壓縮的步驟為:
[0092]當(dāng)讀到第I個(gè)字符為“ # ”時(shí),則向后讀兩位是“D1”,故表示13個(gè)“I”;繼續(xù)讀下一位為“#”,則向后讀兩位是“82”,得到8個(gè)“2”;繼續(xù)讀下一位為“3”,不是壓縮字符,得到“3”;繼續(xù)讀下一位為“3”,不是壓縮字符,得到“3”;繼續(xù)讀下一位為“#”,則往后讀兩位是“E2”,得到14個(gè)“2”;繼續(xù)讀下一位為“#”,則往后讀兩位是“Al”,得到10個(gè)“I”;繼續(xù)讀下一位為“#”,則往后讀兩位是“NO”,得到23個(gè)“O”。
[0093]通過(guò)上述步驟,最終將目標(biāo)字符串“#D1#8233#E2#A1#N0”還原為原始字符串:“1111111111111222222223322222222222222111111111100000000000000000000000”。
[0094]在實(shí)際應(yīng)用當(dāng)中,解壓縮規(guī)則與壓縮規(guī)則相對(duì)應(yīng),通過(guò)壓縮規(guī)則來(lái)確定所使用的解壓縮規(guī)則。
[0095]通過(guò)上述方法,在發(fā)送傳輸過(guò)程中使用壓縮格式進(jìn)行發(fā)送,減小了數(shù)據(jù)內(nèi)容發(fā)送的帶寬消耗。提高了數(shù)據(jù)的傳輸效率。
[0096]實(shí)施例3
[0097]本發(fā)明實(shí)施例還提供了一種應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮裝置,如圖3所示,該裝置可以包括:第一獲取模塊31、第一讀取模塊33、判斷模塊35和壓縮模塊37。
[0098]其中,第一獲取模塊31,用于獲取用于對(duì)數(shù)據(jù)進(jìn)行壓縮的壓縮規(guī)則。
[0099]具體的,通過(guò)上述第一獲取模塊31,獲取用于對(duì)網(wǎng)絡(luò)傳輸中數(shù)據(jù)進(jìn)行壓縮的壓縮規(guī)則。通過(guò)壓縮規(guī)則,對(duì)網(wǎng)絡(luò)傳輸中的數(shù)據(jù)進(jìn)行壓縮。減小數(shù)據(jù)的體積,從而實(shí)現(xiàn)提高傳輸效率的目的。
[0100]第一讀取模塊33,用于讀取用于網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流。
[0101]具體的,通過(guò)上述第一讀取模塊33,讀取需要通過(guò)網(wǎng)絡(luò)進(jìn)行傳輸?shù)臄?shù)據(jù)流。其中,數(shù)據(jù)流是在網(wǎng)絡(luò)中進(jìn)行傳輸?shù)氖孪纫?guī)定好的順序被讀取一次的數(shù)據(jù)序列。數(shù)據(jù)流可以用來(lái)傳輸語(yǔ)音、文本或者視頻等數(shù)據(jù)。
[0102]判斷模塊35,用于判斷數(shù)據(jù)流是否滿(mǎn)足壓縮規(guī)則定義的壓縮條件。
[0103]具體的,上述判斷模塊35,根據(jù)獲取到的壓縮規(guī)則,對(duì)讀取到的用于網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流進(jìn)行判斷,判斷數(shù)據(jù)流是否滿(mǎn)足壓縮規(guī)則定義的對(duì)其進(jìn)行壓縮的條件。
[0104]壓縮模塊37,用于在數(shù)據(jù)流滿(mǎn)足壓縮條件時(shí),按照壓縮規(guī)則對(duì)數(shù)據(jù)流進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流。
[0105]具體的,通過(guò)上述壓縮模塊37,對(duì)滿(mǎn)足壓縮規(guī)則定義的壓縮條件的數(shù)據(jù)流按照壓縮規(guī)則進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流。將壓縮過(guò)的目標(biāo)數(shù)據(jù)流用于網(wǎng)絡(luò)數(shù)據(jù)的傳輸。
[0106]通過(guò)上述第一獲取模塊31、第一讀取模塊33、判斷模塊35和壓縮模塊37,首先獲取用來(lái)對(duì)數(shù)據(jù)流進(jìn)行壓縮的壓縮規(guī)則。進(jìn)而通過(guò)壓縮規(guī)則對(duì)符合壓縮規(guī)則定義的壓縮條件的數(shù)據(jù)流進(jìn)行壓縮,最后得到用來(lái)傳輸?shù)哪繕?biāo)數(shù)據(jù)流。
[0107]在實(shí)際應(yīng)用當(dāng)中,以用來(lái)傳輸視頻的數(shù)據(jù)流為例進(jìn)行說(shuō)明。在對(duì)視頻統(tǒng)計(jì)數(shù)據(jù)的采集過(guò)程中,對(duì)于涉及有可能需要發(fā)送大量的,且有可能在數(shù)據(jù)流中具有連續(xù)相同字符數(shù)據(jù)特性的應(yīng)用場(chǎng)景,可以選擇對(duì)這種數(shù)據(jù)進(jìn)行壓縮,減小發(fā)送數(shù)據(jù)流的容量。這樣,就可以在傳輸過(guò)程中使用壓縮后的數(shù)據(jù)格式對(duì)數(shù)據(jù)進(jìn)行發(fā)送,減小數(shù)據(jù)內(nèi)容發(fā)送的帶寬消耗,降低使用成本。
[0108]綜上可知,本發(fā)明解決了現(xiàn)有技術(shù)中通過(guò)網(wǎng)絡(luò)傳輸大量數(shù)據(jù)導(dǎo)致帶寬資源消耗量大,運(yùn)維成本高的問(wèn)題,實(shí)現(xiàn)了在傳輸過(guò)程中使用壓縮格式進(jìn)行發(fā)送,減小了數(shù)據(jù)內(nèi)容發(fā)送的帶寬消耗,降低帶寬成本的效果。
[0109]進(jìn)一步的,判斷模塊35在判斷數(shù)據(jù)流是否滿(mǎn)足壓縮規(guī)則定義的壓縮條件的步驟中,可以包括如下步驟:
[0110]步驟A,讀取數(shù)據(jù)流所包含的字符串。
[0111]步驟B,按照字符串中的字符排列順序,確定在數(shù)據(jù)流中具有相同的字段位數(shù)的字符串。
[0112]步驟C,判斷字段位數(shù)是否大于等于預(yù)先設(shè)置的第一壓縮閾值。
[0113]其中,當(dāng)字段位數(shù)大于等于第一壓縮閾值時(shí),確定數(shù)據(jù)流滿(mǎn)足壓縮規(guī)則定義的壓縮條件。
[0114]具體的,通過(guò)判斷模塊35執(zhí)行上述步驟,對(duì)數(shù)據(jù)流中所包含的字符串進(jìn)行分析,按照字符串中字符的排列順序,確定在數(shù)據(jù)流的字符串中,具有連續(xù)相同字符的字段及其字段位數(shù)。當(dāng)具有連續(xù)相同字符的字段位數(shù)超過(guò)第一壓縮閾值時(shí),確定數(shù)據(jù)流中的字段滿(mǎn)足壓縮規(guī)則所定義的壓縮條件,通過(guò)壓縮規(guī)則對(duì)數(shù)據(jù)流中的字段進(jìn)行壓縮。
[0115]在實(shí)際應(yīng)用當(dāng)中,以視頻統(tǒng)計(jì)數(shù)據(jù)采集為例,需要發(fā)送具有大量連續(xù)相同字符的數(shù)據(jù)流。使用原始數(shù)據(jù)內(nèi)容進(jìn)行發(fā)送,發(fā)送的數(shù)據(jù)流中的字符串?dāng)?shù)據(jù),例如:“1111111111111222222223322222222222222111111111100000000000000000000000”。
[0116]此時(shí),首先,對(duì)上述字符串進(jìn)行分析,確定上述字符串中一共具有6個(gè)具有連續(xù)相同字符的字段,分別為第一字段:“1111111111111”、第二字段:“22222222”、第三字段:“33”、第四字段:“22222222222222”、第五字段:“1111111111”和第六字段:“00000000000000000000000”,同時(shí)確定上述各個(gè)字段中的字段位數(shù)。通過(guò)對(duì)各個(gè)字段的字段位數(shù)與預(yù)先設(shè)置的第一壓縮閾值判斷,當(dāng)字段位數(shù)大于第一壓縮閾值時(shí),則數(shù)據(jù)流中的該字段滿(mǎn)足壓縮規(guī)則定義的壓縮條件。
[0117]進(jìn)一步的,壓縮模塊37在數(shù)據(jù)流滿(mǎn)足壓縮條件時(shí),按照壓縮規(guī)則對(duì)數(shù)據(jù)流進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流的步驟中,可以包括如下步驟:
[0118]步驟A,將字段按照壓縮規(guī)則進(jìn)行壓縮,得到目標(biāo)字段。
[0119]步驟B,用目標(biāo)字段對(duì)數(shù)據(jù)流中的字段進(jìn)行替換,生成目標(biāo)數(shù)據(jù)流。
[0120]具體的,壓縮模塊37通過(guò)執(zhí)行上述步驟,將數(shù)據(jù)流中具有連續(xù)相同字符的字段按照壓縮規(guī)則進(jìn)行壓縮,得到壓縮后的目標(biāo)字段。使用壓縮后的目標(biāo)字段對(duì)數(shù)據(jù)流中的與目標(biāo)字段對(duì)應(yīng)的字段進(jìn)行替換,生成用于傳輸?shù)哪繕?biāo)數(shù)據(jù)流。
[0121]進(jìn)一步的,壓縮模塊37在數(shù)據(jù)流滿(mǎn)足壓縮條件時(shí),按照壓縮規(guī)則對(duì)數(shù)據(jù)流進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流的步驟中,還可以包括如下步驟:
[0122]步驟A’,讀取數(shù)據(jù)流所包含的字符串。
[0123]步驟B’,按照字符串中的字符排列順序,確定在數(shù)據(jù)流中具有相同的字段位數(shù)的字符串。
[0124]步驟C’,判斷字段位數(shù)是否大于等于預(yù)先設(shè)置的第二壓縮閾值。
[0125]步驟D’,當(dāng)字段位數(shù)大于等于第二壓縮閾值時(shí),將字段分為第一字段和第二字段。
[0126]步驟E’,將第一字段和第二字段分別按照壓縮規(guī)則進(jìn)行壓縮,得到第一目標(biāo)字段和第二目標(biāo)字段。
[0127]步驟F’,根據(jù)第一目標(biāo)字段和第二目標(biāo)字段,生成目標(biāo)字段。
[0128]步驟G’,用目標(biāo)字段對(duì)數(shù)據(jù)流中的字段進(jìn)行替換,生成目標(biāo)數(shù)據(jù)流。
[0129]具體的,壓縮模塊37通過(guò)執(zhí)行上述步驟,對(duì)需要壓縮的字符串的位數(shù)使用第二壓縮閾值進(jìn)行限定。當(dāng)數(shù)據(jù)流中字符串的位數(shù)大于等于第二壓縮閾值時(shí),將字符串拆分為第一字段和第二字段分別進(jìn)行壓縮,得到第一目標(biāo)字段和第二目標(biāo)字段。然后將第一目標(biāo)字段和第二目標(biāo)字段進(jìn)行合并,得到最終的目標(biāo)字段。最后將目標(biāo)字段對(duì)數(shù)據(jù)流中的字段進(jìn)行替換,生成用于傳輸?shù)哪繕?biāo)數(shù)據(jù)流。
[0130]優(yōu)選的,本申請(qǐng)上述實(shí)施例中,如圖4所示,裝置還包括:第一創(chuàng)建模塊30。
[0131]其中,第一創(chuàng)建模塊30,用于創(chuàng)建壓縮規(guī)則,壓縮規(guī)則為在目標(biāo)字段的第一位加入預(yù)先設(shè)定的壓縮標(biāo)識(shí)符,目標(biāo)字段的第二位用于表征字段的字符重復(fù)的位數(shù),目標(biāo)字段的第三位加入字段的重復(fù)的字符。
[0132]具體的,通過(guò)上述第一創(chuàng)建模塊30創(chuàng)建的壓縮規(guī)則可以是:壓縮規(guī)則以“#”號(hào)為壓縮的起始符號(hào),第二位字符表示重復(fù)的位數(shù),該值取值為O?9、A?Z、a?z,0?9依次對(duì)應(yīng)表示重復(fù)了 O?9次,A?Z依次對(duì)應(yīng)表示重復(fù)了 10?35次,a?z依次對(duì)應(yīng)表示重復(fù)了 36?61次,第三位表示重復(fù)的內(nèi)容。例如“#B3”表示重復(fù)了 11次的“3”,即“33333333333”,這樣三位字符最多可以表示61位重復(fù)的字符,在這種情況下,可以將第二壓縮閾值設(shè)置為62。如果重復(fù)字符不足3位,則無(wú)需壓縮,在這種情況下,可以將上述第一壓縮閾值設(shè)定為3。如果重復(fù)字符超過(guò)61位,例如有100位的“1”,則可以把字段拆分成字段位數(shù)為61位的第一字段和字段位數(shù)為39位的第二字段。先壓縮第一字段的61位,生成第一目標(biāo)字段“#zl”。之后再壓縮第二字段的39位,生成第二目標(biāo)字段“#dl”,最后將第一目標(biāo)字段和第二目標(biāo)字段進(jìn)行合并,生成目標(biāo)字段,即表示為“#zl#dl ”。
[0133]通過(guò)這種壓縮方式,上述實(shí)施例中出現(xiàn)的數(shù)據(jù)流中的字符串?dāng)?shù)據(jù):“1111111111111222222223322222222222222111111111100000000000000000000000”。
[0134]可以表示為:“#D1#8233#E2#A1#N0”。將數(shù)據(jù)流中的字符串位數(shù)從70位減少到了17位。
[0135]上述方法適用于需要發(fā)送大量連續(xù)相同字符數(shù)據(jù)的場(chǎng)景。連續(xù)相同字符越多,壓縮效果越明顯。
[0136]在發(fā)送傳輸過(guò)程中使用壓縮格式進(jìn)行發(fā)送,減小了數(shù)據(jù)內(nèi)容發(fā)送的帶寬消耗,提高傳輸效率,降低帶寬成本。
[0137]綜上所述,上述方法的實(shí)質(zhì)是通過(guò)壓縮格式進(jìn)行發(fā)送,減小發(fā)送的帶寬消耗。所以通過(guò)其他壓縮規(guī)則實(shí)現(xiàn)的壓縮方法(非本文中介紹的壓縮算法等),能夠到達(dá)這一目的應(yīng)該均可實(shí)現(xiàn)。
[0138]實(shí)施例4
[0139]本發(fā)明實(shí)施例還提供了一種應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)解壓縮裝置,如圖5所示,該裝置可以包括:第二獲取模塊41、第二讀取模塊43和解壓縮模塊45。
[0140]其中,第二獲取模塊41,用于獲取用于對(duì)目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮的解壓縮規(guī)則。
[0141 ] 第二讀取模塊43,用于讀取目標(biāo)數(shù)據(jù)流。
[0142]解壓縮模塊45,用于按照解壓縮規(guī)則對(duì)目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮,生成原始數(shù)據(jù)流。
[0143]具體的,通過(guò)上述第二獲取模塊41、第二讀取模塊43和解壓縮模塊45,獲取接收到的通過(guò)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流和與壓縮規(guī)則對(duì)應(yīng)的解壓縮規(guī)則。將獲取到的數(shù)據(jù)流按照解壓縮規(guī)則進(jìn)行解壓縮,得到壓縮之前的原始數(shù)據(jù)流。
[0144]進(jìn)一步的,解壓縮模塊45在按照解壓縮規(guī)則對(duì)目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮,生成原始數(shù)據(jù)流的步驟中,可以包括如下步驟:
[0145]步驟A,讀取目標(biāo)數(shù)據(jù)流所包含的字符串。
[0146]步驟B,按照字符串中的字符排列順序,識(shí)別字符串中包含的經(jīng)過(guò)壓縮的目標(biāo)字段。
[0147]步驟C,通過(guò)解壓縮規(guī)則對(duì)目標(biāo)字段進(jìn)行解壓縮,得到原始字段。
[0148]步驟D,用原始字段對(duì)目標(biāo)數(shù)據(jù)流中的目標(biāo)字段進(jìn)行替換,生成原始數(shù)據(jù)流。
[0149]具體的,解壓縮模塊45通過(guò)上述步驟,對(duì)讀取到的目標(biāo)數(shù)據(jù)流中的字符串進(jìn)行識(shí)另IJ,識(shí)別目標(biāo)數(shù)據(jù)流中包含的字符串中經(jīng)過(guò)壓縮的目標(biāo)字段。將目標(biāo)字段按照與壓縮規(guī)則對(duì)應(yīng)的解壓縮規(guī)則進(jìn)行解壓縮,得到原始字段。用原始字段對(duì)目標(biāo)數(shù)據(jù)流中經(jīng)過(guò)壓縮的目標(biāo)字段進(jìn)行替換,得到原始數(shù)據(jù)流。
[0150]優(yōu)選的,本申請(qǐng)上述實(shí)施例中,如圖6所示,裝置還包括:第二創(chuàng)建模塊40。
[0151]其中,第二創(chuàng)建模塊40,用于創(chuàng)建解壓縮規(guī)則,解壓縮規(guī)則為在目標(biāo)字段的第一位為預(yù)先設(shè)定的壓縮標(biāo)識(shí)符,目標(biāo)字段的第二位為原始字段中的字符重復(fù)的位數(shù),目標(biāo)字段的第三位為原始字段的重復(fù)的字符。
[0152]具體的,通過(guò)上述第二創(chuàng)建模塊40,創(chuàng)建與壓縮規(guī)則對(duì)應(yīng)的解壓縮規(guī)則。
[0153]在實(shí)際應(yīng)用當(dāng)中,目標(biāo)字段的第一位為采用#表征的解壓縮標(biāo)識(shí)符。
[0154]目標(biāo)字段的第二位,字符段中的字符重復(fù)O至9次時(shí),由O至9進(jìn)行表征;字符段中的字符重復(fù)10至35次時(shí),由A至Z進(jìn)行表征;字符段中的字符重復(fù)36至61次時(shí),由a至z進(jìn)行表征。
[0155]目標(biāo)字段的第三位,用來(lái)表征字段的重復(fù)的字符。
[0156]通過(guò)上述方式,對(duì)由“#D1#8233#E2#A1#N0”標(biāo)示的目標(biāo)字段進(jìn)行解壓縮的步驟為:
[0157]當(dāng)讀到第I個(gè)字符為“ # ”時(shí),則向后讀兩位是“D1”,故表示13個(gè)“I”;繼續(xù)讀下一位為“#”,則向后讀兩位是“82”,得到8個(gè)“2”;繼續(xù)讀下一位為“3”,不是壓縮字符,得到“3”;繼續(xù)讀下一位為“3”,不是壓縮字符,得到“3”;繼續(xù)讀下一位為“#”,則往后讀兩位是“E2”,得到14個(gè)“2”;繼續(xù)讀下一位為“#”,則往后讀兩位是“Al”,得到10個(gè)“I”;繼續(xù)讀下一位為“#”,則往后讀兩位是“NO”,得到23個(gè)“O”。
[0158]通過(guò)上述步驟,最終將目標(biāo)字符串“#D1#8233#E2#A1#N0”還原為原始字符串:“1111111111111222222223322222222222222111111111100000000000000000000000”。
[0159]在實(shí)際應(yīng)用當(dāng)中,解壓縮規(guī)則與壓縮規(guī)則相對(duì)應(yīng),通過(guò)壓縮規(guī)則來(lái)確定所使用的解壓縮規(guī)則。
[0160]通過(guò)上述方法,在發(fā)送傳輸過(guò)程中使用壓縮格式進(jìn)行發(fā)送,減小了數(shù)據(jù)內(nèi)容發(fā)送的帶寬消耗。提高了數(shù)據(jù)的傳輸效率。
[0161]需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
[0162]在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
[0163]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置,可通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性或其它的形式。
[0164]所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
[0165]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以?xún)蓚€(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
[0166]所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、移動(dòng)終端、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、只讀存儲(chǔ)器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、移動(dòng)硬盤(pán)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0167]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮方法,其特征在于,包括: 獲取用于對(duì)數(shù)據(jù)進(jìn)行壓縮的壓縮規(guī)則; 讀取用于網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流; 判斷所述數(shù)據(jù)流是否滿(mǎn)足所述壓縮規(guī)則定義的壓縮條件; 在所述數(shù)據(jù)流滿(mǎn)足所述壓縮條件時(shí),按照所述壓縮規(guī)則對(duì)所述數(shù)據(jù)流進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,判斷所述數(shù)據(jù)流是否滿(mǎn)足所述壓縮規(guī)則定義的壓縮條件的步驟包括: 讀取所述數(shù)據(jù)流所包含的字符串; 按照所述字符串中的字符排列順序,確定在所述數(shù)據(jù)流中具有相同的字段位數(shù)的字符串; 判斷所述字段位數(shù)是否大于等于預(yù)先設(shè)置的第一壓縮閾值; 其中,當(dāng)所述字段位數(shù)大于等于所述第一壓縮閾值時(shí),確定所述數(shù)據(jù)流滿(mǎn)足所述壓縮規(guī)則定義的壓縮條件。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述數(shù)據(jù)流滿(mǎn)足所述壓縮條件時(shí),按照所述壓縮規(guī)則對(duì)所述數(shù)據(jù)流進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流的步驟包括: 將所述字段按照所述壓縮規(guī)則進(jìn)行壓縮,得到目標(biāo)字段; 用所述目標(biāo)字段對(duì)所述數(shù)據(jù)流中的所述字段進(jìn)行替換,生成目標(biāo)數(shù)據(jù)流。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述數(shù)據(jù)流滿(mǎn)足所述壓縮條件時(shí),按照所述壓縮規(guī)則對(duì)所述數(shù)據(jù)流進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流的步驟包括: 讀取所述數(shù)據(jù)流所包含的字符串; 按照所述字符串中的字符排列順序,確定在所述數(shù)據(jù)流中具有相同的字段位數(shù)的字符串; 判斷所述字段位數(shù)是否大于等于預(yù)先設(shè)置的第二壓縮閾值; 當(dāng)所述字段位數(shù)大于等于第二壓縮閾值時(shí),將所述字段分為第一字段和第二字段; 將所述第一字段和所述第二字段分別按照所述壓縮規(guī)則進(jìn)行壓縮,得到第一目標(biāo)字段和第二目標(biāo)字段; 根據(jù)所述第一目標(biāo)字段和第二目標(biāo)字段,生成目標(biāo)字段; 用所述目標(biāo)字段對(duì)所述數(shù)據(jù)流中的所述字段進(jìn)行替換,生成所述目標(biāo)數(shù)據(jù)流。
5.根據(jù)權(quán)利要求1至4中任意一項(xiàng)所述的方法,其特征在于,在獲取用于對(duì)數(shù)據(jù)進(jìn)行壓縮的壓縮規(guī)則之前,所述方法還包括: 創(chuàng)建所述壓縮規(guī)則,所述壓縮規(guī)則為在所述目標(biāo)字段的第一位加入預(yù)先設(shè)定的壓縮標(biāo)識(shí)符,所述目標(biāo)字段的第二位用于表征所述字段的字符重復(fù)的位數(shù),所述目標(biāo)字段的第三位加入所述字段的重復(fù)的字符。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述壓縮規(guī)則包括: 在所述目標(biāo)字段的第一位,采用#表征所述壓縮標(biāo)識(shí)符; 所述目標(biāo)字段的第二位,由0至9表征所述字符段中的字符重復(fù)0至9次;由A至Z表征所述字段中的字符重復(fù)10至35次;由a至ζ表征所述字段中的字符重復(fù)36至61次;所述目標(biāo)字段的第三位,用來(lái)表征所述字段的重復(fù)的字符。
7.—種應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)解壓縮方法,其特征在于,對(duì)所述權(quán)利要求1至6中任意一項(xiàng)所述方法所生成的目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮,所述解壓縮方法包括如下步驟: 獲取用于對(duì)所述目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮的解壓縮規(guī)則; 讀取所述目標(biāo)數(shù)據(jù)流; 按照所述解壓縮規(guī)則對(duì)所述目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮,生成原始數(shù)據(jù)流。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述按照所述解壓縮規(guī)則對(duì)所述目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮,生成原始數(shù)據(jù)流的步驟包括: 讀取所述目標(biāo)數(shù)據(jù)流所包含的字符串; 按照所述字符串中的字符排列順序,識(shí)別所述字符串中包含的經(jīng)過(guò)壓縮的目標(biāo)字段; 通過(guò)所述解壓縮規(guī)則對(duì)所述目標(biāo)字段進(jìn)行解壓縮,得到原始字段; 用所述原始字段對(duì)所述目標(biāo)數(shù)據(jù)流中的所述目標(biāo)字段進(jìn)行替換,生成原始數(shù)據(jù)流。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述按照所述字符串中的字符排列順序,識(shí)別所述字符串中包含的經(jīng)過(guò)壓縮的目標(biāo)字段的步驟包括: 識(shí)別所述字符串中的解壓縮標(biāo)示符,其中,所述解壓縮標(biāo)示符為壓縮過(guò)程中在所述字符串中加入的壓縮標(biāo)不符; 讀取以所述解壓縮標(biāo)示符為起始,包括所述解壓縮標(biāo)示符在內(nèi)的預(yù)定位數(shù)的目標(biāo)字段; 根據(jù)所述解壓縮規(guī)則對(duì)所述目標(biāo)字段進(jìn)行解壓縮,生成所述原始字段。
10.根據(jù)權(quán)利要求7至9中任意一項(xiàng)所述的方法,其特征在于,在所述獲取用于對(duì)所述目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮的解壓縮規(guī)則之前,所述方法還包括: 創(chuàng)建所述解壓縮規(guī)則,所述解壓縮規(guī)則為在所述目標(biāo)字段的第一位為預(yù)先設(shè)定的壓縮標(biāo)識(shí)符,所述目標(biāo)字段的第二位為所述原始字段中的字符重復(fù)的位數(shù),所述目標(biāo)字段的第三位為所述原始字段的重復(fù)的字符。
11.一種應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)壓縮裝置,其特征在于,包括: 第一獲取模塊,用于獲取用于對(duì)數(shù)據(jù)進(jìn)行壓縮的壓縮規(guī)則; 第一讀取模塊,用于讀取用于網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流; 判斷模塊,用于判斷所述數(shù)據(jù)流是否滿(mǎn)足所述壓縮規(guī)則定義的壓縮條件; 壓縮模塊,用于在所述數(shù)據(jù)流滿(mǎn)足所述壓縮條件時(shí),按照所述壓縮規(guī)則對(duì)所述數(shù)據(jù)流進(jìn)行壓縮,生成目標(biāo)數(shù)據(jù)流。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括: 第一創(chuàng)建模塊,用于創(chuàng)建所述壓縮規(guī)則,所述壓縮規(guī)則為在目標(biāo)字段的第一位加入預(yù)先設(shè)定的壓縮標(biāo)識(shí)符,所述目標(biāo)字段的第二位用于表征所述字段的字符重復(fù)的位數(shù),所述目標(biāo)字段的第三位加入所述字段的重復(fù)的字符。
13.—種應(yīng)用于網(wǎng)絡(luò)傳輸中的數(shù)據(jù)解壓縮裝置,其特征在于,對(duì)所述權(quán)利要求11至12中任意一項(xiàng)所述裝置所生成的目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮,所述裝置包括: 第二獲取模塊,用于獲取用于對(duì)所述目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮的解壓縮規(guī)則; 第二讀取模塊,用于讀取所述目標(biāo)數(shù)據(jù)流; 解壓縮模塊,用于按照所述解壓縮規(guī)則對(duì)所述目標(biāo)數(shù)據(jù)流進(jìn)行解壓縮,生成原始數(shù)據(jù)流。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述裝置還包括: 第二創(chuàng)建模塊,用于創(chuàng)建所述解壓縮規(guī)則,所述解壓縮規(guī)則為在所述目標(biāo)字段的第一位為預(yù)先設(shè)定的壓縮標(biāo)識(shí)符,所述目標(biāo)字段的第二位為原始字段中的字符重復(fù)的位數(shù),所述目標(biāo)字段的第三位為所述原始字段的重復(fù)的字符。
【文檔編號(hào)】H04L29/06GK104468044SQ201410740716
【公開(kāi)日】2015年3月25日 申請(qǐng)日期:2014年12月5日 優(yōu)先權(quán)日:2014年12月5日
【發(fā)明者】林斐, 李鑫 申請(qǐng)人:北京國(guó)雙科技有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
惠州市| 基隆市| 昭觉县| 普定县| 余干县| 新竹市| 江门市| 甘德县| 平舆县| 潮州市| 互助| 文水县| 祁门县| 江山市| 从化市| 饶平县| 册亨县| 江口县| 绥化市| 东山县| 祁门县| 江山市| 新竹县| 安福县| 花莲县| 屏山县| 丹东市| 庄河市| 普定县| 新民市| 新津县| 阜城县| 苍山县| 佛山市| 漯河市| 周宁县| 漳州市| 伊川县| 科技| 张家界市| 安仁县|