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

分布式文件系統(tǒng)的小文件預(yù)讀方法及系統(tǒng)與流程

文檔序號:12465012閱讀:296來源:國知局
分布式文件系統(tǒng)的小文件預(yù)讀方法及系統(tǒng)與流程

本發(fā)明涉及數(shù)據(jù)讀取技術(shù)領(lǐng)域,特別涉及一種分布式文件系統(tǒng)的小文件預(yù)讀方法,還涉及一種分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng)。



背景技術(shù):

在分布式文件系統(tǒng)中,數(shù)據(jù)預(yù)讀是常見的功能,它可以減少IO(數(shù)據(jù)輸入和輸出)路徑長度,提高對文件的讀性能。具體的,在底層存儲介質(zhì)中用戶進程讀取文件依次只能讀取一個文件中的一部分?jǐn)?shù)據(jù),將剩下的一部分?jǐn)?shù)據(jù)進行預(yù)讀,即將剩下的一部分?jǐn)?shù)據(jù)緩存至文件系統(tǒng)層面,便于下次讀取剩下數(shù)據(jù)時,并不是從底層存儲介質(zhì)中讀取,而是從文件系統(tǒng)層進行讀取,加快了數(shù)據(jù)讀取的速度。

海量小文件在一次讀取過程中將小文件中的數(shù)據(jù)全部讀取,然而,一次讀取通常要讀取不止一個小文件,如果讀取多個小文件時,上述數(shù)據(jù)讀取方法在小文件讀取過程中并沒有發(fā)揮優(yōu)勢,一次讀取進程中,讀取剩余小文件仍然需要從底層存儲介質(zhì)中讀取,導(dǎo)致海量小文件讀取速度變慢。

因此,如何提高海量小文件的預(yù)讀速度是本領(lǐng)域技術(shù)人員需要解決的技術(shù)問題。



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

本發(fā)明的目的是提供一種分布式文件系統(tǒng)的小文件預(yù)讀方法,有效提高海量小文件的預(yù)讀速度。

為解決上述技術(shù)問題,本發(fā)明提供一種分布式文件系統(tǒng)的小文件預(yù)讀方法,包括:

步驟S1:接收用戶發(fā)起的小文件的讀請求;

步驟S2:根據(jù)所述預(yù)讀請求判斷文件系統(tǒng)層中是否存在相應(yīng)的小文件緩存,若否,則執(zhí)行后續(xù)步驟,若是,則執(zhí)行步驟S4;

步驟S3:讀取底層存儲介質(zhì)中的所述小文件及其同目錄下后續(xù)的小文件,將所述小文件及所述同目錄下后續(xù)的小文件緩存至所述文件系統(tǒng)層中;

步驟S4:讀取所述文件系統(tǒng)層中的所述小文件緩存,并將所述小文件緩存返回至所述用戶。

優(yōu)選的,在上述分布式文件系統(tǒng)的小文件預(yù)讀方法中,所述步驟S3之前,還包括:

判斷所述小文件以及所述同目錄下后續(xù)的小文件的大小是否超過用戶配置的文件大小閾值,若否,則執(zhí)行所述步驟S3。

優(yōu)選的,在上述分布式文件系統(tǒng)的小文件預(yù)讀方法中,所述步驟S3之后,還包括:

步驟S5:判斷已緩存至文件系統(tǒng)層中的所述同目錄下后續(xù)的小文件的數(shù)量是否超過用戶配置的文件數(shù)量閾值,若否,則繼續(xù)緩存所述同父目錄下后續(xù)的小文件,若是,則停止緩存。

優(yōu)選的,在上述分布式文件系統(tǒng)的小文件預(yù)讀方法中,所述步驟S4之后,還包括:

按照文件在目錄中偏移量讀取已緩存的所述同父目錄下后續(xù)的小文件。

優(yōu)選的,在上述分布式文件系統(tǒng)的小文件預(yù)讀方法中,所述步驟S4之后,還包括:

