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

基于哈希值比較的文件上傳的制作方法

文檔序號(hào):6498103閱讀:200來源:國(guó)知局
基于哈希值比較的文件上傳的制作方法
【專利摘要】服務(wù)器通過比較用于文件的第一部分的哈希值而確定存儲(chǔ)在計(jì)算設(shè)備上的文件是否與存儲(chǔ)在服務(wù)器上的文件匹配。基于該比較,服務(wù)器確定是否上傳文件的第一部分。服務(wù)器上傳文件的第二部分。服務(wù)器通過將存儲(chǔ)在服務(wù)器上的文件的第一部分附加于從計(jì)算設(shè)備上傳的文件的第二部分而生成用于下載的文件。
【專利說明】基于哈希值比較的文件上傳

【背景技術(shù)】
[0001] 隨著用戶已經(jīng)適應(yīng)經(jīng)由多種計(jì)算設(shè)備來訪問其數(shù)據(jù),可能期望將用戶的數(shù)據(jù)文件 存儲(chǔ)在存儲(chǔ)系統(tǒng)中,該存儲(chǔ)系統(tǒng)允許從任何用戶設(shè)備且經(jīng)由網(wǎng)絡(luò)連接從任何位置訪問文 件。此類分布式存儲(chǔ)可用來存儲(chǔ)用戶對(duì)從多個(gè)設(shè)備和/或位置訪問感興趣或?qū)档陀捎趯?duì) 本地化存儲(chǔ)的損害而引起的文件丟失風(fēng)險(xiǎn)感興趣的相對(duì)大的媒體文件,諸如音樂文件或視 頻文件。因此,需要存儲(chǔ)資源來存儲(chǔ)用于大量用戶的媒體及其他文件,并且用來將文件上傳 到分布式儲(chǔ)存器的網(wǎng)絡(luò)資源可以是廣泛的。

【專利附圖】

【附圖說明】
[0002] 針對(duì)本發(fā)明的各種示例的詳細(xì)描述,現(xiàn)在將對(duì)附圖進(jìn)行參考,在所述附圖中: 圖1A示出了根據(jù)本文公開的原理的針對(duì)用于存儲(chǔ)并向遠(yuǎn)程計(jì)算設(shè)備傳送文件的系統(tǒng) 的框圖; 圖1B示出了根據(jù)本文公開的原理的針對(duì)可用于存儲(chǔ)并傳送文件的計(jì)算設(shè)備的框圖; 圖2示出了根據(jù)本文公開的原理的針對(duì)用于存儲(chǔ)并向遠(yuǎn)程計(jì)算設(shè)備傳送文件的方法 的流程圖; 圖3示出了根據(jù)本文公開的原理的針對(duì)用于上傳文件到服務(wù)器系統(tǒng)的方法的流程圖; 以及 圖4示出了根據(jù)本文公開的原理的針對(duì)用于傳送文件到遠(yuǎn)程計(jì)算設(shè)備的方法的流程 圖。
[0003] 注釋和命名法 特定術(shù)語遍及以下描述和權(quán)利要求被用來指代特定系統(tǒng)部件。如本領(lǐng)域的技術(shù)人員將 認(rèn)識(shí)到的,計(jì)算機(jī)公司可以用不同的名稱來指代部件。本文檔并不意圖對(duì)在名稱而不是功 能方面不同的部件進(jìn)行區(qū)別。在以下討論中和權(quán)利要求中,以開放方式來使用術(shù)語"包括" 和"包含",并且因此應(yīng)將其解釋為意指"包括但不限于"。并且,術(shù)語"耦合"意圖意指間接、 直接、光學(xué)或無線電氣連接。因此,如果第一設(shè)備耦合到第二設(shè)備,則該連接可以是通過直 接電氣連接、通過經(jīng)由其他設(shè)備和連接的間接電氣連接、通過光學(xué)連接或通過無線電氣連 接。此外,術(shù)語"軟件"包括無論用來存儲(chǔ)軟件的介質(zhì)如何、都能夠在處理器上運(yùn)行的任何 可執(zhí)行指令。因此,存儲(chǔ)在存儲(chǔ)器(例如,非易失性存儲(chǔ)器)中且有時(shí)稱為"嵌入式固件"的 代碼被包括在軟件的定義內(nèi)。敘述"基于"意圖意指"至少部分地基于"。因此,如果X是基 于Y,則X可基于Y和任何數(shù)目的附加因素。

