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

一種數(shù)據(jù)去重方法及終端、服務器與流程

文檔序號:11215842閱讀:754來源:國知局
一種數(shù)據(jù)去重方法及終端、服務器與流程

本發(fā)明涉及云存儲技術(shù),尤其涉及一種數(shù)據(jù)去重方法及終端、服務器。



背景技術(shù):

隨著云存儲技術(shù)的進步,以及云存儲產(chǎn)品的普及,大多用戶都或多或少將文件存儲于云存儲提供商的服務器中,并存在繼續(xù)存儲更多文件的需求;與此同時,云存儲提供商積累了大量的數(shù)據(jù)。在用戶與數(shù)據(jù)量迅速增長的過程中,有如下問題日益凸顯:一方面,云存儲提供商多數(shù)不收費或者收費較低,而用戶的數(shù)據(jù)量與日俱增,且存儲用戶數(shù)據(jù)需要大量的硬件和運維成本,這樣,增加了運營商的運營成本;另一方面,用戶使用云存儲技術(shù)存儲數(shù)據(jù)的意愿越來越強烈,云存儲提供商提供的存儲能力也越來越強,用戶與云存儲提供商的服務器之間的網(wǎng)絡速度成為制約云存儲技術(shù)發(fā)展的瓶頸。因此,若發(fā)明一種新型去重方法,能使云存儲提供商的服務器中盡可能少地存儲相似數(shù)據(jù),進而變相降低運營商的運營成本,變相提升用戶與云存儲提供商的服務器之間的網(wǎng)絡速度,成為現(xiàn)在亟待解決的問題。



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

為解決現(xiàn)有存在的技術(shù)問題,本發(fā)明實施例提供了一種數(shù)據(jù)去重方法及終端、服務器。

本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的:

本發(fā)明實施例提供了一種數(shù)據(jù)去重方法,包括:

獲取待傳輸數(shù)據(jù);

根據(jù)數(shù)據(jù)內(nèi)容對所述待傳輸數(shù)據(jù)進行分塊處理,得到至少兩個第一數(shù)據(jù)塊;

判斷所述至少兩個第一數(shù)據(jù)塊與服務器存儲的至少兩個第二數(shù)據(jù)塊是否相 同;

根據(jù)判斷結(jié)果確定是否將所述至少兩個第一數(shù)據(jù)塊發(fā)送至所述服務器。

本發(fā)明實施例還提供了一種數(shù)據(jù)去重方法,包括:

接收至少兩個第二數(shù)據(jù)塊,其中,所述至少兩個第二數(shù)據(jù)塊與至少一個目標存儲數(shù)據(jù)對應;

以至少兩個第二數(shù)據(jù)塊形式存儲所述至少一個目標存儲數(shù)據(jù);

接收至少兩個第一數(shù)據(jù)塊,其中,所述至少兩個第一數(shù)據(jù)塊是終端根據(jù)數(shù)據(jù)內(nèi)容對待傳輸數(shù)據(jù)進行劃分后得到的;

判斷所述至少兩個第一數(shù)據(jù)塊與自身存儲的所述至少兩個第二數(shù)據(jù)塊是否相同,得到判斷結(jié)果;

根據(jù)判斷結(jié)果確定是否存儲所述至少兩個第一數(shù)據(jù)塊。

本發(fā)明實施例又提供了一種終端,包括:

輸入裝置,用于獲取待傳輸數(shù)據(jù);

第一處理器,用于根據(jù)數(shù)據(jù)內(nèi)容對所述待傳輸數(shù)據(jù)進行分塊處理,得到至少兩個第一數(shù)據(jù)塊;判斷所述至少兩個第一數(shù)據(jù)塊與服務器存儲的至少兩個第二數(shù)據(jù)塊是否相同;根據(jù)判斷結(jié)果確定是否將所述至少兩個第一數(shù)據(jù)塊發(fā)送至所述服務器。

本發(fā)明實施例還提供了一種服務器,包括:

接收器,用于接收至少兩個第二數(shù)據(jù)塊,其中,所述至少兩個第二數(shù)據(jù)塊與至少一個目標存儲數(shù)據(jù)對應;還用于接收至少兩個第一數(shù)據(jù)塊,其中,所述至少兩個第一數(shù)據(jù)塊是終端根據(jù)數(shù)據(jù)內(nèi)容對待傳輸數(shù)據(jù)進行劃分后得到的;

存儲器,用于以至少兩個第二數(shù)據(jù)塊形式存儲所述至少一個目標存儲數(shù)據(jù);

第二處理器,用于判斷所述至少兩個第一數(shù)據(jù)塊與自身存儲的所述至少兩個第二數(shù)據(jù)塊是否相同,得到判斷結(jié)果;根據(jù)判斷結(jié)果確定是否存儲所述至少兩個第一數(shù)據(jù)塊。

本發(fā)明實施例所述的數(shù)據(jù)去重方法及終端、服務器,通過終端基于數(shù)據(jù)內(nèi)容對待傳輸數(shù)據(jù)進行分塊處理,且在將分塊處理后得到的至少兩個第一數(shù)據(jù)塊 上傳至服務器前,判斷所述至少兩個第一數(shù)據(jù)塊與服務器存儲的至少兩個第二數(shù)據(jù)塊是否相同,進而根據(jù)判斷結(jié)果確定是否將所述至少兩個第一數(shù)據(jù)塊上傳至服務器;因此,與現(xiàn)有去重方法相比,能夠最大化的實現(xiàn)去重目的,節(jié)約服務器的存儲空間,降低服務器的存儲量,如本發(fā)明實施例所述的方法能夠使云存儲提供商的服務器中盡可能少地存儲相似數(shù)據(jù),進而為變相降低運營商的運營成本,變相提升用戶與云存儲提供商的服務器之間的網(wǎng)絡速度奠定了基礎。

附圖說明

圖1為本發(fā)明實施例數(shù)據(jù)去重方法的實現(xiàn)流程示意圖一;

圖2為現(xiàn)有去重方法的去重效果示意圖;

圖3為本發(fā)明實施例數(shù)據(jù)去重方法的去重效果示意圖;

圖4為本發(fā)明實施例數(shù)據(jù)去重方法的實現(xiàn)流程示意圖二;

圖5為本發(fā)明實施例具體應用場景示意圖;

圖6為本發(fā)明實施例基于數(shù)據(jù)內(nèi)容對所述待傳輸數(shù)據(jù)進行分塊處理的實現(xiàn)流程示意圖一;

圖7為本發(fā)明實施例基于數(shù)據(jù)內(nèi)容對所述待傳輸數(shù)據(jù)進行分塊處理的實現(xiàn)流程示意圖二;

圖8為本發(fā)明實施例終端的具體結(jié)構(gòu)示意圖;

圖9為本發(fā)明實施例服務器的具體結(jié)構(gòu)示意圖。

具體實施方式

為了能夠更加詳盡地了解本發(fā)明的特點與技術(shù)內(nèi)容,下面結(jié)合附圖對本發(fā)明的實現(xiàn)進行詳細闡述,所附附圖僅供參考說明之用,并非用來限定本發(fā)明。

