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

用于分布式配置管理的方法及裝置制造方法

文檔序號(hào):6495966閱讀:193來(lái)源:國(guó)知局
用于分布式配置管理的方法及裝置制造方法
【專利摘要】一種用于經(jīng)網(wǎng)絡(luò)復(fù)制數(shù)據(jù)結(jié)構(gòu)的方法及裝置,其中在多個(gè)聯(lián)網(wǎng)的對(duì)等節(jié)點(diǎn)中為每個(gè)數(shù)據(jù)結(jié)構(gòu)分配一個(gè)所有者節(jié)點(diǎn)。優(yōu)選地,所有者可以通過(guò)數(shù)據(jù)結(jié)構(gòu)中的信息來(lái)確定。當(dāng)非所有者期望對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行更新時(shí),修改數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求在網(wǎng)絡(luò)上發(fā)送,并且當(dāng)被所有者接收到時(shí),所有者執(zhí)行該修改。然后,關(guān)于該更新,所有者節(jié)點(diǎn)可以通知其它節(jié)點(diǎn)。通過(guò)單寫(xiě)者、多讀者范例實(shí)現(xiàn)的所述方法確保了可用性、分區(qū)容限和最終的一致性;它避免了現(xiàn)有技術(shù)的集中式管理與鎖定協(xié)議的高開(kāi)銷成本和單點(diǎn)故障缺陷。管理員可以連接到網(wǎng)絡(luò)中的任何對(duì)等節(jié)點(diǎn),以便管理、監(jiān)視和請(qǐng)求對(duì)數(shù)據(jù)結(jié)構(gòu)的修改。
【專利說(shuō)明】用于分布式配置管理的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)并且涉及用于經(jīng)對(duì)等節(jié)點(diǎn)的網(wǎng)絡(luò)復(fù)制數(shù)據(jù)結(jié)構(gòu)的方法及裝置。
【背景技術(shù)】
[0002]根據(jù)CAP定理,也稱為Brewer定理,分布式計(jì)算機(jī)系統(tǒng)可以同時(shí)滿足以下保證中任意兩條,但不是全部三條:
[0003].一致性(所有節(jié)點(diǎn)都同時(shí)看到相同的數(shù)據(jù));
[0004].可用性(節(jié)點(diǎn)故障不妨礙幸存節(jié)點(diǎn)繼續(xù)運(yùn)行);
[0005].分區(qū)容限(雖然消息在一個(gè)分區(qū)丟失,但在這個(gè)分區(qū)兩側(cè)的
[0006]節(jié)點(diǎn)都將繼續(xù)運(yùn)行)。
[0007]在對(duì)等的數(shù)據(jù)庫(kù)復(fù)制拓?fù)浣Y(jié)構(gòu)中,對(duì)等點(diǎn)具有相同的表模式而且每個(gè)表行在每個(gè)對(duì)等點(diǎn)上都具有副本。數(shù)據(jù)操作可以在任何對(duì)等點(diǎn)上發(fā)生并且將被復(fù)制到其它所有對(duì)等點(diǎn)。但是,如果同一行的副本同時(shí)在不同的對(duì)等點(diǎn)上被操作,則有可能發(fā)生沖突。解決這種沖突可能很困難、耗時(shí)和/或涉及顯著的開(kāi)銷。
[0008]傳統(tǒng)的數(shù)據(jù)庫(kù)使用鎖定協(xié)議或主-從關(guān)系來(lái)保持?jǐn)?shù)據(jù)在(例如,節(jié)點(diǎn)網(wǎng)絡(luò)上的)多個(gè)系統(tǒng)之間同步。但是,分布式鎖定協(xié)議需要相當(dāng)大的開(kāi)銷,例如,節(jié)點(diǎn)必須發(fā)送對(duì)鎖的請(qǐng)求、等待直到鎖變得可用、進(jìn)行修改、釋放鎖并且分布更新。主/從關(guān)系要求節(jié)點(diǎn)之間的完全連通性并且還生成大量的網(wǎng)絡(luò)通信量。

【發(fā)明內(nèi)容】

