午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

用于在分布式數(shù)據(jù)網(wǎng)格中支持持久存儲裝置版本化和完整性的系統(tǒng)和方法

文檔序號:10475879閱讀:190來源:國知局
用于在分布式數(shù)據(jù)網(wǎng)格中支持持久存儲裝置版本化和完整性的系統(tǒng)和方法
【專利摘要】一種系統(tǒng)和方法可以在分布式數(shù)據(jù)網(wǎng)格中支持持久性,諸如持久存儲裝置的版本化和完整性。分布式數(shù)據(jù)網(wǎng)格中的解析器可以從分布式數(shù)據(jù)網(wǎng)格的一個或多個成員接收多個標(biāo)識符,其中,每個所述標(biāo)識符與分布式數(shù)據(jù)網(wǎng)格的持久存儲設(shè)備中的持久保存的分區(qū)相關(guān)聯(lián)。然后,解析器可以針對每個分區(qū)選擇標(biāo)識符,其中,每個所選擇的標(biāo)識符與分區(qū)的最近的有效版本相關(guān)聯(lián)。此外,解析器可以確定分布式數(shù)據(jù)網(wǎng)格中的對從與所選擇的標(biāo)識符相關(guān)聯(lián)的持久保存的分區(qū)恢復(fù)所述分區(qū)負(fù)責(zé)的成員。
【專利說明】用于在分布式數(shù)據(jù)網(wǎng)格中支持持久存儲裝置版本化和完整性的系統(tǒng)和方法
[0001 ] 版權(quán)通知
[0002]本專利文檔的公開內(nèi)容的一部分包含受到版權(quán)保護(hù)的資料。版權(quán)所有人不反對任何人對本專利文檔或?qū)@_內(nèi)容進(jìn)行復(fù)制再現(xiàn),如其在專利和商標(biāo)局專利文件或記錄中出現(xiàn)的那樣,但是無論如何在其他方面保留全部的版權(quán)權(quán)利。
技術(shù)領(lǐng)域
[0003]本發(fā)明一般涉及計算機(jī)系統(tǒng),并且特別地涉及在分布式數(shù)據(jù)網(wǎng)格中支持持久性。
【背景技術(shù)】
[0004]現(xiàn)代計算系統(tǒng)(尤其是較大型的組織和企業(yè)采用的那些現(xiàn)代計算系統(tǒng))在規(guī)模和復(fù)雜性上繼續(xù)增加。尤其在諸如因特網(wǎng)應(yīng)用之類的領(lǐng)域中,存在著數(shù)百萬用戶應(yīng)當(dāng)能夠同時訪問該應(yīng)用的期望,這實(shí)際上導(dǎo)致由用戶生成和消費(fèi)的內(nèi)容的量以及涉及該內(nèi)容的事務(wù)的量呈現(xiàn)指數(shù)增長。這樣的活動還導(dǎo)致對數(shù)據(jù)庫和元數(shù)據(jù)存儲裝置的事務(wù)調(diào)用的數(shù)量的相應(yīng)增長,而數(shù)據(jù)庫和元數(shù)據(jù)存儲裝置具有有限的容量以適應(yīng)這種需求。這是本發(fā)明的實(shí)施例旨在應(yīng)對的一般領(lǐng)域。

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