實施例一

圖1為本發(fā)明實施例數(shù)據(jù)去重方法的實現(xiàn)流程示意圖一;所述方法應用于終端;如圖1所示,所述方法包括:

步驟101:獲取待傳輸數(shù)據(jù);

步驟102:根據(jù)數(shù)據(jù)內(nèi)容對所述待傳輸數(shù)據(jù)進行分塊處理,得到至少兩個第一數(shù)據(jù)塊;

步驟103:判斷所述至少兩個第一數(shù)據(jù)塊與服務器存儲的至少兩個第二數(shù)據(jù)塊是否相同;

本實施例中,所述服務器以數(shù)據(jù)塊形式存儲數(shù)據(jù);具體地,所述服務器存儲的所述至少兩個第二數(shù)據(jù)塊是任意終端根據(jù)數(shù)據(jù)內(nèi)容對目標存儲數(shù)據(jù)進行分塊處理后而得到的;也就是說,任意終端在將目標存儲數(shù)據(jù)上傳至服務器進行存儲之前,先采用步驟102的方式根據(jù)數(shù)據(jù)內(nèi)容對所述目標存儲數(shù)據(jù)進行分塊處理,進而得到至少兩個第二數(shù)據(jù)塊,隨后,該任意終端在確定出所述至少兩個第二數(shù)據(jù)塊未存儲于所述服務器中時,將所述至少兩個第二數(shù)據(jù)塊發(fā)送至所述服務器;所述服務器接收到所述至少兩個第二數(shù)據(jù)塊后,以數(shù)據(jù)塊形成存儲數(shù)據(jù),進而便于其他終端將待傳輸數(shù)據(jù)對應的至少兩個第一數(shù)據(jù)塊與所述服務器存儲的所述至少兩個第二數(shù)據(jù)塊進行比對,將所述至少兩個第一數(shù)據(jù)塊中的未存儲在所述服務器中的數(shù)據(jù)塊發(fā)送至服務器中,進而最大化實現(xiàn)去重效果,最大化地節(jié)省了服務器的存儲空間。

步驟104:根據(jù)判斷結(jié)果確定是否將所述至少兩個第一數(shù)據(jù)塊發(fā)送至所述服務器。

在一具體實施例中,步驟104可以具體為:根據(jù)判斷結(jié)果將所述至少兩個第一數(shù)據(jù)塊中的與所述服務器存儲的至少兩個第二數(shù)據(jù)塊不相同的第一數(shù)據(jù)塊發(fā)送至所述服務器;或者,根據(jù)判斷結(jié)果限制將所述至少兩個第一數(shù)據(jù)塊中的與所述服務器存儲的至少兩個第二數(shù)據(jù)塊相同的第一數(shù)據(jù)塊發(fā)送至所述服務器;也就是說,所述終端僅將所述服務器中未存儲的數(shù)據(jù)塊上傳至服務器,而不將所述服務器中已存儲的數(shù)據(jù)塊上傳至服務器,進而為服務器實現(xiàn)去重、節(jié)省存儲空間等目的奠定了基礎。進一步地,由于服務器以數(shù)據(jù)塊形式存儲數(shù)據(jù),所以,終端能夠在將待傳輸數(shù)據(jù)對應的至少兩個第一數(shù)據(jù)塊上傳至所述服務器前,先判斷是否與服務器存儲的至少兩個第二數(shù)據(jù)塊相同,進而再將與所述服務器存儲的所述至少兩個第二數(shù)據(jù)塊不相同的第一數(shù)據(jù)塊上傳至所述服務器, 為服務器不存儲重復數(shù)據(jù),節(jié)約存儲空間,最大化實現(xiàn)去重效果奠定了基礎。

以下結(jié)合圖2和圖3進一步說明本發(fā)明實施例的去重效果;具體地,

圖2為現(xiàn)有去重方法的去重效果示意圖;如圖2所示,現(xiàn)有終端將待傳輸數(shù)據(jù)上傳至服務器之前通常會按照固定數(shù)據(jù)量的分塊方式對該待傳輸數(shù)據(jù)進行切塊處理,比如按照每一數(shù)據(jù)塊為4mb的標準將待傳輸數(shù)據(jù)切分為三個數(shù)據(jù)塊,分別為數(shù)據(jù)塊a,數(shù)據(jù)塊b和數(shù)據(jù)塊c;分塊完成后,終端將所述待傳輸數(shù)據(jù)對應的數(shù)據(jù)塊a,數(shù)據(jù)塊b和數(shù)據(jù)塊c上傳至服務器。這時,當用戶對所述待傳輸數(shù)據(jù)進行部分修改后,欲重新將修改后的所述待傳輸數(shù)據(jù)上傳至所述服務器時,所述終端同樣會按照固定數(shù)據(jù)量的分塊方式對修改后的所述待傳輸數(shù)據(jù)進行切塊處理,得到數(shù)據(jù)塊a1、數(shù)據(jù)塊b1、數(shù)據(jù)塊c1和數(shù)據(jù)塊d;其中,圖2中的陰影部分為新增加數(shù)據(jù);這里,由于現(xiàn)有方式是按照固定數(shù)據(jù)量對待傳輸數(shù)據(jù)進行切塊處理的,又由于修改后的待傳輸數(shù)據(jù)增量了部分新數(shù)據(jù),所以,很容易出現(xiàn)修改位置處的數(shù)據(jù)塊、以及修改位置之后的數(shù)據(jù)塊全都不相同的情況,即對修改后的所述待傳輸數(shù)據(jù)進行切塊后得到的數(shù)據(jù)塊a1、數(shù)據(jù)塊b1、數(shù)據(jù)塊c1和數(shù)據(jù)塊d,與對修改前的所述待傳輸數(shù)據(jù)進行切塊后得到的數(shù)據(jù)塊a、數(shù)據(jù)塊b和數(shù)據(jù)塊c不相同;當終端欲將數(shù)據(jù)塊a1、數(shù)據(jù)塊b1、數(shù)據(jù)塊c1和數(shù)據(jù)塊d上傳至服務器時,由于服務器中未存儲有所述數(shù)據(jù)塊a1、數(shù)據(jù)塊b1、數(shù)據(jù)塊c1和數(shù)據(jù)塊d,所以,終端會將所有數(shù)據(jù)塊a1、數(shù)據(jù)塊b1、數(shù)據(jù)塊c1和數(shù)據(jù)塊d均上傳于服務器中,而此時上傳的所述數(shù)據(jù)塊a1、數(shù)據(jù)塊b1、數(shù)據(jù)塊c1和數(shù)據(jù)塊d與服務器存儲的所述數(shù)據(jù)塊a、數(shù)據(jù)塊b和數(shù)據(jù)塊c除新增數(shù)據(jù)不相同外,其余部分均相同;通過上述分析可以看出,現(xiàn)有去重方法容易出現(xiàn)數(shù)據(jù)塊重復上傳的問題,去重效果較差。