按照節(jié)點號順序讀取已緩存的所述同父目錄下后續(xù)的小文件。

本發(fā)明還提供一種分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng),包括:

接收模塊,用于接收用戶發(fā)起的小文件的讀請求;

第一判斷模塊,用于判斷文件系統(tǒng)層中是否存在相應(yīng)的小文件緩存;

緩存模塊,用于將所述小文件及所述同目錄下后續(xù)的小文件緩存至所述文件系統(tǒng)層中;

預(yù)讀模塊,用于讀取底層存儲介質(zhì)中的所述小文件及其同目錄下后續(xù)的小文件,讀取所述文件系統(tǒng)層中的所述小文件緩存。

優(yōu)選的,在上述分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng)中,還包括:

第二判斷模塊,用于判斷所述小文件以及所述同目錄下后續(xù)的小文件的大小是否超過用戶配置的文件大小閾值。

優(yōu)選的,在上述分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng)中,還包括:

第三判斷模塊,用于判斷已緩存至文件系統(tǒng)層中的所述同目錄下后續(xù)的小文件的數(shù)量是否超過用戶配置的文件數(shù)量閾值。

優(yōu)選的,在上述分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng)中,所述預(yù)讀模塊包括:

第一預(yù)讀單元,用于按照在目錄中文件偏移量讀取已緩存的所述同父目錄下后續(xù)的小文件。

優(yōu)選的,在上述分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng)中,所述預(yù)讀模塊還包括:

第二預(yù)讀單元,用于按照節(jié)點號順序讀取已緩存的所述同父目錄下后續(xù)的小文件。

本發(fā)明所提供一種分布式文件系統(tǒng)的小文件預(yù)讀方法,步驟S1:接收用戶發(fā)起的小文件的讀請求;步驟S2:判斷文件系統(tǒng)層中是否存在相應(yīng)的小文件緩存,若否,則執(zhí)行后續(xù)步驟,若是,則執(zhí)行步驟S4;步驟S3:讀取底層存儲介質(zhì)中的所述小文件及其同目錄下后續(xù)的小文件,將所述小文件及所述同目錄下后續(xù)的小文件緩存至所述文件系統(tǒng)層中;步驟S4:讀取所述文件系統(tǒng)層中的所述小文件緩存,并將所述小文件緩存返回至所述用戶。

基于一次進程是順序讀取文件的,并且一次并不能把文件全部讀取的場景,本發(fā)明提供了一種分布式文件系統(tǒng)的小文件預(yù)讀方法,通過將在底層存儲介質(zhì)中讀取的小文件以及對應(yīng)的同父目錄下后續(xù)的小文件進行緩存,從文件系統(tǒng)層中直接讀取小文件或者與所述同父目錄下后續(xù)的小文件能夠加快小文件讀取速度。

本發(fā)明還提供一種分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng),具有上述有益效果,在此不再贅述。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。

圖1為本發(fā)明實施例所提供的分布式文件系統(tǒng)的小文件預(yù)讀方法的流程圖;

圖2為本發(fā)明實施例所提供的分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng)的結(jié)構(gòu)框圖。

具體實施方式

本發(fā)明的核心是提供一種分布式文件系統(tǒng)的小文件預(yù)讀方法及系統(tǒng),有效提高海量小文件的預(yù)讀速度。

為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

請參考圖1,圖1為本發(fā)明實施例所提供的分布式文件系統(tǒng)的小文件預(yù)讀方法的流程圖。

在一種具體實施方式中,本發(fā)明提供一種分布式文件系統(tǒng)的小文件預(yù)讀方法,包括:

步驟S1:接收用戶發(fā)起的小文件的讀請求;

步驟S2:判斷文件系統(tǒng)層中是否存在相應(yīng)的小文件緩存,若否,則執(zhí)行后續(xù)步驟,若是,則執(zhí)行步驟S4;

其中,判斷小文件A是否在文件系統(tǒng)層中有緩存文件A’,緩存文件A’的內(nèi)容與小文件A完全相同。

