專利名稱:一種基于布魯姆過濾器的數(shù)據(jù)塊快速比較系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)塊快速比較技術(shù),具體地說是一種基于布魯姆過濾器 的數(shù)據(jù)塊快速比較系統(tǒng)。
背景技術(shù):
在重復(fù)數(shù)據(jù)刪除系統(tǒng)中,數(shù)據(jù)塊比較是使用頻度最高的操作,因?yàn)橹貜?fù)數(shù) 據(jù)刪除的最重要的工作就是將數(shù)據(jù)塊與數(shù)據(jù)池中的所有數(shù)據(jù)塊相比較,以判斷 其是否己存在于數(shù)據(jù)池中,若數(shù)據(jù)塊已存在,則可方便的將數(shù)據(jù)塊刪除,并保 留一個(gè)指向數(shù)據(jù)池中相同數(shù)據(jù)塊的指針,若數(shù)據(jù)塊不存在,則將數(shù)據(jù)塊插入數(shù) 據(jù)池中。
傳統(tǒng)的數(shù)據(jù)塊比較方法, 一般采用數(shù)據(jù)塊HASH散列標(biāo)識(shí)的方式,即為數(shù) 據(jù)池中的每個(gè)數(shù)據(jù)塊都保留一個(gè)唯一的HASH散列。比較數(shù)據(jù)塊時(shí)先計(jì)算數(shù)據(jù) 塊的HASH散列標(biāo)識(shí),然后與數(shù)據(jù)池中的數(shù)據(jù)塊相比較,以判斷數(shù)據(jù)塊是否存 在于存儲(chǔ)池中。但是這種HASH散列標(biāo)識(shí)查詢的復(fù)雜度一般是線性的或是對(duì)數(shù) 階的,也就是說,當(dāng)數(shù)據(jù)池的規(guī)模增大時(shí),數(shù)據(jù)塊的比較效率也會(huì)逐漸降低, 在大規(guī)模的重復(fù)數(shù)據(jù)刪除系統(tǒng)中,這將對(duì)系統(tǒng)性能造成極大影響,導(dǎo)致系統(tǒng)運(yùn) 行效率的降低。
因此,如何使用一種數(shù)據(jù)塊的快速比較技術(shù),使數(shù)據(jù)塊的比較效率與數(shù)據(jù) 池的規(guī)模無關(guān),提高大規(guī)模系統(tǒng)的運(yùn)行效率,是重復(fù)數(shù)據(jù)刪除系統(tǒng)所面臨的主 要問題。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)任務(wù)是提供一種利用Bloom Filter査詢一個(gè)數(shù)據(jù)塊是否存在于包含大量數(shù)據(jù)塊的數(shù)據(jù)池中,將大量的査詢比較操作替換為計(jì)算操作的一種 基于布魯姆過濾器的數(shù)據(jù)塊快速比較系統(tǒng)。
本發(fā)明的技術(shù)任務(wù)是按以下方式實(shí)現(xiàn)的,包括數(shù)據(jù)塊比較接口模塊、
Bloom Filter數(shù)據(jù)塊比較模塊、數(shù)據(jù)塊査詢比較模塊、Bloom Filter元數(shù)據(jù)記錄 模塊和數(shù)據(jù)池元數(shù)據(jù)記錄模塊;數(shù)據(jù)塊比較接口模塊連接Bloom Filter數(shù)據(jù)塊 比較模塊,Bloom Filter數(shù)據(jù)塊比較模塊連接數(shù)據(jù)塊查詢比較模塊、Bloom Filter
元數(shù)據(jù)記錄模塊和數(shù)據(jù)池元數(shù)據(jù)記錄模塊,數(shù)據(jù)塊查詢比較模塊連接數(shù)據(jù)池元 數(shù)據(jù)記錄模塊。
數(shù)據(jù)塊比較接口模塊提供數(shù)據(jù)塊比較的訪問接口 ,將傳入的待比較的數(shù)據(jù) 塊生成數(shù)據(jù)塊標(biāo)識(shí),并將數(shù)據(jù)塊標(biāo)識(shí)傳入Bloom Filter數(shù)據(jù)比較模塊;Bloom Filter數(shù)據(jù)塊比較模塊負(fù)責(zé)利用Bloom Filter進(jìn)行數(shù)據(jù)塊的比較,可調(diào)用Bloom Filter元數(shù)據(jù)記錄模塊,查詢相應(yīng)的Bloom Filter標(biāo)識(shí)是否在Bloom Filter元數(shù) 據(jù)中置位,也可調(diào)用數(shù)據(jù)池元數(shù)據(jù)記錄模塊,將數(shù)據(jù)塊標(biāo)識(shí)插入數(shù)據(jù)池元數(shù)據(jù), 還可調(diào)用數(shù)據(jù)塊査詢比較模塊,重新進(jìn)行數(shù)據(jù)塊比較;數(shù)據(jù)塊査詢比較模塊負(fù) 責(zé)利用數(shù)據(jù)塊標(biāo)識(shí)進(jìn)行數(shù)據(jù)塊的比較,可調(diào)用數(shù)據(jù)池元數(shù)據(jù)記錄模塊,查詢數(shù) 據(jù)塊標(biāo)識(shí)是否存在于數(shù)據(jù)池元數(shù)據(jù)中;Bloom Filter元數(shù)據(jù)記錄模塊以數(shù)據(jù)位 的形式存儲(chǔ)數(shù)據(jù)池中各數(shù)據(jù)塊的Bloom Filter標(biāo)識(shí),提供Bloom Filter標(biāo)識(shí)的 查詢、添加與刪除接口;數(shù)據(jù)池元數(shù)據(jù)記錄模塊存儲(chǔ)數(shù)據(jù)池中各數(shù)據(jù)塊的數(shù)據(jù) 塊標(biāo)識(shí),提供數(shù)據(jù)塊標(biāo)識(shí)的査詢、添加與刪除接口。
利用Bloom Filter進(jìn)行待比較數(shù)據(jù)塊與數(shù)據(jù)池中所有數(shù)據(jù)塊的快速比較, 將大量的査詢比較操作替換為計(jì)算操作,在數(shù)據(jù)塊Bloom Filter標(biāo)識(shí)在Bloom Filter元數(shù)據(jù)中置位的情況下,需要利用査詢方式重新對(duì)數(shù)據(jù)塊進(jìn)行比較。
數(shù)據(jù)塊比較流程為
(1) 、數(shù)據(jù)塊比較接口模塊提供數(shù)據(jù)塊比較的訪問接口,將傳入的待比較 的數(shù)據(jù)塊生成數(shù)據(jù)塊的唯一 HASH散列,作為數(shù)據(jù)塊標(biāo)識(shí);
(2) 、數(shù)據(jù)塊比較接口模塊將數(shù)據(jù)塊標(biāo)識(shí)傳入Bloom Filter數(shù)據(jù)比較模塊,Bloom Filter數(shù)據(jù)比較模塊通過使用多個(gè)HASH函數(shù),生成數(shù)據(jù)塊的多個(gè)HASH 散列,作為數(shù)據(jù)塊的Bloom Filter標(biāo)識(shí);
(3) 、 Bloom Filter數(shù)據(jù)塊比較模塊調(diào)用Bloom Filter元數(shù)據(jù)記錄模塊的接 口 ,査詢相應(yīng)的Bloom Filter標(biāo)識(shí)是否己在Bloom Filter元數(shù)據(jù)中置位;
(4) 、如果未在Bloom Filter元數(shù)據(jù)置位,則表明數(shù)據(jù)塊不存在于數(shù)據(jù)池 中,則將Bloom Filter標(biāo)識(shí)在Bloom Filter元數(shù)據(jù)記錄模塊中置位,并調(diào)用數(shù) 據(jù)池元數(shù)據(jù)記錄模塊的接口,將數(shù)據(jù)塊標(biāo)識(shí)插入數(shù)據(jù)池元數(shù)據(jù),并返回?cái)?shù)據(jù)塊 不存在;
(5) 、若已在Bloom Filter元數(shù)據(jù)中置位,則調(diào)用數(shù)據(jù)塊査詢比較模塊, 重新進(jìn)行數(shù)據(jù)塊比較;
(6) 、數(shù)據(jù)塊查詢比較模塊利用數(shù)據(jù)塊標(biāo)識(shí)進(jìn)行數(shù)據(jù)塊比較,數(shù)據(jù)塊査詢 比較模塊調(diào)用數(shù)據(jù)池元數(shù)據(jù)記錄模塊的接口 ,查詢數(shù)據(jù)塊標(biāo)識(shí)是否存在于數(shù)據(jù) 池元數(shù)據(jù)中,若不存在,則將數(shù)據(jù)塊標(biāo)識(shí)插入數(shù)據(jù)池元數(shù)據(jù)記錄模塊中,并返 回?cái)?shù)據(jù)塊不存在,若存在,則返回?cái)?shù)據(jù)塊存在。
本發(fā)明的一種基于布魯姆過濾器的數(shù)據(jù)塊快速比較系統(tǒng)具有以下優(yōu)點(diǎn)
(1) 、基于Bloom Filter的數(shù)據(jù)塊快速比較技術(shù),用于重復(fù)數(shù)據(jù)刪除系統(tǒng) 中,利用Bloom Filter査詢一個(gè)數(shù)據(jù)塊是否存在于包含大量數(shù)據(jù)塊的數(shù)據(jù)池中, 將大量的査詢比較操作替換為計(jì)算操作;
(2) 、使數(shù)據(jù)塊的比較性能獨(dú)立于數(shù)據(jù)池的規(guī)模,可以有效的降低系統(tǒng)的 數(shù)據(jù)塊的比較負(fù)載,減少數(shù)據(jù)塊比較時(shí)間,極大的提高了數(shù)據(jù)塊的比較效率;
(3) 、能夠提高重復(fù)數(shù)據(jù)刪除系統(tǒng)的運(yùn)行效率,降低系統(tǒng)中數(shù)據(jù)塊比較的 開銷,提升整個(gè)系統(tǒng)的性能。
下面結(jié)合附圖對(duì)本發(fā)明進(jìn)一步說明。
附圖1為一種基于布魯姆過濾器的數(shù)據(jù)塊快速比較系統(tǒng)的結(jié)構(gòu)框圖; 附圖2為一種基于布魯姆過濾器的數(shù)據(jù)塊快速比較系統(tǒng)的流程圖。
具體實(shí)施例方式
參照說明書附圖和具體實(shí)施例對(duì)本發(fā)明的一種基于布魯姆過濾器的數(shù)據(jù) 塊快速比較系統(tǒng)作以下詳細(xì)地說明。 實(shí)施例
如圖1所示,本發(fā)明的一種基于布魯姆過濾器的數(shù)據(jù)塊快速比較系統(tǒng),其 結(jié)構(gòu)包括數(shù)據(jù)塊比較接口模塊、Bloom Filter數(shù)據(jù)塊比較模塊、數(shù)據(jù)塊査詢比 較模塊、Bloom Filter元數(shù)據(jù)記錄模塊和數(shù)據(jù)池元數(shù)據(jù)記錄模塊;數(shù)據(jù)塊比較 接口模塊連接Bloom Filter數(shù)據(jù)塊比較模塊,Bloom Filter數(shù)據(jù)塊比較模塊連接 數(shù)據(jù)塊査詢比較模塊、Bloom Filter元數(shù)據(jù)記錄模塊和數(shù)據(jù)池元數(shù)據(jù)記錄模塊, 數(shù)據(jù)塊查詢比較模塊連接數(shù)據(jù)池元數(shù)據(jù)記錄模塊。
數(shù)據(jù)塊比較接口模塊提供數(shù)據(jù)塊比較的訪問接口 ,將傳入的待比較的數(shù)據(jù) 塊生成數(shù)據(jù)塊標(biāo)識(shí),并將數(shù)據(jù)塊標(biāo)識(shí)傳入Bloom Filter數(shù)據(jù)比較模塊;Bloom Filter數(shù)據(jù)塊比較模塊負(fù)責(zé)利用Bloom Filter進(jìn)行數(shù)據(jù)塊的比較,可調(diào)用Bloom Filter元數(shù)據(jù)記錄模塊,査詢相應(yīng)的Bloom Filter標(biāo)識(shí)是否在Bloom Filter元數(shù) 據(jù)中置位,也可調(diào)用數(shù)據(jù)池元數(shù)據(jù)記錄模塊,將數(shù)據(jù)塊標(biāo)識(shí)插入數(shù)據(jù)池元數(shù)據(jù), 還可調(diào)用數(shù)據(jù)塊査詢比較模塊,重新進(jìn)行數(shù)據(jù)塊比較;數(shù)據(jù)塊查詢比較模塊負(fù) 責(zé)利用數(shù)據(jù)塊標(biāo)識(shí)進(jìn)行數(shù)據(jù)塊的比較,可調(diào)用數(shù)據(jù)池元數(shù)據(jù)記錄模塊,査詢數(shù) 據(jù)塊標(biāo)識(shí)是否存在于數(shù)據(jù)池元數(shù)據(jù)中;Bloom Filter元數(shù)據(jù)記錄模塊以數(shù)據(jù)位 的形式存儲(chǔ)數(shù)據(jù)池中各數(shù)據(jù)塊的Bloom Filter標(biāo)識(shí),提供Bloom Filter標(biāo)識(shí)的 査詢、添加與刪除接口;數(shù)據(jù)池元數(shù)據(jù)記錄模塊存儲(chǔ)數(shù)據(jù)池中各數(shù)據(jù)塊的數(shù)據(jù) 塊標(biāo)識(shí),提供數(shù)據(jù)塊標(biāo)識(shí)的査詢、添加與刪除接口。
利用Bloom Filter進(jìn)行待比較數(shù)據(jù)塊與數(shù)據(jù)池中所有數(shù)據(jù)塊的快速比較, 將大量的査詢比較操作替換為計(jì)算操作,在數(shù)據(jù)塊Bloom Filter標(biāo)識(shí)在Bloom Filter元數(shù)據(jù)中置位的情況下,需要利用査詢方式重新對(duì)數(shù)據(jù)塊進(jìn)行比較。
如圖2所示,數(shù)據(jù)塊比較流程為 (1)、數(shù)據(jù)塊比較接口模塊提供數(shù)據(jù)塊比較的訪問接口,將傳入的待比較的數(shù)據(jù)塊生成數(shù)據(jù)塊的唯一 HASH散列,作為數(shù)據(jù)塊標(biāo)識(shí);
(2) 、數(shù)據(jù)塊比較接口模塊將數(shù)據(jù)塊標(biāo)識(shí)傳入Bloom Filter數(shù)據(jù)比較模塊, Bloom Filter數(shù)據(jù)比較模塊通過使用多個(gè)HASH函數(shù),生成數(shù)據(jù)塊的多個(gè)HASH 散列,作為數(shù)據(jù)塊的Bloom Filter標(biāo)識(shí);
(3) 、 Bloom Filter數(shù)據(jù)塊比較模塊調(diào)用Bloom Filter元數(shù)據(jù)記錄模塊的接 口 ,査詢相應(yīng)的Bloom Filter標(biāo)識(shí)是否已在Bloom Filter元數(shù)據(jù)中置位;
(4) 、如果未在Bloom Filter元數(shù)據(jù)置位,則表明數(shù)據(jù)塊不存在于數(shù)據(jù)池 中,則將Bloom Filter標(biāo)識(shí)在Bloom Filter元數(shù)據(jù)記錄模塊中置位,并調(diào)用數(shù) 據(jù)池元數(shù)據(jù)記錄模塊的接口,將數(shù)據(jù)塊標(biāo)識(shí)插入數(shù)據(jù)池元數(shù)據(jù),并返回?cái)?shù)據(jù)塊 不存在;
(5) 、若已在Bloom Filter元數(shù)據(jù)中置位,則調(diào)用數(shù)據(jù)塊査詢比較模塊, 重新進(jìn)行數(shù)據(jù)塊比較;
(6) 、數(shù)據(jù)塊査詢比較模塊利用數(shù)據(jù)塊標(biāo)識(shí)進(jìn)行數(shù)據(jù)塊比較,數(shù)據(jù)塊査詢 比較模塊調(diào)用數(shù)據(jù)池元數(shù)據(jù)記錄模塊的接口 ,査詢數(shù)據(jù)塊標(biāo)識(shí)是否存在于數(shù)據(jù) 池元數(shù)據(jù)中,若不存在,則將數(shù)據(jù)塊標(biāo)識(shí)插入數(shù)據(jù)池元數(shù)據(jù)記錄模塊中,并返 回?cái)?shù)據(jù)塊不存在,若存在,則返回?cái)?shù)據(jù)塊存在。
除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
權(quán)利要求
1、一種基于布魯姆過濾器的數(shù)據(jù)塊快速比較系統(tǒng),其特征在于包括數(shù)據(jù)塊比較接口模塊、Bloom Filter數(shù)據(jù)塊比較模塊、數(shù)據(jù)塊查詢比較模塊、BloomFilter元數(shù)據(jù)記錄模塊和數(shù)據(jù)池元數(shù)據(jù)記錄模塊;數(shù)據(jù)塊比較接口模塊連接Bloom Filter數(shù)據(jù)塊比較模塊,Bloom Filter數(shù)據(jù)塊比較模塊連接數(shù)據(jù)塊查詢比較模塊、Bloom Filter元數(shù)據(jù)記錄模塊和數(shù)據(jù)池元數(shù)據(jù)記錄模塊,數(shù)據(jù)塊查詢比較模塊連接數(shù)據(jù)池元數(shù)據(jù)記錄模塊。
2、 根據(jù)權(quán)利要求1所述的一種基于布魯姆過濾器的數(shù)據(jù)塊快速比較系統(tǒng), 其特征在于數(shù)據(jù)塊比較接口模塊提供數(shù)據(jù)塊比較的訪問接口 ,將傳入的待比較 的數(shù)據(jù)塊生成數(shù)據(jù)塊標(biāo)識(shí),并將數(shù)據(jù)塊標(biāo)識(shí)傳入Bloom Filter數(shù)據(jù)比較模塊; Bloom Filter數(shù)據(jù)塊比較模塊負(fù)責(zé)利用Bloom Filter進(jìn)行數(shù)據(jù)塊的比較,可調(diào)用 Bloom Filter元數(shù)據(jù)記錄模塊,査詢相應(yīng)的Bloom Filter標(biāo)識(shí)是否在Bloom Filter 元數(shù)據(jù)中置位,也可調(diào)用數(shù)據(jù)池元數(shù)據(jù)記錄模塊,將數(shù)據(jù)塊標(biāo)識(shí)插入數(shù)據(jù)池元 數(shù)據(jù),還可調(diào)用數(shù)據(jù)塊査詢比較模塊,重新進(jìn)行數(shù)據(jù)塊比較;數(shù)據(jù)塊査詢比較 模塊負(fù)責(zé)利用數(shù)據(jù)塊標(biāo)識(shí)進(jìn)行數(shù)據(jù)塊的比較,可調(diào)用數(shù)據(jù)池元數(shù)據(jù)記錄模塊, 査詢數(shù)據(jù)塊標(biāo)識(shí)是否存在于數(shù)據(jù)池元數(shù)據(jù)中;Bloom Filter元數(shù)據(jù)記錄模塊以 數(shù)據(jù)位的形式存儲(chǔ)數(shù)據(jù)池中各數(shù)據(jù)塊的Bloom Filter標(biāo)識(shí),提供Bloom Filter 標(biāo)識(shí)的查詢、添加與刪除接口;數(shù)據(jù)池元數(shù)據(jù)記錄模塊存儲(chǔ)數(shù)據(jù)池中各數(shù)據(jù)塊 的數(shù)據(jù)塊標(biāo)識(shí),提供數(shù)據(jù)塊標(biāo)識(shí)的査詢、添加與刪除接口。
3、 根據(jù)權(quán)利要求1所述的一種基于布魯姆過濾器的數(shù)據(jù)塊快速比較系統(tǒng), 其特征在于利用Bloom Filter進(jìn)行待比較數(shù)據(jù)塊與數(shù)據(jù)池中所有數(shù)據(jù)塊的快速 比較,將大量的査詢比較操作替換為計(jì)算操作,在數(shù)據(jù)塊Bloom Filter標(biāo)識(shí)在 Bloom Filter元數(shù)據(jù)中置位的情況下,需要利用査詢方式重新對(duì)數(shù)據(jù)塊進(jìn)行比4-上較。
4、 根據(jù)權(quán)利要求1、 2或3所述的一種基于布魯姆過濾器的數(shù)據(jù)塊快速比較系統(tǒng),其特征在于數(shù)據(jù)塊比較流程為(1) 、數(shù)據(jù)塊比較接口模塊提供數(shù)據(jù)塊比較的訪問接口,將傳入的待比較 的數(shù)據(jù)塊生成數(shù)據(jù)塊的唯一 HASH散列,作為數(shù)據(jù)塊標(biāo)識(shí);(2) 、數(shù)據(jù)塊比較接口模塊將數(shù)據(jù)塊標(biāo)識(shí)傳入Bloom Filter數(shù)據(jù)比較模塊, Bloom Filter數(shù)據(jù)比較模塊通過使用多個(gè)HASH函數(shù),生成數(shù)據(jù)塊的多個(gè)HASH 散列,作為數(shù)據(jù)塊的Bloom Filter標(biāo)識(shí);(3) 、 Bloom Filter數(shù)據(jù)塊比較模塊調(diào)用Bloom Filter元數(shù)據(jù)記錄模塊的接 口 ,査詢相應(yīng)的Bloom Filter標(biāo)識(shí)是否已在Bbom Filter元數(shù)據(jù)中置位;(4) 、如果未在Bloom Filter元數(shù)據(jù)置位,則表明數(shù)據(jù)塊不存在于數(shù)據(jù)池 中,則將Bkwm Filter標(biāo)識(shí)在Bloom Filter元數(shù)據(jù)記錄模塊中置位,并調(diào)用數(shù) 據(jù)池元數(shù)據(jù)記錄模塊的接口,將數(shù)據(jù)塊標(biāo)識(shí)插入數(shù)據(jù)池元數(shù)據(jù),并返回?cái)?shù)據(jù)塊 不存在;(5) 、若已在Bloom Filter元數(shù)據(jù)中置位,則調(diào)用數(shù)據(jù)塊查詢比較模塊, 重新進(jìn)行數(shù)據(jù)塊比較;(6) 、數(shù)據(jù)塊查詢比較模塊利用數(shù)據(jù)塊標(biāo)識(shí)進(jìn)行數(shù)據(jù)塊比較,數(shù)據(jù)塊査詢 比較模塊調(diào)用數(shù)據(jù)池元數(shù)據(jù)記錄模塊的接口 ,查詢數(shù)據(jù)塊標(biāo)識(shí)是否存在于數(shù)據(jù) 池元數(shù)據(jù)中,若不存在,則將數(shù)據(jù)塊標(biāo)識(shí)插入數(shù)據(jù)池元數(shù)據(jù)記錄模塊中,并返 回?cái)?shù)據(jù)塊不存在,若存在,則返回?cái)?shù)據(jù)塊存在。
全文摘要
本發(fā)明公開了一種基于布魯姆過濾器的數(shù)據(jù)塊快速比較系統(tǒng),屬于一種數(shù)據(jù)塊快速比較技術(shù),其結(jié)構(gòu)包括數(shù)據(jù)塊比較接口模塊、Bloom Filter數(shù)據(jù)塊比較模塊、數(shù)據(jù)塊查詢比較模塊、Bloom Filter元數(shù)據(jù)記錄模塊和數(shù)據(jù)池元數(shù)據(jù)記錄模塊;本發(fā)明的一種基于布魯姆過濾器的數(shù)據(jù)塊快速比較系統(tǒng)用于重復(fù)數(shù)據(jù)刪除系統(tǒng)中,利用Bloom Filter查詢一個(gè)數(shù)據(jù)塊是否存在于包含大量數(shù)據(jù)塊的數(shù)據(jù)池中,將大量的查詢比較操作替換為計(jì)算操作,使數(shù)據(jù)塊的比較時(shí)間與數(shù)據(jù)池的規(guī)模無關(guān),有效的解決了在數(shù)據(jù)池規(guī)模較大的情況下,數(shù)據(jù)塊比較時(shí)間過長(zhǎng)的問題,從而提高了重復(fù)數(shù)據(jù)刪除系統(tǒng)的性能和運(yùn)行效率。
文檔編號(hào)G06F17/30GK101609449SQ200910016220
公開日2009年12月23日 申請(qǐng)日期2009年6月16日 優(yōu)先權(quán)日2009年6月16日
發(fā)明者王文方 申請(qǐng)人:浪潮電子信息產(chǎn)業(yè)股份有限公司