欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

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

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

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