【具體實(shí)施方式】
[0004] 以下討論針對(duì)使用哈希值比較來減少存儲(chǔ)在系統(tǒng)上的文件數(shù)目的分布式存儲(chǔ)系 統(tǒng)的各種示例。不應(yīng)將公開的示例解釋為或以其他方式用作限制本公開的范圍,包括權(quán)利 要求。另外,本領(lǐng)域的技術(shù)人員將理解的是以下描述具有寬泛的應(yīng)用,并且任何示例的討論 并不意圖暗示本公開的范圍、包括權(quán)利要求局限于該示例。
[0005] 由于對(duì)于大量(例如數(shù)百萬)用戶而言可使用分布式存儲(chǔ)系統(tǒng)來存儲(chǔ)大型文件,諸 如媒體文件,所以期望在不減少存儲(chǔ)在系統(tǒng)上的內(nèi)容量的情況下減少由存儲(chǔ)系統(tǒng)存儲(chǔ)和/ 或傳輸?shù)酱鎯?chǔ)系統(tǒng)的文件的數(shù)目。本文公開的分布式存儲(chǔ)系統(tǒng)將針對(duì)用戶所擁有的文件的 內(nèi)容部分計(jì)算的哈希值與針對(duì)存儲(chǔ)系統(tǒng)存儲(chǔ)的文件計(jì)算的哈希值相比較以確定與用戶所 擁有文件匹配(例如,相同)的文件是否已被存儲(chǔ)在存儲(chǔ)系統(tǒng)上。如果哈希值比較識(shí)別到存 儲(chǔ)系統(tǒng)上的匹配文件,則不需要將用戶所擁有文件上傳到存儲(chǔ)系統(tǒng),減少系統(tǒng)所消耗的儲(chǔ) 存器和帶寬。
[0006] 該哈希值可基于文件的已編碼符號(hào)的哈希(hash)(例如,MP3編碼、MPEG-4編碼 等)。如果哈希值比較未能識(shí)別到存儲(chǔ)系統(tǒng)上的匹配文件,則可將用戶所擁有文件的內(nèi)容部 分(例如,音頻或視頻部分)的指紋(fingerprint)與存儲(chǔ)在分布式存儲(chǔ)系統(tǒng)上的主文件許可 的指紋相比較。該指紋是基于已解碼文件信號(hào)(即,音頻信號(hào)、視頻信號(hào)等)的標(biāo)記。例如, 因?yàn)橐纛l信號(hào)的不同編碼的重放可能會(huì)產(chǎn)生等效的音頻認(rèn)知,所以音頻指紋可以基于音頻 信號(hào)是如何被報(bào)頭而不是信號(hào)編碼認(rèn)知的。因此,指紋未受到可引起哈希值錯(cuò)誤比較的編 碼格式、比特率、編碼錯(cuò)誤等方面的差異的影響。GRACEN0TE公司的MUSICID是音頻指紋系 統(tǒng)的一個(gè)示例。然而,對(duì)文件采指紋可能需要承擔(dān)哈希比較避免的不期望的許可費(fèi)用。如 果指紋比較識(shí)別到存儲(chǔ)系統(tǒng)上的等效文件,則不需要將用戶所擁有文件上傳到存儲(chǔ)系統(tǒng), 否則將用戶所擁有的文件上傳到存儲(chǔ)系統(tǒng)。
[0007] 圖1A示出了根據(jù)本文公開的原理的針對(duì)用于存儲(chǔ)并向遠(yuǎn)程計(jì)算設(shè)備傳送文件的 系統(tǒng)100的框圖。系統(tǒng)100包括服務(wù)器系統(tǒng)102、計(jì)算設(shè)備120-124以及將服務(wù)器系統(tǒng)102 通信耦合到計(jì)算設(shè)備120-124的網(wǎng)絡(luò)118。計(jì)算設(shè)備120-124可以作為服務(wù)器系統(tǒng)102 的客戶端。網(wǎng)絡(luò)118是能夠?qū)⒂?jì)算設(shè)備120-124通信耦合到服務(wù)器系統(tǒng)102的任何網(wǎng)絡(luò)。 例如,網(wǎng)絡(luò)118可以是局域網(wǎng)、廣域網(wǎng)、城域網(wǎng)、因特網(wǎng)或其組合。
[0008] 計(jì)算設(shè)備120-124可以是能夠經(jīng)由網(wǎng)絡(luò)118向和/或從服務(wù)器系統(tǒng)100傳輸文 件的任何類型的計(jì)算設(shè)備。例如,計(jì)算設(shè)備120-124可以是個(gè)人計(jì)算機(jī)、無線電話、個(gè)人音 樂播放器、游戲系統(tǒng)、平板計(jì)算機(jī)等。計(jì)算設(shè)備120和122被關(guān)聯(lián)為組A,并且計(jì)算設(shè)備124 形成組B??墒剐纬山M的每個(gè)設(shè)備與公共用戶(例如,公共擁有的)相關(guān)聯(lián)。因此,可使計(jì)算 設(shè)備120和122與用戶A相關(guān)聯(lián),同時(shí)使計(jì)算設(shè)備124與用戶B相關(guān)聯(lián)。雖然在圖1A中出 于說明性目的示出了三個(gè)計(jì)算設(shè)備120-124,但在實(shí)踐中,系統(tǒng)100可包括任何數(shù)目的此 類計(jì)算設(shè)備。每個(gè)計(jì)算設(shè)備120-124包括文件126和代理128。
[0009] 文件126可以是被向或從服務(wù)器系統(tǒng)128傳輸?shù)拿襟w或其他文件。文件126中 的文件可包括內(nèi)容部分和報(bào)頭部分。內(nèi)容部分可包含文件的媒體信息(例如,音頻和/或 視頻)。報(bào)頭部分可包含描述或提供關(guān)于文件的內(nèi)容部分的信息(例如,相關(guān)原圖、標(biāo)題信息 等)的元數(shù)據(jù)。
[0010] 代理128執(zhí)行與文件到服務(wù)器系統(tǒng)102的傳輸相關(guān)聯(lián)的功能。例如,代理128可 對(duì)文件126中的一個(gè)的內(nèi)容部分或整體應(yīng)用哈希函數(shù)并將哈希值(也稱為哈希秘鑰)提供給 服務(wù)器系統(tǒng)102。哈希函數(shù)到文件126的一部分的應(yīng)用產(chǎn)生表示文件的該部分的固定大小 輸出(例如,單個(gè)值)。安全哈希算法變型(SHA)和消息摘要算法5 (MD5)作為哈希函數(shù)的 示例可以被應(yīng)用于各種實(shí)施方式中對(duì)文件126求哈希值??蓪⒋?28實(shí)現(xiàn)為執(zhí)行存儲(chǔ)在 計(jì)算設(shè)備120-124的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中的指令的處理器(未示出)。
[0011] 服務(wù)器系統(tǒng)102包括一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī),其包括一個(gè)或多個(gè)處理器104和 儲(chǔ)存器106。一個(gè)或多個(gè)處理器104可包括例如一個(gè)或多個(gè)通用微處理器、數(shù)字信號(hào)處理 器、微控制器或者能夠執(zhí)行從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)檢索的指令的其他設(shè)備。處理器架構(gòu)一 般地包括執(zhí)行單元(例如,固定點(diǎn)、浮點(diǎn)、整數(shù)等)、儲(chǔ)存器(例如,寄存器、存儲(chǔ)器等)、指令解 碼、外圍設(shè)備(例如,中斷控制器、定時(shí)器、直接存儲(chǔ)存取控制器等)、輸入/輸出系統(tǒng)(例如, 串行端口、并行端口等)和各種其他部件和子系統(tǒng)。適用于實(shí)現(xiàn)計(jì)算設(shè)備120-124的代理 128的處理器可以等同于一個(gè)或多個(gè)處理器104。
[0012] 儲(chǔ)存器106是非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),并且可包括易失性儲(chǔ)存器,諸如隨 機(jī)存取存儲(chǔ)器、非易失性儲(chǔ)存器(例如,硬盤驅(qū)動(dòng)器、光學(xué)存儲(chǔ)設(shè)備(例如,CD或DVD)、閃速 (FLASH)儲(chǔ)存器、只讀存儲(chǔ)器)或其組合。在服務(wù)器系統(tǒng)102的一些實(shí)施方式中,儲(chǔ)存器104 可鄰近一個(gè)或多個(gè)處理器104設(shè)置。在其他實(shí)施方式中,儲(chǔ)存器104可遠(yuǎn)離一個(gè)或多個(gè)處 理器104并經(jīng)由諸如網(wǎng)絡(luò)118之類的網(wǎng)絡(luò)來訪問。
[0013] 儲(chǔ)存器106包含哈希映射表108、文件110以及文件管理系統(tǒng)130。文件110包括 鎖定器(locker) 112,其包含從計(jì)算設(shè)備120-124下載的文件,標(biāo)識(shí)為鎖定器A 114和鎖 定器B 116??墒规i定器A 114與組A的計(jì)算設(shè)備120-122相關(guān)聯(lián),并且可使鎖定器B與 組B的計(jì)算設(shè)備124相關(guān)聯(lián)。文件110還包括從除計(jì)算設(shè)備120-124之外的源獲得的文 件,其可被下載到計(jì)算設(shè)備120-124。例如,文件110可以包括通過諸如主文件的版權(quán)持 有者的控制實(shí)體分發(fā)的許可的主文件。文件110可包括媒體文件,諸如音樂和/或視頻文 件。哈希映射表108包括針對(duì)每個(gè)文件110計(jì)算的哈希值。該哈希值是通過對(duì)每個(gè)文件 110的至少一部分(例如,內(nèi)容部分)應(yīng)用哈希函數(shù)而計(jì)算的。在一些實(shí)施例中,哈希映射表 108包括針對(duì)每個(gè)文件的內(nèi)容部分的哈希值和針對(duì)每個(gè)文件的整體的(例如,每個(gè)文件的報(bào) 頭和內(nèi)容部分)哈希值。
[0014] 文件管理系統(tǒng)130包括由一個(gè)或多個(gè)處理器140執(zhí)行以管理文件110、計(jì)算哈希映 射表108的哈希值并向和/或從計(jì)算設(shè)備120-124傳輸文件的指令。文件管理系統(tǒng)130 應(yīng)用哈希映射表108來確定存儲(chǔ)在計(jì)算設(shè)備120-124中的一個(gè)上的文件126是否在由服 務(wù)器系統(tǒng)102存儲(chǔ)的文件110之中。如果被存儲(chǔ)在計(jì)算設(shè)備120-124中的一個(gè)上的文件 126在由服務(wù)器系統(tǒng)102存儲(chǔ)的文件110之中,則不需要將文件126上傳到服務(wù)器系統(tǒng)102, 從而減少必須上傳并存儲(chǔ)在服務(wù)器系統(tǒng)102上的文件的數(shù)目。
[0015] 圖1B示出了根據(jù)本文公開的原理的針對(duì)可用于存儲(chǔ)并傳送文件的計(jì)算設(shè)備150 的框圖。計(jì)算設(shè)備150可以是服務(wù)器系統(tǒng)102的組件。計(jì)算設(shè)備150可以是臺(tái)式計(jì)算機(jī)、 機(jī)架式計(jì)算機(jī)或能夠執(zhí)行用于執(zhí)行本文公開的操作的指令的任何其他設(shè)備。計(jì)算設(shè)備150 包括如本文所述的一個(gè)或多個(gè)處理器104以及如本文所述的儲(chǔ)存器106。儲(chǔ)存器106包括 處理器可執(zhí)行指令152,當(dāng)其被一個(gè)或多個(gè)處理器104執(zhí)行時(shí)促使一個(gè)或多個(gè)處理器104來 執(zhí)行本文所述的各種文件管理操作。
[0016] 圖2示出了根據(jù)本文公開原理的針對(duì)用于存儲(chǔ)文件110并傳送到遠(yuǎn)程計(jì)算設(shè)備 120-124的方法200的流程圖。雖然為了方便起見而順序地描述,但可以按照不同的順序 執(zhí)行和/或并行地執(zhí)行所示動(dòng)作中的至少一些。另外,一些實(shí)施方式可僅執(zhí)行所示動(dòng)作中 的一些??梢杂蓤?zhí)行從計(jì)算機(jī)可讀介質(zhì)(例如,儲(chǔ)存器106)讀取的文件管理系統(tǒng)130的指 令的一個(gè)或多個(gè)處理器104來執(zhí)行方法200的操作中的至少一些。
[0017] 在方框202中,服務(wù)器系統(tǒng)102確定存儲(chǔ)在計(jì)算設(shè)備120上的文件126的內(nèi)容部 分是否已被存儲(chǔ)在服務(wù)器系統(tǒng)102上。通過將針對(duì)在計(jì)算設(shè)備120上的文件126的內(nèi)容部 分計(jì)算的哈希值與針對(duì)存儲(chǔ)在服務(wù)器系統(tǒng)102上的文件110的哈希值相比較來進(jìn)行確定。 可從計(jì)算設(shè)備124上傳存儲(chǔ)在服務(wù)器系統(tǒng)102上的文件110中的至少一些,或者將其提供 為供文件內(nèi)容的所有者使用。在一些實(shí)施方式中,代理128可計(jì)算哈希值并經(jīng)由網(wǎng)絡(luò)118 將該哈希值傳輸?shù)椒?wù)器系統(tǒng)102。服務(wù)器系統(tǒng)102可通過訪問哈希映射表108以確定存 儲(chǔ)在服務(wù)器系統(tǒng)102上的文件110中的一個(gè)的內(nèi)容部分是否與存儲(chǔ)在計(jì)算設(shè)備120上的文 件126的內(nèi)容部分匹配(例如,符合精確位播放(bit-to-bit))來實(shí)現(xiàn)比較。
[0018] 在方框204中,基于哈希值比較的結(jié)果,服務(wù)器系統(tǒng)102確定是否從計(jì)算設(shè)備120 上傳文件126的內(nèi)容部分。如果在服務(wù)器系統(tǒng)102上找到針對(duì)文件126的內(nèi)容部分的哈希 值的匹配,則服務(wù)器系統(tǒng)102不需要從計(jì)算設(shè)備120向服務(wù)器系統(tǒng)102上傳文件126的該內(nèi) 容部分。替代地,服務(wù)器系統(tǒng)102將文件110之中的已存儲(chǔ)的文件的內(nèi)容部分識(shí)別為當(dāng)由 計(jì)算設(shè)備120或122請(qǐng)求文件126時(shí)可下載到計(jì)算設(shè)備120-122。因此,服務(wù)器系統(tǒng)102 節(jié)省本應(yīng)被用來傳輸和存儲(chǔ)文件126的內(nèi)容部分(如果上傳的話)的網(wǎng)絡(luò)帶寬和存儲(chǔ)空間。 在一些實(shí)施方式中,服務(wù)器系統(tǒng)102可以基于哈希匹配的識(shí)別上傳文件126但不將文件126 存儲(chǔ)在文件110之中。例如,服務(wù)器系統(tǒng)102可以上傳其內(nèi)容部分的文件126并且計(jì)算針 對(duì)該內(nèi)容部分的哈希值,識(shí)別到哈希匹配,并刪除上傳的文件126。
[0019] 在方框206中,服務(wù)器系統(tǒng)102從計(jì)算設(shè)備120上傳文件126的報(bào)頭部分,并將上 傳的文件126的報(bào)頭部分存儲(chǔ)在為組A文件存儲(chǔ)所分配的鎖定器A 114中。
[0020] 在方框208中,組A的計(jì)算設(shè)備120或計(jì)算設(shè)備122請(qǐng)求文件126從服務(wù)器系統(tǒng) 102到請(qǐng)求計(jì)算設(shè)備的下載。下載文件可包括文件到計(jì)算設(shè)備的流式傳輸,其中,流式傳輸 指的是以一定速率來下載文件,該速率允許在不要求文件整體被存儲(chǔ)在請(qǐng)求計(jì)算設(shè)備上的 情況下重放文件的內(nèi)容部分。
[0021] 服務(wù)器系統(tǒng)102通過將從計(jì)算設(shè)備120上傳的文件126的報(bào)頭部分和先前被存儲(chǔ) 在服務(wù)器系統(tǒng)102上并找到匹配文件126的內(nèi)容部分的文件的被存儲(chǔ)內(nèi)容連接在一起生成 用于下載的文件,其未被上傳和/或存儲(chǔ)在文件110中。因此,所生成的文件匹配在計(jì)算設(shè) 備120上存儲(chǔ)的文件126,而不要求上傳和/或存儲(chǔ)文件126的至少內(nèi)容部分。
[0022] 圖3示出了根據(jù)本文公開原理的針對(duì)用于存儲(chǔ)服務(wù)器系統(tǒng)102中的文件的方法 300的流程圖。雖然為了方便起見而順序地描述,但可以按照不同的順序執(zhí)行和/或并行地 執(zhí)行所示動(dòng)作中的至少一些。另外,一些實(shí)施方式可僅執(zhí)行所示動(dòng)作中的一些??梢杂蓤?zhí) 行從計(jì)算機(jī)可讀介質(zhì)(例如,儲(chǔ)存器106)讀取的文件管理系統(tǒng)130的指令的一個(gè)或多個(gè)處 理器104來執(zhí)行方法300的操作中的至少一些。
[0023] 在方框302中,計(jì)算設(shè)備120-124 (例如,計(jì)算設(shè)備120)請(qǐng)求上傳文件(例如,文件 126)到服務(wù)器系統(tǒng)102。服務(wù)器系統(tǒng)102確定存儲(chǔ)在計(jì)算設(shè)備120上的文件126是否當(dāng)前 被整個(gè)存儲(chǔ)在服務(wù)器系統(tǒng)102上。通過將針對(duì)在計(jì)算設(shè)備120上的文件126的整體(例如, 報(bào)頭和內(nèi)容部分)計(jì)算的哈希值與針對(duì)當(dāng)前存儲(chǔ)在服務(wù)器系統(tǒng)102上的文件的哈希值相比 較來進(jìn)行確定。在一些實(shí)施方式中,代理128可計(jì)算哈希值并經(jīng)由網(wǎng)絡(luò)118將該哈希值傳輸 到服務(wù)器系統(tǒng)102。在其他實(shí)施方式中,代理128可以將文件126傳輸?shù)椒?wù)器系統(tǒng)102, 并且服務(wù)器系統(tǒng)102可以計(jì)算針對(duì)文件126的哈希值。服務(wù)器系統(tǒng)102可通過訪問存儲(chǔ)在 哈希映射表108中的文件哈希值來實(shí)現(xiàn)整個(gè)文件哈希比較以確定存儲(chǔ)在服務(wù)器系統(tǒng)102上 的文件是否與存儲(chǔ)在計(jì)算設(shè)備120上的文件126匹配。
[0024] 在方框304中,如果服務(wù)器系統(tǒng)102針對(duì)整個(gè)文件126識(shí)別到哈希值匹配,則服務(wù) 器系統(tǒng)102可以存儲(chǔ)指示這樣的匹配已被識(shí)別到的信息、識(shí)別文件126的信息、識(shí)別整個(gè)文 件126以及文件126的內(nèi)容部分的哈希值的信息,以及指示被存儲(chǔ)在服務(wù)器系統(tǒng)102上的 哪個(gè)文件的哈希值與文件126的文件哈希值匹配的信息。
[0025] 在方框304中,如果服務(wù)器系統(tǒng)102未能找到哈希值匹配,則在方框306中服務(wù)器 系統(tǒng)102確定存儲(chǔ)在計(jì)算設(shè)備120上的文件126的內(nèi)容部分是否當(dāng)前被存儲(chǔ)在服務(wù)器系統(tǒng) 102上。通過將針對(duì)計(jì)算設(shè)備120上的文件126的內(nèi)容部分計(jì)算的哈希值與針對(duì)當(dāng)前存儲(chǔ) 在服務(wù)器系統(tǒng)102上的文件的內(nèi)容部分的哈希值進(jìn)行比較來進(jìn)行確定。在一些實(shí)施方式 中,代理128可以計(jì)算哈希值并將該哈希值經(jīng)由網(wǎng)絡(luò)118傳輸?shù)椒?wù)器系統(tǒng)102。在其他 實(shí)施方式中,代理128可以將文件126的內(nèi)容部分傳輸?shù)椒?wù)器系統(tǒng)102,并且服務(wù)器系統(tǒng) 102可以計(jì)算針對(duì)文件126的內(nèi)容部分的哈希值。服務(wù)器系統(tǒng)102可以通過訪問存儲(chǔ)在哈 希映射表108中的內(nèi)容哈希值來實(shí)現(xiàn)比較以確定當(dāng)前存儲(chǔ)在服務(wù)器系統(tǒng)102上的文件的內(nèi) 容部分是否與存儲(chǔ)在計(jì)算設(shè)備120上的文件126的內(nèi)容部分匹配。
[0026] 在方框308中,如果服務(wù)器系統(tǒng)102針對(duì)文件126的內(nèi)容部分識(shí)別到哈希匹配,則 服務(wù)器系統(tǒng)102可以存儲(chǔ)指示這樣的匹配已經(jīng)被識(shí)別到的信息、識(shí)別文件126的信息、識(shí)別 整個(gè)文件126和/或文件126的內(nèi)容部分的哈希值的信息,以及指示被存儲(chǔ)在服務(wù)器系統(tǒng) 102上的哪個(gè)文件包括的內(nèi)容部分的哈希值與文件126的內(nèi)容哈希值匹配的信息。在方框 316中,服務(wù)器系統(tǒng)從計(jì)算設(shè)備120上傳文件126的報(bào)頭部分,并且將該上傳的報(bào)頭部分存 儲(chǔ)在鎖定器A 114中,鎖定器A 114被分配用來存儲(chǔ)從組A計(jì)算設(shè)備120-122上傳的文件。
[0027] 如果服務(wù)器系統(tǒng)102未能在方框308中針對(duì)文件126的內(nèi)容識(shí)別到哈希匹配,則 在方框310中,服務(wù)器系統(tǒng)102應(yīng)用指紋來確定文件126的內(nèi)容部分是否被存儲(chǔ)為在服務(wù) 器系統(tǒng)102上的許可的主文件。計(jì)算文件126的內(nèi)容部分的指紋并且服務(wù)器確定指紋是否 與存儲(chǔ)在服務(wù)器系統(tǒng)102上的許可的主文件的指紋匹配。同時(shí)比較哈希值以識(shí)別整個(gè)匹配 文件或易受編碼錯(cuò)誤影響的文件的內(nèi)容部分,比特率失配等,這導(dǎo)致不能識(shí)別到匹配,指紋 匹配可以基于內(nèi)容本身使得指紋匹配不那么易受匹配錯(cuò)誤的影響??梢允褂枚喾N音頻和視 頻指紋技術(shù)。
[0028] 在方框312中,如果服務(wù)器系統(tǒng)102識(shí)別到指紋匹配,則服務(wù)器系統(tǒng)102可以存儲(chǔ) 指示這樣的匹配已經(jīng)被識(shí)別到的信息,識(shí)別文件126的信息以及識(shí)別指紋匹配文件126的 許可主文件的信息。
[0029] 在方框312中,如果服務(wù)器系統(tǒng)102未能找到指紋匹配,則服務(wù)器系統(tǒng)102在方框 314中從計(jì)算設(shè)備120上傳文件126的內(nèi)容部分,并且在方框316中上傳文件126的報(bào)頭 部分。因此,整個(gè)文件126被上傳。例如,整個(gè)文件126可以作為單元被上傳。服務(wù)器系統(tǒng) 102可將上傳的文件126存儲(chǔ)在分配以存儲(chǔ)從組A的計(jì)算設(shè)備120-122上傳的文件的鎖 定器A 114中。系統(tǒng)服務(wù)器102還存儲(chǔ)指示整個(gè)文件126被上傳,識(shí)別文件126,文件126 的全部和內(nèi)容部分的上傳的報(bào)頭和內(nèi)容,以及哈希值的信息。
[0030] 如果哈?;蛑讣y比較成功地識(shí)別到匹配,則服務(wù)器系統(tǒng)102不需要上傳和/或存 儲(chǔ)計(jì)算設(shè)備120的文件126的內(nèi)容部分和/或報(bào)頭部分。替代地,服務(wù)器系統(tǒng)102將文件 110之中的已存儲(chǔ)的文件的部分識(shí)別為當(dāng)由計(jì)算設(shè)備120或122請(qǐng)求文件126時(shí)可下載到 計(jì)算設(shè)備120-122。因此,服務(wù)器系統(tǒng)102節(jié)省本應(yīng)被用來傳輸和/或存儲(chǔ)文件126的網(wǎng) 絡(luò)帶寬和/或存儲(chǔ)空間。
[0031] 圖4示出了根據(jù)本文公開的原理的針對(duì)用于傳送文件到遠(yuǎn)程計(jì)算設(shè)備120-124的 方法400的流程圖。雖然為了方便起見而順序地描述,但可以按照不同的順序執(zhí)行和/或 并行地執(zhí)行所示動(dòng)作中的至少一些。另外,一些實(shí)施方式可僅執(zhí)行所示動(dòng)作中的一些???以由執(zhí)行從計(jì)算機(jī)可讀介質(zhì)(例如,儲(chǔ)存器106)讀取的文件管理系統(tǒng)130的指令的一個(gè)或 多個(gè)處理器104來執(zhí)行方法300的操作中的至少一些。
[0032] 在方框402中,服務(wù)器系統(tǒng)102從組A的計(jì)算設(shè)備120,122接收文件下載請(qǐng)求。下 載請(qǐng)求可以請(qǐng)求通過組A的設(shè)備將先前存儲(chǔ)在服務(wù)器系統(tǒng)102上的文件(例如,文件126) 傳輸?shù)秸?qǐng)求設(shè)備(例如,設(shè)備120)。下載文件可包括文件到計(jì)算設(shè)備120的流式傳輸,其中, 流式傳輸指的是以一定速率來下載文件,該速率允許在不要求文件整體被存儲(chǔ)在請(qǐng)求計(jì)算 設(shè)備120上的情況下重放文件的內(nèi)容部分。
[0033] 在方框404中,當(dāng)所請(qǐng)求文件126被上傳或存儲(chǔ)在服務(wù)器系統(tǒng)102上時(shí),服務(wù)器系 統(tǒng)102訪問所記錄的文件信息。如果文件信息指示當(dāng)文件126的上傳被請(qǐng)求時(shí),具有匹配 針對(duì)將被上傳的整個(gè)文件126計(jì)算的哈希值的哈希值的先前存儲(chǔ)的文件被識(shí)別到,則在方 框406中先前存儲(chǔ)的文件被下載到計(jì)算設(shè)備120作為文件126。
[0034] 在方框404中,如果所訪問的文件信息指示結(jié)合文件126上傳請(qǐng)求沒有整體哈希 匹配被識(shí)別到,則在方框408中,當(dāng)請(qǐng)求文件126的上傳時(shí),服務(wù)器系統(tǒng)102確定是否識(shí)別 到文件內(nèi)容哈希匹配。如果文件信息指示當(dāng)文件126的上傳被請(qǐng)求時(shí),先前存儲(chǔ)的文件包 括具有匹配針對(duì)將被上傳的文件126的內(nèi)容部分計(jì)算的哈希值的哈希值的內(nèi)容部分,則在 方框410中,服務(wù)器系統(tǒng)102生成用于下載到請(qǐng)求設(shè)備120的文件。
[0035] 服務(wù)器系統(tǒng)102可通過附加文件的內(nèi)容部分到文件126的報(bào)頭部分來生成用于下 載的文件,所述文件的內(nèi)容部分在請(qǐng)求上傳文件126之前被存儲(chǔ)在服務(wù)器系統(tǒng)102的文件 之中,所述文件126的報(bào)頭部分被從計(jì)算設(shè)備120上傳。因此,在上傳請(qǐng)求時(shí)生成的文件可 以匹配存儲(chǔ)在計(jì)算設(shè)備120上的文件126,而不要求在服務(wù)器系統(tǒng)102上的文件126的內(nèi)容 部分的上傳和/或存儲(chǔ)。生成的文件在方框410中被下載到請(qǐng)求設(shè)備120。
[0036] 在方框408中,如果所訪問的文件信息指示結(jié)合文件上傳請(qǐng)求沒有文件內(nèi)容哈希 匹配被識(shí)別到,則在方框412中,當(dāng)請(qǐng)求文件126的上傳時(shí),服務(wù)器系統(tǒng)102確定是否識(shí)別 到文件內(nèi)容指紋匹配。如果文件信息指示當(dāng)文件126的上傳被請(qǐng)求時(shí),存儲(chǔ)在服務(wù)器系統(tǒng) 102上的許可主文件是針對(duì)文件126的內(nèi)容的指紋匹配,則在方框414中,服務(wù)器系統(tǒng)102 下載許可主文件到請(qǐng)求設(shè)備120作為文件126。
[0037] 在方框412中,如果文件信息指示結(jié)合文件上傳請(qǐng)求沒有指紋匹配被識(shí)別到,則 在方框416中,基于先前上傳請(qǐng)求服務(wù)器系統(tǒng)102確定請(qǐng)求的文件126報(bào)頭和內(nèi)容二者 (即,文件126整體)被上傳并且被存儲(chǔ)在服務(wù)器系統(tǒng)102上。因此,服務(wù)器系統(tǒng)102在方框 416中下載存儲(chǔ)的文件126到計(jì)算設(shè)備120。
[0038] 以上討論意圖說明本發(fā)明的原理和各種示例。一旦完全認(rèn)識(shí)到以上公開,許多變 更和修改對(duì)于本領(lǐng)域的技術(shù)人員而言將是顯而易見的。意圖在于將以下權(quán)利要求解釋為涵 蓋所有此類變更和修改。
【權(quán)利要求】
1. 一種方法,包括: 由服務(wù)器通過將針對(duì)第一文件的第一部分計(jì)算的第一哈希值與針對(duì)第二文件的第一 部分計(jì)算的第二哈希值相比較來確定存儲(chǔ)在第一計(jì)算設(shè)備上的第一文件是否與存儲(chǔ)在服 務(wù)器上的第二文件相匹配; 由服務(wù)器基于比較的結(jié)果來確定是否將上傳所述第一文件的第一部分; 由服務(wù)器來上傳所述第一文件的第二部分,其中,第一部分和第二部分是不重疊的;以 及 由服務(wù)器通過響應(yīng)于用于要從服務(wù)器下載第一文件的請(qǐng)求向第一文件的第二部分附 加第二文件的第一部分而生成用于從服務(wù)器下載的第一文件。
2. 權(quán)利要求1的方法,還包括: 由服務(wù)器通過將針對(duì)整個(gè)第一文件計(jì)算的第三哈希值與針對(duì)整個(gè)第二文件計(jì)算的第 四哈希值相比較來確定存儲(chǔ)在第一計(jì)算設(shè)備上的第一文件是否與存儲(chǔ)在服務(wù)器上的第二 文件相匹配; 由服務(wù)器通過響應(yīng)于用于要從服務(wù)器下載第一文件的請(qǐng)求向計(jì)算設(shè)備下載所述整個(gè) 第二文件。
3. 權(quán)利要求1的方法,還包括: 基于第一哈希值與第二哈希值匹配而將第一文件識(shí)別為可從服務(wù)器下載到第一計(jì)算 設(shè)備。
4. 權(quán)利要求1的方法,還包括: 基于第一哈希值不同于第二哈希值而將針對(duì)第一文件的第一部分計(jì)算的指紋值與針 對(duì)主文件計(jì)算的指紋值相比較;以及 基于第一指紋值不同于第二指紋值而將第一文件上傳到服務(wù)器。
5. 權(quán)利要求1的方法,其中,所述生成是響應(yīng)于來自第二計(jì)算設(shè)備的請(qǐng)求,并且還包括 響應(yīng)于來自第二計(jì)算設(shè)備的請(qǐng)求而將第一文件下載到第二計(jì)算設(shè)備,其中,第二計(jì)算設(shè)備 通過共同所有權(quán)而與第一計(jì)算設(shè)備相關(guān)聯(lián)。
6. 權(quán)利要求1的方法,其中,所述第二文件被從不與第一計(jì)算設(shè)備相關(guān)聯(lián)的第二計(jì)算 設(shè)備上傳到服務(wù)器。
7. -種計(jì)算設(shè)備,包括: 處理器,用以: 接收對(duì)應(yīng)于存儲(chǔ)在客戶端設(shè)備上的內(nèi)容文件的內(nèi)容部分的內(nèi)容哈希值; 通過將內(nèi)容哈希值與對(duì)應(yīng)于先前存儲(chǔ)在計(jì)算設(shè)備上的文件的內(nèi)容部分的多個(gè)存儲(chǔ)哈 希值相比較來確定是否將內(nèi)容文件的內(nèi)容部分上傳到所述計(jì)算設(shè)備; 基于內(nèi)容哈希值與所述多個(gè)存儲(chǔ)哈希值中的一個(gè)匹配而將內(nèi)容文件的內(nèi)容部分識(shí)別 為與先前存儲(chǔ)在計(jì)算設(shè)備上的文件中的一個(gè)的內(nèi)容部分具有精確位播放對(duì)應(yīng)關(guān)系;以及 響應(yīng)于用于要被下載內(nèi)容文件的請(qǐng)求而下載先前存儲(chǔ)在計(jì)算設(shè)備上的與內(nèi)容文件的 內(nèi)容部分具有對(duì)應(yīng)關(guān)系的文件中的一個(gè)的內(nèi)容部分。
8. 權(quán)利要求7的計(jì)算設(shè)備,其中,所述處理器還用以: 從客戶端設(shè)備接收內(nèi)容文件的報(bào)頭部分,其中,該報(bào)頭部分和該內(nèi)容部分是不重疊的; 以及 響應(yīng)于用于要被下載內(nèi)容文件的請(qǐng)求而向先前存儲(chǔ)在計(jì)算設(shè)備上的與內(nèi)容文件的內(nèi) 容部分具有對(duì)應(yīng)關(guān)系的文件中的一個(gè)的內(nèi)容部分前面附加所接收到的報(bào)頭部分。
9. 權(quán)利要求7的計(jì)算設(shè)備,其中,所述處理器還用以: 接收對(duì)應(yīng)于存儲(chǔ)在第一客戶端設(shè)備上的全體內(nèi)容文件的文件哈希值; 通過將所述文件哈希值與對(duì)應(yīng)于先前存儲(chǔ)在計(jì)算設(shè)備上的文件的多個(gè)存儲(chǔ)哈希值相 比較來確定是否從所述第一客戶端設(shè)備將內(nèi)容文件全部上傳到計(jì)算設(shè)備; 基于內(nèi)容哈希值與所述多個(gè)存儲(chǔ)哈希值中的一個(gè)匹配而將內(nèi)容文件識(shí)別為與先前存 儲(chǔ)在計(jì)算設(shè)備上的文件中的一個(gè)具有精確位播放對(duì)應(yīng)關(guān)系;以及 響應(yīng)于用于要被下載內(nèi)容文件的請(qǐng)求而下載先前存儲(chǔ)在計(jì)算設(shè)備上的與內(nèi)容文件具 有對(duì)應(yīng)關(guān)系的文件中的一個(gè)。
10. 權(quán)利要求7的計(jì)算設(shè)備,其中,所述處理器還用以: 響應(yīng)于不同于所述多個(gè)存儲(chǔ)哈希值中的每個(gè)的內(nèi)容哈希值來確定針對(duì)內(nèi)容文件的內(nèi) 容部分的指紋是否對(duì)應(yīng)于針對(duì)存儲(chǔ)在計(jì)算設(shè)備上的主文件的指紋;以及 基于針對(duì)內(nèi)容部分的指紋不對(duì)應(yīng)于針對(duì)存儲(chǔ)在計(jì)算設(shè)備上的主文件的指紋而將內(nèi)容 文件上傳到計(jì)算設(shè)備。
11. 權(quán)利要求7的計(jì)算設(shè)備,其中,所述處理器還用以: 響應(yīng)于來自第二客戶端設(shè)備的請(qǐng)求而下載先前存儲(chǔ)在計(jì)算設(shè)備上的文件中的一個(gè)的 內(nèi)容部分,該內(nèi)容部分與內(nèi)容文件的內(nèi)容部分具有對(duì)應(yīng)關(guān)系,其中所述第二客戶端設(shè)備與 第一客戶端設(shè)備不同并且通過共同所有權(quán)與所述第一客戶端設(shè)備相關(guān)聯(lián)。
12. 權(quán)利要求7的計(jì)算設(shè)備,其中,所述處理器還用以: 接收先前存儲(chǔ)在計(jì)算設(shè)備上的文件中的一個(gè)的內(nèi)容部分,該內(nèi)容部分與來自第二客戶 端設(shè)備的內(nèi)容部分具有對(duì)應(yīng)關(guān)系,所述第二客戶端設(shè)備通過共同所有權(quán)不與所述第一客戶 端設(shè)備相關(guān)聯(lián)。
13. -種用指令編碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該指令在被執(zhí)行時(shí)促使處理器: 接收對(duì)應(yīng)于存儲(chǔ)在第一客戶端設(shè)備上的全體內(nèi)容文件的文件哈希值; 通過將所述文件哈希值與對(duì)應(yīng)于先前存儲(chǔ)在內(nèi)容服務(wù)器上的文件的多個(gè)存儲(chǔ)哈希值 相比較來確定是否從所述第一客戶端設(shè)備將內(nèi)容文件全部上傳到內(nèi)容服務(wù)器; 基于內(nèi)容哈希值與所述多個(gè)存儲(chǔ)哈希值中的一個(gè)匹配而將內(nèi)容文件識(shí)別為與先前存 儲(chǔ)在內(nèi)容服務(wù)器上的文件中的一個(gè)具有精確位播放對(duì)應(yīng)關(guān)系;以及 響應(yīng)于來自用于要被下載內(nèi)容文件的請(qǐng)求客戶端設(shè)備的請(qǐng)求,下載先前存儲(chǔ)在內(nèi)容服 務(wù)器上與請(qǐng)求客戶端設(shè)備的內(nèi)容文件具有對(duì)應(yīng)關(guān)系的文件中的一個(gè)。
14. 權(quán)利要求13的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),進(jìn)一步用指令編碼,該指令在被執(zhí)行時(shí)促使 處理器: 基于未能將內(nèi)容文件識(shí)別為與先前存儲(chǔ)在內(nèi)容服務(wù)器上的文件中的一個(gè)具有精確位 播放的對(duì)應(yīng)關(guān)系: 接收對(duì)應(yīng)于存儲(chǔ)在客戶端設(shè)備上的內(nèi)容文件的內(nèi)容部分的內(nèi)容哈希值; 通過將所述內(nèi)容哈希值與對(duì)應(yīng)于先前存儲(chǔ)在內(nèi)容服務(wù)器上的文件的內(nèi)容部分的多個(gè) 存儲(chǔ)哈希值相比較來確定是否從所述客戶端設(shè)備將內(nèi)容文件的內(nèi)容部分上傳到內(nèi)容服務(wù) 器; 基于內(nèi)容哈希值與所述多個(gè)存儲(chǔ)哈希值中的一個(gè)匹配而將內(nèi)容文件的內(nèi)容部分識(shí)別 為與先前存儲(chǔ)在內(nèi)容服務(wù)器上的文件中的一個(gè)的內(nèi)容部分具有精確位播放對(duì)應(yīng)關(guān)系; 從客戶端設(shè)備接收內(nèi)容文件的報(bào)頭部分,其中所述報(bào)頭部分和所述內(nèi)容部分是不重疊 的;以及 響應(yīng)于來自用于要被下載內(nèi)容文件的請(qǐng)求客戶端設(shè)備的請(qǐng)求,向先前存儲(chǔ)在內(nèi)容服務(wù) 器上的與內(nèi)容文件的內(nèi)容部分具有對(duì)應(yīng)關(guān)系的文件中的一個(gè)的內(nèi)容部分前面附加所接收 到的報(bào)頭部分以形成合成文件;以及 下載該合成文件到所述請(qǐng)求客戶端設(shè)備。
15.權(quán)利要求14的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),進(jìn)一步用指令編碼,該指令在被執(zhí)行時(shí)促使 處理器: 基于未能將內(nèi)容文件的內(nèi)容部分識(shí)別為與先前存儲(chǔ)在內(nèi)容服務(wù)器上的文件中的一個(gè) 的內(nèi)容部分具有精確位播放的對(duì)應(yīng)關(guān)系: 計(jì)算所述內(nèi)容文件的內(nèi)容部分的指紋; 確定所述內(nèi)容服務(wù)器是否包含具有與所述內(nèi)容文件的內(nèi)容部分的指紋匹配的指紋的 主文件; 基于主文件具有與所述內(nèi)容文件的內(nèi)容部分的指紋匹配的指紋而將該主文件識(shí)別為 可下載到客戶端計(jì)算設(shè)備。
【文檔編號(hào)】G06F15/16GK104067259SQ201280068717
【公開日】2014年9月24日 申請(qǐng)日期:2012年4月16日 優(yōu)先權(quán)日:2012年4月16日
【發(fā)明者】D.P.比爾邁爾, J.C.霍爾, A.C.巴克萊, J.M.克倫, H.H.亞馬莫托 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
万载县| 卓尼县| 永泰县| 靖远县| 宽城| 乐昌市| 鄯善县| 东山县| 永定县| 新营市| 新蔡县| 安新县| 红原县| 梁河县| 开江县| 汶上县| 汝城县| 綦江县| 彭州市| 敦煌市| 德钦县| 赞皇县| 兴隆县| 文化| 铜川市| 黄陵县| 宜昌市| 梨树县| 海城市| 澄江县| 集安市| 兰西县| 龙州县| 盘山县| 彰武县| 文安县| 哈巴河县| 寿阳县| 游戏| 桑植县| 罗城|