圖3為本發(fā)明實施例數(shù)據(jù)去重方法的去重效果示意圖;如圖3所示,終端基于數(shù)據(jù)內(nèi)容對待傳輸數(shù)據(jù)進行分塊處理,得到數(shù)據(jù)塊1、數(shù)據(jù)塊2、數(shù)據(jù)塊3、數(shù)據(jù)塊4、數(shù)據(jù)塊5、數(shù)據(jù)塊6和數(shù)據(jù)塊7;這里,由于是基于數(shù)據(jù)內(nèi)容對待傳輸數(shù)據(jù)進行分塊處理的,所以分塊處理后得到的數(shù)據(jù)塊的大小可能相同也可能不同。并在確定服務器中未存儲有上述數(shù)據(jù)塊的情況下,將待傳輸數(shù)據(jù)對應的 數(shù)據(jù)塊1至數(shù)據(jù)塊7上傳至服務器,并存儲于服務器中;這時,當用戶對所述待傳輸數(shù)據(jù)進行部分修改后,欲重新將修改后的所述待傳輸數(shù)據(jù)上傳至所述服務器時,所述終端同樣會基于數(shù)據(jù)內(nèi)容對修改后的所述待傳輸數(shù)據(jù)進行分塊處理,得到數(shù)據(jù)塊1、數(shù)據(jù)塊8、數(shù)據(jù)塊9、數(shù)據(jù)塊4、數(shù)據(jù)塊5、數(shù)據(jù)塊6和數(shù)據(jù)塊7;其中,數(shù)據(jù)塊8和數(shù)據(jù)塊9中的陰影部分表征新增加的數(shù)據(jù);這里,由于本發(fā)明實施例是基于數(shù)據(jù)內(nèi)容對修改后的所述待傳輸數(shù)據(jù)進行切塊處理的,因此,能夠盡可能地保證較多的數(shù)據(jù)塊對應相同,如修改后的待傳輸數(shù)據(jù)與修改前的待傳輸數(shù)據(jù)對應的相同的數(shù)據(jù)塊包括:數(shù)據(jù)塊1、數(shù)據(jù)塊4、數(shù)據(jù)塊5、數(shù)據(jù)塊6和數(shù)據(jù)塊7;進一步地,當終端欲將修改后的待傳輸數(shù)據(jù)對應的數(shù)據(jù)塊1、數(shù)據(jù)塊8、數(shù)據(jù)塊9、數(shù)據(jù)塊4、數(shù)據(jù)塊5、數(shù)據(jù)塊6和數(shù)據(jù)塊7上傳至服務器時,由于服務器已經(jīng)存儲有所述數(shù)據(jù)塊1、數(shù)據(jù)塊4、數(shù)據(jù)塊5、數(shù)據(jù)塊6和數(shù)據(jù)塊7,所以,終端只需將服務器中未存儲的數(shù)據(jù)塊8和數(shù)據(jù)塊9上傳至服務器即可,無需將修改后的待傳輸數(shù)據(jù)對應的所有數(shù)據(jù)塊均上傳至服務器;因此,與現(xiàn)有去重方法相比,本實施例所述方法能夠達到很好的去重效果,且能夠很好地應對文件增刪查改的情況,如僅對待傳輸數(shù)據(jù)的部分數(shù)據(jù)進行修改的情況下,本發(fā)明實施例能夠最大化地實現(xiàn)去重目的,節(jié)約了服務器的存儲空間,如節(jié)約了數(shù)據(jù)塊1、數(shù)據(jù)塊4、數(shù)據(jù)塊5、數(shù)據(jù)塊6和數(shù)據(jù)塊7對應的存儲空間,降低了服務器的存儲量,進而為降低運營商的運營成本,提升用戶與云存儲提供商的服務器之間的網(wǎng)絡速度奠定了實踐基礎。

另外,本發(fā)明實施例還能夠減少終端與服務器之間的數(shù)據(jù)傳輸量,進而降低了服務器提供商的運營成本;同時,縮短了用戶上傳數(shù)據(jù)的時間,提升了用戶的使用體驗。

本實施例中,由于所述服務器是以數(shù)據(jù)塊形式存儲數(shù)據(jù)的,所以,為便于終端向服務器去獲取待傳輸數(shù)據(jù),所述方法還包括:終端基于所述待傳輸數(shù)據(jù)與所述至少兩個第一數(shù)據(jù)塊之間的數(shù)據(jù)關系,設置映射關系列表;這里,所述映射關系列表表征有所述待傳輸數(shù)據(jù)與所述至少兩個第一數(shù)據(jù)塊的對應關系,例如所述映射關系列表中包含有待傳輸數(shù)據(jù)的數(shù)據(jù)標識、與至少兩個第一數(shù)據(jù) 塊的數(shù)據(jù)標識的對應關系,且該對應關系還表征了所述至少兩個第一數(shù)據(jù)塊在所述待傳輸數(shù)據(jù)中的位置。進而當所述終端將所述映射關系列表發(fā)送至所述服務器中時,所述服務器能夠基于所述映射關系列表從自身存儲的數(shù)據(jù)塊中選取出所述至少兩個第一數(shù)據(jù)塊以組成所述待傳輸數(shù)據(jù),實現(xiàn)終端向服務器去獲取待傳輸數(shù)據(jù)的目的。

本發(fā)明實施例所述的方法,通過終端基于數(shù)據(jù)內(nèi)容對待傳輸數(shù)據(jù)進行分塊處理,且在將分塊處理后得到的至少兩個第一數(shù)據(jù)塊上傳至服務器前,判斷所述至少兩個第一數(shù)據(jù)塊與服務器存儲的至少兩個第二數(shù)據(jù)塊是否相同,進而根據(jù)判斷結(jié)果確定是否將所述至少兩個第一數(shù)據(jù)塊上傳至服務器;因此,與現(xiàn)有去重方法相比,能夠最大化的實現(xiàn)去重目的,節(jié)約服務器的存儲空間,降低服務器的存儲量,如本發(fā)明實施例所述的方法能夠使云存儲提供商的服務器中盡可能少地存儲相似數(shù)據(jù),進而為變相降低運營商的運營成本,變相提升用戶與云存儲提供商的服務器之間的網(wǎng)絡速度奠定了基礎。

實施例二

圖4為本發(fā)明實施例數(shù)據(jù)去重方法的實現(xiàn)流程示意圖二;所述方法應用于終端;如圖4所示,所述方法包括:

步驟401:獲取待傳輸數(shù)據(jù);

步驟402:根據(jù)數(shù)據(jù)內(nèi)容對所述待傳輸數(shù)據(jù)進行分塊處理,得到至少兩個第一數(shù)據(jù)塊;

步驟403:計算所述至少兩個第一數(shù)據(jù)塊所對應的特征值;

步驟404:基于所述至少兩個第一數(shù)據(jù)塊所對應的特征值,判斷所述至少兩個第一數(shù)據(jù)塊與服務器存儲的至少兩個第二數(shù)據(jù)塊是否相同;

