專利名稱:數(shù)據(jù)發(fā)送方法和裝置以及數(shù)據(jù)接收方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù),尤其涉及一種數(shù)據(jù)發(fā)送方法和裝置以及數(shù)據(jù)接收方法和裝置。
背景技術(shù):
隨著全球經(jīng)濟(jì)的飛速發(fā)展,公司機(jī)構(gòu)的規(guī)模在不斷擴(kuò)大,因此各公司機(jī)構(gòu)在總部機(jī)構(gòu)的基礎(chǔ)上設(shè)有多個(gè)不同異地的分支機(jī)構(gòu),從而使得總部機(jī)構(gòu)與各分支機(jī)構(gòu)之間、各分支機(jī)構(gòu)之間日常的業(yè)務(wù)數(shù)據(jù)需要通過(guò)廣域網(wǎng)(Wide Area Network, WAN)進(jìn)行傳輸。目前,在采用WAN傳輸前,發(fā)送端先采用數(shù)據(jù)壓縮技術(shù),對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行壓縮 處理,然后再發(fā)送到WAN,WAN將壓縮后的數(shù)據(jù)傳輸?shù)浇邮斩?,接收端?duì)壓縮后的數(shù)據(jù)進(jìn)行數(shù)據(jù)解壓處理,從而獲得數(shù)據(jù)。采用上述現(xiàn)有的數(shù)據(jù)傳輸方法,在發(fā)送端和接收端需要對(duì)全部數(shù)據(jù)進(jìn)行壓縮和解壓處理,中央處理單元(Central Processing Unit,簡(jiǎn)稱CPU)的數(shù)據(jù)處理量大,耗費(fèi)大量的運(yùn)算資源。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的一個(gè)方面是提供一種數(shù)據(jù)發(fā)送方法和數(shù)據(jù)接收方法,以克服現(xiàn)有技術(shù)的缺陷,節(jié)約運(yùn)算資源。本發(fā)明實(shí)施例的另一個(gè)方面是提供一種數(shù)據(jù)發(fā)送裝置和數(shù)據(jù)接收裝置,以克服現(xiàn)有技術(shù)的缺陷,節(jié)約運(yùn)算資源。—方面,本發(fā)明實(shí)施例提供一種數(shù)據(jù)發(fā)送方法,包括壓縮待傳輸數(shù)據(jù)的首個(gè)片段;當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度比上所述首個(gè)片段的長(zhǎng)度小于預(yù)設(shè)值時(shí),在所述壓縮后的首個(gè)片段中添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置,并為所述待傳輸數(shù)據(jù)的數(shù)據(jù)流標(biāo)識(shí)ID添加可壓縮標(biāo)記;當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度比上所述首個(gè)片段的長(zhǎng)度大于或等于所述預(yù)設(shè)值時(shí),在所述首個(gè)片段中添加未壓縮標(biāo)記并發(fā)送給所述數(shù)據(jù)接收裝置;當(dāng)所述待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中包括所述可壓縮標(biāo)記時(shí),壓縮待傳輸數(shù)據(jù)的后續(xù)片段,在壓縮后的后續(xù)片段中添加所述已壓縮標(biāo)記并發(fā)送給所述數(shù)據(jù)接收裝置;當(dāng)所述待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中不包括所述可壓縮標(biāo)記時(shí),在所述后續(xù)片段中添加所述未壓縮標(biāo)記并發(fā)送給所述數(shù)據(jù)接收裝置。本發(fā)明實(shí)施例還提供一種數(shù)據(jù)接收方法,包括接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段;當(dāng)所述片段中包括已壓縮標(biāo)記時(shí),去除所述已壓縮標(biāo)記并解壓,得到所述待傳輸數(shù)據(jù)的原始片段;當(dāng)所述片段中包括未壓縮標(biāo)記時(shí),去除所述未壓縮標(biāo)記,得到所述待傳輸數(shù)據(jù)的原始片段。另一方面,本發(fā)明提供一種數(shù)據(jù)發(fā)送裝置,包括第一壓縮單元,用于壓縮待傳輸數(shù)據(jù)的首個(gè)片段;當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度比上所述首個(gè)片段的長(zhǎng)度小于預(yù)設(shè)值時(shí),在所述壓縮后的首個(gè)片段中添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置,并為所述待傳輸數(shù)據(jù)的數(shù)據(jù)流標(biāo)識(shí)ID添加可壓縮標(biāo)記;當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度比上所述首個(gè)片段的長(zhǎng)度大于或等于所述預(yù)設(shè)值時(shí),在所述首個(gè)片段中添加未壓縮標(biāo)記并發(fā)送給所述數(shù)據(jù)接收裝置;第二壓縮單元,用于當(dāng)所述待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中包括所述可壓縮標(biāo)記時(shí),壓縮待傳輸數(shù)據(jù)的后續(xù)片段,在壓縮后的后續(xù)片段中添加所述已壓縮標(biāo)記并發(fā)送給所述數(shù)據(jù)接收裝置;當(dāng)所述待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中不包括所述可壓縮標(biāo)記時(shí),在所述后續(xù)片段中添加所述未壓縮標(biāo)記并發(fā)送給所述數(shù)據(jù)接收裝置。本發(fā)明實(shí)施例還提供一種數(shù)據(jù)接收裝置,包括
·
接收單元,用于接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段;解壓?jiǎn)卧?,用于?dāng)所述片段中包括已壓縮標(biāo)記時(shí),去除所述已壓縮標(biāo)記并解壓,得到所述待傳輸數(shù)據(jù)的原始片段;當(dāng)所述片段中包括未壓縮標(biāo)記時(shí),去除所述未壓縮標(biāo)記,得到所述待傳輸數(shù)據(jù)的原始片段。上述各實(shí)施例,通過(guò)壓縮待傳輸數(shù)據(jù)的首個(gè)片斷來(lái)判斷是否可以對(duì)待傳輸數(shù)據(jù)進(jìn)行壓縮,當(dāng)首個(gè)片段的壓縮效果好時(shí),則將待傳輸數(shù)據(jù)的數(shù)據(jù)流ID添加可壓縮標(biāo)記,以根據(jù)該ID對(duì)待傳輸數(shù)據(jù)的后續(xù)片斷進(jìn)行壓縮處理,而且還將所有經(jīng)過(guò)壓縮處理的片段都添加已壓縮標(biāo)記,發(fā)送給數(shù)據(jù)接收裝置,以使數(shù)據(jù)接收裝置根據(jù)已壓縮標(biāo)記對(duì)接收到的片段進(jìn)行解壓處理;當(dāng)首個(gè)片段的壓縮效果不好時(shí),則將待傳輸數(shù)據(jù)的數(shù)據(jù)流ID不添加可壓縮標(biāo)記,以根據(jù)該ID對(duì)待傳輸數(shù)據(jù)的后續(xù)片斷不進(jìn)行壓縮處理,而且將未經(jīng)過(guò)壓縮處理的片段都添加未壓縮標(biāo)記,發(fā)送給數(shù)據(jù)接收裝置,以使數(shù)據(jù)接收裝置根據(jù)未壓縮標(biāo)記不對(duì)接收到的片段進(jìn)行解壓處理。由于本發(fā)明實(shí)施例只對(duì)壓縮效果好的數(shù)據(jù)進(jìn)行壓縮處理,從而可以減少CPU的數(shù)據(jù)處理量,節(jié)省大量的運(yùn)算資源。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明數(shù)據(jù)發(fā)送方法實(shí)施例一的流程圖;圖2為本發(fā)明數(shù)據(jù)接收方法實(shí)施例一的流程圖;圖3為本發(fā)明數(shù)據(jù)傳輸方法實(shí)施例一的流程圖;圖4為本發(fā)明數(shù)據(jù)發(fā)送裝置實(shí)施例一的結(jié)構(gòu)示意圖;圖5為本發(fā)明數(shù)據(jù)發(fā)送裝置實(shí)施例二的結(jié)構(gòu)示意圖;圖6為本發(fā)明數(shù)據(jù)接收裝置實(shí)施例一的結(jié)構(gòu)示意圖;圖7為本發(fā)明數(shù)據(jù)傳輸系統(tǒng)實(shí)施例一的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(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í)施例,都屬于本發(fā)明保護(hù)的范圍。圖I為本發(fā)明數(shù)據(jù)發(fā)送方法實(shí)施例一的流程圖,如圖I所示,本實(shí)施例的方法可以包括步驟101、壓縮待傳輸數(shù)據(jù)的首個(gè)片段;具體地,待傳輸數(shù)據(jù)可以分成多個(gè)報(bào)文,將首次接收到待傳輸數(shù)據(jù)的至少一個(gè)報(bào)文稱為首個(gè)片段,而將后續(xù)接收到待傳輸數(shù)據(jù)的至少一個(gè)報(bào)文稱為后續(xù)片段;本實(shí)施例中要對(duì)待傳輸數(shù)據(jù)進(jìn)行一次預(yù)壓縮處理,因此,需要先對(duì)待傳輸數(shù)據(jù)的首個(gè)片段進(jìn)行壓縮處 理,確定首個(gè)片段的壓縮效果,從而可以反映出整個(gè)待傳輸數(shù)據(jù)進(jìn)行壓縮處理后的壓縮效
果O步驟102、當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度比上首個(gè)片段的長(zhǎng)度小于預(yù)設(shè)值時(shí),在壓縮后的首個(gè)片段中添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置,并為待傳輸數(shù)據(jù)的數(shù)據(jù)流標(biāo)識(shí)ID添加可壓縮標(biāo)記;當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度比上首個(gè)片段的長(zhǎng)度大于或等預(yù)設(shè)值時(shí),在首個(gè)片段中添加未壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置;本領(lǐng)域普通技術(shù)人員可以理解,對(duì)數(shù)據(jù)進(jìn)行壓縮的目的就是為了使數(shù)據(jù)長(zhǎng)度變小,因此,預(yù)設(shè)值為不大于I的某個(gè)數(shù)值,例如預(yù)設(shè)值可以為1、0. 9,0. 8等數(shù)值,其中,預(yù)設(shè)值由各應(yīng)用場(chǎng)景中所需要的壓縮效果來(lái)決定,本發(fā)明在此不做限制。本實(shí)施例中,以預(yù)設(shè)值為I進(jìn)行具體說(shuō)明,壓縮后的首個(gè)片段的長(zhǎng)度比上首個(gè)片段的長(zhǎng)度小于1,即壓縮后的首個(gè)片段的長(zhǎng)度小于首個(gè)片段的長(zhǎng)度;壓縮后的首個(gè)片段的長(zhǎng)度比上首個(gè)片段的長(zhǎng)度大于或等于1,即壓縮后的首個(gè)片段的長(zhǎng)度大于或等于首個(gè)片段的長(zhǎng)度。具體地,確定首個(gè)片段進(jìn)行壓縮處理后的壓縮效果可以將壓縮后的首個(gè)片段的長(zhǎng)度與首個(gè)片段的長(zhǎng)度進(jìn)行比較,當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度小于首個(gè)片段的長(zhǎng)度時(shí),則說(shuō)明首個(gè)片段的壓縮效果好,因此,在壓縮的首個(gè)片段中添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置,以使數(shù)據(jù)接收裝置可以根據(jù)已壓縮標(biāo)記對(duì)接收到的片段進(jìn)行解壓處理;同時(shí),也說(shuō)明待傳輸?shù)臄?shù)據(jù)可以進(jìn)行壓縮處理,因此,為待傳輸數(shù)據(jù)的數(shù)據(jù)流ID (Identity,標(biāo)識(shí))添加可壓縮標(biāo)記,若再接收到待傳輸數(shù)據(jù)的片斷時(shí),可以根據(jù)具有可壓縮標(biāo)記的數(shù)據(jù)流ID,對(duì)該ID對(duì)應(yīng)的待傳輸數(shù)據(jù)的后續(xù)片斷進(jìn)行壓縮處理。本領(lǐng)域普通技術(shù)人員可以理解,待傳輸數(shù)據(jù)的數(shù)據(jù)流ID是根據(jù)報(bào)文的四元組來(lái)確定的,其中,報(bào)文的四元組為源IP、源端口、目的IP和目的端口,每次傳輸數(shù)據(jù)的數(shù)據(jù)流ID均是不同的。當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度大于或等于首個(gè)片段的長(zhǎng)度時(shí),則說(shuō)明首個(gè)片段的壓縮效果不好,因此,在首個(gè)片段中添加未壓縮標(biāo)記并發(fā)送給數(shù)據(jù)裝置,以使數(shù)據(jù)接收裝置根據(jù)未壓縮標(biāo)記不對(duì)接收到的首個(gè)片段進(jìn)行解壓處理,以免破壞數(shù)據(jù)的準(zhǔn)確性;同時(shí),也說(shuō)明應(yīng)對(duì)待傳輸?shù)臄?shù)據(jù)都不進(jìn)行壓縮處理,因此,對(duì)待傳輸數(shù)據(jù)的數(shù)據(jù)流ID不添加可壓縮標(biāo)記,若再接收到待傳輸數(shù)據(jù)的片斷時(shí),可以根據(jù)沒(méi)有可壓縮標(biāo)記的ID,對(duì)該ID對(duì)應(yīng)的待傳輸數(shù)據(jù)的后續(xù)片斷不進(jìn)行壓縮處理。步驟103、當(dāng)待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中包括可壓縮標(biāo)記時(shí),壓縮待傳輸數(shù)據(jù)的后續(xù)片段,在壓縮后的后續(xù)片段中添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置;當(dāng)待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中不包括可壓縮標(biāo)記時(shí),在后續(xù)片段中添加未壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置。具體地,在接收到待傳輸數(shù)據(jù)的后續(xù)片斷時(shí),對(duì)待傳輸數(shù)據(jù)的后續(xù)片段進(jìn)行壓縮處理還是不進(jìn)行壓縮處理,應(yīng)先判斷待傳輸數(shù)據(jù)的數(shù)據(jù)流ID是否包括可壓縮標(biāo)記。當(dāng)待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中包括可壓縮標(biāo)記時(shí),則說(shuō)明待傳輸數(shù)據(jù)可以進(jìn)行壓縮處理,因此,壓縮接收到的與待傳輸數(shù)據(jù)的數(shù)據(jù)流ID對(duì)應(yīng)的待傳輸數(shù)據(jù)的后續(xù)片段,并在壓縮后的后續(xù)片段中添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置,以使數(shù)據(jù)接收裝置根據(jù)已壓縮標(biāo)記對(duì)接收到的壓縮后的后續(xù)片段進(jìn)行解壓處理。當(dāng)待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中不包括可壓縮標(biāo)記時(shí),則說(shuō)明待傳輸數(shù)據(jù)不進(jìn)行壓縮處理,因此,在接收到與待傳輸數(shù)據(jù)的數(shù)據(jù)流ID對(duì)應(yīng)的后續(xù)片斷后,在后續(xù)片斷中添加未壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置,以使數(shù)據(jù)接收裝置根據(jù)未壓縮標(biāo)記不對(duì)接收的該首個(gè)片段進(jìn)行解壓,以免破壞數(shù)據(jù)的準(zhǔn)確性。本實(shí)施例中,通過(guò)壓縮待傳輸數(shù)據(jù)的首個(gè)片斷來(lái)判斷是否可以對(duì)待傳輸數(shù)據(jù)進(jìn)行壓縮,當(dāng)首個(gè)片段的壓縮效果好時(shí),則將待傳輸數(shù)據(jù)的數(shù)據(jù)流ID添加可壓縮標(biāo)記,以根據(jù) 該ID對(duì)待傳輸數(shù)據(jù)的后續(xù)片斷進(jìn)行壓縮處理,而且還將所有經(jīng)過(guò)壓縮處理的片段都添加已壓縮標(biāo)記,發(fā)送給數(shù)據(jù)接收裝置,以使數(shù)據(jù)接收裝置根據(jù)已壓縮標(biāo)記對(duì)接收到的片段進(jìn)行解壓處理;當(dāng)首個(gè)片段的壓縮效果不好時(shí),則將待傳輸數(shù)據(jù)的數(shù)據(jù)流ID不添加可壓縮標(biāo)記,以根據(jù)該ID對(duì)待傳輸數(shù)據(jù)的后續(xù)片斷不進(jìn)行壓縮處理,而且將未經(jīng)過(guò)壓縮處理的片段都添加未壓縮標(biāo)記,發(fā)送給數(shù)據(jù)接收裝置,以使數(shù)據(jù)接收裝置根據(jù)未壓縮標(biāo)記不對(duì)接收到的片段進(jìn)行解壓處理。由于本發(fā)明實(shí)施例只對(duì)壓縮效果好的數(shù)據(jù)進(jìn)行壓縮處理,從而可以減少CPU的數(shù)據(jù)處理量,節(jié)省大量的運(yùn)算資源。圖2為本發(fā)明數(shù)據(jù)接收方法實(shí)施例一的流程圖,如圖2所示,本實(shí)施例的方法可以包括步驟201、接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段;步驟202、當(dāng)片段中包括已壓縮標(biāo)記時(shí),去除已壓縮標(biāo)記并解壓,得到待傳輸數(shù)據(jù)的原始片段;當(dāng)片段中包括未壓縮標(biāo)記時(shí),去除未壓縮標(biāo)記,得到待傳輸數(shù)據(jù)的原始片段。具體地,接收到數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段后,應(yīng)先確定待傳輸數(shù)據(jù)的片段中是否包括已壓縮標(biāo)記,當(dāng)待傳輸數(shù)據(jù)的片段中包括已壓縮標(biāo)記時(shí),則說(shuō)明待傳輸數(shù)據(jù)的片段是經(jīng)過(guò)壓縮處理后的片段,因此,先去除片段中的已壓縮標(biāo)記,然后將去除已壓縮標(biāo)記后的片段進(jìn)行解壓處理,從而得到待傳輸數(shù)據(jù)的原始片段;當(dāng)待傳輸數(shù)據(jù)的片段中包括未壓縮標(biāo)記時(shí),則說(shuō)待傳輸數(shù)據(jù)的片段是未經(jīng)過(guò)壓縮處理的片段,因此,只要去除片段中的未壓縮標(biāo)記,不再進(jìn)行解壓處理,就可以直接得到待傳輸數(shù)據(jù)的原始片段。本實(shí)施例中,通過(guò)接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段,然后根據(jù)待傳輸數(shù)據(jù)的片段中的已壓縮標(biāo)記,去除已壓縮標(biāo)記后并進(jìn)行解壓處理,就可以得到待傳輸數(shù)據(jù)的原始片段;根據(jù)待傳輸數(shù)據(jù)的片段中的未壓縮標(biāo)記,只要去除未壓縮標(biāo)記,就可以得到待傳輸數(shù)據(jù)的原始片段;由于本發(fā)明只對(duì)壓縮效果好的數(shù)據(jù)進(jìn)行解壓處理,從而可以減少CPU的數(shù)據(jù)處理量,節(jié)省大量的運(yùn)算資源。圖3為本發(fā)明數(shù)據(jù)傳輸方法的實(shí)施例一的流程圖。在圖3所示的實(shí)施例中,由圖I所示的本發(fā)明數(shù)據(jù)發(fā)送方法和圖2所示的本發(fā)明數(shù)據(jù)接收方法組成一個(gè)完整的數(shù)據(jù)傳輸過(guò)程,對(duì)該數(shù)據(jù)傳輸過(guò)程進(jìn)行詳細(xì)介紹。如圖3所示,本實(shí)施例的方法可以包括
步驟301、數(shù)據(jù)發(fā)送裝置獲取待傳輸數(shù)據(jù)的一個(gè)目標(biāo)片段和待傳輸數(shù)據(jù)的數(shù)據(jù)流ID ;由于待傳輸數(shù)據(jù)的數(shù)據(jù)流ID是由報(bào)文的四元組所確定的,而待傳輸數(shù)據(jù)的一個(gè)目標(biāo)片段是由至少一個(gè)報(bào)文組成,而且同屬于待傳輸數(shù)據(jù)的報(bào)文的四元組都是相同的,因此,一個(gè)目標(biāo)片段可以用一個(gè)待傳輸數(shù)據(jù)的數(shù)據(jù)流ID來(lái)表示。步驟302、數(shù)據(jù)發(fā)送裝置判斷目標(biāo)片段是否為待傳輸數(shù)據(jù)的首個(gè)片段;本實(shí)施例需要首先對(duì)首個(gè)片段進(jìn)行預(yù)壓縮處理以判斷待傳輸數(shù)據(jù)的壓縮效果,因此,需要判斷獲取的目標(biāo)片段是否為待傳輸數(shù)據(jù)的首個(gè)片段,如果目標(biāo)片段是待傳輸數(shù)據(jù)的首個(gè)片段,則直接執(zhí)行步驟303 ;如果目標(biāo)片段不是待傳輸數(shù)據(jù)的首個(gè)片段,則說(shuō)明已對(duì)首個(gè)片段進(jìn)行了預(yù)壓縮處理,則直接執(zhí)行步驟305。步驟303、數(shù)據(jù)發(fā)送裝置壓縮待傳輸數(shù)據(jù)的首個(gè)片段;具體地,當(dāng)目標(biāo)片段是待傳輸數(shù)據(jù)的首個(gè)片段時(shí),直接對(duì)首個(gè)片段進(jìn)行壓縮處理,··本實(shí)施例中,采用壓縮算法壓縮對(duì)待傳輸數(shù)據(jù)的首個(gè)片段進(jìn)行壓縮處理,從而得到壓縮后的首個(gè)片段,本領(lǐng)域的普通技術(shù)人員可以理解,壓縮算法可以為L(zhǎng)empel-Ziv-Oberhumer (簡(jiǎn)稱LZ0)壓縮算法或者GNUzip (簡(jiǎn)稱GZIP)壓縮算法等,本發(fā)明在此不做限制。步驟304、當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度比上首個(gè)片段的長(zhǎng)度小于預(yù)設(shè)值時(shí),數(shù)據(jù)發(fā)送裝置在壓縮后的首個(gè)片段的頭部添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置,并為待傳輸數(shù)據(jù)的數(shù)據(jù)流標(biāo)識(shí)ID添加可壓縮標(biāo)記;當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度比上首個(gè)片段的長(zhǎng)度大于或等于預(yù)設(shè)值時(shí),數(shù)據(jù)發(fā)送裝置在首個(gè)片段的頭部添加未壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置;本領(lǐng)域普通技術(shù)人員可以理解,對(duì)數(shù)據(jù)進(jìn)行壓縮的目的就是為了使數(shù)據(jù)長(zhǎng)度變小,因此,預(yù)設(shè)值為不大于I的某個(gè)數(shù)值,例如預(yù)設(shè)值可以為1、0. 9,0. 8等數(shù)值,其中,預(yù)設(shè)值由各應(yīng)用場(chǎng)景中所需要的壓縮效果來(lái)決定,本發(fā)明在此不做限制。本實(shí)施例中,以預(yù)設(shè)值為I進(jìn)行具體說(shuō)明。具體地,確定首個(gè)片段進(jìn)行壓縮處理后的壓縮效果可以將壓縮后的首個(gè)片段的長(zhǎng)度與首個(gè)片段的長(zhǎng)度進(jìn)行比較,當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度小于首個(gè)片段的長(zhǎng)度時(shí),則說(shuō)明首個(gè)片段的壓縮效果好,在該壓縮的首個(gè)片段的頭部添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置;同時(shí),還為待傳輸數(shù)據(jù)的數(shù)據(jù)流標(biāo)識(shí)ID添加可壓縮標(biāo)記。當(dāng)該壓縮后的首個(gè)片段的長(zhǎng)度大于或等于首個(gè)片段的長(zhǎng)度時(shí),則說(shuō)明首個(gè)片段的壓縮效果不好,因此,在首個(gè)片段的頭部添加未壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置;同時(shí)對(duì)待傳輸數(shù)據(jù)的數(shù)據(jù)流標(biāo)識(shí)ID不做任何處理。需要說(shuō)明的是,在步驟304之后,執(zhí)行步驟308的同時(shí),可以再次執(zhí)行上述步驟301,以獲取待傳輸數(shù)據(jù)的后續(xù)片段。步驟305、數(shù)據(jù)發(fā)送裝置判斷待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中是否包括可壓縮標(biāo)記;當(dāng)目標(biāo)片段不是待傳輸數(shù)據(jù)的首個(gè)片段時(shí),則說(shuō)明所接收到的目標(biāo)片段為待傳輸數(shù)據(jù)的后續(xù)片段,對(duì)待傳輸數(shù)據(jù)的后續(xù)片段進(jìn)行壓縮處理還是不進(jìn)行壓縮處理,應(yīng)先根據(jù)獲取的目標(biāo)片段對(duì)應(yīng)的待傳輸數(shù)據(jù)的數(shù)據(jù)流ID,判斷待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中是否包括可壓縮標(biāo)記;當(dāng)待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中包括可壓縮標(biāo)記時(shí),執(zhí)行步驟306 ;當(dāng)待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中不包括可壓縮標(biāo)記時(shí),執(zhí)行步驟307。步驟306、數(shù)據(jù)發(fā)送裝置壓縮待傳輸數(shù)據(jù)的后續(xù)片段,在壓縮后的后續(xù)片段的頭部添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置;具體地,當(dāng)待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中包括可壓縮標(biāo)記時(shí),則說(shuō)明該待傳輸數(shù)據(jù)可以進(jìn)行壓縮處理,因此,采用壓縮算法對(duì)接收到的待傳輸數(shù)據(jù)的后續(xù)片段進(jìn)行壓縮處理,得到壓縮后的后續(xù)片段,該壓縮算法與對(duì)首個(gè)片段進(jìn)行壓縮采用的壓縮算法相同;并且在壓縮后的后續(xù)片段的頭部添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置。步驟307、數(shù)據(jù)發(fā)送裝置在后續(xù)片段的頭部添加未壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置;具體地,當(dāng)待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中不包括可壓縮標(biāo)記時(shí),則說(shuō)明待傳輸數(shù)據(jù)不進(jìn)行壓縮處理,因此,在接收到待傳輸數(shù)據(jù)的后續(xù)片斷后,在后續(xù)片斷的頭部添加未壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置。優(yōu)選地,上述的已壓縮標(biāo)記中包括類型字段和長(zhǎng)度字段,類型字段的數(shù)值為第一值,例如為1,本發(fā)明在此不做限制,長(zhǎng)度字段的數(shù)值為壓縮后的已壓縮標(biāo)記對(duì)應(yīng)的首個(gè)片 段的長(zhǎng)度與已壓縮標(biāo)記的長(zhǎng)度之和,因此,數(shù)據(jù)接收裝置根據(jù)接收到的片段頭部中已壓縮標(biāo)記的類型字段的數(shù)值1,可以確定對(duì)接收到的片段進(jìn)行解壓,還可以根據(jù)長(zhǎng)度字段的數(shù)值確定是否接收到了完整的片段;進(jìn)一步地,已壓縮標(biāo)記中還包括屬性字段,屬性字段的數(shù)值為壓縮前的已壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度,因此,數(shù)據(jù)接收裝置還可以根據(jù)屬性字段的數(shù)值判斷解壓后所得的片段是否為已壓縮標(biāo)記對(duì)應(yīng)的壓縮前的片段。上述的未壓縮標(biāo)記中包括類型字段和長(zhǎng)度字段,類型字段的數(shù)值為第二值,例如為0,本發(fā)明在此不做限制,長(zhǎng)度字段的數(shù)值為未壓縮標(biāo)記對(duì)應(yīng)的后續(xù)片段的長(zhǎng)度與未壓縮標(biāo)記的長(zhǎng)度之和,因此,數(shù)據(jù)接收裝置根據(jù)接收到的片段頭部中未壓縮標(biāo)記的類型字段的數(shù)值0,可以確定不對(duì)接收的片段進(jìn)行解壓處理,以免破壞數(shù)據(jù)的準(zhǔn)確性。需要說(shuō)明的是,已壓縮標(biāo)記和未壓縮標(biāo)記中類型字段為I字節(jié)、長(zhǎng)度字段為4字節(jié),進(jìn)一步地,已壓縮標(biāo)記中的屬性字段為4字節(jié);因此,已壓縮標(biāo)記最多為9字節(jié),未壓縮標(biāo)記為5字節(jié),已壓縮標(biāo)記和未壓縮標(biāo)記的添加不會(huì)影響到數(shù)據(jù)的傳輸速率。進(jìn)一步地,本實(shí)施例的方法還包括數(shù)據(jù)發(fā)送裝置向數(shù)據(jù)接收裝置發(fā)送攜帶壓縮算法的標(biāo)識(shí)的通知消息,以使數(shù)據(jù)接收裝置在對(duì)壓縮后的片段進(jìn)行解壓處理的過(guò)程中采用與壓縮處理過(guò)程中相同的壓縮算法。這一步驟在步驟307之前執(zhí)行均可。進(jìn)一步地,本實(shí)施例的方法還包括數(shù)據(jù)接收裝置接收數(shù)據(jù)發(fā)送裝置發(fā)送的攜帶壓縮算法的標(biāo)識(shí)的通知消息,數(shù)據(jù)接收裝置可以采用接收到的壓縮算法對(duì)壓縮后的片段進(jìn)行解壓處理,保證數(shù)據(jù)的準(zhǔn)確性。這一步驟在步驟311之前執(zhí)行均可。步驟308、數(shù)據(jù)接收裝置接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段;步驟309、數(shù)據(jù)接收裝置判斷片段的長(zhǎng)度是否等于長(zhǎng)度字段的數(shù)值;本實(shí)施例中,接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段后,應(yīng)先確定所接收到的待傳輸數(shù)據(jù)的片段是否是一個(gè)完整的片段,這是因?yàn)槿粑唇邮盏揭粋€(gè)完整的片段就進(jìn)行解壓處理,容易造成數(shù)據(jù)出錯(cuò),同時(shí),待傳輸數(shù)據(jù)的片段中的已壓縮標(biāo)記或未壓縮標(biāo)記中均包括有長(zhǎng)度字段,因此,可以根據(jù)該片段中的長(zhǎng)度字段的數(shù)值來(lái)對(duì)接收到的片段進(jìn)行判斷,即判斷片段的長(zhǎng)度是否等于片段中的長(zhǎng)度字段的數(shù)值。當(dāng)片段的長(zhǎng)度等于片段中的長(zhǎng)度字段的數(shù)值時(shí),則執(zhí)行步驟310 ;當(dāng)片段的長(zhǎng)度不等于片段中的長(zhǎng)度字段的數(shù)值時(shí),則繼續(xù)執(zhí)行步驟308,使片段的長(zhǎng)度等于片段中的長(zhǎng)度字段的數(shù)值。
其中,已壓縮標(biāo)記中包括類型字段和長(zhǎng)度字段,類型字段的數(shù)值為第一值,例如為1,本發(fā)明在此不做限制,長(zhǎng)度字段的數(shù)據(jù)為壓縮后的已壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度與已壓縮標(biāo)記的長(zhǎng)度之和;未壓縮標(biāo)記中包括類型字段和長(zhǎng)度字段,類型字段的數(shù)值為第二值,例如為0,本發(fā)明在此不做限制,長(zhǎng)度字段的數(shù)值為未壓縮標(biāo)記對(duì)應(yīng)的片段長(zhǎng)度與未壓縮標(biāo)記的長(zhǎng)度之和。步驟310、數(shù)據(jù)接收裝置識(shí)別片段的頭部包括已壓縮標(biāo)記或未壓縮標(biāo)記;當(dāng)片段的長(zhǎng)度等于片段中的長(zhǎng)度字段的數(shù)值時(shí),先識(shí)別片段的頭部中包括已壓縮標(biāo)記或未壓縮標(biāo)記,若識(shí)別片段的頭部包括已壓縮標(biāo)記則需要對(duì)該片段進(jìn)行解壓處理,若識(shí)別片段的頭部包括未壓縮標(biāo)記,則不需要對(duì)片段進(jìn)行解壓處理。具體地,當(dāng)片段中的類型字段的數(shù)值為I時(shí),則確定該片段的頭部中包括已壓縮標(biāo)記;當(dāng)片段中類型字段的數(shù)值為O時(shí),則確定該片段的頭部中包括未壓縮標(biāo)記。步驟311、當(dāng)片段的頭部包括已壓縮標(biāo)記時(shí),數(shù)據(jù)接收裝置去除已壓縮標(biāo)記并解 壓,得到待傳輸數(shù)據(jù)的原始片段;當(dāng)片段的頭部包括未壓縮標(biāo)記時(shí),數(shù)據(jù)接收裝置去除未壓縮標(biāo)記,得到待傳輸數(shù)據(jù)的原始片段;具體地,當(dāng)根據(jù)類型字段的數(shù)值I確定待傳輸數(shù)據(jù)的片段的頭部包括已壓縮標(biāo)記時(shí),則去除已壓縮標(biāo)記,并采用接收到的壓縮算法對(duì)去除已壓縮標(biāo)記后的片段進(jìn)行解壓處理,從而得到待傳輸數(shù)據(jù)的原始片段。當(dāng)根據(jù)類型字段的數(shù)值O確定待傳輸數(shù)據(jù)的片段的頭部包括未壓縮標(biāo)記時(shí),則去除未壓縮標(biāo)記,從而可以直接得到待傳輸數(shù)據(jù)的原始片段。步驟312、當(dāng)解壓獲得的待傳輸數(shù)據(jù)的原始片段的長(zhǎng)度不等于屬性字段的數(shù)值時(shí),數(shù)據(jù)接收裝置向數(shù)據(jù)發(fā)送裝置返回錯(cuò)誤報(bào)告并停止接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段。在本實(shí)施例中,進(jìn)一步地,已壓縮標(biāo)記還包括屬性字段,屬性字段的數(shù)值為壓縮前的已壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度,因此,還需要確定解壓獲得的待傳輸數(shù)據(jù)的原始片段的長(zhǎng)度是否等于屬性字段的數(shù)值,當(dāng)解壓獲得的待傳輸數(shù)據(jù)的原始片段的長(zhǎng)度不等于屬性字段的數(shù)值時(shí),則說(shuō)明數(shù)據(jù)出現(xiàn)了錯(cuò)誤,應(yīng)向數(shù)據(jù)發(fā)送裝置返回錯(cuò)誤報(bào)告并停止接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段,以免將錯(cuò)誤的數(shù)據(jù)傳遞給用戶。當(dāng)解壓獲得的待傳輸數(shù)據(jù)的原始片段等于屬性字段的數(shù)值時(shí),則說(shuō)明數(shù)據(jù)正確。本實(shí)施例中,數(shù)據(jù)發(fā)送裝置通過(guò)壓縮待傳輸數(shù)據(jù)的首個(gè)片斷來(lái)判斷是否對(duì)可以對(duì)待傳輸數(shù)據(jù)進(jìn)行壓縮,當(dāng)首個(gè)片段的壓縮效果好時(shí),則將待傳輸數(shù)據(jù)的數(shù)據(jù)流ID添加可壓縮標(biāo)記,以根據(jù)該ID對(duì)待傳輸數(shù)據(jù)的后續(xù)片斷進(jìn)行壓縮處理,而且還將所有經(jīng)過(guò)壓縮處理的片段的頭部都添加已壓縮標(biāo)記,并發(fā)送給數(shù)據(jù)接收裝置;當(dāng)首個(gè)片段的壓縮效果不好時(shí),則將待傳輸數(shù)據(jù)的數(shù)據(jù)流ID不添加可壓縮標(biāo)記,以根據(jù)該ID對(duì)待傳輸數(shù)據(jù)的后續(xù)片斷不進(jìn)行壓縮處理,而且將未經(jīng)過(guò)壓縮處理的片段的頭部都添加未壓縮標(biāo)記,并發(fā)送給數(shù)據(jù)接收裝置。數(shù)據(jù)接收裝置接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段,然后根據(jù)待傳輸數(shù)據(jù)的片段中的已壓縮標(biāo)記的類型字段,去除已壓縮標(biāo)記后并進(jìn)行解壓處理,就可以得到待傳輸數(shù)據(jù)的原始片段;根據(jù)待傳輸數(shù)據(jù)的片段中的未壓縮標(biāo)記的類型字段,只要去除未壓縮標(biāo)記,就可以得到待傳輸數(shù)據(jù)的原始片段,由于本發(fā)明只對(duì)壓縮效果好的待傳輸數(shù)據(jù)進(jìn)行壓縮和解壓處理,從而可以減少CPU的數(shù)據(jù)處理量,節(jié)省大量的運(yùn)算資源。進(jìn)一步地,通過(guò)在壓縮處理和解壓處理過(guò)程中采用相同的壓縮算法,以及已壓縮標(biāo)記和未壓縮標(biāo)記中設(shè)有長(zhǎng)度字段,以及已壓縮標(biāo)記中還設(shè)有屬性字段,保證了待傳輸數(shù)據(jù)的準(zhǔn)確性和可靠性。例如在企業(yè)應(yīng)用中,會(huì)經(jīng)常傳輸一些文件,文件的格式可能有圖片(JPG、JPEG、BMP等格式)、視頻(WAV、AVI等格式)、安裝包(EXE格式)、壓縮包(GZ、RAR等格式)等不同的信息,而這些文件是本身已經(jīng)經(jīng)過(guò)壓縮的數(shù)據(jù),再次進(jìn)行壓縮可能導(dǎo)致數(shù)據(jù)量反而變大即再次壓縮是完全沒(méi)有效果的,而且浪費(fèi)了寶貴的CPU資源,因此,對(duì)于這種文件傳輸我們應(yīng)該盡量不選擇進(jìn)行數(shù)據(jù)壓縮。而有些文件,比如我們的WORD文檔、PPT文檔、EXCLE文檔、TXT文檔等,這些是沒(méi)有經(jīng)過(guò)編碼的,存在冗余信息,進(jìn)行數(shù)據(jù)壓縮的效果通常比較好,對(duì)于這種文件傳輸我們就應(yīng)該選擇進(jìn)行數(shù)據(jù)壓縮。采用上述本發(fā)明各實(shí)施例提供的數(shù)據(jù)發(fā)送方法和數(shù)據(jù)接收方法,就可以有效解決上述存在問(wèn)題。圖4為本發(fā)明數(shù)據(jù)發(fā)送裝置實(shí)施例一的結(jié)構(gòu)示意圖,如圖4所示,本實(shí)施例的裝置可以包括第一壓縮單元11和第二壓縮單元12,其中,第一壓縮單元11用于壓縮待傳輸數(shù)據(jù)的首個(gè)片段,當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度比上首個(gè)片段的長(zhǎng)度小于預(yù)設(shè)值時(shí),在壓縮后的首個(gè)片段中添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置,并為待傳輸數(shù)據(jù)的數(shù)據(jù)流標(biāo)識(shí)ID 添加可壓縮標(biāo)記,當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度比上首個(gè)片段的長(zhǎng)度大于或等于預(yù)設(shè)值時(shí),在首個(gè)片段中添加未壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置;第二壓縮單元12用于當(dāng)待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中包括可壓縮標(biāo)記時(shí),壓縮待傳輸數(shù)據(jù)的后續(xù)片段,在壓縮后的后續(xù)片段中添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置,當(dāng)待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中不包括可壓縮標(biāo)記時(shí),在后續(xù)片段中添加未壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置。本實(shí)施例的裝置,可以用于執(zhí)行圖I所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。圖5為本發(fā)明數(shù)據(jù)發(fā)送裝置實(shí)施例二的結(jié)構(gòu)示意圖,如圖5所示,本實(shí)施例的裝置在圖4所示裝置結(jié)構(gòu)的基礎(chǔ)上,進(jìn)一步地,可以包括獲取單元13和預(yù)判斷單元14。其中,獲取單元13用于獲取待傳輸數(shù)據(jù)的一個(gè)目標(biāo)片段和待傳輸數(shù)據(jù)的數(shù)據(jù)流ID ;預(yù)判斷單元14,判斷目標(biāo)片段是否為待傳輸數(shù)據(jù)的首個(gè)片段,如果是,開(kāi)啟所述第一壓縮單元11,否則,開(kāi)啟所述第二壓縮單元12。進(jìn)一步地,上述的第一壓縮單元11具體用于采用壓縮算法壓縮待傳輸數(shù)據(jù)的首個(gè)片段,還具體用于在壓縮后的首個(gè)片段的頭部添加已壓縮標(biāo)記,并具體用于在首個(gè)片段的頭部添加未壓縮標(biāo)記;上述的第二壓縮單元12具體用于采用壓縮算法壓縮待傳輸數(shù)據(jù)的后續(xù)片段,還具體用于在壓縮后的后續(xù)片段的頭部添加已壓縮標(biāo)記,并具體用于在所續(xù)片段的頭部添加未壓縮標(biāo)記;其中,已壓縮標(biāo)記中包括類型字段和長(zhǎng)度字段,類型字段的數(shù)值為第一值,長(zhǎng)度字段的數(shù)值為壓縮后的已壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度與已壓縮標(biāo)記的長(zhǎng)度之和;進(jìn)一步地,該已壓縮標(biāo)記中還包括屬性字段,屬性字段的數(shù)值為壓縮前的已壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度;未壓縮標(biāo)記中包括類型字段和長(zhǎng)度字段,類型字段的數(shù)值為第二值,長(zhǎng)度字段的數(shù)值為未壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度與未壓縮標(biāo)記的長(zhǎng)度之和。本實(shí)施例的裝置還包括發(fā)送單元15,其中,發(fā)送單元15用于向數(shù)據(jù)接收裝置發(fā)送攜帶壓縮算法的標(biāo)識(shí)的通知消息。本實(shí)施例的裝置,可以用于執(zhí)行圖3所示方法實(shí)施例中的數(shù)據(jù)發(fā)送方法的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。圖6為本發(fā)明數(shù)據(jù)接收裝置實(shí)施例一的結(jié)構(gòu)示意圖,如圖6所示,本實(shí)施例的裝置可以包括接收單元21和解壓?jiǎn)卧?2,其中,接收單元21用于接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段;解壓?jiǎn)卧?2用于當(dāng)片段中包括已壓縮標(biāo)記時(shí),去除已壓縮標(biāo)記并解壓,得到待傳輸數(shù)據(jù)的原始片段,當(dāng)片段中包括未壓縮標(biāo)記時(shí),去除未壓縮標(biāo)記,得到待傳輸數(shù)據(jù)的原始片段。本實(shí)施例的裝置,可以用于執(zhí)行圖2所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。在本發(fā)明數(shù)據(jù)接收裝置實(shí)施例二中,上述的接收單元21還用于接收數(shù)據(jù)發(fā)送裝置發(fā)送的攜帶壓縮算法的標(biāo)識(shí)的通知消息,還用于判斷所述片段的長(zhǎng)度是否等于長(zhǎng)度字段的數(shù)值,如果是,開(kāi)啟解壓?jiǎn)卧?2,否則,繼續(xù)接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段;上述的解壓?jiǎn)卧?2還具體用于識(shí)別片段的頭部包括已壓縮標(biāo)記或未壓縮標(biāo)記,還具體用于采用壓縮算法解壓,還用于當(dāng)解壓獲得的待傳輸數(shù)據(jù)的原始片段的長(zhǎng)度不等于屬性字段的數(shù)值時(shí),向數(shù)據(jù)發(fā)送裝置返回錯(cuò)誤報(bào)告并停止接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段;其中,已壓縮標(biāo)記中包括類型字段和長(zhǎng)度字段,類型字段的數(shù)值為第一值,長(zhǎng)度字段的數(shù)值為壓縮后的已壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度與已壓縮標(biāo)記的長(zhǎng)度之和,進(jìn)一步,已壓 縮標(biāo)記還包括屬性字段,屬性字段的數(shù)值為壓縮前的已壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度;未壓縮標(biāo)記包括類型字段和長(zhǎng)度字段,類型字段的數(shù)值為第二值,長(zhǎng)度字段的數(shù)值為未壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度與未壓縮標(biāo)記的長(zhǎng)度之和。本實(shí)施例的裝置,可以用于執(zhí)行圖3所示方法實(shí)施例中數(shù)據(jù)接收方法的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。圖7為本發(fā)明數(shù)據(jù)傳輸系統(tǒng)實(shí)施例一的結(jié)構(gòu)示意圖,如圖7所示,本實(shí)施例中的系統(tǒng)包括數(shù)據(jù)發(fā)送裝置I、數(shù)據(jù)接收裝置2、WAN3、客戶端4和服務(wù)器5,各裝置之間的實(shí)線表示各裝置之間的通信連接。數(shù)據(jù)發(fā)送裝置I從客戶端4獲取需要發(fā)送的數(shù)據(jù)后經(jīng)過(guò)相應(yīng)的壓縮處理,再將處理后的數(shù)據(jù)發(fā)送到廣域網(wǎng)3上,經(jīng)過(guò)WAN3的傳輸發(fā)送到數(shù)據(jù)接收裝置2,由數(shù)據(jù)接收裝置2經(jīng)過(guò)相應(yīng)的解壓處理再發(fā)送至服務(wù)器5。在本系統(tǒng)中,既減少了 CPU的數(shù)據(jù)處理量,節(jié)省了大量的運(yùn)算資源,又減少了跨WAN的數(shù)據(jù)傳輸量,節(jié)省了 WAN的帶寬資源。需要說(shuō)明的是,有關(guān)WAN3、客戶端4和服務(wù)器5的結(jié)構(gòu),以及各裝置之間的通信,本領(lǐng)域普通技術(shù)人員可以理解為與現(xiàn)有技術(shù)中的一致,此處不做贅述。該系統(tǒng)中涉及的數(shù)據(jù)發(fā)送裝置I和數(shù)據(jù)接收裝置2可以采用上述各裝置實(shí)施例提供的數(shù)據(jù)發(fā)送裝置和數(shù)據(jù)接收裝置,其具體結(jié)構(gòu)和功能以及技術(shù)效果此處不再贅述。該系統(tǒng)涉及的數(shù)據(jù)發(fā)送方法和數(shù)據(jù)接收方法可以參見(jiàn)上述各實(shí)施例的流程,此處也不再贅述。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說(shuō)明的是以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
權(quán)利要求
1.一種數(shù)據(jù)發(fā)送方法,其特征在于,包括 壓縮待傳輸數(shù)據(jù)的首個(gè)片段; 當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度比上所述首個(gè)片段的長(zhǎng)度小于預(yù)設(shè)值時(shí),在所述壓縮后的首個(gè)片段中添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置,并為所述待傳輸數(shù)據(jù)的數(shù)據(jù)流標(biāo)識(shí)ID添加可壓縮標(biāo)記; 當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度比上所述首個(gè)片段的長(zhǎng)度大于或等于所述預(yù)設(shè)值時(shí),在所述首個(gè)片段中添加未壓縮標(biāo)記并發(fā)送給所述數(shù)據(jù)接收裝置; 當(dāng)所述待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中包括所述可壓縮標(biāo)記時(shí),壓縮待傳輸數(shù)據(jù)的后續(xù)片段,在壓縮后的后續(xù)片段中添加所述已壓縮標(biāo)記并發(fā)送給所述數(shù)據(jù)接收裝置; 當(dāng)所述待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中不包括所述可壓縮標(biāo)記時(shí),在所述后續(xù)片段中添加所述未壓縮標(biāo)記并發(fā)送給所述數(shù)據(jù)接收裝置。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于, 所述在所述壓縮后的首個(gè)片段中添加已壓縮標(biāo)記包括在所述壓縮后的首個(gè)片段的頭部添加已壓縮標(biāo)記; 所述在所述首個(gè)片段中添加未壓縮標(biāo)記包括在所述首個(gè)片段的頭部添加未壓縮標(biāo)記; 所述在壓縮后的后續(xù)片段中添加所述已壓縮標(biāo)記包括在壓縮后的后續(xù)片段的頭部添加所述已壓縮標(biāo)記; 所述在所述后續(xù)片段中添加未壓縮標(biāo)記包括在所述后續(xù)片段的頭部添加未壓縮標(biāo)記。
3.根據(jù)權(quán)利要求I或2所述的方法,其特征在于, 所述已壓縮標(biāo)記中包括類型字段和長(zhǎng)度字段; 所述類型字段的數(shù)值為第一值; 所述長(zhǎng)度字段的數(shù)值為壓縮后的所述已壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度與所述已壓縮標(biāo)記的長(zhǎng)度之和; 所述未壓縮標(biāo)記中包括所述類型字段和所述長(zhǎng)度字段; 所述類型字段的數(shù)值為第二值; 所述長(zhǎng)度字段的數(shù)值為所述未壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度與所述未壓縮標(biāo)記的長(zhǎng)度之和。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述已壓縮標(biāo)記中還包括屬性字段; 所述屬性字段的數(shù)值為壓縮前的所述已壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度。
5.根據(jù)權(quán)要求I或2所述的方法,其特征在于, 所述壓縮待傳輸數(shù)據(jù)的首個(gè)片段包括采用壓縮算法壓縮待傳輸數(shù)據(jù)的首個(gè)片段; 所述壓縮待傳輸數(shù)據(jù)的后續(xù)片段包括采用所述壓縮算法壓縮待傳輸數(shù)據(jù)的后續(xù)片段; 所述方法還包括向所述數(shù)據(jù)接收裝置發(fā)送攜帶所述壓縮算法的標(biāo)識(shí)的通知消息。
6.一種數(shù)據(jù)接收方法,其特征在于,包括 接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段;當(dāng)所述片段中包括已壓縮標(biāo)記時(shí),去除所述已壓縮標(biāo)記并解壓,得到所述待傳輸數(shù)據(jù)的原始片段; 當(dāng)所述片段中包括未壓縮標(biāo)記時(shí),去除所述未壓縮標(biāo)記,得到所述待傳輸數(shù)據(jù)的原始片段。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段之后,還包括 識(shí)別所述片段的頭部包括所述已壓縮標(biāo)記或所述未壓縮標(biāo)記。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于, 所述已壓縮標(biāo)記中包括類型字段和長(zhǎng)度字段; 所述類型字段的數(shù)值為第一值; 所述長(zhǎng)度字段的數(shù)值為壓縮后的所述已壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度與所述已壓縮標(biāo)記的長(zhǎng)度之和 所述未壓縮標(biāo)記中包括所述類型字段和所述長(zhǎng)度字段; 所述類型字段的數(shù)值為第二值; 所述長(zhǎng)度字段的數(shù)值為所述未壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度與所述未壓縮標(biāo)記的長(zhǎng)度之和; 所述接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段之后,還包括 判斷所述片段的長(zhǎng)度是否等于所述長(zhǎng)度字段的數(shù)值; 如果是,執(zhí)行所述當(dāng)所述片段中包括已壓縮標(biāo)記時(shí),去除所述已壓縮標(biāo)記并解壓,得到所述待傳輸數(shù)據(jù)的原始片段,當(dāng)所述片段中包括未壓縮標(biāo)記時(shí),去除所述未壓縮標(biāo)記,得到所述待傳輸數(shù)據(jù)的原始片段的步驟; 否則,返回所述接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段的步驟。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于, 所述已壓縮標(biāo)記中還包括屬性字段; 所述屬性字段的數(shù)值為壓縮前的所述已壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度; 所述去除所述已壓縮標(biāo)記并解壓,得到所述待傳輸數(shù)據(jù)的原始片段之后,還包括 當(dāng)解壓獲得的所述待傳輸數(shù)據(jù)的原始片段的長(zhǎng)度不等于所述屬性字段的數(shù)值時(shí),向所述數(shù)據(jù)發(fā)送裝置返回錯(cuò)誤報(bào)告并停止接收所述數(shù)據(jù)發(fā)送裝置發(fā)送的所述待傳輸數(shù)據(jù)的片段。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,還包括 接收所述數(shù)據(jù)發(fā)送裝置發(fā)送的攜帶壓縮算法的標(biāo)識(shí)的通知消息; 所述解壓包括采用所述壓縮算法解壓。
11.一種數(shù)據(jù)發(fā)送裝置,其特征在于,包括 第一壓縮單元,用于壓縮待傳輸數(shù)據(jù)的首個(gè)片段;當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度比上所述首個(gè)片段的長(zhǎng)度小于預(yù)設(shè)值時(shí),在所述壓縮后的首個(gè)片段中添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置,并為所述待傳輸數(shù)據(jù)的數(shù)據(jù)流標(biāo)識(shí)ID添加可壓縮標(biāo)記;當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度比上所述首個(gè)片段的長(zhǎng)度大于或等于所述預(yù)設(shè)值時(shí),在所述首個(gè)片段中添加未壓縮標(biāo)記并發(fā)送給所述數(shù)據(jù)接收裝置; 第二壓縮單元,用于當(dāng)所述待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中包括所述可壓縮標(biāo)記時(shí),壓縮待傳輸數(shù)據(jù)的后續(xù)片段,在壓縮后的后續(xù)片段中添加所述已壓縮標(biāo)記并發(fā)送給所述數(shù)據(jù)接收裝置;當(dāng)所述待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中不包括所述可壓縮標(biāo)記時(shí),在所述后續(xù)片段中添加所述未壓縮標(biāo)記并發(fā)送給所述數(shù)據(jù)接收裝置。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于, 所述第一壓縮單元,具體用于在所述壓縮后的首個(gè)片段的頭部添加已壓縮標(biāo)記,并具體用于在所述首個(gè)片段的頭部添加未壓縮標(biāo)記; 所述第二壓縮單元,具體用于在壓縮后的后續(xù)片段的頭部添加所述已壓縮標(biāo)記,并具體用于在所述后續(xù)片段的頭部添加未壓縮標(biāo)記。
13.根據(jù)權(quán)利要求11或12所述的裝置,其特征在于, 所述已壓縮標(biāo)記中包括類型字段和長(zhǎng)度字段; 所述類型字段的數(shù)值為第一值; 所述長(zhǎng)度字段的數(shù)值為壓縮后的所述已壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度與所述已壓縮標(biāo)記的長(zhǎng)度之和; 所述未壓縮標(biāo)記中包括所述類型字段和所述長(zhǎng)度字段; 所述類型字段的數(shù)值為第二值; 所述長(zhǎng)度字段的數(shù)值為所述未壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度與所述未壓縮標(biāo)記的長(zhǎng)度之和。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于, 所述已壓縮標(biāo)記中還包括屬性字段; 所述屬性字段的數(shù)值為壓縮前的所述已壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度。
15.根據(jù)權(quán)利要求11或12所述的裝置,其特征在于, 所述第一壓縮單元,具體用于采用壓縮算法壓縮待傳輸數(shù)據(jù)的首個(gè)片段; 所述第二壓縮單元,具體用于采用所述壓縮算法壓縮待傳輸數(shù)據(jù)的后續(xù)片段; 所述裝置,還包括發(fā)送單元,用于向所述數(shù)據(jù)接收裝置發(fā)送攜帶所述壓縮算法的標(biāo)識(shí)的通知消息。
16.一種數(shù)據(jù)接收裝置,其特征在于,包括 接收單元,用于接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段; 解壓?jiǎn)卧?,用于?dāng)所述片段中包括已壓縮標(biāo)記時(shí),去除所述已壓縮標(biāo)記并解壓,得到所述待傳輸數(shù)據(jù)的原始片段;當(dāng)所述片段中包括未壓縮標(biāo)記時(shí),去除所述未壓縮標(biāo)記,得到所述待傳輸數(shù)據(jù)的原始片段。
17.根據(jù)權(quán)利要求16所述的裝置,其特征在于, 所述解壓?jiǎn)卧€用于識(shí)別所述片段的頭部包括所述已壓縮標(biāo)記或所述未壓縮標(biāo)記。
18.根據(jù)權(quán)利要求16所述的裝置,其特征在于, 所述已壓縮標(biāo)記中包括類型字段和長(zhǎng)度字段; 所述類型字段的數(shù)值為第一值; 所述長(zhǎng)度字段的數(shù)值為壓縮后的所述已壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度與所述已壓縮標(biāo)記的長(zhǎng)度之和 所述未壓縮標(biāo)記中包括所述類型字段和所述長(zhǎng)度字段; 所述類型字段的數(shù)值為第二值;所述長(zhǎng)度字段的數(shù)值為所述未壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度與所述未壓縮標(biāo)記的長(zhǎng)度之和; 所述接收單元還用于判斷所述片段的長(zhǎng)度是否等于所述長(zhǎng)度字段的數(shù)值;如果是,開(kāi)啟所述解壓?jiǎn)卧?;否則,繼續(xù)接收數(shù)據(jù)發(fā)送裝置發(fā)送的待傳輸數(shù)據(jù)的片段。
19.根據(jù)權(quán)利要求18所述的裝置,其特征在于, 所述已壓縮標(biāo)記中還包括屬性字段; 所述屬性字段的數(shù)值為壓縮前的所述已壓縮標(biāo)記對(duì)應(yīng)的片段的長(zhǎng)度; 所述解壓?jiǎn)卧€用于當(dāng)解壓獲得的所述待傳輸數(shù)據(jù)的原始片段的長(zhǎng)度不等于所述屬性字段的數(shù)值時(shí),向所述數(shù)據(jù)發(fā)送裝置返回錯(cuò)誤報(bào)告并停止接收所述數(shù)據(jù)發(fā)送裝置發(fā)送的所述待傳輸數(shù)據(jù)的片段。
20.根據(jù)權(quán)利要求19所述的裝置,其特征在于, 所述接收單元還用于接收所述數(shù)據(jù)發(fā)送裝置發(fā)送的攜帶壓縮算法的標(biāo)識(shí)的通知消息; 所述解壓?jiǎn)卧唧w用于采用所述壓縮算法解壓。
全文摘要
本發(fā)明實(shí)施例提供一種數(shù)據(jù)發(fā)送方法和裝置以及數(shù)據(jù)接收方法和裝置。數(shù)據(jù)發(fā)送方法包括壓縮待傳輸數(shù)據(jù)的首個(gè)片段;當(dāng)壓縮后的首個(gè)片段的長(zhǎng)度比上首個(gè)片段的長(zhǎng)度小于預(yù)設(shè)值時(shí),在壓縮后的首個(gè)片段中添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置,并為待傳輸數(shù)據(jù)的數(shù)據(jù)流ID添加可壓縮標(biāo)記;否則,在首個(gè)片段中添加未壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置;當(dāng)待傳輸數(shù)據(jù)的數(shù)據(jù)流ID中包括可壓縮標(biāo)記時(shí),壓縮待傳輸數(shù)據(jù)的后續(xù)片段,在壓縮后的后續(xù)片段中添加已壓縮標(biāo)記并發(fā)送給數(shù)據(jù)接收裝置;否則,在后續(xù)片段中添加未壓縮標(biāo)記并發(fā)送給所述數(shù)據(jù)接收裝置。本發(fā)明實(shí)施例通過(guò)對(duì)壓縮效果好的數(shù)據(jù)進(jìn)行壓縮處理,減少了CPU的數(shù)據(jù)處理量,節(jié)省了大量的運(yùn)算資源。
文檔編號(hào)H04L1/00GK102891732SQ20121036204
公開(kāi)日2013年1月23日 申請(qǐng)日期2012年9月25日 優(yōu)先權(quán)日2012年9月25日
發(fā)明者王亮 申請(qǐng)人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司