專利名稱::用于復(fù)制和同步的系統(tǒng)和方法
技術(shù)領(lǐng)域:
:本發(fā)明的實施例涉及用于提供網(wǎng)絡(luò)數(shù)據(jù)服務(wù)器中的復(fù)制(implication)和同步機(jī)制的系統(tǒng)和方法。更特別地,本發(fā)明的實施例涉及使得能夠?qū)崿F(xiàn)穩(wěn)健、高速的數(shù)據(jù)訪問以供在具有許多訂戶的通信網(wǎng)絡(luò)中使用的系統(tǒng)和方法,所述訂戶的各自數(shù)據(jù)可以被部署在集中式數(shù)據(jù)倉庫(repository)中以供在網(wǎng)絡(luò)內(nèi)運(yùn)行的各種應(yīng)用程序訪問。
背景技術(shù):
:現(xiàn)有技術(shù)中的復(fù)制和同步機(jī)制具有許多限制。這些限制包括單線程和單進(jìn)程機(jī)制。目錄系統(tǒng)代理(DSA)中的一個服務(wù)器通常充當(dāng)對該DSA的所有更新的主站(primary)或母站(master),而不管涉及多少其他服務(wù)器或通信距離有多大。單個消息的丟失通常被視為同步的失去。需要一種自動晉升機(jī)制(到主站)以允許第二服務(wù)器在現(xiàn)有主站發(fā)生故障的情況下承擔(dān)主站的責(zé)任。在沒有此類機(jī)制的情況下,可能存在相當(dāng)長的其間不可能有更新的時間段。然而,從單獨服務(wù)器的角度來看,可能不能將到主站服務(wù)器的通信的丟失與該主站的故障區(qū)別開。在沒有其它“上帝之眼的觀點”信息的情況下,服務(wù)器可以在原始主站仍在操作時決定使其自己晉升為主站(結(jié)果有兩個獨立的主站),或者在實際上原始主站已發(fā)生故障時決定不使其自己晉升(結(jié)果沒有主站)。從具有雙主站中恢復(fù)可能需要手動過程且易于發(fā)生暫時、甚至永久性數(shù)據(jù)丟失。
發(fā)明內(nèi)容本發(fā)明的實施例提供一種對等且多線程的用于網(wǎng)絡(luò)數(shù)據(jù)倉庫的復(fù)制和同步機(jī)制。本發(fā)明的實施例還可以在托管(host)網(wǎng)絡(luò)數(shù)據(jù)倉庫的復(fù)制品(r印lica)之間的通信丟失的情況下實現(xiàn)可用替換服務(wù),并在復(fù)制品之間的通信恢復(fù)時提供完全自動的恢復(fù)。在計算機(jī)(例如服務(wù)器)上托管所述復(fù)制品,并且在某些實施例中,可以在計算機(jī)上托管多于一個的復(fù)制品。復(fù)制和同步機(jī)制的實施例還可以提供用于片狀(flaky)(有損耗)網(wǎng)絡(luò)中的網(wǎng)絡(luò)數(shù)據(jù)庫的穩(wěn)健處理。根據(jù)本發(fā)明的實施例,復(fù)制和同步機(jī)制還可以提供條目級(entrylevel)同步和對事務(wù)(transaction)的支持。本發(fā)明的實施例提供一種用于對等網(wǎng)絡(luò)中的網(wǎng)絡(luò)數(shù)據(jù)倉庫的實時數(shù)據(jù)管理的系統(tǒng)。該系統(tǒng)包括在第一服務(wù)器計算機(jī)中托管的多個復(fù)制品中的第一復(fù)制品。第一復(fù)制品被配置為接受對第一復(fù)制品上的復(fù)制品條目的數(shù)據(jù)更新,每個復(fù)制品條目對應(yīng)于網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目。第一復(fù)制品還被配置為將復(fù)制品條目進(jìn)行更新以包括所接受數(shù)據(jù)更新。第一復(fù)制品還被配置為確定具有與網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目相對應(yīng)的復(fù)制品條目的所述多個復(fù)制品中的復(fù)制品和所述第一復(fù)制品之間的復(fù)制協(xié)議的狀態(tài),其中,所述第一復(fù)制品具有與所述多個復(fù)制品中的每個復(fù)制品的復(fù)制協(xié)議,每個復(fù)制協(xié)議與該協(xié)議的復(fù)制品方之間的復(fù)制品條目的協(xié)調(diào)有關(guān)。第一復(fù)制品還可以確定第一復(fù)制品上的所更新復(fù)制品條目是否違反復(fù)制協(xié)議,其中,復(fù)制協(xié)議的違反指示第一復(fù)制品上的所接受數(shù)據(jù)更新未能被拷貝(copy)到復(fù)制協(xié)議的另一復(fù)制品方。第一復(fù)制品可以針對具有活動(active)狀態(tài)且對于所接受數(shù)據(jù)更新而言未被違反的復(fù)制協(xié)議將所接受數(shù)據(jù)更新復(fù)制到所述多個復(fù)制品中的其它復(fù)制品。本發(fā)明的實施例可以包括被配置為類似于上述第一復(fù)制品的其它復(fù)制品。本發(fā)明的實施例還提供一種用于對等計算網(wǎng)絡(luò)中的網(wǎng)絡(luò)數(shù)據(jù)倉庫的實時數(shù)據(jù)管理的方法。該方法包括接受對多個復(fù)制品中的第一復(fù)制品中的網(wǎng)絡(luò)數(shù)據(jù)倉庫的條目的數(shù)據(jù)更新,該第一復(fù)制品在多個服務(wù)器中的第一服務(wù)器上被托管,第一復(fù)制品包含網(wǎng)絡(luò)數(shù)據(jù)倉庫的至少一部分作為對應(yīng)于網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目的多個復(fù)制品條目。該方法還要求識別對應(yīng)于該條目的第一復(fù)制品上的多個復(fù)制品的復(fù)制品條目。該方法還包括檢查所述多個復(fù)制品中的第一復(fù)制品與其它復(fù)制品之間的復(fù)制協(xié)議,其中,每個復(fù)制協(xié)議描述所述多個復(fù)制品中的第一復(fù)制品與另一復(fù)制品之間的關(guān)系。該方法還包括確定所述多個復(fù)制品中的第一復(fù)制品和第二復(fù)制品之間的第一復(fù)制協(xié)議的狀態(tài),所述第二復(fù)制品在所述多個服務(wù)器中的第二服務(wù)器上被托管。該方法包括更新第一復(fù)制品上的已識別復(fù)制品條目。該方法還要求如果第一復(fù)制協(xié)議處于活動狀態(tài)且如果可以將所接受數(shù)據(jù)更新拷貝到第二復(fù)制品,則復(fù)制第二復(fù)制品上的所接受數(shù)據(jù)更新。本發(fā)明的實施例提供一種用于管理在多個服務(wù)器上部署的網(wǎng)絡(luò)數(shù)據(jù)倉庫中的數(shù)據(jù)的系統(tǒng)。第一復(fù)制品被配置為用于與所述多個復(fù)制品中的其它復(fù)制品通信并在所述多個服務(wù)器中的服務(wù)器上被托管。第一復(fù)制品上的第一復(fù)制信息庫被配置為包含網(wǎng)絡(luò)數(shù)據(jù)倉庫的至少一部分,所述第一復(fù)制信息庫包括多個復(fù)制品條目,以使得每個復(fù)制品條目對應(yīng)于網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目。事務(wù)模塊被配置為接收對第一復(fù)制信息庫中的復(fù)制品條目的數(shù)據(jù)更新。第一添加增量(delta)模塊被配置為創(chuàng)建第一復(fù)制信息庫中的多個復(fù)制品條目中的第一復(fù)制品條目的第一條目增量(entrydelta),并為第一條目增量提供來自事務(wù)模塊的所接收數(shù)據(jù)更新,且創(chuàng)建所述多個復(fù)制品中的第二復(fù)制品中的第二復(fù)制品條目的所接收數(shù)據(jù)更新的副本(copy)。第一鎖定模塊被配置為鎖定第一復(fù)制信息庫中的第一復(fù)制品條目。第一增量OK(delta-OK)模塊被配置為確認(rèn)(validate)第一條目增量具有與第一數(shù)據(jù)復(fù)制品條目相容的特性,其中,第一添加增量模塊還被配置為在第一增量OK模塊已確認(rèn)第一條目增量之后通過網(wǎng)絡(luò)將所接收數(shù)據(jù)更新的副本發(fā)送到具有第二數(shù)據(jù)復(fù)制品條目的第二復(fù)制品。提交(commit)模塊被配置為在從鎖定模塊接收到成功指示符之后請求條目增量的應(yīng)用,所述成功指示符與對網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目的改變相關(guān)聯(lián)。第一應(yīng)用模塊被配置為將第一條目增量應(yīng)用于第一復(fù)制信息庫中的第一復(fù)制品條目,以使得對第一復(fù)制品中的條目的請求隨后提供所接收數(shù)據(jù)更新,該第一應(yīng)用模塊被配置為在接收到來自提交模塊的請求之后應(yīng)用第一條目增量。第一解鎖模塊被配置為在第一應(yīng)用模塊已向第一復(fù)制品條目應(yīng)用第一條目增量之后將第一數(shù)據(jù)復(fù)制品條目解鎖。本發(fā)明的實施例可以包括被配置為類似于上述第一復(fù)制品的其它復(fù)制品。本發(fā)明的實施例提供一種用于管理在多個服務(wù)器上部署的網(wǎng)絡(luò)數(shù)據(jù)倉庫中的數(shù)據(jù)的系統(tǒng)。第一復(fù)制品被配置為用于與所述多個復(fù)制品中的其它復(fù)制品通信;第一復(fù)制品在所述多個服務(wù)器的服務(wù)器上被托管。第一復(fù)制品還包括被配置為包含網(wǎng)絡(luò)數(shù)據(jù)倉庫的至少一部分的第一復(fù)制信息庫,第一復(fù)制信息庫包括多個復(fù)制品條目,以使得每個復(fù)制品條目對應(yīng)于網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目,第一復(fù)制信息庫還包括所述多個復(fù)制品中的每個復(fù)制品與其它復(fù)制品之間的多個復(fù)制協(xié)議。狀態(tài)確定模塊被配置為確定所述多個復(fù)制品中的復(fù)制品之間的復(fù)制協(xié)議,且所述多個復(fù)制品中的另一復(fù)制品由于通信丟失而處于不活動狀態(tài),所述狀態(tài)確定模塊還被配置為確定在第一復(fù)制品與另一復(fù)制品之間已恢復(fù)通信。同步模塊被配置為請求所述多個復(fù)制品的復(fù)制品中的條目的更新數(shù)據(jù),其在復(fù)制協(xié)議的不活動狀態(tài)期間改變,所述同步模塊還被配置為控制所述多個復(fù)制品中的另一復(fù)制品的更新,以解決產(chǎn)生的對復(fù)制協(xié)議的違反,直至復(fù)制協(xié)議被恢復(fù)至活動狀態(tài)為止。本發(fā)明的實施例提供一種用于管理在多個復(fù)制品上部署的網(wǎng)絡(luò)數(shù)據(jù)倉庫中的數(shù)據(jù)的方法,其中,每個復(fù)制品包含網(wǎng)絡(luò)數(shù)據(jù)倉庫的至少一部分且每個復(fù)制品被配置為用于與所述多個復(fù)制品中的其它復(fù)制品通信,所述復(fù)制品在服務(wù)器計算機(jī)中被托管。第一復(fù)制品接收對所述多個復(fù)制品中的第一復(fù)制品中的網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目的數(shù)據(jù)更新。為所述多個復(fù)制品中的第二復(fù)制品中的第二復(fù)制品條目創(chuàng)建所接收數(shù)據(jù)更新的副本,第二復(fù)制品條目對應(yīng)于網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目。為第一復(fù)制品條目創(chuàng)建第一條目增量,其中,第一條目增量包括所接收數(shù)據(jù)更新。該條目在第一復(fù)制品上的第一復(fù)制品條目中被鎖定,且第一條目增量被確認(rèn)以確定其具有與條目相容的特性。所接收數(shù)據(jù)更新的副本被通過網(wǎng)絡(luò)發(fā)送到第二復(fù)制品。創(chuàng)建第二復(fù)制品條目上的第二條目增量,其中,第二條目增量包括適合于第二復(fù)制品條目的格式的已改變數(shù)據(jù)。第二復(fù)制品上的第二復(fù)制品條目中的條目被第二條目增量鎖定。在鎖定第二復(fù)制品條目中的條目之后,從第二復(fù)制品向第一復(fù)制品發(fā)送成功指示符。第一條目增量被應(yīng)用于第一復(fù)制品條目且第二條目增量被應(yīng)用于第二復(fù)制品條目,以使得對第一復(fù)制品和第二復(fù)制品中的條目的請求隨后將提供數(shù)據(jù)更新。第一復(fù)制品條目在將第一條目增量應(yīng)用于第一復(fù)制品條目之后被解鎖且第二復(fù)制品條目在將第二條目增量應(yīng)用與第二復(fù)制品條目之后被解鎖。本發(fā)明的實施例提供一種用于管理在多個復(fù)制品上部署的網(wǎng)絡(luò)數(shù)據(jù)倉庫中的數(shù)據(jù)的方法,其中,網(wǎng)絡(luò)數(shù)據(jù)倉庫中的每個條目對應(yīng)于多個復(fù)制品中的每一個中的復(fù)制品條目,并且其中,每個復(fù)制品保持與所述多個復(fù)制品中的其它復(fù)制品的復(fù)制協(xié)議。第一復(fù)制品與第二復(fù)制品之間的第一復(fù)制協(xié)議被確定為已由于第一復(fù)制品與第二復(fù)制品之間的通信的丟失而進(jìn)入不活動狀態(tài)。第一復(fù)制品與第三復(fù)制品之間的第二復(fù)制協(xié)議還被確定為已由于第一復(fù)制品與第三復(fù)制品之間的通信的丟失而變得不活動,其中,第二復(fù)制品與第三復(fù)制品之間的通信未被中斷。一旦確定在第一復(fù)制品與第二和第三復(fù)制品之間已恢復(fù)通信,則通過使第一復(fù)制品和第二復(fù)制品相互同步來將第一復(fù)制協(xié)議恢復(fù)至活動狀態(tài),并通過使第一復(fù)制品和第三復(fù)制品相互同步來將第二復(fù)制協(xié)議恢復(fù)至活動狀態(tài)。圖1示出根據(jù)本發(fā)明的實施例的復(fù)制信息庫(RIB)100的邏輯圖;圖2示出根據(jù)本發(fā)明的實施例的復(fù)制模型;圖3示出根據(jù)本發(fā)明的實施例的圖2所示的復(fù)制協(xié)議202的代表性狀態(tài);圖4示出根據(jù)本發(fā)明的實施例的復(fù)制品201在任何實例處也具有給定狀態(tài);圖5示出根據(jù)本發(fā)明的實施例的作為RIB(例如,RIB100)中的單獨實例的條目501的每個“版本”,其由其自己的id和相關(guān)聯(lián)EntryDelta(條目增量)502的組合唯一地標(biāo)識;圖6示出根據(jù)本發(fā)明的實施例的依照許多方法對諸如事務(wù)601、EntryDelta602、條目603和RIB100604等類的復(fù)制處理;圖7示出根據(jù)本發(fā)明的實施例的沒有競爭(contention)的RIB的更新;圖8示出根據(jù)本發(fā)明的實施例的如果在不同事務(wù)601a601b中同時創(chuàng)建參考同一條目603a的兩個EntryDelta602a602b則會發(fā)生的情況;圖910示出根據(jù)本發(fā)明的實施例的其中通過處理的排序不能避免死鎖、從而必須采取附加動作的情況;圖1112示出根據(jù)本發(fā)明的實施例的在給定圖910所示的兩個序列的情況下,第三和第四復(fù)制品的動作;圖13示出根據(jù)本發(fā)明的實施例的由于不活動復(fù)制協(xié)議而要求同步的情形;圖14示出根據(jù)本發(fā)明的實施例的由于隔離的復(fù)制品而要求同步的情形;圖15示出根據(jù)本發(fā)明的實施例的由于同步的復(fù)制品而要求同步的情形;以及圖16示出根據(jù)本發(fā)明的實施例的由條目104的不同復(fù)制品作為有向圖中的節(jié)點而保持的許多版本。具體實施例方式本發(fā)明的實施例提供一種對等且多線程的復(fù)制和同步機(jī)制。本發(fā)明的實施例還可以在復(fù)制品之間的通信丟失的情況下實現(xiàn)可用替換服務(wù),并在復(fù)制品之間的通信恢復(fù)時提供完全自動的恢復(fù)。在計算機(jī)(例如,服務(wù)器)上托管所述復(fù)制品,并且在某些實施例中,在單個計算機(jī)上托管多個復(fù)制品。復(fù)制和同步機(jī)制的實施例還以提供片狀(有損耗)網(wǎng)絡(luò)中的穩(wěn)健處理。根據(jù)本發(fā)明的實施例,復(fù)制和同步機(jī)制還可以提供條目級同步和對事務(wù)的13支持。本發(fā)明的實施例可以以多種方式復(fù)制數(shù)據(jù)庫條目。另外,根據(jù)本發(fā)明的實施例,任何對等端可以添加、修改、或刪除條目。此外,本發(fā)明的實施例可以采用鎖定機(jī)制來保證條目和更新的一致性。根據(jù)本發(fā)明的實施例,復(fù)制和同步機(jī)制能夠合并(merge)已由于對等端之間的通信的丟失而獨立地進(jìn)行的改變。另外,對數(shù)據(jù)的訪問是實時的,根據(jù)本發(fā)明的實施例,且存儲器使用的增加僅比在現(xiàn)有技術(shù)系統(tǒng)中略高。信息模型_復(fù)制信息庫圖1示出根據(jù)本發(fā)明的實施例的復(fù)制信息庫(RIB)100的邏輯圖。RIB100包括一組信息,其中,信息的兩個或更多副本實際上對于該信息的用戶而言是相同的。這里,“用戶”可以指直接對數(shù)據(jù)采取動作的計算機(jī)程序以及操作與數(shù)據(jù)交互的計算系統(tǒng)的人。RIB10代表該信息的用戶實現(xiàn)對該信息的永久性存儲,從而允許用戶檢索并修改該信息。以下討論描述除提供非復(fù)制信息庫之外,如何能夠?qū)崿F(xiàn)RIB100。根據(jù)本發(fā)明的實施例,可以在一個或多個服務(wù)器計算機(jī)上托管RIB100,其中每一個服務(wù)器計算機(jī)保持RIB100的復(fù)制品。根據(jù)本發(fā)明的實施例,服務(wù)器計算機(jī)可以被配置為托管多于一個的RIB100。在本發(fā)明的其它實施例中,可以使用其它硬件布置。RIB100中的信息的單位的RIB實例(RI)101。RIB100可以具有許多RI101。給定RI101是由一組一個或多個屬性(attribute)描述的對象。每個此類屬性具有標(biāo)識符(“屬性類型”),以及一組零個或更多值。RiAttribute108示出RI101的代表性屬性,其中,RiAttribute108具有類型(例如,實(real))和一組零個或更多值(例如,1.2、1.4)。存在用于識別屬性并對其值確定類型(type)的方便的抽象語法表示1(ASN.1)結(jié)構(gòu),即TYPE-IDENTIFIER。RiAttribute=SET{typeTYPE-IDENTIFIER.&idvaluesSETOFTYPE-IDENTIFIER.&Type}Ri::=SETSIZE(1..MAX)OFRiAttribute注意本文的討論頻繁地對抽象語法表示1(ASN.1)表示法(notation)進(jìn)行參考,其特別地描述用于在遠(yuǎn)程通信和計算機(jī)聯(lián)網(wǎng)系統(tǒng)中對數(shù)據(jù)進(jìn)行表示、編碼、發(fā)送、和解碼的數(shù)據(jù)結(jié)構(gòu)??梢允褂闷渌硎痉▉肀磉_(dá)這些思想,且ASN.1的使用意圖是示例性的,而不是限制本文所公開的本發(fā)明的范圍。信息模型-RI標(biāo)識RIB100可能包含多個RI101。根據(jù)本發(fā)明的實施例,RI101在它們能夠被標(biāo)識、特別是唯一地標(biāo)識時是有用的。因此,至少,每個RI101通常具有為其提供唯一標(biāo)識符的屬性。請注意,根據(jù)本發(fā)明的實施例,“唯一”通常包括“對于RIB的使用期限而言”。對RI101的此擴(kuò)展稱為已標(biāo)識RI(IRI,IdentifiedRI)102??梢砸訟SN.1表示法用兩種方式對IRI102進(jìn)行建模。對IRI102進(jìn)行建模的一種方式要求定義供在RiSET中使用的屬性類型,諸如ri-id-idOBJECTIDENTIFIER={rIB-base-id1}ri-idTYPE-IDENTIFIER={OBJECTIDENTIFIERIDENTIFIEDBYri-id-id}Iri::=Ri(SIZE(1..MAX))(CONSTRAINEDBY{—mustincluderi-id—})對IRI102進(jìn)行建模的第二方式要求定義明確地包括標(biāo)識符屬性的新類型,諸如Ri-ID=OBJECTIDENTIFIERIri=SETidentifierRi—ID,attributesRi}在本說明書的其余部分中,使用后一種方法來對被添加到RIB100的信息模型的附加屬性進(jìn)行建模。然而,重要的是認(rèn)識到這主要是為了幫助理解-根本的本體(reality)是簡單屬性集。根據(jù)本發(fā)明的實施例,這意味著可以應(yīng)用替換覆蓋(overlay)-如果滿足該替換的約束,則還可以將Ri的Dse類型解釋為Ri的某一其它類型。信息模型_用戶信息、增量和事務(wù)IRI102包含代表(一個或多個)用戶被保持的信息,且用戶可能希望改變該信息。當(dāng)首先創(chuàng)建IRI102時,可能需要將完整的IRI102拷貝到所有復(fù)制品(諸如圖2所示的復(fù)制品201)。根據(jù)本發(fā)明的實施例,復(fù)制品常常存在于不同的位置,例如在不同的服務(wù)器中。如果隨后對IRI102進(jìn)行改變,則RIB處理裝置可以僅僅再次拷貝完整的IRI102。然而,這種方法在某些實施例中可能是困難的。首先,IRI102可能具有任意大小,并且拷貝它們可能具有顯著的帶寬成本。其次,如果不能立即拷貝IRI102(例如,由于通信問題),則兩個或更多復(fù)制品可以獨立地對給定IRI102應(yīng)用改變,這通常樣要求后續(xù)的合并。被配置為實現(xiàn)此合并的RIB程序模塊可能需要比獨立改變集的最后結(jié)果更多的信息。-部分。因昏目”),或第三,對用戶信息的任何改變本身可以是有用的信息,因此應(yīng)被視為RIBlOO的此,一個人可以將IRI102視為一條用戶信息(用戶通常將其視為數(shù)據(jù)庫中的‘對一條用戶信息的改變,諸如Entry=IriEntryDelta=SET{identifierRi-ID,transactionRi-ID,entryRi-ID,sequenceRi-IDOPTIONAL,modificationsSETOFRiAttributeModificationOPTIONAL,attributesRiOPTIONALιRiAttributeModification=SEQUENCE{typeTYPE-IDENTIFIER.&idremovedSETOFTYPE-IDENTIFIER.&TypeOPTIONALaddedSETOFTYPE-IDENTIFIER.&TypeOPTIONALqualifiersBITSTRINGOPTIONAL}根據(jù)本發(fā)明的實施例,在某種意義上,用戶更新局限于IRI102,具體而言是EntryDelta103的創(chuàng)建。當(dāng)用戶希望添加或改變給定條目104時,用戶使用創(chuàng)建EntryDelta103的RIB編程功能。當(dāng)隨后讀取條目104時,它是作為讀取詢問的結(jié)果而返回的所有相關(guān)聯(lián)EntryDelta103的有序合并的結(jié)果。RIB100包括確定IRI102的有效性(或無效性)的規(guī)則。根據(jù)本發(fā)明的實施例,只允許有效的IRI102進(jìn)入RIB100。此類規(guī)則可以是語法的,應(yīng)用于單獨屬性的值,或者可以是語義的,且可應(yīng)用于單個條目104,或多個條目104。語義規(guī)則的一個示例可能在條目104(的屬性)之間施以參考完整性。根據(jù)此類規(guī)則,EntryDelta103可能不僅引起對其被參考條目104的更新,而且引起對多個其它條目104的更新。根據(jù)本發(fā)明的實施例,如果EntryDelta103的內(nèi)容本身有效,但結(jié)果得到的條目104不是有效的,則RIB處理功能不執(zhí)行所請求的改變,且EntryDelta103被拒絕。換言之,EntryDelta103的有效性由其對相關(guān)聯(lián)條目104的影響來確定。EntryDelta103的序列屬性允許按順序施加改變。特別地,序列屬性識別先前所進(jìn)行的改變,如果有的話。當(dāng)創(chuàng)建EntryDelta103時,就其本身,以及其對被參考的條目104,特別是在序列中的所有先前改變完成時的條目104的影響這二者得到確認(rèn)。這通過確認(rèn)采取已經(jīng)執(zhí)行的改變的條目104來實現(xiàn)。對于一致的RIB100而言,條目104和序列屬性的組合通常應(yīng)是唯一的。EntryDelta103中的“修改”描述條目104中的已被修改的屬性集。對于每個此類屬性,連同另外描述修改的零個或更多限定詞(qualifier)—起,列出已經(jīng)添加的值和已經(jīng)去除的值。此類限定詞可能指示屬性已被新添加到條目,或從條目去除,或者可能指示添加值與去除值(例如,增加量)有關(guān)。根據(jù)本發(fā)明的實施例,EntryDelta103的其它屬性可以包括支持上述合并處理的信息,和/或提供可能對RIB處理裝置或RIB的用戶有用的其它改變信息。事務(wù)105表示被定義為提供改變IRI102的上下文并允許自動地將對多個條目的多個改變進(jìn)行分組和應(yīng)用的第三類型的IRI102。在每個改變IRI102內(nèi)參考IRI102的事務(wù)105類型。Transaction=SETidentifierRi—ID,clientAddressOCTETSTRING,userstartTimePrintableString,INTEGER,commitTimeINTEGER,attributesRi}根據(jù)本發(fā)明的實施例,RIB100的用戶通常具有物理地址,且此類用戶通常也是邏輯數(shù)據(jù)庫的用戶。開始時間是開始事務(wù)105的時間(S卩,創(chuàng)建事務(wù)IRI102的時間),且提交時間是向RIB100添加EntryDelta103并更新相關(guān)聯(lián)條目104的時間。根據(jù)本發(fā)明的實施例,事務(wù)105的其它屬性可以包括可能對RIB處理裝置或?qū)IB的用戶有用的任何其它信息。信息模型-X.500信息根據(jù)本發(fā)明的實施例,RIB100可以被配置為支持X.500目錄。在這個上下文中,諸如圖2的復(fù)制品201之類的復(fù)制品充當(dāng)目錄系統(tǒng)代理(DSA),且用戶信息可以采取DSA特定條目(DSE)106的形式。因此,能夠?qū)l目104進(jìn)行擴(kuò)展以定義給定DSE106,同樣地,對EntryDelta103進(jìn)行擴(kuò)展以定義DSEDelta107。Dse=SET{identifierRi-ID,parentRi-IDOPTIONAL,—presentunlessrootrdnRelativeDistinguishedNameOPTIONAL,--presentunlessrootdseTypeDSEType,—seeX.501attributesRi}雙親(parent)和rdn組件一起提供在Χ.501部分23中定義的DSA信息模型中的所謂“隱含構(gòu)造(implicitfabric)”。對于給定雙親,rdn通常必須是唯一的。屬性組件提供一起構(gòu)成目錄條目、目錄子條目、DSA特定屬性、和DSA共享屬性的屬性集。單獨屬性被定義為在這些細(xì)分之一中,因此不需要明確的細(xì)分。DseDelta=SET{17identifiertransactiondseRi-ID,Ri-ID,Ri-ID,sequenceRi-IDOPTIONAL,changedParentRiAttributeModificationOPTIONAL,changedRdnRiAttributeModificationOPTIONAL,changedDseTypeRiAttributeModificationOPTIONAL,modificationsSETOFRiAttributeModificationOPTIONAL,attributesRiOPTIONAL}復(fù)制模型圖2示出根據(jù)本發(fā)明的實施例的復(fù)制模型。作為RIB100的完整副本的復(fù)制品201可以與其他復(fù)制品具有多個復(fù)制協(xié)議202。每個此類復(fù)制協(xié)議202是在一對復(fù)制品201之間。當(dāng)新復(fù)制品201被添加到RIB100時,接著可以在新復(fù)制品201和每個現(xiàn)有復(fù)制品之間創(chuàng)建復(fù)制協(xié)議202。如在圖3中進(jìn)一步討論的那樣,每個復(fù)制品201在任何給定時間具有特定狀態(tài),并且如在圖4中進(jìn)一步討論的那樣,每個復(fù)制協(xié)議202也具有特定狀態(tài)。如果IRI102已被成功地拷貝到復(fù)制品201(包括該復(fù)制品是始發(fā)(originating)復(fù)制品),則將IRI102說成是在復(fù)制品201處同步。如果IRI102未被成功地拷貝到復(fù)制品201,在將其說成是“違反”任何一對復(fù)制品之間的復(fù)制協(xié)議202,其中,復(fù)制品之一具有IRI102的副本,且另一復(fù)制品不具有IRI102的副本。根據(jù)本發(fā)明的實施例,僅針對沒有違反復(fù)制協(xié)議202的那些IRI102進(jìn)行復(fù)制嘗試。一旦已經(jīng)違反復(fù)制協(xié)議202,則由同步處理負(fù)責(zé)相對于IRI102來修復(fù)復(fù)制協(xié)議202。圖3示出根據(jù)本發(fā)明的實施例的圖2所示的復(fù)制協(xié)議202的代表性狀態(tài)。復(fù)制協(xié)議202在任何給定時間具有一種狀態(tài),其可以是初始化301、活動302、不活動303、或恢復(fù)304之一。復(fù)制協(xié)議202在創(chuàng)建時獲得初始化狀態(tài)301并保持此狀態(tài)直至復(fù)制品201已第一次實現(xiàn)同步(“初始同步完成”)為止,這時,復(fù)制協(xié)議202獲得活動狀態(tài)302。根據(jù)本發(fā)明的實施例,可以由同步模塊來支持同步。根據(jù)本發(fā)明的實施例,同步模塊可以連同本文所述的其它組件一起位于服務(wù)器上。在活動狀態(tài)302下,如果條目104實例在與協(xié)議相關(guān)聯(lián)的另一復(fù)制品處是同步的,則可以復(fù)制新EntryDelta103。而且,在此狀態(tài)下,可以針對違反復(fù)制協(xié)議202的任何條目嘗試條目同步。根據(jù)本發(fā)明的實施例,復(fù)制協(xié)議202還在成功恢復(fù)時重新獲得活動狀態(tài)302。復(fù)制協(xié)議202可以在諸如復(fù)制品之間的通信丟失之類的失敗時或恢復(fù)失敗時獲得不活動狀態(tài)303。根據(jù)本發(fā)明的實施例,在不活動狀態(tài)303下,不復(fù)制新EntryDelta103。根據(jù)本發(fā)明的實施例,新復(fù)制品201的遷移(population)是在不活動狀態(tài)303下嘗試的唯一同步形式。在恢復(fù)狀態(tài)304下,不復(fù)制新EntryDelta103,這是因為恢復(fù)同步正在進(jìn)行中。當(dāng)在復(fù)制品之間建立通信時,或者如果活動協(xié)議由于違反協(xié)議的單獨條目104的數(shù)目而不再被視為可行,則進(jìn)入恢復(fù)狀態(tài)304。圖4示出根據(jù)本發(fā)明的實施例的復(fù)制品201在任何實例處也具有給定狀態(tài)。復(fù)制品201的狀態(tài)可以是初始化401、隔離402、部分同步403、或同步404之一。新復(fù)制品201獲得初始化狀態(tài)401并通常保持處于該狀態(tài),直至所有其復(fù)制協(xié)議202第一次是活動的為止,這時,復(fù)制品201進(jìn)入同步狀態(tài)403。在同步狀態(tài)404下,所有復(fù)制協(xié)議都是活動的。在隔離狀態(tài)402下,用于復(fù)制品201的所有復(fù)制協(xié)議都是不活動的或正在恢復(fù)。例如,復(fù)制協(xié)議202處于圖3所示的不活動狀態(tài)303或恢復(fù)狀態(tài)304。在部分同步狀態(tài)403下,至少一個復(fù)制協(xié)議202是活動的,且至少一個復(fù)制協(xié)議202是不活動的或正在恢復(fù)。復(fù)制和同步示例本示例集中于一段時間內(nèi)的單個條目501,被示出為條目501a501f,在此期間,應(yīng)用多個EntryDelta502a502g。圖5示出作為RIB(例如,RIB100)中的單獨實例的條目501的每個“版本”,由其自己的id和相關(guān)聯(lián)EntryDelta502的組合唯一地標(biāo)識。圖5中的時間軸是從左到右。在任一時刻,每個復(fù)制品503a503c保持條目501的單個“當(dāng)前”版本,其與被保持在該復(fù)制品處的最新EntryDelta502相關(guān)聯(lián)。為了簡化該圖,將IRI102與復(fù)制品503a503c之間的“同步”關(guān)聯(lián)示出為"synch(同步)”屬性的值,而不是實例之間的線。圖5從最左邊的條目501a和負(fù)責(zé)條目501a的內(nèi)容的相關(guān)聯(lián)EntryDeltaDl502a開始。這里,EntryDelta502a被成功地拷貝到所有復(fù)制品503a503c,因此EntryDelta502a和條目501a在所有復(fù)制品503a503c處是同步的。隨后,向RIB100添加第二EntryDelta502b,得至Ij條目501的新版本。如EntryDelta502a的情況一樣,EntryDelta502b被成功地拷貝到全部三個復(fù)制品503a503c。例如,然后在復(fù)制品503a處接收到第三EntryDelta502c,且其被成功地拷貝到復(fù)制品503b,但由于通信失敗而不能被拷貝到復(fù)制品503a。結(jié)果是條目501c違反503a-503c和503b_503c復(fù)制協(xié)議。通常需要同步來解決此違反。在復(fù)制品503c處接收到第四EntryDelta502d,但仍存在通信問題,因此其不能被拷貝到復(fù)制品503a或復(fù)制品503b。如前所述,結(jié)果是結(jié)果得到的條目501d不與復(fù)制品503a或復(fù)制品503b同步。在這里,存在兩個EntryDelta,EntryDelta502c禾口EntryDelta502d,其具有用于條目501的“相同的”條目對和序列屬性。這意味著即使已經(jīng)恢復(fù)通信以便可以將EntryDelta502d拷貝到復(fù)制品503a和復(fù)制品503b,那兩個復(fù)制品也將不能接受EntryDelta502d,因為這樣做將違反一對必須是唯一的這一原則。在復(fù)制品503b處接收到第五EntryDelta502e,且即使現(xiàn)在已經(jīng)恢復(fù)了到復(fù)制品503c的通信,也不存在將EntryDelta502e拷貝到復(fù)制品503c的嘗試,因為條目501(501c)的當(dāng)前版本不與復(fù)制品503c同步。因此,EntryDelta502e和條目501e僅僅與復(fù)制品503a和復(fù)制品503c同步。通信的恢復(fù)發(fā)起了與RIB100相關(guān)聯(lián)的同步處理,對于條目501而言,其包括不同“當(dāng)前”版本(501d和501e)的調(diào)解或合并。同步得到兩個新EntryDelta,EntryDelta502g和EntryDelta502f,其獨立地更新條目501d和501e以提供單個共用版本(commonversion)(501f),其因此在全部的503a503c處是同步的。如果不存在EntryDelta502d,則EntryDelta502g是EntryDelta502c與EntryDelta502e的組合,且EntryDelta502f是無效更新(nullupdate)。請注意,根據(jù)本發(fā)明的實施例,在這種情況下仍可以創(chuàng)建EntryDelta502f,因為復(fù)制品503a和復(fù)制品503b上的條目501的版本已經(jīng)改變-特別地,同步屬性具有503c的新值。復(fù)制處理復(fù)制是用來進(jìn)行IRI102的拷貝以便諸如圖5所示的復(fù)制品503a503c之類的19每個復(fù)制品具有完整且最新的RIB100的手段。到外部用戶得知對RIB100的任何請求改變的成功(或失敗)時,RIB100的所有復(fù)制品完全反映該改變。根據(jù)本發(fā)明的實施例,這通過使用兩階段方法來實現(xiàn)。首先,根據(jù)本發(fā)明的實施例,在事務(wù)的范圍內(nèi),在所有復(fù)制品處進(jìn)行改變。當(dāng)所有復(fù)制品所接受該改變時,再次在事務(wù)的范圍內(nèi),向外部用戶告知更新的成功。最后,當(dāng)外部用戶請求提交該事務(wù)時,該改變被“同時地”或“并發(fā)地”應(yīng)用于或提交給每個復(fù)制品處的RIB100,以便其在事務(wù)范圍之外可見。相對于IRI102考慮以上過程,三個子類(條目104、EntryDelta103、和事務(wù)105)需要不同的復(fù)制處理以保證RIB100的正確性-特別是在可以同時對多個復(fù)制品進(jìn)行改變的情況下。根據(jù)本發(fā)明的實施例,三個子類中最簡單的是事務(wù)105,其被簡單地拷貝-外部RIB100用戶必須保證唯一性。根據(jù)本發(fā)明的實施例,條目類型104的IRI未被明確地拷貝。作為替代,根據(jù)本發(fā)明的實施例,所述拷貝通過在每個復(fù)制品(例如,圖5所示的復(fù)制品503a503c)處本地地應(yīng)用拷貝的EntryDelta103來實現(xiàn)。根據(jù)本發(fā)明的實施例,對于EntryDelta103而言,條目和序列屬性的組合必須是唯一的。因此,應(yīng)保證如果在兩個復(fù)制品上同時創(chuàng)建具有共用條目104的兩個EntryDelta103實例,則其被正確地定序。這可以通過采用下述同步處理來執(zhí)行,因為無論如何其在通信失敗的情況下可能是必要的。然而,根據(jù)本發(fā)明的實施例,當(dāng)通信可用時,為了獲得效率和性能,一種優(yōu)選方法包括使用鎖定,并在必要時使用重試機(jī)制。以下序列圖考慮許多條件下的EntryDelta103實例的復(fù)制,以便研究鎖定和重試機(jī)制的實施例。最初示出并然后采用事務(wù)105的復(fù)制。以下示例對被EntryUpdate(條目更新)更新的單個條目104實例進(jìn)行建模,而不是引起條目104的新版本的創(chuàng)建。這種方法允許表示對條目104的鎖定,雖然當(dāng)然可以對其中存在每個版本的實例的等價物進(jìn)行建模。復(fù)制方法/模塊如圖6所示,根據(jù)本發(fā)明的實施例,描述對諸如事務(wù)601、EntryDelta602、條目603和RIB100604等類的依照許多方法的復(fù)制處理。根據(jù)本發(fā)明的實施例,本文所述的方法還服從作為例如硬件模塊和/或軟件模塊等一系列模塊的實施方式。根據(jù)本發(fā)明的實施例,所述方法/模塊服從一個或多個計算機(jī)上的操作。事各方法/樽塊事務(wù)601的實施例包括以下方法。根據(jù)本發(fā)明的實施例,本文所述的方法還服從作為例如硬件模塊和/或軟件模塊等一系列模塊的實施方式。根據(jù)本發(fā)明的實施例,所述方法/模塊服從一個或多個計算機(jī)上的操作。addDeltaO方法向正在進(jìn)行的事務(wù)601中添加新EntryDelta602實例。這種方法用來在起始復(fù)制品上創(chuàng)建EntryDelta602,并在復(fù)制品(諸如圖5所示的復(fù)制品503a503c)之間將其拷貝。deItaOKO方法允許EntryDelta602實例向事務(wù)602指示其認(rèn)為其本身是有效的?!氨豢截惖降摹睆?fù)制品上的事務(wù)601實例同樣使用該方法來向事務(wù)602的始發(fā)副本回向指示關(guān)于被拷貝的EntryDelta602的相同信息。noLockO方法允許EntryDelta602實例向事務(wù)601指示其不能獲得用于被參考條目603的鎖定?!氨豢截惖降摹睆?fù)制品上的事務(wù)601實例同樣使用該方法來對事務(wù)601的始發(fā)副本回向進(jìn)行指示。commit()方法用信號通知事務(wù)完成并應(yīng)被提交。根據(jù)本發(fā)明的實施例,始發(fā)復(fù)制品上的事務(wù)601調(diào)用所有復(fù)制品副本上的commit()。rollback()用信號通知事務(wù)已完成,但應(yīng)被回退(rollback)(即,不應(yīng)用)。始發(fā)復(fù)制品上的事務(wù)601調(diào)用所有副本上的rollbackO。abandon()方法允許始發(fā)復(fù)制品上的事務(wù)601用信號通知事務(wù)601副本其已放棄(abandon)EntryDelta602,因為其未能獲得用于被參考條目603的鎖定。EntryDelta方法/樽塊EntryDelta602的實施例包括以下方法/模塊。根據(jù)本發(fā)明的實施例,本文所述的方法還服從作為例如硬件模塊和/或軟件模塊等一系列模塊的實施方式。根據(jù)本發(fā)明的實施例,所述方法/模塊服從一個或多個計算機(jī)上的操作。apply()方法命令EntryDelta602將其本身應(yīng)用于RIB604。abandon()方法命令EntryDelta602放棄更新并將其本身毀壞。IockedO方法允許相關(guān)聯(lián)條目603指示其被成功地鎖定。queued()方法允許相關(guān)聯(lián)條目603指示其鎖定嘗試已經(jīng)被排隊,因為已向另一EntryDelta602許可鎖定。條目方法/模塊條目603的實施例包括以下方法/模塊。根據(jù)本發(fā)明的實施例,本文所述的方法還服從作為例如硬件模塊和/或軟件模塊等一系列模塊的實施方式。根據(jù)本發(fā)明的實施例,所述方法/模塊服從一個或多個計算機(jī)上的操作。IockO方法命令條目603針對特定的EntryDelta602實例將其本身鎖定,以使得不能將其它EntryDelta602實例應(yīng)用于條目603的該版本。請注意,來自此方法的響應(yīng)是EntryDelta602的IockedO或queuedO方法且在圖中已被表示為異步。然而,根據(jù)本發(fā)明的實施例,在許多情況下可以使用此方法的同步結(jié)果代碼來以高效的方式影響相同的邏輯。unlock()方法命令條目603將其本身解鎖。RIB方法/模塊add()方法允許向其本身添加EntryDelta602并將條目603的其相關(guān)聯(lián)版本添加到RIB604中,以使得其變得在事務(wù)之外可見。根據(jù)本發(fā)明的實施例,本文所述的方法還服從作為例如硬件模塊和/或軟件模塊等一系列模塊的實施方式。根據(jù)本發(fā)明的實施例,所述方法/模塊服從一個或多個計算機(jī)上的操作。沒有競爭的更新圖7示出根據(jù)本發(fā)明的實施例的沒有競爭的RIB的更新。要考慮的第一種情形是最簡單的,其中不存在對鎖定的競爭??梢灶A(yù)期,在RIB(諸如圖1所示的RIB100中,具有許多條目104實例)中,這將是“正常”處理,因為其對于將在多于一個的EntryDelta103中同時參考的相同條目104實例而言可能是罕有的。根據(jù)本發(fā)明的實施例,圖7中的序列圖示出在此第一情形中涉及的兩個復(fù)制品上的(副本)實例。事務(wù)601a已在與RIB604a相關(guān)聯(lián)的一個復(fù)制品中被創(chuàng)建,并在與RIB604b相關(guān)聯(lián)的第二復(fù)制品中創(chuàng)建其自身的副本(步驟701)。擁有該事務(wù)的外部用戶請求添加EntryDelta602a(步驟702)。在始發(fā)復(fù)制品上創(chuàng)建EntryDelta602a(步驟703)。EntryDelta602a將條目603a鎖定(步驟704)。該鎖定立即成功(步驟705)。針對條目603a來確認(rèn)EntryDelta602a,并將其視為有效的(步驟706)。將EntryDelta602a拷貝到復(fù)制品事務(wù)601b(步驟707)。創(chuàng)建EntryDelta602b副本(步驟708)。EntryDelta602b副本將該復(fù)制品上的條目603b的副本鎖定(步驟709)。該鎖定立即成功(步驟710)。將EntryDeltal03副本視為有效的(步驟711)。用信號向事務(wù)的原始副本通知該有效性(步驟712)。EntryDelta602a和副本EntryDelta602b兩者是有效的,因此,可以將該成功告知請求實體(步驟713)。在稍后的時間,請求實體提交該事務(wù)(步驟714)。提交事務(wù)副本(步驟715)。應(yīng)用EntryDelta602a(步驟716)。應(yīng)用EntryDelta602b副本(步驟717)。將EntryDelta602a添加到RIB604a中(即,使其可見)(步驟718)。將EntryDelta602b副本添加到RIB604b中(即,使其可見)(步驟719)。將條目603a解鎖(步驟720)。將條目603b副本解鎖(步驟721)。通知外部用戶該事務(wù)已經(jīng)被成功提交(步驟722)。多個復(fù)制品上的同時更新_無死鎖圖8示出根據(jù)本發(fā)明的實施例的如果在不同事務(wù)601a601b中同時創(chuàng)建參考同一條目603a的兩個EntryDelta602a602b則會發(fā)生的情況。如果在同一復(fù)制品中(例如在RIB604a中)發(fā)起兩個事務(wù)601a601b,則通常發(fā)生排隊,因為條目603a的同一副本被鎖定。然而,如果在不同的復(fù)制品中(例如在RIB604a和RIB604b中)發(fā)起事務(wù)601a601b,則存在死鎖的可能性。根據(jù)本發(fā)明的實施例,圖8的序列圖示出簡單地通過處理的排序來避免死鎖的情況。請注意,僅示出用于復(fù)制品之一的實例。從始發(fā)復(fù)制品拷貝用于事務(wù)601a的EntryDelta602a(步驟801)。(注意此步驟類似于圖7中的步驟707)。同時,擁有事務(wù)601b的外部用戶請求添加EntryDelta602b(步驟802)。創(chuàng)建用于事務(wù)601a的EntryDelta602a副本(步驟803)。創(chuàng)建用于事務(wù)601b的EntryDelta602b(步驟804)。用于事務(wù)601a的EntryDelta602a副本將條目603a副本鎖定(步驟805)。該鎖定立即成功(步驟806)。將用于事務(wù)601a的EntryDelta602a副本視為有效的(步驟807)。用信號向原始事務(wù)通知該有效性(步驟808)。用于事務(wù)601b的EntryDelta602b將條目603a副本鎖定(步驟809)。使鎖定請求排隊(步驟810)。EntryDelta602b等待鎖定得到許可。提交事務(wù)601a的副本(步驟811)。應(yīng)用用于事務(wù)601a的EntryDelta602a副本(步驟812)。將條目603a副本解鎖(步驟813)。對用于事務(wù)601b的EntryDelta602b許可鎖定(步驟814)。將用于事務(wù)B的EntryDelta602b視為有效的(步驟815)。這里的確認(rèn)包括起因于事務(wù)601a的EntryDelta602a的任何改變。根據(jù)本發(fā)明的實施例,處理可以按照前一序列繼續(xù)。多個復(fù)制品上的同時更新_死鎖圖910示出根據(jù)本發(fā)明的實施例的其中通過處理的排序不能避免死鎖、從而必22須采取附加動作的情況。圖9示出發(fā)起事務(wù)601a的復(fù)制品,且圖10示出發(fā)起事務(wù)601b的復(fù)制品??刂剖聞?wù)601a的外部用戶請求添加EntryDelta602a(步驟901)。從始發(fā)復(fù)制品拷貝用于事務(wù)601b的EntryDelta602b(步驟902)。創(chuàng)建用于事務(wù)601a的EntryDelta602a(步驟903)。創(chuàng)建用于事務(wù)601b的EntryDelta904副本(步驟904)。用于事務(wù)601a的EntryDelta602a將條目603a鎖定(步驟905)。該鎖定立即成功(步驟906)。針對條目603a來確認(rèn)用于事務(wù)601a的EntryDelta602a,并將其視為有效的(步驟907)。將EntryDelta602a拷貝到復(fù)制品事務(wù)601a(步驟908)。用于事務(wù)601b的EntryDelta602b副本將條目603a鎖定(步驟909)。使鎖定請求排隊(步驟910)。用于事務(wù)601b的EntryDelta602b副本應(yīng)用規(guī)則(諸如下文所討論的規(guī)則)并確定其是否應(yīng)放棄排隊的鎖定,并就此對事務(wù)601b進(jìn)行指示(步驟911)。撤消鎖定請求(步驟912)。用信號向原始事務(wù)601b通知失敗的鎖定(步驟913)。作為在事務(wù)601b中處理的失敗鎖定的結(jié)果,事務(wù)601a可以在遠(yuǎn)程復(fù)制品上進(jìn)行,如針對下文的序列所描述的那樣(步驟914)。最后結(jié)果是用于事務(wù)A的EntryDelta103在所有復(fù)制品處被視為有效的。將該成功告知請求實體(步驟915)。在稍后的某一點,請求實體提交該事務(wù)(步驟916)。提交事務(wù)副本(步驟917)。應(yīng)用EntryDelta602a(步驟918)。將條目603a解鎖(步驟919)。在這里,如在下文的序列中描述的那樣,可以重新嘗試用于事務(wù)601b的EntryDelta602b。圖10示出根據(jù)本發(fā)明的實施例的發(fā)起事務(wù)601b的復(fù)制品。從始發(fā)復(fù)制品拷貝用于事務(wù)601a的EntryDelta602a(步驟1001)。擁有事務(wù)601b的外部用戶請求添加EntryDelta602b(步驟1002)。創(chuàng)建用于事務(wù)601a的EntryDelta602a副本(步驟1003)。創(chuàng)建用于事務(wù)601b的EntryDelta602b(步驟1004)。用于事務(wù)601b的EntryDelta602b將條目603a鎖定(步驟1005)。該鎖定立即成功(步驟1006)。針對條目603a來確認(rèn)用于事務(wù)601b的EntryDelta602b,并將其視為有效的(步驟1007)。將用于事務(wù)601B的EntryDelta602b拷貝到復(fù)制品事務(wù)601b(步驟1008)。用于事務(wù)601a的EntryDelta602a副本將條目603a鎖定(步驟1009)。使鎖定請求排隊(步驟1010)。用于事務(wù)601a的EntryDelta602a副本應(yīng)用與在前一序列中相同的規(guī)則,但這次,結(jié)果是等待鎖定。從其它復(fù)制品接收失敗的鎖定指示(步驟1011)。事務(wù)放棄EntryDelta602b,以便對其進(jìn)行重新嘗試(步驟1012)。將條目603a解鎖(步驟1013)。對用于事務(wù)601a的EntryDelta602a許可排隊的鎖定(步驟1014)。針對條目603a來確認(rèn)用于事務(wù)601a的EntryDelta602a副本,并將其視為有效的(步驟1015)。用信號向原始事務(wù)通知該有效性(步驟1016)。創(chuàng)建用于事務(wù)601b的第二EntryDelta602c(即,對其進(jìn)行重新嘗試)(步驟1017)。用于事務(wù)601b的第二EntryDelta602c將條目603a鎖定(步驟1018)。使鎖定請求排隊(步驟1019)。提交事務(wù)601a的副本(步驟1020)。應(yīng)用用于事務(wù)601a的EntryDelta602a副本(步驟1021)。將條目603a副本解鎖(步驟1022)。對用于事務(wù)601b的第二EntryDelta602c許可排隊的鎖定(步驟1023)。將用于事務(wù)601b的EntryDelta602c視為有效的(步驟1024)。這里的確認(rèn)通常包括起因于事務(wù)601a的EntryDelta602a的任何改變。EntryDelta602c的處理如前所述的那樣繼續(xù)。在以上說明中對可以由EntryDelta103副本在鎖定排隊以判定是等待還是放棄EntryDelta103并從開始部分進(jìn)行重新嘗試時應(yīng)用的規(guī)則進(jìn)行了參考。根據(jù)本發(fā)明的實施例,對于給定事務(wù)而言,規(guī)則的結(jié)果在所有復(fù)制品上(無論存在多少)應(yīng)是相同的,以保證EntryDelta103的成功連續(xù)化(serialization)??赡軕?yīng)用的兩個可能規(guī)則如下-向每個復(fù)制品分配唯一的整數(shù)標(biāo)識符。如果始發(fā)復(fù)制品的標(biāo)識符小于具有鎖定的EntryDelta103的始發(fā)復(fù)制品的標(biāo)識符,則等待。否則放棄。-向每個外部用戶分配“優(yōu)先級”。如果擁有事務(wù)的用戶的優(yōu)先級大于擁有事務(wù)(該事務(wù)帶有具有鎖定的EntryDelta103)的用戶的優(yōu)先級,則等待。否則放棄。如果對于兩個事務(wù)而言是同一用戶,則回到前一規(guī)則。圖1112示出根據(jù)本發(fā)明的實施例的在給定圖910所示的兩個序列的情況下第三和第四復(fù)制品的動作。在圖11中,在第三復(fù)制品處,事務(wù)602a的EntryDelta602a在用于事務(wù)602b的EntryDelta602b之前獲得鎖定。這意味著當(dāng)在步驟1010處應(yīng)用等待/放棄規(guī)則時,進(jìn)行“正確”判定以便在事務(wù)601b情況下后退。然而,在圖12中,在第四復(fù)制品處,用于事務(wù)601b的EntryDelta602b在用于事務(wù)601a的EntryDelta602a之前獲得鎖定。當(dāng)在步驟101處應(yīng)用等待/放棄規(guī)則時,再次地,進(jìn)行正確判定,這次將等待鎖定。隨后,放棄事務(wù)601b的EntryDelta602b,解除鎖定以允許事務(wù)601a情況進(jìn)行至完成。請注意,根據(jù)本發(fā)明的實施例,將由事務(wù)601b實例在圖10所示的序列的步驟1011處生成步驟1211處的放棄。同步處理可能不是始終可以成功地執(zhí)行復(fù)制品之間的實時復(fù)制。例如,如果在一個或多個復(fù)制品之間丟失通信,則很明顯,復(fù)制是不可能的。在此期間防止對RIB100的改變是不可接受的,因此,將可能存在IRI102,或IRI102的版本,其存在于某些復(fù)制品中,而在其它復(fù)制品中沒有。同步是可以用來在不具有丟失的IRI102的副本的復(fù)制品處實現(xiàn)所述副本、且可以修正不一致性以便不再違反復(fù)制協(xié)議202的手段。要求同步的情形圖1315示出根據(jù)本發(fā)明的實施例的要求同步的兩個示例。圖13示出根據(jù)本發(fā)明的實施例的由于不活動復(fù)制協(xié)議而要求同步的情形。在圖13中,復(fù)制品1307與復(fù)制品1309相互已經(jīng)丟失通信,但兩者都仍在與復(fù)制品1301通信。結(jié)果,僅僅B-C復(fù)制協(xié)議1311是不活動的。復(fù)制品1301具有所有更新的副本;復(fù)制品1307失去來自復(fù)制品1309的更新,且反之亦然。當(dāng)隨后通信鏈路恢復(fù)時,通常必須在復(fù)制品1307與復(fù)制品1309之間執(zhí)行恢復(fù)同止少ο圖14示出根據(jù)本發(fā)明的實施例的由于隔離復(fù)制品而要求同步的情形。在圖14中,復(fù)制品1409已丟失與復(fù)制品1401和復(fù)制品1407兩者的通信。假設(shè)所述復(fù)制品位于不同的地點,則這通常表示復(fù)制品1409所在的地點處的地點通信失敗。結(jié)果,涉及復(fù)制品1409的兩個復(fù)制協(xié)議(A-C復(fù)制協(xié)議1405和B-C復(fù)制協(xié)議1411)都已變成不活動的,且復(fù)制品1409被隔離。A-B復(fù)制協(xié)議1403不存在問題,因此,復(fù)制品1401和1407兩者都具有其自己的副本和彼此的更新,并且兩者都不具有復(fù)制品1409的更新的副本。當(dāng)通信恢復(fù)時,兩個不活動的協(xié)議(A-C復(fù)制協(xié)議1405和B-C復(fù)制協(xié)議1411)進(jìn)入恢復(fù)狀態(tài),并且通常將對兩者執(zhí)行恢復(fù)同步。原則上,這些可以依次地或并行地執(zhí)行。根據(jù)本發(fā)明的實施例,在復(fù)制品1409上并行地執(zhí)行兩個同步是更高效的,因此可以在一遍中將其全部執(zhí)行。圖15示出根據(jù)本發(fā)明的實施例的由于同步復(fù)制品而要求同步的情形。在圖15中,全部三個復(fù)制品1501、1507和1509是同步的,且復(fù)制協(xié)議1503、1505、和1511是活動的。然而,在復(fù)制品1507和1509處存在未被成功地拷貝到復(fù)制品1501的EntryDelta1515,因此,相關(guān)聯(lián)條目1513僅僅在復(fù)制品1507和復(fù)制品1509處同步。此失敗可能起因于暫時通信小故障,或者可能是由于在恢復(fù)處理期間遇到的不能協(xié)調(diào)的差異。在這種狀態(tài)下,通常在復(fù)制品1507、1509之間拷貝在復(fù)制品1507或1509處接收到的用于條目1513實例的任何新EntryDelta1515。同樣地,通常不將在復(fù)制品1501處接收到的用于條目1513實例的新EntryDelta1515拷貝到復(fù)制品1507或復(fù)制品1509。根據(jù)本發(fā)明的實施例,通常需要條目同步來解決此差異?;謴?fù)同步恢復(fù)同步是在復(fù)制協(xié)議處于恢復(fù)狀態(tài)時執(zhí)行的處理。簡單地說,同步僅僅是拷貝并應(yīng)用丟失的IRI102的情況。實際上,對于被“保證”是唯一的事務(wù)105而言是這樣。條目104和EntryDelta103IRI出現(xiàn)困難,因為如果它們獨立地在兩個或更多復(fù)制品上被創(chuàng)建,則在它們之間可能存在可能不相容的關(guān)聯(lián)。在條目104、特別是DSE106的情況下,存在rdn和雙親組合是唯一的這一要求。同樣地,在EntryDelta103的情況下,存在條目和序列對是唯一的這一要求。根據(jù)本發(fā)明的實施例,可以以兩種方式對用于EntryDelta103的同步過程進(jìn)行建模,暫時將任何不相容性解決方案放在一邊。如先前所述,第一選擇是拷貝丟失的EntryDelta103。第二選擇是在復(fù)制品上創(chuàng)建新的EntryDelta103,所述復(fù)制品丟失副本,且對用戶信息具有相同影響,但允許有實際上已應(yīng)用于復(fù)制品的不同更新的跟蹤能力。因此,例如,在通信中斷期間創(chuàng)建的復(fù)制品(諸如圖15所示的復(fù)制品1501)上的多個EntryDelta103可能引起在另一復(fù)制品(諸如圖15所示的復(fù)制品1507)上的單個EntryDelta103的創(chuàng)建作為同步過程的一部分。如果EntryDelta103包括列出其被成功地拷貝到的復(fù)制品的“同步”屬性,第二選擇還意味著此屬性不必在同步期間更新。由同步處理創(chuàng)建的EntryDelta通常服從必須被滿足以保證該EntryDelta有效的多個規(guī)則。很明顯,同步通常要求有效的EntryDelta,但如上所述,可能存在不能被過分簡單化地組合的獨立EntryDelta的組合而無需結(jié)果得到的EntryDelta無效。換言之,原始EntryDelta是不相容的。在這種情況下,根據(jù)本發(fā)明的實施例,可以采用下文討論的附加合并規(guī)則來調(diào)整同步EntryDelta以使它們有效。還可以提供可擴(kuò)展機(jī)制,由此可以將與條目104相關(guān)聯(lián)的全套EntryDelta103轉(zhuǎn)發(fā)到外部系統(tǒng),所述外部系統(tǒng)可以應(yīng)用專用規(guī)則來得到合并的EntryDelta。應(yīng)注意所得到的EntryDelta103的使用,因為這意味著跨越多個條目104實例被應(yīng)用在特定復(fù)制品上的更新可能在同步期間實際上是按照不同的次序應(yīng)用的。如果在條目104實例之間存在依賴性,例如,如果參考完整性得到支持,則這些依賴性可能斷開。同步服各器在某些實施例中,RIB100可以具有同步服務(wù)器,其為僅在所有復(fù)制品處于通信狀態(tài)時才被更新的復(fù)制品。因此,服務(wù)器將僅包含已知已被成功地拷貝到所有復(fù)制品的IRI102。然而,本實施例有些理想化,也可以采用其它更實際的配置。當(dāng)在通信中斷之后需要同步時,按照嚴(yán)格的時間順序?qū)ntryDelta103應(yīng)用于同步服務(wù)器,以便例如可以保持參考完整性。如果不能在不破壞規(guī)則的情況下應(yīng)用更新,則存在兩種可能性,即,不應(yīng)用更新,或者即使其破壞規(guī)則也應(yīng)用該更新。根據(jù)單獨的環(huán)境,可能需要這些可能性的組合??傊?,應(yīng)使用日志來記錄先前接受的“回退的”EntryDelta103或現(xiàn)在違反某些規(guī)則的條目104實例的細(xì)節(jié)。請注意,使EntryDelta103回退可能對后面的EntryDelta具有次要或偶然的影響。同步服各器沂似對于許多部署而言,專用同步服務(wù)器可能不是可行的,因此,作為替代,可以執(zhí)行此類處理的近似??紤]兩個復(fù)制品,每個具有需要被同步的一組獨立的EntryDelta103。處理可以將復(fù)制品之一帶回到劃分(partition)的點,然后重放其兩個EntryDelta103,和另一復(fù)制品的那些_換言之,是有效地實現(xiàn)暫時同步服務(wù)器的處理。然而,這種方法將實際上意味著該復(fù)制品上的EntryDelta103的暫時丟失,這不可能是可接受的。替換方案是向前移動劃分的時間,直至其趕上當(dāng)前時間為止,具有包含RIB100的同步“事務(wù)”,如同其是同步服務(wù)器一樣。盡快提交在事務(wù)內(nèi)進(jìn)行的更新并使其在事務(wù)之外可見。其目的是使未提交的更新的數(shù)目最小化,因為否則可能不能支持存儲器或其它資源使用。通常一旦在本地復(fù)制品中不存在尚未被作為同步處理的一部分而應(yīng)用的隨后相關(guān)聯(lián)EntryDeltal03,就能夠提交條目104。此替換方法的細(xì)節(jié)為-劃分時間是非兩個復(fù)制品共用的最舊EntryDelta103的創(chuàng)建時間。_“事務(wù)”在兩個復(fù)制品上運(yùn)行,其目的是將劃分時間向前拖,指示其趕上當(dāng)前時間為止。-同步事務(wù)可以包含未提交的條目104實例。這些已經(jīng)使某些EntryDelta103實例被應(yīng)用,但如下所述,還不能被提交給RIB100,因為存在更多要應(yīng)用的本地EntryDelta103。-提交到RIB100意味著應(yīng)用合并的EntryDelta103并使結(jié)果對于外部用戶而言是可見的。-如果在EntryDelta的確認(rèn)期間被參考,則應(yīng)使用未提交的條目104實例,優(yōu)先于RIB100中的版本。根據(jù)本發(fā)明的實施例,如果不存在此類未提交版本,則該被參考條目104的當(dāng)前提交版本被“回退”到其在EntryDelta103得到確認(rèn)時的狀態(tài)。-根據(jù)本發(fā)明的實施例,識別最舊EntryDelta103,并將其添加到?jīng)]有它的復(fù)制品。例如,假設(shè)復(fù)制品B具有必須被拷貝到復(fù)制品A的最舊EntryDelta103。26-在復(fù)制品A上的同步事務(wù)的范圍內(nèi),可能已存在條目104的未提交版本,在這種情況下,可以對其應(yīng)用EntryDelta103,并應(yīng)使其處于未從RIB100提交的狀態(tài)。-如果不存在未提交版本且條目104不與復(fù)制品B同步,則在復(fù)制品A上通常必須存在至少一個后面的EntryDelta103?;赝怂写祟怑ntryDelta,然后應(yīng)用最舊EntryDelta103,卻又不提交到RIB100。_如果不存在未提交版本且條目104與復(fù)制品B同步,則可以應(yīng)用最舊EntryDelta103,創(chuàng)建得到的EntryDelta103,且結(jié)果被立即提交到RIB100。-在復(fù)制品B上,如果在事務(wù)的范圍內(nèi)存在條目104的未提交版本,則通常必須應(yīng)用該同一最舊EntryDelta103。如果是這樣,且不存在其它本地EntryDelta,則可以將得到的EntryDelta103和條目104立即提交到RIB100。-對次最舊EntryDelta103重復(fù)以上操作。以上說明假設(shè)每件事都是成功的,但如前文所討論的,可能作為確認(rèn)的結(jié)果而需要不應(yīng)用改變,即使其先前已被成功地應(yīng)用。在這種情況下,結(jié)果是對RIB100的改變,并應(yīng)由新EntryDelta103來表示。條目同步條目同步情況實際上與劃分復(fù)制品的恢復(fù)沒有不同,除了以不同的方式特別地從已知不是在所有復(fù)制品上都相同的單個條目104中選擇所涉及的條目104和EntryDelta103的子集之外。一旦識別到差異,就應(yīng)嘗試條目104同步_由于復(fù)制問題或由于后臺檢查。新復(fù)制品的遷移新復(fù)制品的遷移涉及從活(live)復(fù)制品拷貝IRI102。這通常將花費(fèi)一段時間,在此期間,將存在對RIB100的許多更新。首先,拷貝所有條目104IRI,然后在拷貝第一條目IRI102時開始,拷貝并應(yīng)用所有EntryDelta103IRI0考慮某些EntryDelta103已被應(yīng)用這一事實。一旦大部分EntryDelta103已被應(yīng)用,就可以轉(zhuǎn)換為參與正常復(fù)制,可能執(zhí)行條目同步以覆蓋轉(zhuǎn)換時間段。增量路徑選擇在復(fù)雜(且罕有)的情況下,可以以多于一種的方式來合并一組EntryDelta103。圖16示出根據(jù)本發(fā)明的實施例的作為有向圖中的節(jié)點的條目104的許多版本。圖表的邊表示已經(jīng)應(yīng)用的EntryDelta103,且節(jié)點內(nèi)的數(shù)字表示使條目104的版本同步的復(fù)制品。在存在多個向內(nèi)箭頭(in-arrow)的情況下,已作為同步合并的結(jié)果而創(chuàng)建了條目104版本?,F(xiàn)在考慮在右側(cè)的最終合并。在這里,我們具有條目的兩個版本_被保持在復(fù)制品1和2處的版本,和被保持在復(fù)制品3和4處的版本。不需要復(fù)制品的所有組合執(zhí)行合并_只需要涉及1和2之一、及3和4之一。在可能的成對復(fù)制品中,最好的是2和3,因為發(fā)散點明顯比任何其它可能性(1和3、1和4、2和4)“更近”。因此,在同步過程開始之前,復(fù)制品需要進(jìn)行協(xié)商以識別在同步中需要涉及哪些對。一般合并規(guī)則為了將用于給定條目104的一組EntryDelta103合并,根據(jù)可以應(yīng)用于條目104實例的任何約束,將可能需要多個規(guī)則??梢允褂靡韵乱?guī)則-后面的EntryDelta103將優(yōu)先于(override)先前的EntryDelta103。-客戶端優(yōu)先(precedence)可以優(yōu)先于基于時間的規(guī)則-可擴(kuò)展規(guī)則可以優(yōu)先于先前的兩個規(guī)則。如前文簡要地討論的,通常將通過向包含要合并的一組EntryDelta103的某些外部系統(tǒng)發(fā)送通知來提供可擴(kuò)展規(guī)則。外部系統(tǒng)(例如應(yīng)用服務(wù)器)可以用要應(yīng)用的合并EntryDelta103進(jìn)行響應(yīng)。X.500合并規(guī)則除一般合并規(guī)則之外,存在將應(yīng)用于DseDelta107以保證不違反X.500規(guī)則的特定規(guī)則。至少,通常將需要用于以下各項的規(guī)則-添加條目104-條目已存在(相同的結(jié)構(gòu)對象類和不同的結(jié)構(gòu)對象類)-刪除條目104-條目不存在-刪除條目104-非葉(non-leaf)-去除值-值不存在-去除屬性-屬性不存在-添加屬性-屬性已存在-添加值-值已存在還可以基于對象類和屬性類型來指定特定的合并規(guī)則。其它考慮RIB100用戶服務(wù)質(zhì)量(QoS)由RIB100提供的服務(wù)質(zhì)量通常特別地取決于復(fù)制品的同步有多好。完全同步的RIB100是明顯好于劃分的RIB100的質(zhì)量數(shù)據(jù)。RIB100用戶可以僅選擇(或被允許)使用例如來自同步復(fù)制品的數(shù)據(jù)。如果QoS在其要求以下,則客戶端可以自動地斷開連接,這可以經(jīng)由不同的端口或用戶配置數(shù)據(jù)來指示。還可以在模式側(cè)應(yīng)用類似配置-只有對特定對象類的特定屬性的訪問與OoS考慮有關(guān)。霊調(diào)解是被視為同步的非同步Userlnf0實例的后臺檢測。該實例可能被標(biāo)記為非同步,但使實例同步的任何自動嘗試通常將涉及新UserlnfoDelta的創(chuàng)建,因為所有先前的UserlnfoDelta通常已被標(biāo)記為被拷貝到所有復(fù)制品。異步復(fù)制如前所述,默認(rèn)復(fù)制模式為同步復(fù)制,S卩,通常只有當(dāng)所有復(fù)制品已應(yīng)用更新時才提交更新。同樣地,在所有復(fù)制品都已提交更新之前,通常不進(jìn)行返回客戶端的響應(yīng)。作為替換,將可以為復(fù)制協(xié)議的子集提供異步復(fù)制。所述機(jī)制將是類似地,不同的是如果復(fù)制協(xié)議被標(biāo)記為異步,則將不會立即預(yù)期有來自該復(fù)制品的響應(yīng),且將不阻止同步復(fù)制品處的更新的提交,也不阻止返回客戶端的響應(yīng)。雖然已示出并描述了本發(fā)明的特定實施例,但很明顯,本發(fā)明不僅限于這些實施例。在不脫離本發(fā)明的精神和范圍的情況下,許多修改、變化、變更、替換和等價物對于本領(lǐng)域的技術(shù)人員來說將是顯而易見的。例如,可以由諸如用于特定功能的專用硬件之類的硬件來執(zhí)行被描述為以軟件執(zhí)行的過程、功能和操作。被描述為方法的功能可以例如被實現(xiàn)為模塊,諸如專用硬件模塊。通常,不應(yīng)將本文所使用的術(shù)語理解為使本發(fā)明局限于本說明書所公開的特定實施例,而是應(yīng)將其理解為包括根據(jù)所述和可以最后闡述的任何權(quán)利要求中的本發(fā)明的精神而操作的所有系統(tǒng)和方法。因此,意圖在于本發(fā)明涵蓋本發(fā)明的修改和變更,只要它們處于與本發(fā)明相關(guān)聯(lián)的任何權(quán)利要求及其等價物的范圍內(nèi)。權(quán)利要求一種用于對等計算網(wǎng)絡(luò)中的網(wǎng)絡(luò)數(shù)據(jù)倉庫的實時數(shù)據(jù)管理的系統(tǒng),包括多個復(fù)制品中的第一復(fù)制品,托管在第一服務(wù)器計算機(jī)中,第一復(fù)制品被配置為接受對第一復(fù)制品上的復(fù)制品條目的數(shù)據(jù)更新,每個復(fù)制品條目對應(yīng)于網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目,將第一復(fù)制品上的復(fù)制品條目進(jìn)行更新以包括所接受數(shù)據(jù)更新,確定具有與網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目相對應(yīng)的復(fù)制品條目的所述多個復(fù)制品中的復(fù)制品和所述第一復(fù)制品之間的復(fù)制協(xié)議的狀態(tài),其中,所述第一復(fù)制品具有與所述多個復(fù)制品中的每個復(fù)制品的復(fù)制協(xié)議,每個復(fù)制協(xié)議與該協(xié)議的復(fù)制品方之間的復(fù)制品條目的協(xié)調(diào)有關(guān),確定第一復(fù)制品上的所更新復(fù)制品條目是否違反復(fù)制協(xié)議,其中,復(fù)制協(xié)議的違反指示第一復(fù)制品上的所接受數(shù)據(jù)更新未能被拷貝到復(fù)制協(xié)議的另一復(fù)制品方,以及針對具有活動狀態(tài)且對于所接受數(shù)據(jù)更新而言未被違反的復(fù)制協(xié)議將所接受數(shù)據(jù)更新復(fù)制到所述多個復(fù)制品中的其它復(fù)制品;以及所述多個復(fù)制品中的第二復(fù)制品,托管在第二服務(wù)器計算機(jī)中,第二復(fù)制品被配置為接受對第二復(fù)制品上的復(fù)制品條目的數(shù)據(jù)更新,每個復(fù)制品條目對應(yīng)于網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目,將第二復(fù)制品上的復(fù)制品條目進(jìn)行更新以包括所接受數(shù)據(jù)更新,確定具有與網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目相對應(yīng)的復(fù)制品條目的所述多個復(fù)制品中的復(fù)制品和所述第二復(fù)制品之間的復(fù)制協(xié)議的狀態(tài),其中,所述第二復(fù)制品具有與所述多個復(fù)制品中的每個復(fù)制品的復(fù)制協(xié)議,每個復(fù)制協(xié)議與該協(xié)議的復(fù)制品方之間的復(fù)制品條目的協(xié)調(diào)有關(guān),確定第二復(fù)制品上的所更新復(fù)制品條目是否違反復(fù)制協(xié)議,其中,復(fù)制協(xié)議的違反指示第二復(fù)制品上的所接受數(shù)據(jù)更新未能被拷貝到復(fù)制協(xié)議的另一復(fù)制品方,以及針對具有活動狀態(tài)且對于所接受數(shù)據(jù)更新而言未被違反的復(fù)制協(xié)議將所接受數(shù)據(jù)更新復(fù)制到所述多個復(fù)制品中的其它復(fù)制品。2.權(quán)利要求1的系統(tǒng),還包括所述多個復(fù)制品中的第三復(fù)制品,托管在第一服務(wù)器計算機(jī)中,第二復(fù)制品被配置為接受對第三復(fù)制品上的復(fù)制品條目的數(shù)據(jù)更新,每個復(fù)制品條目對應(yīng)于網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目,將第三復(fù)制品上的復(fù)制品條目進(jìn)行更新以包括所接受數(shù)據(jù)更新,確定具有與網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目相對應(yīng)的復(fù)制品條目的所述多個復(fù)制品中的復(fù)制品和所述第三復(fù)制品之間的復(fù)制協(xié)議的狀態(tài),其中,所述第三復(fù)制品具有與所述多個復(fù)制品中的每個復(fù)制品的復(fù)制協(xié)議,每個復(fù)制協(xié)議與該協(xié)議的復(fù)制品方之間的復(fù)制品條目的協(xié)調(diào)有關(guān),確定第三復(fù)制品上的所更新復(fù)制品條目是否違反復(fù)制協(xié)議,其中,復(fù)制協(xié)議的違反指示第三復(fù)制品上的所接受數(shù)據(jù)更新未能被拷貝到復(fù)制協(xié)議的另一復(fù)制品方,以及針對具有活動狀態(tài)且對于所接受數(shù)據(jù)更新而言未被違反的復(fù)制協(xié)議將所接受數(shù)據(jù)更新復(fù)制到所述多個復(fù)制品中的其它復(fù)制品。3.權(quán)利要求1的系統(tǒng),其中,所述第一復(fù)制品還被配置為使所述第一復(fù)制品上的復(fù)制品條目與具有復(fù)制協(xié)議的多個復(fù)制品中的其它復(fù)制品上的復(fù)制品條目同步,所述復(fù)制協(xié)議已由于所接受數(shù)據(jù)更新不能被拷貝到所述多個復(fù)制品中的其它復(fù)制品而被第一復(fù)制品上的所接受數(shù)據(jù)更新違反。4.權(quán)利要求3的系統(tǒng),其中,所述第一復(fù)制品還被配置為在協(xié)商中應(yīng)用合并規(guī)則來確定最佳議定的條目內(nèi)容,其復(fù)制品條目已經(jīng)歷獨立且不相容的更新。5.權(quán)利要求4的系統(tǒng),其中,第一復(fù)制品被配置為應(yīng)用的合并規(guī)則包括(使用于復(fù)制品條目的后面的數(shù)據(jù)改變優(yōu)先于用于復(fù)制品條目的先前的數(shù)據(jù)改變,并優(yōu)先于基于時間的優(yōu)先而應(yīng)用客戶端優(yōu)先次序)中的至少一個。6.權(quán)利要求1的系統(tǒng),其中,所述第一復(fù)制品還被配置為確定第一復(fù)制品與第二復(fù)制品之間的復(fù)制協(xié)議已變?yōu)榛顒訝顟B(tài);以及使第一復(fù)制品上的復(fù)制品條目與第二復(fù)制品上的復(fù)制品條目同步,以便在第一復(fù)制品與第二復(fù)制品之間的復(fù)制協(xié)議不活動時,將數(shù)據(jù)更新采用于未被更新的第一復(fù)制品和第二復(fù)制品上的復(fù)制品。7.權(quán)利要求1的系統(tǒng),其中,所述第一復(fù)制品還被配置為確定第一復(fù)制品與多個其它復(fù)制品之間的多個復(fù)制協(xié)議已變?yōu)榛顒訝顟B(tài),與所述多個其它復(fù)制品協(xié)商以確定第一復(fù)制品和所述多個其它復(fù)制品上需要的附加數(shù)據(jù)更新的最小數(shù)目,以便使第一復(fù)制品上的復(fù)制品條目與所述多個其它復(fù)制品上的復(fù)制品條目同步,以便在所述多個復(fù)制協(xié)議不活動時將數(shù)據(jù)更新采用于所述多個復(fù)制品上的復(fù)制品條目。8.權(quán)利要求7的系統(tǒng),其中,所述多個復(fù)制品還被配置為在協(xié)商中應(yīng)用合并規(guī)則來確定最佳議定的條目內(nèi)容,其復(fù)制品條目已經(jīng)歷獨立且不相容的更新。9.權(quán)利要求8的系統(tǒng),其中,多個復(fù)制品被配置為應(yīng)用的合并規(guī)則包括(使用于復(fù)制品條目的后面的數(shù)據(jù)改變優(yōu)先于用于復(fù)制品條目的先前的數(shù)據(jù)改變,并優(yōu)先于基于時間的優(yōu)先而應(yīng)用客戶端優(yōu)先次序)中的至少一個。10.權(quán)利要求7的系統(tǒng),還包括服務(wù)質(zhì)量模塊,被配置為暫停所述多個復(fù)制品中的復(fù)制品在該復(fù)制品降到由客戶端或代表客戶端設(shè)置的同步服務(wù)質(zhì)量閾值之下時對關(guān)于客戶端的網(wǎng)絡(luò)數(shù)據(jù)倉庫的數(shù)據(jù)查詢進(jìn)行響應(yīng)的能力。11.權(quán)利要求1的系統(tǒng),其中,所述第一復(fù)制品還包括第一復(fù)制信息庫,被配置為包括多個復(fù)制品條目,以使得每個復(fù)制品條目對應(yīng)于網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目;第一事務(wù)模塊,被配置為接收對第一復(fù)制信息庫中的復(fù)制品條目的數(shù)據(jù)更新;第一添加增量模塊,被配置為創(chuàng)建第一復(fù)制信息庫中的多個復(fù)制品條目中的第一復(fù)制品條目的第一條目增量,并為第一條目增量提供來自事務(wù)模塊的所接收數(shù)據(jù)更新,且被配置為創(chuàng)建所述多個復(fù)制品中的第二復(fù)制品中的第二復(fù)制品條目的所接收數(shù)據(jù)更新的副本;第一鎖定模塊,被配置為鎖定第一復(fù)制信息庫中的第一復(fù)制品條目;第一增量OK模塊,被配置為確認(rèn)第一條目增量具有與第一復(fù)制品條目相容的特性,其中,所述第一添加增量模塊還被配置為在第一增量OK模塊已確認(rèn)第一條目增量之后通過網(wǎng)絡(luò)將所接收數(shù)據(jù)更新的副本發(fā)送到具有第二復(fù)制品條目的第二復(fù)制品;提交模塊,被配置為在從鎖定模塊接收到成功指示符之后請求條目增量的應(yīng)用,所述成功指示符與對網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目的改變相關(guān)聯(lián);第一應(yīng)用模塊,被配置為將第一條目增量應(yīng)用于第一復(fù)制信息庫中的第一復(fù)制品條目,以使得對第一復(fù)制品中的條目的請求將隨后提供所接收數(shù)據(jù)更新,第一應(yīng)用模塊被配置為在接收到來自提交模塊的請求之后應(yīng)用第一條目增量;以及第一解鎖模塊,被配置為在第一應(yīng)用模塊已向第一復(fù)制品條目應(yīng)用第一條目增量之后將第一復(fù)制品條目解鎖。12.權(quán)利要求11的系統(tǒng),其中,所述第二復(fù)制品還包括第二復(fù)制信息庫,被配置為包括多個復(fù)制品條目,以使得每個復(fù)制品條目對應(yīng)于網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目;第二添加增量模塊,被配置為從所述第一添加增量模塊接收數(shù)據(jù)更新并在第二復(fù)制品條目上創(chuàng)建第二條目增量;第二鎖定模塊,被配置為將用于第二條目增量的第二復(fù)制信息中的第二復(fù)制品條目鎖定并在將第二復(fù)制品條目鎖定之后向第一復(fù)制品發(fā)送成功指示符;第二應(yīng)用模塊,被配置為將第二條目增量應(yīng)用于第二復(fù)制品條目,以使得對第二復(fù)制品中的條目的請求隨后將提供所接收數(shù)據(jù)更新,第二應(yīng)用模塊被配置為在接收到來自提交模塊的請求之后應(yīng)用第一條目增量;以及第二解鎖模塊,被配置為在向第二復(fù)制品條目應(yīng)用第二條目增量之后將第二數(shù)據(jù)復(fù)制品條目解鎖。13.權(quán)利要求11的系統(tǒng),其中,所述第一復(fù)制品還包括通信模塊,被配置為確定所述多個復(fù)制品中的一個復(fù)制品與另一復(fù)制品之間的復(fù)制協(xié)議是否已由于第一復(fù)制品與其它復(fù)制品之間的通信丟失而變成不活動的,該通信模塊還被配置為確定在第一復(fù)制品與另一復(fù)制品之間已經(jīng)恢復(fù)通信;以及同步模塊,被配置為請求在不活動狀態(tài)期間被改變的第一復(fù)制品中的條目的更新數(shù)據(jù),該同步模塊還被配置為控制另一復(fù)制品的更新以解決復(fù)制協(xié)議的違反,直至復(fù)制協(xié)議恢復(fù)到活動狀態(tài)為止。14.權(quán)利要求11的系統(tǒng),所述第一復(fù)制品還包括第一排隊模塊,被配置為當(dāng)?shù)谝绘i定模塊已將第一復(fù)制信息庫中的第一復(fù)制品條目鎖定時使到第一鎖定模塊的請求排隊;以及優(yōu)先級模塊,被配置為在第一接收條目增量的處理未完成的同時確定第二接收條目增量優(yōu)先于第一接收條目增量,且還被配置為命令第一解鎖模塊將第一數(shù)據(jù)復(fù)制品解鎖,且還被配置為使第一排隊模塊上的第一接收條目增量排隊,直至對于第二接收條目增量而言處理已完成為止。15.權(quán)利要求14的系統(tǒng),其中,所述優(yōu)先級模塊還被配置為識別用于第一接收條目增量的第一優(yōu)先級數(shù)并識別用于第二接收條目增量的第二優(yōu)先級數(shù)目,且還被配置為確定第二優(yōu)先級數(shù)優(yōu)先于第一優(yōu)先級數(shù)。16.權(quán)利要求14的系統(tǒng),其中,所述優(yōu)先級模塊還被配置為識別與關(guān)聯(lián)于第一接收條目增量的第一外部用戶相關(guān)聯(lián)的第一優(yōu)先級數(shù)且被配置為識別與關(guān)聯(lián)于第二接收條目增量的第二外部用戶相關(guān)聯(lián)的第二優(yōu)先級數(shù),并確定第二優(yōu)先級數(shù)優(yōu)先于第一優(yōu)先級數(shù)。17.權(quán)利要求11的系統(tǒng),所述第一復(fù)制品還包括第一排隊模塊,被配置為當(dāng)?shù)谝绘i定模塊已將第一復(fù)制信息庫中的第一復(fù)制品條目鎖定時使到第一鎖定模塊的請求排隊。18.權(quán)利要求11的系統(tǒng),其中,所述事務(wù)模塊還被配置為接收來自外部用戶的事務(wù)請求以將第一復(fù)制品條目進(jìn)行更新以包括所接收數(shù)據(jù)改變,其中,所述事務(wù)模塊還被配置為在接收到事務(wù)請求之后使第一添加增量模塊創(chuàng)建第一條目增量。19.權(quán)利要求11的系統(tǒng),其中,所述第一事務(wù)模塊還被配置為在第一復(fù)制品已接收到成功指示符之后通知外部用戶事務(wù)請求已被成功確認(rèn),且還被配置為接收來自外部用戶的請求以將數(shù)據(jù)改變提交給第一復(fù)制品條目和第二復(fù)制品條目。20.權(quán)利要求11的系統(tǒng),其中,所述事務(wù)模塊還被配置為在將第一復(fù)制品條目解鎖并將第二復(fù)制品條目解鎖之后通知外部用戶數(shù)據(jù)改變已被成功地應(yīng)用于網(wǎng)絡(luò)數(shù)據(jù)倉庫。21.一種用于管理在多個服務(wù)器上部署的網(wǎng)絡(luò)數(shù)據(jù)倉庫中的數(shù)據(jù)的系統(tǒng),包括第一復(fù)制品,被配置為用于與多個復(fù)制品中的其它復(fù)制品進(jìn)行通信,在所述多個服務(wù)器中的服務(wù)器上被托管的第一復(fù)制品還包括第一復(fù)制信息庫,被配置為包含網(wǎng)絡(luò)數(shù)據(jù)倉庫的至少一部分,該第一復(fù)制信息庫包括多個復(fù)制品條目,以使得每個復(fù)制品條目對應(yīng)于網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目,該第一復(fù)制信息庫還包括所述多個復(fù)制品中的每個復(fù)制品與其它復(fù)制品之間的多個復(fù)制協(xié)議;狀態(tài)確定模塊,被配置為確定所述多個復(fù)制品中的復(fù)制品與所述多個復(fù)制品中的另一復(fù)制品之間的復(fù)制協(xié)議是否由于通信丟失而處于不活動狀態(tài),該狀態(tài)確定模塊還被配置為確定在第一復(fù)制品與另一復(fù)制品之間已恢復(fù)通信;以及同步模塊,被配置為請求在復(fù)制協(xié)議的不活動狀態(tài)期間改變的所述多個復(fù)制品中的復(fù)制品中的條目的更新數(shù)據(jù),所述同步模塊還被配置為控制所述多個復(fù)制品中的另一復(fù)制品的更新,以解決產(chǎn)生的對復(fù)制協(xié)議的違反,直至復(fù)制協(xié)議被恢復(fù)至活動狀態(tài)為止。22.權(quán)利要求21的系統(tǒng),其中,所述同步模塊被配置為與同步服務(wù)器一起操作,該同步服務(wù)器被配置為獲得在具有不活動復(fù)制協(xié)議的第一復(fù)制品條目與第二復(fù)制品條目之間共用的復(fù)合復(fù)制品條目,向該復(fù)合復(fù)制品條目應(yīng)用對在第二復(fù)制品條目中未找到的第一復(fù)制品條目的有效更新以創(chuàng)建第一更新復(fù)制品條目,向第一更新復(fù)制品條目應(yīng)用對在第一復(fù)制品條目中未找到的第二復(fù)制品條目的有效改變以創(chuàng)建第二更新復(fù)制品條目,并將第二更新復(fù)制品條目發(fā)送到第一復(fù)制信息庫。23.權(quán)利要求21的系統(tǒng),其中,所述同步模塊被配置為從狀態(tài)確定模塊獲得第一復(fù)制品條目與第二復(fù)制品條目同步的最后時間,其中,第一復(fù)制品條目與第二復(fù)制品條目之間的復(fù)制協(xié)議已變成不活動的,暫停第一復(fù)制品條目的進(jìn)一步更新,在第一復(fù)制品中使處理時間返回到所確定的第一復(fù)制品條目與第二復(fù)制品條目同步的最后時間,處理在第一復(fù)制協(xié)議不活動時錯過的第一復(fù)制品條目與第二復(fù)制品條目之間的所有數(shù)據(jù)更新,并恢復(fù)第一復(fù)制品條目以接受進(jìn)一步的更新。24.一種用于對等計算網(wǎng)絡(luò)中的網(wǎng)絡(luò)數(shù)據(jù)倉庫的實時數(shù)據(jù)管理的方法,包括接受對多個復(fù)制品中的第一復(fù)制品中的網(wǎng)絡(luò)數(shù)據(jù)倉庫的條目的數(shù)據(jù)更新,第一復(fù)制品在多個服務(wù)器中的第一服務(wù)器上被托管,第一復(fù)制品包含網(wǎng)絡(luò)數(shù)據(jù)倉庫的至少一部分作為對應(yīng)于網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目的多個復(fù)制品條目;識別對應(yīng)于該條目的第一復(fù)制品上的所述多個復(fù)制品條目中的復(fù)制品條目;檢查所述多個復(fù)制品的第一復(fù)制品與其它復(fù)制品之間的復(fù)制協(xié)議,其中,每個復(fù)制協(xié)議描述所述多個復(fù)制品中的第一復(fù)制品與另一復(fù)制品之間的關(guān)系;確定所述多個復(fù)制品的第一復(fù)制品與第二復(fù)制品之間的第一復(fù)制協(xié)議的狀態(tài),所述第二復(fù)制品在所述多個服務(wù)器中的第二服務(wù)器上被托管;更新第一復(fù)制品上的已識別復(fù)制品條目;以及如果第一復(fù)制協(xié)議處于活動狀態(tài)且如果可以將所接受數(shù)據(jù)更新拷貝到第二復(fù)制品,則將所接受數(shù)據(jù)更新復(fù)制到第二復(fù)制品上。25.權(quán)利要求24的方法,還包括將另一數(shù)據(jù)更新從所述多個復(fù)制品中的第三復(fù)制品復(fù)制到第一復(fù)制品中的另一復(fù)制品條目,其中,所述第一復(fù)制品和所述第三復(fù)制品具有處于活動狀態(tài)的復(fù)制協(xié)議,并且其中,所述另一數(shù)據(jù)更新已被從第三復(fù)制品拷貝到第一復(fù)制品。26.權(quán)利要求24的方法,還包括確定第一復(fù)制品與多個其它復(fù)制品之間的多個復(fù)制協(xié)議已變?yōu)榛顒訝顟B(tài),與所述多個其它復(fù)制品協(xié)商以確定第一復(fù)制品和所述多個其它復(fù)制品之間上需要的附加數(shù)據(jù)更新的最小數(shù)目,以便使第一復(fù)制品上的復(fù)制品條目與所述多個其它復(fù)制品上的復(fù)制品條目同步,以便在所述多個復(fù)制協(xié)議不活動時將數(shù)據(jù)更新采用于所述多個復(fù)制品上的復(fù)制品條目。27.權(quán)利要求26的方法,還包括在協(xié)商中應(yīng)用合并規(guī)則來確定最佳議定的條目內(nèi)容,其復(fù)制品條目已經(jīng)歷獨立且不相容的更新。28.權(quán)利要求26的方法,其中,合并規(guī)則包括(使用于復(fù)制品條目的后面的數(shù)據(jù)更新優(yōu)先于用于復(fù)制品條目的先前的數(shù)據(jù)更新,并優(yōu)先于基于時間的優(yōu)先而應(yīng)用客戶端優(yōu)先次序)中的至少一個。29.權(quán)利要求24的方法,還包括暫停所述多個復(fù)制品中的復(fù)制品在該復(fù)制品降到由客戶端或代表客戶端設(shè)置的同步服務(wù)質(zhì)量閾值之下時對關(guān)于客戶端的網(wǎng)絡(luò)數(shù)據(jù)倉庫的數(shù)據(jù)查詢進(jìn)行響應(yīng)的能力。30.權(quán)利要求24的方法,還包括確定與第三復(fù)制品和第一復(fù)制品有關(guān)的復(fù)制協(xié)議已由于所述多個復(fù)制品中的第一復(fù)制品與第三復(fù)制品之間的通信丟失而變成不活動的;確定第三數(shù)據(jù)復(fù)制品與第二復(fù)制品之間的復(fù)制協(xié)議也已由于第二復(fù)制品與第三復(fù)制品之間的通信丟失而變成不活動的;確定在第一復(fù)制品與第三復(fù)制品之間已恢復(fù)通信;以及請求用于第一復(fù)制品的數(shù)據(jù)更新。31.權(quán)利要求24的方法,其中,將數(shù)據(jù)更新復(fù)制到第二復(fù)制品包括創(chuàng)建用于第二復(fù)制品中的第二復(fù)制品條目的數(shù)據(jù)更新的副本,第二復(fù)制品條目對應(yīng)于網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目;創(chuàng)建用于第一復(fù)制品條目的第一條目增量,其中,第一條目增量包括數(shù)據(jù)更新;將第一復(fù)制品上的第一復(fù)制品條目中的條目鎖定;確認(rèn)第一條目增量具有與條目相容的特性;通過網(wǎng)絡(luò)將所接受數(shù)據(jù)更新的副本發(fā)送到第二復(fù)制品;在第二復(fù)制品上創(chuàng)建第二條目增量,其中,第二條目增量包括適合于第二復(fù)制品條目的格式的數(shù)據(jù)更新;將第二復(fù)制品上的第二復(fù)制品條目中的條目鎖定;在將第二復(fù)制品條目中的條目鎖定之后從第二復(fù)制品向第一復(fù)制品發(fā)送成功指示符;將第一條目增量應(yīng)用于第一復(fù)制品條目,并將第二條目增量應(yīng)用于第二復(fù)制品條目,以使得對第一復(fù)制品和第二復(fù)制品中的條目的請求隨后將提供數(shù)據(jù)更新;在將第一條目增量應(yīng)用于第一復(fù)制品條目之后將第一復(fù)制品條目解鎖;以及在將第二條目增量應(yīng)用于第二復(fù)制品條目之后將第二復(fù)制品條目解鎖。32.權(quán)利要求30的方法,還包括接收用于網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目的第二數(shù)據(jù)更新,該條目對應(yīng)于位于第二復(fù)制品上的第二復(fù)制品條目;在第二復(fù)制品條目上創(chuàng)建第三條目增量,其中,第三條目增量包括第二數(shù)據(jù)更新;通過第三條目增量將第二復(fù)制品上的第二復(fù)制品條目中的條目鎖定;接收來自第二數(shù)據(jù)條目增量的鎖定請求;在應(yīng)用鎖定優(yōu)先級規(guī)則并使第三條目增量的鎖定排隊之后將被第三條目增量鎖定的第二復(fù)制品條目中的條目解鎖,所述鎖定優(yōu)先級規(guī)則確定第二條目增量優(yōu)先于第三條目增量;以及在將第二條目增量應(yīng)用于第二復(fù)制品條目之后在將第二復(fù)制品條目解鎖之后,重新鎖定用于第三條目增量的第二數(shù)據(jù)復(fù)制品中的條目。33.權(quán)利要求32的方法,其中,應(yīng)用鎖定優(yōu)先級規(guī)則包括識別創(chuàng)建了第二數(shù)據(jù)復(fù)制品的第一復(fù)制品的第一優(yōu)先級數(shù),該優(yōu)先級數(shù)與第一復(fù)制品相關(guān)聯(lián);識別用于第三數(shù)據(jù)復(fù)制品的第二優(yōu)先級數(shù),該優(yōu)先級數(shù)與第二復(fù)制品相關(guān)聯(lián);以及確定第一優(yōu)先級數(shù)具有高于第二優(yōu)先級數(shù)的優(yōu)先級,其中,該確定指示由第三數(shù)據(jù)復(fù)制品應(yīng)用的鎖定將被解除以支持用于第二數(shù)據(jù)復(fù)制品的鎖定。34.權(quán)利要求32的方法,其中,應(yīng)用鎖定優(yōu)先級規(guī)則包括識別與關(guān)聯(lián)于第一數(shù)據(jù)復(fù)制品的第一外部用戶相關(guān)聯(lián)的第一優(yōu)先級數(shù);識別與關(guān)聯(lián)于第三數(shù)據(jù)復(fù)制品的第二外部用戶相關(guān)聯(lián)的第二優(yōu)先級數(shù);以及確定第一優(yōu)先級數(shù)具有高于第二優(yōu)先級數(shù)的優(yōu)先級,其中,該確定指示由第三數(shù)據(jù)復(fù)制品應(yīng)用的鎖定將被解除以支持用于第二數(shù)據(jù)復(fù)制品的鎖定。35.權(quán)利要求30的方法,還包括接收用于網(wǎng)絡(luò)數(shù)據(jù)倉庫中的條目的第二數(shù)據(jù)更新,該條目對應(yīng)于位于第二復(fù)制品上的第二復(fù)制品條目,其中,在所接收數(shù)據(jù)更新之后接收第二數(shù)據(jù)更新;在第二復(fù)制品條目上創(chuàng)建第三條目增量,其中,第三條目增量包括適合于第二復(fù)制品條目的格式的第二數(shù)據(jù)更新;在由于第二條目增量而注意到第二復(fù)制品上的第二復(fù)制品條目中的鎖定條目之后使用于第三條目增量的第二復(fù)制品上的第二復(fù)制品條目中的條目上的鎖定排隊;以及在將第二條目增量應(yīng)用于第二復(fù)制品條目之后在將第二復(fù)制品條目解鎖之后,將用于第三條目增量的第二數(shù)據(jù)復(fù)制品中的條目鎖定。36.權(quán)利要求30的方法,還包括接收來自外部用戶的事務(wù)請求以將第一復(fù)制品條目進(jìn)行更新以包括所接收數(shù)據(jù)更新,其中,在接收到事務(wù)請求之后創(chuàng)建第一條目增量。37.權(quán)利要求30的方法,還包括在第一復(fù)制品接收到成功指示符之后通知外部用戶事務(wù)請求已被成功確認(rèn);以及接收來自外部用戶的請求以將數(shù)據(jù)更新提交給第一復(fù)制品條目和第二復(fù)制品條目。38.權(quán)利要求30的方法,還包括在將第一復(fù)制品條目解鎖之后和在將第二復(fù)制品條目解鎖之后通知外部用戶數(shù)據(jù)更新已被成功地應(yīng)用于網(wǎng)絡(luò)數(shù)據(jù)倉庫。39.一種用于管理在多個復(fù)制品上部署的網(wǎng)絡(luò)數(shù)據(jù)倉庫中的數(shù)據(jù)的方法,其中,所述網(wǎng)絡(luò)數(shù)據(jù)倉庫中的每個條目對應(yīng)于所述多個復(fù)制品中的每一個中的復(fù)制品條目,并且其中,每個復(fù)制品保持與所述多個復(fù)制品中的其它復(fù)制品的復(fù)制協(xié)議,所述方法還包括確定與第一復(fù)制品和第二復(fù)制品相關(guān)的第一復(fù)制協(xié)議已由于第一復(fù)制品與托管第二復(fù)制品條目的第二復(fù)制品之間的通信丟失而進(jìn)入不活動狀態(tài);確定與第一復(fù)制品和第三復(fù)制品相關(guān)的第二復(fù)制協(xié)議已由于第一復(fù)制品與第三復(fù)制品之間的通信丟失而進(jìn)入不活動狀態(tài),其中,第二復(fù)制品與第三復(fù)制品之間的通信未被中斷;確定在第一復(fù)制品與第二復(fù)制品之間已恢復(fù)通信,且在第一復(fù)制品與第三復(fù)制品之間已恢復(fù)通信;通過使第一復(fù)制品與第二復(fù)制品相互同步來將第一復(fù)制協(xié)議恢復(fù)至活動狀態(tài);以及通過使第一復(fù)制品與第三復(fù)制品相互同步來將第二復(fù)制協(xié)議恢復(fù)至活動狀態(tài)。40.權(quán)利要求39的方法,其中,使第一復(fù)制品和第二復(fù)制品同步包括利用在第一復(fù)制品與第二復(fù)制品之間共用的復(fù)合復(fù)制品來加載同步復(fù)制品;將復(fù)合復(fù)制品有效數(shù)據(jù)改變應(yīng)用于在第二復(fù)制品中未找到的第一復(fù)制品以創(chuàng)建第一更新復(fù)制品;將第一更新復(fù)制品有效數(shù)據(jù)改變應(yīng)用于在第一復(fù)制品中未找到的第二復(fù)制品以創(chuàng)建第二更新復(fù)制品;以及將第二更新復(fù)制品發(fā)送到第一復(fù)制品和第二復(fù)制品條目。41.權(quán)利要求39的方法,其中,使第一復(fù)制品和第二復(fù)制品同步包括確定第一復(fù)制品與第二復(fù)制品同步的最后時間;暫停第一復(fù)制品和第二復(fù)制品的進(jìn)一步數(shù)據(jù)更新;將處理時間返回到所確定的第一復(fù)制品與第二復(fù)制品同步的最后時間;處理在第一復(fù)制協(xié)議不活動時錯過的第一復(fù)制品與第二復(fù)制品之間的所有數(shù)據(jù)更新;以及恢復(fù)第一復(fù)制品和第二復(fù)制品以接受進(jìn)一步更新。全文摘要本發(fā)明的實施例提供一種對等且多線程的復(fù)制和同步機(jī)制。本發(fā)明的實施例還可以在復(fù)制品之間的通信丟失的情況下實現(xiàn)可用替換服務(wù)并在復(fù)制品之間的通信恢復(fù)時實現(xiàn)完全自動恢復(fù)。復(fù)制和同步機(jī)制還可以提供條目級同步和對事務(wù)的支持。復(fù)制和同步機(jī)制將已由于對等端之間的通信丟失而獨立地進(jìn)行的改變合并。文檔編號H04L29/12GK101933014SQ200880118023公開日2010年12月29日申請日期2008年9月26日優(yōu)先權(quán)日2007年9月28日發(fā)明者K·瓦克菲爾德申請人:阿珀蒂奧有限公司