步驟S3:讀取底層存儲介質(zhì)中的所述小文件及其同目錄下后續(xù)的小文件,將所述小文件及所述同目錄下后續(xù)的小文件緩存至所述文件系統(tǒng)層中。

其中,如果沒有緩存至文件系統(tǒng)層中,則讀取底層存儲介質(zhì)中的小文件A,同時將小文件A以及同父目錄小文件如小文件B、C、D等,緩存至所述文件系統(tǒng)層中,形成緩存文件A’、B’、C’、D’等。

步驟S4:讀取所述文件系統(tǒng)層中的所述小文件緩存,并將所述小文件緩存返回至所述用戶。

由于小文件的數(shù)據(jù)占有量小,則預(yù)讀時一次進程將讀取小文件中的所有數(shù)據(jù),但是對于海量小文件,一次進程每次的讀取均從底層存儲介質(zhì)中讀取,降低讀取速度?,F(xiàn)舉例具體說明本發(fā)明提供的海量小文件讀取方法。

目錄dira下面有10000個小文件,小文件名稱分布為file_0,file_1,file_2,file_3,……file_9999,每個小文件大小為400K,用戶開啟預(yù)讀功能,分布式文件系統(tǒng)層接收用戶發(fā)送的對小文件的預(yù)讀請求,如預(yù)讀請求為預(yù)讀對象為小于512K的文件,按照用戶預(yù)設(shè)的預(yù)讀進程信息進行預(yù)讀,預(yù)讀進程信息如一次進程預(yù)讀小文件的數(shù)量,按照什么方式進行預(yù)讀等。讀取文件file_0時,判斷分布式文件系統(tǒng)層中是否存在與文件file_0對應(yīng)的緩存文件,如果不存在,則觸發(fā)預(yù)讀,將file_0以及父母錄的目錄項中將file_0對應(yīng)的其它小文件緩存在文件系統(tǒng)層中,將文件file_0返回至用戶,對已緩存的所述同父目錄小文件進行預(yù)讀時,選取與文件file_0文件順序讀取的下一個小文件file_1進行預(yù)讀,即將小文件file_1返回至用戶。需要說明的是,預(yù)讀是異步的,不會影響用戶對底層存儲介質(zhì)中的讀取。

基于一次進程是順序讀取文件的,并且一次并不能把文件全部讀取的場景,本發(fā)明提供了一種分布式文件系統(tǒng)的小文件預(yù)讀方法,通過對底層存儲介質(zhì)中的小文件以及對應(yīng)的同父目錄下后續(xù)的小文件進行緩存,從文件系統(tǒng)層中直接讀取小文件或者與所述同父目錄下后續(xù)的小文件能夠加快小文件讀取速度。本申請還公開一種分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng)。

在上述分布式文件系統(tǒng)的小文件預(yù)讀方法的基礎(chǔ)上,所述步驟S3之前,還包括:

判斷所述小文件以及所述同目錄下后續(xù)的小文件的大小是否超過用戶配置的文件大小閾值,若否,則執(zhí)行所述步驟S3。

例如,預(yù)讀對象為小于或者等于512K的文件,即文件大小閾值為512K,大小小于或者等于512K的小文件可以被讀取,大于512K的小文件不能被讀取。文件大小閾值通過用戶配置確定,根據(jù)需求設(shè)定即可。

在上述分布式文件系統(tǒng)的小文件預(yù)讀方法的基礎(chǔ)上,所述步驟S3之后,還包括:

步驟S5:判斷已緩存至文件系統(tǒng)層中的所述同目錄下后續(xù)的小文件的數(shù)量是否超過用戶配置的文件數(shù)量閾值,若否,則繼續(xù)緩存所述同父目錄下后續(xù)的小文件,若是,則停止緩存。

其中,預(yù)設(shè)了已緩存的所述同父目錄小文件的文件數(shù)量閾值,按照文件數(shù)量閾值依次對已緩存的所述同父目錄小文件進行讀取,即一次進程預(yù)讀的小文件數(shù)量達到閾值的小文件,如果緩存的小文件數(shù)量達到閾值則無需緩存,可以進行預(yù)讀,如果沒有達到文件數(shù)量閾值,則繼續(xù)緩存。

