可以以一種或多種程序設(shè)計(jì)語(yǔ)言的任意組合來(lái)編寫(xiě)用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過(guò)程式程序設(shè)計(jì)語(yǔ)言一諸如“C”語(yǔ)言或類(lèi)似的程序設(shè)計(jì)語(yǔ)言。程序代碼可以完全地在用戶(hù)計(jì)算機(jī)上執(zhí)行、部分地在用戶(hù)計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶(hù)計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類(lèi)的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶(hù)計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。
[0086]下面將參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。
[0087]也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,這些指令使得計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的指令的制造品(article of manufacture)。
[0088]還可以將計(jì)算機(jī)程序指令載入計(jì)算機(jī)、其它可編程數(shù)據(jù)處理設(shè)備或其它裝置上,以使得在計(jì)算機(jī)、其它可編程設(shè)備或其它裝置上進(jìn)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)處理,使得在計(jì)算機(jī)或其它可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)流程圖和/或框圖框的一個(gè)或多個(gè)塊中所指定的功能/動(dòng)作的處理。
[0089]附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專(zhuān)用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專(zhuān)用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
[0090]盡管已經(jīng)針對(duì)特定實(shí)施例說(shuō)明了本公開(kāi),但應(yīng)理解本公開(kāi)的改變或變形對(duì)于本領(lǐng)域技術(shù)人員將會(huì)是顯而易見(jiàn)的。因此,意在將所附權(quán)利要求書(shū)解釋為覆蓋如落在本公開(kāi)的真實(shí)精神和范圍內(nèi)的所有這樣的改變和變形。
【主權(quán)項(xiàng)】
1.一種用于處理對(duì)訪問(wèn)內(nèi)容可尋址存儲(chǔ)CAS系統(tǒng)中所存儲(chǔ)的文件中的邏輯位置的請(qǐng)求的方法,所述方法包括: 從表示所述文件的第一版本的第一散列樹(shù)中的第一節(jié)點(diǎn)檢索第一樹(shù)數(shù)據(jù),其中所述第一樹(shù)數(shù)據(jù)包括第一散列樹(shù)深度、第一 CAS簽名、塊大小和文件大??; 基于所述第一樹(shù)數(shù)據(jù)來(lái)從所述第一散列樹(shù)中的較高層級(jí)選擇第二節(jié)點(diǎn); 從表示所述文件的所述第一版本的所述第一散列樹(shù)中的所述第二節(jié)點(diǎn)檢索第二樹(shù)數(shù)據(jù),其中所述第二樹(shù)數(shù)據(jù)包括第二 CAS簽名; 判斷所述第二 CAS簽名與保留CAS簽名相匹配; 響應(yīng)于判斷為所述第二 CAS簽名與所述保留CAS簽名相匹配,檢索表示所述文件的第二版本的第二散列樹(shù)中的第三節(jié)點(diǎn); 從所述第二散列樹(shù)中的第三節(jié)點(diǎn)檢索第三樹(shù)數(shù)據(jù),其中所述第三樹(shù)數(shù)據(jù)包括第三散列樹(shù)深度、第三CAS簽名、塊大小和文件大??;以及基于所述第三樹(shù)數(shù)據(jù)來(lái)遍歷所述第二散列樹(shù)。
2.根據(jù)權(quán)利要求1所述的方法,其中,基于所述第三樹(shù)數(shù)據(jù)來(lái)遍歷所述第二散列樹(shù)包括: 基于所述第三樹(shù)數(shù)據(jù)來(lái)從所述第二散列樹(shù)中的較高層級(jí)選擇第四節(jié)點(diǎn); 從第四節(jié)點(diǎn)文件檢索第四樹(shù)數(shù)據(jù),所述第四樹(shù)數(shù)據(jù)包括第四CAS簽名; 判斷所述第四CAS簽名不與所述保留CAS簽名相匹配,并且是所述第二散列樹(shù)的葉子;以及 響應(yīng)于判斷為所述第四CAS簽名不與所述保留CAS簽名相匹配,并且是所述第二散列樹(shù)的葉子,從所述文件的所述第二版本檢索數(shù)據(jù)塊。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述文件是與具有分配部分和未分配部分的文件系統(tǒng)相對(duì)應(yīng)的磁盤(pán)鏡像。
4.根據(jù)權(quán)利要求1所述的方法,其中,從所述散列樹(shù)中的較高層級(jí)選擇第二節(jié)點(diǎn)包括: 在所述文件內(nèi)識(shí)別與所述邏輯位置相對(duì)應(yīng)的塊;以及 基于所述塊來(lái)確定經(jīng)由所述散列樹(shù)的路徑。
5.根據(jù)權(quán)利要求1所述的方法,還包括: 接收對(duì)訪問(wèn)所述文件的所述第一版本中的另一邏輯位置的另一請(qǐng)求; 基于所述另一請(qǐng)求來(lái)從表示所述文件的所述散列樹(shù)的第四節(jié)點(diǎn)檢索第四樹(shù)數(shù)據(jù),其中所述第四樹(shù)數(shù)據(jù)包括第四CAS簽名; 判斷所述第四CAS簽名與所述保留CAS簽名不匹配;以及 響應(yīng)于判斷為所述第四CAS簽名與所述保留CAS簽名不匹配,提供針對(duì)所述文件內(nèi)的另一邏輯位置的數(shù)據(jù)塊。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述保留CAS簽名為零。
7.根據(jù)權(quán)利要求1所述的方法,其中,檢索所述第一樹(shù)數(shù)據(jù)包括向CAS數(shù)據(jù)中心發(fā)送請(qǐng)求。
8.根據(jù)權(quán)利要求7所述的方法,其中,進(jìn)一步將所述請(qǐng)求發(fā)送至所述CAS數(shù)據(jù)中心的web可訪問(wèn)接口。
9.一種用于針對(duì)文件的不同版本生成內(nèi)容可尋址存儲(chǔ)CAS簽名的方法,所述方法包 括: 針對(duì)所述文件的第一版本生成第一散列樹(shù),所述第一散列樹(shù)具有利用所述第一散列樹(shù)的深度、所述第一散列樹(shù)的塊大小和所述文件的文件大小進(jìn)行編碼的第一根CAS簽名;以及 通過(guò)以下來(lái)針對(duì)所述文件的第二版本生成第二散列樹(shù): 相對(duì)于所述文件的所述第一版本中的相應(yīng)塊,將所述文件的所述第二版本中的第一集合的一個(gè)或多個(gè)塊分類(lèi)為修改過(guò)的,并且將所述第二版本中的第二集合的一個(gè)或多個(gè)塊分類(lèi)為未修改過(guò)的; 通過(guò)以下來(lái)針對(duì)所述第二散列樹(shù)生成第一層級(jí)的CAS簽名: 向被分類(lèi)為修改過(guò)的所述第一集合的一個(gè)或多個(gè)塊應(yīng)用散列函數(shù),以及向被分類(lèi)為未修改過(guò)的所述第二集合的一個(gè)或多個(gè)塊應(yīng)用共用CAS簽名;以及根據(jù)所述第一層級(jí)的CAS簽名生成第二根CAS簽名,其中利用所述第二散列樹(shù)的深度、所述第二散列樹(shù)的塊大小和所述文件的文件大小來(lái)對(duì)所述第二根CAS簽名進(jìn)行編碼。
10.根據(jù)權(quán)利要求9所述的方法,還包括:針對(duì)所述文件的第三版本生成第三散列樹(shù)。
11.根據(jù)權(quán)利要求9所述的方法,其中,所述文件是與具有分配部分和未分配部分的文件系統(tǒng)相對(duì)應(yīng)的磁盤(pán)鏡像。
12.根據(jù)權(quán)利要求11所述的方法,還包括:基于與所述文件系統(tǒng)相對(duì)應(yīng)的目錄信息來(lái)判斷所述文件的塊是分配的還是未分配的。
13.根據(jù)權(quán)利要求9所述的方法,其中,所述共用CAS簽名是預(yù)定的位值。
14.根據(jù)權(quán)利要求13所述的方法,其中,所述共用CAS簽名為零。
15.根據(jù)權(quán)利要求9所述的方法,還包括:針對(duì)每個(gè)散列樹(shù)生成根CAS簽名。
16.根據(jù)權(quán)利要求9所述的方法,其中,所述方法使用CAS數(shù)據(jù)中心的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。
17.一種用于針對(duì)文件的不同版本生成內(nèi)容可尋址存儲(chǔ)CAS簽名的系統(tǒng),所述系統(tǒng)包括: 客戶(hù)端裝置,其配置有客戶(hù)端接口模塊,所述客戶(hù)端接口模塊被設(shè)計(jì)為進(jìn)行以下: 從表示所述文件的第一版本的第一散列樹(shù)中的第一節(jié)點(diǎn)檢索第一樹(shù)數(shù)據(jù),其中所述第一樹(shù)數(shù)據(jù)包括第一散列樹(shù)深度、第一 CAS簽名、塊大小和文件大小; 基于所述第一樹(shù)數(shù)據(jù)來(lái)從所述第一散列樹(shù)的較高層級(jí)選擇第二節(jié)點(diǎn); 從表示所述文件的所述第一版本的所述第一散列樹(shù)中的所述第二節(jié)點(diǎn)檢索第二樹(shù)數(shù)據(jù),其中所述第二樹(shù)數(shù)據(jù)包括第二 CAS簽名; 判斷所述第二 CAS簽名與保留CAS簽名相匹配; 響應(yīng)于判斷為所述第二 CAS簽名與所述保留CAS簽名相匹配,檢索表示所述文件的第二版本的第二散列樹(shù)中的第三節(jié)點(diǎn); 從所述第二散列樹(shù)中的第三節(jié)點(diǎn)檢索第三樹(shù)數(shù)據(jù),其中所述第三樹(shù)數(shù)據(jù)包括第三散列樹(shù)深度、第三CAS簽名、塊大小和文件大??;以及基于所述第三樹(shù)數(shù)據(jù)來(lái)遍歷所述第二散列樹(shù)。
18.根據(jù)權(quán)利要求17所述的系統(tǒng),還包括: CAS數(shù)據(jù)中心裝置,其配置有接口模塊,所述接口模塊被設(shè)計(jì)為進(jìn)行以下: 針對(duì)所述文件的第一版本生成第一散列樹(shù),其中所述第一散列樹(shù)具有利用所述第一散列樹(shù)的深度、所述第一散列樹(shù)的塊大小和所述文件的文件大小進(jìn)行編碼的第一根CAS簽名;以及 通過(guò)以下來(lái)針對(duì)所述文件的第二版本生成第二散列樹(shù): 相對(duì)于所述文件的所述第一版本中的相應(yīng)塊,將所述文件的所述第二版本中的第一集合的一個(gè)或多個(gè)塊分類(lèi)為修改過(guò)的,并且將所述第二版本中的第二集合的一個(gè)或多個(gè)塊分類(lèi)為未修改過(guò)的; 通過(guò)以下來(lái)針對(duì)所述第二散列樹(shù)生成第一層級(jí)的CAS簽名: 向被分類(lèi)為修改過(guò)的所述第一集合的一個(gè)或多個(gè)塊應(yīng)用散列函數(shù),以及向被分類(lèi)為未修改過(guò)的所述第二集合的一個(gè)或多個(gè)塊應(yīng)用共用CAS簽名;以及根據(jù)第一層級(jí)的CAS簽名生成第二根CAS簽名,其中利用所述第二散列樹(shù)的深度、所述第二散列樹(shù)的塊大小和所述文件的文件大小來(lái)對(duì)所述第二根CAS簽名進(jìn)行編碼。
【專(zhuān)利摘要】涉及針對(duì)文件不同版本生成內(nèi)容可尋址存儲(chǔ)簽名的方法和系統(tǒng)??梢酝ㄟ^(guò)從表示內(nèi)容可尋址存儲(chǔ)CAS系統(tǒng)中所存儲(chǔ)文件的第一版本的第一散列樹(shù)中的第一節(jié)點(diǎn)檢索第一樹(shù)數(shù)據(jù)來(lái)處理該對(duì)訪問(wèn)該文件中的邏輯位置的請(qǐng)求?;诘谝粯?shù)數(shù)據(jù)來(lái)選擇第二節(jié)點(diǎn),其中根據(jù)該第二節(jié)點(diǎn),將CAS簽名與保留CAS簽名進(jìn)行比較以判斷適當(dāng)?shù)奈募姹尽m憫?yīng)于匹配,在表示文件的第二版本的第二散列樹(shù)中訪問(wèn)第三節(jié)點(diǎn)。從第三節(jié)點(diǎn)檢索樹(shù)數(shù)據(jù)。
【IPC分類(lèi)】G06F17-30, G06F21-64
【公開(kāi)號(hào)】CN104699739
【申請(qǐng)?zhí)枴緾N201410682242
【發(fā)明人】A·格黑斯, E·范翰斯伯根, J·西尼迪斯
【申請(qǐng)人】國(guó)際商業(yè)機(jī)器公司
【公開(kāi)日】2015年6月10日
【申請(qǐng)日】2014年11月24日
【公告號(hào)】US20150161153