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

云存儲(chǔ)日志文件系統(tǒng)中垃圾數(shù)據(jù)回收方法

文檔序號(hào):9326936閱讀:522來源:國知局
云存儲(chǔ)日志文件系統(tǒng)中垃圾數(shù)據(jù)回收方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種垃圾數(shù)據(jù)回收方法,特別涉及一種云存儲(chǔ)日志文件系統(tǒng)中垃圾數(shù) 據(jù)回收方法。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)大數(shù)據(jù)的日益增長,各大互聯(lián)網(wǎng)巨頭推出了各自的存儲(chǔ)系統(tǒng),這些存 儲(chǔ)系統(tǒng)也成為了行業(yè)標(biāo)準(zhǔn)。Google設(shè)計(jì)與實(shí)現(xiàn)了 Google File System(GFS)和鍵值存儲(chǔ)系 統(tǒng) LevelDB, Amazon 設(shè)計(jì)與實(shí)現(xiàn)了 Simple Storage System(S3)和鍵值存儲(chǔ)系統(tǒng) Dynamo, Yahoo !設(shè)計(jì)與實(shí)現(xiàn)了 PNUTS,F(xiàn)acebook設(shè)計(jì)與實(shí)現(xiàn)了 Cassandra等等。這些存儲(chǔ)系統(tǒng)大 部分是不開源的,因此開源組織也針對(duì)其公布的論文設(shè)計(jì)與實(shí)現(xiàn)了開源版存儲(chǔ)系統(tǒng),例如 Apache基金會(huì)設(shè)計(jì)與實(shí)現(xiàn)了 GFS開源版Hadoop Distributed File System。這些存儲(chǔ)系 統(tǒng)是針對(duì)互聯(lián)網(wǎng)業(yè)務(wù)的特性而設(shè)計(jì)的,比如需要具備高可用性,可擴(kuò)展性,容錯(cuò)性等等,但 是大部分都沒有考慮設(shè)計(jì)與實(shí)現(xiàn)垃圾數(shù)據(jù)回收子系統(tǒng),這主要是互聯(lián)網(wǎng)公司對(duì)用戶數(shù)據(jù)的 依賴性,用戶的任何數(shù)據(jù)都具有價(jià)值,即使用戶刪除,其系統(tǒng)也不會(huì)自動(dòng)刪除,而是保存這 些數(shù)據(jù)。但是,有些應(yīng)用場景如果不及時(shí)刪除用戶的垃圾數(shù)據(jù),存儲(chǔ)空間很快就不夠用了, 例如,嵌入式系統(tǒng),云存儲(chǔ)時(shí)代大數(shù)據(jù)暴增等等。同時(shí),還有很多公司設(shè)計(jì)了專門的垃圾數(shù) 據(jù)回收方法,但是并沒有公開他們的技術(shù)方法,例如,微軟的內(nèi)存垃圾數(shù)據(jù)回收以及磁盤垃 圾數(shù)據(jù)回收方法。She印dog是日本NTT公司設(shè)計(jì)與實(shí)現(xiàn)的一款基于QEMU/KVM虛擬機(jī)的分 布式塊存儲(chǔ)系統(tǒng),Sheepdog存儲(chǔ)系統(tǒng)中包含了垃圾數(shù)據(jù)回收子系統(tǒng),其采用Generational Reference Counting(GRC)算法進(jìn)行垃圾回收。GRC 算法由 Goldberg 和 Benjamin 于 1989 年發(fā)表在了 ACM SIGPLAN Notices期刊的第7期第24卷313到321頁,這種垃圾回收方法 需要消耗額外的存儲(chǔ)空間,而且這種垃圾回收方法是針對(duì)整個(gè)鏡像文件,力度較大,靈活度 低。

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