在一具體實施例中,所述終端并非直接判斷所述至少兩個第一數(shù)據(jù)塊與服務器存儲的至少兩個第二數(shù)據(jù)塊是否相同,而且,將所述至少兩個第一數(shù)據(jù)塊所對應的特征值發(fā)送至服務器中,使所述服務器去判斷至少兩個第一數(shù)據(jù)塊與服務器存儲的至少兩個第二數(shù)據(jù)塊是否相同;具體地,所述終端將所述至少兩 個第一數(shù)據(jù)塊所對應的特征值發(fā)送至所述服務器,以使所述服務器根據(jù)接收到的所述至少兩個第一數(shù)據(jù)塊所對應的特征值判斷是否與自身存儲的所述至少兩個第二數(shù)據(jù)塊相同。進一步地,所述服務器將得到的判斷結(jié)果發(fā)送至所述終端,進而使所述終端根據(jù)判斷結(jié)果確定是否將所述至少兩個第一數(shù)據(jù)塊發(fā)送至所述服務器。

本實施例中,所述服務器以數(shù)據(jù)塊形式存儲數(shù)據(jù);具體地,所述服務器存儲的所述至少兩個第二數(shù)據(jù)塊是任意終端根據(jù)數(shù)據(jù)內(nèi)容對目標存儲數(shù)據(jù)進行分塊處理后而得到的;也就是說,任意終端在將目標存儲數(shù)據(jù)上傳至服務器進行存儲之前,先采用步驟402的方式根據(jù)數(shù)據(jù)內(nèi)容對所述目標存儲數(shù)據(jù)進行分塊處理,進而得到至少兩個第二數(shù)據(jù)塊,隨后,該任意終端在確定出所述至少兩個第二數(shù)據(jù)塊未存儲于所述服務器中時,將所述至少兩個第二數(shù)據(jù)塊發(fā)送至所述服務器;所述服務器接收到所述至少兩個第二數(shù)據(jù)塊后,以數(shù)據(jù)塊形成存儲數(shù)據(jù),進而便于其他終端將待傳輸數(shù)據(jù)對應的至少兩個第一數(shù)據(jù)塊與所述服務器存儲的所述至少兩個第二數(shù)據(jù)塊進行比對,將所述至少兩個第一數(shù)據(jù)塊中的未存儲在所述服務器中的數(shù)據(jù)塊發(fā)送至服務器中,進而最大化實現(xiàn)去重效果,最大化地節(jié)省了服務器的存儲空間。

步驟405:根據(jù)判斷結(jié)果確定是否將所述至少兩個第一數(shù)據(jù)塊發(fā)送至所述服務器。

在一具體實施例中,步驟104可以具體為:根據(jù)判斷結(jié)果將所述至少兩個第一數(shù)據(jù)塊中的與所述服務器存儲的至少兩個第二數(shù)據(jù)塊不相同的第一數(shù)據(jù)塊發(fā)送至所述服務器;或者,根據(jù)判斷結(jié)果限制將所述至少兩個第一數(shù)據(jù)塊中的與所述服務器存儲的至少兩個第二數(shù)據(jù)塊相同的第一數(shù)據(jù)塊發(fā)送至所述服務器;也就是說,所述終端僅將所述服務器中未存儲的數(shù)據(jù)塊上傳至服務器,而不將所述服務器中已存儲的數(shù)據(jù)塊上傳至服務器,進而為服務器實現(xiàn)去重、節(jié)省存儲空間等目的奠定了基礎。進一步地,由于服務器以數(shù)據(jù)塊形式存儲數(shù)據(jù),所以,終端能夠在將待傳輸數(shù)據(jù)對應的至少兩個第一數(shù)據(jù)塊上傳至所述服務器前,先判斷是否與服務器存儲的至少兩個第二數(shù)據(jù)塊相同,進而再將與所述服 務器存儲的所述至少兩個第二數(shù)據(jù)塊不相同的第一數(shù)據(jù)塊上傳至所述服務器,為服務器不存儲重復數(shù)據(jù),節(jié)約存儲空間,最大化實現(xiàn)去重效果奠定了基礎。

以下結(jié)合圖2、圖3和圖5進一步說明本發(fā)明實施例的去重效果;具體地,

圖2為現(xiàn)有去重方法的去重效果示意圖;如圖2所示,現(xiàn)有終端將待傳輸數(shù)據(jù)上傳至服務器之前通常會按照固定數(shù)據(jù)量的分塊方式對該待傳輸數(shù)據(jù)進行切塊處理,比如按照每一數(shù)據(jù)塊為4mb的標準將待傳輸數(shù)據(jù)切分為三個數(shù)據(jù)塊,分別為數(shù)據(jù)塊a,數(shù)據(jù)塊b和數(shù)據(jù)塊c;分塊完成后,終端將所述待傳輸數(shù)據(jù)對應的數(shù)據(jù)塊a,數(shù)據(jù)塊b和數(shù)據(jù)塊c上傳至服務器。這時,當用戶對所述待傳輸數(shù)據(jù)進行部分修改后,欲重新將修改后的所述待傳輸數(shù)據(jù)上傳至所述服務器時,所述終端同樣會按照固定數(shù)據(jù)量的分塊方式對修改后的所述待傳輸數(shù)據(jù)進行切塊處理,得到數(shù)據(jù)塊a1、數(shù)據(jù)塊b1、數(shù)據(jù)塊c1和數(shù)據(jù)塊d;其中,圖2中的陰影部分為新增加數(shù)據(jù);這里,由于現(xiàn)有方式是按照固定數(shù)據(jù)量對待傳輸數(shù)據(jù)進行切塊處理的,又由于修改后的待傳輸數(shù)據(jù)增量了部分新數(shù)據(jù),所以,很容易出現(xiàn)修改位置處的數(shù)據(jù)塊、以及修改位置之后的數(shù)據(jù)塊全都不相同的情況,即對修改后的所述待傳輸數(shù)據(jù)進行切塊后得到的數(shù)據(jù)塊a1、數(shù)據(jù)塊b1、數(shù)據(jù)塊c1和數(shù)據(jù)塊d,與對修改前的所述待傳輸數(shù)據(jù)進行切塊后得到的數(shù)據(jù)塊a、數(shù)據(jù)塊b和數(shù)據(jù)塊c不相同;當終端欲將數(shù)據(jù)塊a1、數(shù)據(jù)塊b1、數(shù)據(jù)塊c1和數(shù)據(jù)塊d上傳至服務器時,由于服務器中未存儲有所述數(shù)據(jù)塊a1、數(shù)據(jù)塊b1、數(shù)據(jù)塊c1和數(shù)據(jù)塊d,所以,終端會將所有數(shù)據(jù)塊a1、數(shù)據(jù)塊b1、數(shù)據(jù)塊c1和數(shù)據(jù)塊d均上傳于服務器中,而此時上傳的所述數(shù)據(jù)塊a1、數(shù)據(jù)塊b1、數(shù)據(jù)塊c1和數(shù)據(jù)塊d與服務器存儲的所述數(shù)據(jù)塊a、數(shù)據(jù)塊b和數(shù)據(jù)塊c除新增數(shù)據(jù)不相同外,其余部分均相同;通過上述分析可以看出,現(xiàn)有去重方法容易出現(xiàn)數(shù)據(jù)塊重復上傳的問題,去重效果較差。

