国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種應(yīng)用在聚合文件上的碎片整理方法與流程

      文檔序號(hào):11155608閱讀:333來(lái)源:國(guó)知局
      一種應(yīng)用在聚合文件上的碎片整理方法與制造工藝

      本發(fā)明涉及碎片整理技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用在聚合文件上的碎片整理方法。



      背景技術(shù):

      分布式文件系統(tǒng)中,有大量的文件碎片,為了防止碎片過(guò)多,通常會(huì)將多個(gè)文件碎片合并后寫(xiě)入一個(gè)大文件,稱(chēng)為聚合文件,實(shí)現(xiàn)碎片整理。碎片整理分為兩大部分,一部分是前期將文件碎片存入聚合文件,另一部分是后期對(duì)聚合文件剩余的文件碎片重新整理。本發(fā)明所要解決的問(wèn)題是后者。在使用聚合文件存儲(chǔ)文件時(shí),每次聚合文件的IO都可以寫(xiě)入或讀取多個(gè)文件碎片,以獲取更好的性能。但是隨著系統(tǒng)的運(yùn)行,聚合文件中的部分文件碎片可能會(huì)被刪除,當(dāng)聚合文件中的文件碎片被刪除后,這個(gè)聚合文件的空間就沒(méi)有這個(gè)文件碎片,但是其它文件也不能被存入,這樣導(dǎo)致聚合文件的存儲(chǔ)效率降低,讀取性能降低等問(wèn)題。

      為了解決這個(gè)問(wèn)題,傳統(tǒng)的做法是將聚合文件全部掃描一遍,從而獲取聚合文件中剩余的文件碎片,然后再將這些文件碎片再重新存入一個(gè)新的聚合文件。

      由此可見(jiàn),在進(jìn)行聚合文件的掃描過(guò)程中,需要對(duì)聚合文件的每個(gè)空間都要查看一遍,導(dǎo)致在碎片整理過(guò)程中,掃描查看效率較低,浪費(fèi)時(shí)間。另外,這樣的碎片整理方法也不容易得知當(dāng)前聚合文件的存儲(chǔ)情況。如何克服上述文件是本領(lǐng)域技術(shù)人員亟待解決的問(wèn)題。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明的目的是提供一種應(yīng)用在聚合文件上的碎片整理方法,用于在碎片整理過(guò)程中,提高掃描查看的效率,節(jié)約時(shí)間。

      為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種應(yīng)用在聚合文件上的碎片整理方法,包括:

      預(yù)先獲取聚合文件并將所述聚合文件分為多個(gè)數(shù)據(jù)塊,將各所述數(shù)據(jù)塊分為兩個(gè)部分,第一部分用于添加各文件碎片在所述數(shù)據(jù)塊中的位圖索引信息,第二部分用于存儲(chǔ)各文件碎片;

      當(dāng)有文件碎片存入所述數(shù)據(jù)塊或從所述數(shù)據(jù)塊中刪除時(shí),在所述數(shù)據(jù)塊中記錄所述數(shù)據(jù)塊的位圖索引信息;

      通過(guò)所述位圖索引信息確定所述聚合文件的當(dāng)前使用率;

      當(dāng)所述聚合文件的當(dāng)前使用率達(dá)到預(yù)定使用率時(shí),啟動(dòng)碎片整理。

      優(yōu)選地,還包括:當(dāng)有文件碎片存入所述數(shù)據(jù)塊時(shí),在所述第一部分中添加所述文件碎片的文件號(hào)。

      優(yōu)選地,還包括:當(dāng)有文件碎片從所述數(shù)據(jù)塊刪除時(shí),刪除對(duì)應(yīng)的文件號(hào)。

      優(yōu)選地,當(dāng)接收到查看請(qǐng)求時(shí),通過(guò)所述文件號(hào)查找所述查看請(qǐng)求對(duì)應(yīng)的目標(biāo)文件碎片。

      優(yōu)選地,所述將各所述數(shù)據(jù)塊分為兩個(gè)部分,第一部分用于添加各文件碎片在所述數(shù)據(jù)塊中的位圖索引信息,第二部分用于存儲(chǔ)各文件碎片具體為:

      將所述數(shù)據(jù)塊分為數(shù)據(jù)頭部和數(shù)據(jù)體,所述數(shù)據(jù)頭部作為所述第一部分,用于添加各文件碎片在所述數(shù)據(jù)塊中的位圖索引信息,所述數(shù)據(jù)體作為所述第二部分,用于存儲(chǔ)各文件碎片。

      優(yōu)選地,所述數(shù)據(jù)頭部的存儲(chǔ)空間為12KB,其中前8KB用于存儲(chǔ)所述文件號(hào),后4KB用于存儲(chǔ)所述位圖索引信息。

      優(yōu)選地,所述位圖索引信息具體采用0和1表示,其中,0表示當(dāng)前位置的文件碎片已刪除或未占用,1表示當(dāng)前位置的文件碎片仍保留。

      優(yōu)選地,所述通過(guò)所述位圖索引信息確定所述聚合文件的當(dāng)前使用率具體包括:

      通過(guò)掃描全部所述位圖索引信息計(jì)算所述聚合文件的已使用空間;

      通過(guò)計(jì)算所述已使用空間與所述聚合文件的總空間的比值得到所述當(dāng)前使用率。

      優(yōu)選地,所述通過(guò)所述位圖索引信息確定所述聚合文件的當(dāng)前使用率具體為通過(guò)所述位圖索引信息周期性地確定所述聚合文件的當(dāng)前使用率。

      優(yōu)選地,所述啟動(dòng)碎片整理具體為通過(guò)各所述數(shù)據(jù)塊的中的位圖索引信息查找到所述聚合文件中仍保留的文件碎片,并將所述文件碎片轉(zhuǎn)移至新的聚合文件。

      本發(fā)明所提供的應(yīng)用在聚合文件上的碎片整理方法,包括預(yù)先獲取聚合文件并將聚合文件分為多個(gè)數(shù)據(jù)塊,將各數(shù)據(jù)塊分為兩個(gè)部分,第一部分用于添加各文件碎片在數(shù)據(jù)塊中的位圖索引信息,第二部分用于存儲(chǔ)各文件碎片;當(dāng)有文件碎片存入數(shù)據(jù)塊或從數(shù)據(jù)塊中刪除時(shí),在數(shù)據(jù)塊中記錄數(shù)據(jù)塊的位圖索引信息;通過(guò)位圖索引信息確定聚合文件的當(dāng)前使用率;當(dāng)聚合文件的當(dāng)前使用率達(dá)到預(yù)定使用率時(shí),啟動(dòng)碎片整理。由此可見(jiàn),通過(guò)本方法可以通過(guò)每個(gè)數(shù)據(jù)塊的位圖索引信息可以快速確定數(shù)據(jù)塊的存儲(chǔ)情況,進(jìn)而確定聚合文件的存儲(chǔ)情況,不需要對(duì)每個(gè)數(shù)據(jù)塊中的存儲(chǔ)空間全部掃描,這樣不僅提高了掃描查看的效率,而且節(jié)約時(shí)間。

      附圖說(shuō)明

      為了更清楚地說(shuō)明本發(fā)明實(shí)施例,下面將對(duì)實(shí)施例中所需要使用的附圖做簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1為本發(fā)明提供的一種應(yīng)用在聚合文件上的碎片整理方法的流程圖;

      圖2為本發(fā)明是實(shí)施例提供的一種聚合文件的內(nèi)部數(shù)據(jù)結(jié)構(gòu)示意圖。

      具體實(shí)施方式

      下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下,所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)范圍。

      本發(fā)明的核心是提供一種應(yīng)用在聚合文件上的碎片整理方法,用于在碎片整理過(guò)程中,提高掃描查看的效率,節(jié)約時(shí)間。

      為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。

      圖1為本發(fā)明提供的一種應(yīng)用在聚合文件上的碎片整理方法的流程圖。如圖1所示,應(yīng)用在聚合文件上的碎片整理方法,包括:

      S10:預(yù)先獲取聚合文件并將聚合文件分為多個(gè)數(shù)據(jù)塊,將各數(shù)據(jù)塊分為兩個(gè)部分,第一部分用于添加各文件碎片在數(shù)據(jù)塊中的位圖索引信息,第二部分用于存儲(chǔ)各文件碎片;

      S11:當(dāng)有文件碎片存入數(shù)據(jù)塊或從數(shù)據(jù)塊中刪除時(shí),在數(shù)據(jù)塊中記錄數(shù)據(jù)塊的位圖索引信息;

      S12:通過(guò)位圖索引信息確定聚合文件的當(dāng)前使用率;

      S13:當(dāng)聚合文件的當(dāng)前使用率達(dá)到預(yù)定使用率時(shí),啟動(dòng)碎片整理。

      在具體實(shí)施中,對(duì)于一個(gè)同一個(gè)聚合文件來(lái)說(shuō),步驟S10只需要執(zhí)行一次即可,而步驟S11-S13需要根據(jù)實(shí)際需求而定,例如步驟S11每存入文件碎片或刪除碎片文件都需要執(zhí)行??梢愿鶕?jù)聚合文件的大小確定數(shù)據(jù)塊的個(gè)數(shù)。需要說(shuō)明的是,一個(gè)數(shù)據(jù)塊在聚合文件中是連續(xù)的,不能拆分,但是數(shù)據(jù)塊的存儲(chǔ)空間可以全部相同,也可以不同。本文以相同為例說(shuō)明,例如將聚合文件分為16個(gè)數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊的存儲(chǔ)空間都是4MB。對(duì)于一個(gè)數(shù)據(jù)塊的結(jié)構(gòu)進(jìn)行說(shuō)明,其它數(shù)據(jù)塊類(lèi)似。數(shù)據(jù)塊分為兩部分,一部分用于添加這個(gè)數(shù)據(jù)塊中存儲(chǔ)的各文件碎片的委托索引信息,另一部分存放文件碎片本身,即數(shù)據(jù)。在具體實(shí)施中,可以將數(shù)據(jù)塊的存儲(chǔ)空間分為更小的存儲(chǔ)單位,將文件碎片以存儲(chǔ)單位存儲(chǔ),如果一個(gè)存儲(chǔ)單位不夠存儲(chǔ),則可以用多個(gè),例如一個(gè)文件碎片可以占用10個(gè)存儲(chǔ)單位。更具體的,一個(gè)存儲(chǔ)單位可以為4KB,通過(guò)一個(gè)位圖索引信息bit表示,則每一個(gè)bit標(biāo)識(shí)4KB數(shù)據(jù)。如果位圖索引信息采用0和1表示,其中,0表示當(dāng)前位置的文件碎片已刪除或未占用,1表示當(dāng)前位置的文件碎片仍保留。通過(guò)位圖索引信息就可以確定當(dāng)前位置的4KB數(shù)據(jù)是否存在,進(jìn)而能夠確定文件碎片是否存在。

      在查看聚合文件時(shí),現(xiàn)有技術(shù)需要對(duì)聚合文件中的每個(gè)存儲(chǔ)空間都要掃描,而本實(shí)施例中,可以通過(guò)位圖索引信息就可以確定聚合文件的存儲(chǔ)情況。為了提高聚合文件的使用率,需要在聚合文件的使用率達(dá)到預(yù)定使用率時(shí),啟動(dòng)碎片整理,很顯然,通過(guò)上述存儲(chǔ)結(jié)構(gòu),可以快速的確定聚合文件的當(dāng)前使用率,如果當(dāng)前使用率達(dá)到預(yù)定使用率,則啟動(dòng)碎片整理。另外,預(yù)定使用率可以靈活設(shè)置,例如70%,可以理解的是,這里只是一種具體的實(shí)現(xiàn)方式,并不代表只有這一種方式。

      本實(shí)施例提供的應(yīng)用在聚合文件上的碎片整理方法,包括預(yù)先獲取聚合文件并將聚合文件分為多個(gè)數(shù)據(jù)塊,將各數(shù)據(jù)塊分為兩個(gè)部分,第一部分用于添加各文件碎片在數(shù)據(jù)塊中的位圖索引信息,第二部分用于存儲(chǔ)各文件碎片;當(dāng)有文件碎片存入數(shù)據(jù)塊或從數(shù)據(jù)塊中刪除時(shí),在數(shù)據(jù)塊中記錄數(shù)據(jù)塊的位圖索引信息;通過(guò)位圖索引信息確定聚合文件的當(dāng)前使用率;當(dāng)聚合文件的當(dāng)前使用率達(dá)到預(yù)定使用率時(shí),啟動(dòng)碎片整理。由此可見(jiàn),通過(guò)本方法可以通過(guò)每個(gè)數(shù)據(jù)塊的位圖索引信息可以快速確定數(shù)據(jù)塊的存儲(chǔ)情況,進(jìn)而確定聚合文件的存儲(chǔ)情況,不需要對(duì)每個(gè)數(shù)據(jù)塊中的存儲(chǔ)空間全部掃描,這樣不僅提高了掃描查看的效率,而且節(jié)約時(shí)間。

      作為優(yōu)選地實(shí)施方式,在上述實(shí)施例的基礎(chǔ)上,還包括:當(dāng)有文件碎片存入數(shù)據(jù)塊時(shí),在第一部分中添加文件碎片的文件號(hào)。

      本實(shí)施例中在第一部分中增加了文件號(hào),與位圖索引信息關(guān)聯(lián),這樣可以清楚的知道每個(gè)數(shù)據(jù)塊中存儲(chǔ)的文件碎片的名稱(chēng),存儲(chǔ)了幾個(gè)文件碎片。例如一個(gè)文件碎片的文件號(hào)1,其占用了5個(gè)存儲(chǔ)單元,則該文件碎片在位圖索引信息中就是11111XXXXX…XXX。其中,X表示還沒(méi)有其他文件碎片存入,如果這個(gè)文件碎片被全部刪除,則這個(gè)數(shù)據(jù)塊的位圖信息就變成00000XXXXX…XXX。如果這個(gè)文件碎片刪除了部分,例如這個(gè)數(shù)據(jù)塊的位圖信息就變成11000XXXXX…XXX??梢岳斫獾氖牵鲜鰯?shù)據(jù)塊的位圖信息只是舉例說(shuō)明。

      圖2為本發(fā)明是實(shí)施例提供的一種聚合文件的內(nèi)部數(shù)據(jù)結(jié)構(gòu)示意圖。作為優(yōu)選地實(shí)施方式,如圖2所示,聚合文件10中包含有多個(gè)數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊的存儲(chǔ)空間為4MB。圖例中有三個(gè)不同的表示方式,分別對(duì)應(yīng)文件號(hào)、位圖索引信息和數(shù)據(jù)。每個(gè)數(shù)據(jù)塊的4MB空間中,8KB用做添加各文件碎片的文件號(hào),4KB用來(lái)添加位圖索引信息,如圖2所示,通常情況下,位圖索引信息只需要占用128Byet即可。數(shù)據(jù)塊剩余的空間按照4KB為一個(gè)存儲(chǔ)單位,用來(lái)存儲(chǔ)文件碎片本身的數(shù)據(jù)。

      作為優(yōu)選地實(shí)施方式,如圖2所示,將數(shù)據(jù)塊分為數(shù)據(jù)頭部和數(shù)據(jù)體,數(shù)據(jù)頭部作為第一部分,用于添加各文件碎片在數(shù)據(jù)塊中的位圖索引信息,數(shù)據(jù)體作為第二部分,用于存儲(chǔ)各文件碎片。

      可以理解的是,數(shù)據(jù)頭部就是用來(lái)存儲(chǔ)文件號(hào)和位圖索引信息用的,而數(shù)據(jù)體是用來(lái)存儲(chǔ)各文件碎片本身的數(shù)據(jù)。將文件號(hào)和位圖索引信息存儲(chǔ)在數(shù)據(jù)頭部,可以方便查看,不影響文件碎片的連續(xù)存儲(chǔ)。在一定程度上,文件號(hào)可以反映數(shù)據(jù)塊中存儲(chǔ)的內(nèi)容,而位圖索引信息可以反映數(shù)據(jù)塊中存儲(chǔ)的量。

      作為優(yōu)選地實(shí)施方式,還包括:當(dāng)有文件碎片從數(shù)據(jù)塊刪除時(shí),刪除對(duì)應(yīng)的文件號(hào)。

      可以理解的是,如果文件碎片被刪除了,則相應(yīng)的刪除這個(gè)文件號(hào),從而可以方便后續(xù)的查看。

      作為優(yōu)選地實(shí)施方式,當(dāng)接收到查看請(qǐng)求時(shí),通過(guò)文件號(hào)查找查看請(qǐng)求對(duì)應(yīng)的目標(biāo)文件碎片。

      如果是現(xiàn)有技術(shù),在接收到查看請(qǐng)求時(shí),需遍歷整個(gè)聚合文件,直到找到目標(biāo)文件碎片,而采用本發(fā)明提供的方法的話,只需要遍歷每個(gè)數(shù)據(jù)塊的數(shù)據(jù)頭部先找到文件號(hào),再鎖定目標(biāo)文件碎片。

      作為優(yōu)選地實(shí)施方式,數(shù)據(jù)頭部的存儲(chǔ)空間為12KB,其中前8KB用于存儲(chǔ)文件號(hào),后4KB用于存儲(chǔ)位圖索引信息。

      作為優(yōu)選地實(shí)施方式,通過(guò)位圖索引信息確定聚合文件的當(dāng)前使用率具體包括:

      通過(guò)掃描全部位圖索引信息計(jì)算聚合文件的已使用空間;

      通過(guò)計(jì)算已使用空間與聚合文件的總空間的比值得到當(dāng)前使用率。

      通過(guò)上述實(shí)施例的描述,通過(guò)位圖索引信息上的數(shù)據(jù)都可以快速知道相應(yīng)的數(shù)據(jù)塊的已使用空間,則將每個(gè)數(shù)據(jù)塊的已使用空間相加,就可以計(jì)算出聚合文件的已使用空間,再與聚合文件的總空間作比值,就得到了當(dāng)前使用率。

      在具體實(shí)施中,可以實(shí)時(shí)確定聚合文件的當(dāng)前使用率,但是這樣的方式過(guò)于繁瑣,因此,作為優(yōu)選地實(shí)施方式,可以周期性地確定聚合文件的當(dāng)前使用率,這里的周期不做限定,可以為1分鐘。

      作為優(yōu)選地實(shí)施方式,啟動(dòng)碎片整理具體為通過(guò)各數(shù)據(jù)塊的中的位圖索引信息查找到聚合文件中仍保留的文件碎片,并將文件碎片轉(zhuǎn)移至新的聚合文件。

      現(xiàn)有技術(shù)中,在進(jìn)行碎片整理時(shí),需要掃描全部的存儲(chǔ)空間,才能確定哪個(gè)存儲(chǔ)空間是空的,哪個(gè)存儲(chǔ)空間是占用的,然后再將存儲(chǔ)空間剩余的文件碎片轉(zhuǎn)移到新的聚合文件,而通過(guò)本發(fā)明提供的方法,直接掃描每個(gè)數(shù)據(jù)塊的位圖索引信息就可以鎖定哪個(gè)存儲(chǔ)空間是占用的,從而將存儲(chǔ)空間剩余的文件碎片轉(zhuǎn)移到新的聚合文件。很顯然,這樣的整理方法非常快捷,節(jié)約時(shí)間。

      以上對(duì)本發(fā)明所提供的應(yīng)用在聚合文件上的碎片整理方法進(jìn)行了詳細(xì)介紹。說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開(kāi)的裝置而言,由于其與實(shí)施例公開(kāi)的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō)明即可。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1