專利名稱:一種持續(xù)數(shù)據(jù)保護(hù)方法及服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種持續(xù)數(shù)據(jù)保護(hù)方法及服務(wù)器。
背景技術(shù):
數(shù)據(jù)的快速增長及數(shù)據(jù)的高可用性、安全性的要求刺激了存儲(chǔ)技術(shù)的發(fā)展,存 儲(chǔ)技術(shù)己成為IT基礎(chǔ)架構(gòu)的一個(gè)關(guān)鍵因素,存儲(chǔ)網(wǎng)絡(luò)為海量存儲(chǔ)數(shù)據(jù)和共享數(shù)據(jù)提供了 一個(gè)有效的硬件基礎(chǔ)。面對(duì)海量數(shù)據(jù),數(shù)據(jù)的保護(hù)和災(zāi)難恢復(fù)也越來越重要,而原有的 數(shù)據(jù)保護(hù)方法,如磁帶備份,存在備份窗口大、恢復(fù)時(shí)間長、實(shí)時(shí)響應(yīng)差、影響正常業(yè) 務(wù)等弊端,已經(jīng)無法滿足當(dāng)前的需求。使用磁盤的在線復(fù)制和數(shù)據(jù)冗余成為流行的數(shù)據(jù) 保護(hù)技術(shù)。連續(xù)數(shù)據(jù)保護(hù)(Continuous Data Protection,CDP)是一種在不影響主要數(shù)據(jù)運(yùn)行
的前提下,可以實(shí)現(xiàn)持續(xù)捕捉或跟蹤目標(biāo)數(shù)據(jù)所發(fā)生的任何改變,并且能夠恢復(fù)到此前 任意時(shí)間點(diǎn)的方法。連續(xù)數(shù)據(jù)保護(hù)方法可以保護(hù)從某時(shí)刻開始的卷或者文件在此后的任 意時(shí)刻的數(shù)據(jù)狀態(tài),也就是數(shù)據(jù)的每次改變,都會(huì)被無一遺漏地記錄下來。與傳統(tǒng)的災(zāi)難恢復(fù)技術(shù)相比,持續(xù)數(shù)據(jù)保護(hù)技術(shù)具有明顯的優(yōu)點(diǎn)首先,提高 了數(shù)據(jù)信息系統(tǒng)的恢復(fù)時(shí)間目標(biāo)(Recovery Time Object,簡稱RTO),傳統(tǒng)備份技術(shù)保護(hù) 數(shù)據(jù)的時(shí)間間隔從幾天到幾周不等,當(dāng)發(fā)生災(zāi)難時(shí),用戶面臨著幾天到幾周內(nèi)數(shù)據(jù)的損 失,快照技術(shù)可將數(shù)據(jù)的損失量降低到幾個(gè)小時(shí)以內(nèi),而CDP技術(shù)則可將數(shù)據(jù)的損失量 降低到幾分鐘到幾秒,甚至完全避免數(shù)據(jù)的損失。其次,可以避免由于人為的邏輯錯(cuò)誤 或病毒攻擊所造成的數(shù)據(jù)損失,在用戶數(shù)據(jù)遭到破壞時(shí),傳統(tǒng)的備份和復(fù)制技術(shù)將使用 錯(cuò)誤的數(shù)據(jù)覆蓋以前的備份數(shù)據(jù),造成用戶數(shù)據(jù)的永久丟失,而技術(shù)則可以將數(shù)據(jù)恢復(fù) 到被破壞前的任意時(shí)間點(diǎn),避免了數(shù)據(jù)損失的風(fēng)險(xiǎn)。最后,CDP技術(shù)的恢復(fù)時(shí)間及恢復(fù) 粒度更細(xì),功能較強(qiáng)的CDP產(chǎn)品甚至支持單個(gè)I/O的恢復(fù),這在很大程度上方便了用戶 的使用,并最終有可能替代當(dāng)前主要的備份和恢復(fù)技術(shù)。楊慶等提出一種連續(xù)數(shù)據(jù)保護(hù)和恢復(fù)方法,見Qing Yang,Weijun Xiao and Jin Ren. “ TRAP-Array A Disk Array Architecture Providing Timely Recovery to Any Point-in-time,,,In Proceedings of ISCA The 33rd Annual International Symposium on Computer Architecture,Boston, USA, 2006。但是這種連續(xù)數(shù)據(jù)保護(hù)數(shù)據(jù)方式,存在隨
著數(shù)據(jù)的增多特別是保護(hù)PB級(jí)海量數(shù)據(jù)的時(shí)候數(shù)據(jù)的插入和恢復(fù)時(shí)間過長問題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是,提供一種持續(xù)數(shù)據(jù)保護(hù)方法及服務(wù)器,能夠合理 管理日志數(shù)據(jù),實(shí)現(xiàn)快速查找和數(shù)據(jù)恢復(fù)。為了解決上述技術(shù)問題,本發(fā)明提出一種持續(xù)數(shù)據(jù)保護(hù)方法,包括服務(wù)器接收客戶端的日志數(shù)據(jù),將其按照數(shù)據(jù)塊存儲(chǔ),當(dāng)前數(shù)據(jù)塊寫滿后,將 當(dāng)前數(shù)據(jù)塊指向另一有可用存儲(chǔ)空間的數(shù)據(jù)塊,在所述另一數(shù)據(jù)塊中繼續(xù)寫入;根據(jù)所述數(shù)據(jù)塊的塊號(hào)建立并維護(hù)一級(jí)索引,根據(jù)各數(shù)據(jù)塊中的日志數(shù)據(jù)的時(shí)間點(diǎn),建立并維 護(hù)二級(jí)索引;以及在進(jìn)行數(shù)據(jù)恢復(fù)時(shí),根據(jù)所述一級(jí)索引和所述二級(jí)索引查找日志數(shù) 據(jù)。進(jìn)一步地,上述方法還可具有以下特點(diǎn)所述服務(wù)器還根據(jù)在數(shù)據(jù)塊中寫入的數(shù)據(jù)的類型,在數(shù)據(jù)塊中寫入數(shù)據(jù)類型信 息,所述數(shù)據(jù)類型信息包括日志數(shù)據(jù)類型、第一索引類型、第二索引類型;所述服務(wù)器還按照數(shù)據(jù)塊存儲(chǔ)所述第一索引和所述第二索引,當(dāng)前數(shù)據(jù)塊寫滿 后,將當(dāng)前數(shù)據(jù)塊指向另一有可用存儲(chǔ)空間的數(shù)據(jù)塊,在所述另一數(shù)據(jù)塊中繼續(xù)寫入;所述當(dāng)前數(shù)據(jù)塊與所述另一數(shù)據(jù)塊中封裝的數(shù)據(jù)類型信息相同。進(jìn)一步地,上述方法還可具有以下特點(diǎn)所述服務(wù)器在存儲(chǔ)所述日志數(shù)據(jù)時(shí),和/或在存儲(chǔ)所述第二索引時(shí),如果當(dāng)前 數(shù)據(jù)塊寫滿后,先查找使用過的且存儲(chǔ)有相同數(shù)據(jù)類型信息的數(shù)據(jù)塊中是否有可用存儲(chǔ) 空間,如果有,則將當(dāng)前數(shù)據(jù)塊指向所述查找到的數(shù)據(jù)塊,如果沒有,則將當(dāng)前數(shù)據(jù)塊 指向一個(gè)新的數(shù)據(jù)塊。進(jìn)一步地,上述方法還可具有以下特點(diǎn)所述服務(wù)器在查找日志數(shù)據(jù)時(shí),是先使用哈希算法在所述一級(jí)索引中查找,再 使用B樹算法在所述二級(jí)索引中查找。進(jìn)一步地,上述方法還可具有以下特點(diǎn)所述服務(wù)器通過在所述數(shù)據(jù)塊中寫入下一數(shù)據(jù)塊的地址信息,以將當(dāng)前數(shù)據(jù)塊 指向另一數(shù)據(jù)塊;所述服務(wù)器還在所述數(shù)據(jù)塊中建立并維護(hù)空閑空間位圖,指示所述數(shù)據(jù)塊存儲(chǔ) 空間的空閑狀態(tài)。為了解決上述技術(shù)問題,本發(fā)明還提出一種持續(xù)數(shù)據(jù)保護(hù)服務(wù)器,包括存儲(chǔ)處理模塊,用于接收客戶端的日志數(shù)據(jù),將其按照數(shù)據(jù)塊存儲(chǔ),當(dāng)前數(shù)據(jù) 塊寫滿后,將當(dāng)前數(shù)據(jù)塊指向另一有可用存儲(chǔ)空間的數(shù)據(jù)塊,在所述另一數(shù)據(jù)塊中繼續(xù) 寫入;查找處理模塊,用于根據(jù)所述數(shù)據(jù)塊的塊號(hào)建立并維護(hù)一級(jí)索引,根據(jù)各數(shù)據(jù) 塊中的日志數(shù)據(jù)的時(shí)間點(diǎn),建立并維護(hù)二級(jí)索引;以及在進(jìn)行數(shù)據(jù)恢復(fù)時(shí),根據(jù)所述一 級(jí)索引和所述二級(jí)索引查找日志數(shù)據(jù)。進(jìn)一步地,上述服務(wù)器還可具有以下特點(diǎn)所述存儲(chǔ)處理模塊,還根據(jù)在數(shù)據(jù)塊中寫入的數(shù)據(jù)的類型,在數(shù)據(jù)塊中寫入數(shù) 據(jù)類型信息,所述數(shù)據(jù)類型信息包括日志數(shù)據(jù)類型、第一索引類型、第二索引類型;所述存儲(chǔ)處理模塊,還按照數(shù)據(jù)塊存儲(chǔ)所述第一索引和所述第二索引,當(dāng)前數(shù) 據(jù)塊寫滿后,將當(dāng)前數(shù)據(jù)塊指向另一有可用存儲(chǔ)空間的數(shù)據(jù)塊,在所述另一數(shù)據(jù)塊中繼 續(xù)寫入;其中,所述當(dāng)前數(shù)據(jù)塊與所述另一數(shù)據(jù)塊中封裝的數(shù)據(jù)類型信息相同。進(jìn)一步地,上述服務(wù)器還可具有以下特點(diǎn)所述存儲(chǔ)處理模塊,在存儲(chǔ)所述日志數(shù)據(jù)時(shí),和/或在存儲(chǔ)所述第二索引時(shí), 如果當(dāng)前數(shù)據(jù)塊寫滿后,先查找使用過的且存儲(chǔ)有相同數(shù)據(jù)類型信息的數(shù)據(jù)塊中是否有可用存儲(chǔ)空間,如果有,則將當(dāng)前數(shù)據(jù)塊指向所述查找到的數(shù)據(jù)塊,如果沒有,則將當(dāng) 前數(shù)據(jù)塊指向一個(gè)新的數(shù)據(jù)塊。進(jìn)一步地,上述服務(wù)器還可具有以下特點(diǎn)所述查找處理模塊,在查找日志數(shù)據(jù)時(shí),先使用哈希算法在所述一級(jí)索引中查 找,再使用B樹算法在所述二級(jí)索引中查找。進(jìn)一步地,上述服務(wù)器還可具有以下特點(diǎn)所述存儲(chǔ)處理模塊,通過在所述數(shù)據(jù)塊中寫入下一數(shù)據(jù)塊的地址信息,以將當(dāng) 前數(shù)據(jù)塊指向另一數(shù)據(jù)塊;所述存儲(chǔ)處理模塊,還在所述數(shù)據(jù)塊中建立并維護(hù)空閑空間位圖,指示所述數(shù) 據(jù)塊存儲(chǔ)空間的空閑狀態(tài)。本發(fā)明提供的一種持續(xù)數(shù)據(jù)保護(hù)方法及服務(wù)器,能夠合理管理日志數(shù)據(jù),實(shí)現(xiàn) 快速查找和數(shù)據(jù)恢復(fù),開銷低、系統(tǒng)性能影響小的優(yōu)點(diǎn),可靠性更高。
圖1是本發(fā)明實(shí)施例一種持續(xù)數(shù)據(jù)保護(hù)方法流程圖;圖2是本發(fā)明實(shí)施例兩級(jí)索引結(jié)構(gòu)示意圖;圖3是本發(fā)明實(shí)施例日志數(shù)據(jù)塊的結(jié)構(gòu)示意圖;圖4是本發(fā)明實(shí)施例第一索引數(shù)據(jù)塊的結(jié)構(gòu)示意圖;圖5是本發(fā)明實(shí)施例第二索引數(shù)據(jù)塊的結(jié)構(gòu)示意圖;圖6是本發(fā)明實(shí)施例一種持續(xù)數(shù)據(jù)保護(hù)服務(wù)器方框圖。
具體實(shí)施例方式下面將結(jié)合附圖來詳細(xì)說明本發(fā)明實(shí)施方案。參見圖1,該圖示出了本發(fā)明實(shí)施例一種持續(xù)數(shù)據(jù)保護(hù)方法,包括步驟步驟SlOl 服務(wù)器接收客戶端的日志數(shù)據(jù),將其按照數(shù)據(jù)塊存儲(chǔ),當(dāng)前數(shù)據(jù)塊 寫滿后,將當(dāng)前數(shù)據(jù)塊指向另一有可用存儲(chǔ)空間的數(shù)據(jù)塊,在所述另一數(shù)據(jù)塊中繼續(xù)寫 入;步驟S102:所述服務(wù)器根據(jù)所述數(shù)據(jù)塊的塊號(hào)建立并維護(hù)一級(jí)索引,根據(jù)各數(shù) 據(jù)塊中的日志數(shù)據(jù)的時(shí)間點(diǎn),建立并維護(hù)二級(jí)索引;步驟S103:所述服務(wù)器在進(jìn)行數(shù)據(jù)恢復(fù)時(shí),根據(jù)所述一級(jí)索引和所述二級(jí)索引 查找日志數(shù)據(jù)。本發(fā)明實(shí)施例提出以數(shù)據(jù)塊為單位存儲(chǔ)日志數(shù)據(jù),并通過建立數(shù)據(jù)塊之間的關(guān) 聯(lián)關(guān)系,確保數(shù)據(jù)存儲(chǔ)連續(xù)性,這種做法巧妙地?cái)[脫了存儲(chǔ)位置上的制約,能夠方便地 實(shí)現(xiàn)磁盤空間的擴(kuò)展,易于數(shù)據(jù)的管理維護(hù)。另外,通過建立兩級(jí)索引,能夠?qū)崿F(xiàn)快速 查找,提高了數(shù)據(jù)恢復(fù)的效率。在執(zhí)行步驟SlOl時(shí),考慮到數(shù)據(jù)刪除將會(huì)造成數(shù)據(jù)塊中還存在空閑空間,為 了優(yōu)化磁盤空間,有效利用這些空閑空間,較佳地,所述服務(wù)器可以在當(dāng)前數(shù)據(jù)塊寫滿 后,先查找使用過的且存儲(chǔ)有相同數(shù)據(jù)類型信息的數(shù)據(jù)塊中是否有可用存儲(chǔ)空間,如果 有,則將當(dāng)前數(shù)據(jù)塊指向所述查找到的數(shù)據(jù)塊,如果沒有,則將當(dāng)前數(shù)據(jù)塊指向一個(gè)新的數(shù)據(jù)塊。例如,可以對(duì)數(shù)據(jù)塊進(jìn)行編號(hào),按照從小到大的順序使用,在當(dāng)前數(shù)據(jù)塊10 寫滿后,先查找之前使用過的數(shù)據(jù)塊1至9,如果發(fā)現(xiàn)其中一個(gè)數(shù)據(jù)塊未寫滿,則優(yōu)先將 數(shù)據(jù)寫入該未寫滿的數(shù)據(jù)塊中,如果數(shù)據(jù)塊1至9均已寫滿,則使用一個(gè)新的數(shù)據(jù)塊11, 開始寫入。在執(zhí)行步驟S103時(shí),建立的兩級(jí)索引結(jié)構(gòu)如圖2所示。為了實(shí)現(xiàn)快速查找,較 佳地,所述服務(wù)器可以先使用哈希算法在所述一級(jí)索引中查找,再使用B樹算法在所述 二級(jí)索引中查找。為了增加索引的可擴(kuò)展性,較佳地,所述服務(wù)器還按照數(shù)據(jù)塊存儲(chǔ)所述第一索 引和所述第二索引,當(dāng)前數(shù)據(jù)塊寫滿后,將當(dāng)前數(shù)據(jù)塊指向另一有可用存儲(chǔ)空間的數(shù)據(jù) 塊,在所述另一數(shù)據(jù)塊中繼續(xù)寫入。為了與日志數(shù)據(jù)區(qū)分開,所述服務(wù)器需根據(jù)在數(shù)據(jù) 塊中寫入的數(shù)據(jù)的類型,在數(shù)據(jù)塊中寫入數(shù)據(jù)類型信息,所述數(shù)據(jù)類型信息包括日志 數(shù)據(jù)類型、第一索引類型、第二索引類型。在存儲(chǔ)日志數(shù)據(jù),或者存儲(chǔ)索引時(shí),當(dāng)前數(shù) 據(jù)塊寫滿后,將當(dāng)前數(shù)據(jù)塊指向另一有可用存儲(chǔ)空間的數(shù)據(jù)塊時(shí),要求所述當(dāng)前數(shù)據(jù)塊 與所述另一數(shù)據(jù)塊中封裝的數(shù)據(jù)類型信息相同。這樣,第一索引,即一級(jí)目錄索引可以 指向下一個(gè)一級(jí)目錄索引,從而實(shí)現(xiàn)對(duì)一級(jí)目錄索引的擴(kuò)展。同理,第二索引,即二級(jí) 目錄索引可以指向下一個(gè)二級(jí)目錄索引,從而實(shí)現(xiàn)對(duì)二級(jí)目錄索引的擴(kuò)展。所述第一索引中存儲(chǔ)的數(shù)據(jù)為第二索引對(duì)應(yīng)的地址,由于被保護(hù)的磁盤的大小 確定后,一級(jí)索引中的表項(xiàng)就確定了。而第二索引是對(duì)數(shù)據(jù)塊中數(shù)據(jù)的索引,會(huì)隨數(shù) 據(jù)發(fā)生變動(dòng),因此,為了優(yōu)化磁盤空間,有效利用這些空閑空間,較佳地,所述服務(wù)器 可以在寫入第二索引時(shí),在當(dāng)前數(shù)據(jù)塊寫滿后,先查找使用過的且存儲(chǔ)有相同數(shù)據(jù)類型 信息的數(shù)據(jù)塊中是否有可用存儲(chǔ)空間,如果有,則將當(dāng)前數(shù)據(jù)塊指向所述查找到的數(shù)據(jù) 塊,如果沒有,再將當(dāng)前數(shù)據(jù)塊指向一個(gè)新的數(shù)據(jù)塊。從而充分利用由于數(shù)據(jù)刪除操作 導(dǎo)致的第二索引相應(yīng)刪除導(dǎo)致的空閑空間。所述服務(wù)器可以通過在所述數(shù)據(jù)塊中寫入下一數(shù)據(jù)塊的地址信息,以將當(dāng)前數(shù) 據(jù)塊指向另一數(shù)據(jù)塊。所述服務(wù)器還可以在所述數(shù)據(jù)塊中建立并維護(hù)空閑空間位圖,指 示所述數(shù)據(jù)塊存儲(chǔ)空間的空閑狀態(tài)。采用上述方法實(shí)現(xiàn)的日志存儲(chǔ)格式、第一索引存儲(chǔ)格式以及第二索引存儲(chǔ)格式 依次參見圖3、4、5。在執(zhí)行步驟S103時(shí),所述服務(wù)器還建立虛擬磁盤,在進(jìn)行數(shù)據(jù)恢復(fù)時(shí),查找日 志數(shù)據(jù),如果能夠查找到對(duì)應(yīng)時(shí)間點(diǎn)的日志數(shù)據(jù),則將其保存至所述虛擬磁盤中,如果 不能夠查找到對(duì)應(yīng)時(shí)間點(diǎn)的日志數(shù)據(jù),則查找距離所述對(duì)應(yīng)時(shí)間點(diǎn)最近的日志數(shù)據(jù),將 其保存至所述虛擬磁盤中。虛擬磁盤本質(zhì)上為一個(gè)Linux塊設(shè)備驅(qū)動(dòng),在/dev目錄下,服務(wù)器可以通過使 用ioctl,創(chuàng)建虛擬磁盤。控制虛擬磁盤主要通過ioctl進(jìn)行設(shè)備管理,包括掛載和卸載虛 擬磁盤命令。在執(zhí)行步驟SlOl之前,還包括客戶端上傳日志數(shù)據(jù)的步驟。為了進(jìn)一步對(duì)日志 數(shù)據(jù)細(xì)化管理,方便數(shù)據(jù)恢復(fù),可以是,客戶端執(zhí)行連續(xù)數(shù)據(jù)保護(hù)任務(wù),按照原子數(shù)據(jù) 塊寫入日志數(shù)據(jù),并將所述日志數(shù)據(jù)及其描述信息發(fā)送至所述服務(wù)器,所述描述信息包 括任務(wù)標(biāo)識(shí)ID、原子數(shù)據(jù)塊號(hào)、以及日志時(shí)間點(diǎn)。在執(zhí)行步驟SlOl時(shí),所述服務(wù)器可以在所述數(shù)據(jù)塊中按照原子數(shù)據(jù)塊寫入日志數(shù)據(jù),以及寫入日志數(shù)據(jù)的描述信息;以及 在所述數(shù)據(jù)塊中建立并維護(hù)用以指示所述數(shù)據(jù)塊空閑空間狀態(tài)的空間位圖,以及在所述 數(shù)據(jù)塊中存儲(chǔ)下一數(shù)據(jù)塊的地址信息。其中,所述原子數(shù)據(jù)塊的大小可以為2K、4K、 8K、16K或32K中的一種;所述服務(wù)器按按塊存儲(chǔ)時(shí),所述數(shù)據(jù)塊的大小可以設(shè)置為, 例如1024K大小。當(dāng)然,數(shù)據(jù)塊的大小,以及原子數(shù)據(jù)塊的大小可以根據(jù)需要設(shè)置,這 里不做限制。為了進(jìn)一步保證數(shù)據(jù)存儲(chǔ)的可靠性,較佳地,所述服務(wù)器可以對(duì)于元數(shù)據(jù)采用 了一定量的冗余設(shè)計(jì),以求在丟失部分元數(shù)據(jù)的情況下,還是能讀出用戶的數(shù)據(jù)。為了 保證這一點(diǎn),可以采用塊號(hào)和時(shí)間的方式保存冗余元數(shù)據(jù)。同時(shí),對(duì)超級(jí)塊這樣的關(guān)鍵 元數(shù)據(jù)進(jìn)行備份。即使外部數(shù)據(jù)庫中信息丟失,也可以手動(dòng)指定的方式恢復(fù)。對(duì)于所有 元數(shù)據(jù)的寫入操作,采用order的方式,數(shù)據(jù)直接寫入,元數(shù)據(jù)以事務(wù)的方式寫入,以保 證數(shù)據(jù)寫入的原子性。為了實(shí)現(xiàn)上述方法,本發(fā)明實(shí)施例還提供了一種持續(xù)數(shù)據(jù)保護(hù)服務(wù)器,如圖6 所示,包括存儲(chǔ)處理模塊,用于接收客戶端的日志數(shù)據(jù),將其按照數(shù)據(jù)塊存儲(chǔ),當(dāng)前數(shù)據(jù) 塊寫滿后,將當(dāng)前數(shù)據(jù)塊指向另一有可用存儲(chǔ)空間的數(shù)據(jù)塊,在所述另一數(shù)據(jù)塊中繼續(xù)寫入。查找處理模塊,用于根據(jù)所述數(shù)據(jù)塊的塊號(hào)建立并維護(hù)一級(jí)索引,根據(jù)各數(shù)據(jù) 塊中的日志數(shù)據(jù)的時(shí)間點(diǎn),建立并維護(hù)二級(jí)索引;以及在進(jìn)行數(shù)據(jù)恢復(fù)時(shí),根據(jù)所述一 級(jí)索引和所述二級(jí)索引查找日志數(shù)據(jù)。較佳地,所述存儲(chǔ)處理模塊,還根據(jù)在數(shù)據(jù)塊中寫入的數(shù)據(jù)的類型,在數(shù)據(jù)塊 中寫入數(shù)據(jù)類型信息,所述數(shù)據(jù)類型信息包括日志數(shù)據(jù)類型、第一索引類型、第二索 引類型。所述存儲(chǔ)處理模塊,還按照數(shù)據(jù)塊存儲(chǔ)所述第一索引和所述第二索引,當(dāng)前數(shù) 據(jù)塊寫滿后,將當(dāng)前數(shù)據(jù)塊指向另一有可用存儲(chǔ)空間的數(shù)據(jù)塊,在所述另一數(shù)據(jù)塊中繼 續(xù)寫入。其中,所述當(dāng)前數(shù)據(jù)塊與所述另一數(shù)據(jù)塊中封裝的數(shù)據(jù)類型信息相同。較佳地,所述存儲(chǔ)處理模塊,在存儲(chǔ)所述日志數(shù)據(jù)時(shí),和/或在存儲(chǔ)所述第二 索引時(shí),如果當(dāng)前數(shù)據(jù)塊寫滿后,先查找使用過的且存儲(chǔ)有相同數(shù)據(jù)類型信息的數(shù)據(jù)塊 中是否有可用存儲(chǔ)空間,如果有,則將當(dāng)前數(shù)據(jù)塊指向所述查找到的數(shù)據(jù)塊,如果沒 有,則將當(dāng)前數(shù)據(jù)塊指向一個(gè)新的數(shù)據(jù)塊。較佳地,所述查找處理模塊,在查找日志數(shù)據(jù)時(shí),先使用哈希算法在所述一級(jí) 索引中查找,再使用B樹算法在所述二級(jí)索引中查找。較佳地,所述存儲(chǔ)處理模塊,通過在所述數(shù)據(jù)塊中寫入下一數(shù)據(jù)塊的地址信 息,以將當(dāng)前數(shù)據(jù)塊指向另一數(shù)據(jù)塊。所述存儲(chǔ)處理模塊,還在所述數(shù)據(jù)塊中建立并維 護(hù)空閑空間位圖,指示所述數(shù)據(jù)塊存儲(chǔ)空間的空閑狀態(tài)。以上僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù) 人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何 修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種持續(xù)數(shù)據(jù)保護(hù)方法,其特征在于,包括服務(wù)器接收客戶端的日志數(shù)據(jù),將其按照數(shù)據(jù)塊存儲(chǔ),當(dāng)前數(shù)據(jù)塊寫滿后,將當(dāng)前 數(shù)據(jù)塊指向另一有可用存儲(chǔ)空間的數(shù)據(jù)塊,在所述另一數(shù)據(jù)塊中繼續(xù)寫入;根據(jù)所述數(shù) 據(jù)塊的塊號(hào)建立并維護(hù)一級(jí)索引,根據(jù)各數(shù)據(jù)塊中的日志數(shù)據(jù)的時(shí)間點(diǎn),建立并維護(hù)二 級(jí)索引;以及在進(jìn)行數(shù)據(jù)恢復(fù)時(shí),根據(jù)所述一級(jí)索引和所述二級(jí)索引查找日志數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于所述服務(wù)器還根據(jù)在數(shù)據(jù)塊中寫入的數(shù)據(jù)的類型,在數(shù)據(jù)塊中寫入數(shù)據(jù)類型信息, 所述數(shù)據(jù)類型信息包括日志數(shù)據(jù)類型、第一索引類型、第二索引類型;所述服務(wù)器還按照數(shù)據(jù)塊存儲(chǔ)所述第一索引和所述第二索引,當(dāng)前數(shù)據(jù)塊寫滿后, 將當(dāng)前數(shù)據(jù)塊指向另一有可用存儲(chǔ)空間的數(shù)據(jù)塊,在所述另一數(shù)據(jù)塊中繼續(xù)寫入;所述當(dāng)前數(shù)據(jù)塊與所述另一數(shù)據(jù)塊中封裝的數(shù)據(jù)類型信息相同。
3.如權(quán)利要求2所述的方法,其特征在于所述服務(wù)器在存儲(chǔ)所述日志數(shù)據(jù)時(shí),和/或在存儲(chǔ)所述第二索引時(shí),如果當(dāng)前數(shù) 據(jù)塊寫滿后,先查找使用過的且存儲(chǔ)有相同數(shù)據(jù)類型信息的數(shù)據(jù)塊中是否有可用存儲(chǔ)空 間,如果有,則將當(dāng)前數(shù)據(jù)塊指向所述查找到的數(shù)據(jù)塊,如果沒有,則將當(dāng)前數(shù)據(jù)塊指 向一個(gè)新的數(shù)據(jù)塊。
4.如權(quán)利要求1所述的方法,其特征在于所述服務(wù)器在查找日志數(shù)據(jù)時(shí),是先使用哈希算法在所述一級(jí)索引中查找,再使用 B樹算法在所述二級(jí)索引中查找。
5.如權(quán)利要求1-3中任何一項(xiàng)所述的方法,其特征在于所述服務(wù)器通過在所述數(shù)據(jù)塊中寫入下一數(shù)據(jù)塊的地址信息,以將當(dāng)前數(shù)據(jù)塊指向 另一數(shù)據(jù)塊;所述服務(wù)器還在所述數(shù)據(jù)塊中建立并維護(hù)空閑空間位圖,指示所述數(shù)據(jù)塊存儲(chǔ)空間 的空閑狀態(tài)。
6.—種持續(xù)數(shù)據(jù)保護(hù)服務(wù)器,其特征在于,包括存儲(chǔ)處理模塊,用于接收客戶端的日志數(shù)據(jù),將其按照數(shù)據(jù)塊存儲(chǔ),當(dāng)前數(shù)據(jù)塊 寫滿后,將當(dāng)前數(shù)據(jù)塊指向另一有可用存儲(chǔ)空間的數(shù)據(jù)塊,在所述另一數(shù)據(jù)塊中繼續(xù)寫 入;查找處理模塊,用于根據(jù)所述數(shù)據(jù)塊的塊號(hào)建立并維護(hù)一級(jí)索引,根據(jù)各數(shù)據(jù)塊中 的日志數(shù)據(jù)的時(shí)間點(diǎn),建立并維護(hù)二級(jí)索引;以及在進(jìn)行數(shù)據(jù)恢復(fù)時(shí),根據(jù)所述一級(jí)索 弓I和所述二級(jí)索引查找日志數(shù)據(jù)。
7.如權(quán)利要求6所述的服務(wù)器,其特征在于所述存儲(chǔ)處理模塊,還根據(jù)在數(shù)據(jù)塊中寫入的數(shù)據(jù)的類型,在數(shù)據(jù)塊中寫入數(shù)據(jù)類 型信息,所述數(shù)據(jù)類型信息包括日志數(shù)據(jù)類型、第一索引類型、第二索引類型;所述存儲(chǔ)處理模塊,還按照數(shù)據(jù)塊存儲(chǔ)所述第一索引和所述第二索引,當(dāng)前數(shù)據(jù)塊 寫滿后,將當(dāng)前數(shù)據(jù)塊指向另一有可用存儲(chǔ)空間的數(shù)據(jù)塊,在所述另一數(shù)據(jù)塊中繼續(xù)寫 入;其中,所述當(dāng)前數(shù)據(jù)塊與所述另一數(shù)據(jù)塊中封裝的數(shù)據(jù)類型信息相同。
8.如權(quán)利要求7所述的服務(wù)器,其特征在于所述存儲(chǔ)處理模塊,在存儲(chǔ)所述日志數(shù)據(jù)時(shí),和/或在存儲(chǔ)所述第二索引時(shí),如果 當(dāng)前數(shù)據(jù)塊寫滿后,先查找使用過的且存儲(chǔ)有相同數(shù)據(jù)類型信息的數(shù)據(jù)塊中是否有可用 存儲(chǔ)空間,如果有,則將當(dāng)前數(shù)據(jù)塊指向所述查找到的數(shù)據(jù)塊,如果沒有,則將當(dāng)前數(shù) 據(jù)塊指向一個(gè)新的數(shù)據(jù)塊。
9.如權(quán)利要求6所述的服務(wù)器,其特征在于所述查找處理模塊,在查找日志數(shù)據(jù)時(shí),先使用哈希算法在所述一級(jí)索引中查找, 再使用B樹算法在所述二級(jí)索引中查找。
10.如權(quán)利要求6-8中任何一項(xiàng)所述的服務(wù)器,其特征在于所述存儲(chǔ)處理模塊,通過在所述數(shù)據(jù)塊中寫入下一數(shù)據(jù)塊的地址信息,以將當(dāng)前數(shù) 據(jù)塊指向另一數(shù)據(jù)塊;所述存儲(chǔ)處理模塊,還在所述數(shù)據(jù)塊中建立并維護(hù)空閑空間位圖,指示所述數(shù)據(jù)塊 存儲(chǔ)空間的空閑狀態(tài)。
全文摘要
本發(fā)明提供了一種持續(xù)數(shù)據(jù)保護(hù)方法及服務(wù)器,該方法包括服務(wù)器接收客戶端的日志數(shù)據(jù),將其按照數(shù)據(jù)塊存儲(chǔ),當(dāng)前數(shù)據(jù)塊寫滿后,將當(dāng)前數(shù)據(jù)塊指向另一有可用存儲(chǔ)空間的數(shù)據(jù)塊,在所述另一數(shù)據(jù)塊中繼續(xù)寫入;根據(jù)所述數(shù)據(jù)塊的塊號(hào)建立并維護(hù)一級(jí)索引,根據(jù)各數(shù)據(jù)塊中的日志數(shù)據(jù)的時(shí)間點(diǎn),建立并維護(hù)二級(jí)索引;以及在進(jìn)行數(shù)據(jù)恢復(fù)時(shí),根據(jù)所述一級(jí)索引和所述二級(jí)索引查找日志數(shù)據(jù)。該方法能夠合理管理日志數(shù)據(jù),實(shí)現(xiàn)快速查找和數(shù)據(jù)恢復(fù)。
文檔編號(hào)G06F11/14GK102012851SQ20101059752
公開日2011年4月13日 申請(qǐng)日期2010年12月20日 優(yōu)先權(quán)日2010年12月20日
發(fā)明者劉少偉, 劉正偉, 劉非, 王旭, 穆裕, 韓宇 申請(qǐng)人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司