圖3為本發(fā)明實施例數(shù)據(jù)去重方法的去重效果示意圖;如圖3所示,終端基于數(shù)據(jù)內(nèi)容對待傳輸數(shù)據(jù)進行分塊處理,得到數(shù)據(jù)塊1、數(shù)據(jù)塊2、數(shù)據(jù)塊3、數(shù)據(jù)塊4、數(shù)據(jù)塊5、數(shù)據(jù)塊6和數(shù)據(jù)塊7;這里,由于是基于數(shù)據(jù)內(nèi)容對待傳輸數(shù)據(jù)進行分塊處理的,所以分塊處理后得到的數(shù)據(jù)塊的大小可能相同也可能 不同。并在確定服務器中未存儲有上述數(shù)據(jù)塊的情況下,將待傳輸數(shù)據(jù)對應的數(shù)據(jù)塊1至數(shù)據(jù)塊7上傳至服務器,并存儲于服務器中;這時,當用戶對所述待傳輸數(shù)據(jù)進行部分修改后,欲重新將修改后的所述待傳輸數(shù)據(jù)上傳至所述服務器時,所述終端同樣會基于數(shù)據(jù)內(nèi)容對修改后的所述待傳輸數(shù)據(jù)進行分塊處理,得到數(shù)據(jù)塊1、數(shù)據(jù)塊8、數(shù)據(jù)塊9、數(shù)據(jù)塊4、數(shù)據(jù)塊5、數(shù)據(jù)塊6和數(shù)據(jù)塊7;其中,數(shù)據(jù)塊8和數(shù)據(jù)塊9中的陰影部分表征新增加的數(shù)據(jù);這里,由于本發(fā)明實施例是基于數(shù)據(jù)內(nèi)容對修改后的所述待傳輸數(shù)據(jù)進行切塊處理的,因此,能夠盡可能地保證較多的數(shù)據(jù)塊對應相同,如修改后的待傳輸數(shù)據(jù)與修改前的待傳輸數(shù)據(jù)對應的相同的數(shù)據(jù)塊包括:數(shù)據(jù)塊1、數(shù)據(jù)塊4、數(shù)據(jù)塊5、數(shù)據(jù)塊6和數(shù)據(jù)塊7;進一步地,當終端欲將修改后的待傳輸數(shù)據(jù)對應的數(shù)據(jù)塊1、數(shù)據(jù)塊8、數(shù)據(jù)塊9、數(shù)據(jù)塊4、數(shù)據(jù)塊5、數(shù)據(jù)塊6和數(shù)據(jù)塊7上傳至服務器時,由于服務器已經(jīng)存儲有所述數(shù)據(jù)塊1、數(shù)據(jù)塊4、數(shù)據(jù)塊5、數(shù)據(jù)塊6和數(shù)據(jù)塊7,所以,終端只需將服務器中未存儲的數(shù)據(jù)塊8和數(shù)據(jù)塊9上傳至服務器即可,無需將修改后的待傳輸數(shù)據(jù)對應的所有數(shù)據(jù)塊均上傳至服務器;因此,與現(xiàn)有去重方法相比,本實施例所述方法能夠達到很好的去重效果,且能夠很好地應對文件增刪查改的情況,如僅對待傳輸數(shù)據(jù)的部分數(shù)據(jù)進行修改的情況下,本發(fā)明實施例能夠最大化地實現(xiàn)去重目的,節(jié)約了服務器的存儲空間,如節(jié)約了數(shù)據(jù)塊1、數(shù)據(jù)塊4、數(shù)據(jù)塊5、數(shù)據(jù)塊6和數(shù)據(jù)塊7對應的存儲空間,降低了服務器的存儲量,進而為降低運營商的運營成本,提升用戶與云存儲提供商的服務器之間的網(wǎng)絡速度奠定了實踐基礎。

在本實施例中,所述終端基于數(shù)據(jù)內(nèi)容將待傳輸數(shù)據(jù)進行分塊處理,得到數(shù)據(jù)量大小不固定的至少兩個第一數(shù)據(jù)塊后,計算所述至少兩個第一數(shù)據(jù)塊所對應的特征值,例如,計算所述至少兩個第一數(shù)據(jù)塊所對應的哈希值,并將所述至少兩個第一數(shù)據(jù)塊所對應的哈希值發(fā)送至所述服務器,以使所述服務器根據(jù)接收到的所述至少兩個第一數(shù)據(jù)塊所對應的哈希值判斷是否與自身存儲的所述至少兩個第二數(shù)據(jù)塊相同,隨后,所述服務器將判斷結(jié)果反饋至所述終端,以便于所述終端僅上傳所述服務器中未存儲的數(shù)據(jù)塊;因此,本實施例所述方 法能夠達到很好的去重效果,且能夠很好地應對文件增刪查改的情況。

另外,本發(fā)明實施例還能夠減少終端與服務器之間的數(shù)據(jù)傳輸量,進而降低了服務器提供商的運營成本;同時,縮短了用戶上傳數(shù)據(jù)的時間,提升了用戶的使用體驗。

圖5為本發(fā)明實施例具體應用場景示意圖;基于如圖5所示的應用場景,本實施例中,終端向服務器上傳待傳輸數(shù)據(jù)的傳輸流程具體為:

步驟a:終端使用基于內(nèi)容的數(shù)據(jù)分片算法,基于數(shù)據(jù)內(nèi)容對待傳輸數(shù)據(jù)進行分塊處理,得到至少兩個第一數(shù)據(jù)塊;并計算所述至少兩個第一數(shù)據(jù)塊對應的哈希值,將所述至少兩個第一數(shù)據(jù)塊對應的哈希值存儲到待處理隊列中;

步驟b:從待處理隊列中取出第一個第一數(shù)據(jù)塊對應的哈希值,通過第一接口,例如chunksquery接口上傳至服務器,以通過所述服務器去判斷第一個第一數(shù)據(jù)塊是否已存儲于所述服務器中;如果終端基于所述服務器反饋的判斷結(jié)果確定出所述服務器未存儲有所述第一個第一數(shù)據(jù)塊時,則終端通過第二接口,例如chunkput接口將所述第一個第一數(shù)據(jù)塊上傳服務器;

步驟c:判斷所述待處理隊列是否為空;若是,執(zhí)行步驟d;否則執(zhí)行步驟b;

步驟d:所述終端調(diào)用第三接口,例如filemake接口確認所述待傳輸數(shù)據(jù)上傳完畢。這里,所述終端再調(diào)用filemake接口時,需要告知所述服務器所述待傳輸數(shù)據(jù)是由哪些數(shù)據(jù)塊組成的,數(shù)據(jù)塊的排列順序是怎樣的,這樣,便于服務器從自身存儲的數(shù)據(jù)塊中提取出組成所述待傳輸數(shù)據(jù)的數(shù)據(jù)塊。