[0009]根據(jù)本發(fā)明的一種或多種實(shí)施例,提供了一種經(jīng)網(wǎng)絡(luò)復(fù)制數(shù)據(jù)結(jié)構(gòu)的方法,其中在多個(gè)聯(lián)網(wǎng)的對(duì)等節(jié)點(diǎn)中為每個(gè)數(shù)據(jù)結(jié)構(gòu)分配一個(gè)所有者節(jié)點(diǎn)。優(yōu)選地,所有者可以通過(guò)數(shù)據(jù)結(jié)構(gòu)中的信息來(lái)確定。當(dāng)非所有者期望對(duì)數(shù)據(jù)結(jié)構(gòu)的更新時(shí),修改數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求在網(wǎng)絡(luò)上發(fā)送,并且當(dāng)被所有者接收到時(shí),所有者執(zhí)行修改。然后,關(guān)于這個(gè)更新,所有者節(jié)點(diǎn)可以通知其它節(jié)點(diǎn)。
[0010]相比于需要兩次往返通信(B卩,一次用于改變所有關(guān)系而另一次用于修改數(shù)據(jù))的現(xiàn)有技術(shù)方法,這種方法只有一次往返通信,因而是更為有效的協(xié)議。另外,當(dāng)數(shù)據(jù)結(jié)構(gòu)代表節(jié)點(diǎn)資源的時(shí)候,修改數(shù)據(jù)結(jié)構(gòu)的節(jié)點(diǎn)還將修改該資源。還有,優(yōu)選地,(來(lái)自非所有者節(jié)點(diǎn)的)修改數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求及(來(lái)自所有者節(jié)點(diǎn)的)響應(yīng)也都是可以在網(wǎng)絡(luò)上以與被修改的數(shù)據(jù)結(jié)構(gòu)相同的方式復(fù)制的數(shù)據(jù)結(jié)構(gòu)。
[0011 ] 根據(jù)本發(fā)明的一種實(shí)施例,提供了 一種在對(duì)等節(jié)點(diǎn)的網(wǎng)絡(luò)上復(fù)制數(shù)據(jù)結(jié)構(gòu)的方法,其中數(shù)據(jù)結(jié)構(gòu)復(fù)制到網(wǎng)絡(luò)上的所有節(jié)點(diǎn),該方法包括步驟:
[0012]把單個(gè)對(duì)等節(jié)點(diǎn)指定為數(shù)據(jù)結(jié)構(gòu)的所有者;
[0013]只允許所指定的所有者節(jié)點(diǎn)修改數(shù)據(jù)結(jié)構(gòu);及
[0014]當(dāng)一個(gè)對(duì)等節(jié)點(diǎn)期望修改數(shù)據(jù)結(jié)構(gòu)并且確定它不是所有者節(jié)點(diǎn)時(shí),這一個(gè)對(duì)等節(jié)點(diǎn)啟動(dòng)修改數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求,該請(qǐng)求包括數(shù)據(jù)結(jié)構(gòu)的其中一個(gè)并且被這一個(gè)對(duì)等節(jié)點(diǎn)所擁有,而且該請(qǐng)求發(fā)送到網(wǎng)絡(luò)上所有節(jié)點(diǎn);
[0015]所有者節(jié)點(diǎn)接收并執(zhí)行該請(qǐng)求,以修改數(shù)據(jù)結(jié)構(gòu)。
[0016]本發(fā)明可以與經(jīng)由集中式服務(wù)器實(shí)現(xiàn)的分布式管理系統(tǒng)相區(qū)分開(kāi),其中集中式服務(wù)器提供單點(diǎn)故障,沒(méi)有固有的(內(nèi)置的)數(shù)據(jù)冗余性,而且在管理服務(wù)器和其它所有被管理的節(jié)點(diǎn)之間都需要連通性。相比之下,在本發(fā)明中,每個(gè)對(duì)等節(jié)點(diǎn)都提供對(duì)整個(gè)節(jié)點(diǎn)組的訪問(wèn),存在數(shù)據(jù)冗余性,而且不需要在所有節(jié)點(diǎn)之間的直接連通性。例如,用戶可以連接到任何參與的節(jié)點(diǎn)并且管理整個(gè)組。網(wǎng)絡(luò)中的所有數(shù)據(jù)都復(fù)制到所有參與的節(jié)點(diǎn)。參與的節(jié)點(diǎn)只需要與整個(gè)組的部分連通性。通過(guò)所描述的機(jī)制,數(shù)據(jù)結(jié)構(gòu)最終將在所有參與的節(jié)點(diǎn)中一致。通過(guò)遵循嚴(yán)格的單寫(xiě)者、多讀者協(xié)議,更新沖突是不可能的并且確保了事務(wù)一致性。
[0017]如由CAP定理所定義的,一致性需要所有節(jié)點(diǎn)一直都彼此一致。在這里,每個(gè)數(shù)據(jù)結(jié)構(gòu)都具有專用的所有者節(jié)點(diǎn)而且每個(gè)所有者節(jié)點(diǎn)維持關(guān)于它所擁有的數(shù)據(jù)結(jié)構(gòu)的一致性。所有對(duì)等節(jié)點(diǎn)都通過(guò)復(fù)制處理實(shí)現(xiàn)關(guān)于不擁有的數(shù)據(jù)結(jié)構(gòu)的最終一致性??捎眯?經(jīng)CAP定理)得以實(shí)現(xiàn),因?yàn)槊總€(gè)節(jié)點(diǎn)對(duì)于其復(fù)制數(shù)據(jù)結(jié)構(gòu)集合維持一致性,并且因此可以孤立地操作。分區(qū)容限(經(jīng)CAP定理)得以實(shí)現(xiàn),因?yàn)閷S玫臄?shù)據(jù)結(jié)構(gòu)所有關(guān)系和節(jié)點(diǎn)的局部一致性允許每個(gè)節(jié)點(diǎn)孤立地運(yùn)行或者在存在組分區(qū)的情況下運(yùn)行。數(shù)據(jù)所有關(guān)系還確保在分區(qū)合并的時(shí)候?qū)⒉话l(fā)生數(shù)據(jù)沖突。
[0018]在一個(gè)例子中,關(guān)系數(shù)據(jù)庫(kù)在每個(gè)對(duì)等節(jié)點(diǎn)上被復(fù)制。數(shù)據(jù)庫(kù)包括表,在該表中一列(字段)包含該表的行的所有者的標(biāo)識(shí)符。只有該行的所有者被允許修改該行。當(dāng)該行的一個(gè)實(shí)例被改變時(shí),例如被創(chuàng)建、修改或刪除時(shí),為進(jìn)行改變而生成的數(shù)據(jù)庫(kù)命令存儲(chǔ)在事務(wù)日志中。當(dāng)應(yīng)用認(rèn)為所有更新都事務(wù)性地完成時(shí),該改變通過(guò)網(wǎng)絡(luò)被發(fā)送到所有對(duì)等節(jié)點(diǎn)。
[0019]在一個(gè)例子中,數(shù)據(jù)結(jié)構(gòu)是通過(guò)傳播而復(fù)制到網(wǎng)絡(luò)上所有節(jié)點(diǎn)的。當(dāng)更新(改變)到達(dá)進(jìn)行接收的節(jié)點(diǎn)時(shí),該節(jié)點(diǎn)檢查它是否已經(jīng)具有該更新。如果是,則該更新被丟棄。如果不是,則該更新被處理并且被發(fā)送到所有直接連接的節(jié)點(diǎn)。這確保了如果節(jié)點(diǎn)A和B連接而且節(jié)點(diǎn)B和C連接,則來(lái)自節(jié)點(diǎn)A的更新將到達(dá)節(jié)點(diǎn)C。這種更新機(jī)制可在所有節(jié)點(diǎn)不是直接彼此連接的網(wǎng)絡(luò)中運(yùn)行。
[0020]在一個(gè)例子中,所述方法允許在對(duì)等點(diǎn)之間滾動(dòng)(rolling)更新,包括模式更新。例如,當(dāng)對(duì)等節(jié)點(diǎn)處于比到達(dá)該節(jié)點(diǎn)的更新低的模式修訂版本(revision)時(shí),它將使更新排隊(duì)直到該節(jié)點(diǎn)被更新成匹配那種模式修訂版本的時(shí)候,在這個(gè)時(shí)候,它將應(yīng)用所有待定的、模式匹配的更新。當(dāng)對(duì)等節(jié)點(diǎn)處于比到達(dá)的更新低的模式修訂版本時(shí),它忽略那個(gè)修訂版本。對(duì)等節(jié)點(diǎn)可以被請(qǐng)求向還不具有那些更新的節(jié)點(diǎn)發(fā)送任何丟失的更新。以這種方式,存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)最終在所有對(duì)等節(jié)點(diǎn)中一致,甚至是在軟件更新中一致。
[0021]根據(jù)本發(fā)明的一種實(shí)施例,提供了一種包含用于復(fù)制數(shù)據(jù)結(jié)構(gòu)的方法的可執(zhí)行程序指令的計(jì)算機(jī)可讀介質(zhì),該方法包括:
[0022]在對(duì)等節(jié)點(diǎn)的網(wǎng)絡(luò)上,其中數(shù)據(jù)結(jié)構(gòu)被復(fù)制到該網(wǎng)絡(luò)上所有節(jié)點(diǎn);
[0023]把單個(gè)對(duì)等節(jié)點(diǎn)指定為數(shù)據(jù)結(jié)構(gòu)的所有者;
[0024]只允許所指定的所有者節(jié)點(diǎn)修改該數(shù)據(jù)結(jié)構(gòu);及[0025]當(dāng)一個(gè)對(duì)等節(jié)點(diǎn)期望修改該數(shù)據(jù)結(jié)構(gòu)并且確定它不是所有者節(jié)點(diǎn)時(shí),該一個(gè)對(duì)等節(jié)點(diǎn)啟動(dòng)修改該數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求,該請(qǐng)求包括該數(shù)據(jù)結(jié)構(gòu)中的一個(gè)并且被該一個(gè)對(duì)等節(jié)點(diǎn)所擁有,并且該請(qǐng)求發(fā)送到網(wǎng)絡(luò)上的所有節(jié)點(diǎn) '及
[0026]所有者節(jié)點(diǎn)接收并執(zhí)行該請(qǐng)求,以修改數(shù)據(jù)結(jié)構(gòu)。
[0027]在一種實(shí)施例中,該方法包括:
[0028]所有者節(jié)點(diǎn)啟動(dòng)關(guān)于修改的數(shù)據(jù)結(jié)構(gòu)的響應(yīng),該響應(yīng)是該數(shù)據(jù)結(jié)構(gòu)中的一個(gè)并且被所有者節(jié)點(diǎn)所擁有,并且該響應(yīng)在網(wǎng)絡(luò)上被復(fù)制。
[0029]在一種實(shí)施例中,該方法包括:
[0030]當(dāng)響應(yīng)被非所有者節(jié)點(diǎn)接收時(shí),進(jìn)行接收的節(jié)點(diǎn)確定它是否已經(jīng)接收到該響應(yīng),并且如果是的話則丟棄該響應(yīng),如果不是的話則處理該響應(yīng)。
[0031]在一種實(shí)施例中,響應(yīng)包括用于該修改的數(shù)據(jù)結(jié)構(gòu)的標(biāo)識(shí)符。
[0032]在一種實(shí)施例中,該請(qǐng)求包括唯一識(shí)別該請(qǐng)求的標(biāo)簽。
[0033]在一種實(shí)施例中,該方法包括:
[0034]當(dāng)一個(gè)對(duì)等節(jié)點(diǎn)期望修改該數(shù)據(jù)結(jié)構(gòu)并且確定它是所有者節(jié)點(diǎn)時(shí),該一個(gè)對(duì)等節(jié)點(diǎn)修改該數(shù)據(jù)結(jié)構(gòu)。
[0035]在一種實(shí)施例中,當(dāng)分區(qū)把網(wǎng)絡(luò)分成多個(gè)網(wǎng)絡(luò)分區(qū)時(shí),每個(gè)網(wǎng)絡(luò)分區(qū)上的復(fù)制保持為可運(yùn)行的。
[0036]在一種實(shí)施例中,當(dāng)該分區(qū)結(jié)束時(shí),跨該分區(qū)的復(fù)制恢復(fù)。
[0037]在一種實(shí)施例中,該網(wǎng)絡(luò)是其中所有節(jié)點(diǎn)不是直接連接的網(wǎng)絡(luò)。
[0038]在一種實(shí)施例中,該數(shù)據(jù)結(jié)構(gòu)包括所有者節(jié)點(diǎn)的標(biāo)識(shí)符。
[0039]在一種實(shí)施例中,該數(shù)據(jù)結(jié)構(gòu)包含跨所有節(jié)點(diǎn)而全局唯一的標(biāo)識(shí)符。
[0040]在一種實(shí)施例中,該數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)在數(shù)據(jù)庫(kù)中。
[0041]在一種實(shí)施例中,該方法實(shí)現(xiàn)了關(guān)系數(shù)據(jù)庫(kù)。
[0042]在一種實(shí)施例中,該數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)庫(kù)表中的行。
[0043]在一種實(shí)施例中,該數(shù)據(jù)庫(kù)結(jié)構(gòu)描述網(wǎng)絡(luò)接口、文件系統(tǒng)或者文件系統(tǒng)快照。
[0044]在一種實(shí)施例中,該數(shù)據(jù)結(jié)構(gòu)、請(qǐng)求和響應(yīng)通過(guò)傳播而復(fù)制到網(wǎng)絡(luò)上的所有節(jié)點(diǎn)。
[0045]根據(jù)本發(fā)明的另一種實(shí)施例,提供了一種由計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)的方法,該方法包括:
[0046]獲得在多個(gè)對(duì)等節(jié)點(diǎn)上復(fù)制的數(shù)據(jù)結(jié)構(gòu)的副本中的信息,該信息指示其中一個(gè)對(duì)等節(jié)點(diǎn)作為具有更新該數(shù)據(jù)結(jié)構(gòu)的專用權(quán)的所有者節(jié)點(diǎn);
[0047]經(jīng)由該信息確定對(duì)等節(jié)點(diǎn)是否是所有者節(jié)點(diǎn);
[0048]如果該對(duì)等節(jié)點(diǎn)不是所有者節(jié)點(diǎn),則執(zhí)行包括以下的動(dòng)作:
[0049]向所有直接連接的對(duì)等節(jié)點(diǎn)發(fā)送更新該數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求,以傳播該請(qǐng)求;
[0050]所有者節(jié)點(diǎn)接收請(qǐng)求,在接收到該請(qǐng)求之后更新該數(shù)據(jù)結(jié)構(gòu)并且向所有直接連接的對(duì)等節(jié)點(diǎn)發(fā)送關(guān)于更新的數(shù)據(jù)結(jié)構(gòu)的更新,以傳播該更新。
[0051 ] 根據(jù)本發(fā)明的另一種實(shí)施例,在計(jì)算環(huán)境中,在網(wǎng)絡(luò)中的多個(gè)對(duì)等節(jié)點(diǎn)中的每個(gè)上面提供了一個(gè)裝置,該裝置包括:
[0052]復(fù)制管理器,可操作用于參與跨對(duì)等節(jié)點(diǎn)復(fù)制數(shù)據(jù)結(jié)構(gòu);
[0053]更新管理器,可操作用于更新對(duì)等節(jié)點(diǎn)上的數(shù)據(jù)結(jié)構(gòu)的副本;及[0054]配置管理器,可操作用于:基于數(shù)據(jù)結(jié)構(gòu)中所包括的信息確定對(duì)等節(jié)點(diǎn)是否是該數(shù)據(jù)結(jié)構(gòu)的所有者節(jié)點(diǎn);如果該對(duì)等節(jié)點(diǎn)不是所有者節(jié)點(diǎn),則啟動(dòng)修改該數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求;并且處理對(duì)關(guān)于修改的數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求的響應(yīng),其中所有者節(jié)點(diǎn)具有更新數(shù)據(jù)結(jié)構(gòu)的專用權(quán),并且請(qǐng)求和響應(yīng)也是跨對(duì)等節(jié)點(diǎn)復(fù)制的數(shù)據(jù)結(jié)構(gòu)。
【專利附圖】

