亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

使用布隆過濾器的索引搜索的制作方法

文檔序號:6359829閱讀:158來源:國知局
專利名稱:使用布隆過濾器的索引搜索的制作方法
使用布隆過濾器的索引搜索
背景技術(shù)
對于使用去除重復(fù)的(deduplicated)段存儲(chǔ)信息的系統(tǒng),索引用于識(shí)別段是否以前已被存儲(chǔ)以及給定段存儲(chǔ)在何處。然而,隨著存儲(chǔ)系統(tǒng)存儲(chǔ)的段的數(shù)量增大,索引大小也增大,并且定位接收的段的條目是否在索引中變得越來越耗時(shí)。


在下面的詳細(xì)描述和附圖中,公開了本發(fā)明的不同實(shí)施例。圖I是示出用于數(shù)據(jù)存儲(chǔ)的系統(tǒng)的一實(shí)施例的框圖。圖2是示出段存儲(chǔ)引擎的一實(shí)施例的框圖。
圖3是示出輸入流、段和超段數(shù)據(jù)配置的一實(shí)施例的框圖。圖4是示出索引的一實(shí)施例的框圖。圖5是示出LO索引的一實(shí)施例的框圖。圖6是示出用于在索引中存儲(chǔ)條目的過程的一實(shí)施例的流程圖。圖7是示出用于在索引中存儲(chǔ)條目的過程的一實(shí)施例的流程圖。圖8是示出用于定位索引條目的過程的流程圖。
具體實(shí)施例方式本發(fā)明能夠以多種方式實(shí)現(xiàn),包括作為過程、設(shè)備、系統(tǒng)、物質(zhì)的合成、計(jì)算機(jī)可讀存儲(chǔ)媒體上實(shí)施的計(jì)算機(jī)程序產(chǎn)品和/或處理器,如配置成執(zhí)行耦合到處理器的存儲(chǔ)器上和/或由存儲(chǔ)器提供的指令的處理器。在此說明書中,這些實(shí)現(xiàn)或本發(fā)明可采用的任何其它形式可稱為技術(shù)。通常,在本發(fā)明范圍內(nèi)可改變公開過程的步驟順序。除非另有說明,否貝U,諸如處理器和存儲(chǔ)器等被描述為配置成執(zhí)行任務(wù)的組件可實(shí)現(xiàn)為暫時(shí)配置成在給定時(shí)間中執(zhí)行該任務(wù)的組件或制造為執(zhí)行該任務(wù)的特定組件。在本文中使用時(shí),術(shù)語“處理器”指配置成處理諸如計(jì)算機(jī)程序指令等數(shù)據(jù)的一個(gè)或多個(gè)裝置、電路和/或處理核。本發(fā)明一個(gè)或多個(gè)實(shí)施例的詳細(xì)說明在下面與顯示本發(fā)明原理的附圖一起被提供。本發(fā)明結(jié)合此類實(shí)施例進(jìn)行描述,但本發(fā)明并不限于任一實(shí)施例。本發(fā)明的范圍只受權(quán)利要求的限制,并且本發(fā)明包括許多備選、修改和等同。許多特定的細(xì)節(jié)在下面的說明中陳述以便提供本發(fā)明的詳細(xì)理解。這些細(xì)節(jié)為了示例的目的而被提供,并且本發(fā)明可在一些或所有這些特定細(xì)節(jié)不存在的情況下根據(jù)權(quán)利要求來實(shí)踐。為了清晰的目的,與本發(fā)明相關(guān)技術(shù)領(lǐng)域已知的技術(shù)材料未被詳細(xì)描述以免不必要地混淆本發(fā)明。本文公開了一種用于索引搜索的系統(tǒng)。該系統(tǒng)包括第一索引、第二索引、布隆過濾器、處理器和存儲(chǔ)器。處理器配置成1)接收檢索段的請求;2)使用用于指紋的第二索引的布隆過濾器來確定布隆過濾器是否指示對應(yīng)于段的條目以前已在第二索引中被存儲(chǔ);3)如果布隆過濾器指示對應(yīng)于段的條目以前已在第二索引中被存儲(chǔ),則檢索以前已被存儲(chǔ)的段相關(guān)聯(lián)的第二索引條目;4)如果對應(yīng)于段的條目未在第二索引中找到,則檢查第一索引以確定對應(yīng)于段的條目是否以前已在第一索引中被存儲(chǔ);5)如果第一索引指示對應(yīng)于段的條目以前已在第一索引中被存儲(chǔ),則檢索以前已被存儲(chǔ)的段相關(guān)聯(lián)的第一索引條目;以及6)存儲(chǔ)器,耦合到處理器并配置成向處理器提供指令。布隆過濾器用于識(shí)別第二索引是否包括與候選段相關(guān)聯(lián)的條目。布隆過濾器的使用導(dǎo)致減少第二索引的隨機(jī)訪問。在一些實(shí)施例中,為候選段計(jì)算指紋。指紋被輸入第一索引中(例如,稱為LO的索引)。第一索引處于排序(sorted)順序中。在一些實(shí)施例中,一部分指紋(例如,前兩個(gè)字節(jié))用于指向識(shí)別第一索引內(nèi)某個(gè)位置的報(bào)頭,而在該位置附近存儲(chǔ)或未存儲(chǔ)指紋。由于第一索引是排序列表,并且新段指紋在不斷被添加,因此,第二索弓丨(例如,稱為LI的索引)用于存儲(chǔ)用于新段的指紋。在各種實(shí)施例中,第二索引被排序、部分排序、不被排序、小于第一索引,是多個(gè)次要索引之一、或具有任何其它適當(dāng)?shù)奶匦浴T跐M足準(zhǔn)則(例如,第二索引已達(dá)到某個(gè)大小)時(shí),第二索引與第一索引合并,并且被排序以形成新的第一索引。在一些實(shí)施例中,在第二索引合并到第一索引期間,使用臨時(shí)或備選第二索弓I。在一些實(shí)施例中,除第二索引外,有在進(jìn)入第二索引前保留索引條目的存儲(chǔ)器緩沖器,并且在尋找“索引”中的段時(shí),系統(tǒng)查看存儲(chǔ)器緩沖器;用于第二索引的布隆過濾器,以及如果布隆過濾器指示要求它,則查看第二索引;以及第一索引。在一些實(shí)施例中,有多個(gè)次 要索引,其各自帶有布隆過濾器,以及在尋找“索引”中的段時(shí),系統(tǒng)查看用于次要索引的每個(gè)布隆過濾器,并且如果布隆過濾器指示它是必需的,則查看第二索引,以及第一索引。由于在查看包括多個(gè)部分(例如,存儲(chǔ)器緩沖器、一個(gè)或多個(gè)次要索引、第一索引等)的索引時(shí),系統(tǒng)一旦在索引中找到最近的條目,便停止尋找段條目。在一些實(shí)施例中,索引的部分內(nèi)的搜索以最新索引到最舊索引的順序來執(zhí)行-例如,最先是小的存儲(chǔ)器緩沖器,接著是用于第二索引的布隆過濾器,以及如果要求則是第二索引,以及最后是第一索引。圖I是示出用于數(shù)據(jù)存儲(chǔ)的系統(tǒng)的一實(shí)施例的框圖。在所示示例中,使用存儲(chǔ)用戶系統(tǒng)Iio的用戶或存儲(chǔ)用戶系統(tǒng)110經(jīng)網(wǎng)絡(luò)108訪問存儲(chǔ)系統(tǒng)100。在各種實(shí)施例中,網(wǎng)絡(luò)108包括有線網(wǎng)絡(luò)、無線網(wǎng)絡(luò)、局域網(wǎng)、廣域網(wǎng)、因特網(wǎng)或任何其它適當(dāng)?shù)木W(wǎng)絡(luò)中的一種或多種網(wǎng)絡(luò)。存儲(chǔ)系統(tǒng)100包括系統(tǒng)接口 102、段存儲(chǔ)引擎104和多個(gè)存儲(chǔ)單元(在圖I中由存儲(chǔ)單元112、存儲(chǔ)單元114、存儲(chǔ)單元116及存儲(chǔ)單元118來表示)。通過使用復(fù)本(r印Iica)存儲(chǔ)系統(tǒng)106,復(fù)制了存儲(chǔ)系統(tǒng)100。例如,通過將某個(gè)存儲(chǔ)單元上存儲(chǔ)的段和元數(shù)據(jù)存儲(chǔ)到另一存儲(chǔ)單元,復(fù)制了該存儲(chǔ)單元。存儲(chǔ)用戶系統(tǒng)110將文件、數(shù)據(jù)流或數(shù)據(jù)文件分割成段(例如,為一個(gè)或多個(gè)段識(shí)別邊界-例如,某個(gè)哈希函數(shù)在文件的內(nèi)容的一部分上運(yùn)算;在該哈希函數(shù)等于某個(gè)值,是最小值,是最大值,介于最小長度與最大長度之間和/或是文件的窗口內(nèi)的極值等時(shí),確定段邊界)。段邊界得以確定,使得兩個(gè)類似文件、數(shù)據(jù)流或數(shù)據(jù)塊具有的目標(biāo)是對文件、數(shù)據(jù)流或數(shù)據(jù)塊的相同部分具有相同段,并且對文件、數(shù)據(jù)流或數(shù)據(jù)塊的非相同部分具有不同段。在各種實(shí)施例中,段確定基于數(shù)據(jù)的內(nèi)容(使用基于數(shù)據(jù)內(nèi)容所計(jì)算的值),不基于內(nèi)容(例如,字節(jié)計(jì)數(shù)、文件準(zhǔn)則等)、或基于內(nèi)容的準(zhǔn)則和基于非內(nèi)容的準(zhǔn)則的組合。在各種實(shí)施例中,存儲(chǔ)用戶系統(tǒng)Iio加密和/或壓縮段。存儲(chǔ)用戶系統(tǒng)110經(jīng)網(wǎng)絡(luò)108發(fā)送要由存儲(chǔ)系統(tǒng)100存儲(chǔ)的段。在各種實(shí)施例中,有關(guān)如何重構(gòu)文件、數(shù)據(jù)流或數(shù)據(jù)塊的信息也從存儲(chǔ)用戶系統(tǒng)110發(fā)送到存儲(chǔ)系統(tǒng)100和/或由存儲(chǔ)系統(tǒng)100存儲(chǔ),或進(jìn)行對信息適當(dāng)?shù)娜魏纹渌鼊?dòng)作。存儲(chǔ)系統(tǒng)100使用系統(tǒng)接口 102接收段。段存儲(chǔ)引擎104在存儲(chǔ)單元中存儲(chǔ)段,或者存儲(chǔ)到存儲(chǔ)單元(例如,存儲(chǔ)單元112、存儲(chǔ)單元114、存儲(chǔ)單元116或存儲(chǔ)單元118)中以前存儲(chǔ)的相同段的引用。在各種實(shí)施例中,存儲(chǔ)單元包括去除重復(fù)存儲(chǔ)系統(tǒng)、存儲(chǔ)裝置、多個(gè)存儲(chǔ)裝置、存儲(chǔ)裝置的一部分、硬盤驅(qū)動(dòng)器、驅(qū)動(dòng)器陣列、半導(dǎo)體存儲(chǔ)器或用于節(jié)點(diǎn)的任何其它適當(dāng)?shù)慕M件。僅在段以前未在存儲(chǔ)單元之一中存儲(chǔ)時(shí),段存儲(chǔ)引擎104才存儲(chǔ)段。在一些實(shí)施例中,通過查看相同的標(biāo)識(shí)符是否已經(jīng)在用于存儲(chǔ)系統(tǒng)100的存儲(chǔ)的段的索引中存在,標(biāo)識(shí)符(例如,數(shù)字指紋、安全哈希算法哈希值等)用于確定段是否以前已被存儲(chǔ)。在各種實(shí)施例中,使用存儲(chǔ)系統(tǒng)100,使用存儲(chǔ)用戶系統(tǒng)110或任何其它適當(dāng)?shù)南到y(tǒng)確定用于給定段的標(biāo)識(shí)符。在一些實(shí)施例中,標(biāo)識(shí)符與相關(guān)聯(lián)的段一起從存儲(chǔ)用戶系統(tǒng)110被發(fā)送到存儲(chǔ)系統(tǒng) 100。存儲(chǔ)用戶系統(tǒng)110經(jīng)網(wǎng)絡(luò)108請求存儲(chǔ)系統(tǒng)100上存儲(chǔ)的一個(gè)或多個(gè)段。存儲(chǔ)系統(tǒng)100使用系統(tǒng)接口 102接收該請求。段存儲(chǔ)引擎104路由該請求以定位、或者定位用于在適當(dāng)存儲(chǔ)單元中存儲(chǔ)文件、數(shù)據(jù)流或數(shù)據(jù)塊的段。在一些實(shí)施例中,一個(gè)或多個(gè)段經(jīng)網(wǎng)絡(luò)108發(fā)送到存儲(chǔ)用戶系統(tǒng)110,并且存儲(chǔ)用戶系統(tǒng)110使用一個(gè)或多個(gè)段重構(gòu)文件、數(shù)據(jù)流或數(shù)據(jù)塊。在各種實(shí)施例中,將段解密和/或解壓縮或進(jìn)行任何其它適當(dāng)?shù)奶幚硪员阒貥?gòu)期望的文件、數(shù)據(jù)流或數(shù)據(jù)塊。在一些實(shí)施例中,存儲(chǔ)用戶系統(tǒng)110通過識(shí)別文件名和文件內(nèi)的偏移來請求數(shù)據(jù)。在存儲(chǔ)系統(tǒng)100使用一個(gè)或多個(gè)段來重構(gòu)文件、數(shù)據(jù)流或數(shù)據(jù)塊后,數(shù)據(jù)經(jīng)網(wǎng)絡(luò)108被發(fā)送到存儲(chǔ)用戶系統(tǒng)110。在一些實(shí)施例中,在存儲(chǔ)用戶系統(tǒng)110與存儲(chǔ)系統(tǒng)100之間劃分的功能性是不同的分段和存儲(chǔ)均由存儲(chǔ)系統(tǒng)100執(zhí)行。在一些實(shí)施例中,有一個(gè)或多個(gè)存儲(chǔ)用戶系統(tǒng)將段或數(shù)據(jù)流饋送到一個(gè)或多個(gè)存儲(chǔ)系統(tǒng)(例如,一對多、多對多、共享配置或獨(dú)占配置)。在一些實(shí)施例中,存儲(chǔ)系統(tǒng)100包括處理器和存儲(chǔ)器。在各種實(shí)施例中,用于存儲(chǔ)系統(tǒng)100的處理器包括單個(gè)處理器、多個(gè)處理器、帶有虛擬系統(tǒng)的一個(gè)或多個(gè)處理器或任何其它適當(dāng)?shù)挠布蜍浖允沟媚軌蛟谙到y(tǒng)上存儲(chǔ)數(shù)據(jù)。圖2是示出段存儲(chǔ)引擎的一實(shí)施例的框圖。在一些實(shí)施例中,圖2的段存儲(chǔ)引擎200用于實(shí)現(xiàn)圖I的段存儲(chǔ)引擎104。在所示示例中,段存儲(chǔ)引擎200包括分段器202、指紋計(jì)算器204、索引206及重復(fù)檢測器208。在一些實(shí)施例中,段存儲(chǔ)引擎200接收段,并且不接收數(shù)據(jù)文件、流或塊,在此情況下,分段器202未被使用和/或未被包括在段存儲(chǔ)引擎 208中。分段器202將文件、數(shù)據(jù)流或數(shù)據(jù)文件分割成段(例如,為一個(gè)或多個(gè)段識(shí)別邊界-例如,某個(gè)哈希函數(shù)在文件的內(nèi)容的一部分上運(yùn)算;在該哈希函數(shù)等于某個(gè)值,是最小值,是最大值,介于最小長度與最大長度之間和/或是文件的窗口內(nèi)的極值等時(shí),確定段邊界)。段邊界得以確定,使得兩個(gè)類似文件、數(shù)據(jù)流或數(shù)據(jù)塊具有的目標(biāo)是對文件、數(shù)據(jù)流或數(shù)據(jù)塊的相同部分具有相同段,并且對文件、數(shù)據(jù)流或數(shù)據(jù)塊的非相同部分具有不同段。在各種實(shí)施例中,段確定基于數(shù)據(jù)的內(nèi)容(使用基于數(shù)據(jù)內(nèi)容所計(jì)算的值),不基于內(nèi)容(例如,字節(jié)計(jì)數(shù)、文件準(zhǔn)則等)或基于內(nèi)容的準(zhǔn)則和基于非內(nèi)容的準(zhǔn)則的組合。指紋計(jì)算器204計(jì)算用于段的標(biāo)識(shí)符-例如,Rabin指紋、消息摘要算法5 (MD5)或安全哈希算法(SHA)加密哈希等。重復(fù)檢測器208使用為段和索引206計(jì)算的指紋,以通過查看指紋當(dāng)前是否在索引206中來確定段是否以前已被存儲(chǔ)。如果指紋未在索引206中,則形成包括指紋的新條目,并且在用于系統(tǒng)的存儲(chǔ)單元中存儲(chǔ)段。索引206也包括指示段存儲(chǔ)在存儲(chǔ)單元內(nèi)何處的信息。在一些實(shí)施例中,索引206包括一個(gè)或多個(gè)索引結(jié)構(gòu)-例如,存儲(chǔ)器緩沖器、大的排序索引或小的索引(已排序或未排序)。圖3是示出輸入流、段和超段數(shù)據(jù)配置的一實(shí)施例的框圖。在所示示例中,數(shù)據(jù)流、數(shù)據(jù)塊或數(shù)據(jù)文件300輸入數(shù)據(jù)存儲(chǔ)系統(tǒng),數(shù)據(jù)存儲(chǔ)系統(tǒng)將輸入分割成段302(例如,SpS2> S3、S4、S5、S6、S7、S8和SN)。在各種實(shí)施例中,段302具有最小長度、最大長度,具有大約8KB的平均大小或具有任何其它適當(dāng)?shù)膶傩?。在各種實(shí)施例中,通過使用基于內(nèi)容的算法(例如,在數(shù)據(jù)的窗口中,窗口上的哈希函數(shù)等于某個(gè)數(shù),是用于所有窗口的最小值/最大值/極值,具有預(yù)定比特位置中的I或0的模式等),使用基于非內(nèi)容的算法(例如,具有預(yù)定長度,具有最小長度,最大長度,與文件長度相關(guān)聯(lián)等)或基于內(nèi)容和基于非內(nèi)容的算法的組合,或確定段端點(diǎn)的任何其它適當(dāng)方式識(shí)別段端點(diǎn)來生成段。圖4是示出索引的一實(shí)施例的框圖。在一些實(shí)施例中,圖4的索引400用于實(shí)現(xiàn)圖2的索引206。在所示示例中,索引400包括多級索引,多級索引具有幾個(gè)級或級別,在其中存儲(chǔ)和/或搜索索引條目以查找索引條目。在一些實(shí)施例中,索引條目包括標(biāo)識(shí)符(例如, 指紋)和位置(例如,容器、磁盤位置等)。索引包括LO索引402、存儲(chǔ)器緩沖器索引404、L1索引406及用于LI索引的布隆過濾器408。如果識(shí)別出要在段存儲(chǔ)系統(tǒng)中存儲(chǔ)的新段,則為新段存儲(chǔ)索引條目。索引條目先在存儲(chǔ)器緩沖器404中存儲(chǔ),這不是排序索引。存儲(chǔ)器緩沖器索引404中的索引條目定期傳送到LI索引(LI索引506的索引)。LI索引包括排序索弓I。LI索引406中的索引條目和LI索引406的LI索引定期與LO索引402合并排序。在一些實(shí)施例中,存儲(chǔ)器緩沖器索引404大于LI索引406的LI索引,LI索引又大于LO索引402。在一些實(shí)施例中,存儲(chǔ)器緩沖器索引404大小為幾千兆字節(jié)(例如,2 GB), LI索引406的LI索引大小是一^h或幾十千兆字節(jié)(例如,10 GB),并且LO索引402是一百或幾百千兆字節(jié)(例如,100 GB)。在一些實(shí)施例中,標(biāo)識(shí)符的一部分用于查找索引內(nèi)索引條目的位置(例如,指紋的前兩字節(jié)用于在表中查找在索引中何處開始尋找與指紋相關(guān)聯(lián)的索引條目)。圖5是示出LO索引的一實(shí)施例的框圖。在一些實(shí)施例中,LO索引500用于實(shí)現(xiàn)圖4的LO索引402。在所示示例中,LO索引500包括索引表502和報(bào)頭表506。索引表502包括存儲(chǔ)段的位置和/或容器或區(qū)域/區(qū)/桶和存儲(chǔ)的段的標(biāo)識(shí)符列表。報(bào)頭表506包括用于使用標(biāo)識(shí)符的一部分來定位LO索引500內(nèi)的索引條目的表,以便在報(bào)頭表506中查找LO索引500內(nèi)索引條目所處的區(qū)域(例如,索引內(nèi)的桶)。圖6是示出用于在索引中存儲(chǔ)條目的過程的一實(shí)施例的流程圖。在所示示例中,在600中接收新段。在602中,在存儲(chǔ)器緩沖器索引中存儲(chǔ)用于新段的索引條目。在604中,確定存儲(chǔ)器緩沖器索弓丨是否已滿。在一些實(shí)施例中,另一準(zhǔn)則用于確定是否合并排序或傳送存儲(chǔ)器緩沖器索引的索引條目到LI索引。如果確定存儲(chǔ)器緩沖器索引已滿,則在606中,存儲(chǔ)器緩沖器索引中的索引條目被合并排序到LI索引;并且控制轉(zhuǎn)到600。如果確定存儲(chǔ)器緩沖器索引未滿,則控制轉(zhuǎn)到600。在一些實(shí)施例中,索引條目傳送到LI索引而未被合并排序。圖7是示出用于在索引中存儲(chǔ)條目的過程的一實(shí)施例的流程圖。在所示示例中,在700中,接收指示LO合并排序的指示。在各種實(shí)施例中,基于LI索引是否已滿、LI索引達(dá)到預(yù)定大小、LI索引中的桶具有預(yù)定數(shù)量的條目或任何其它適當(dāng)?shù)臏?zhǔn)則來確定指示。在702中,一個(gè)或多個(gè)LI索引被合并排序到LO索引中。在一些實(shí)施例中,只有一個(gè)LI索引。在一些實(shí)施例中,在一個(gè)LI索引中的條目到LO索引中的合并排序期間,臨時(shí)LI索引用于在合并排序操作期間存儲(chǔ)用于新段的索引條目。在一些實(shí)施例中,一次一個(gè)桶地執(zhí)行從LI索引到LO索引的合并排序,其中,LI索引桶中的條目和LO索引桶中的條目對應(yīng)于帶有類似特性的標(biāo)識(shí)符(例如,相同的前兩個(gè)字節(jié))。在各種實(shí)施例中,LI索引不是有序的,包含重復(fù),具有帶其它LI索引的重復(fù)或任何其它適當(dāng)?shù)膶傩?。圖8是示出用于定位索引條目的過程的流程圖。在所示示例中,在800中,接收識(shí)別段位置的指示。在802中,確定段指紋是否在存儲(chǔ)器緩沖器索引中。如果段指紋在存儲(chǔ)器緩沖器索引,則控制轉(zhuǎn)到810。如果段指紋不在存儲(chǔ)器緩沖器索引中,則在804中確定段指紋是否在用于LI索引的布隆過濾器中。布隆過濾器為系統(tǒng)提供了效率的改進(jìn),因?yàn)橥ㄟ^使用布隆過濾器確定是否在一個(gè)或多個(gè)LI索引中索引,極大消除或減少了在一個(gè)或多個(gè)LI索引中查看的時(shí)間。如果段指紋在用于LI索引的布隆過濾器中,則在806中確定段指紋是否在LI索引中。在各種實(shí)施例中,有一個(gè)LI索引,有多于一個(gè)LI索引并且每個(gè)LI索引具有對應(yīng)布隆過濾器,或者有用于布隆過濾器和LI索引的任何其它適當(dāng)?shù)牟贾?。如果段指紋不在用于LI索引的布隆過濾器中,或者如果段指紋未在LI索引中被發(fā)現(xiàn),則在808中,確 定段指紋是否在LO索引中。如果段指紋不在LO索引中,則過程結(jié)束。如果段指紋在存儲(chǔ)器合并緩沖器、LI索引或LO索引中,則在810中,基于指紋的索引條目來指示段的位置。雖然為了清楚地理解的目的而以一定的細(xì)節(jié)描述了上述實(shí)施例,但本發(fā)明并不限于提供的細(xì)節(jié)。實(shí)施本發(fā)明有許多備選方式。公開的實(shí)施例是說明性的而不是限制性的。所要求權(quán)利的是
權(quán)利要求
1.一種用于索引搜索的系統(tǒng),包括 第一索引; 第二索引; 處理器,配置成 使用用于指紋的所述第二索引的布隆過濾器來確定所述布隆過濾器是否指示對應(yīng)于段的條目以前已在所述第二索引中被存儲(chǔ); 如果所述布隆過濾器指示對應(yīng)于所述段的條目以前已在所述第二索引中被存儲(chǔ),則檢索以前已被存儲(chǔ)的所述段相關(guān)聯(lián)的第二索引條目;以及 存儲(chǔ)器,耦合到所述處理器并配置成向所述處理器提供指令。
2.如權(quán)利要求I所述的系統(tǒng),其中所述處理器還配置成接收檢索所述段的請求。
3.如權(quán)利要求I所述的系統(tǒng),其中所述處理器還配置成如果對應(yīng)于所述段的條目以尚未在所述第二索引中被存儲(chǔ),則檢查所述第一索引以確定所述段以前是否已被存儲(chǔ)。
4.如權(quán)利要求3所述的系統(tǒng),其中所述處理器還配置成如果所述第一索引指示對應(yīng)于所述段的條目以前已在所述第一索引中被存儲(chǔ),則檢索以前已被存儲(chǔ)的所述段相關(guān)聯(lián)的第一索引條目。
5.如權(quán)利要求I所述的系統(tǒng),其中所述處理器還配置成檢查存儲(chǔ)器緩沖器索引以確定對應(yīng)于所述段的條目是否以前已在所述存儲(chǔ)器緩沖器索引中被存儲(chǔ)。
6.如權(quán)利要求5所述的系統(tǒng),其中所述處理器還配置成如果所述存儲(chǔ)器緩沖器索引指示對應(yīng)于所述段的條目以前已被存儲(chǔ),則從所述存儲(chǔ)器緩沖器索引為所述段檢索索引條目。
7.如權(quán)利要求5所述的系統(tǒng),其中所述存儲(chǔ)器緩沖器索引包括與存儲(chǔ)的段相關(guān)聯(lián)的指紋。
8.如權(quán)利要求5所述的系統(tǒng),其中所述存儲(chǔ)器緩沖器索引被傳送或合并排序到所述第二索引中。
9.如權(quán)利要求5所述的系統(tǒng),其中所述存儲(chǔ)器緩沖器索引小于所述第二索引。
10.如權(quán)利要求I所述的系統(tǒng),其中所述第一索引包括與存儲(chǔ)的段相關(guān)聯(lián)的指紋。
11.如權(quán)利要求I所述的系統(tǒng),其中所述第二索引包括與存儲(chǔ)的段相關(guān)聯(lián)的指紋。
12.如權(quán)利要求I所述的系統(tǒng),其中所述第二索引在大小上小于所述第一索引。
13.如權(quán)利要求I所述的系統(tǒng),其中所述第二索引被傳送或合并排序到所述第一索引中。
14.如權(quán)利要求I所述的系統(tǒng),其中所述第二索引是多個(gè)第二索引之一。
15.一種用于索引搜索的方法,包括 使用處理器和用于指紋的第二索引的布隆過濾器來確定所述布隆過濾器是否指示對應(yīng)于段的條目以前已在所述第二索引中被存儲(chǔ);以及 如果所述布隆過濾器指示對應(yīng)于所述段的條目以前已在所述第二索引中被存儲(chǔ),則檢索以前已被存儲(chǔ)的所述段相關(guān)聯(lián)的第二索引條目。
16.一種用于索引搜索的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品在計(jì)算機(jī)可讀存儲(chǔ)媒體中被實(shí)施并包括用于以下操作的計(jì)算機(jī)指令 使用處理器和用于指紋的第二索引的布隆過濾器來確定所述布隆過濾器是否指示對應(yīng)于段的條目以前已在所述第二索引中被存儲(chǔ);以及 如果所述布隆過濾器指示對應(yīng)于所述段的條目以前已在所述第二索引中被存儲(chǔ),則檢索以 前已被存儲(chǔ)的所述段相關(guān)聯(lián)的第二索引條目。
全文摘要
用于索引搜索的系統(tǒng)包括第一索引、第二索引、處理器和存儲(chǔ)器。處理器配置成使用用于指紋的第二索引的布隆過濾器來確定布隆過濾器是否指示對應(yīng)于段的條目以前已在第二索引中被存儲(chǔ)。處理器還配置成如果布隆過濾器指示對應(yīng)于段的條目以前已在第二索引中被存儲(chǔ),則檢索以前已被存儲(chǔ)的段相關(guān)聯(lián)的第二索引條目。存儲(chǔ)器耦合到處理器并配置成向處理器提供指令。
文檔編號G06F7/00GK102782643SQ201180013029
公開日2012年11月14日 申請日期2011年3月7日 優(yōu)先權(quán)日2010年3月10日
發(fā)明者Y.謝 申請人:Emc 公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1