本文描述一種用于分布式數(shù)據(jù)庫(kù)系統(tǒng)中的異步垃圾收集的方法。該方法包括:建立用于垃圾收集的一組候選,以及向流水線的每個(gè)級(jí)傳送垃圾收集任務(wù)。該方法還包括基于該用于垃圾收集的一組候選,從該流水線的每個(gè)級(jí)中移除數(shù)據(jù)。
【技術(shù)實(shí)現(xiàn)步驟摘要】
【國(guó)外來華專利技術(shù)】
技術(shù)介紹
分布式數(shù)據(jù)庫(kù)系統(tǒng)可以包括多個(gè)數(shù)據(jù)庫(kù),其中每個(gè)數(shù)據(jù)庫(kù)的多個(gè)部分可以位于各個(gè)集群上。每個(gè)集群可以包括數(shù)個(gè)服務(wù)器,其中每個(gè)服務(wù)器可以擁有該數(shù)據(jù)庫(kù)的一部分。當(dāng)該系統(tǒng)的用戶訪問、修改、刪除或重新整理每個(gè)數(shù)據(jù)庫(kù)中包含的數(shù)據(jù)時(shí),該系統(tǒng)可以接收對(duì)該數(shù)據(jù)庫(kù)的更新。分布式數(shù)據(jù)庫(kù)系統(tǒng)可以響應(yīng)于數(shù)據(jù)庫(kù)的改變,創(chuàng)建該數(shù)據(jù)庫(kù)的不同版本。數(shù)據(jù)庫(kù)的不同版本可以稱為該數(shù)據(jù)庫(kù)的多個(gè)代。附圖說明在下面的詳細(xì)描述中并且參照附圖描述特定示例,其中:圖1是包括處理流水線的系統(tǒng)的框圖;圖2是使在分布式數(shù)據(jù)庫(kù)系統(tǒng)中能夠進(jìn)行異步垃圾收集的計(jì)算設(shè)備的框圖;圖3是用于分布式數(shù)據(jù)庫(kù)系統(tǒng)中的異步垃圾收集的方法流程圖;圖4是用于分布式數(shù)據(jù)庫(kù)系統(tǒng)中的異步垃圾收集的方法流程圖;以及圖5是示出使在分布式數(shù)據(jù)庫(kù)系統(tǒng)中能夠進(jìn)行垃圾收集的有形非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)的框圖。在整個(gè)公開和各圖中,相同的附圖標(biāo)記用于指相似的組件和特征。100系列的附圖標(biāo)記指最初在圖1中出現(xiàn)的特征;200系列的附圖標(biāo)記指最初在圖2中出現(xiàn)的特征;以此類推。具體實(shí)施方式如上面討論的,分布式數(shù)據(jù)庫(kù)可以在可以由數(shù)十個(gè)服務(wù)器組成的集群上運(yùn)行。每個(gè)服務(wù)器可以存儲(chǔ)該數(shù)據(jù)庫(kù)的全部或一部分。數(shù)據(jù)庫(kù)可能是在未考慮共享理念的條件下設(shè)計(jì)的,使得服務(wù)器不維護(hù)與分布式數(shù)據(jù)庫(kù)系統(tǒng)有關(guān)的任何狀態(tài)信息。在這樣的情景下,分布式數(shù)據(jù)庫(kù)系統(tǒng)由主控器(Master)協(xié)調(diào)。數(shù)據(jù)庫(kù)的每個(gè)版本可以稱為一代。一旦準(zhǔn)備查詢新一代的數(shù)據(jù)庫(kù),老一代就是要進(jìn)行垃圾收集的候選。在一些情況下,垃圾收集是從分布式數(shù)據(jù)庫(kù)系統(tǒng)中刪除或移除舊信息。但是,老一代數(shù)據(jù)庫(kù)可能由于數(shù)據(jù)耐久性和安全性原因而不能進(jìn)行垃圾收集。此外,當(dāng)有在老一代數(shù)據(jù)庫(kù)上運(yùn)行的進(jìn)行中的事務(wù)時(shí),數(shù)據(jù)庫(kù)可能不能進(jìn)行垃圾收集。本文描述的實(shí)施例使在分布式數(shù)據(jù)庫(kù)系統(tǒng)中能夠進(jìn)行異步垃圾收集。在實(shí)施例中,當(dāng)各代數(shù)據(jù)不再貢獻(xiàn)系統(tǒng)的數(shù)據(jù)耐久性或安全性時(shí),選擇與垃圾收集有關(guān)的候選代。垃圾收集在無共享架構(gòu)中發(fā)生,并且垃圾收集器在整個(gè)系統(tǒng)上產(chǎn)生較小的占用空間。因此,在與使用特定垃圾收集器方法相比時(shí),以降低的成本優(yōu)化了數(shù)據(jù)耐久性和數(shù)據(jù)安全性。此外,可以釋放存儲(chǔ)資源,以產(chǎn)生存儲(chǔ)系統(tǒng)更有效使用。主控器可以確定數(shù)據(jù)庫(kù)的可以被垃圾收集的特定代,并且主控器還可以協(xié)調(diào)在集群的每個(gè)服務(wù)器上運(yùn)行的垃圾收集器。圖1是包括處理流水線102的系統(tǒng)100的框圖。處理流水線102包括攝取級(jí)104、ID(標(biāo)識(shí)符)重映射級(jí)106、分類級(jí)108和合并級(jí)110。來自各更新源112的數(shù)據(jù)更新被提供給服務(wù)器系統(tǒng)100,以由處理流水線102處理。更新源112的示例包括可以存儲(chǔ)組織內(nèi)的數(shù)據(jù)的各種機(jī)器,其中機(jī)器可以包括臺(tái)式機(jī)、筆記本計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、各種服務(wù)器(例如,文件服務(wù)器、電子郵件服務(wù)器等)或其它類型的設(shè)備。盡管圖1中示出處理流水線102的特定級(jí),但是注意到,在不同實(shí)施例中,可以在處理流水線102中提供可選的級(jí)或其它級(jí)。流水線的每個(gè)級(jí)獨(dú)立于其它級(jí)。此外,該流水線的每個(gè)級(jí)可以在不同的獨(dú)立的服務(wù)器上運(yùn)行。該流水線中的每個(gè)級(jí)的動(dòng)作和任務(wù)由被稱為主控器的主進(jìn)程編排。處理流水線102的攝取級(jí)104批處理(收集)進(jìn)入的來自更新源112的數(shù)據(jù)更新。在服務(wù)器系統(tǒng)100中處理和存儲(chǔ)的數(shù)據(jù)可以包括各種元數(shù)據(jù)、文件、電子郵件、視頻對(duì)象、音頻對(duì)象等。更新可以是數(shù)據(jù)的增加、刪除或重新整理。在一些實(shí)施例中,進(jìn)入的更新被批處理成數(shù)據(jù)結(jié)構(gòu)。在一些情況下,該數(shù)據(jù)結(jié)構(gòu)是自一致更新(SCU)。SCU是一批更新,其中該批是單個(gè)不可分割單元,并且直至該SCU中的所有單獨(dú)更新都被寫至存儲(chǔ)器才被認(rèn)為是持久的。因此,應(yīng)用SCU的所有更新,或者不應(yīng)用SCU的任何更新。任何一個(gè)SCU中的數(shù)據(jù)更新與另一SCU中的數(shù)據(jù)更新隔離。在一些實(shí)施例中,未分類的SCU是持久的,這意味著在服務(wù)器系統(tǒng)100具有某一錯(cuò)誤狀況或電源故障時(shí),該SCU的更新不丟失。經(jīng)批處理的更新被提供給ID重映射級(jí)106,ID重映射級(jí)106將經(jīng)批處理的更新的初始臨時(shí)ID轉(zhuǎn)換成全局ID。實(shí)際上,ID重映射級(jí)106將第一空間中的ID映射至第二空間中的ID。在一些實(shí)施例中,第二空間是提供單個(gè)的可搜索的ID空間的全局空間。由攝取級(jí)104使用的初始臨時(shí)ID在處理每個(gè)唯一實(shí)體(例如,文件名)時(shí)被分配給每個(gè)唯一實(shí)體。使用ID來替代相對(duì)大量的進(jìn)入數(shù)據(jù)(如文件路徑名),這改善了查詢和處理時(shí)間,并且降低了存儲(chǔ)空間的利用。此外,在用多個(gè)處理器實(shí)現(xiàn)攝取級(jí)104的實(shí)施例中,由多個(gè)處理器中的每個(gè)生成的臨時(shí)ID可以被重映射至全局ID空間。通過這樣的方式,攝取級(jí)104的處理器不需要與彼此協(xié)作來確保唯一ID的生成,使得可以實(shí)現(xiàn)更大的并行化。在一些情況下,術(shù)語處理器可以指單獨(dú)的中央處理器單元(CPU)或指計(jì)算機(jī)節(jié)點(diǎn)。經(jīng)重映射的更新被提供給分類級(jí)108,分類級(jí)108按照一個(gè)或多個(gè)關(guān)鍵字來分類經(jīng)重映射的更新,以創(chuàng)建包含一個(gè)或多個(gè)可搜索的索引的經(jīng)分類的一批更新。在一些實(shí)施例中,經(jīng)批處理的更新包括更新表,并且根據(jù)一個(gè)或多個(gè)關(guān)鍵字來對(duì)該更新表進(jìn)行分類以產(chǎn)生一個(gè)或多個(gè)可搜索的索引。合并級(jí)110將單獨(dú)的經(jīng)分類的一批更新合并成單個(gè)一組權(quán)限表114,以進(jìn)一步改善查詢性能。在一些情況下,權(quán)限表114指將由服務(wù)器系統(tǒng)100存儲(chǔ)的數(shù)據(jù)的庫(kù),其中權(quán)限表114通常是響應(yīng)于對(duì)數(shù)據(jù)的查詢而搜索的表。在一些實(shí)施例中,來自更新源112中一個(gè)或多個(gè)更新源的多個(gè)更新可以共同被批處理成將自動(dòng)地且一致地應(yīng)用至在服務(wù)器系統(tǒng)100的數(shù)據(jù)儲(chǔ)存器116中存儲(chǔ)的權(quán)限表114的批(batch)。在一些實(shí)施例中,數(shù)據(jù)儲(chǔ)存器116可以存儲(chǔ)多個(gè)權(quán)限表114。更一般地,權(quán)限表114被稱為數(shù)據(jù)表。在一些情況下,數(shù)據(jù)庫(kù)是數(shù)據(jù)表的集合。依照一些實(shí)施例,處理流水線102的各處理級(jí)104、106、108和110是可單獨(dú)地且獨(dú)立地?cái)U(kuò)展的。處理流水線102的每個(gè)級(jí)可以用對(duì)應(yīng)的一組一個(gè)或多個(gè)處理器實(shí)現(xiàn),其中“處理器”可以指單獨(dú)的CPU或指計(jì)算機(jī)節(jié)點(diǎn)。每個(gè)級(jí)中的并行化可以通過提供多個(gè)處理器增強(qiáng)。通過這樣的方式,這些級(jí)中的每個(gè)級(jí)的性能可以通過用對(duì)應(yīng)的基礎(chǔ)結(jié)構(gòu)實(shí)現(xiàn)這些級(jí)中的每個(gè)級(jí)來獨(dú)立地調(diào)整。注意到,除了在每個(gè)級(jí)中實(shí)現(xiàn)并行化之外,每個(gè)級(jí)還可以實(shí)現(xiàn)流水線化,以實(shí)施對(duì)應(yīng)的處理操作。對(duì)分布式數(shù)據(jù)庫(kù)系統(tǒng)的更新可以被實(shí)現(xiàn)為不可改變的文件。在一些情況下,數(shù)據(jù)庫(kù)的特定一代由權(quán)限表和流水線的每個(gè)級(jí)中的所有更新組成,每個(gè)更新與特定的邏輯數(shù)據(jù)庫(kù)有關(guān)。該特定一代用于在一時(shí)間點(diǎn)上的事務(wù)。特別地,當(dāng)事務(wù)開始時(shí)本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種用于分布式數(shù)據(jù)庫(kù)系統(tǒng)中的異步垃圾收集的方法,包括:建立用于垃圾收集的一組候選;向流水線的每個(gè)級(jí)傳送垃圾收集任務(wù);以及基于所述用于垃圾收集的一組候選和所述垃圾收集任務(wù),從所述流水線的每個(gè)級(jí)中移除數(shù)據(jù),其中所述垃圾收集任務(wù)不阻止所述流水線的任何級(jí)執(zhí)行。
【技術(shù)特征摘要】
【國(guó)外來華專利技術(shù)】1.一種用于分布式數(shù)據(jù)庫(kù)系統(tǒng)中的異步垃圾收集的方法,包括:
建立用于垃圾收集的一組候選;
向流水線的每個(gè)級(jí)傳送垃圾收集任務(wù);以及
基于所述用于垃圾收集的一組候選和所述垃圾收集任務(wù),從所述流水線的每個(gè)級(jí)
中移除數(shù)據(jù),其中所述垃圾收集任務(wù)不阻止所述流水線的任何級(jí)執(zhí)行。
2.根據(jù)權(quán)利要求1所述的方法,其中在從流水線的每個(gè)級(jí)中移除數(shù)據(jù)之前,從所
述用于垃圾收集的一組候選中移除在活躍事務(wù)中使用的候選。
3.根據(jù)權(quán)利要求1所述的方法,其中向所述流水線的每個(gè)級(jí)的垃圾收集線程傳送
所述垃圾收集任務(wù)。
4.根據(jù)權(quán)利要求1所述的方法,其中針對(duì)每個(gè)傳送的垃圾收集任務(wù)獲取要移除的
數(shù)據(jù)的數(shù)據(jù)庫(kù)名和路徑。
5.根據(jù)權(quán)利要求1所述的方法,其中由在所述流水線的每個(gè)級(jí)的多個(gè)進(jìn)程中的每
個(gè)中運(yùn)行的單個(gè)線程處理所述垃圾收集任務(wù)。
6.根據(jù)權(quán)利要求1所述的方法,其中所述流水線的每個(gè)級(jí)不維護(hù)所述數(shù)據(jù)庫(kù)的任
何狀態(tài),并且不確定將移除什么數(shù)據(jù)。
7.一種用于分布式數(shù)據(jù)庫(kù)中的異步垃圾收集的系統(tǒng):
處理流水線,具有多個(gè)處理級(jí),其中每個(gè)處理級(jí)與其它處理級(jí)分離;
存儲(chǔ)設(shè)備,存儲(chǔ)指令,所述存儲(chǔ)設(shè)備包括處理器可執(zhí)行代碼,該處理器可執(zhí)行代
碼在由每個(gè)處理級(jí)執(zhí)行時(shí)被配置為:
從主控器接收垃圾收集任務(wù);
向每個(gè)處理級(jí)中的垃圾收集線程發(fā)送所述垃圾收集任務(wù);
基于...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:塞巴斯蒂安·坦德爾,
申請(qǐng)(專利權(quán))人:慧與發(fā)展有限責(zé)任合伙企業(yè),
類型:發(fā)明
國(guó)別省市:美國(guó);US
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。