本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法及裝置。
背景技術(shù):隨著信息化社會(huì)的飛速發(fā)展,需要存儲(chǔ)或傳輸?shù)臄?shù)據(jù)呈指數(shù)級(jí)增長,數(shù)據(jù)占用的空間急劇膨脹,但是用于數(shù)據(jù)存儲(chǔ)的容量空間與用于數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)帶寬卻受限于存儲(chǔ)系統(tǒng)和網(wǎng)絡(luò)設(shè)備高昂的架設(shè)、管理以及維護(hù)成本而難以與當(dāng)今龐大的數(shù)據(jù)量相匹配。在數(shù)據(jù)存儲(chǔ)或網(wǎng)絡(luò)傳輸過程中存在大量的重復(fù)數(shù)據(jù)。為了緩解數(shù)據(jù)量飛快增長與硬件設(shè)施更新緩慢之間的矛盾,可采用數(shù)據(jù)去重(DataDeduplication,簡稱DD)壓縮技術(shù)對(duì)數(shù)據(jù)進(jìn)行壓縮處理。區(qū)別于視頻、音頻、圖像以及其它通用的數(shù)據(jù)壓縮技術(shù),DD壓縮技術(shù)不僅關(guān)注數(shù)據(jù)對(duì)象內(nèi)部數(shù)據(jù)的重復(fù),還關(guān)注數(shù)據(jù)對(duì)象之間數(shù)據(jù)的重復(fù)。其處理流程如下:預(yù)先將數(shù)據(jù)對(duì)象切割成片,并建立數(shù)據(jù)分片及其特征索引庫。當(dāng)相同的數(shù)據(jù)分片再次出現(xiàn)時(shí),使用較短的分片索引代替較長的分片數(shù)據(jù),從而實(shí)現(xiàn)存儲(chǔ)或傳輸?shù)臄?shù)據(jù)壓縮,達(dá)到節(jié)省存儲(chǔ)空間或提升傳輸帶寬利用率的效果。其中,數(shù)據(jù)分片是DD壓縮過程的關(guān)鍵環(huán)節(jié),數(shù)據(jù)分片方法的優(yōu)劣將直接影響DD壓縮技術(shù)的效果和性能?,F(xiàn)有技術(shù)中采用的基于極值分片的方法來進(jìn)行數(shù)據(jù)的處理。該方法通過構(gòu)造沿?cái)?shù)據(jù)流按字節(jié)滑動(dòng)的數(shù)據(jù)窗口,連續(xù)對(duì)數(shù)據(jù)窗口內(nèi)的數(shù)據(jù)進(jìn)行哈希計(jì)算,從中篩選出在特定范圍內(nèi)的極值,然后提取相鄰極值點(diǎn)之間的數(shù)據(jù)組合成數(shù)據(jù)分片。首先,由于該方法以字節(jié)為單位對(duì)數(shù)據(jù)進(jìn)行處理,當(dāng)兩個(gè)極值點(diǎn)距離很近時(shí),容易產(chǎn)生較短的數(shù)據(jù)分片,極端情況下還有可能獲得單字節(jié)的數(shù)據(jù)分片。這些較短的數(shù)據(jù)分片與分片索引在長度上相差不大,甚至更短,難以實(shí)現(xiàn)數(shù)據(jù)壓縮,反而使得DD壓縮效果不斷惡化;其次,對(duì)于較短的數(shù)據(jù)分片,其管理與維護(hù)成本與正常數(shù)據(jù)分片一樣,無形中帶來了管理與維護(hù)成本的提升;最后,該方法必須遍歷數(shù)據(jù)對(duì)象中的每個(gè)字節(jié),因此數(shù)據(jù)處理性能較低。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例提供了一種數(shù)據(jù)處理方法及裝置,可提升數(shù)據(jù)去重的效果,提高數(shù)據(jù)處理的效率,降低數(shù)據(jù)分片的管理和維護(hù)成本。本發(fā)明實(shí)施例第一方面提供一種數(shù)據(jù)處理方法,可包括:構(gòu)造沿?cái)?shù)據(jù)流滑動(dòng)的數(shù)據(jù)窗口,所述數(shù)據(jù)窗口的長度為預(yù)設(shè)數(shù)目的字節(jié);所述數(shù)據(jù)窗口滑動(dòng)時(shí),判斷所述數(shù)據(jù)窗口中心位置對(duì)應(yīng)數(shù)據(jù)的哈希值是否為極值;若是,則確定該位置為第一個(gè)中間極值點(diǎn),所述數(shù)據(jù)窗口繼續(xù)滑動(dòng)以確定后續(xù)的中間極值點(diǎn);若否,則所述數(shù)據(jù)窗口繼續(xù)滑動(dòng)以確定第一個(gè)中間極值點(diǎn);提取相鄰中間極值點(diǎn)之間的數(shù)據(jù)組合成有效數(shù)據(jù)分片,將所述中間極值點(diǎn)之外的數(shù)據(jù)作為無效數(shù)據(jù)分片。在第一種可能的實(shí)現(xiàn)方式中,所述極值包括極大值和極小值。結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,判斷所述數(shù)據(jù)窗口中心位置數(shù)據(jù)對(duì)應(yīng)的哈希值是否為極值,可包括:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極大值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)b至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值大于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b的距離,新的數(shù)據(jù)窗口以y+a-b作為第二起始點(diǎn),所述位置點(diǎn)y作為第二中間點(diǎn),y+b-a作為第二截止點(diǎn);比較所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)y至所述第二起始點(diǎn)y+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值大于或等于所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+1)作為第三起始點(diǎn),(y+1)+b-a作為第三中間點(diǎn),(y+1)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)。結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,判斷所述數(shù)據(jù)窗口中心位置數(shù)據(jù)對(duì)應(yīng)的哈希值是否為極值,可包括:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極大值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)a對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)a至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值等于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b+1的距離,新的數(shù)據(jù)窗口以(y+1)+a-b為第二起始點(diǎn),(y+1)為第二中間點(diǎn),(y+1)+b-a為第二截止點(diǎn);比較所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)(y+1)至所述第二起始點(diǎn)(y+1)+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值大于或等于所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+2)作為第三起始點(diǎn),(y+2)+b-a作為第三中間點(diǎn),(y+2)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)。結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,判斷所述數(shù)據(jù)窗口中心位置數(shù)據(jù)對(duì)應(yīng)的哈希值是否為極值,可包括:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極小值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)b至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值小于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b的距離,新的數(shù)據(jù)窗口以y+a-b作為第二起始點(diǎn),所述位置點(diǎn)y作為第二中間點(diǎn),y+b-a作為第二截止點(diǎn);比較所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)y至所述第二起始點(diǎn)y+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值小于或等于所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+1)作為第三起始點(diǎn),(y+1)+b-a作為第三中間點(diǎn),(y+1)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)。結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,判斷所述數(shù)據(jù)窗口中心位置數(shù)據(jù)對(duì)應(yīng)的哈希值是否為極值,可包括:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極小值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)a對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)a至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值等于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b+1的距離,新的數(shù)據(jù)窗口以(y+1)+a-b為第二起始點(diǎn),(y+1)為第二中間點(diǎn),(y+1)+b-a為第二截止點(diǎn);比較所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)(y+1)至所述第二起始點(diǎn)(y+1)+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值小于或等于所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+2)作為第三起始點(diǎn),(y+2)+b-a作為第三中間點(diǎn),(y+2)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)。結(jié)合第一方面或結(jié)合第一方面的第一或第二或第三或第四或第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,在確定所述中間極值點(diǎn)之前,還可包括:將數(shù)據(jù)流中的每個(gè)字節(jié)擴(kuò)展成N個(gè)新字節(jié)作為數(shù)據(jù)處理的最小單位,其中,每個(gè)最小單位對(duì)應(yīng)一個(gè)整數(shù),N>1。結(jié)合第一方面的第六種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,所述最小單位中新字節(jié)的數(shù)目N與進(jìn)行數(shù)據(jù)處理的處理器單次處理的最大字節(jié)數(shù)目相等,且所述新字節(jié)之間采用256進(jìn)制。結(jié)合第一方面的第六或第七種可能的實(shí)現(xiàn)方式,在第八種可能的實(shí)現(xiàn)方式中,所述最小單位對(duì)應(yīng)的整數(shù)為無符號(hào)整數(shù)。結(jié)合第一方面或結(jié)合第一方面的第一或第二或第三或第四或第五或第六或第七或第八種可能的實(shí)現(xiàn)方式,在第九種可能的實(shí)現(xiàn)方式中,提取相鄰中間極值點(diǎn)之間的數(shù)據(jù)組合成有效數(shù)據(jù)分片,將所述中間極值點(diǎn)之外的數(shù)據(jù)作為無效數(shù)據(jù)分片之后,還可包括:對(duì)所述有效數(shù)據(jù)分片及無效數(shù)據(jù)分片進(jìn)行哈希計(jì)算得到對(duì)應(yīng)的數(shù)據(jù)簽名;在已建立的數(shù)據(jù)簽名庫中檢索所述數(shù)據(jù)簽名,判斷所述數(shù)據(jù)簽名是否存在;若不存在,則存儲(chǔ)所述數(shù)據(jù)分片及對(duì)應(yīng)的數(shù)據(jù)簽名;若已存在,則不存儲(chǔ)所述數(shù)據(jù)分片及對(duì)應(yīng)的數(shù)據(jù)簽名。結(jié)合第一方面或結(jié)合第一方面的第一或第二或第三或第四或第五或第六或第七或第八或第九種可能的實(shí)現(xiàn)方式,在第十種可能的實(shí)現(xiàn)方式中,所述數(shù)據(jù)可以為網(wǎng)絡(luò)數(shù)據(jù)或存儲(chǔ)數(shù)據(jù)。本發(fā)明實(shí)施例第二方面提供一種數(shù)據(jù)處理裝置,可包括:窗口構(gòu)造單元,用于構(gòu)造沿?cái)?shù)據(jù)流滑動(dòng)的數(shù)據(jù)窗口,所述數(shù)據(jù)窗口的長度為預(yù)設(shè)數(shù)目的字節(jié);極值判斷單元,用于所述數(shù)據(jù)窗口滑動(dòng)時(shí),判斷所述數(shù)據(jù)窗口中心位置數(shù)據(jù)對(duì)應(yīng)的哈希值是否為極值;若是,則確定該位置為第一個(gè)中間極值點(diǎn),所述數(shù)據(jù)窗口繼續(xù)滑動(dòng)以確定后續(xù)的中間極值點(diǎn);若否,則所述數(shù)據(jù)窗口繼續(xù)滑動(dòng)以確定第一個(gè)中間極值點(diǎn);數(shù)據(jù)切片單元,用于提取相鄰中間極值點(diǎn)之間的數(shù)據(jù)組合成有效數(shù)據(jù)分片,將所述中間極值點(diǎn)之外的數(shù)據(jù)作為無效數(shù)據(jù)分片。在第一種可能的實(shí)現(xiàn)方式中,所述極值包括極大值和極小值。結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述極值判斷單元可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極大值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)b至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值大于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b的距離,新的數(shù)據(jù)窗口以y+a-b作為第二起始點(diǎn),所述位置點(diǎn)y作為第二中間點(diǎn),y+b-a作為第二截止點(diǎn);比較所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)y至所述第二起始點(diǎn)y+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值大于或等于所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+1)作為第三起始點(diǎn),(y+1)+b-a作為第三中間點(diǎn),(y+1)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)。結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述極值判斷單元可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極大值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)a對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)a至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值等于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b+1的距離,新的數(shù)據(jù)窗口以(y+1)+a-b為第二起始點(diǎn),(y+1)為第二中間點(diǎn),(y+1)+b-a為第二截止點(diǎn);比較所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)(y+1)至所述第二起始點(diǎn)(y+1)+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值大于或等于所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+2)作為第三起始點(diǎn),(y+2)+b-a作為第三中間點(diǎn),(y+2)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)。結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述極值判斷單元可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極小值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)b至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值小于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b的距離,新的數(shù)據(jù)窗口以y+a-b作為第二起始點(diǎn),所述位置點(diǎn)y作為第二中間點(diǎn),y+b-a作為第二截止點(diǎn);比較所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)y至所述第二起始點(diǎn)y+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值小于或等于所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+1)作為第三起始點(diǎn),(y+1)+b-a作為第三中間點(diǎn),(y+1)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)。結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述極值判斷單元可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極小值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)a對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)a至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值等于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b+1的距離,新的數(shù)據(jù)窗口以(y+1)+a-b為第二起始點(diǎn),(y+1)為第二中間點(diǎn),(y+1)+b-a為第二截止點(diǎn);比較所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)(y+1)至所述第二起始點(diǎn)(y+1)+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值小于或等于所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+2)作為第三起始點(diǎn),(y+2)+b-a作為第三中間點(diǎn),(y+2)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)。結(jié)合第二方面或結(jié)合第二方面的第一或第二或第三或第四或第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述裝置還可包括:字節(jié)擴(kuò)展單元,用于在確定所述中間極值點(diǎn)之前,將數(shù)據(jù)流中的每個(gè)字節(jié)擴(kuò)展成N個(gè)新字節(jié)作為數(shù)據(jù)處理的最小單位,其中,每個(gè)最小單位對(duì)應(yīng)一個(gè)整數(shù),N>1。結(jié)合第二方面的第六種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,所述最小單位中新字節(jié)的數(shù)目N與進(jìn)行數(shù)據(jù)處理的處理器單次處理的最大字節(jié)數(shù)目相等,且所述新字節(jié)之間采用256進(jìn)制。結(jié)合第二方面的第六或第七種可能的實(shí)現(xiàn)方式,在第八種可能的實(shí)現(xiàn)方式中,所述最小單位對(duì)應(yīng)的整數(shù)為無符號(hào)整數(shù)。結(jié)合第二方面或結(jié)合第二方面的第一或第二或第三或第四或第五或第六或第七或第八種可能的實(shí)現(xiàn)方式,在第九種可能的實(shí)現(xiàn)方式中,所述裝置還可包括:計(jì)算單元,用于對(duì)所述有效數(shù)據(jù)分片及無效數(shù)據(jù)分片進(jìn)行哈希計(jì)算得到對(duì)應(yīng)的數(shù)據(jù)簽名;檢索單元,用于在已建立的數(shù)據(jù)簽名庫中檢索所述數(shù)據(jù)簽名,判斷所述數(shù)據(jù)簽名是否存在;存儲(chǔ)單元,用于當(dāng)所述檢索單元判定所述數(shù)據(jù)簽名不存在時(shí),存儲(chǔ)所述數(shù)據(jù)分片及對(duì)應(yīng)的數(shù)據(jù)簽名,若所述數(shù)據(jù)簽名已存在,則不存儲(chǔ)所述數(shù)據(jù)分片及對(duì)應(yīng)的數(shù)據(jù)簽名。結(jié)合第二方面或結(jié)合第二方面的第一或第二或第三或第四或第五或第六或第七或第八或第九種可能的實(shí)現(xiàn)方式,在第十種可能的實(shí)現(xiàn)方式中,所述數(shù)據(jù)可以為網(wǎng)絡(luò)數(shù)據(jù)或存儲(chǔ)數(shù)據(jù)。本發(fā)明實(shí)施例第三方面提供一種數(shù)據(jù)處理裝置,可包括:處理器及與所述處理器相配合的存儲(chǔ)器;所述存儲(chǔ)器用于存儲(chǔ)所述處理器執(zhí)行的程序、極值點(diǎn)信息及數(shù)據(jù)分片;所述處理器用于執(zhí)行以下步驟:構(gòu)造沿?cái)?shù)據(jù)流滑動(dòng)的數(shù)據(jù)窗口,所述數(shù)據(jù)窗口的長度為預(yù)設(shè)數(shù)目的字節(jié);所述數(shù)據(jù)窗口滑動(dòng)時(shí),判斷所述數(shù)據(jù)窗口中心位置數(shù)據(jù)對(duì)應(yīng)的哈希值是否為極值;若是,則確定該位置為第一個(gè)中間極值點(diǎn),所述數(shù)據(jù)窗口繼續(xù)滑動(dòng)以確定后續(xù)的中間極值點(diǎn);若否,則所述數(shù)據(jù)窗口繼續(xù)滑動(dòng)以確定第一個(gè)中間極值點(diǎn);提取相鄰中間極值點(diǎn)之間的數(shù)據(jù)組合成有效數(shù)據(jù)分片,將所述中間極值點(diǎn)之外的數(shù)據(jù)作為無效數(shù)據(jù)分片。在第一種可能的實(shí)現(xiàn)方式中,所述極值包括極大值和極小值。結(jié)合第三方面或結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述處理器可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極大值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)b至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值大于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b的距離,新的數(shù)據(jù)窗口以y+a-b作為第二起始點(diǎn),所述位置點(diǎn)y作為第二中間點(diǎn),y+b-a作為第二截止點(diǎn);比較所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)y至所述第二起始點(diǎn)y+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值大于或等于所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+1)作為第三起始點(diǎn),(y+1)+b-a作為第三中間點(diǎn),(y+1)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)。結(jié)合第三方面或結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述處理器可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極大值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)a對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)a至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值等于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b+1的距離,新的數(shù)據(jù)窗口以(y+1)+a-b為第二起始點(diǎn),(y+1)為第二中間點(diǎn),(y+1)+b-a為第二截止點(diǎn);比較所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)(y+1)至所述第二起始點(diǎn)(y+1)+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值大于或等于所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+2)作為第三起始點(diǎn),(y+2)+b-a作為第三中間點(diǎn),(y+2)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)。結(jié)合第三方面或結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述處理器可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極小值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)b至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值小于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b的距離,新的數(shù)據(jù)窗口以y+a-b作為第二起始點(diǎn),所述位置點(diǎn)y作為第二中間點(diǎn),y+b-a作為第二截止點(diǎn);比較所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)y至所述第二起始點(diǎn)y+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值小于或等于所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+1)作為第三起始點(diǎn),(y+1)+b-a作為第三中間點(diǎn),(y+1)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)。結(jié)合第三方面或結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述處理器可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極小值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)a對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)a至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值等于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b+1的距離,新的數(shù)據(jù)窗口以(y+1)+a-b為第二起始點(diǎn),(y+1)為第二中間點(diǎn),(y+1)+b-a為第二截止點(diǎn);比較所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)(y+1)至所述第二起始點(diǎn)(y+1)+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值小于或等于所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+2)作為第三起始點(diǎn),(y+2)+b-a作為第三中間點(diǎn),(y+2)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)。結(jié)合第三方面或結(jié)合第三方面的第一或第二或第三或第四或第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述處理器還可用于:在確定所述中間極值點(diǎn)之前,將數(shù)據(jù)流中的每個(gè)字節(jié)擴(kuò)展成N個(gè)新字節(jié)作為數(shù)據(jù)處理的最小單位,其中,每個(gè)最小單位對(duì)應(yīng)一個(gè)無符號(hào)整數(shù),N>1;所述最小單位中新字節(jié)的數(shù)目N與進(jìn)行數(shù)據(jù)處理的處理器單次處理的最大字節(jié)數(shù)目相等,且所述新字節(jié)之間采用256進(jìn)制。結(jié)合第三方面或結(jié)合第三方面的第一或第二或第三或第四或第五或第六種可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,所述處理器可更進(jìn)一步用于:對(duì)所述有效數(shù)據(jù)分片及無效數(shù)據(jù)分片進(jìn)行哈希計(jì)算得到對(duì)應(yīng)的數(shù)據(jù)簽名;在已建立的數(shù)據(jù)簽名庫中檢索所述數(shù)據(jù)簽名,判斷所述數(shù)據(jù)簽名是否存在;若不存在,則存儲(chǔ)所述數(shù)據(jù)分片及對(duì)應(yīng)的數(shù)據(jù)簽名;若已存在,則不存儲(chǔ)所述數(shù)據(jù)分片及對(duì)應(yīng)的數(shù)據(jù)簽名。實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:通過確定數(shù)據(jù)窗口的滑動(dòng),篩選出數(shù)據(jù)流中符合中間極值特征的中間極值點(diǎn),并根據(jù)得到的中間極值點(diǎn)進(jìn)行后續(xù)的數(shù)據(jù)切片,對(duì)數(shù)據(jù)只有一次比較的處理過程,因?yàn)閿?shù)據(jù)處理的效率較高,且得到的數(shù)據(jù)分片至少大于半個(gè)數(shù)據(jù)窗口,避免了切割出大量的較短數(shù)據(jù)分片而帶來的數(shù)據(jù)去重效果差、管理成本高的缺點(diǎn)。附圖說明為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明數(shù)據(jù)處理方法的第一實(shí)施例的流程示意圖;圖2為本發(fā)明數(shù)據(jù)處理方法的第二實(shí)施例的流程示意圖;圖3為本發(fā)明數(shù)據(jù)處理方法中判斷中間極值點(diǎn)的第一實(shí)施例的流程示意圖;圖4為本發(fā)明數(shù)據(jù)處理方法中判斷中間極值點(diǎn)的第二實(shí)施例的流程示意圖;圖5為本發(fā)明數(shù)據(jù)處理方法中判斷中間極值點(diǎn)的第三實(shí)施例的流程示意圖;圖6為本發(fā)明數(shù)據(jù)處理方法中判斷中間極值點(diǎn)的第四實(shí)施例的流程示意圖;圖7為本發(fā)明數(shù)據(jù)處理裝置的第一實(shí)施例的組成示意圖;圖8為本發(fā)明數(shù)據(jù)處理裝置的第二實(shí)施例的組成示意圖;圖9為本發(fā)明數(shù)據(jù)處理裝置的第三實(shí)施例的組成示意圖。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。請參照圖1,為本發(fā)明數(shù)據(jù)處理方法的第一實(shí)施例的流程示意圖;在本實(shí)施例中,所述方法包括以下步驟:S101,構(gòu)造沿?cái)?shù)據(jù)流滑動(dòng)的數(shù)據(jù)窗口,所述數(shù)據(jù)窗口的長度為預(yù)設(shè)數(shù)目的字節(jié)。具體地,為了滿足后續(xù)中間極值點(diǎn)的特征,所述數(shù)據(jù)窗口的長度必須可以包含奇數(shù)個(gè)字節(jié)。S102,所述數(shù)據(jù)窗口滑動(dòng)時(shí),判斷所述數(shù)據(jù)窗口中心位置數(shù)據(jù)對(duì)應(yīng)的哈希值是否為極值。若是,則執(zhí)行步驟S103,否則執(zhí)行步驟S105。具體地,可以對(duì)數(shù)據(jù)流中的數(shù)據(jù)分別做哈希計(jì)算得到每個(gè)數(shù)據(jù)相應(yīng)的哈希值。當(dāng)然也可以采用其他的方式對(duì)數(shù)據(jù)進(jìn)行數(shù)字標(biāo)記,然后利用尋找中間極值點(diǎn)的原理進(jìn)行后續(xù)的數(shù)據(jù)處理。S103,確定該位置為第一個(gè)中間極值點(diǎn),所述數(shù)據(jù)窗口繼續(xù)滑動(dòng)以確定后續(xù)的中間極值點(diǎn)。具體地,所述極值包括極大值和極小值。當(dāng)采用極大值進(jìn)行數(shù)據(jù)處理時(shí),所述中間極值點(diǎn)比所述數(shù)據(jù)窗口中的所有數(shù)都大,當(dāng)采用極小值進(jìn)行數(shù)據(jù)處理時(shí),所述中間極值點(diǎn)比所述數(shù)據(jù)窗口中的所有數(shù)都小。優(yōu)選地,在確定所述中間極值點(diǎn)之前,還可包括:將數(shù)據(jù)流中的每個(gè)字節(jié)擴(kuò)展成N個(gè)新字節(jié)作為數(shù)據(jù)處理的最小單位,其中,每個(gè)最小單位對(duì)應(yīng)一個(gè)整數(shù),N>1。由于單字節(jié)只有256種變化,數(shù)據(jù)窗口的大小將被限制在一個(gè)狹小的范圍內(nèi),中間極值的特征較難滿足;相對(duì)于選擇單字節(jié)作為數(shù)據(jù)處理的最小單位,將每個(gè)字節(jié)進(jìn)行擴(kuò)展后,變化增多,中間極值的特征更容易滿足,且擴(kuò)展后不但將字節(jié)的大小,還將字節(jié)的排序,納入重復(fù)數(shù)據(jù)識(shí)別的范疇,適于重復(fù)數(shù)據(jù)的深度挖掘。更優(yōu)選地,所述最小單位中新字節(jié)的數(shù)目N與進(jìn)行數(shù)據(jù)處理的處理器單次處理的最大字節(jié)數(shù)目相等,且所述新字節(jié)之間采用256進(jìn)制。例如,當(dāng)操作系統(tǒng)為64位時(shí),則可以將N設(shè)為8,因?yàn)?4位操作系統(tǒng)數(shù)據(jù)處理的字長為8,當(dāng)兩者相等時(shí),有利于提升數(shù)據(jù)處理的效率。更優(yōu)選地,所述最小單位對(duì)應(yīng)的整數(shù)為無符號(hào)整數(shù)。通過實(shí)測分析發(fā)現(xiàn),選擇無符號(hào)整數(shù),由無符號(hào)中間極值提取的分片數(shù)據(jù)長度的分布相比有符號(hào)中間極值更加均勻,也更加集中,這樣有利于數(shù)據(jù)分片的管理與維護(hù),同時(shí)有利于分片數(shù)據(jù)的再次命中。S104,提取相鄰中間極值點(diǎn)之間的數(shù)據(jù)組合成有效數(shù)據(jù)分片,將所述中間極值點(diǎn)之外的數(shù)據(jù)作為無效數(shù)據(jù)分片。所有的有效數(shù)據(jù)分片結(jié)合無效數(shù)據(jù)分片則構(gòu)成了完整的數(shù)據(jù)流。S105,所述數(shù)據(jù)窗口繼續(xù)滑動(dòng)以確定第一個(gè)中間極值點(diǎn)。通過確定數(shù)據(jù)窗口的滑動(dòng),篩選出數(shù)據(jù)流中符合中間極值特征的中間極值點(diǎn),并根據(jù)得到的中間極值點(diǎn)進(jìn)行后續(xù)的數(shù)據(jù)切片,只有一次比較的處理過程,因?yàn)閿?shù)據(jù)處理的效率較高,且得到的數(shù)據(jù)分片至少大于半個(gè)數(shù)據(jù)窗口,避免了切割出大量的較短數(shù)據(jù)分片而帶來的數(shù)據(jù)去重效果差、管理成本高的缺點(diǎn)。請參照圖2,為本發(fā)明數(shù)據(jù)處理方法的第二實(shí)施例的流程示意圖;在本實(shí)施例中,所述方法包括以下步驟:S201,構(gòu)造沿?cái)?shù)據(jù)流滑動(dòng)的數(shù)據(jù)窗口,所述數(shù)據(jù)窗口的長度為預(yù)設(shè)數(shù)目的字節(jié)。S202,所述數(shù)據(jù)窗口滑動(dòng)時(shí),判斷所述數(shù)據(jù)窗口中心位置數(shù)據(jù)對(duì)應(yīng)的哈希值是否為極值。若是,則執(zhí)行步驟S203,否則執(zhí)行步驟S205。S203,確定該位置為第一個(gè)中間極值點(diǎn),所述數(shù)據(jù)窗口繼續(xù)滑動(dòng)以確定后續(xù)的中間極值點(diǎn)。優(yōu)選地,在確定所述中間極值點(diǎn)之前,還可包括:將數(shù)據(jù)流中的每個(gè)字節(jié)擴(kuò)展成N個(gè)新字節(jié)作為數(shù)據(jù)處理的最小單位,其中,每個(gè)最小單位對(duì)應(yīng)一個(gè)整數(shù),N>1。所述最小單位中新字節(jié)的數(shù)目N與進(jìn)行數(shù)據(jù)處理的處理器單次處理的最大字節(jié)數(shù)目相等,且所述新字節(jié)之間采用256進(jìn)制。所述最小單位對(duì)應(yīng)的整數(shù)為無符號(hào)整數(shù)。這樣,切割的數(shù)據(jù)分片可以隨數(shù)據(jù)內(nèi)容動(dòng)態(tài)調(diào)整,因此對(duì)數(shù)據(jù)的增、刪、改或錯(cuò)位等變化非常敏感,有利于重復(fù)數(shù)據(jù)的深度挖掘,提升數(shù)據(jù)的重復(fù)命中率。S204,提取相鄰中間極值點(diǎn)之間的數(shù)據(jù)組合成有效數(shù)據(jù)分片,將所述中間極值點(diǎn)之外的數(shù)據(jù)作為無效數(shù)據(jù)分片。數(shù)據(jù)分片的長度始終大于半個(gè)數(shù)據(jù)窗口大小,而且分布更加均勻,也更加集中,因此數(shù)據(jù)去重效果更優(yōu)。S205,所述數(shù)據(jù)窗口繼續(xù)滑動(dòng)以確定第一個(gè)中間極值點(diǎn)。S206,對(duì)所述有效數(shù)據(jù)分片及無效數(shù)據(jù)分片進(jìn)行哈希計(jì)算得到對(duì)應(yīng)的數(shù)據(jù)簽名。S207,在已建立的數(shù)據(jù)簽名庫中檢索所述數(shù)據(jù)簽名,判斷所述數(shù)據(jù)簽名是否存在。若存在,則執(zhí)行步驟S208,否則執(zhí)行步驟S209。S208,不存儲(chǔ)所述數(shù)據(jù)分片及對(duì)應(yīng)的數(shù)據(jù)簽名。S209,存儲(chǔ)所述數(shù)據(jù)分片及對(duì)應(yīng)的數(shù)據(jù)簽名?;跀?shù)據(jù)分片粒度進(jìn)行存取和檢索,不存在存儲(chǔ)設(shè)備訪問性能的瓶頸,而且使用分片索校驗(yàn)分片數(shù)據(jù)一致性,數(shù)據(jù)處理性能更高。對(duì)需要處理的字節(jié)只有一次比較操作,使得數(shù)據(jù)處理效率較高;基于數(shù)據(jù)內(nèi)容進(jìn)行數(shù)據(jù)分片,對(duì)數(shù)據(jù)的變化十分敏感,確保了重復(fù)的分片數(shù)據(jù)在數(shù)據(jù)中心只會(huì)存儲(chǔ)一份,不會(huì)消耗額外的存儲(chǔ)空間,減少了數(shù)據(jù)庫的管理與維護(hù)成本。請參照圖3,為本發(fā)明數(shù)據(jù)處理方法中判斷中間極值點(diǎn)的第一實(shí)施例的流程示意圖;在本實(shí)施例中,所述方法包括以下步驟:S301,確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a。所述數(shù)據(jù)窗口可以從數(shù)據(jù)流的起始點(diǎn)即a=0的位置開始滑動(dòng),當(dāng)然,也可以從數(shù)據(jù)流的其他任意位置開始滑動(dòng)。S302,當(dāng)采用極大值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)b至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值。S303,若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值大于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b的距離,新的數(shù)據(jù)窗口以y+a-b作為第二起始點(diǎn),所述位置點(diǎn)y作為第二中間點(diǎn),y+b-a作為第二截止點(diǎn)。S304,比較所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)y至所述第二起始點(diǎn)y+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值。S305,若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值大于或等于所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+1)作為第三起始點(diǎn),(y+1)+b-a作為第三中間點(diǎn),(y+1)+2b-2a作為第三截止點(diǎn)。其中,a、b、x、y均為自然數(shù)。請參照圖4,為本發(fā)明數(shù)據(jù)處理方法中判斷中間極值點(diǎn)的第二實(shí)施例的流程示意圖;在本實(shí)施例中,所述方法包括以下步驟:S401,確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a。S402,當(dāng)采用極大值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)a對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)a至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值。S403,若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值等于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b+1的距離,新的數(shù)據(jù)窗口以(y+1)+a-b為第二起始點(diǎn),(y+1)為第二中間點(diǎn),(y+1)+b-a為第二截止點(diǎn)。S404,比較所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)(y+1)至所述第二起始點(diǎn)(y+1)+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值。S405,若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值大于或等于所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+2)作為第三起始點(diǎn),(y+2)+b-a作為第三中間點(diǎn),(y+2)+2b-2a作為第三截止點(diǎn)。其中,a、b、x、y均為自然數(shù)。請參照圖5,為本發(fā)明數(shù)據(jù)處理方法中判斷中間極值點(diǎn)的第三實(shí)施例的流程示意圖;在本實(shí)施例中,所述方法包括以下步驟:S501,確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a。S502,當(dāng)采用極小值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)b至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值。S503,若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值小于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b的距離,新的數(shù)據(jù)窗口以y+a-b作為第二起始點(diǎn),所述位置點(diǎn)y作為第二中間點(diǎn),y+b-a作為第二截止點(diǎn)。S504,比較所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)y至所述第二起始點(diǎn)y+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值。S505,若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值小于或等于所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+1)作為第三起始點(diǎn),(y+1)+b-a作為第三中間點(diǎn),(y+1)+2b-2a作為第三截止點(diǎn)。其中,a、b、x、y均為自然數(shù)。請參照圖6,為本發(fā)明數(shù)據(jù)處理方法中判斷中間極值點(diǎn)的第四實(shí)施例的流程示意圖;在本實(shí)施例中,所述方法包括以下步驟:S601,確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a。S602,當(dāng)采用極小值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)a對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)a至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值。S603,若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值等于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b+1的距離,新的數(shù)據(jù)窗口以(y+1)+a-b為第二起始點(diǎn),(y+1)為第二中間點(diǎn),(y+1)+b-a為第二截止點(diǎn)。S604,比較所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)(y+1)至所述第二起始點(diǎn)(y+1)+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值。S605,若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值小于或等于所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+2)作為第三起始點(diǎn),(y+2)+b-a作為第三中間點(diǎn),(y+2)+2b-2a作為第三截止點(diǎn)。其中,a、b、x、y均為自然數(shù)。請參照圖7,為本發(fā)明數(shù)據(jù)處理裝置的第一實(shí)施例的組成示意圖;在本實(shí)施例中,所述裝置包括:窗口構(gòu)造單元100、極值判斷單元200及數(shù)據(jù)切片單元300。所述窗口構(gòu)造單元100用于構(gòu)造沿?cái)?shù)據(jù)流滑動(dòng)的數(shù)據(jù)窗口,所述數(shù)據(jù)窗口的長度為預(yù)設(shè)數(shù)目的字節(jié);所述極值判斷單元200用于所述數(shù)據(jù)窗口滑動(dòng)時(shí),判斷所述數(shù)據(jù)窗口中心位置數(shù)據(jù)對(duì)應(yīng)的哈希值是否為極值;若是,則確定該位置為第一個(gè)中間極值點(diǎn),所述數(shù)據(jù)窗口繼續(xù)滑動(dòng)以確定后續(xù)的中間極值點(diǎn);若否,則所述數(shù)據(jù)窗口繼續(xù)滑動(dòng)以確定第一個(gè)中間極值點(diǎn);所述數(shù)據(jù)切片單元300用于提取相鄰中間極值點(diǎn)之間的數(shù)據(jù)組合成有效數(shù)據(jù)分片,將所述中間極值點(diǎn)之外的數(shù)據(jù)作為無效數(shù)據(jù)分片。具體地,所述極值包括極大值和極小值。所述極值判斷單元200可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極大值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)b至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值大于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b的距離,新的數(shù)據(jù)窗口以y+a-b作為第二起始點(diǎn),所述位置點(diǎn)y作為第二中間點(diǎn),y+b-a作為第二截止點(diǎn);比較所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)y至所述第二起始點(diǎn)y+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值大于或等于所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+1)作為第三起始點(diǎn),(y+1)+b-a作為第三中間點(diǎn),(y+1)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)?;蛘?,所述極值判斷單元200可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極大值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)a對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)a至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值等于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b+1的距離,新的數(shù)據(jù)窗口以(y+1)+a-b為第二起始點(diǎn),(y+1)為第二中間點(diǎn),(y+1)+b-a為第二截止點(diǎn);比較所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)(y+1)至所述第二起始點(diǎn)(y+1)+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值大于或等于所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+2)作為第三起始點(diǎn),(y+2)+b-a作為第三中間點(diǎn),(y+2)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)?;蛘撸鰳O值判斷單元200可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極小值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)b至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值小于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b的距離,新的數(shù)據(jù)窗口以y+a-b作為第二起始點(diǎn),所述位置點(diǎn)y作為第二中間點(diǎn),y+b-a作為第二截止點(diǎn);比較所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)y至所述第二起始點(diǎn)y+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值小于或等于所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+1)作為第三起始點(diǎn),(y+1)+b-a作為第三中間點(diǎn),(y+1)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)?;蛘?,所述極值判斷單元可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極小值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)a對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)a至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值等于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b+1的距離,新的數(shù)據(jù)窗口以(y+1)+a-b為第二起始點(diǎn),(y+1)為第二中間點(diǎn),(y+1)+b-a為第二截止點(diǎn);比較所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)(y+1)至所述第二起始點(diǎn)(y+1)+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值小于或等于所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+2)作為第三起始點(diǎn),(y+2)+b-a作為第三中間點(diǎn),(y+2)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)。請參照圖8,為本發(fā)明數(shù)據(jù)處理裝置的第二實(shí)施例的組成示意圖;在本實(shí)施例中,所述裝置包括:窗口構(gòu)造單元100、極值判斷單元200、數(shù)據(jù)切片單元300、字節(jié)擴(kuò)展單元400、計(jì)算單元500、檢索單元600及存儲(chǔ)單元700。所述字節(jié)擴(kuò)展單元用于在確定所述中間極值點(diǎn)之前,將數(shù)據(jù)流中的每個(gè)字節(jié)擴(kuò)展成N個(gè)新字節(jié)作為數(shù)據(jù)處理的最小單位,其中,每個(gè)最小單位對(duì)應(yīng)一個(gè)整數(shù),N>1。優(yōu)選地,所述最小單位中新字節(jié)的數(shù)目N與進(jìn)行數(shù)據(jù)處理的處理器單次處理的最大字節(jié)數(shù)目相等,且所述新字節(jié)之間采用256進(jìn)制。更優(yōu)選地,所述最小單位對(duì)應(yīng)的整數(shù)為無符號(hào)整數(shù)。所述計(jì)算單元500用于對(duì)所述有效數(shù)據(jù)分片及無效數(shù)據(jù)分片進(jìn)行哈希計(jì)算得到對(duì)應(yīng)的數(shù)據(jù)簽名;所述檢索單元600用于在已建立的數(shù)據(jù)簽名庫中檢索所述數(shù)據(jù)簽名,判斷所述數(shù)據(jù)簽名是否存在;所述存儲(chǔ)單元700用于當(dāng)所述檢索單元判定所述數(shù)據(jù)簽名不存在時(shí),存儲(chǔ)所述數(shù)據(jù)分片及對(duì)應(yīng)的數(shù)據(jù)簽名,若所述數(shù)據(jù)簽名已存在,則不存儲(chǔ)所述數(shù)據(jù)分片及對(duì)應(yīng)的數(shù)據(jù)簽名。其中,所述數(shù)據(jù)為網(wǎng)絡(luò)數(shù)據(jù)或存儲(chǔ)數(shù)據(jù)。請參照圖9,為本發(fā)明數(shù)據(jù)處理裝置的第三實(shí)施例的組成示意圖。在本實(shí)施例中,所述裝置包括:處理器800及與所述處理器800相配合的存儲(chǔ)器900;所述存儲(chǔ)器900用于存儲(chǔ)所述處理器800執(zhí)行的程序、極值點(diǎn)信息及數(shù)據(jù)分片;所述處理器800用于執(zhí)行以下步驟:構(gòu)造沿?cái)?shù)據(jù)流滑動(dòng)的數(shù)據(jù)窗口,所述數(shù)據(jù)窗口的長度為預(yù)設(shè)數(shù)目的字節(jié);所述數(shù)據(jù)窗口滑動(dòng)時(shí),判斷所述數(shù)據(jù)窗口中心位置數(shù)據(jù)對(duì)應(yīng)的哈希值是否為極值;若是,則確定該位置為第一個(gè)中間極值點(diǎn),所述數(shù)據(jù)窗口繼續(xù)滑動(dòng)以確定后續(xù)的中間極值點(diǎn);若否,則所述數(shù)據(jù)窗口繼續(xù)滑動(dòng)以確定第一個(gè)中間極值點(diǎn);提取相鄰中間極值點(diǎn)之間的數(shù)據(jù)組合成有效數(shù)據(jù)分片,將所述中間極值點(diǎn)之外的數(shù)據(jù)作為無效數(shù)據(jù)分片。具體地,所述極值包括極大值和極小值。所述處理器800可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極大值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)b至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值大于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b的距離,新的數(shù)據(jù)窗口以y+a-b作為第二起始點(diǎn),所述位置點(diǎn)y作為第二中間點(diǎn),y+b-a作為第二截止點(diǎn);比較所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)y至所述第二起始點(diǎn)y+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值大于或等于所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+1)作為第三起始點(diǎn),(y+1)+b-a作為第三中間點(diǎn),(y+1)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)。或者,所述處理器800可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極大值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)a對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)a至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值等于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b+1的距離,新的數(shù)據(jù)窗口以(y+1)+a-b為第二起始點(diǎn),(y+1)為第二中間點(diǎn),(y+1)+b-a為第二截止點(diǎn);比較所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)(y+1)至所述第二起始點(diǎn)(y+1)+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值大于或等于所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+2)作為第三起始點(diǎn),(y+2)+b-a作為第三中間點(diǎn),(y+2)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)?;蛘?,所述處理器800可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極小值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)b至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值小于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b的距離,新的數(shù)據(jù)窗口以y+a-b作為第二起始點(diǎn),所述位置點(diǎn)y作為第二中間點(diǎn),y+b-a作為第二截止點(diǎn);比較所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)y至所述第二起始點(diǎn)y+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值小于或等于所述第二中間點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+1)作為第三起始點(diǎn),(y+1)+b-a作為第三中間點(diǎn),(y+1)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)?;蛘?,所述處理器800可進(jìn)一步用于:確定所述數(shù)據(jù)窗口在數(shù)據(jù)流上滑動(dòng)的第一起始點(diǎn)a,第一中間點(diǎn)b及第一截止點(diǎn)2b-a;當(dāng)采用極小值進(jìn)行處理時(shí),比較所述第一中間點(diǎn)a對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第一中間點(diǎn)a至所述第一截止點(diǎn)2b-a的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)y,所述位置點(diǎn)y對(duì)應(yīng)的數(shù)據(jù)的哈希值等于所述第一中間點(diǎn)b對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移y-b+1的距離,新的數(shù)據(jù)窗口以(y+1)+a-b為第二起始點(diǎn),(y+1)為第二中間點(diǎn),(y+1)+b-a為第二截止點(diǎn);比較所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值與所述第二中間點(diǎn)(y+1)至所述第二起始點(diǎn)(y+1)+a-b的區(qū)域之間各個(gè)位置點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的哈希值;若存在一個(gè)位置點(diǎn)x,所述位置點(diǎn)x對(duì)應(yīng)的數(shù)據(jù)的哈希值小于或等于所述第二中間點(diǎn)(y+1)對(duì)應(yīng)的數(shù)據(jù)的哈希值,則將所述數(shù)據(jù)窗口右移b-a+1的距離,新的數(shù)據(jù)窗口以(y+2)作為第三起始點(diǎn),(y+2)+b-a作為第三中間點(diǎn),(y+2)+2b-2a作為第三截止點(diǎn);其中,a、b、x、y均為自然數(shù)。優(yōu)選地,所述處理器800還可用于:在確定所述中間極值點(diǎn)之前,將數(shù)據(jù)流中的每個(gè)字節(jié)擴(kuò)展成N個(gè)新字節(jié)作為數(shù)據(jù)處理的最小單位,其中,每個(gè)最小單位對(duì)應(yīng)一個(gè)無符號(hào)整數(shù),N>1;所述最小單位中新字節(jié)的數(shù)目N與進(jìn)行數(shù)據(jù)處理的處理器單次處理的最大字節(jié)數(shù)目相等,且所述新字節(jié)之間采用256進(jìn)制。更優(yōu)選地,所述處理器800可更進(jìn)一步用于:對(duì)所述有效數(shù)據(jù)分片及無效數(shù)據(jù)分片進(jìn)行哈希計(jì)算得到對(duì)應(yīng)的數(shù)據(jù)簽名;在已建立的數(shù)據(jù)簽名庫中檢索所述數(shù)據(jù)簽名,判斷所述數(shù)據(jù)簽名是否存在;若不存在,則存儲(chǔ)所述數(shù)據(jù)分片及對(duì)應(yīng)的數(shù)據(jù)簽名;若已存在,則不存儲(chǔ)所述數(shù)據(jù)分片及對(duì)應(yīng)的數(shù)據(jù)簽名。需要說明的是,本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。本發(fā)明實(shí)施例中所述的數(shù)據(jù)處理方法及裝置可以廣泛應(yīng)用于網(wǎng)絡(luò)傳輸,實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)去重。只需要將數(shù)據(jù)處理裝置分別部署在客戶端與服務(wù)器的網(wǎng)絡(luò)側(cè)。當(dāng)客戶端向服務(wù)器上傳數(shù)據(jù)時(shí),上傳數(shù)據(jù)流經(jīng)客戶端數(shù)據(jù)處理裝置,轉(zhuǎn)換成數(shù)據(jù)分片序列,然后送入網(wǎng)絡(luò)。在網(wǎng)絡(luò)中,數(shù)據(jù)按分片形式進(jìn)行傳輸。其中,重復(fù)的有效數(shù)據(jù)分片只傳輸分片索引,無效數(shù)據(jù)分片或不重復(fù)的有效數(shù)據(jù)分片才傳輸原始數(shù)據(jù),從而實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)去重。上傳數(shù)據(jù)分片序列通過網(wǎng)絡(luò)傳輸,抵達(dá)服務(wù)器數(shù)據(jù)處理裝置,先恢復(fù)成原始的上傳數(shù)據(jù),再提交服務(wù)器處理。當(dāng)客戶端向服務(wù)器下載數(shù)據(jù)時(shí),下載數(shù)據(jù)流經(jīng)服務(wù)器數(shù)據(jù)處理裝置,轉(zhuǎn)換成數(shù)據(jù)分片序列,然后送入網(wǎng)絡(luò)。在網(wǎng)絡(luò)中,數(shù)據(jù)按分片形式進(jìn)行傳輸。其中,重復(fù)的有效數(shù)據(jù)分片只傳輸分片索引,無效數(shù)據(jù)分片或不重復(fù)的有效數(shù)據(jù)分片才傳輸原始數(shù)據(jù),從而實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)去重。下載數(shù)據(jù)分片序列通過網(wǎng)絡(luò)傳輸,抵達(dá)客戶端數(shù)據(jù)處理裝置,先恢復(fù)成原始的下載數(shù)據(jù),再提交客戶端處理??蛻舳伺c服務(wù)器兩端的數(shù)據(jù)處理裝置分別建有數(shù)據(jù)分片及其特征索引庫,二者必須保持一致,才能確保一端發(fā)布的分片索引,對(duì)端可以解析。同樣的,本發(fā)明所述的數(shù)據(jù)處理方法及裝置還可以應(yīng)用于數(shù)據(jù)存儲(chǔ),實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)去重。數(shù)據(jù)處理裝置部署在數(shù)據(jù)中心連接網(wǎng)絡(luò)側(cè)。當(dāng)客戶端保存數(shù)據(jù)時(shí),存儲(chǔ)數(shù)據(jù)流經(jīng)數(shù)據(jù)處理裝置,轉(zhuǎn)換成數(shù)據(jù)分片序列,然后提交數(shù)據(jù)中心存儲(chǔ)。在數(shù)據(jù)中心上,數(shù)據(jù)按分片形式進(jìn)行存儲(chǔ)。其中,有效數(shù)據(jù)分片只存儲(chǔ)分片索引,無效數(shù)據(jù)分片才存儲(chǔ)原始數(shù)據(jù),從而實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)去重。當(dāng)客戶端獲取數(shù)據(jù)時(shí),數(shù)據(jù)中心組織相應(yīng)的數(shù)據(jù)分片序列,送入數(shù)據(jù)處理裝置進(jìn)行數(shù)據(jù)恢復(fù),然后提交客戶端處理。數(shù)據(jù)處理裝置建有數(shù)據(jù)分片及其特征索引庫,用以參考將數(shù)據(jù)中心存儲(chǔ)的數(shù)據(jù)分片予以還原。本發(fā)明所述數(shù)據(jù)處理方法及裝置還可以應(yīng)用于數(shù)據(jù)備份,配合數(shù)據(jù)處理裝置實(shí)現(xiàn)備份數(shù)據(jù)去重。數(shù)據(jù)處理裝置部署在服務(wù)器連接網(wǎng)絡(luò)側(cè)。當(dāng)服務(wù)器備份數(shù)據(jù)時(shí),備份數(shù)據(jù)流經(jīng)數(shù)據(jù)處理裝置,轉(zhuǎn)換成數(shù)據(jù)分片序列,然后提交備份服務(wù)器存儲(chǔ)。在備份服務(wù)器上,數(shù)據(jù)按分片形式進(jìn)行存儲(chǔ)。其中有效數(shù)據(jù)分片只存儲(chǔ)分片索引,無效數(shù)據(jù)分片才存儲(chǔ)原始數(shù)據(jù),從而實(shí)現(xiàn)備份數(shù)據(jù)去重。當(dāng)服務(wù)器提取數(shù)據(jù)時(shí),備份服務(wù)器組織相應(yīng)的數(shù)據(jù)分片序列,送入數(shù)據(jù)處理裝置進(jìn)行數(shù)據(jù)恢復(fù),然后提交服務(wù)器處理。數(shù)據(jù)處理裝置建有數(shù)據(jù)分片及其特征索引庫,用以參考將備份服務(wù)器存儲(chǔ)的數(shù)據(jù)分片予以還原。通過上述實(shí)施例的描述,本發(fā)明具有以下優(yōu)點(diǎn):通過確定數(shù)據(jù)窗口的滑動(dòng),篩選出數(shù)據(jù)流中符合中間極值特征的中間極值點(diǎn),并根據(jù)得到的中間極值點(diǎn)進(jìn)行后續(xù)的數(shù)據(jù)切片,對(duì)數(shù)據(jù)只有一次比較的處理過程,因?yàn)閿?shù)據(jù)處理的效率較高,且得到的數(shù)據(jù)分片至少大于半個(gè)數(shù)據(jù)窗口,避免了切割出大量的較短數(shù)據(jù)分片而帶來的數(shù)據(jù)去重效果差、管理成本高的缺點(diǎn)。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-OnlyMemory,ROM)或隨機(jī)存取存儲(chǔ)器(RandomAccessMemory,簡稱RAM)等。以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。