【附圖說(shuō)明】
[0055]通過(guò)結(jié)合附圖參考對(duì)各種實(shí)施例的具體描述,本發(fā)明可以得到更充分的理解,其中:
[0056]圖1是用于實(shí)踐本發(fā)明一種實(shí)施例的多個(gè)聯(lián)網(wǎng)對(duì)等節(jié)點(diǎn)的示意性框圖;
[0057]圖2是根據(jù)本發(fā)明一種實(shí)施例的、涉及數(shù)據(jù)結(jié)構(gòu)的副本的示例性動(dòng)作的框圖;
[0058]圖3是根據(jù)本發(fā)明一種實(shí)施例的、配置為對(duì)等節(jié)點(diǎn)的裝置的框圖;
[0059]圖4是根據(jù)本發(fā)明一種實(shí)施例的、在尋求修改數(shù)據(jù)結(jié)構(gòu)的對(duì)等節(jié)點(diǎn)上可能發(fā)生的動(dòng)作的流程圖;
[0060]圖5是根據(jù)本發(fā)明一種實(shí)施例的、在接收修改數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求的對(duì)等節(jié)點(diǎn)上可能發(fā)生的動(dòng)作的流程圖 '及
[0061]圖6是其中可以實(shí)現(xiàn)本發(fā)明各種實(shí)施例的計(jì)算系統(tǒng)環(huán)境的框圖。
【具體實(shí)施方式】
[0062]圖1是用于示出本發(fā)明一種實(shí)施例的、網(wǎng)絡(luò)100中的多個(gè)對(duì)等節(jié)點(diǎn)101(標(biāo)記為A、B、C、D、E、F)的示意圖。每個(gè)對(duì)等節(jié)點(diǎn)具有全局唯一標(biāo)識(shí)符(⑶ID),使得每個(gè)對(duì)等節(jié)點(diǎn)都可以經(jīng)由網(wǎng)絡(luò)上傳送的消息來(lái)識(shí)別它在與哪個(gè)節(jié)點(diǎn)通信。對(duì)等節(jié)點(diǎn)以其中只有一些節(jié)點(diǎn)直接連接到其它節(jié)點(diǎn)的配置來(lái)進(jìn)行布置。節(jié)點(diǎn)A直接連接到節(jié)點(diǎn)B和D ;節(jié)點(diǎn)D直接連接到節(jié)點(diǎn)A、C和E ;節(jié)點(diǎn)B直接連接到節(jié)點(diǎn)A和C ;節(jié)點(diǎn)C直接連接到節(jié)點(diǎn)B和D ;節(jié)點(diǎn)E直接連接到節(jié)點(diǎn)D和F ;而節(jié)點(diǎn)F直接連接到節(jié)點(diǎn)E。在這個(gè)例子中,網(wǎng)絡(luò)可以如虛線103所指示的那樣地分區(qū)(在某個(gè)時(shí)間點(diǎn)),其中節(jié)點(diǎn)A-D位于一個(gè)網(wǎng)絡(luò)分區(qū)104上(該分區(qū)的左手側(cè)),而節(jié)點(diǎn)E-F位于另一個(gè)網(wǎng)絡(luò)分區(qū)105上(該分區(qū)的右手側(cè))。在圖1中還示出了諸如管理員的用戶106,他可以查看網(wǎng)絡(luò)的一個(gè)對(duì)等節(jié)點(diǎn)(例如,節(jié)點(diǎn)A),從而具有局部視圖107,或者可以另選地查看全部多個(gè)節(jié)點(diǎn)并且具有全局視圖108。
[0063]在各種實(shí)施例中,網(wǎng)絡(luò)可以包括一個(gè)或多個(gè)局域網(wǎng)、廣域網(wǎng)、直接連接、虛擬連接、私有網(wǎng)絡(luò)、虛擬私有網(wǎng)絡(luò)、互聯(lián)網(wǎng)、以上所述的某種組合,等等。
[0064]每個(gè)對(duì)等節(jié)點(diǎn)都可以在一個(gè)或多個(gè)計(jì)算機(jī)上實(shí)現(xiàn)或者實(shí)現(xiàn)為一個(gè)或多個(gè)計(jì)算機(jī),諸如結(jié)合圖6所描述的計(jì)算機(jī)。對(duì)等節(jié)點(diǎn)101可以包括一個(gè)或多個(gè)處理,該處理請(qǐng)求直接或間接地訪問(wèn)存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)。對(duì)等節(jié)點(diǎn)可以包括一個(gè)或多個(gè)處理,該處理請(qǐng)求直接或間接地訪問(wèn)存儲(chǔ)在數(shù)據(jù)儲(chǔ)存裝置(data store)中的數(shù)據(jù)。對(duì)等節(jié)點(diǎn)可以包括用于組織或表示對(duì)數(shù)據(jù)的訪問(wèn)的文件系統(tǒng)等。
[0065]在一個(gè)例子中,數(shù)據(jù)庫(kù)包括能夠以結(jié)構(gòu)化的格式存儲(chǔ)數(shù)據(jù)的儲(chǔ)存庫(kù)。術(shù)語(yǔ)“數(shù)據(jù)”被廣義地理解為包括可以存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)介質(zhì)上的任何東西。數(shù)據(jù)的一些例子包括信息、程序代碼、程序狀態(tài)、程序數(shù)據(jù)、其它數(shù)據(jù)等。
[0066]存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)可以在表、記錄、對(duì)象或其它數(shù)據(jù)結(jié)構(gòu)等中組織。數(shù)據(jù)庫(kù)可以包括關(guān)系數(shù)據(jù)庫(kù)、面向?qū)ο蟮臄?shù)據(jù)庫(kù)、層次數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)數(shù)據(jù)庫(kù)或者其它類型的數(shù)據(jù)庫(kù)、以上所述的某種組合或擴(kuò)展,等等。
[0067]數(shù)據(jù)庫(kù)可以經(jīng)由數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)訪問(wèn),包括控制數(shù)據(jù)庫(kù)中的數(shù)據(jù)的組織、存儲(chǔ)、管理和檢索的一個(gè)或多個(gè)程序。DBMS可以接收訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)的請(qǐng)求并且可以執(zhí)行提供這種訪問(wèn)所需的操作。訪問(wèn)可以包括讀數(shù)據(jù)、寫(xiě)數(shù)據(jù)、刪除數(shù)據(jù)、更新數(shù)據(jù)、包括以上所述一個(gè)或多個(gè)的組合,等等。數(shù)據(jù)庫(kù)可以存儲(chǔ)在數(shù)據(jù)儲(chǔ)存裝置上,包括能夠存儲(chǔ)數(shù)據(jù)的任何存儲(chǔ)介質(zhì)。在其上存儲(chǔ)數(shù)據(jù)庫(kù)的數(shù)據(jù)儲(chǔ)存裝置可以是外部的、內(nèi)部的,或者包括在對(duì)等節(jié)點(diǎn)內(nèi)部和外部二者的組件。
[0068]返回圖1,在本發(fā)明的一個(gè)例子中,位于節(jié)點(diǎn)A的用戶106啟動(dòng)對(duì)位于節(jié)點(diǎn)C的文件系統(tǒng)一(FS-1)的快照(snap)的命令。節(jié)點(diǎn)A確定它不是FS-1的所有者并且因此啟動(dòng)對(duì)FS-1的快照的請(qǐng)求,它把這個(gè)請(qǐng)求發(fā)送到網(wǎng)絡(luò)100上所有直接連接的節(jié)點(diǎn),即,節(jié)點(diǎn)D和B。進(jìn)行接收的節(jié)點(diǎn)D和B進(jìn)一步把該請(qǐng)求傳播到所有直接連接的節(jié)點(diǎn),由此在節(jié)點(diǎn)C處將從節(jié)點(diǎn)B和D接收到該請(qǐng)求的兩個(gè)拷貝。類似地,節(jié)點(diǎn)E和F (假設(shè)沒(méi)有分區(qū))將經(jīng)由節(jié)點(diǎn)D接收到該請(qǐng)求。
[0069]當(dāng)節(jié)點(diǎn)C接收到第一個(gè)請(qǐng)求時(shí),節(jié)點(diǎn)C確定它是關(guān)于FS-1的所有者節(jié)點(diǎn)。因此,它執(zhí)行該請(qǐng)求,生成FS-1的快照。然后,節(jié)點(diǎn)C啟動(dòng)關(guān)于該文件系統(tǒng)快照的響應(yīng),它把該響應(yīng)發(fā)送到所有直接連接的節(jié)點(diǎn)(即節(jié)點(diǎn)B和D),節(jié)點(diǎn)B和D通過(guò)把該響應(yīng)發(fā)送到所有直接連接的節(jié)點(diǎn)來(lái)進(jìn)一步傳播該響應(yīng)。以這種方式,請(qǐng)求的發(fā)起者即節(jié)點(diǎn)A接收到響應(yīng)?,F(xiàn)在,節(jié)點(diǎn)A可以向用戶106提供快照FS-1。當(dāng)節(jié)點(diǎn)C接收到第二個(gè)請(qǐng)求時(shí),它簡(jiǎn)單地忽略它。以類似的方式,當(dāng)節(jié)點(diǎn)A從節(jié)點(diǎn)B和D都接收到響應(yīng)時(shí),它簡(jiǎn)單地忽略第二個(gè)響應(yīng)。
[0070]在一種另選的實(shí)施例中,先前在節(jié)點(diǎn)A上請(qǐng)求FS-1的快照的用戶106可以移動(dòng)到節(jié)點(diǎn)B并且在這里等待響應(yīng)和快照FS-1。另選地,管理員106可以從節(jié)點(diǎn)B而不是節(jié)點(diǎn)A啟動(dòng)請(qǐng)求。因此,管理員可以連接到任何一個(gè)參與的節(jié)點(diǎn)并且有效地管理整個(gè)節(jié)點(diǎn)組。
[0071]在一個(gè)另選的例子中,其中一個(gè)節(jié)點(diǎn)可以啟動(dòng)對(duì)文件系統(tǒng)完整性檢查的請(qǐng)求,而不是對(duì)文件系統(tǒng)快照的請(qǐng)求。然后,所有者節(jié)點(diǎn)將發(fā)送關(guān)于所請(qǐng)求的完整性檢查的響應(yīng)或周期性響應(yīng)。
[0072]所述實(shí)施例可以用于跨多個(gè)節(jié)點(diǎn)使關(guān)系數(shù)據(jù)庫(kù)同步。在關(guān)系數(shù)據(jù)庫(kù)中,表中的一行是一個(gè)數(shù)據(jù)結(jié)構(gòu)。通過(guò)把對(duì)任意給定行的更新限定到單個(gè)所有者節(jié)點(diǎn),消除了對(duì)分布式鎖的需求。只有擁有該數(shù)據(jù)結(jié)構(gòu)的節(jié)點(diǎn)被允許改變它,而其它所有節(jié)點(diǎn)必須請(qǐng)求該所有者節(jié)點(diǎn)為它們改變?cè)摂?shù)據(jù)結(jié)構(gòu)。因此,數(shù)據(jù)結(jié)構(gòu)的所有關(guān)系是專用的。
[0073]通過(guò)把修改數(shù)據(jù)結(jié)構(gòu)的能力限定到一個(gè)所有者,并且要求非所有者請(qǐng)求由所有者進(jìn)行修改,復(fù)制期間的沖突是不可能的并且事務(wù)一致性可以維持。優(yōu)選地,每個(gè)對(duì)等節(jié)點(diǎn)都保持對(duì)數(shù)據(jù)結(jié)構(gòu)的每次修改的記錄并且每個(gè)對(duì)等節(jié)點(diǎn)都不是按接收到事務(wù)變化的次序,而是按它們被創(chuàng)建的次序來(lái)應(yīng)用事務(wù)變化。當(dāng)對(duì)等節(jié)點(diǎn)由于更新從事務(wù)變化流中丟失而不能應(yīng)用變化時(shí),該節(jié)點(diǎn)負(fù)責(zé)向其對(duì)等節(jié)點(diǎn)索取丟失的事務(wù)。在一種實(shí)施例中,事務(wù)可以包括:
[0074]1.同樣由(請(qǐng)求該改變的)發(fā)起節(jié)點(diǎn)所擁有的單調(diào)增加的事務(wù)數(shù);
[0075]2.改變被應(yīng)用到的模式修訂版本;及
[0076]3.對(duì)數(shù)據(jù)結(jié)構(gòu)所做的所有改變的記錄。
[0077]還有,如果例如由于節(jié)點(diǎn)離線或者節(jié)點(diǎn)之間的鏈路發(fā)生故障而網(wǎng)絡(luò)被分區(qū),則該分區(qū)相對(duì)側(cè)上的多個(gè)網(wǎng)絡(luò)分區(qū)繼續(xù)運(yùn)行,即使在該分區(qū)發(fā)生數(shù)據(jù)丟失也是如此。每個(gè)節(jié)點(diǎn)繼續(xù)從該分區(qū)的它那一側(cè)的節(jié)點(diǎn)接收請(qǐng)求、響應(yīng)及數(shù)據(jù)結(jié)構(gòu)更新。然后,當(dāng)該分區(qū)被去除時(shí)(例如,節(jié)點(diǎn)重新上線或者鏈路恢復(fù)運(yùn)行)而且以前的網(wǎng)絡(luò)分區(qū)結(jié)合到一起,現(xiàn)在這兩側(cè)都將接收新的響應(yīng)、請(qǐng)求和更新,并且,因?yàn)槊總€(gè)節(jié)點(diǎn)都跟蹤更新(例如,通過(guò)發(fā)起的時(shí)間),所以它可以確定它丟失了哪些更新、要求其它節(jié)點(diǎn)發(fā)送丟失的更新,然后按正確的次序應(yīng)用所有更新,使得(以前的)分區(qū)兩側(cè)上的節(jié)點(diǎn)都重新回到同步。
[0078]所生成的請(qǐng)求和響應(yīng)優(yōu)選本身就是在對(duì)等節(jié)點(diǎn)上被復(fù)制的數(shù)據(jù)結(jié)構(gòu),例如,通過(guò)傳播到所有直接連接的節(jié)點(diǎn)以最終被所有節(jié)點(diǎn)接收。因而,不僅(由所有者節(jié)點(diǎn)生成的)修改的數(shù)據(jù)結(jié)構(gòu)在網(wǎng)絡(luò)上被復(fù)制,而且請(qǐng)求和響應(yīng)也是可以類似地被復(fù)制的數(shù)據(jù)結(jié)構(gòu)。通過(guò)利用現(xiàn)有的復(fù)制處理,這簡(jiǎn)化了請(qǐng)求和響應(yīng)的實(shí)現(xiàn)。此外,通過(guò)將請(qǐng)求的發(fā)起者指定為請(qǐng)求數(shù)據(jù)結(jié)構(gòu)的所有者,并且將響應(yīng)的發(fā)起者指定為響應(yīng)數(shù)據(jù)結(jié)構(gòu)的所有者,沒(méi)有其它(非所有者)節(jié)點(diǎn)可以修改該請(qǐng)求或響應(yīng)。
[0079]圖2示出了修改數(shù)據(jù)結(jié)構(gòu)的方法的一個(gè)例子。在這里,有標(biāo)記為P1、P2和P3的三個(gè)對(duì)等節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)保持?jǐn)?shù)據(jù)結(jié)構(gòu)的一個(gè)副本。在這個(gè)例子中,數(shù)據(jù)結(jié)構(gòu)有三個(gè)字段,第一個(gè)字段具有索引鍵k、第二個(gè)字段具有值X,而第三個(gè)字段具有該數(shù)據(jù)結(jié)構(gòu)的所有者的標(biāo)識(shí)符。在這里,節(jié)點(diǎn)3 (P3)被指定為所有者節(jié)點(diǎn)并且因此是唯一可以修改該數(shù)據(jù)結(jié)構(gòu)的節(jié)點(diǎn)。如圖2中所示出的,當(dāng)從另一個(gè)節(jié)點(diǎn)接收到請(qǐng)求時(shí),或者當(dāng)它自己主動(dòng)進(jìn)行時(shí),節(jié)點(diǎn)P3修改第二個(gè)數(shù)據(jù)字段,以把它從X變成y。然后,所有者節(jié)點(diǎn)P3把這個(gè)修改復(fù)制到其它節(jié)點(diǎn)Pl和P2。在復(fù)制之后,所有3個(gè)節(jié)點(diǎn)在每個(gè)字段中都包含相同的數(shù)據(jù)。
[0080]圖3示出了用于實(shí)現(xiàn)對(duì)等節(jié)點(diǎn)的裝置120的一種實(shí)施例。該裝置包括各種程序模塊122、數(shù)據(jù)儲(chǔ)存裝置124和通信機(jī)構(gòu)126。程序模塊可以包括復(fù)制管理器130、更新管理器132和配置管理器134。通信機(jī)構(gòu)126允許裝置與網(wǎng)絡(luò)上的其它節(jié)點(diǎn)通信。通信機(jī)構(gòu)可以是網(wǎng)絡(luò)接口或適配器、調(diào)制解調(diào)器或者用于與其它節(jié)點(diǎn)建立通信的任何其它機(jī)構(gòu)。
[0081]數(shù)據(jù)儲(chǔ)存裝置124是能夠存儲(chǔ)數(shù)據(jù)的任何存儲(chǔ)介質(zhì)。儲(chǔ)存裝置可以包括文件系統(tǒng)或數(shù)據(jù)庫(kù)。儲(chǔ)存裝置可以是外部的、內(nèi)部的或者包括在裝置120內(nèi)部和外部?jī)烧叩慕M件。
[0082]復(fù)制管理器130可操作用于參與跨對(duì)等節(jié)點(diǎn)復(fù)制數(shù)據(jù)結(jié)構(gòu)。這可以通過(guò)發(fā)送數(shù)據(jù)結(jié)構(gòu)、對(duì)數(shù)據(jù)結(jié)構(gòu)的改變、改變數(shù)據(jù)結(jié)構(gòu)中所涉及的動(dòng)作或者本領(lǐng)域技術(shù)人員理解的各種其它途徑來(lái)進(jìn)行。例如,在更新管理器132更新數(shù)據(jù)結(jié)構(gòu)之后,對(duì)副本的修改(更新)可以經(jīng)由復(fù)制管理器130復(fù)制到其它對(duì)等節(jié)點(diǎn)。
[0083]如前面所描述的,配置管理器134實(shí)現(xiàn)了對(duì)修改數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求和響應(yīng)。
[0084]圖4-5是一般性地表示根據(jù)本發(fā)明各種實(shí)施例可能發(fā)生的動(dòng)作的流程圖。應(yīng)當(dāng)理解,流程圖不是限制性的并且所示出的動(dòng)作可以按其它次序執(zhí)行,可以出現(xiàn)附加的動(dòng)作或者刪除一個(gè)或多個(gè)動(dòng)作。
[0085]圖4是一般性地表示在期望修改數(shù)據(jù)結(jié)構(gòu)的對(duì)等節(jié)點(diǎn)上可能發(fā)生的動(dòng)作的流程圖140。在第一個(gè)方框141,動(dòng)作開(kāi)始。在下一個(gè)方框142,例如,從數(shù)據(jù)結(jié)構(gòu)本身當(dāng)中獲得數(shù)據(jù)結(jié)構(gòu)的所有關(guān)系信息。在下一個(gè)方框143,例如通過(guò)利用圖3的配置管理器134,對(duì)等節(jié)點(diǎn)確定它是否是數(shù)據(jù)結(jié)構(gòu)的所有者。對(duì)等節(jié)點(diǎn)可以確定它是數(shù)據(jù)結(jié)構(gòu)的所有者(方框144)。如果不是,則在下一個(gè)方框145,例如,對(duì)等節(jié)點(diǎn)啟動(dòng)請(qǐng)求,該請(qǐng)求經(jīng)由圖3的通信機(jī)構(gòu)126被發(fā)送到其所有相鄰的(直接連接的)對(duì)等節(jié)點(diǎn)。在下一個(gè)方框146,從所有者節(jié)點(diǎn)接收對(duì)該請(qǐng)求的響應(yīng)。然后,對(duì)等節(jié)點(diǎn)處理該響應(yīng)并且相應(yīng)地修改數(shù)據(jù)結(jié)構(gòu)(下一個(gè)方框147);這可以由圖3的更新管理器132執(zhí)行。在下一個(gè)方框148,如果有其它動(dòng)作的話,則執(zhí)行它們。
[0086]另選地,如果發(fā)起所期望的改變的節(jié)點(diǎn)確定它是該數(shù)據(jù)結(jié)構(gòu)的所有者節(jié)點(diǎn)(在方框144),則它立即前進(jìn)到修改該數(shù)據(jù)結(jié)構(gòu)(方框147)。在這里,不需要發(fā)送請(qǐng)求。在這種情況下,所有者節(jié)點(diǎn)將隨后生成關(guān)于修改的數(shù)據(jù)結(jié)構(gòu)的消息,該消息被發(fā)送(方框148)到所有直接連接的節(jié)點(diǎn)并且在網(wǎng)絡(luò)上傳播,以在所有對(duì)等節(jié)點(diǎn)上復(fù)制該修改的數(shù)據(jù)結(jié)構(gòu)。
[0087]圖5是一般性地表示在接收修改數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求的對(duì)等節(jié)點(diǎn)上可能發(fā)生的動(dòng)作的流程圖150。在第一個(gè)方框151,動(dòng)作開(kāi)始。在下一個(gè)方框152,對(duì)等節(jié)點(diǎn)接收修改數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求。在下一個(gè)方框154,例如通過(guò)利用圖3的配置管理器134,該對(duì)等點(diǎn)確定它是否是該數(shù)據(jù)結(jié)構(gòu)的所有者節(jié)點(diǎn)。如果該節(jié)點(diǎn)確定它是這個(gè)數(shù)據(jù)結(jié)構(gòu)的所有者,則在下一個(gè)方框155中,例如通過(guò)利用圖3的更新管理器132,該節(jié)點(diǎn)修改該數(shù)據(jù)結(jié)構(gòu)。然后,所有者節(jié)點(diǎn)通過(guò)如下方式把關(guān)于該修改的數(shù)據(jù)結(jié)構(gòu)的響應(yīng)發(fā)送到網(wǎng)絡(luò)上的所有其它節(jié)點(diǎn):把該響應(yīng)直接發(fā)送到所有直接連接的節(jié)點(diǎn),然后又將該響應(yīng)傳播到其它節(jié)點(diǎn)(方框156)。在方框157,如果有其它動(dòng)作的話,則執(zhí)行它們。
[0088]另選地,在方框154,如果對(duì)等點(diǎn)確定它不是所有者對(duì)等點(diǎn),則它避免對(duì)請(qǐng)求作出響應(yīng)(方框158)。相反,它立即進(jìn)行其它任何動(dòng)作(方框157),例如,把請(qǐng)求轉(zhuǎn)發(fā)到所有直接連接的節(jié)點(diǎn),以便把請(qǐng)求傳播到其它節(jié)點(diǎn)。
[0089]圖6示出了可以實(shí)現(xiàn)本發(fā)明的主旨的各方面的每個(gè)節(jié)點(diǎn)處的計(jì)算系統(tǒng)(計(jì)算機(jī))的例子。這僅僅是計(jì)算系統(tǒng)的一個(gè)例子,而且它不意味著是限定性的??偟膩?lái)說(shuō),這里所描述的主旨可以實(shí)現(xiàn)為通用或?qū)S糜?jì)算系統(tǒng),包括服務(wù)器計(jì)算機(jī)、多處理器系統(tǒng)、網(wǎng)絡(luò)PC、大型機(jī)計(jì)算系統(tǒng)及包括以上任何系統(tǒng)或設(shè)備的系統(tǒng),等等。
[0090]本發(fā)明的主旨可以實(shí)現(xiàn)為由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令,諸如程序模塊。這種程序模塊可以包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等。任務(wù)可以由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行。
[0091]在圖6的例子中,計(jì)算裝置210包括處理器220、存儲(chǔ)器222、數(shù)據(jù)儲(chǔ)存裝置224、盤(pán)驅(qū)動(dòng)器225、鍵盤(pán)/鼠標(biāo)230、顯示器226和網(wǎng)絡(luò)接口 232。組件經(jīng)由系統(tǒng)總線234耦合到一起。本發(fā)明的軟件產(chǎn)品可以加載到數(shù)據(jù)儲(chǔ)存裝置224中并且在運(yùn)行期間被傳送到(例如RAM的)存儲(chǔ)器222中并且由處理器220執(zhí)行。
[0092]計(jì)算機(jī)210在聯(lián)網(wǎng)環(huán)境中運(yùn)行。例如,網(wǎng)絡(luò)接口 232可以把系統(tǒng)總線234耦合到局域網(wǎng)(LAN),該LAN提供對(duì)可以具有內(nèi)部或外部?jī)?chǔ)存裝置的遠(yuǎn)程計(jì)算機(jī)的訪問(wèn)。當(dāng)在廣域網(wǎng)(WAN)環(huán)境中使用時(shí),計(jì)算機(jī)210可以經(jīng)由調(diào)制解調(diào)器在WAN (諸如互聯(lián)網(wǎng))上與遠(yuǎn)程計(jì)算機(jī)和儲(chǔ)存裝置通信。
[0093]如在此所使用的,計(jì)算機(jī)可讀介質(zhì)可以是可以由計(jì)算機(jī)訪問(wèn)的任何介質(zhì),既包括易失性又包括非易失性介質(zhì),既包括可移動(dòng)又包括不可移動(dòng)介質(zhì)。
[0094]如在此所使用的,計(jì)算機(jī)存儲(chǔ)介質(zhì)既包括易失性又包括非易失性介質(zhì),既包括可移動(dòng)又包括不可移動(dòng)介質(zhì),以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)的信息。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括RAM、ROM、EEPROM、FLASH存儲(chǔ)器或者其它存儲(chǔ)器技術(shù),CD-ROM、數(shù)字通用光盤(pán)(DVD )或者其它光盤(pán)儲(chǔ)存裝置,盒式磁帶、磁帶、磁盤(pán)儲(chǔ)存裝置或者其它磁性存儲(chǔ)設(shè)備,或者可以用于存儲(chǔ)期望的信息并且可以由計(jì)算機(jī)訪問(wèn)的任何其它介質(zhì)。[0095]鏈接網(wǎng)絡(luò)上對(duì)等節(jié)點(diǎn)的通信介質(zhì)可以包括有線介質(zhì)及諸如聲音、RF、紅外線或其它無(wú)線介質(zhì)的無(wú)線介質(zhì)。通信介質(zhì)可以傳送被調(diào)制的數(shù)據(jù)信號(hào),諸如用信息或任何其它傳輸機(jī)制進(jìn)行編碼的載波。術(shù)語(yǔ)“被調(diào)制的數(shù)據(jù)信號(hào)”意味著具有一個(gè)或多個(gè)特性變化以便在信號(hào)中編碼信息的信號(hào)。在另一個(gè)實(shí)施例中,節(jié)點(diǎn)可以暫時(shí)性地連接,例如,允許通過(guò)USB鑰匙(key)傳輸數(shù)據(jù)結(jié)構(gòu)更新。
[0096]如在此所使用的,術(shù)語(yǔ)“包括”及其變體應(yīng)當(dāng)理解為意味著“包括但不限于”的開(kāi)放式術(shù)語(yǔ)。除非上下文明確地另外的指示,否則術(shù)語(yǔ)“或者”應(yīng)當(dāng)理解為“和/或”。
[0097]應(yīng)當(dāng)理解,以上描述意在說(shuō)明而不是限制本發(fā)明的范圍。
【權(quán)利要求】
1.一種包含用于復(fù)制數(shù)據(jù)結(jié)構(gòu)的方法的可執(zhí)行程序指令的計(jì)算機(jī)可讀介質(zhì),該方法包括: 在對(duì)等節(jié)點(diǎn)的網(wǎng)絡(luò)上,其中數(shù)據(jù)結(jié)構(gòu)被復(fù)制到所述網(wǎng)絡(luò)上的所有節(jié)點(diǎn); 把單個(gè)對(duì)等節(jié)點(diǎn)指定為數(shù)據(jù)結(jié)構(gòu)的所有者; 只允許所指定的所有者節(jié)點(diǎn)修改所述數(shù)據(jù)結(jié)構(gòu);及 當(dāng)一個(gè)對(duì)等節(jié)點(diǎn)期望修改所述數(shù)據(jù)結(jié)構(gòu)并且確定它不是所有者節(jié)點(diǎn)時(shí),所述一個(gè)對(duì)等節(jié)點(diǎn)啟動(dòng)修改所述數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求,所述請(qǐng)求包括所述數(shù)據(jù)結(jié)構(gòu)中的一個(gè)并被所述一個(gè)對(duì)等節(jié)點(diǎn)所擁有,并且所述請(qǐng)求發(fā)送到所述網(wǎng)絡(luò)上的所有節(jié)點(diǎn);以及所述所有者節(jié)點(diǎn)接收并執(zhí)行所述請(qǐng)求,以修改所述數(shù)據(jù)結(jié)構(gòu)。
2.如權(quán)利要求1所述的介質(zhì),其中所述方法包括: 所述所有者節(jié)點(diǎn)啟動(dòng)關(guān)于修改的數(shù)據(jù)結(jié)構(gòu)的響應(yīng),所述響應(yīng)是所述數(shù)據(jù)結(jié)構(gòu)中的一個(gè)并被所有者節(jié)點(diǎn)所擁有,并且所述響應(yīng)在網(wǎng)絡(luò)上被發(fā)送到所有節(jié)點(diǎn)。
3.如權(quán)利要求2所述的介質(zhì),其中該方法包括: 當(dāng)所述響應(yīng)被非所有者節(jié)點(diǎn)接收時(shí),進(jìn)行接收的節(jié)點(diǎn)確定它是否已經(jīng)接收到所述響應(yīng),并且如果是的話則丟棄所述響應(yīng),如果不是的話則處理所述響應(yīng)。
4.如權(quán)利要求2所述的介質(zhì),其中所述響應(yīng)包括用于修改的數(shù)據(jù)結(jié)構(gòu)的標(biāo)識(shí)符。
5.如權(quán)利要求1所述的介質(zhì),其中所述請(qǐng)求包括唯一識(shí)別所述請(qǐng)求的標(biāo)簽。
6.如權(quán)利要求1所述的介質(zhì),其中所述方法包括: 當(dāng)一個(gè)對(duì)等節(jié)點(diǎn)期望修改所述數(shù)據(jù)結(jié)構(gòu)并且確定它是所有者節(jié)點(diǎn)時(shí),所述一個(gè)對(duì)等節(jié)點(diǎn)修改所述數(shù)據(jù)結(jié)構(gòu)。
7.如權(quán)利要求1所述的介質(zhì),其中當(dāng)分區(qū)把所述網(wǎng)絡(luò)分成多個(gè)網(wǎng)絡(luò)分區(qū)時(shí),每個(gè)網(wǎng)絡(luò)分區(qū)上的復(fù)制保持為可運(yùn)行的。
8.如權(quán)利要求7所述的介質(zhì),其中當(dāng)所述分區(qū)結(jié)束時(shí),跨所述分區(qū)的復(fù)制恢復(fù)。
9.如權(quán)利要求1所述的介質(zhì),其中所述網(wǎng)絡(luò)是其中所有節(jié)點(diǎn)不直接連接的網(wǎng)絡(luò)。
10.如權(quán)利要求1所述的介質(zhì),其中所述數(shù)據(jù)結(jié)構(gòu)包括所有者節(jié)點(diǎn)的標(biāo)識(shí)符。
11.如權(quán)利要求1所述的介質(zhì),其中所述數(shù)據(jù)結(jié)構(gòu)包含跨所有節(jié)點(diǎn)而全局唯一的標(biāo)識(shí)符。
12.如權(quán)利要求1所述的介質(zhì),其中所述數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)在數(shù)據(jù)庫(kù)中。
13.如權(quán)利要求1所述的介質(zhì),其中所述方法實(shí)現(xiàn)了關(guān)系數(shù)據(jù)庫(kù)。
14.如權(quán)利要求1所述的介質(zhì),其中所述數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)庫(kù)表中的行。
15.如權(quán)利要求1所述的介質(zhì),其中所述數(shù)據(jù)結(jié)構(gòu)描述網(wǎng)絡(luò)接口、文件系統(tǒng)或者文件系統(tǒng)快照。
16.如權(quán)利要求2所述的介質(zhì),其中所述數(shù)據(jù)結(jié)構(gòu)、請(qǐng)求和響應(yīng)通過(guò)傳播到網(wǎng)絡(luò)上的所有節(jié)點(diǎn)而被復(fù)制。
17.一種由計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)的方法,所述方法包括: 獲得在多個(gè)對(duì)等節(jié)點(diǎn)上復(fù)制的數(shù)據(jù)結(jié)構(gòu)的副本中的信息,所述信息指示對(duì)等節(jié)點(diǎn)中的一個(gè)作為具有更新該數(shù)據(jù)結(jié)構(gòu)的專用權(quán)的所有者節(jié)點(diǎn); 經(jīng)由所述信息確定對(duì)等節(jié)點(diǎn)是否是所有者節(jié)點(diǎn); 如果所述對(duì)等節(jié)點(diǎn)不是所有者節(jié)點(diǎn),則執(zhí)行如下操作,包括:向所有直接連接的對(duì)等節(jié)點(diǎn)發(fā)送更新所述數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求,以傳播所述請(qǐng)求; 所述所有者節(jié)點(diǎn)接收所述請(qǐng)求,在接收到所述請(qǐng)求之后更新所述數(shù)據(jù)結(jié)構(gòu)并且向所有直接連接的對(duì)等節(jié)點(diǎn)發(fā)送關(guān)于更新的數(shù)據(jù)結(jié)構(gòu)的更新,以傳播所述更新。
18.—種在計(jì)算環(huán)境中在網(wǎng)絡(luò)中的多個(gè)對(duì)等節(jié)點(diǎn)中的每個(gè)上的裝置,所述裝置包括: 復(fù)制管理器,可操作用于參與跨所述對(duì)等節(jié)點(diǎn)復(fù)制數(shù)據(jù)結(jié)構(gòu); 更新管理器,可操作用于更新所述對(duì)等節(jié)點(diǎn)上的所述數(shù)據(jù)結(jié)構(gòu)的副本;以及配置管理器,可 操作用于:基于所述數(shù)據(jù)結(jié)構(gòu)中所包括的信息確定對(duì)等節(jié)點(diǎn)是否是所述數(shù)據(jù)結(jié)構(gòu)的所有者節(jié)點(diǎn);如果所述對(duì)等節(jié)點(diǎn)不是所有者節(jié)點(diǎn),則啟動(dòng)修改所述數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求;并且處理對(duì)關(guān)于修改的數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求的響應(yīng),其中所有者節(jié)點(diǎn)具有更新所述數(shù)據(jù)結(jié)構(gòu)的專用權(quán),并且所述請(qǐng)求和響應(yīng)也是跨所述對(duì)等節(jié)點(diǎn)復(fù)制的數(shù)據(jù)結(jié)構(gòu)。
【文檔編號(hào)】G06F17/30GK103703464SQ201280036259
【公開(kāi)日】2014年4月2日 申請(qǐng)日期:2012年6月13日 優(yōu)先權(quán)日:2011年6月23日
【發(fā)明者】J·E·金三世, M·T·斯塔克, A·J·比弗森, S·巴格比 申請(qǐng)人:森普利維蒂公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
綦江县| 乌海市| 赤水市| 太仓市| 石柱| 响水县| 巴青县| 绥阳县| 图木舒克市| 兴文县| 文安县| 前郭尔| 云阳县| 五台县| 新巴尔虎右旗| 根河市| 祁东县| 汉川市| 衡水市| 泰州市| 类乌齐县| 涟源市| 迁西县| 大冶市| 博乐市| 红安县| 黄冈市| 苍南县| 简阳市| 泾阳县| 金塔县| 白水县| 仁布县| 富民县| 彝良县| 应城市| 渭源县| 碌曲县| 木兰县| 石棉县| 天气|