可選的,在上述分布式文件系統(tǒng)的小文件預(yù)讀方法的基礎(chǔ)上,所述步驟S4之后,還包括:

按照文件在目錄中偏移量讀取已緩存的所述同父目錄下后續(xù)的小文件。例如,可設(shè)置每次預(yù)讀會讀取10個小文件,并且按照文件在目錄中的偏移量預(yù)讀。

可選的,在上述分布式文件系統(tǒng)的小文件預(yù)讀方法的基礎(chǔ)上,所述步驟S4之后,還包括:

按照節(jié)點號順序讀取已緩存的所述同父目錄下后續(xù)的小文件。

例如,可設(shè)置每次預(yù)讀會讀取10個文件,并且按照文件在目錄中的節(jié)點號順序預(yù)讀。

需要指出的是,包括但不限于上述預(yù)讀方式,還可以選擇其他的預(yù)讀方式,均在保護范圍內(nèi)。

下面對本發(fā)明實施例提供的一種分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng)進行介紹,下文描述的一種分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng)與方法可相互對應(yīng)參照。

請參考圖2,圖2為本發(fā)明實施例所提供的分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng)的結(jié)構(gòu)框圖。本發(fā)明還提供一種分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng),包括:

接收模塊100,用于接收用戶發(fā)起的小文件的讀請求;

第一判斷模塊200,用于判斷文件系統(tǒng)層中是否存在相應(yīng)的小文件緩存;

緩存模塊300,用于將所述小文件及所述同目錄下后續(xù)的小文件緩存至所述文件系統(tǒng)層中;

預(yù)讀模塊400,用于讀取底層存儲介質(zhì)中的所述小文件及其同目錄下后續(xù)的小文件,讀取所述文件系統(tǒng)層中的所述小文件緩存。

進一步的,在上述分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng)中,還包括:

第二判斷模塊,用于判斷所述小文件以及所述同目錄下后續(xù)的小文件的大小是否超過用戶配置的文件大小閾值。

進一步的,在上述分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng)中,還包括:

第三判斷模塊,用于判斷已緩存至文件系統(tǒng)層中的所述同目錄下后續(xù)的小文件的數(shù)量是否超過用戶配置的文件數(shù)量閾值。

進一步的,在上述分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng)中,所述預(yù)讀模塊包括:

第一預(yù)讀單元,用于按照在目錄中文件偏移量讀取已緩存的所述同父目錄下后續(xù)的小文件。

進一步的,在上述分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng)中,所述預(yù)讀模塊還包括:

第二預(yù)讀單元,用于按照節(jié)點號順序讀取已緩存的所述同父目錄下后續(xù)的小文件。

本發(fā)明提供的一種分布式文件系統(tǒng)的小文件預(yù)讀系統(tǒng),通過對底層存儲介質(zhì)中的小文件以及對應(yīng)的同父目錄下的小文件進行緩存,從文件系統(tǒng)層中直接讀取小文件或者與所述小文件對應(yīng)的同父目錄小文件能夠加快小文件讀取速度。

說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。

專業(yè)人員還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。

本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權(quán)利要求的保護范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
东乌珠穆沁旗| 榆社县| 彩票| 衡阳市| 延吉市| 永寿县| 建宁县| 兴海县| 元阳县| 荔浦县| 青神县| 津南区| 天门市| 和平区| 方城县| 会泽县| 南充市| 揭东县| 营山县| 建湖县| 漳平市| 长兴县| 靖远县| 汉阴县| 淮滨县| 屯昌县| 鸡泽县| 宁武县| 佛坪县| 达尔| 河曲县| 高安市| 湟中县| 漳平市| 丰城市| 海门市| 蒙阴县| 平和县| 台中市| 岢岚县| 皋兰县|