[0003] 為了克服現(xiàn)有垃圾數(shù)據(jù)回收方法存儲(chǔ)空間利用率差的不足,本發(fā)明提供一種云存 儲(chǔ)日志文件系統(tǒng)中垃圾數(shù)據(jù)回收方法。該方法首先進(jìn)行垃圾數(shù)據(jù)判斷,并在文件系統(tǒng)更新 時(shí)創(chuàng)建一個(gè)新的日志,日志中包含日志頭、數(shù)據(jù)塊、索引數(shù)據(jù)塊、索引節(jié)點(diǎn)以及索引節(jié)點(diǎn)映 射。其中,索引節(jié)點(diǎn)包含三級(jí)索引結(jié)構(gòu),每個(gè)文件都對(duì)應(yīng)一個(gè)索引節(jié)點(diǎn),三級(jí)索引結(jié)構(gòu)存放 數(shù)據(jù)塊的索引地址,查找垃圾數(shù)據(jù)以最新的日志為基準(zhǔn),從最早的日志開始依次對(duì)比日志 中的索引地址,若舊日志的索引地址和最新的日志中的索引地址相同則日志中包含的數(shù)據(jù) 不是的垃圾數(shù)據(jù),若不相同則說明該數(shù)據(jù)是垃圾數(shù)據(jù)。垃圾數(shù)據(jù)量達(dá)到一定的閥值時(shí)進(jìn)行 垃圾數(shù)據(jù)回收操作。云存儲(chǔ)日志文件系統(tǒng)把數(shù)據(jù)存儲(chǔ)在日志中,把日志又存儲(chǔ)在段存儲(chǔ)文 件中,只有當(dāng)段存儲(chǔ)文件的垃圾數(shù)據(jù)量大于閥值時(shí)才進(jìn)行垃圾數(shù)據(jù)回收,先把要?jiǎng)h除的段 存儲(chǔ)文件中的有效數(shù)據(jù)拷貝到新的段存儲(chǔ)文件,然后再刪除段存儲(chǔ)文件。垃圾數(shù)據(jù)回收通 過兩種方式實(shí)現(xiàn),一種是用戶手動(dòng)垃圾數(shù)據(jù)回收,需要用戶指定一個(gè)段文件,然后系統(tǒng)進(jìn)行 回收,另外一種是系統(tǒng)中自動(dòng)垃圾數(shù)據(jù)回收,第一種的好處是用戶可以設(shè)置垃圾數(shù)據(jù)閥值, 這樣使垃圾數(shù)據(jù)回收更加靈活,也可以節(jié)省更多存儲(chǔ)空間,提高了存儲(chǔ)空間的利用率。
[0004] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種云存儲(chǔ)日志文件系統(tǒng)中垃圾數(shù) 據(jù)回收方法,其特點(diǎn)是包括以下步驟:
[0005] 步驟一、進(jìn)行垃圾數(shù)據(jù)判斷,并在文件系統(tǒng)更新時(shí)創(chuàng)建一個(gè)新的日志,日志中包含 日志頭、數(shù)據(jù)塊、索引數(shù)據(jù)塊、索引節(jié)點(diǎn)以及索引節(jié)點(diǎn)映射。所述索引節(jié)點(diǎn)包含三級(jí)索引結(jié) 構(gòu),每個(gè)文件都對(duì)應(yīng)一個(gè)索引節(jié)點(diǎn),三級(jí)索引結(jié)構(gòu)存放數(shù)據(jù)塊的索引地址,查找垃圾數(shù)據(jù)需 要以最新的日志為基準(zhǔn),從最早的日志開始依次對(duì)比日志中的索引地址,若舊日志的索引 地址和最新的日志中的索引地址相同則日志中包含的數(shù)據(jù)不是的垃圾數(shù)據(jù),若不相同則說 明該數(shù)據(jù)是垃圾數(shù)據(jù)。當(dāng)垃圾數(shù)據(jù)量達(dá)到所配置的閥值時(shí),進(jìn)行垃圾數(shù)據(jù)回收操作。
[0006] 步驟二、垃圾數(shù)據(jù)回收通過刪除和拷貝實(shí)現(xiàn),即云存儲(chǔ)日志文件系統(tǒng)底層將數(shù)據(jù) 存儲(chǔ)在日志中,將日志存儲(chǔ)在段存儲(chǔ)文件中,只有當(dāng)段存儲(chǔ)文件的垃圾數(shù)據(jù)量大于閥值時(shí), 先把要?jiǎng)h除的段存儲(chǔ)文件中的有效數(shù)據(jù)拷貝到新的段存儲(chǔ)文件,然后再刪除段存儲(chǔ)文件。
[0007] 所述垃圾數(shù)據(jù)回收通過以下兩種方式中任一方式實(shí)現(xiàn),采用手動(dòng)垃圾數(shù)據(jù)回收, 需要用戶指定一個(gè)段文件,然后系統(tǒng)進(jìn)行回收;或者采用系統(tǒng)中自動(dòng)垃圾數(shù)據(jù)回收。
[0008] 本發(fā)明的有益效果是:該方法首先進(jìn)行垃圾數(shù)據(jù)判斷,并在文件系統(tǒng)更新時(shí)創(chuàng)建 一個(gè)新的日志,日志中包含日志頭、數(shù)據(jù)塊、索引數(shù)據(jù)塊、索引節(jié)點(diǎn)以及索引節(jié)點(diǎn)映射。其 中,索引節(jié)點(diǎn)包含三級(jí)索引結(jié)構(gòu),每個(gè)文件都對(duì)應(yīng)一個(gè)索引節(jié)點(diǎn),三級(jí)索引結(jié)構(gòu)存放數(shù)據(jù)塊 的索引地址,查找垃圾數(shù)據(jù)以最新的日志為基準(zhǔn),從最早的日志開始依次對(duì)比日志中的索 引地址,若舊日志的索引地址和最新的日志中的索引地址相同則日志中包含的數(shù)據(jù)不是的 垃圾數(shù)據(jù),若不相同則說明該數(shù)據(jù)是垃圾數(shù)據(jù)。垃圾數(shù)據(jù)量達(dá)到一定的閥值時(shí)進(jìn)行垃圾數(shù) 據(jù)回收操作。云存儲(chǔ)日志文件系統(tǒng)把數(shù)據(jù)存儲(chǔ)在日志中,把日志又存儲(chǔ)在段存儲(chǔ)文件中,只 有當(dāng)段存儲(chǔ)文件的垃圾數(shù)據(jù)量大于閥值時(shí)才進(jìn)行垃圾數(shù)據(jù)回收,先把要?jiǎng)h除的段存儲(chǔ)文件 中的有效數(shù)據(jù)拷貝到新的段存儲(chǔ)文件,然后再刪除段存儲(chǔ)文件。垃圾數(shù)據(jù)回收通過兩種方 式實(shí)現(xiàn),一種是用戶手動(dòng)垃圾數(shù)據(jù)回收,需要用戶指定一個(gè)段文件,然后系統(tǒng)進(jìn)行回收,另 外一種是系統(tǒng)中自動(dòng)垃圾數(shù)據(jù)回收,第一種的好處是用戶可以設(shè)置垃圾數(shù)據(jù)閥值,這樣使 垃圾數(shù)據(jù)回收更加靈活,也可以節(jié)省更多存儲(chǔ)空間,提高了存儲(chǔ)空間的利用率。
[0009] 以下結(jié)合【具體實(shí)施方式】詳細(xì)說明本發(fā)明。
【具體實(shí)施方式】
[0010] 本發(fā)明云存儲(chǔ)日志文件系統(tǒng)中垃圾數(shù)據(jù)回收方法具體步驟如下:
[0011] 本發(fā)明基于一種分布式文件系統(tǒng),該分布式文件系統(tǒng)在Hadoop Distributed File System(HDFS)之上結(jié)合日志文件系統(tǒng)實(shí)現(xiàn)了日志結(jié)構(gòu)的分布式文件系統(tǒng),本發(fā)明為 了解決Apache基金會(huì)設(shè)計(jì)與實(shí)現(xiàn)的HDFS等類似分布式文件系統(tǒng)無法解決的垃圾數(shù)據(jù)回收 問題,同時(shí)也改進(jìn)了 Sheepdog等存儲(chǔ)系統(tǒng)中雖然實(shí)現(xiàn)了垃圾回收系統(tǒng),但是還存在一些問 題,如垃圾回收需要消耗額外的存儲(chǔ)空間,垃圾回收力度大,不夠靈活。
[0012] 了解決垃圾數(shù)據(jù)回收問題,本發(fā)明首先進(jìn)行垃圾數(shù)據(jù)判斷,分布式文件系統(tǒng)每次 更新都會(huì)創(chuàng)建一個(gè)新的日志,日志中包含日志頭,數(shù)據(jù)塊,索引數(shù)據(jù)塊,索引節(jié)點(diǎn)以及索引 節(jié)點(diǎn)映射。其中,索引節(jié)點(diǎn)包含三級(jí)索引結(jié)構(gòu),每個(gè)文件都對(duì)應(yīng)一個(gè)索引節(jié)點(diǎn)(由唯一的索 引節(jié)點(diǎn)號(hào)標(biāo)示),三級(jí)索引結(jié)構(gòu)存放數(shù)據(jù)塊的索引地址,查找垃圾數(shù)據(jù)需要以最新的日志為 基準(zhǔn),從最早的日志開始依次對(duì)比日志中的索引地址,若舊日志的索引地址和最新的日志 中的索引地址相同則日志中包含的數(shù)據(jù)不是的垃圾數(shù)據(jù),若不相同則說明該數(shù)據(jù)是垃圾數(shù) 據(jù)。如果垃圾數(shù)據(jù)量達(dá)到一定的閥值(可配置)然后就進(jìn)行垃圾數(shù)據(jù)回收操作。垃圾數(shù)據(jù) 回收操作是通過刪除和拷貝實(shí)現(xiàn)的,不是所有垃圾數(shù)據(jù)都進(jìn)行回收,該專利實(shí)現(xiàn)是基于云 存儲(chǔ)日志文件系統(tǒng),而這種文件系統(tǒng)底層是把數(shù)據(jù)存儲(chǔ)在日志中,把日志又存儲(chǔ)在段存儲(chǔ) 文件中,只有當(dāng)段存儲(chǔ)文件的垃圾數(shù)據(jù)量大于閥值時(shí)才進(jìn)行垃圾數(shù)據(jù)回收,先把要?jiǎng)h除的 段存儲(chǔ)文件中的有效數(shù)據(jù)拷貝到新的段存儲(chǔ)文件,然后再刪除段存儲(chǔ)文件。垃圾數(shù)據(jù)回收 通過兩種方式實(shí)現(xiàn),一種是用戶手動(dòng)垃圾數(shù)據(jù)回收,需要用戶指定一個(gè)段文件,然后系統(tǒng)進(jìn) 行回收,另外一種是系統(tǒng)中自動(dòng)垃圾數(shù)據(jù)回收,第一種的好處是用戶可以設(shè)置垃圾數(shù)據(jù)閥 值,這樣使垃圾數(shù)據(jù)回收更加靈活,也可以節(jié)省更多存儲(chǔ)空間。
[0013] 本發(fā)明針對(duì)分布式日志文件系統(tǒng)設(shè)計(jì)了一種新型的垃圾回收方法,可以有效的回 收HDFS等分布式文件系統(tǒng)中的垃圾數(shù)據(jù),提高了數(shù)據(jù)的存儲(chǔ)率,同時(shí)還改進(jìn)了 She印dog等 存儲(chǔ)系統(tǒng)中垃圾數(shù)據(jù)回收方法,垃圾數(shù)據(jù)回收不需要借助額外的存儲(chǔ)空間,也提高了垃圾 數(shù)據(jù)回收的靈活度。
[0014] 云存儲(chǔ)日志文件系統(tǒng)中垃圾數(shù)據(jù)回收方法發(fā)明專利包含兩部分內(nèi)容,第一,無快 照垃圾數(shù)據(jù)回收方法;第二,快照下垃圾數(shù)據(jù)回收方法。以上兩部分垃圾數(shù)據(jù)回收方法通過 云存儲(chǔ)日志文件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。
[0015] 云存儲(chǔ)日志文件系統(tǒng)基于Hadoop Distributed File System(HDFS)并借助經(jīng)典 日志文件系統(tǒng)的思想,對(duì)文件的每次更新都會(huì)追加一個(gè)日志,因此該文件系統(tǒng)邏輯上的存 儲(chǔ)空間是由很多個(gè)日志組成,這些日志就是天然的快照,可以根據(jù)需要回滾并恢復(fù)數(shù)據(jù)。每 個(gè)日志分為五個(gè)部分,依次為日志頭,數(shù)據(jù)塊,索引塊,索引節(jié)點(diǎn)和索引節(jié)點(diǎn)映射。日志頭包 含了整個(gè)日志的大小和其他日志元數(shù)據(jù),數(shù)據(jù)塊存儲(chǔ)了用戶的數(shù)據(jù),索引塊是用來存儲(chǔ)數(shù) 據(jù)塊的索引地址,索引節(jié)點(diǎn)包含了文件所對(duì)應(yīng)的數(shù)據(jù)塊的索引地址,索引節(jié)點(diǎn)映射唯一標(biāo) 示了索引節(jié)點(diǎn)。為了方便垃圾數(shù)據(jù)回收以及管理數(shù)據(jù),在該日志結(jié)構(gòu)之上又劃分了段文件, 每個(gè)段文件由很多個(gè)日志組成,且存儲(chǔ)大小不超過64MB,而HDFS默認(rèn)數(shù)據(jù)塊是64MB,這樣 剛好吻合,可以提高數(shù)據(jù)在HDFS之上的存儲(chǔ)和讀取。當(dāng)用戶對(duì)一個(gè)文件提出隨機(jī)寫請(qǐng)求, 首先被封裝成一個(gè)日志,然后被追加到當(dāng)前最新的段文件末尾,而用戶的讀請(qǐng)求只需要讀 取最新段文件的最新日
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1