需要注意的是,在云存儲系統(tǒng)的實現(xiàn)中,為安全考慮,可以僅作針對每一用戶的數(shù)據(jù)去重,不做跨用戶之間的數(shù)據(jù)去重。

本實施例中,由于所述服務器是以數(shù)據(jù)塊形式存儲數(shù)據(jù)的,所以,為便于終端向服務器去獲取待傳輸數(shù)據(jù),所述方法還包括:終端基于所述待傳輸數(shù)據(jù)與所述至少兩個第一數(shù)據(jù)塊之間的數(shù)據(jù)關系,設置映射關系列表;這里,所述映射關系列表表征有所述待傳輸數(shù)據(jù)與所述至少兩個第一數(shù)據(jù)塊的對應關系,例如所述映射關系列表中包含有待傳輸數(shù)據(jù)的數(shù)據(jù)標識、與至少兩個第一數(shù)據(jù) 塊的數(shù)據(jù)標識的對應關系,且該對應關系還表征了所述至少兩個第一數(shù)據(jù)塊在所述待傳輸數(shù)據(jù)中的位置。進而當所述終端將所述映射關系列表發(fā)送至所述服務器中時,所述服務器能夠基于所述映射關系列表從自身存儲的數(shù)據(jù)塊中選取出所述至少兩個第一數(shù)據(jù)塊以組成所述待傳輸數(shù)據(jù),實現(xiàn)終端向服務器去獲取待傳輸數(shù)據(jù)的目的。

本發(fā)明實施例所述的方法,通過終端基于數(shù)據(jù)內(nèi)容對待傳輸數(shù)據(jù)進行分塊處理,且在將分塊處理后得到的至少兩個第一數(shù)據(jù)塊上傳至服務器前,判斷所述至少兩個第一數(shù)據(jù)塊與服務器存儲的至少兩個第二數(shù)據(jù)塊是否相同,進而根據(jù)判斷結(jié)果確定是否將所述至少兩個第一數(shù)據(jù)塊上傳至服務器;因此,與現(xiàn)有去重方法相比,能夠最大化的實現(xiàn)去重目的,節(jié)約服務器的存儲空間,降低服務器的存儲量,如本發(fā)明實施例所述的方法能夠使云存儲提供商的服務器中盡可能少地存儲相似數(shù)據(jù),進而為變相降低運營商的運營成本,變相提升用戶與云存儲提供商的服務器之間的網(wǎng)絡速度奠定了基礎。

實施例三

基于實施例一或?qū)嵤├龅姆椒?,本發(fā)明實施例提供了一種基于數(shù)據(jù)內(nèi)容對所述待傳輸數(shù)據(jù)進行分塊處理的具體方法。如圖6所示,所述實施例一步驟102或?qū)嵤├襟E402具體包括:

步驟601:在所述待傳輸數(shù)據(jù)中選取出目標子數(shù)據(jù);

步驟602:計算所述目標子數(shù)據(jù)對應的特征值;

在實際應用中,所述特征值可以具體為哈希值,例如,計算所述目標子數(shù)據(jù)對應的哈希值。

這里,為便于控制對所述待傳輸數(shù)據(jù)進行分塊處理后得到的每一數(shù)據(jù)塊的數(shù)據(jù)量,本實施例中,可以提前設置預設數(shù)據(jù)量,進而將分塊處理后得到的所述至少兩個第一數(shù)據(jù)塊中的每一個第一數(shù)據(jù)塊的數(shù)據(jù)量控制在所述預設數(shù)據(jù)量左右。

步驟603:基于所述目標子數(shù)據(jù)對應的特征值以及預期數(shù)據(jù)量之間的數(shù)據(jù) 關系,對所述待傳輸數(shù)據(jù)進行分塊處理,得到至少兩個第一數(shù)據(jù)塊。

這里,所述目標子數(shù)據(jù)的數(shù)據(jù)量小于等于所述預設數(shù)據(jù)量。

在一具體實施例中,所述步驟603可以具體為:對所述目標子數(shù)據(jù)對應的特征值和預期數(shù)據(jù)量進行取模運算,得到第一運算結(jié)果;判斷所述第一運算結(jié)果是否滿足預設規(guī)則;基于判斷結(jié)果對所述待傳輸數(shù)據(jù)進行分塊處理,得到至少兩個第一數(shù)據(jù)塊。例如,對所述目標子數(shù)據(jù)對應的哈希值和預設數(shù)據(jù)量進行取模運算,得到第一運算結(jié)果,判斷所述第一運算結(jié)果是否等于預設閾值,進而基于判斷結(jié)果確定是否在所述目標子數(shù)據(jù)處對所述待傳輸數(shù)據(jù)進行分塊處理,這樣,基于該分塊方式得到至少兩個第一數(shù)據(jù)塊。

具體地,所述基于判斷結(jié)果對所述待傳輸數(shù)據(jù)進行分塊處理,得到至少兩個第一數(shù)據(jù)塊,包括:

當所述第一運算結(jié)果滿足所述預設規(guī)則時,例如,所述第一運算結(jié)果等于所述預設閾值時,將當前所述目標子數(shù)據(jù)作為分塊界限,對所述待傳輸數(shù)據(jù)進行分塊,得到第一個第一數(shù)據(jù)塊;

按照該分塊方式,對所述待傳輸數(shù)據(jù)中除所述第一個第一數(shù)據(jù)塊以外的至少部分其他數(shù)據(jù)進行分塊處理,以最終得到至少兩個第一數(shù)據(jù)塊。

或者,當所述第一運算結(jié)果不滿足所述預設規(guī)則時,例如,所述第一運算結(jié)果不等于所述預設閾值時,從所述待傳輸數(shù)據(jù)中重新選取出目標子數(shù)據(jù),以使重新選取出的目標子數(shù)據(jù)與未重新選取前的目標子數(shù)據(jù)部分相同;在一優(yōu)選實施例中,使重新選取出的目標子數(shù)據(jù)與未重新選取前的目標子數(shù)據(jù)最大可能地相同,如僅相差一個字節(jié);進一步地,在實際應用中,為便于重新選取出目標子數(shù)據(jù),且使重新選取出的目標子數(shù)據(jù)與未重新選取前的目標子數(shù)據(jù)最大可能地相同,可以將未重新選取前的目標子數(shù)據(jù)向有移動一個字節(jié),進而滿足重新選取出的目標子數(shù)據(jù)與未重新選取前的目標子數(shù)據(jù)部分相同的要求,即僅相差一個字節(jié);

