一種數(shù)據(jù)編解碼方法及設(shè)備的制作方法
【專(zhuān)利摘要】本發(fā)明實(shí)施例提供了一種數(shù)據(jù)編解碼方法及設(shè)備,該方法包括:在當(dāng)前編碼端檢測(cè)到用于標(biāo)識(shí)當(dāng)前數(shù)據(jù)段的指紋值未存在于當(dāng)前編碼端的指紋字典中時(shí),查看當(dāng)前數(shù)據(jù)段的指紋值是否存在于全局指紋服務(wù)器中,在當(dāng)前數(shù)據(jù)段的指紋值存在于全局指紋服務(wù)器中時(shí),生成包含指紋值的壓縮數(shù)據(jù),將壓縮數(shù)據(jù)發(fā)送至編碼端,從而避免了數(shù)據(jù)被重復(fù)存儲(chǔ)的問(wèn)題,進(jìn)而減少了存儲(chǔ)空間的占用量以及存儲(chǔ)空間的浪費(fèi)。
【專(zhuān)利說(shuō)明】一種數(shù)據(jù)編解碼方法及設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種數(shù)據(jù)編解碼方法及設(shè)備。
【背景技術(shù)】
[0002]當(dāng)前,編碼端與解碼端之間可以通過(guò)指紋值來(lái)代替重復(fù)數(shù)據(jù)段來(lái)進(jìn)行數(shù)據(jù)的傳輸,比如說(shuō)當(dāng)前網(wǎng)絡(luò)中存在當(dāng)前編碼端之前已經(jīng)向解碼端發(fā)送過(guò)第一數(shù)據(jù)段,此時(shí)編碼端與解碼端都保存了該數(shù)據(jù)段以及該數(shù)據(jù)段對(duì)應(yīng)的指紋值,當(dāng)下次編碼端需要再向該解碼端發(fā)送第一數(shù)據(jù)段時(shí),則該編碼端將直接使用第一數(shù)據(jù)段對(duì)應(yīng)的指紋值進(jìn)行編碼。
[0003]當(dāng)在當(dāng)前網(wǎng)絡(luò)中存在多個(gè)編碼端與多個(gè)解碼端之間通訊時(shí),比如說(shuō)第一編碼端向第一解碼端發(fā)送第一數(shù)據(jù)段,此時(shí)該第一編碼端以及第一解碼端將保存第一數(shù)據(jù)段以及第一數(shù)據(jù)段對(duì)應(yīng)的指紋值,當(dāng)?shù)诙幋a端向第二解碼端發(fā)送第一數(shù)據(jù)段時(shí),第二編碼端以及第二解碼端也將保存第一數(shù)據(jù)段以及第一數(shù)據(jù)段對(duì)應(yīng)的指紋值,這樣就使得整個(gè)網(wǎng)絡(luò)中的不同編碼端以及不同解碼端重復(fù)存儲(chǔ)相同的數(shù)據(jù)段以及指紋值,導(dǎo)致了存儲(chǔ)空間的消耗以及存儲(chǔ)空間的浪費(fèi),并且編碼端與解碼端之間重復(fù)傳輸相同的數(shù)據(jù)內(nèi)容也會(huì)給網(wǎng)絡(luò)帶寬造成壓力以及浪費(fèi)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供了一種數(shù)據(jù)編解碼方法及設(shè)備,用以解決現(xiàn)有技術(shù)編碼端以及解碼端中存在存儲(chǔ)空間浪費(fèi)以及網(wǎng)絡(luò)帶寬浪費(fèi)的問(wèn)題。
[0005]其具體的技術(shù)方案如下:
[0006]本發(fā)明實(shí)施例第一方面提供了一種數(shù)據(jù)編碼方法,包括:
[0007]在當(dāng)前編碼端檢測(cè)到用于標(biāo)識(shí)當(dāng)前數(shù)據(jù)段的指紋值未存在于當(dāng)前編碼端的指紋字典中時(shí),查看所述當(dāng)前數(shù)據(jù)段的指紋值是否存在于全局指紋服務(wù)器中,所述全局指紋服務(wù)器保存有各個(gè)編碼端的指紋字典中的指紋值;
[0008]在所述當(dāng)前數(shù)據(jù)段的指紋值存在于全局指紋服務(wù)器中時(shí),生成至少包含所述指紋值的壓縮數(shù)據(jù);
[0009]將所述壓縮數(shù)據(jù)發(fā)送至解碼端。
[0010]結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)的方式中,當(dāng)所述全局指紋服務(wù)器中還保存有指紋值與解碼端標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系時(shí),所述生成包含指紋值的壓縮數(shù)據(jù),具體為:
[0011]當(dāng)前編碼端根據(jù)當(dāng)前數(shù)據(jù)段對(duì)應(yīng)指紋值,在所述全局指紋值服務(wù)器中獲取所述指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí),并生成包含所述指紋值和獲取的解碼端標(biāo)識(shí)的壓縮數(shù)據(jù)。
[0012]結(jié)合第一方面,在第二種可能實(shí)現(xiàn)的方式中,還包括:
[0013]在所述當(dāng)前數(shù)據(jù)段的指紋值未存在于全局指紋服務(wù)器中時(shí),所述當(dāng)前編碼端生成包含當(dāng)前數(shù)據(jù)段和當(dāng)前數(shù)據(jù)段的指紋值的壓縮數(shù)據(jù);并
[0014]將所述壓縮數(shù)據(jù)發(fā)送至解碼端;
[0015]將當(dāng)前數(shù)據(jù)段的指紋值以及接收當(dāng)前數(shù)據(jù)段的解碼端的標(biāo)識(shí)對(duì)應(yīng)存儲(chǔ)至全局指紋服務(wù)器中。
[0016]本發(fā)明實(shí)施例第二方面提供了一種數(shù)據(jù)解碼方法,包括:
[0017]當(dāng)前解碼端接收編碼端發(fā)送的壓縮數(shù)據(jù);
[0018]當(dāng)所述壓縮數(shù)據(jù)中包含指紋值,并且所述指紋值未存在于當(dāng)前解碼端的指紋字典中時(shí),將所述指紋值發(fā)送至全局指紋服務(wù)器,所述全局指紋服務(wù)器保存有指紋值和解碼端標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,其中指紋值為各個(gè)編碼端中的指紋字典中的指紋值,解碼端標(biāo)識(shí)為保存有所述指紋值對(duì)應(yīng)的數(shù)據(jù)段的解碼端的標(biāo)識(shí);
[0019]當(dāng)前解碼端接收所述全局指紋服務(wù)器返回的對(duì)應(yīng)所述指紋值的解碼端標(biāo)識(shí),以及從所述解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端獲取所述指紋值對(duì)應(yīng)的數(shù)據(jù)段;或者接收所述全局指紋服務(wù)器返回的從所述解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端中獲取的與所述指紋值對(duì)應(yīng)的數(shù)據(jù)段;
[0020]根據(jù)接收到的數(shù)據(jù)段進(jìn)行解碼。
[0021]結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,當(dāng)所述壓縮數(shù)據(jù)包含指紋值以及解碼端標(biāo)識(shí)時(shí),還包括:
[0022]根據(jù)解碼端標(biāo)識(shí),將接收到的指紋值發(fā)送至所述解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端;
[0023]接收所述解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端返回的所述指紋值對(duì)應(yīng)的數(shù)據(jù)段;
[0024]根據(jù)接收到的數(shù)據(jù)段進(jìn)行解碼。
[0025]本發(fā)明實(shí)施例第三方面提供了一種數(shù)據(jù)編碼設(shè)備,包括:
[0026]檢測(cè)模塊,用于在檢測(cè)到用于標(biāo)識(shí)當(dāng)前數(shù)據(jù)段的指紋值未存在于的指紋字典中時(shí),查看所述當(dāng)前數(shù)據(jù)段的指紋值是否存在于全局指紋服務(wù)器中,所述全局指紋服務(wù)器保存有各個(gè)編碼端的指紋字典中的指紋值;
[0027]壓縮模塊,用于在所述當(dāng)前數(shù)據(jù)段的指紋值存在于全局指紋服務(wù)器中時(shí),生成至少包含所述指紋值的壓縮數(shù)據(jù);
[0028]發(fā)送模塊,用于將所述壓縮數(shù)據(jù)發(fā)送至解碼端。
[0029]結(jié)合第三方面,在第一種可能實(shí)現(xiàn)的方式中,所述壓縮模塊具體用于在所述全局指紋服務(wù)器中還保存有指紋值與解碼端標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系時(shí),根據(jù)當(dāng)前數(shù)據(jù)段對(duì)應(yīng)指紋值,在全局指紋服務(wù)器中獲取指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí),并生成包含指紋值和獲取的解碼端標(biāo)識(shí)的壓縮數(shù)據(jù)。
[0030]結(jié)合第三方面,在第二種可能的實(shí)現(xiàn)方式中,所述壓縮模塊還用于在所述當(dāng)前數(shù)據(jù)段的指紋值未存在于全局指紋服務(wù)器中時(shí),生成包含當(dāng)前數(shù)據(jù)段和當(dāng)前數(shù)據(jù)段的指紋值的壓縮數(shù)據(jù);
[0031]所述發(fā)送模塊,還用于將所述壓縮數(shù)據(jù)發(fā)送至解碼端,并將當(dāng)前數(shù)據(jù)段的指紋值以及接收當(dāng)前數(shù)據(jù)段的解碼端的標(biāo)識(shí)對(duì)應(yīng)存儲(chǔ)至全局指紋服務(wù)器中。
[0032]本發(fā)明實(shí)施例第四方面提供了一種數(shù)據(jù)解碼設(shè)備,包括:
[0033]接收模塊,用于接收編碼端發(fā)送的壓縮數(shù)據(jù);
[0034]發(fā)送模塊,用于當(dāng)所述壓縮數(shù)據(jù)中包含指紋值,并且所述指紋值未存在于當(dāng)前解碼端的指紋字典中時(shí),將所述指紋值發(fā)送至全局指紋服務(wù)器,所述全局指紋服務(wù)器保存有指紋值和解碼端標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,其中指紋值為各個(gè)編碼端中的指紋字典中的指紋值,解碼端標(biāo)識(shí)為保存所述指紋值對(duì)應(yīng)的數(shù)據(jù)段的解碼端的標(biāo)識(shí);
[0035]處理模塊,用于接收所述全局指紋服務(wù)器返回的對(duì)應(yīng)所述指紋值的解碼端標(biāo)識(shí),以及從接收到的所述解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端獲取所述指紋值對(duì)應(yīng)的數(shù)據(jù)段;或者接收所述全局指紋服務(wù)器返回的從所述解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端中獲取與所述指紋值對(duì)應(yīng)的數(shù)據(jù)段;
[0036]解碼模塊,用于根據(jù)接收到的數(shù)據(jù)段進(jìn)行解碼。
[0037]結(jié)合第四方面,在第一種可能的實(shí)現(xiàn)方式中,所述處理模塊還用于當(dāng)所述壓縮數(shù)據(jù)包含指紋值以及解碼端標(biāo)識(shí)時(shí),根據(jù)解碼端標(biāo)識(shí),將接收到的指紋值發(fā)送至解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端,接收所述解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端返回的所述指紋值對(duì)應(yīng)的數(shù)據(jù)段。
[0038]第五方面本發(fā)明實(shí)施例提供了一種設(shè)備,包括:
[0039]接收模塊,用于接收當(dāng)前解碼端發(fā)來(lái)的指紋值;
[0040]獲取模塊,用于從預(yù)先保存的指紋值和解碼端標(biāo)識(shí)的對(duì)應(yīng)關(guān)系中,獲取接收到的指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí),其中指紋值為各個(gè)編碼端中的指紋字典中的指紋值,解碼端標(biāo)識(shí)為已保存指紋值對(duì)應(yīng)的數(shù)據(jù)段的解碼端的標(biāo)識(shí);
[0041]發(fā)送模塊,用于將獲取的解碼端標(biāo)識(shí)發(fā)送給當(dāng)前解碼端;或者從獲取的解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端中獲取對(duì)應(yīng)接收到的指紋值的數(shù)據(jù)段,并將獲取的數(shù)據(jù)段發(fā)送給當(dāng)前解碼端。
[0042]在本發(fā)明實(shí)施例中編碼端檢測(cè)到用于標(biāo)識(shí)當(dāng)前數(shù)據(jù)段的指紋值未在自身存儲(chǔ)的包含自身已編碼數(shù)據(jù)段對(duì)應(yīng)指紋值的指紋字典中時(shí),該編碼端會(huì)向保存有所有指紋字典中指紋值的全局指紋服務(wù)器查找當(dāng)前數(shù)據(jù)段對(duì)應(yīng)的指紋值,在全局指紋服務(wù)器中查找出該指紋值時(shí),將該指紋值替代當(dāng)前數(shù)據(jù)段進(jìn)行數(shù)據(jù)編碼,生成包含該指紋值的壓縮數(shù)據(jù),并將該壓縮數(shù)據(jù)發(fā)送至目的解碼端,也就是說(shuō)若是編碼端自身沒(méi)有當(dāng)前數(shù)據(jù)段對(duì)應(yīng)指紋值,而全局指紋服務(wù)器存在該指紋值時(shí),該編碼端將確定此數(shù)據(jù)段為重復(fù)數(shù)據(jù),所以該編碼端將直接使用該指紋值替代該數(shù)據(jù)段進(jìn)行編碼,而不是直接使用該數(shù)據(jù)段進(jìn)行編碼,這樣避免了重復(fù)數(shù)據(jù)段被重復(fù)存儲(chǔ)的問(wèn)題,進(jìn)而減少了存儲(chǔ)空間的占用量以及存儲(chǔ)空間的浪費(fèi)。同時(shí)也避免了編碼端與多個(gè)解碼端之間重復(fù)的傳輸相同的數(shù)據(jù)段造成的網(wǎng)絡(luò)帶寬浪費(fèi),提升了網(wǎng)絡(luò)帶寬的利用率。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0043]圖1所示為本發(fā)明實(shí)施例中一種數(shù)據(jù)編碼方法的流程圖;
[0044]圖2所示為本發(fā)明實(shí)施例中編碼端與全局指紋服務(wù)器的交互流程示意圖;
[0045]圖3所示為本發(fā)明實(shí)施例中一種數(shù)據(jù)解碼方法的流程圖;
[0046]圖4所示為本發(fā)明實(shí)施例中解碼端與全局指紋服務(wù)器之間的交互流程示意圖;
[0047]圖5所示為本發(fā)明實(shí)施例中解碼端與其他解碼端之間的交互流程示意圖;
[0048]圖6所示為本發(fā)明實(shí)施例中一種數(shù)據(jù)段發(fā)送方法的流程圖;
[0049]圖7所示為本發(fā)明實(shí)施例中一種數(shù)據(jù)編碼設(shè)備的結(jié)構(gòu)示意圖;
[0050]圖8所示為本發(fā)明實(shí)施例中一種據(jù)解碼設(shè)備的結(jié)構(gòu)示意圖;
[0051]圖9所示為本發(fā)明實(shí)施例中一種數(shù)據(jù)段發(fā)送設(shè)備的結(jié)構(gòu)示意圖;
[0052]圖10所示為本發(fā)明實(shí)施例中一種編碼器的結(jié)構(gòu)示意圖;
[0053]圖11所示為本發(fā)明實(shí)施例中一種解碼器的結(jié)構(gòu)示意圖;
[0054]圖12所示為本發(fā)明實(shí)施例中一種服務(wù)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0055]下面通過(guò)附圖以及具體實(shí)施例對(duì)基于網(wǎng)絡(luò)功能虛擬化的編解碼方法進(jìn)行詳細(xì)的說(shuō)明,在本發(fā)明實(shí)施例中提供了以下的實(shí)現(xiàn)方式來(lái)實(shí)現(xiàn)編解碼的方法,當(dāng)然本發(fā)明技術(shù)方案并不限于以下實(shí)施例中的實(shí)施方式。
[0056]實(shí)施例一:
[0057]如圖1所示為本發(fā)明實(shí)施例中一種數(shù)據(jù)編碼方法的流程圖,該方法包括:
[0058]步驟101,當(dāng)前編碼端檢測(cè)到用于標(biāo)識(shí)當(dāng)前數(shù)據(jù)段的指紋值未存在于當(dāng)前編碼端的指紋字典中時(shí),查看當(dāng)前數(shù)據(jù)段的指紋值是否存在于全局指紋服務(wù)器中。
[0059]步驟102,在當(dāng)前數(shù)據(jù)段的指紋值存在于全局指紋服務(wù)器中時(shí),生成包含指紋值的壓縮數(shù)據(jù)。
[0060]步驟103,將壓縮數(shù)據(jù)發(fā)送至解碼端。
[0061]當(dāng)前編碼端包括編碼器、指紋(沖,'丨社)字典、數(shù)據(jù)段((311111110字典和地址管理。編碼器控制整個(gè)流程,并完成對(duì)數(shù)據(jù)的分段。沖字典存儲(chǔ)之前出現(xiàn)過(guò)的數(shù)據(jù)段的指紋值。0111成字典用來(lái)存儲(chǔ)之前出現(xiàn)過(guò)的數(shù)據(jù)段,地址管理用來(lái)管理字典中的空閑地址,當(dāng)出現(xiàn)新數(shù)據(jù)段時(shí),提供存放新數(shù)據(jù)段的存儲(chǔ)地址。
[0062]解碼端包括解碼器、字典、也1!成字典。解碼器控制解碼端的整個(gè)解碼流程,對(duì)接收到的數(shù)據(jù)進(jìn)行重構(gòu)。沖字典存放指紋值對(duì)應(yīng)的數(shù)據(jù)段存儲(chǔ)地址,利用該地址可以從
字典中讀出數(shù)據(jù)段。011!成字典存放數(shù)據(jù)段的內(nèi)容。編碼端與解碼端的??字典以及字典同步更新。
[0063]在本發(fā)明實(shí)施例中就以一個(gè)編碼端以及一個(gè)解碼端的實(shí)施過(guò)程進(jìn)行說(shuō)明,其他編碼端以及解碼端的處理方式與該編碼端以及解碼端的處理方式相同。
[0064]首先,當(dāng)前編碼端接收到一個(gè)數(shù)據(jù)之后,當(dāng)前編碼端中的編碼器會(huì)通過(guò)對(duì)接收到數(shù)據(jù)分段處理,并對(duì)得到的當(dāng)前數(shù)據(jù)段進(jìn)行計(jì)算,得到當(dāng)前數(shù)據(jù)段對(duì)應(yīng)的指紋值。
[0065]在得到當(dāng)前數(shù)據(jù)段對(duì)應(yīng)的指紋值之后,當(dāng)前編碼端將確定得到的指紋值是否在自身預(yù)存的指紋字典中,其中,預(yù)存的指紋字典中的指紋值為當(dāng)前編碼端已編碼數(shù)據(jù)段對(duì)應(yīng)的指紋值。
[0066]若是得到的指紋值存在于當(dāng)前編碼端存儲(chǔ)的指紋字典中時(shí),當(dāng)前編碼端將直接使用該指紋值替代當(dāng)前數(shù)據(jù)段進(jìn)行編碼,并將包含指紋值的壓縮數(shù)據(jù)發(fā)送至解碼端。
[0067]若是得到的指紋值未存在于當(dāng)前編碼端存儲(chǔ)的指紋字典中時(shí),當(dāng)前編碼端將向全局指紋服務(wù)器中確定是否存在該指紋值。其中,該全局指紋服務(wù)器中保存了當(dāng)前網(wǎng)絡(luò)中各個(gè)編碼端中的指紋字典中的指紋值,當(dāng)然為了進(jìn)一步減少服務(wù)器所占用的存儲(chǔ)空間,該全局指紋服務(wù)器會(huì)不重復(fù)的保存指紋值,比如說(shuō):編碼端八中保存的指紋值包括:1、2、3 ;編碼端8中保存的指紋值包括:3、4、5 ;編碼端0中保存的指紋值包括:4、5、6 ;,此時(shí)在全局指紋服務(wù)器中保存的指紋值就應(yīng)該是1、2、3、4、5、6。
[0068]若是當(dāng)前編碼端在全局指紋服務(wù)器中查找出當(dāng)前數(shù)據(jù)段對(duì)應(yīng)的指紋值,也就是說(shuō)對(duì)于當(dāng)前編碼端來(lái)講該指紋值對(duì)應(yīng)的當(dāng)前數(shù)據(jù)段為新數(shù)據(jù)段,但是該數(shù)據(jù)段其實(shí)已被網(wǎng)絡(luò)中的其他編碼端編碼過(guò),因此對(duì)于整個(gè)網(wǎng)絡(luò)來(lái)講該當(dāng)前數(shù)據(jù)段并不是新數(shù)據(jù)段。
[0069]此時(shí)當(dāng)前編碼端將使用該指紋值替代該當(dāng)前數(shù)據(jù)段進(jìn)行編碼,生成包含該指紋值的壓縮數(shù)據(jù),并將該壓縮數(shù)據(jù)發(fā)送至解碼端。然后解碼端在接收到包含指紋值的壓縮數(shù)據(jù)之后,會(huì)根據(jù)該指紋值,通過(guò)全局指紋服務(wù)器獲取到該指紋值對(duì)應(yīng)的數(shù)據(jù)段,然后根據(jù)獲取到的該指紋值對(duì)應(yīng)的數(shù)據(jù)段進(jìn)行解碼。
[0070]當(dāng)然,在上述的過(guò)程中是在全局指紋服務(wù)器中包括了編碼端對(duì)應(yīng)數(shù)據(jù)段的指紋值,若是當(dāng)前數(shù)據(jù)段的指紋值未存在于全局指紋服務(wù)器中時(shí),當(dāng)前編碼端會(huì)將當(dāng)前數(shù)據(jù)段的指紋值以及將要接收當(dāng)前數(shù)據(jù)段的解碼端的標(biāo)識(shí)對(duì)應(yīng)存儲(chǔ)至全局指紋服務(wù)器中。
[0071]具體來(lái)講,若是當(dāng)前數(shù)據(jù)段對(duì)應(yīng)的指紋值既不在當(dāng)前編碼端自身預(yù)存的指紋字典中,也不在全局指紋服務(wù)器中,則該指紋值對(duì)應(yīng)的當(dāng)前數(shù)據(jù)段未被任何編碼端編碼,所以當(dāng)前數(shù)據(jù)段為全新的數(shù)據(jù)段,對(duì)于這樣的數(shù)據(jù)段,當(dāng)前編碼端首先將生成包含當(dāng)前數(shù)據(jù)段和當(dāng)前數(shù)據(jù)段的指紋值的壓縮數(shù)據(jù),并將壓縮數(shù)據(jù)發(fā)送至解碼端,然后當(dāng)前編碼端還會(huì)將當(dāng)前數(shù)據(jù)段的指紋值以及接收當(dāng)前數(shù)據(jù)段的解碼端的解碼端標(biāo)識(shí)對(duì)應(yīng)存儲(chǔ)至全局指紋服務(wù)器中。比如說(shuō):當(dāng)前數(shù)據(jù)段對(duì)應(yīng)的指紋值為8,而當(dāng)前編碼端以及全局指紋值服務(wù)器中都不存在指紋值8,此時(shí)該當(dāng)前編碼端就會(huì)將該指紋值8以及接收當(dāng)前數(shù)據(jù)段的解碼端的解碼端標(biāo)識(shí)保存至全局指紋服務(wù)器中,或者是當(dāng)前編碼端將指紋值以及解碼端標(biāo)識(shí)發(fā)送至全局指紋服務(wù)器,由全局指紋服務(wù)器自行進(jìn)行保存。
[0072]當(dāng)然,當(dāng)前編碼端為了后續(xù)能夠快速的調(diào)用該新的當(dāng)前數(shù)據(jù)段,因此在將數(shù)據(jù)段對(duì)應(yīng)的指紋值保存至全局指紋服務(wù)器中之后,當(dāng)前編碼端還將當(dāng)前數(shù)據(jù)段對(duì)應(yīng)的指紋值保存至自身存儲(chǔ)的指紋字典中,同時(shí)當(dāng)前編碼端中的編碼器還會(huì)在當(dāng)前編碼端存儲(chǔ)的數(shù)據(jù)段字典中確定出一個(gè)空閑存儲(chǔ)地址,然后當(dāng)前編碼端會(huì)將當(dāng)前數(shù)據(jù)段保存至該空閑存儲(chǔ)地址對(duì)應(yīng)的存儲(chǔ)空間中,這樣在下次出現(xiàn)該當(dāng)前數(shù)據(jù)段時(shí),編碼端可以快速直接調(diào)用該當(dāng)前數(shù)據(jù)段對(duì)應(yīng)的指紋值來(lái)替代當(dāng)前數(shù)據(jù)段進(jìn)行編碼。
[0073]下面結(jié)合圖2來(lái)對(duì)編碼端與全局指紋服務(wù)器之間的實(shí)現(xiàn)流程進(jìn)行說(shuō)明。
[0074]步驟1,編碼端中的編碼器向自身存儲(chǔ)的字典確定是否存在當(dāng)前數(shù)據(jù)段對(duì)應(yīng)的??,若存在,則直接執(zhí)行步驟5,若是不存在,則執(zhí)行步驟2 ;
[0075]步驟2,字典向編碼器返回編碼端字典中不存在該指紋值的信息;
[0076]步驟3,編碼器向全局指紋服務(wù)器中的全局指紋字典查找該??,若是全局指紋字典中存在該時(shí),則執(zhí)行步驟4,若是全局指紋字典中不存在該時(shí),則執(zhí)行步驟6 ;
[0077]步驟4,接收全局指紋服務(wù)器返回的在全局指紋字典存在該的信息;
[0078]步驟5,用該替代當(dāng)前數(shù)據(jù)段進(jìn)行編碼;
[0079]步驟6,接收全局指紋服務(wù)器返回的在全局指紋字典不存在該的信息;
[0080]步驟7,編碼器向地址管理請(qǐng)求編碼端的吐11吐字典中的空閑地址;
[0081]步驟8,接收地址管理返回的空閑地址;
[0082]步驟9,存儲(chǔ)新的??;
[0083]步驟10,存儲(chǔ)新的也皿匕;
[0084]步驟11,用新的??以及新的也皿^: 一起編碼;
[0085]步驟12,將以及接收吐I!吐的解碼端標(biāo)識(shí)存儲(chǔ)至全局指紋服務(wù)器;
[0086]需要說(shuō)明的是:指紋值保存在全局指紋字典,解碼端標(biāo)識(shí)保存至解碼端標(biāo)識(shí)表中,當(dāng)然,全局指紋字典中的指紋值與解碼端標(biāo)識(shí)是存在對(duì)應(yīng)關(guān)系,并且全局指紋服務(wù)器中也保存了指紋值與解碼端標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,也就說(shuō)每個(gè)指紋值都對(duì)應(yīng)一個(gè)解碼端標(biāo)識(shí)。
[0087]由于在全局指紋服務(wù)器中還存儲(chǔ)了指紋值與解碼端標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,因此,在本發(fā)明實(shí)施例中在當(dāng)前編碼端獲取到當(dāng)前數(shù)據(jù)段對(duì)應(yīng)的指紋值時(shí),當(dāng)前編碼端還會(huì)根據(jù)當(dāng)前數(shù)據(jù)段對(duì)應(yīng)指紋值,獲取保存有該指紋值對(duì)應(yīng)數(shù)據(jù)段的解碼端的解碼端標(biāo)識(shí),生成包含當(dāng)前數(shù)據(jù)段的指紋值和獲取的解碼端標(biāo)識(shí)的壓縮數(shù)據(jù),也就是說(shuō)當(dāng)前編碼端除了在全局指紋服務(wù)器中獲取指紋值之外,還會(huì)在全局指紋服務(wù)器中獲取該指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí)。
[0088]當(dāng)前編碼端接收到全局指紋服務(wù)器返回的解碼端標(biāo)識(shí)之后,當(dāng)前編碼端將使用指紋值替代當(dāng)前數(shù)據(jù)段進(jìn)行編碼,并且將接收到的解碼端標(biāo)識(shí)一起編碼,得到包含指紋值以及解碼端標(biāo)識(shí)的壓縮數(shù)據(jù),最后將壓縮數(shù)據(jù)發(fā)送至解碼端。
[0089]在實(shí)施例一中,當(dāng)前編碼端在檢測(cè)到當(dāng)前數(shù)據(jù)段對(duì)應(yīng)的指紋值未在自身存儲(chǔ)的指紋字典中時(shí),當(dāng)前編碼端還會(huì)向全局指紋服務(wù)器查找該指紋值,若是該指紋值在全局指紋服務(wù)器中存在時(shí),當(dāng)前編碼端將直接使用該指紋值替代當(dāng)前數(shù)據(jù)段進(jìn)行編碼,這樣避免了當(dāng)前編碼端與其他編碼端重復(fù)的存儲(chǔ)相同的指紋值以及相同的數(shù)據(jù)段,從而減少了指紋字典以及數(shù)據(jù)段字典占用和浪費(fèi)存儲(chǔ)空間,并且也避免了當(dāng)前編碼端重復(fù)的向其他解碼端發(fā)送相同的數(shù)據(jù)段,從而極大的減少編碼端與解碼端之間網(wǎng)絡(luò)帶寬的浪費(fèi)。
[0090]對(duì)應(yīng)上述的編碼方法,在實(shí)施例中還提供了一種解碼方法,如圖3所示為本發(fā)明實(shí)施例中一種數(shù)據(jù)解碼方法的流程圖,包括:
[0091]步驟301,當(dāng)前解碼端接收編碼端發(fā)送的壓縮數(shù)據(jù);
[0092]步驟302,當(dāng)壓縮數(shù)據(jù)中包含指紋值,并且指紋值未存在于當(dāng)前解碼端的指紋字典中時(shí),將指紋值發(fā)送至全局指紋服務(wù)器;
[0093]在全局指紋服務(wù)器中除了保存有指紋值之外,還保存有指紋值和解碼端標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,其中指紋值為各個(gè)編碼端中的指紋字典中的指紋值,解碼端標(biāo)識(shí)為以接收到對(duì)應(yīng)指紋值對(duì)應(yīng)的數(shù)據(jù)段的解碼端標(biāo)識(shí)。
[0094]簡(jiǎn)單的來(lái)講,就是全局指紋服務(wù)器中包括了一全局指紋字典,該全局指紋字典中包括了網(wǎng)絡(luò)中所有編碼端中的指紋字典中的指紋值。在全局指紋服務(wù)器中還保存了一解碼端標(biāo)識(shí)表,該解碼端標(biāo)識(shí)表保存有接收數(shù)據(jù)段的解碼端的特定標(biāo)識(shí),根據(jù)這個(gè)特定標(biāo)識(shí)能夠直接定位出解碼端,在全局指紋服務(wù)器中還保存了指紋值與解碼端標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,也就是每個(gè)指紋值都對(duì)應(yīng)有一個(gè)解碼端標(biāo)識(shí)。
[0095]步驟303,接收全局指紋服務(wù)器返回的對(duì)應(yīng)指紋值的解碼端標(biāo)識(shí),以及從解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端獲取指紋值對(duì)應(yīng)的數(shù)據(jù)段;
[0096]該步驟303還可以是接收全局指紋服務(wù)器返回的從解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼中獲取與該指紋值對(duì)應(yīng)的數(shù)據(jù)段,簡(jiǎn)單的來(lái)講,就是全局服務(wù)器會(huì)根據(jù)接收到的指紋值確定出該指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí),然后根據(jù)該解碼端標(biāo)識(shí)到對(duì)應(yīng)的解碼端獲取指紋值對(duì)應(yīng)的數(shù)據(jù)段,最后將獲取到的數(shù)據(jù)段返回至當(dāng)前解碼端。
[0097]步驟304,根據(jù)接收到的數(shù)據(jù)段進(jìn)行解碼。
[0098]對(duì)于當(dāng)前解碼端來(lái)講,在接收到編碼端發(fā)送的壓縮數(shù)據(jù)之后,首先會(huì)解析確定在壓縮數(shù)據(jù)中是否存在指紋值,當(dāng)在壓縮數(shù)據(jù)中存在指紋值時(shí),當(dāng)前解碼端首先確定該指紋值是否存在于自身存儲(chǔ)的指紋字典中,若是存在的話,則直接調(diào)取該指紋值對(duì)應(yīng)的數(shù)據(jù)段進(jìn)行解碼。
[0099]若是該指紋值不存在于自身存儲(chǔ)的指紋字典中時(shí),則當(dāng)前解碼端會(huì)將該指紋值發(fā)送至全局指紋服務(wù)器,全局指紋服務(wù)器在接收到該指紋值之后,會(huì)根據(jù)該指紋值在解碼端標(biāo)識(shí)表中確定出該指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí),然后當(dāng)前解碼端接收到全局指紋服務(wù)器返回的該指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí),當(dāng)前解碼端將根據(jù)得到的解碼端標(biāo)識(shí),將該指紋值發(fā)送至該解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端,最后當(dāng)前解碼端將接收到解碼端標(biāo)識(shí)對(duì)應(yīng)解碼端返回的對(duì)應(yīng)該指紋值的數(shù)據(jù)段,當(dāng)前解碼端將根據(jù)返回的數(shù)據(jù)段進(jìn)行解碼。
[0100]另外,在上述步驟303中是全局指紋服務(wù)器向當(dāng)前解碼端返回指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí),然后當(dāng)前解碼端根據(jù)解碼端標(biāo)識(shí)去其他解碼端索取指紋值對(duì)應(yīng)數(shù)據(jù)段。
[0101]在本發(fā)明實(shí)施例中步驟303還可以是接收全局指紋服務(wù)器返回的從解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端中獲取的與指紋值對(duì)應(yīng)的數(shù)據(jù)段,也就是說(shuō)全局指紋服務(wù)器在接收到解碼端發(fā)送的指紋值之后,全局指紋服務(wù)器將根據(jù)接收到的指紋值以及保存的指紋值與解碼端標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,確定該指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí),然后全局指紋服務(wù)器將向該解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端發(fā)送該指紋值,并接收解碼端返回的該指紋值對(duì)應(yīng)的數(shù)據(jù)段,最后全局指紋服務(wù)器將該數(shù)據(jù)段發(fā)送至當(dāng)前解碼端,從而當(dāng)前解碼端根據(jù)該數(shù)據(jù)段進(jìn)行解碼。
[0102]另外,在本發(fā)明實(shí)施例中當(dāng)壓縮數(shù)據(jù)包含指紋值以及解碼端標(biāo)識(shí)時(shí),根據(jù)解碼端標(biāo)識(shí),將接收到的指紋值發(fā)送至解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端,然后接收解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端返回的指紋值對(duì)應(yīng)的數(shù)據(jù)段。
[0103]具體來(lái)講,當(dāng)前解碼端接收到編碼端發(fā)送的攜帶有指紋值以及解碼端標(biāo)識(shí)的壓縮數(shù)據(jù)時(shí),當(dāng)前解碼端首先從壓縮數(shù)據(jù)中獲取到指紋值以及解碼端標(biāo)識(shí),然后當(dāng)前解碼端將根據(jù)得到的解碼端標(biāo)識(shí),將得到的指紋值發(fā)送至該解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端,該解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端根據(jù)得到的指紋值確定出該指紋值對(duì)應(yīng)的數(shù)據(jù)段,并將該數(shù)據(jù)段發(fā)送至當(dāng)前解碼端。
[0104]簡(jiǎn)單的來(lái)講,若是當(dāng)前解碼端接收到指紋值以及解碼端標(biāo)識(shí)時(shí),當(dāng)前解碼端就可以選擇不向全局指紋服務(wù)器確定是否存在該指紋值以及確定該指紋值是否存在對(duì)應(yīng)的解碼端標(biāo)識(shí),而是向解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端獲取該指紋值對(duì)應(yīng)的數(shù)據(jù)段,這樣就減少了解碼端與全局指紋服務(wù)器之間的信息傳輸過(guò)程,減小了解碼端的通訊壓力,這樣也可以使得編解碼的過(guò)程更加的簡(jiǎn)便、快捷。
[0105]下面結(jié)合圖4來(lái)對(duì)解碼端與全局指紋服務(wù)器之間的實(shí)現(xiàn)流程進(jìn)行說(shuō)明。
[0106]步驟1,解碼端的解碼器在自身存儲(chǔ)的??字典中查找是否存在當(dāng)前??,若存在,則進(jìn)入步驟11 ;若不存在,則進(jìn)入步驟2 ;
[0107]步驟2,解碼器接收字典返回的當(dāng)前不存在的信息;
[0108]步驟3,解碼器將當(dāng)前發(fā)送至全局指紋服務(wù)器的全局指紋字典,并在全局指紋字典中查找當(dāng)前??;
[0109]步驟4,全局指紋服務(wù)器根據(jù)當(dāng)前,在解碼端標(biāo)識(shí)表中確定當(dāng)前對(duì)應(yīng)的解碼端標(biāo)識(shí),在得到解碼端標(biāo)識(shí)之后,進(jìn)入到步驟5或者是進(jìn)入到步驟8 ;
[0110]步驟5,全局指紋服務(wù)器將得到的解碼端標(biāo)識(shí)返回至解碼端;
[0111]步驟6,解碼端根據(jù)解碼端標(biāo)識(shí),將當(dāng)前??發(fā)送至該解碼端標(biāo)識(shí)對(duì)應(yīng)的其他解碼端;
[0112]步驟7、解碼端接收其他解碼端返回的當(dāng)前??對(duì)應(yīng)的數(shù)據(jù)段,并進(jìn)入到步驟11 ;
[0113]步驟8,全局指紋服務(wù)器根據(jù)得到的解碼端標(biāo)識(shí),將當(dāng)前發(fā)送至該解碼端標(biāo)識(shí)對(duì)應(yīng)的其他解碼端;
[0114]步驟9,全局指紋服務(wù)器接收其他解碼端返回的當(dāng)前??對(duì)應(yīng)的數(shù)據(jù)段;
[0115]步驟10,全局指紋服務(wù)器將得到的數(shù)據(jù)段發(fā)送至解碼端;
[0116]步驟11,解碼端使用接收到的數(shù)據(jù)段替換當(dāng)前??來(lái)解碼。
[0117]除了圖6所示的解碼流程之外,還可以是圖5中的解碼流程,具體如下:
[0118]步驟1,解碼端的解碼器在自身存儲(chǔ)的??字典中查找是否存在當(dāng)前??,若存在,則進(jìn)入步驟5 ;若不存在,則進(jìn)入步驟2 ;
[0119]步驟2,解碼器接收字典返回的當(dāng)前不存在的信息;
[0120]步驟3,解碼器向其他解碼端發(fā)送接收到的;
[0121]步驟4,接收其他解碼端返回的對(duì)應(yīng)所述指紋值的數(shù)據(jù)段;
[0122]步驟5,解碼端使用接收到的數(shù)據(jù)段替換當(dāng)前??來(lái)解碼;
[0123]在上述的解碼方法中,解碼端在確定接收到的指紋值未在自身存儲(chǔ)的指紋字典中時(shí),解碼端直接將該指紋值發(fā)送至全局指紋服務(wù)器,然后根據(jù)全局指紋服務(wù)器返回的解碼端標(biāo)識(shí)向解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端獲取指紋值對(duì)應(yīng)的數(shù)據(jù)段,或者是直接接收全局指紋服務(wù)器返回的該指紋值對(duì)應(yīng)的數(shù)據(jù)段,這樣就避免了解碼端與編碼端之間直接傳輸數(shù)據(jù)段,降低了編碼端與解碼端之間的帶寬壓力,并且也避免了網(wǎng)絡(luò)中多個(gè)解碼端重復(fù)的保存一個(gè)指紋值以及重復(fù)保存該指紋值對(duì)應(yīng)的數(shù)據(jù)段,進(jìn)而就減少了系統(tǒng)中指紋字典以及數(shù)據(jù)段字典所占用的存儲(chǔ)空間以及重復(fù)存儲(chǔ)造成的存儲(chǔ)空間浪費(fèi)。
[0124]對(duì)應(yīng)于上述的編碼方法以及解碼方法,本發(fā)明實(shí)施例中還提供了一種數(shù)據(jù)段發(fā)送方法,如圖6所示為本發(fā)明實(shí)施例中一種數(shù)據(jù)段發(fā)送方法的流程圖,包括:
[0125]步驟601,接收當(dāng)前解碼端發(fā)來(lái)的指紋值;
[0126]步驟602,從預(yù)先保存的指紋值和解碼端標(biāo)識(shí)的對(duì)應(yīng)關(guān)系中,獲取接收到的指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí);
[0127]步驟603,將獲取的解碼端標(biāo)識(shí)發(fā)送給當(dāng)前解碼端;或者從獲取的解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端中獲取對(duì)應(yīng)接收到的指紋值的數(shù)據(jù)段,并將獲取的數(shù)據(jù)段發(fā)送給當(dāng)前解碼端。
[0128]首先來(lái)講,該方法應(yīng)用到全局指紋服務(wù)器中,該全局指紋服務(wù)器與多個(gè)編碼端以及多個(gè)解碼端之間有相互通訊,并且在全局指紋值服務(wù)器中保存了所有編碼端的指紋字典中的指紋值,并且還保存了已接收指紋值對(duì)應(yīng)數(shù)據(jù)段的解碼端的解碼端標(biāo)識(shí),比如說(shuō)解碼端接收了指紋值為6所對(duì)應(yīng)的數(shù)據(jù)段,該解碼端10為了02,則全局指紋服務(wù)器中就保存了指紋值6以及該指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí)了02。
[0129]因此,當(dāng)全局指紋服務(wù)器在接收到當(dāng)前解碼端發(fā)送來(lái)的指紋值之后,全局指紋服務(wù)器將直接獲取包含該指紋值的解碼端的解碼端標(biāo)識(shí),在獲取到該解碼端標(biāo)識(shí)之后,該全局指紋服務(wù)器有兩種可以選擇的實(shí)施過(guò)程。一種方式是全局指紋服務(wù)器可以直接將獲取的解碼端標(biāo)識(shí)發(fā)送至當(dāng)前解碼端,然后由當(dāng)前解碼端根據(jù)解碼端標(biāo)識(shí),向解碼端標(biāo)識(shí)對(duì)應(yīng)的其他解碼端獲取該指紋值對(duì)應(yīng)的數(shù)據(jù)段;第二種方式是全局指紋服務(wù)器在確定指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí)之后,全局指紋服務(wù)器將根據(jù)該解碼端標(biāo)識(shí),向該解碼端標(biāo)識(shí)對(duì)應(yīng)的其他解碼端發(fā)送該指紋值,并接收其他解碼端根據(jù)該指紋值返回的該指紋值對(duì)應(yīng)的數(shù)據(jù)段,最后全局指紋服務(wù)器將獲取的數(shù)據(jù)段直接返回給發(fā)送指紋值的當(dāng)前解碼端。這兩種方式都是可行的實(shí)施的方式。
[0130]在上述的數(shù)據(jù)段發(fā)送方法中,全局指紋服務(wù)器可以根據(jù)解碼端發(fā)送的指紋值向解碼端返回解碼端標(biāo)識(shí)或者是數(shù)據(jù)段,這樣就避免了解碼端重復(fù)的向編碼端請(qǐng)求數(shù)據(jù)段,這樣也就減少了編碼端與解碼端之間的帶寬壓力以及帶寬的浪費(fèi),并且由于全局指紋服務(wù)器中保存了各個(gè)編碼端的指紋字典中的指紋值,因此可以避免各個(gè)編碼端重復(fù)的保存相同的指紋值以及相同的數(shù)據(jù)段,進(jìn)而避免了網(wǎng)絡(luò)中存儲(chǔ)空間的消耗以及浪費(fèi)。
[0131]實(shí)施例三
[0132]對(duì)應(yīng)實(shí)施例一中的編碼方法,本發(fā)明實(shí)施例中還提供了一種數(shù)據(jù)編碼設(shè)備,如圖7所示為本發(fā)明實(shí)施例中一種數(shù)據(jù)編碼設(shè)備的結(jié)構(gòu)示意圖,設(shè)備包括:
[0133]檢測(cè)模塊701,用于在檢測(cè)到用于標(biāo)識(shí)當(dāng)前數(shù)據(jù)段的指紋值未存在于的指紋字典中時(shí),查看當(dāng)前數(shù)據(jù)段的指紋值是否存在于全局指紋服務(wù)器中,全局指紋服務(wù)器保存有各個(gè)編碼端的指紋字典中的指紋值;
[0134]壓縮模塊702,用于在當(dāng)前數(shù)據(jù)段的指紋值存在于全局指紋服務(wù)器中時(shí),生成包含指紋值的壓縮數(shù)據(jù);
[0135]發(fā)送模塊703,用于將壓縮數(shù)據(jù)發(fā)送至解碼端。
[0136]進(jìn)一步,壓縮模塊702具體用于在全局指紋服務(wù)器中還保存有指紋值與解碼端標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系時(shí),根據(jù)當(dāng)前數(shù)據(jù)段對(duì)應(yīng)指紋值,在全局指紋服務(wù)器中獲取指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí),并生成包含指紋值和獲取的解碼端標(biāo)識(shí)的壓縮數(shù)據(jù)。
[0137]進(jìn)一步,壓縮模塊702還用于在當(dāng)前數(shù)據(jù)段的指紋值未存在于全局指紋服務(wù)器中時(shí),生成包含當(dāng)前數(shù)據(jù)段和當(dāng)前數(shù)據(jù)段的指紋值的壓縮數(shù)據(jù);
[0138]發(fā)送模塊703,還用于將壓縮數(shù)據(jù)發(fā)送至解碼端;并將當(dāng)前數(shù)據(jù)段的指紋值以及接收當(dāng)前數(shù)據(jù)段的解碼端的標(biāo)識(shí)對(duì)應(yīng)存儲(chǔ)至全局指紋服務(wù)器中。
[0139]如圖8為本發(fā)明實(shí)施例中一種數(shù)據(jù)解碼設(shè)備,該解碼設(shè)備包括:
[0140]接收模塊801,用于接收編碼端發(fā)送的壓縮數(shù)據(jù);
[0141]發(fā)送模塊802,用于當(dāng)壓縮數(shù)據(jù)中只包含指紋值,并且指紋值未存在于當(dāng)前解碼端的指紋字典中時(shí),將指紋值發(fā)送至全局指紋服務(wù)器,全局指紋服務(wù)器保存有指紋值和解碼端標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,其中指紋值為各個(gè)編碼端中的指紋字典中的指紋值,解碼端標(biāo)識(shí)為保存對(duì)應(yīng)指紋值的數(shù)據(jù)段的解碼端的標(biāo)識(shí);
[0142]處理模塊803,用于接收全局指紋服務(wù)器返回的對(duì)應(yīng)指紋值的解碼端標(biāo)識(shí),以及從解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端獲取指紋值對(duì)應(yīng)的數(shù)據(jù)段;或者接收全局指紋服務(wù)器返回的從解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端中獲取與指紋值對(duì)應(yīng)的數(shù)據(jù)段;
[0143]解碼模塊804,用于根據(jù)接收到的數(shù)據(jù)段進(jìn)行解碼。
[0144]進(jìn)一步,處理模塊803還用于當(dāng)壓縮數(shù)據(jù)包含指紋值以及解碼端標(biāo)識(shí)時(shí),根據(jù)解碼端標(biāo)識(shí),將接收到的指紋值發(fā)送至解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端,并接收解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端返回的指紋值對(duì)應(yīng)的數(shù)據(jù)段。
[0145]本發(fā)明實(shí)施例還提供了一種設(shè)備,如圖9所示為本發(fā)明實(shí)施例中一種設(shè)備的結(jié)構(gòu)示意圖,該設(shè)備包括:
[0146]接收模塊901,用于接收當(dāng)前解碼端發(fā)來(lái)的指紋值;
[0147]獲取模塊902,用于從預(yù)先保存的指紋值和解碼端標(biāo)識(shí)的對(duì)應(yīng)關(guān)系中,獲取接收到的指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí),其中指紋值為各個(gè)編碼端中的指紋字典中的指紋值,解碼端標(biāo)識(shí)為已保存所述指紋值對(duì)應(yīng)的數(shù)據(jù)段的解碼端的標(biāo)識(shí);
[0148]發(fā)送模塊903,用于將獲取的解碼端標(biāo)識(shí)發(fā)送給當(dāng)前解碼端;或者從獲取的解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端中獲取對(duì)應(yīng)接收到的指紋值的數(shù)據(jù)段,并將獲取的數(shù)據(jù)段發(fā)送給當(dāng)前解碼端。
[0149]實(shí)施例五
[0150]本發(fā)明實(shí)施例還提供了一種編碼器,如圖10所示為一種編碼器的結(jié)構(gòu)示意圖,包括:
[0151]處理器110,用于在當(dāng)前編碼器檢測(cè)到用于標(biāo)識(shí)當(dāng)前數(shù)據(jù)段的指紋值未存在于當(dāng)前編碼器的指紋字典中時(shí),查看當(dāng)前數(shù)據(jù)段的指紋值是否存在于全局指紋服務(wù)器中,全局指紋服務(wù)器保存有各個(gè)編碼器的指紋字典中的指紋值,在當(dāng)前數(shù)據(jù)段的指紋值存在于全局指紋服務(wù)器中時(shí),生成包含指紋值的壓縮數(shù)據(jù);
[0152]通訊接口 111,用于將壓縮數(shù)據(jù)發(fā)送至解碼端。
[0153]對(duì)應(yīng)上述的編碼器,本發(fā)明實(shí)施例提供了一種對(duì)應(yīng)的解碼器,如圖11所示為本發(fā)明實(shí)施例中一種解碼器的結(jié)構(gòu)示意圖,包括:
[0154]通訊接口 121,用于接收編碼器發(fā)送的壓縮數(shù)據(jù);
[0155]處理器122,用于當(dāng)壓縮數(shù)據(jù)中包含指紋值,并且指紋值未存在于當(dāng)前解碼器的指紋字典中時(shí),將指紋值發(fā)送至全局指紋服務(wù)器,全局指紋服務(wù)器保存有指紋值和解碼器標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,其中指紋值為各個(gè)編碼器中的指紋字典中的指紋值,解碼器標(biāo)識(shí)為已接收到對(duì)應(yīng)指紋值對(duì)應(yīng)的數(shù)據(jù)段的解碼器的標(biāo)識(shí);接收全局指紋服務(wù)器返回的對(duì)應(yīng)指紋值的解碼器標(biāo)識(shí),以及從解碼器標(biāo)識(shí)對(duì)應(yīng)的解碼器獲取指紋值對(duì)應(yīng)的數(shù)據(jù)段;或者接收全局指紋服務(wù)器返回的從解碼器標(biāo)識(shí)對(duì)應(yīng)的解碼器中獲取的與指紋值對(duì)應(yīng)的數(shù)據(jù)段,根據(jù)接收到的數(shù)據(jù)段進(jìn)行解碼。
[0156]進(jìn)一步,處理器122具體用于當(dāng)壓縮數(shù)據(jù)包含指紋值以及解碼端標(biāo)識(shí)時(shí),根據(jù)解碼端標(biāo)識(shí),將接收到的指紋值發(fā)送至解碼器標(biāo)識(shí)對(duì)應(yīng)的解碼器,接收解碼器標(biāo)識(shí)對(duì)應(yīng)的解碼器返回的指紋值對(duì)應(yīng)的數(shù)據(jù)段,
[0157]對(duì)應(yīng)上述的解碼器,本發(fā)明實(shí)施例中還提供了一種服務(wù)器,如圖12所示為本發(fā)明實(shí)施例中一種服務(wù)器的具體結(jié)構(gòu)示意圖,包括:
[0158]通訊接口 131,用于接收解碼器發(fā)送來(lái)的指紋值;
[0159]處理器132,用于從預(yù)先保存的指紋值和解碼器標(biāo)識(shí)的對(duì)應(yīng)關(guān)系中,獲取接收到的指紋值對(duì)應(yīng)的解碼器標(biāo)識(shí),其中指紋值為各個(gè)編碼器中的指紋字典中的指紋值,解碼器標(biāo)識(shí)為已接收到對(duì)應(yīng)指紋值對(duì)應(yīng)的數(shù)據(jù)段的解碼器的標(biāo)識(shí);將獲取的解碼器標(biāo)識(shí)發(fā)送給當(dāng)前解碼器;或者從獲取的解碼器標(biāo)識(shí)對(duì)應(yīng)的解碼器中獲取對(duì)應(yīng)接收到的指紋值的數(shù)據(jù)段,并將獲取的數(shù)據(jù)段發(fā)送給當(dāng)前解碼器。
[0160]在本發(fā)明實(shí)施例中編碼端檢測(cè)到用于標(biāo)識(shí)當(dāng)前數(shù)據(jù)段的指紋值未在自身存儲(chǔ)的包含自身已編碼數(shù)據(jù)段對(duì)應(yīng)指紋值的指紋字典中時(shí),該編碼端會(huì)向保存有所有指紋字典中指紋值的全局指紋服務(wù)器查找當(dāng)前數(shù)據(jù)段對(duì)應(yīng)的指紋值,在全局指紋服務(wù)器中查找出該指紋值時(shí),將該指紋值替代當(dāng)前數(shù)據(jù)段進(jìn)行數(shù)據(jù)編碼,生成包含該指紋值的壓縮數(shù)據(jù),并將該壓縮數(shù)據(jù)發(fā)送至目的解碼端,也就是說(shuō)若是編碼端自身沒(méi)有當(dāng)前數(shù)據(jù)段對(duì)應(yīng)指紋值,而全局指紋服務(wù)器存在該指紋值時(shí),該編碼端將確定此數(shù)據(jù)段為重復(fù)數(shù)據(jù),所以該編碼端將直接使用該指紋值替代該數(shù)據(jù)段進(jìn)行編碼,而不是直接使用該數(shù)據(jù)段進(jìn)行編碼,這樣避免了重復(fù)數(shù)據(jù)段被重復(fù)存儲(chǔ)的問(wèn)題,進(jìn)而減少了存儲(chǔ)空間的占用量以及存儲(chǔ)空間的浪費(fèi)。同時(shí)也避免了編碼端與多個(gè)解碼端之間重復(fù)的傳輸相同的數(shù)據(jù)段造成的網(wǎng)絡(luò)帶寬浪費(fèi),提升了網(wǎng)絡(luò)帶寬的利用率。
[0161]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng)?、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0162]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0163]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0164]盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
[0165]顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【權(quán)利要求】
1.一種數(shù)據(jù)編碼方法,其特征在于,包括: 在當(dāng)前編碼端檢測(cè)到用于標(biāo)識(shí)當(dāng)前數(shù)據(jù)段的指紋值未存在于當(dāng)前編碼端的指紋字典中時(shí),查看所述當(dāng)前數(shù)據(jù)段的指紋值是否存在于全局指紋服務(wù)器中,所述全局指紋服務(wù)器保存有各個(gè)編碼端的指紋字典中的指紋值; 在所述當(dāng)前數(shù)據(jù)段的指紋值存在于全局指紋服務(wù)器中時(shí),生成包含所述指紋值的壓縮數(shù)據(jù); 將所述壓縮數(shù)據(jù)發(fā)送至解碼端。
2.如權(quán)利要求1所述的方法,其特征在于,當(dāng)所述全局指紋服務(wù)器中還保存有指紋值與解碼端標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系時(shí),所述生成包含指紋值的壓縮數(shù)據(jù),具體為: 當(dāng)前編碼端根據(jù)當(dāng)前數(shù)據(jù)段對(duì)應(yīng)指紋值,在所述全局指紋值服務(wù)器中獲取所述指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí),并生成包含所述指紋值和獲取的解碼端標(biāo)識(shí)的壓縮數(shù)據(jù)。
3.如權(quán)利要求1所述的方法,其特征在于,還包括: 在所述當(dāng)前數(shù)據(jù)段的指紋值未存在于全局指紋服務(wù)器中時(shí),所述當(dāng)前編碼端生成包含當(dāng)前數(shù)據(jù)段和當(dāng)前數(shù)據(jù)段的指紋值的壓縮數(shù)據(jù);并將所述壓縮數(shù)據(jù)發(fā)送至解碼端; 將當(dāng)前數(shù)據(jù)段的指紋值以及接收當(dāng)前數(shù)據(jù)段的解碼端的標(biāo)識(shí)對(duì)應(yīng)存儲(chǔ)至全局指紋服務(wù)器中。
4.一種數(shù)據(jù)解碼方法,其特征在于,包括: 當(dāng)前解碼端接收編碼端發(fā)送的壓縮數(shù)據(jù); 當(dāng)所述壓縮數(shù)據(jù)中包含指紋值,并且所述指紋值未存在于當(dāng)前解碼端的指紋字典中時(shí),將所述指紋值發(fā)送至全局指紋服務(wù)器,所述全局指紋服務(wù)器保存有指紋值和解碼端標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,其中指紋值為各個(gè)編碼端中的指紋字典中的指紋值,解碼端標(biāo)識(shí)為保存有所述指紋值對(duì)應(yīng)數(shù)據(jù)段的解碼端的標(biāo)識(shí); 當(dāng)前解碼端接收所述全局指紋服務(wù)器返回的對(duì)應(yīng)所述指紋值的解碼端標(biāo)識(shí),以及從所述解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端獲取所述指紋值對(duì)應(yīng)的數(shù)據(jù)段;或者接收所述全局指紋服務(wù)器返回的從所述解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端中獲取的與所述指紋值對(duì)應(yīng)的數(shù)據(jù)段; 根據(jù)接收到的數(shù)據(jù)段進(jìn)行解碼。
5.如權(quán)利要求4所述的方法,其特征在于,當(dāng)所述壓縮數(shù)據(jù)包含指紋值以及解碼端標(biāo)識(shí)時(shí),還包括: 根據(jù)解碼端標(biāo)識(shí),將接收到的指紋值發(fā)送至所述解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端; 接收所述解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端返回的所述指紋值對(duì)應(yīng)的數(shù)據(jù)段; 根據(jù)接收到的數(shù)據(jù)段進(jìn)行解碼。
6.一種數(shù)據(jù)編碼設(shè)備,其特征在于,包括: 檢測(cè)模塊,用于在檢測(cè)到用于標(biāo)識(shí)當(dāng)前數(shù)據(jù)段的指紋值未存在于的指紋字典中時(shí),查看所述當(dāng)前數(shù)據(jù)段的指紋值是否存在于全局指紋服務(wù)器中,所述全局指紋服務(wù)器保存有各個(gè)編碼端的指紋字典中的指紋值; 壓縮模塊,用于在所述當(dāng)前數(shù)據(jù)段的指紋值存在于全局指紋服務(wù)器中時(shí),生成包含所述指紋值的壓縮數(shù)據(jù); 發(fā)送模塊,用于將所述壓縮數(shù)據(jù)發(fā)送至解碼端。
7.如權(quán)利要求6所述的設(shè)備,其特征在于,所述壓縮模塊具體用于在所述全局指紋服務(wù)器中還保存有指紋值與解碼端標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系時(shí),根據(jù)當(dāng)前數(shù)據(jù)段對(duì)應(yīng)指紋值,在全局指紋服務(wù)器中獲取指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí),并生成包含指紋值和獲取的解碼端標(biāo)識(shí)的壓縮數(shù)據(jù)。
8.如權(quán)利要求6所述的設(shè)備,其特征在于,所述壓縮模塊還用于在所述當(dāng)前數(shù)據(jù)段的指紋值未存在于全局指紋服務(wù)器中時(shí),生成包含當(dāng)前數(shù)據(jù)段和當(dāng)前數(shù)據(jù)段的指紋值的壓縮數(shù)據(jù); 所述發(fā)送模塊,還用于將所述壓縮數(shù)據(jù)發(fā)送至解碼端,并將當(dāng)前數(shù)據(jù)段的指紋值以及接收當(dāng)前數(shù)據(jù)段的解碼端的標(biāo)識(shí)對(duì)應(yīng)存儲(chǔ)至全局指紋服務(wù)器中。
9.一種數(shù)據(jù)解碼設(shè)備,其特征在于,包括: 接收模塊,用于接收編碼端發(fā)送的壓縮數(shù)據(jù); 發(fā)送模塊,用于當(dāng)所述壓縮數(shù)據(jù)中包含指紋值,并且所述指紋值未存在于當(dāng)前解碼端的指紋字典中時(shí),將所述指紋值發(fā)送至全局指紋服務(wù)器,所述全局指紋服務(wù)器保存有指紋值和解碼端標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,其中指紋值為各個(gè)編碼端中的指紋字典中的指紋值,解碼端標(biāo)識(shí)為保存有所述指紋值對(duì)應(yīng)的數(shù)據(jù)段的解碼端的標(biāo)識(shí); 處理模塊,用于接收所述全局指紋服務(wù)器返回的對(duì)應(yīng)所述指紋值的解碼端標(biāo)識(shí),以及從接收到的所述解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端獲取所述指紋值對(duì)應(yīng)的數(shù)據(jù)段;或者接收所述全局指紋服務(wù)器返回的從所述解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端中獲取的與所述指紋值對(duì)應(yīng)的數(shù)據(jù)段; 解碼模塊,用于根據(jù)接收到的數(shù)據(jù)段進(jìn)行解碼。
10.如權(quán)利要求9所述的設(shè)備,其特征在于,所述處理模塊還用于當(dāng)所述壓縮數(shù)據(jù)包含指紋值以及解碼端標(biāo)識(shí)時(shí),根據(jù)解碼端標(biāo)識(shí),將接收到的指紋值發(fā)送至解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端,接收所述解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端返回的所述指紋值對(duì)應(yīng)的數(shù)據(jù)段。
11.一種設(shè)備,其特征在于,包括: 接收模塊,用于接收當(dāng)前解碼端發(fā)來(lái)的指紋值; 獲取模塊,用于從預(yù)先保存的指紋值和解碼端標(biāo)識(shí)的對(duì)應(yīng)關(guān)系中,獲取接收到的指紋值對(duì)應(yīng)的解碼端標(biāo)識(shí),其中指紋值為各個(gè)編碼端中的指紋字典中的指紋值,解碼端標(biāo)識(shí)為已保存指紋值對(duì)應(yīng)的數(shù)據(jù)段的解碼端的標(biāo)識(shí); 發(fā)送模塊,用于將獲取的解碼端標(biāo)識(shí)發(fā)送給當(dāng)前解碼端;或者從獲取的解碼端標(biāo)識(shí)對(duì)應(yīng)的解碼端中獲取對(duì)應(yīng)接收到的指紋值的數(shù)據(jù)段,并將獲取的數(shù)據(jù)段發(fā)送給當(dāng)前解碼端。
【文檔編號(hào)】H04L1/00GK104468028SQ201310442882
【公開(kāi)日】2015年3月25日 申請(qǐng)日期:2013年9月25日 優(yōu)先權(quán)日:2013年9月25日
【發(fā)明者】張亮, 吳俊 , 胡新宇, 楊凡, 趙宇萍 申請(qǐng)人:華為技術(shù)有限公司