[0005]本文描述了能夠在分布式數(shù)據(jù)網(wǎng)格中支持持久性(諸如持久存儲裝置版本化和完整性)的系統(tǒng)和方法。在該分布式數(shù)據(jù)網(wǎng)格中的解析器可以從該分布式數(shù)據(jù)網(wǎng)格的一個或多個成員接收多個標(biāo)識符,其中每個所述標(biāo)識符與分布式數(shù)據(jù)網(wǎng)格的持久存儲設(shè)備中的持久保存的分區(qū)相關(guān)聯(lián)。然后,解析器可以針對每個分區(qū)選擇標(biāo)識符,其中每個所選擇的標(biāo)識符與分區(qū)的最近的有效版本相關(guān)聯(lián)。此外,解析器可以確定分布式數(shù)據(jù)網(wǎng)格中的負(fù)責(zé)從與所選擇的標(biāo)識符相關(guān)聯(lián)的持久保存的分區(qū)恢復(fù)所述分區(qū)的成員。
【附圖說明】
[0006]圖1是根據(jù)本發(fā)明各個實(shí)施例的數(shù)據(jù)網(wǎng)格集群的說明圖。
[0007]圖2示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中支持持久性的說明圖。
[0008]圖3示出了根據(jù)本發(fā)明實(shí)施例的使用共享的存儲設(shè)備來在分布式數(shù)據(jù)網(wǎng)格中支持持久性的說明圖。
[0009]圖4示出了根據(jù)本發(fā)明實(shí)施例的使用分布式本地盤來在分布式數(shù)據(jù)網(wǎng)格中支持持久性的說明圖。
[0010]圖5示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中支持分布式的持久存儲裝置恢復(fù)的說明圖。
[0011]圖6示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中協(xié)調(diào)持久存儲裝置恢復(fù)的說明圖。
[0012]圖7示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中支持一致的分區(qū)恢復(fù)的說明圖。
[0013]圖8示出了根據(jù)本發(fā)明實(shí)施例的用于在分布式數(shù)據(jù)網(wǎng)格中支持分布式的持久存儲裝置恢復(fù)的示例性流程圖。
[0014]圖9示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中支持持久存儲裝置版本化的說明圖。
[0015]圖10示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中支持持久存儲裝置完整性的說明圖。
[0016]圖11示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中還原持久保存的分區(qū)的說明圖。
[0017]圖12示出了根據(jù)本發(fā)明實(shí)施例的用于在分布式數(shù)據(jù)網(wǎng)格中支持持久存儲裝置版本化和完整性的示例性流程圖。
[0018]圖13示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中提供運(yùn)行系統(tǒng)的持久快照(snapshot)的說明圖。
[0019]圖14示出了根據(jù)本發(fā)明實(shí)施例的用于在分布式數(shù)據(jù)網(wǎng)格中提供運(yùn)行系統(tǒng)的持久快照的示例性流程圖。
[0020]圖15示出了說明根據(jù)本發(fā)明實(shí)施例的解析器的示意性框圖。
[0021]圖16是本發(fā)明實(shí)施例的功能性配置的說明圖。
[0022]圖17是用于實(shí)現(xiàn)本發(fā)明實(shí)施例的計算機(jī)系統(tǒng)的說明圖。
【具體實(shí)施方式】
[0023 ]在本文中描述了可以在分布式數(shù)據(jù)網(wǎng)格中支持持久性的系統(tǒng)和方法。
[0024]分布式數(shù)據(jù)網(wǎng)格
[0025]根據(jù)實(shí)施例,在本文中稱為“數(shù)據(jù)網(wǎng)格集群”或“數(shù)據(jù)網(wǎng)格”的是一種包括多個計算機(jī)服務(wù)器的系統(tǒng),該多個計算機(jī)服務(wù)器一起工作來管理分布式或集群式環(huán)境內(nèi)的信息以及相關(guān)的操作,諸如計算。數(shù)據(jù)網(wǎng)格集群可以用于管理在多個服務(wù)器上共享的應(yīng)用對象和數(shù)據(jù)。優(yōu)選地,數(shù)據(jù)網(wǎng)格集群應(yīng)當(dāng)具有低響應(yīng)時間、高吞吐量、可預(yù)測的可縮放性、連續(xù)的可用性以及信息可靠性。由于這些能力,數(shù)據(jù)網(wǎng)格集群很好地適合用于計算密集的、有狀態(tài)的中間層應(yīng)用。數(shù)據(jù)網(wǎng)格集群的一些例子(例如,Oracle Coherence數(shù)據(jù)網(wǎng)格集群)可以將信息存儲在存儲器內(nèi)以實(shí)現(xiàn)更高的性能,并且可以在使得該信息的副本在多個服務(wù)器上保持同步時采用冗余,從而在服務(wù)器故障的情況中確保系統(tǒng)的彈性以及數(shù)據(jù)的可用性。例如,Coherence在可靠的、高度可縮放的點(diǎn)對點(diǎn)(peer-to-peer)集群協(xié)議之上提供重復(fù)的并且分布式的(分區(qū)的)數(shù)據(jù)管理以及高速緩存服務(wù)。
[0026]存儲器內(nèi)(in-memory)數(shù)據(jù)網(wǎng)格可以通過將數(shù)據(jù)分布在多個一起工作的服務(wù)器上來提供數(shù)據(jù)存儲和管理能力。數(shù)據(jù)網(wǎng)格可以是在與應(yīng)用服務(wù)器相同的層中運(yùn)行或者在應(yīng)用服務(wù)器內(nèi)運(yùn)行的中間件。其可以提供對數(shù)據(jù)的管理和處理,并且還可以將處理推送到該網(wǎng)格中數(shù)據(jù)所處的地方。此外,在服務(wù)器變得不起作用或者從網(wǎng)絡(luò)斷開連接時,存儲器內(nèi)數(shù)據(jù)網(wǎng)格可以通過自動地并且透明地故障轉(zhuǎn)移和重新分布其集群的數(shù)據(jù)管理服務(wù)來消除單一故障點(diǎn)。當(dāng)新的服務(wù)器被添加時,或者當(dāng)故障的服務(wù)器被重啟時,其可以自動地加入集群,并且可以將服務(wù)恢復(fù)到它,從而透明地重新分布集群負(fù)載。數(shù)據(jù)網(wǎng)格還可以包括網(wǎng)絡(luò)級的容錯特征和透明的軟重啟能力。
[0027]根據(jù)實(shí)施例,數(shù)據(jù)網(wǎng)格集群的功能基于使用不同的集群服務(wù)。集群服務(wù)可以包括根集群服務(wù)、分區(qū)的高速緩存服務(wù)以及代理服務(wù)。在數(shù)據(jù)網(wǎng)格集群內(nèi),在提供和消費(fèi)集群服務(wù)兩個方面,每個集群節(jié)點(diǎn)可以參與若干集群服務(wù)。每個集群服務(wù)具有服務(wù)名稱和服務(wù)類型,服務(wù)名稱唯一地標(biāo)識數(shù)據(jù)網(wǎng)格集群內(nèi)的服務(wù),服務(wù)類型定義集群服務(wù)可以做什么。除了在數(shù)據(jù)網(wǎng)格集群中的每個集群節(jié)點(diǎn)上運(yùn)行的根集群服務(wù)以外,可以存在每個服務(wù)類型的多個命名實(shí)例。服務(wù)可以或者由用戶配置,或者由數(shù)據(jù)網(wǎng)格集群提供作為默認(rèn)的服務(wù)集合。
[0028]圖1是根據(jù)本發(fā)明的各種實(shí)施例的數(shù)據(jù)網(wǎng)格集群的說明圖。如圖1中所示,數(shù)據(jù)網(wǎng)格集群100(例如,Oracle Coherence數(shù)據(jù)網(wǎng)格)包括諸如集群節(jié)點(diǎn)101-106之類的多個集群成員(或服務(wù)器節(jié)點(diǎn)),在該集群節(jié)點(diǎn)101-106上運(yùn)行有各種集群服務(wù)111-116。另外,高速緩存配置文件110可以用于配置該數(shù)據(jù)網(wǎng)格集群100。
[0029]高速緩存內(nèi)容的持久存儲
[0030]根據(jù)本發(fā)明實(shí)施例,分布式數(shù)據(jù)網(wǎng)格可以提供對不同類型的高速緩存內(nèi)容的可恢復(fù)持久存儲,并且可以防止在分布式數(shù)據(jù)網(wǎng)格被關(guān)閉之后的數(shù)據(jù)丟失。
[0031]圖2示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中支持持久性的說明圖。如圖2中所示,分布式數(shù)據(jù)網(wǎng)格200可以包括在存儲器內(nèi)數(shù)據(jù)存儲裝置202中的各種類型的高速緩存內(nèi)容211-213。此外,分布式數(shù)據(jù)網(wǎng)格200可以使用持久層201來將高速緩存內(nèi)容211-213持久保存在持久存儲設(shè)備203中。
[0032]持久層201允許持久存儲設(shè)備203使用不同的物理拓?fù)浣Y(jié)構(gòu)。例如,持久層201可以將高速緩存內(nèi)容存儲在中心位置,諸如存儲區(qū)域網(wǎng)絡(luò)(SAN)201,其中,分布式數(shù)據(jù)網(wǎng)格200中的全部成員可以共享相同的可見性??商鎿Q地,持久層201可以將高速緩存內(nèi)容存儲到不同的本地盤222中,其中,分布式數(shù)據(jù)網(wǎng)格200的成員可以只具有本地可見性。
[0033]此外,持久層201可以不知道物理拓?fù)浣Y(jié)構(gòu)(例如,SAN 221或分布式本地盤222)的選擇。例如,分布式數(shù)據(jù)網(wǎng)格200可以利用多個SAN或多個SAN安裝點(diǎn)。而且,分布式數(shù)據(jù)網(wǎng)格200可以利用包括不被多個成員共享的多個SAN的物理拓?fù)浣Y(jié)構(gòu)??商鎿Q地,物理拓?fù)浣Y(jié)構(gòu)可以包括多個輸出存儲位置的SAN,或者可以包括本地盤和SAN的混合部署。
[0034]另外,持久層201可以支持持久保存的數(shù)據(jù)/元數(shù)據(jù)的分區(qū)范圍的原子性,并且可以在分布式數(shù)據(jù)網(wǎng)格200重啟之后提供事務(wù)保證。而且,持久層201可以最小化性能影響,并減少重啟分布式數(shù)據(jù)網(wǎng)格200所需要的恢復(fù)時間。
[0035]圖3示出了根據(jù)本發(fā)明實(shí)施例的使用共享的存儲設(shè)備來在分布式數(shù)據(jù)網(wǎng)格中支持持久性的說明圖。如圖3中所示,包括多個成員(例如,機(jī)器A-C 311-313上的成員301-305)的分布式數(shù)據(jù)網(wǎng)格300可以支持各種高速緩存服務(wù)320。
[0036]此外,分布式數(shù)據(jù)網(wǎng)格300可以使用共享的持久存儲設(shè)備(諸如存儲區(qū)域網(wǎng)絡(luò)(SAN)310)來將用于高速緩存服務(wù)320的高速緩存內(nèi)容存儲在中心位置。如圖3中所示,機(jī)器A-C 311-313上的不同成員301-305可以共享相同的可見性,并且都可以具有訪問SAN 310中的持久保存的分區(qū)322的權(quán)限。
[0037]因而,當(dāng)分布式數(shù)據(jù)網(wǎng)格300在關(guān)閉之后被重啟時,系統(tǒng)可以恢復(fù)持久保存的高速緩存內(nèi)容并防止數(shù)據(jù)丟失。
[0038]圖4示出了根據(jù)本發(fā)明實(shí)施例的使用分布式本地盤來在分布式數(shù)據(jù)網(wǎng)格中支持持久性的說明圖。如圖4中所示,包括多個成員(例如,機(jī)器A-C 411-413上的成員401-405)的分布式數(shù)據(jù)網(wǎng)格400可以支持各種高速緩存服務(wù)420。
[0039]此外,分布式數(shù)據(jù)網(wǎng)格400可以將用于高速緩存服務(wù)420的高速緩存內(nèi)容存儲到不同機(jī)器上的本地盤中。例如,成員401-402可以將相關(guān)的高速緩存內(nèi)容存儲到機(jī)器A 411上的本地盤A 431(例如,持久保存的分區(qū)421)中。而且,成員403-404可以將相關(guān)的高速緩存內(nèi)容存儲到機(jī)器B 412上的本地盤B 432(例如,持久保存的分區(qū)422)中,而機(jī)器C 413可以將相關(guān)的高速緩存內(nèi)容存儲到機(jī)器C 413上的本地盤C 433(例如,持久保存的分區(qū)423)中。
[0040]因此,分布式數(shù)據(jù)網(wǎng)格400可以以分布式的方式支持各種類型的高速緩存內(nèi)容的原子恢復(fù),并且防止在分布式數(shù)據(jù)網(wǎng)格400的重啟期間的數(shù)據(jù)丟失。
[0041 ]分布式持久存儲裝置恢復(fù)
[0042]根據(jù)本發(fā)明實(shí)施例,分布式數(shù)據(jù)網(wǎng)格可以以分布式的方式支持持久存儲裝置恢復(fù)。
[0043]圖5示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中支持持久存儲裝置恢復(fù)的說明圖。如圖5中所示,分布式數(shù)據(jù)網(wǎng)格500可以包括多個成員,例如,成員501-505,并且可以使用分布式本地盤(例如,本地盤A-C 511 -513)來持久保存高速緩存內(nèi)容。
[0044]此外,分布式數(shù)據(jù)網(wǎng)格500中的每個成員可以僅僅對持久保存在本地盤中的分區(qū)具有可見性。例如,成員501和成員502可以僅僅知曉本地盤A 511中的持久保存的分區(qū)521,而成員503和成員504可以僅僅知曉本地盤B 512中的持久保存的分區(qū)522,并且成員505可以僅僅知曉本地盤C 513中的持久保存的分區(qū)523。
[0045]根據(jù)本發(fā)明實(shí)施例,分布式數(shù)據(jù)網(wǎng)格500可以使用內(nèi)部協(xié)議來發(fā)現(xiàn)在不同的本地盤A-C 511-513上的持久保存的分區(qū)521-523。例如,發(fā)現(xiàn)協(xié)議在集群冷啟動/重啟情形以及多節(jié)點(diǎn)故障情形(例如,其中分區(qū)的主所有者和/或分區(qū)的一個或多個備份所有者丟失)這兩者期間支持持久存儲裝置恢復(fù)。
[0046]如圖5中所示,分布式數(shù)據(jù)網(wǎng)格500可以使用諸如協(xié)調(diào)器成員510之類的協(xié)調(diào)器來協(xié)調(diào)分布式數(shù)據(jù)網(wǎng)格500中的各種持久保存的分區(qū)521-523的恢復(fù)。協(xié)調(diào)器成員510可以向分布式數(shù)據(jù)網(wǎng)格500中的其它成員501-505發(fā)送分布式查詢,以獲得持久保存的分區(qū)521-523的完整列表。
[0047]因此,根據(jù)本公開內(nèi)容的實(shí)施例,成員(501_505、510)是分布式數(shù)據(jù)網(wǎng)格的元件。分布式數(shù)據(jù)網(wǎng)格的多個成員中的一個成員510可以作為協(xié)調(diào)器進(jìn)行工作,成員510處理用于分布式數(shù)據(jù)網(wǎng)格中的各種持久保存的分區(qū)的恢復(fù)的信息。信息的處理可以包括:在分布式數(shù)據(jù)網(wǎng)格的多個成員之間同步分區(qū)所有權(quán)的視圖,以及從分布式數(shù)據(jù)網(wǎng)格中的多個成員接收關(guān)于多個持久保存的分區(qū)的信息。在一個方面中,協(xié)調(diào)器可以被稱為“協(xié)調(diào)器成員510”。
[0048]根據(jù)本發(fā)明實(shí)施例,協(xié)調(diào)器成員510可以使用可插式分區(qū)任務(wù)策略組件520來確定分區(qū)恢復(fù)任務(wù)540。例如,系統(tǒng)可以遍歷分區(qū)列表以檢查哪個成員可以看見分區(qū)的版本。然后,系統(tǒng)可以基于同步的分區(qū)所有權(quán)視圖530來確定應(yīng)當(dāng)使用哪個成員來恢復(fù)哪個分區(qū)。
[0049]此外,系統(tǒng)可以最小化通過向分布式數(shù)據(jù)網(wǎng)格500添加持久性支持而造成的性能影響。例如,系統(tǒng)可以在分布式數(shù)據(jù)網(wǎng)格500中使用異步的消息傳送過程來實(shí)現(xiàn)對持久存儲裝置的寫操作。而且,系統(tǒng)允許同時執(zhí)行多個輸入/輸出(I/O)操作。
[0050]另外,協(xié)調(diào)器成員510可以避免僅僅使用分布式數(shù)據(jù)網(wǎng)格500中的一個或幾個成員來執(zhí)行恢復(fù),僅僅使用分布式數(shù)據(jù)網(wǎng)格500中的一個或幾個成員來執(zhí)行恢復(fù)可能易于產(chǎn)生性能瓶頸。
[0051]而且,系統(tǒng)可以使用恢復(fù)仲裁(quorum)來確保所有持久保存的分區(qū)在恢復(fù)之前是可見的以便防止由于恢復(fù)造成的數(shù)據(jù)丟失。
[0052]在2012年I月 17 日提交的名稱為 “SYSTEM AND METHOD FOR SUPPORTING SERVICELEVEL QUORUM IN A DATA GRID CLUSTER”、申請?zhí)枮?3/352,203的美國專利申請(代理案號為0RACL-05131US2)中提供了在分布式數(shù)據(jù)網(wǎng)格500中支持服務(wù)級別的仲裁的各個實(shí)施例的附加描述,該申請通過引用的方式并入本文。
[0053]因此,分布式數(shù)據(jù)網(wǎng)格500可以在分布式數(shù)據(jù)網(wǎng)格500的重啟期間以分布式的方式自動地執(zhí)行持久保存的高速緩存內(nèi)容的恢復(fù)。
[0054]圖6示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中協(xié)調(diào)持久存儲裝置恢復(fù)的說明圖。如圖6中所示,分布式數(shù)據(jù)網(wǎng)格600中的協(xié)調(diào)器成員610可以協(xié)調(diào)從分布式本地盤對持久保存的分區(qū)的恢復(fù)。例如,協(xié)調(diào)器成員610可以引導(dǎo)成員620從本地盤630恢復(fù)持久保存的分區(qū)。
[0055]在步驟601,協(xié)調(diào)器610可以命令成員620 (并且同時命令分布式數(shù)據(jù)網(wǎng)格600中的所有其它成員)準(zhǔn)備還原持久保存的分區(qū)。然后,在步驟602,成員620(可能連同分布式數(shù)據(jù)網(wǎng)格600中的每個其它成員)可以反過來向協(xié)調(diào)器成員610提供本地分區(qū)所有權(quán)。
[0056]在步驟603,在從分布式數(shù)據(jù)網(wǎng)格600的不同成員獲得分區(qū)所有權(quán)信息之后,協(xié)調(diào)器成員610可以同步總的分區(qū)所有權(quán)的視圖。
[0057]此外,在步驟604,協(xié)調(diào)器610可以命令成員620基于總的分區(qū)所有權(quán)的視圖來準(zhǔn)備恢復(fù)持久保存的分區(qū)。在步驟605,成員620可以在本地盤630中檢查持久保存的分區(qū)。然后,在步驟606,成員620可以向協(xié)調(diào)器成員610報告本地盤630中的持久保存的分區(qū)(例如,持久保存的分區(qū)ID)。
[0058]在步驟607,在從分布式數(shù)據(jù)網(wǎng)格600的不同成員獲得關(guān)于持久保存的分區(qū)的信息之后,協(xié)調(diào)器成員610可以關(guān)于如何配置恢復(fù)過程(諸如確定恢復(fù)任務(wù))做出決定。
[0059]然后,在步驟608,協(xié)調(diào)器610可以向分布式數(shù)據(jù)網(wǎng)格600中的每個成員提供分區(qū)恢復(fù)任務(wù)(例如,恢復(fù)分區(qū)ID)。最后,在步驟609,分布式數(shù)據(jù)網(wǎng)格600中的不同成員(包括成員620)可以基于接收到的分區(qū)恢復(fù)任務(wù)來執(zhí)行持久保存的分區(qū)的恢復(fù)。
[0060]圖7示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中支持一致的分區(qū)恢復(fù)的說明圖。如圖7中所示,分布式數(shù)據(jù)網(wǎng)格700可以包括多個成員,例如成員701-705,其中的每個成員可以僅僅對持久保存在本地盤中的分區(qū)具有可見性。
[0061]此外,協(xié)調(diào)器成員710可以協(xié)調(diào)從分布式本地盤A-C711-713恢復(fù)各個持久保存的分區(qū)721-723。而且,協(xié)調(diào)器成員710可以使用可插式分區(qū)任務(wù)策略組件720來確定應(yīng)當(dāng)使用哪個成員恢復(fù)哪個分區(qū)。
[0062]根據(jù)本發(fā)明實(shí)施例,在分布式數(shù)據(jù)網(wǎng)格700中的機(jī)器丟失時,系統(tǒng)可以將存儲器內(nèi)備份提升為存儲器內(nèi)主單元(primary)。作為該過程的一部分,系統(tǒng)可以在盤上創(chuàng)建新的持久保存的分區(qū),并且還可以根據(jù)存儲器內(nèi)的數(shù)據(jù)在其它成員上創(chuàng)建一個或多個存儲器內(nèi)備份。
[0063]另外,在由于兩個或更多個(依賴于備份計數(shù))成員過程同時死亡而發(fā)生存儲器內(nèi)數(shù)據(jù)丟失時,當(dāng)存在對盤具有可見性的成員時,系統(tǒng)可以從該盤上的持久保存的版本恢復(fù)新的存儲器內(nèi)主單元。
[0064]如圖7中所示,在與本地盤A711相關(guān)聯(lián)的機(jī)器丟失時,持久保存的分區(qū)721可能變得不可用。在這樣的情況下,分布式數(shù)據(jù)網(wǎng)格700可以重新平衡自身。例如,分布式數(shù)據(jù)網(wǎng)格700可以將持久保存在本地盤B 712或本地盤C 713中的備份分區(qū)提升為主分區(qū)。
[0065]根據(jù)本發(fā)明實(shí)施例,分布式數(shù)據(jù)網(wǎng)格700可以確保系統(tǒng)總是還原最近的有效分區(qū)。例如,本地盤B 712中的持久保存的分區(qū)722可以包含分區(qū)的較新版本,這是因?yàn)楸镜乇PA711中的持久保存的分區(qū)可能沒有被正確地更新,或者由于分區(qū)的先前所有者死亡而存在分區(qū)的較舊版本。
[0066]根據(jù)本發(fā)明實(shí)施例,分布式數(shù)據(jù)網(wǎng)格700可以使用恢復(fù)仲裁來支持持久保存的分區(qū)721-723的發(fā)現(xiàn)和/或恢復(fù)。通過使用恢復(fù)仲裁,持久性的恢復(fù)可以被設(shè)定門限或保護(hù)。因此,即使在丟失的成員的數(shù)量超過存儲器內(nèi)的冗余目標(biāo)時,分布式數(shù)據(jù)網(wǎng)格700也可以確保沒有數(shù)據(jù)丟失。
[0067]而且,分布式數(shù)據(jù)網(wǎng)格700可以確保所有持久保存的分區(qū)在恢復(fù)之前是可見的。例如,恢復(fù)仲裁可以被配置以使得其確保對所有可能的存儲位置(諸如本地盤和/或集群內(nèi)的SAN)的可見性。另外,分布式數(shù)據(jù)網(wǎng)格700可以從持久存儲裝置恢復(fù)孤立分區(qū),并將它們分配為空分區(qū)。
[0068]此外,分布式數(shù)據(jù)網(wǎng)格700可以基于恢復(fù)仲裁建立不同的恢復(fù)策略。例如,分布式數(shù)據(jù)網(wǎng)格700可以建立關(guān)注容量的SAN/共享存儲策略。而且,分布式數(shù)據(jù)網(wǎng)格700可以建立分布式/無共享的存儲策略,其確保所有的存儲位置都是可達(dá)到的。而且,分布式數(shù)據(jù)網(wǎng)格700可以基于所配置的成員規(guī)模和主機(jī)列表來建立各種策略。
[0069]根據(jù)本發(fā)明實(shí)施例,系統(tǒng)允許以有序的方式關(guān)閉(和/或重啟)分布式數(shù)據(jù)網(wǎng)格700中的各個成員701-705,并且允許服務(wù)或整個集群得體的暫停/繼續(xù)。另外,在分布式數(shù)據(jù)網(wǎng)格關(guān)閉期間,系統(tǒng)可以防止分區(qū)轉(zhuǎn)移和持久存儲裝置移動。例如,靜默的服務(wù)/集群可以不加入新成員、可以不從備份還原分區(qū)、可以不從持久存儲裝置恢復(fù)孤立分區(qū)、可以不分配空的孤立分區(qū)、并且可以不執(zhí)行分區(qū)分布。
[0070]圖8示出了根據(jù)本發(fā)明實(shí)施例的用于在分布式數(shù)據(jù)網(wǎng)格中支持分布式持久存儲裝置恢復(fù)的示例性流程圖。如圖8中所示,在步驟801,系統(tǒng)允許分布式數(shù)據(jù)網(wǎng)格中的多個成員在持久存儲設(shè)備中持久保存與一個或多個高速緩存服務(wù)相關(guān)聯(lián)的多個分區(qū)。然后,在步驟802,協(xié)調(diào)器可以在分布式數(shù)據(jù)網(wǎng)格中的多個成員之間同步分區(qū)所有權(quán)的視圖。此外,在步驟803,分布式數(shù)據(jù)網(wǎng)格可以基于同步的視圖來形成關(guān)于可以從分布式數(shù)據(jù)網(wǎng)格中的哪個成員恢復(fù)哪個分區(qū)的分布式共識(consensus)。分布式共識是在協(xié)作以解決問題的多個集群成員(或服務(wù)器節(jié)點(diǎn))(諸如集群節(jié)點(diǎn)101-106)之間達(dá)成的協(xié)定。
[0071 ]持久存儲裝置版本化和完整性
[0072]圖9示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中支持持久存儲裝置版本化的說明圖。如圖9中所示,分布式數(shù)據(jù)網(wǎng)格900可以使用存儲器內(nèi)數(shù)據(jù)存儲裝置920中的各個分區(qū)(例如,分區(qū)901)來支持不同的高速緩存服務(wù)。
[0073]此外,分布式數(shù)據(jù)網(wǎng)格9可以使用持久存儲裝置(例如,持久保存的分區(qū)911)以將分區(qū)901持久保存在分布式本地盤910中。
[0074]系統(tǒng)可以為分布式本地盤910中的每個持久保存的分區(qū)提供唯一標(biāo)識符(ID)或唯一版本號906。如圖9中所不,分布式數(shù)據(jù)網(wǎng)格900中的成員902可以為持久分區(qū)911生成全局唯一標(biāo)識符(GUID)921。⑶ID 921可以通過使用特別的命名格式包含各種類型的信息。
[0075]例如,GUID 921可以至少包括與分區(qū)901相關(guān)聯(lián)的分區(qū)號(或者分區(qū)ID 903)和分區(qū)版本號911。另外,GUID 921可以包含成員ID 904,其指示成員902生成⑶ID 921。
[0076]此外,GUID 921可以包括其它信息,諸如時間戳905,該時間戳905指示分區(qū)901被首次持久保存的時間。時間戳905是邏輯時間的戳(例如,針對每個分區(qū)的向量時鐘的戳),而不是全局掛鐘的時間。因此,系統(tǒng)可以確保在面對任何種類的故障或轉(zhuǎn)移情形時GUID戳單調(diào)地向前移動。
[0077]根據(jù)本發(fā)明實(shí)施例,分布式數(shù)據(jù)網(wǎng)格900可以以單調(diào)增加的順序維持每個持久保存的分區(qū)的版本號910。因此,系統(tǒng)可以說明在分布式數(shù)據(jù)網(wǎng)格900中的任何成員處的數(shù)據(jù)突變或所有權(quán)改變。
[0078]圖10示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中支持持久存儲裝置完整性的說明圖。如圖10中所示,分布式數(shù)據(jù)網(wǎng)格1000中的持久存儲裝置1001可以包含來自不同高速緩存A-C 1011-1013的高速緩存內(nèi)容,其中每個高速緩存與高速緩存ID 1021-1023相關(guān)耳關(guān)。
[0079]此外,系統(tǒng)可以在持久存儲裝置1001上應(yīng)用密封操作1002。密封操作1002可以確保持久存儲裝置1001被完全初始化并且有資格被恢復(fù)。
[0080]此外,系統(tǒng)可以在持久存儲裝置1001上應(yīng)用驗(yàn)證操作1003。該驗(yàn)證操作1003可以檢查持久存儲裝置1001是否已經(jīng)被密封。例如,如果持久存儲裝置1001沒有被密封,那么系統(tǒng)可以決定持久存儲裝置1001中的高速緩存內(nèi)容不是有效的。
[0081]因此,系統(tǒng)可以確保分布式數(shù)據(jù)網(wǎng)格1000總是對有效的持久保存的分區(qū)進(jìn)行還原,并且避免對可能通過級聯(lián)集群故障而導(dǎo)致的部分副本進(jìn)行恢復(fù)。
[0082]圖11示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中還原持久保存的分區(qū)的說明圖。如圖11中所示,分布式數(shù)據(jù)網(wǎng)格1100可以在分布式本地盤1110中存儲各個持久保存的分區(qū) 1111-1113。
[0083 ]存儲在分布式本地盤1110中的每個持久保存的分區(qū)1111-1113可以與全局唯一標(biāo)識符(GUID)(例如,GUID 1141-1143)相關(guān)聯(lián)。GUID 1141-1143可以包含至少包括分區(qū)號(即,分區(qū)id)和版本號的不同類型的信息。
[0084]根據(jù)本發(fā)明實(shí)施例,分布式數(shù)據(jù)網(wǎng)格1100中的成員1101-1102可以對分布式本地盤1110中的持久保存的分區(qū)1111-1113具有不同的可見性。系統(tǒng)可以配置⑶ID 1141-1143包含與哪個成員可以對特定的持久保存的分區(qū)1111 -1113具有可見性有關(guān)的信息。
[0085]另外,由于在分布式本地盤1110中對故障進(jìn)行級聯(lián),在分布式數(shù)據(jù)網(wǎng)格1100的不同成員1101-1102上可能存在同一持久保存的分區(qū)1111-1113的多個版本。為了使這些不同版本意義清楚,分布式數(shù)據(jù)網(wǎng)格1100中的成員1101-1102中的每一個可以報告針對被發(fā)現(xiàn)的每一個持久保存的分區(qū)的GUID 1141-1143(其可以包括分區(qū)號和其它信息)。根據(jù)本發(fā)明實(shí)施例,只有報告了針對分區(qū)的最近GUID的存在的成員才可以被考慮進(jìn)行恢復(fù)。
[0086]如圖11中所示,分布式數(shù)據(jù)網(wǎng)格1100中的每個成員1101-1102可以基于本地可見性從分布式本地盤1110收集可用⑶ID的列表1121-1122。然后,每個成員1101-1102可以向分布式數(shù)據(jù)網(wǎng)格1100中的解析器1103提供(或注冊)可用GUID的列表1121-1122,并且解析器1103可以基于編碼在⑶ID 1141-1143中的分區(qū)號和版本號信息來確定針對不同分區(qū)的最新 GUID 1130。
[0087]此外,由于系統(tǒng)的分布式特性,分布式本地盤1110可以包含同一分區(qū)的多個不同版本。換句話說,解析器1103可以接收到包含同一分區(qū)號和不同版本號的多個GUID。
[0088]在這樣的情況下,解析器1103可以從與同一分區(qū)相關(guān)聯(lián)的每個GUID獲得版本號,并且確定哪個GUID具有最近的版本號。而且,分布式數(shù)據(jù)網(wǎng)格1100可以基于執(zhí)行密封操作和驗(yàn)證操作來確保具有最近版本號的持久保存的分區(qū)是有效的。
[0089]另外,解析器1103可以基于編碼在⑶ID1141-1143中的成員ID信息來確定分布式數(shù)據(jù)網(wǎng)格1100中的哪個成員1101-1102負(fù)責(zé)對特定持久保存的分區(qū)1111-1113進(jìn)行恢復(fù)。
[0090]然后,解析器1103可以向每個不同的成員1101-1102提供分區(qū)恢復(fù)任務(wù),該分區(qū)恢復(fù)任務(wù)可以包括最新的⑶ID的列表1131-1132。相應(yīng)地,成員1101-1102可以執(zhí)行對持久保存的分區(qū)1111 -1113進(jìn)行還原的實(shí)際操作。
[0091]因此,系統(tǒng)可以確保分布式數(shù)據(jù)網(wǎng)格1100總是對任何持久保存的分區(qū)的最新有效版本進(jìn)行還原,并且可以避免對可能通過級聯(lián)集群故障而導(dǎo)致的部分副本進(jìn)行恢復(fù)。
[0092]圖12示出了根據(jù)本發(fā)明實(shí)施例的用于在分布式數(shù)據(jù)網(wǎng)格中支持持久存儲裝置版本化和完整性的示例性流程圖。如在圖12中所示,在步驟1201,系統(tǒng)可以從分布式數(shù)據(jù)網(wǎng)格的一個或多個成員接收多個標(biāo)識符(例如,GUID),其中每個所述標(biāo)識符與分布式數(shù)據(jù)網(wǎng)格的持久存儲設(shè)備中的持久保存的分區(qū)相關(guān)聯(lián)。然后,在步驟1202,系統(tǒng)可以針對每個分區(qū)選擇標(biāo)識符,其中每個所選擇的標(biāo)識符與分區(qū)的最近有效版本相關(guān)聯(lián)。此外,在步驟1203,系統(tǒng)可以確定在分布式數(shù)據(jù)網(wǎng)格中的對從與所選擇的標(biāo)識符相關(guān)聯(lián)的持久保存的分區(qū)恢復(fù)所述分區(qū)負(fù)責(zé)的成員。
[0093I運(yùn)行系統(tǒng)的持久快照
[0094]圖13示出了根據(jù)本發(fā)明實(shí)施例的在分布式數(shù)據(jù)網(wǎng)格中提供運(yùn)行系統(tǒng)的持久快照的說明圖。如圖13中所示,分布式數(shù)據(jù)網(wǎng)格1300可以通過使用存儲器內(nèi)數(shù)據(jù)存儲裝置1302來支持各種高速緩存服務(wù)1320。
[0095]此外,系統(tǒng)允許用戶使用管理工具1310來在任何特定時間處獲取存儲器內(nèi)數(shù)據(jù)存儲裝置1302上的運(yùn)行系統(tǒng)的快照1301,存儲器內(nèi)數(shù)據(jù)存儲裝置1302按照需要支持高速緩存服務(wù)1320 ο例如,快照1301可以用于連夜地(overnight)對運(yùn)行系統(tǒng)進(jìn)行備份。
[0096]根據(jù)本發(fā)明實(shí)施例,系統(tǒng)可以在獲取快照1301之前暫停高速緩存服務(wù)1320。因此,系統(tǒng)可以提供一致的時間點(diǎn)以用于獲取快照1301。然后,在獲取快照1301之后可以繼續(xù)進(jìn)行高速緩存服務(wù)1320。
[0097]另外,快照1301可以提供每個被分區(qū)的高速緩存服務(wù)1320的一致視圖。例如,快照1301可以提供運(yùn)行系統(tǒng)的狀態(tài)信息的目錄,包括被分區(qū)的高速緩存服務(wù)1320的元數(shù)據(jù)1311和高速緩存數(shù)據(jù)1312。另外,系統(tǒng)可以將快照1301存儲在中心位置(例如,SAN 1321)或者存儲在分布式本地盤1322。
[0098]此外,當(dāng)快照1301中的各種工件(artifact)被創(chuàng)建并被存儲在分布式本地盤1322時,系統(tǒng)可以使用可插式(或便攜式)存檔器1303來從分布式本地盤1322檢索快照1301的持久保存的狀態(tài)信息,并且可以創(chuàng)建單個的存檔單元1330,該存檔單元1330可以用于審計或其它目的。
[0099]因此,系統(tǒng)允許用戶對分布式數(shù)據(jù)網(wǎng)格1300中被分區(qū)的高速緩存服務(wù)的狀態(tài)進(jìn)行快照,而不是以連續(xù)的方式將高速緩存內(nèi)容持久保存在分布式數(shù)據(jù)網(wǎng)格1300中。
[0100]圖14示出了根據(jù)本發(fā)明實(shí)施例的用于在分布式數(shù)據(jù)網(wǎng)格中提供運(yùn)行系統(tǒng)的持久快照的示例性流程圖。如圖14中所示,在步驟1401,系統(tǒng)允許一個或多個高速緩存服務(wù)在分布式數(shù)據(jù)網(wǎng)格中的多個集群成員上運(yùn)行。然后,在步驟1402,系統(tǒng)可以從分布式數(shù)據(jù)網(wǎng)格中的多個集群成員收集與所述一個或多個高速緩存服務(wù)相關(guān)聯(lián)的狀態(tài)信息的目錄。此外,在步驟1403,系統(tǒng)可以創(chuàng)建針對在分布式數(shù)據(jù)網(wǎng)格上運(yùn)行的所述一個或多個高速緩存服務(wù)的快照。
[0101]解析器
[0102]圖15示出了說明根據(jù)本發(fā)明實(shí)施例的解析器的示例性框圖。
[0103]解析器1500的方框可以由用于實(shí)施本發(fā)明原理的硬件、軟件或硬件和軟件的組合來實(shí)現(xiàn)。本領(lǐng)域技術(shù)人員將理解的是,圖15中所描述的方框可以被組合或分隔成子塊以實(shí)現(xiàn)上面描述的發(fā)明原理。因此,本文的描述可以支持本文中所描述的功能性方框的任何可能組合或分隔或進(jìn)一步限定。
[0104]在圖15中,示出了解析器(1500),其可以用于分布式數(shù)據(jù)網(wǎng)格,諸如之前描述的任何分布式數(shù)據(jù)網(wǎng)格,尤其是圖11中示出的分布式數(shù)據(jù)網(wǎng)格。因此,解析器1500可以是在之前描述的實(shí)施例中提到的任何解析器。此外,下面描述的解析器1500和其中的組件可以執(zhí)行根據(jù)本發(fā)明原理的之前描述的各種操作,而不限于下面描述的操作和功能。
[0105]如圖所示,解析器1500可以包括接收單元1501,該接收單元1501可以被配置為從分布式數(shù)據(jù)網(wǎng)格的一個或多個成員接收多個標(biāo)識符,其中每個所述的標(biāo)識符與分布式數(shù)據(jù)網(wǎng)格的持久存儲設(shè)備中的持久保存的分區(qū)相關(guān)聯(lián)。解析器1500還可以包括選擇單元1502,該選擇單元1502可以被配置為針對每個分區(qū)選擇標(biāo)識符,其中每個所選擇的標(biāo)識符與分區(qū)的最近的有效版本相關(guān)聯(lián)。解析器1500還可以包括確定單元1503,該確定單元1503可以被配置為確定分布式數(shù)據(jù)網(wǎng)格中的對從與所選擇的標(biāo)識符相關(guān)聯(lián)的持久保存的分區(qū)恢復(fù)所述分區(qū)負(fù)責(zé)的成員。
[0106]解析器1500還可以包括解析單元1504,該解析單元1504可以被配置為解析每個接收到的標(biāo)識符,以獲得與持久存儲設(shè)備中的每個持久保存的分區(qū)相關(guān)聯(lián)的分區(qū)號和版本號。
[0107]如之前所描述的,根據(jù)本發(fā)明的用于在分布式數(shù)據(jù)網(wǎng)格中支持持久性的系統(tǒng)可以包括:持久存儲設(shè)備,其被配置為存儲一個或多個持久保存的分區(qū),其中每個持久保存的分區(qū)與標(biāo)識符相關(guān)聯(lián);一個或多個成員,其被配置為從該持久存儲設(shè)備收集可用標(biāo)識符的列表;以及解析器,其被配置為從一個或多個成員接收可用標(biāo)識符的列表,針對每個分區(qū)選擇標(biāo)識符,其中每個所選擇的標(biāo)識符與分區(qū)的最近的有效版本相關(guān)聯(lián),并且確定分布式數(shù)據(jù)網(wǎng)格中的對從與所選擇的標(biāo)識符相關(guān)聯(lián)的持久保存的分區(qū)恢復(fù)所述分區(qū)負(fù)責(zé)的成員。這里的解析器可以被實(shí)現(xiàn)為圖15中所示的解析器1500。
[0108]在一個實(shí)施例中,持久存儲設(shè)備可以包括多個分布式本地盤,其中分布式數(shù)據(jù)網(wǎng)格中的每個成員僅僅對一個或多個分布式本地盤具有可見性。
[0109]在一個實(shí)施例中,給存儲在持久存儲設(shè)備中的每個持久保存的分區(qū)分配標(biāo)識符,其中每個所述標(biāo)識符與分區(qū)的分區(qū)號和版本號相關(guān)聯(lián)。
[0110]在一個實(shí)施例中,解析器還可以被配置為解析每個接收到的標(biāo)識符以獲得與持久存儲設(shè)備中的每個持久保存的分區(qū)相關(guān)聯(lián)的分區(qū)號和版本號。
[0111]在一個實(shí)施例中,持久存儲設(shè)備包括存儲區(qū)域網(wǎng)絡(luò)(SAN),其中SAN對于分布式數(shù)據(jù)網(wǎng)格中的多個成員是可見的。
[0112]在一個實(shí)施例中,分布式數(shù)據(jù)網(wǎng)格中的不同成員操作用于持久保存在持久存儲設(shè)備中的分區(qū)的多個版本。
[0113]在一個實(shí)施例中,分布式數(shù)據(jù)網(wǎng)格操作用于對持久存儲設(shè)備中的持久存儲裝置進(jìn)行密封,并指示被密封的持久存儲裝置被完全初始化并有資格被恢復(fù),并且驗(yàn)證持久存儲設(shè)備中的持久存儲裝置以確定所述持久存儲裝置是否被密封。
[0114]在一個實(shí)施例中,所述確定的成員操作用于通過使用具有所選擇的標(biāo)識符的持久保存的分區(qū)來恢復(fù)所述分區(qū)。
[0115]參考圖16,示出了根據(jù)本發(fā)明的系統(tǒng)1600。圖16示出了系統(tǒng)1600所實(shí)現(xiàn)的功能性配置的說明圖。根據(jù)本公開的實(shí)施例,系統(tǒng)1600包括持久存儲設(shè)備1610、一個或多個成員1620、接收器模塊1630、選擇器1640和確定模塊1650。
[0116]接收器模塊從分布式數(shù)據(jù)網(wǎng)格的一個或多個成員1620接收多個標(biāo)識符。每個標(biāo)識符與分布式數(shù)據(jù)網(wǎng)格的持久存儲設(shè)備1610中的持久保存的分區(qū)相關(guān)聯(lián)。選擇器1640針對每個分區(qū)選擇標(biāo)識符。每個所選擇的標(biāo)識符與分區(qū)的最近的有效版本相關(guān)聯(lián)。確定模塊1650確定分布式數(shù)據(jù)網(wǎng)格中的對從與所選擇的標(biāo)識符相關(guān)聯(lián)的持久保存的分區(qū)恢復(fù)所述分區(qū)負(fù)責(zé)的成員。
[0117]圖17示出了包括公知的硬件元件的計算機(jī)系統(tǒng)1700的說明圖。即,計算機(jī)系統(tǒng)1700包括中央處理單元(CPU) 1710、鼠標(biāo)1720、鍵盤1730、隨機(jī)存取存儲器(RAM)1740、硬盤1750、盤驅(qū)動器1760、通信接口(I/F) 1770以及監(jiān)視器1780。計算機(jī)系統(tǒng)1700可以用作構(gòu)成系統(tǒng)1600的服務(wù)器節(jié)點(diǎn)。
[0118]根據(jù)本發(fā)明實(shí)施例,持久存儲設(shè)備1610、一個或多個成員1620、接收器模塊1630、選擇器1640和確定模塊1650是由一個或多個計算機(jī)系統(tǒng)1700提供的。持久存儲設(shè)備1610、一個或多個成員1620、接收器模塊1630、選擇器1640和確定模塊1650是由CPU 1710實(shí)現(xiàn)的。在另一方面中,可以使用多于一個的處理器,使得持久存儲設(shè)備1610、一個或多個成員1620、接收器模塊1630、選擇器1640和確定模塊1650被實(shí)現(xiàn)。即,持久存儲設(shè)備1610、一個或多個成員1620、接收器模塊1630、選擇器1640和確定模塊1650中的任何一個在物理上可以與彼此遠(yuǎn)離。
[0119]在又一方面中,系統(tǒng)1600可以通過使用多個硬連線的電路來實(shí)現(xiàn),所述多個硬連線的電路用作持久存儲設(shè)備1610、一個或多個成員1620、接收器模塊1630、選擇器1640和確定模塊1650。
[0120]可以使用一個或多個常規(guī)通用或?qū)S脭?shù)字計算機(jī)、計算設(shè)備、機(jī)器或微處理器(包括根據(jù)本公開的教導(dǎo)編程的一個或多個處理器、存儲器和/或計算機(jī)可讀存儲介質(zhì))來方便地實(shí)現(xiàn)本發(fā)明。熟練的程序員基于本公開的教導(dǎo)可以容易地準(zhǔn)備出適當(dāng)?shù)能浖a,這對于軟件領(lǐng)域的技術(shù)人員將是顯而易見的。
[0121]在一些實(shí)施例中,本發(fā)明包括計算機(jī)程序產(chǎn)品,其是具有存儲于其上/其中的指令的存儲介質(zhì)或計算機(jī)可讀介質(zhì),所述指令可以用于對計算機(jī)進(jìn)行編程以執(zhí)行本發(fā)明中的任何過程。存儲介質(zhì)可以包括但不限于任何類型的盤,包括軟盤、光盤、DVD、CD-R0M、微驅(qū)動器和磁光盤、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、閃速存儲器設(shè)備、磁卡或光卡、納米系統(tǒng)(包括分子存儲器1C)、或者用于存儲指令和/或數(shù)據(jù)的任何類型的介質(zhì)或設(shè)備。
[0122]為了解釋和描述的目的,已經(jīng)提供了本發(fā)明的以上描述。不意圖窮舉或者將本發(fā)明限制于所公開的精確形式。許多修改和變化對于本領(lǐng)域執(zhí)業(yè)人員將是顯而易見的。所述修改和變化包括所描述的特征的任何相關(guān)組合。選擇并描述實(shí)施例以便最好地解釋本發(fā)明的原理及其實(shí)際應(yīng)用,從而針對各個實(shí)施例以及適合于預(yù)想到的特定使用的各種修改的情況下,使得本領(lǐng)域其它技術(shù)人員能夠理解本發(fā)明。本發(fā)明的范圍旨在由以下權(quán)利要求及其等價物來限定。
【主權(quán)項】
1.一種用于在分布式數(shù)據(jù)網(wǎng)格中支持持久性的方法,包括: 從所述分布式數(shù)據(jù)網(wǎng)格的一個或多個成員接收多個標(biāo)識符,其中每個所述標(biāo)識符與所述分布式數(shù)據(jù)網(wǎng)格的持久存儲設(shè)備中的持久保存的分區(qū)相關(guān)聯(lián); 針對每個分區(qū)選擇標(biāo)識符,其中每個所選擇的標(biāo)識符與分區(qū)的最近的有效版本相關(guān)聯(lián);以及 確定所述分布式數(shù)據(jù)網(wǎng)格中的對從與所選擇的標(biāo)識符相關(guān)聯(lián)的持久保存的分區(qū)恢復(fù)所述分區(qū)負(fù)責(zé)的成員。2.根據(jù)權(quán)利要求1所述的方法,還包括: 將多個分布式本地盤包括在所述持久存儲設(shè)備中,其中所述分布式數(shù)據(jù)網(wǎng)格中的每個成員僅僅對所述分布式本地盤中的一個或多個具有可見性。3.根據(jù)權(quán)利要求1或2所述的方法,還包括: 給所述持久存儲設(shè)備中的每個持久保存的分區(qū)分配標(biāo)識符,其中每個所述標(biāo)識符與分區(qū)的分區(qū)號和版本號相關(guān)聯(lián)。4.根據(jù)權(quán)利要求3所述的方法,還包括: 將時間戳與每個所述標(biāo)識符相關(guān)聯(lián)。5.根據(jù)任意前述權(quán)利要求所述的方法,還包括: 解析每個接收到的標(biāo)識符以獲得與所述持久存儲設(shè)備中的每個持久保存的分區(qū)相關(guān)聯(lián)的分區(qū)號和版本號。6.根據(jù)任意前述權(quán)利要求所述的方法,還包括: 將存儲區(qū)域網(wǎng)絡(luò)SAN包括在所述持久存儲設(shè)備中,其中所述SAN對于所述分布式數(shù)據(jù)網(wǎng)格中的多個成員是可見的。7.根據(jù)任意前述權(quán)利要求所述的方法,還包括: 允許所述分布式數(shù)據(jù)網(wǎng)格中的不同成員持久保存所述持久存儲設(shè)備中的分區(qū)的多個版本。8.根據(jù)任意前述權(quán)利要求所述的方法,還包括: 密封所述持久存儲設(shè)備中的持久存儲裝置,并指示被密封的持久存儲裝置被完全初始化并且有資格被恢復(fù)。9.根據(jù)任意前述權(quán)利要求所述的方法,還包括: 驗(yàn)證所述持久存儲設(shè)備中的持久存儲裝置,以確定所述持久存儲裝置是否被密封。10.根據(jù)任意前述權(quán)利要求所述的方法,還包括: 經(jīng)由所確定的成員,使用具有所選擇的標(biāo)識符的持久保存的分區(qū)來恢復(fù)所述分區(qū)。11.一種包括機(jī)器可讀形式的程序指令的計算機(jī)程序,所述程序指令在被計算機(jī)系統(tǒng)執(zhí)行時使得所述計算機(jī)系統(tǒng)執(zhí)行任意前述權(quán)利要求所述的方法。12.—種計算機(jī)程序產(chǎn)品,包括存儲在機(jī)器可讀存儲介質(zhì)上的根據(jù)權(quán)利要求11所述的計算機(jī)程序。13.—種非暫時性機(jī)器可讀存儲介質(zhì),其上存儲有指令,所述指令在被執(zhí)行時使得系統(tǒng)執(zhí)行根據(jù)權(quán)利要求1到10中的任意一項所述的方法的步驟。14.一種用于在分布式數(shù)據(jù)網(wǎng)格中支持異步消息處理的系統(tǒng),包括: 一個或多個微處理器; 在所述一個或多個微處理器上運(yùn)行的分布式數(shù)據(jù)網(wǎng)格,其中所述分布式數(shù)據(jù)網(wǎng)格包括多個服務(wù)器節(jié)點(diǎn),所述多個服務(wù)器節(jié)點(diǎn)與一個或多個通信信道互連,并且其中所述分布式數(shù)據(jù)網(wǎng)格操作用于執(zhí)行包括以下各項的步驟: 從所述分布式數(shù)據(jù)網(wǎng)格的一個或多個成員接收多個標(biāo)識符,其中每個所述標(biāo)識符與所述分布式數(shù)據(jù)網(wǎng)格的持久存儲設(shè)備中的持久保存的分區(qū)相關(guān)聯(lián); 針對每個分區(qū)選擇標(biāo)識符,其中每個所選擇的標(biāo)識符與分區(qū)的最近的有效版本相關(guān)聯(lián);以及 確定在所述分布式數(shù)據(jù)網(wǎng)格中的對從與所選擇的標(biāo)識符相關(guān)聯(lián)的持久保存的分區(qū)恢復(fù)所述分區(qū)負(fù)責(zé)的成員。15.根據(jù)權(quán)利要求14所述的系統(tǒng),其中: 多個分布式本地盤被包括在所述持久存儲設(shè)備中,其中所述分布式數(shù)據(jù)網(wǎng)格中的每個成員僅僅對于所述分布式本地盤中的一個或多個具有可見性。16.根據(jù)權(quán)利要求14或15所述的系統(tǒng),其中: 標(biāo)識符被分配給所述持久存儲設(shè)備中的每個持久保存的分區(qū),其中每個所述標(biāo)識符與分區(qū)的分區(qū)號和版本號相關(guān)聯(lián)。17.根據(jù)權(quán)利要求16所述的系統(tǒng),其中: 時間戳與每個所述標(biāo)識符相關(guān)聯(lián)。18.根據(jù)權(quán)利要求14到17中任意一項所述的系統(tǒng),其中: 解析器操作用于解析每個接收到的標(biāo)識符以獲得與所述持久存儲設(shè)備中的每個持久保存的分區(qū)相關(guān)聯(lián)的分區(qū)號和版本號。19.根據(jù)權(quán)利要求14到18中任意一項所述的系統(tǒng),其中: 存儲區(qū)域網(wǎng)絡(luò)SAN被包括在所述持久存儲設(shè)備中,其中所述SAN對所述分布式數(shù)據(jù)網(wǎng)格中的多個成員是可見的。20.根據(jù)權(quán)利要求14到19中任意一項所述的系統(tǒng),其中: 所述分布式數(shù)據(jù)網(wǎng)格中的不同成員操作用于持久保存所述持久存儲設(shè)備中的分區(qū)的多個版本。21.根據(jù)權(quán)利要求14到20中任意一項所述的系統(tǒng),其中: 所述分布式數(shù)據(jù)網(wǎng)格操作用于執(zhí)行以下操作: 密封所述持久存儲設(shè)備中的持久存儲裝置,并指示被密封的持久存儲裝置被完全初始化并且有資格被恢復(fù);以及 驗(yàn)證所述持久存儲設(shè)備中的持久存儲裝置,以確定所述持久存儲裝置是否被密封。22.根據(jù)權(quán)利要求14到21中任意一項所述的系統(tǒng),其中: 所確定的成員操作用于通過使用具有所選擇的標(biāo)識符的持久保存的分區(qū)來恢復(fù)所述分區(qū)。23.—種用于在分布式數(shù)據(jù)網(wǎng)格中支持持久性的解析器,包括: 接收單元,所述接收單元被配置為從所述分布式數(shù)據(jù)網(wǎng)格的一個或多個成員接收多個標(biāo)識符,其中每個所述標(biāo)識符與所述分布式數(shù)據(jù)網(wǎng)格的持久存儲設(shè)備中的持久保存的分區(qū)相關(guān)聯(lián); 選擇單元,所述選擇單元被配置為針對每個分區(qū)選擇標(biāo)識符,其中每個所選擇的標(biāo)識符與分區(qū)的最近的有效版本相關(guān)聯(lián);以及 確定單元,所述確定單元被配置為確定所述分布式數(shù)據(jù)網(wǎng)格中的對從與所選擇的標(biāo)識符相關(guān)聯(lián)的持久保存的分區(qū)恢復(fù)所述分區(qū)負(fù)責(zé)的成員。24.根據(jù)權(quán)利要求23所述的解析器,還包括: 解析單元,所述解析單元被配置為解析每個接收到的標(biāo)識符以獲得與所述持久存儲設(shè)備中的每個持久保存的分區(qū)相關(guān)聯(lián)的分區(qū)號和版本號。25.—種用于在分布式數(shù)據(jù)網(wǎng)格中支持持久性的系統(tǒng),包括: 持久存儲設(shè)備,所述持久存儲設(shè)備被配置為存儲一個或多個持久保存的分區(qū),所述一個或多個持久保存的分區(qū)中的每一個與標(biāo)識符相關(guān)聯(lián); 一個或多個成員,所述一個或多個成員被配置為從所述持久存儲設(shè)備收集可用的標(biāo)識符的列表; 解析器,所述解析器被配置為從一個或多個成員接收所述可用的標(biāo)識符的列表,針對每個分區(qū)選擇標(biāo)識符,其中每個所選擇的標(biāo)識符與分區(qū)的最近的有效版本相關(guān)聯(lián),以及確定所述分布式數(shù)據(jù)網(wǎng)格中的對從與所選擇的標(biāo)識符相關(guān)聯(lián)的持久保存的分區(qū)恢復(fù)所述分區(qū)負(fù)責(zé)的成員。26.根據(jù)權(quán)利要求25所述的系統(tǒng),其中: 所述持久存儲設(shè)備包括多個分布式本地盤,其中所述分布式數(shù)據(jù)網(wǎng)格中的每個成員僅僅對一個或多個分布式本地盤具有可見性。27.根據(jù)權(quán)利要求25所述的系統(tǒng),其中: 標(biāo)識符被分配給存儲在所述持久存儲設(shè)備中的每個持久保存的分區(qū),其中每個所述標(biāo)識符與分區(qū)的分區(qū)號和版本號相關(guān)聯(lián)。28.根據(jù)權(quán)利要求27所述的系統(tǒng),其中: 時間戳與每個所述標(biāo)識符相關(guān)聯(lián)。29.根據(jù)權(quán)利要求25所述的系統(tǒng),其中: 所述解析器還被配置為解析每個接收到的標(biāo)識符以獲得與所述持久存儲設(shè)備中的每個持久保存的分區(qū)相關(guān)聯(lián)的分區(qū)號和版本號。30.根據(jù)權(quán)利要求25所述的系統(tǒng),其中: 所述持久存儲設(shè)備包括存儲區(qū)域網(wǎng)絡(luò)SAN,其中所述SAN對所述分布式數(shù)據(jù)網(wǎng)格中的多個成員是可見的。31.根據(jù)權(quán)利要求25所述的系統(tǒng),其中: 所述分布式數(shù)據(jù)網(wǎng)格中的不同成員操作用于持久保存所述持久存儲設(shè)備中的分區(qū)的多個版本。32.根據(jù)權(quán)利要求25所述的系統(tǒng),其中: 所述分布式數(shù)據(jù)網(wǎng)格操作用于執(zhí)行以下操作: 密封所述持久存儲設(shè)備中的持久存儲裝置,并指示被密封的持久存儲裝置被完全初始化并且有資格被恢復(fù);以及 驗(yàn)證所述持久存儲設(shè)備中的持久存儲裝置,以確定所述持久存儲裝置是否被密封。33.根據(jù)權(quán)利要求25所述的系統(tǒng),其中: 所確定的成員操作用于通過使用具有所選擇的標(biāo)識符的持久保存的分區(qū)來恢復(fù)所述CJI
【文檔編號】G06F11/14GK105830033SQ201480067510
【公開日】2016年8月3日
【申請日】2014年12月5日
【發(fā)明人】R·H·李, J·J·霍維斯, M·A·法爾科, G·格萊澤
【申請人】甲骨文國際公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1