進一步地,計算重新選取出的目標子數(shù)據(jù)對應的特征值;基于重新選取出的目標子數(shù)據(jù)對應的特征值以及所述預期數(shù)據(jù)量之間的數(shù)據(jù)關系,對所述待傳 輸數(shù)據(jù)進行分塊處理,得到至少兩個第一數(shù)據(jù)塊。例如,對重新選取出的目標子數(shù)據(jù)對應的哈希值和所述預期數(shù)據(jù)量進行取模運算,得到第一運算結(jié)果;判斷第一運算結(jié)果是否滿足預設規(guī)則;進而基于判斷結(jié)果確定是否在重新選取后的所述目標子數(shù)據(jù)處對所述待傳輸數(shù)據(jù)進行分塊處理。

以下給出具體實施例對本發(fā)明實施例基于數(shù)據(jù)內(nèi)容對待傳輸數(shù)據(jù)的分塊處理的流程做進一步詳細說明:

假設待傳輸數(shù)據(jù)的數(shù)據(jù)流為f個字節(jié),且預期基于數(shù)據(jù)內(nèi)容將所述f個字節(jié)劃分為平均大小為n個字節(jié)的數(shù)據(jù)塊,也就是說,將所述待傳輸數(shù)據(jù)進行分塊處理后得到的每一個第一數(shù)據(jù)塊控制在n個字節(jié)左右。這里,所述f為大于等于2的正整數(shù),所述n和w為大于等于1的正整數(shù);所述w小于等于n;此時,該流程具體為:

步驟701:設定目標子數(shù)據(jù),也即滑動窗口,使所述滑動窗口的數(shù)據(jù)量大小為w個字節(jié);在所述待傳輸數(shù)據(jù)對應的f個字節(jié)中選取出前w個字節(jié)作為當前窗口w,執(zhí)行步驟702;

步驟702:使用哈希算法h,計算當前窗口w的哈希值h(w),判斷h(w)modn后得到的第一運算結(jié)果是否等于預設閾值;當?shù)扔谒鲱A設閾值時,執(zhí)行步驟703;否則,執(zhí)行步驟704;

這里,所述預設閾值為具體為0至n-1中的任一值。

步驟703:將當前窗口w作為分界,對所述待傳輸數(shù)據(jù)進行分塊處理,并將當前窗口w對應的w個字節(jié)作為切分出的一個第一數(shù)據(jù)塊的最后w個字節(jié),進而得到一個第一數(shù)據(jù)塊;將滑動窗口在數(shù)據(jù)流中向后移動w個字節(jié),生成新的當前窗口w,并執(zhí)行步驟702;這里,若數(shù)據(jù)流中剩余字節(jié)數(shù)不足w字節(jié)時,分塊過程結(jié)束;

步驟704:將滑動窗口在數(shù)據(jù)流中向后移動1個字節(jié),生成新的當前窗口w,并執(zhí)行步驟702,這里,若數(shù)據(jù)流中剩余字節(jié)數(shù)不足w字節(jié)時,分塊過程結(jié)束。

這里,值得注意的是,以上算法中的滑動窗口大小w,哈希算法h均有多 種選擇,在實際應用中,可以根據(jù)實際情況進行調(diào)優(yōu)。

實施例四

本發(fā)明實施例還提供了一種應用于服務器的數(shù)據(jù)去重方法,所述方法包括:

步驟801:接收至少兩個第二數(shù)據(jù)塊,其中,所述至少兩個第二數(shù)據(jù)塊與至少一個目標存儲數(shù)據(jù)對應;

步驟802:以至少兩個第二數(shù)據(jù)塊形式存儲所述至少一個目標存儲數(shù)據(jù);

步驟803:接收至少兩個第一數(shù)據(jù)塊,其中,所述至少兩個第一數(shù)據(jù)塊是終端根據(jù)數(shù)據(jù)內(nèi)容對待傳輸數(shù)據(jù)進行劃分后得到的;

步驟804:判斷所述至少兩個第一數(shù)據(jù)塊與自身存儲的所述至少兩個第二數(shù)據(jù)塊是否相同,得到判斷結(jié)果;

步驟805:根據(jù)判斷結(jié)果確定是否存儲所述至少兩個第一數(shù)據(jù)塊。

在一具體實施例中,步驟801可以具體為:接收所述至少兩個第一數(shù)據(jù)塊所對應的特征值;

對應地,步驟804具體為:基于所述至少兩個第一數(shù)據(jù)塊所對應的特征值,判斷所述至少兩個第一數(shù)據(jù)塊與自身存儲的所述至少兩個第二數(shù)據(jù)塊是否相同,得到判斷結(jié)果。

本實施例中,所述根據(jù)判斷結(jié)果確定是否存儲所述至少兩個第一數(shù)據(jù)塊,包括:根據(jù)判斷結(jié)果接收并存儲所述至少兩個第一數(shù)據(jù)塊中與所述至少兩個第二數(shù)據(jù)塊不相同的第一數(shù)據(jù)塊。

本實施例中,所述方法還包括:接收映射關系列表,其中,所述映射關系列表表征所述待傳輸數(shù)據(jù)與所述至少兩個第一數(shù)據(jù)塊之間的數(shù)據(jù)關系;基于所述映射關系列表從自身存儲的數(shù)據(jù)塊中選取出所述至少兩個第一數(shù)據(jù)塊,以組成所述待傳輸數(shù)據(jù)。

本領域技術(shù)人員應當理解,本實施例所述服務器為實施例一至實施例三所述的服務器,因此,本實施例所述方法可以參照實施例一至實施例三的有關描述而理解,這里不再贅述。

實施例五

為實現(xiàn)實施例一至實施例三任一項所述的方法,本發(fā)明實施例還提供了一種終端,如圖8所示,所述終端包括:

輸入裝置81,用于獲取待傳輸數(shù)據(jù);

第一處理器82,用于根據(jù)數(shù)據(jù)內(nèi)容對所述待傳輸數(shù)據(jù)進行分塊處理,得到至少兩個第一數(shù)據(jù)塊;判斷所述至少兩個第一數(shù)據(jù)塊與服務器存儲的至少兩個第二數(shù)據(jù)塊是否相同;根據(jù)判斷結(jié)果確定是否將所述至少兩個第一數(shù)據(jù)塊發(fā)送至所述服務器。

本實施例中,所述第一處理器82,還用于計算所述至少兩個第一數(shù)據(jù)塊所對應的特征值;基于所述至少兩個第一數(shù)據(jù)塊所對應的特征值,判斷所述至少兩個第一數(shù)據(jù)塊與服務器存儲的至少兩個第二數(shù)據(jù)塊是否相同。

本實施例中,所述終端,還包括:

發(fā)射器83,用于將所述至少兩個第一數(shù)據(jù)塊所對應的特征值發(fā)送至所述服務器,以使所述服務器根據(jù)接收到的所述至少兩個第一數(shù)據(jù)塊所對應的特征值判斷是否與自身存儲的所述至少兩個第二數(shù)據(jù)塊相同。

本實施例中,所述發(fā)射器83,還用于根據(jù)判斷結(jié)果將所述至少兩個第一數(shù)據(jù)塊中的與所述服務器存儲的至少兩個第二數(shù)據(jù)塊不相同的第一數(shù)據(jù)塊發(fā)送至所述服務器。

本實施例中,所述第一處理器82,還用于基于所述待傳輸數(shù)據(jù)與所述至少兩個第一數(shù)據(jù)塊之間的數(shù)據(jù)關系,設置映射關系列表;

所述發(fā)射器83,還用于將所述映射關系列表發(fā)送至所述服務器,以便于所述服務器基于所述映射關系列表從自身存儲的數(shù)據(jù)塊中選取出所述至少兩個第一數(shù)據(jù)塊組成所述待傳輸數(shù)據(jù)。

本實施例中,所述第一處理器82,還用于在所述待傳輸數(shù)據(jù)中選取出目標子數(shù)據(jù);計算所述目標子數(shù)據(jù)對應的特征值;基于所述目標子數(shù)據(jù)對應的特征值以及預期數(shù)據(jù)量之間的數(shù)據(jù)關系,對所述待傳輸數(shù)據(jù)進行分塊處理,得到至少兩個第一數(shù)據(jù)塊。

本實施例中,所述第一處理器82,還用于對所述目標子數(shù)據(jù)對應的特征值和預期數(shù)據(jù)量進行取模運算,得到第一運算結(jié)果;判斷所述第一運算結(jié)果是否滿足預設規(guī)則;基于判斷結(jié)果對所述待傳輸數(shù)據(jù)進行分塊處理,得到至少兩個第一數(shù)據(jù)塊。

本實施例中,所述第一處理器82,還用于當所述第一運算結(jié)果滿足所述預設規(guī)則時,將當前所述目標子數(shù)據(jù)作為分塊界限,對所述待傳輸數(shù)據(jù)進行分塊,得到第一個第一數(shù)據(jù)塊;對所述待傳輸數(shù)據(jù)中除所述第一個第一數(shù)據(jù)塊以外的至少部分其他數(shù)據(jù)進行分塊處理,以最終得到至少兩個第一數(shù)據(jù)塊。

本實施例中,所述第一處理器82,還用于當所述第一運算結(jié)果不滿足所述預設規(guī)則時,從所述待傳輸數(shù)據(jù)中重新選取出目標子數(shù)據(jù),以使重新選取出的目標子數(shù)據(jù)與未重新選取前的目標子數(shù)據(jù)部分相同;計算重新選取出的目標子數(shù)據(jù)對應的特征值;基于重新選取出的目標子數(shù)據(jù)對應的特征值以及所述預期數(shù)據(jù)量之間的數(shù)據(jù)關系,對所述待傳輸數(shù)據(jù)進行分塊處理,得到至少兩個第一數(shù)據(jù)塊。

本領域技術(shù)人員應當理解,本發(fā)明實施例的終端中各處理單元的功能,可參照前述實施例一至實施例三所述的數(shù)據(jù)去重方法的相關描述而理解,這里不再贅述。

實施例六

為實現(xiàn)實施例四所述的方法,本發(fā)明實施例還提供了一種服務器,如圖9所示,所述服務器包括:

接收器91,用于接收至少兩個第二數(shù)據(jù)塊,其中,所述至少兩個第二數(shù)據(jù)塊與至少一個目標存儲數(shù)據(jù)對應;還用于接收至少兩個第一數(shù)據(jù)塊,其中,所述至少兩個第一數(shù)據(jù)塊是終端根據(jù)數(shù)據(jù)內(nèi)容對待傳輸數(shù)據(jù)進行劃分后得到的;

存儲器92,用于以至少兩個第二數(shù)據(jù)塊形式存儲所述至少一個目標存儲數(shù)據(jù);

第二處理器93,用于判斷所述至少兩個第一數(shù)據(jù)塊與自身存儲的所述至少 兩個第二數(shù)據(jù)塊是否相同,得到判斷結(jié)果;根據(jù)判斷結(jié)果確定是否存儲所述至少兩個第一數(shù)據(jù)塊。

本實施例中,所述接收器91,還用于接收所述至少兩個第一數(shù)據(jù)塊所對應的特征值;

所述第二處理器93,還用于基于所述至少兩個第一數(shù)據(jù)塊所對應的特征值,判斷所述至少兩個第一數(shù)據(jù)塊與自身存儲的所述至少兩個第二數(shù)據(jù)塊是否相同,得到判斷結(jié)果。

本實施例中,所述存儲器92,還用于根據(jù)判斷結(jié)果存儲所述至少兩個第一數(shù)據(jù)塊中與所述至少兩個第二數(shù)據(jù)塊不相同的第一數(shù)據(jù)塊。

本實施例中,所述接收器91,還用于接收映射關系列表,其中,所述映射關系列表表征所述待傳輸數(shù)據(jù)與所述至少兩個第一數(shù)據(jù)塊之間的數(shù)據(jù)關系;

所述第二處理器93,還用于基于所述映射關系列表從自身存儲的數(shù)據(jù)塊中選取出所述至少兩個第一數(shù)據(jù)塊,以組成所述待傳輸數(shù)據(jù)。

本領域技術(shù)人員應當理解,本發(fā)明實施例的服務器中各處理單元的功能,可參照前述實施例一至實施例三所述的數(shù)據(jù)去重方法的相關描述而理解,這里不再贅述。

在本申請所提供的幾個實施例中,應該理解到,所揭露的設備和方法,可以通過其它的方式實現(xiàn)。以上所描述的設備實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,如:多個單元或組件可以結(jié)合,或可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的耦合、或直接耦合、或通信連接可以是通過一些接口,設備或單元的間接耦合或通信連接,可以是電性的、機械的或其它形式的。

上述作為分離部件說明的單元可以是、或也可以不是物理上分開的,作為單元顯示的部件可以是、或也可以不是物理單元,即可以位于一個地方,也可以分布到多個網(wǎng)絡單元上;可以根據(jù)實際的需要選擇其中的部分或全部單元來 實現(xiàn)本實施例方案的目的。

另外,在本發(fā)明各實施例中的各功能單元可以全部集成在一個處理單元中,也可以是各單元分別單獨作為一個單元,也可以兩個或兩個以上單元集成在一個單元中;上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。

本領域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:移動存儲設備、只讀存儲器(rom,readonlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

或者,本發(fā)明上述集成的單元如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明實施例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機、服務器、或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分。而前述的存儲介質(zhì)包括:移動存儲設備、只讀存儲器(rom,readonlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應以所述權(quán)利要求的保護范圍為準。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
星子县| 武汉市| 民丰县| 阜阳市| 曲松县| 视频| 九龙城区| 台安县| 伊金霍洛旗| 同江市| 金塔县| 松江区| 武穴市| 永寿县| 阿克苏市| 利津县| 政和县| 利川市| 南乐县| 肇源县| 巩留县| 西安市| 沙坪坝区| 库尔勒市| 宁阳县| 诸暨市| 文安县| 米易县| 静宁县| 双鸭山市| 芒康县| 文化| 太谷县| 咸阳市| 项城市| 嘉峪关市| 衡阳县| 嵊泗县| 越西县| 通城县| 水城县|