本發(fā)明涉及分布式文件系統(tǒng)技術(shù)領(lǐng)域,特別是涉及一種文件讀取的方法以及裝置。
背景技術(shù):
隨著文件存儲(chǔ)技術(shù)的發(fā)展進(jìn)步,分布式文件系統(tǒng)的應(yīng)用也越來(lái)越廣泛。
ceph文件系統(tǒng)是一個(gè)可擴(kuò)展、高性能的分布式文件系統(tǒng),而ceph文件系統(tǒng)一般是基于糾刪碼技術(shù)的。基于糾刪碼的分布式文件系統(tǒng)可以提供優(yōu)化的數(shù)據(jù)冗余度,且可以提高存儲(chǔ)空間的利用率。在讀取基于糾刪碼的分布式文件系統(tǒng)內(nèi)的文件數(shù)據(jù)時(shí),一般地,無(wú)論是讀取整個(gè)文件,還是讀取文件中一小塊,底層存儲(chǔ)系統(tǒng)都會(huì)讀取k個(gè)osd上的所有文件數(shù)據(jù),并對(duì)所有的文件數(shù)據(jù)進(jìn)行解碼,然后將所得到完整的數(shù)據(jù)返回給客戶端。
但是,由于文件的讀取需要大量的計(jì)算和數(shù)據(jù)傳輸,在基于糾刪碼的分布式文件系統(tǒng)內(nèi),小文件的讀取速率要低于于大文件的讀取速率。而小文件可以是指其容量小于糾刪碼分塊存儲(chǔ)的大小,即小文件的大小小于糾刪碼分塊存儲(chǔ)的大小。綜上所述,如何提高基于糾刪碼的分布式文件系統(tǒng)內(nèi)的小文件的讀取速率是本領(lǐng)域亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種文件讀取的方法以及裝置,目的在于解決現(xiàn)有技術(shù)中基于糾刪碼的分布式文件系統(tǒng)內(nèi)的小文件的讀取速率較低的問(wèn)題。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種文件讀取的方法,該方法包括:
向元數(shù)據(jù)服務(wù)器發(fā)送包含所需讀取文件的文件信息的第一讀取請(qǐng)求,以使所述元數(shù)據(jù)服務(wù)器根據(jù)所述文件信息尋找所述文件對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)地址,其中,所述文件為文件容量小于糾刪碼分塊存儲(chǔ)容量的小文件;
接收所述元數(shù)據(jù)服務(wù)器返回的所述存儲(chǔ)節(jié)點(diǎn)地址,判斷所述存儲(chǔ)節(jié)點(diǎn)地址的個(gè)數(shù)是否為一個(gè);
若是,向所述存儲(chǔ)節(jié)點(diǎn)地址對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)發(fā)送第二讀取請(qǐng)求,以使所述存儲(chǔ)節(jié)點(diǎn)根據(jù)所述第二讀取請(qǐng)求返回文件數(shù)據(jù);
對(duì)所述文件數(shù)據(jù)進(jìn)行解析操作,得出所述文件。
可選地,在所述接收所述元數(shù)據(jù)服務(wù)器返回的所述存儲(chǔ)節(jié)點(diǎn)地址,判斷所述存儲(chǔ)節(jié)點(diǎn)地址的個(gè)數(shù)是否為一個(gè)之后還包括:
若否,向多個(gè)所述存儲(chǔ)節(jié)點(diǎn)地址對(duì)應(yīng)的多個(gè)所述存儲(chǔ)節(jié)點(diǎn)發(fā)送所述第二讀取請(qǐng)求,以使主存儲(chǔ)節(jié)點(diǎn)獲取所述文件數(shù)據(jù),并對(duì)所述文件數(shù)據(jù)進(jìn)行解析操作,得出所述文件;
接收所述主存儲(chǔ)節(jié)點(diǎn)返回的所述文件。
可選地,所述向元數(shù)據(jù)服務(wù)器發(fā)送包含所需讀取文件的文件信息的第一讀取請(qǐng)求,以使所述元數(shù)據(jù)服務(wù)器根據(jù)所述文件信息尋找所述文件對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)地址包括:
向所述元數(shù)據(jù)服務(wù)器發(fā)送包含所需讀取所述文件的所述文件信息的所述第一讀取請(qǐng)求,以使所述元數(shù)據(jù)服務(wù)器根據(jù)所述文件信息以及預(yù)記錄的分塊信息,尋找所述文件對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)地址;
其中,所述分塊信息為所述元數(shù)據(jù)服務(wù)器在將所述文件數(shù)據(jù)存儲(chǔ)至所述存儲(chǔ)節(jié)點(diǎn)時(shí)所記錄的各個(gè)存儲(chǔ)節(jié)點(diǎn)的信息。
此外,本發(fā)明還提供了一種文件讀取的裝置,該裝置包括:
第一發(fā)送模塊,用于向元數(shù)據(jù)服務(wù)器發(fā)送包含所需讀取文件的文件信息的第一讀取請(qǐng)求,以使所述元數(shù)據(jù)服務(wù)器根據(jù)所述文件信息尋找所述文件對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)地址,其中,所述文件為文件容量小于糾刪碼分塊存儲(chǔ)容量的小文件;
判斷模塊,用于接收所述元數(shù)據(jù)服務(wù)器返回的所述存儲(chǔ)節(jié)點(diǎn)地址,判斷所述存儲(chǔ)節(jié)點(diǎn)地址的個(gè)數(shù)是否為一個(gè);
第二發(fā)送模塊,用于若是,向所述存儲(chǔ)節(jié)點(diǎn)地址對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)發(fā)送第二讀取請(qǐng)求,以使所述存儲(chǔ)節(jié)點(diǎn)根據(jù)所述第二讀取請(qǐng)求返回文件數(shù)據(jù);
解析模塊,用于對(duì)所述文件數(shù)據(jù)進(jìn)行解析操作,得出所述文件。
可選地,還包括
第三發(fā)送模塊,用于若否,向多個(gè)所述存儲(chǔ)節(jié)點(diǎn)地址對(duì)應(yīng)的多個(gè)所述存儲(chǔ)節(jié)點(diǎn)發(fā)送所述第二讀取請(qǐng)求,以使主存儲(chǔ)節(jié)點(diǎn)獲取所述文件數(shù)據(jù),并對(duì)所述文件數(shù)據(jù)進(jìn)行解析操作,得出所述文件;
接收模塊,用于接收所述主存儲(chǔ)節(jié)點(diǎn)返回的所述文件。
可選地,所述第一發(fā)送模塊包括:
發(fā)送單元,用于向所述元數(shù)據(jù)服務(wù)器發(fā)送包含所需讀取所述文件的所述文件信息的所述第一讀取請(qǐng)求,以使所述元數(shù)據(jù)服務(wù)器根據(jù)所述文件信息以及預(yù)記錄的分塊信息,尋找所述文件對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)地址;
其中,所述分塊信息為所述元數(shù)據(jù)服務(wù)器在將所述文件數(shù)據(jù)存儲(chǔ)至所述存儲(chǔ)節(jié)點(diǎn)時(shí)所記錄的各個(gè)存儲(chǔ)節(jié)點(diǎn)的信息。
本發(fā)明所提供的一種文件讀取的方法以及裝置,通過(guò)向元數(shù)據(jù)服務(wù)器發(fā)送包含所需讀取文件的文件信息的第一讀取請(qǐng)求,以使上述元數(shù)據(jù)服務(wù)器根據(jù)上述文件信息尋找上述文件對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)地址,其中,上述文件為文件容量小于糾刪碼分塊存儲(chǔ)容量的小文件;接收上述元數(shù)據(jù)服務(wù)器返回的上述存儲(chǔ)節(jié)點(diǎn)地址,判斷上述存儲(chǔ)節(jié)點(diǎn)地址的個(gè)數(shù)是否為一個(gè);若是,向上述存儲(chǔ)節(jié)點(diǎn)地址對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)發(fā)送第二讀取請(qǐng)求,以使上述存儲(chǔ)節(jié)點(diǎn)根據(jù)上述第二讀取請(qǐng)求返回文件數(shù)據(jù);對(duì)上述文件數(shù)據(jù)進(jìn)行解析操作,得出上述文件。當(dāng)小文件存儲(chǔ)在一個(gè)存儲(chǔ)節(jié)點(diǎn)上時(shí),直接從存儲(chǔ)節(jié)點(diǎn)上讀取所需的小文件,相較于傳統(tǒng)的小文件讀取方法,其省去了主存儲(chǔ)節(jié)點(diǎn)搜集解析數(shù)據(jù)的過(guò)程,使得小文件讀取速率較高。可見(jiàn),本申請(qǐng)有利于提高小文件的讀取速率。
附圖說(shuō)明
為了更清楚的說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例所提供的文件讀取方法的一種具體實(shí)施方式的流程示意圖;
圖2為本發(fā)明實(shí)施例所提供的文件讀取裝置的結(jié)構(gòu)示意框圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請(qǐng)參見(jiàn)圖1,圖1為本發(fā)明實(shí)施例所提供的文件讀取方法的一種具體實(shí)施方式的流程示意圖,該方法包括以下步驟:
步驟101:向元數(shù)據(jù)服務(wù)器發(fā)送包含所需讀取文件的文件信息的第一讀取請(qǐng)求,以使所述元數(shù)據(jù)服務(wù)器根據(jù)所述文件信息尋找所述文件對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)地址,其中,所述文件為文件容量小于糾刪碼分塊存儲(chǔ)容量的小文件;
需要說(shuō)明的是,上述文件的文件容量小于糾刪碼分塊存儲(chǔ)容量,即上述文件的大小小于糾刪碼計(jì)算塊的大小,可以稱為小文件。而上述文件可以具體表現(xiàn)為某一個(gè)文件里面的某一小段文件內(nèi)容。例如,一個(gè)文件所包括的內(nèi)容有abcdefghi…jkmnopqr等內(nèi)容,利用糾刪碼技術(shù)的基本思想,在進(jìn)行文件存儲(chǔ)時(shí),需要將文件數(shù)據(jù)劃分為多份數(shù)據(jù),將多份數(shù)據(jù)分別存儲(chǔ)在相應(yīng)的存儲(chǔ)節(jié)點(diǎn)上,其中某個(gè)存儲(chǔ)節(jié)點(diǎn)上所存儲(chǔ)的文件數(shù)據(jù)可以為ghipqr,此時(shí),該小文件可以是指ghipqr。
具體地,客戶端可以向元數(shù)據(jù)服務(wù)器(metadataserver,mds)發(fā)送第一讀取請(qǐng)求,該第一讀取請(qǐng)求可以包含所需讀取文件的具體信息。mds可以根據(jù)文件信息,找出該文件存儲(chǔ)在哪個(gè)存儲(chǔ)節(jié)點(diǎn)地址,即存儲(chǔ)在哪個(gè)osd上,即找出該文件所對(duì)應(yīng)的osd地址。在基于糾刪碼的分布式文件系統(tǒng)上,osd可以與存儲(chǔ)節(jié)點(diǎn)等同。
而mds在將劃分之后的數(shù)據(jù)塊存儲(chǔ)至相應(yīng)的osd上時(shí),會(huì)相應(yīng)地記錄各個(gè)數(shù)據(jù)塊與相應(yīng)的osd信息。mds可以根據(jù)文件信息以及所記錄的信息尋找到相應(yīng)的存儲(chǔ)節(jié)點(diǎn)地址。
作為一種具體實(shí)施方式,上述向元數(shù)據(jù)服務(wù)器發(fā)送包含所需讀取文件的文件信息的第一讀取請(qǐng)求,以使所述元數(shù)據(jù)服務(wù)器根據(jù)所述文件信息尋找所述文件對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)地址的過(guò)程可以具體為:向元數(shù)據(jù)服務(wù)器發(fā)送包含所需讀取文件的文件信息的第一讀取請(qǐng)求,以使所述元數(shù)據(jù)服務(wù)器根據(jù)所述文件信息以及預(yù)記錄的分塊信息,尋找所述文件對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)地址;其中,所述分塊信息為所述元數(shù)據(jù)服務(wù)器在將所述文件數(shù)據(jù)存儲(chǔ)至所述存儲(chǔ)節(jié)點(diǎn)時(shí)所記錄的各個(gè)存儲(chǔ)節(jié)點(diǎn)的信息。
可以理解的是,而上述文件可能存儲(chǔ)在一個(gè)osd上,此時(shí)則返回一個(gè)osd地址,也可能存儲(chǔ)在多個(gè)osd上,此時(shí)則返回多個(gè)相應(yīng)的osd地址。
步驟102:接收所述元數(shù)據(jù)服務(wù)器返回的所述存儲(chǔ)節(jié)點(diǎn)地址,判斷所述存儲(chǔ)節(jié)點(diǎn)地址的個(gè)數(shù)是否為一個(gè);
顯而易見(jiàn)地,當(dāng)返回的存儲(chǔ)節(jié)點(diǎn)地址的個(gè)數(shù)是一個(gè)時(shí),則表明上述文件只存儲(chǔ)在一個(gè)存儲(chǔ)節(jié)點(diǎn)上,即只存儲(chǔ)在一個(gè)osd上。此時(shí),可以直接根據(jù)該存儲(chǔ)節(jié)點(diǎn)地址,讀取到所需的文件數(shù)據(jù)。
具體地,客戶端可以接受mds返回的存儲(chǔ)節(jié)點(diǎn)地址,繼而判斷所返回的存儲(chǔ)節(jié)點(diǎn)地址的個(gè)數(shù)多少。
步驟103:若是,向所述存儲(chǔ)節(jié)點(diǎn)地址對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)發(fā)送第二讀取請(qǐng)求,以使所述存儲(chǔ)節(jié)點(diǎn)根據(jù)所述第二讀取請(qǐng)求返回文件數(shù)據(jù);
客戶端判斷出當(dāng)前存儲(chǔ)節(jié)點(diǎn)地址的個(gè)數(shù)為一個(gè),則可以判斷出所需讀取的文件只存儲(chǔ)在一個(gè)存儲(chǔ)節(jié)點(diǎn)上,故可以根據(jù)存儲(chǔ)節(jié)點(diǎn)地址,向存儲(chǔ)節(jié)點(diǎn)發(fā)送第二讀取請(qǐng)求,相應(yīng)的存儲(chǔ)節(jié)點(diǎn)會(huì)返回所存儲(chǔ)的文件數(shù)據(jù)。
步驟104:對(duì)所述文件數(shù)據(jù)進(jìn)行解析操作,得出所述文件。
具體地,客戶端可以接受存儲(chǔ)節(jié)點(diǎn)返回的文件數(shù)據(jù),繼而對(duì)文件數(shù)據(jù)進(jìn)行解碼還原,得出所需的文件。
可以理解的是,mds可能返回多個(gè)存儲(chǔ)節(jié)點(diǎn)地址,此時(shí),上述文件存儲(chǔ)在多個(gè)存儲(chǔ)節(jié)點(diǎn)上。此時(shí),可以同時(shí)向多個(gè)存儲(chǔ)節(jié)點(diǎn)發(fā)送讀取數(shù)據(jù)的請(qǐng)求,由主存儲(chǔ)節(jié)點(diǎn)收集解析數(shù)據(jù)。
可以看出,通過(guò)判斷mds所返回的存儲(chǔ)節(jié)點(diǎn)地址是否為一個(gè),進(jìn)而得出小文件是否存儲(chǔ)在一個(gè)存儲(chǔ)節(jié)點(diǎn)上。當(dāng)文件存儲(chǔ)在一個(gè)存儲(chǔ)節(jié)點(diǎn)即一個(gè)osd上時(shí),則直接從相應(yīng)的osd上讀取所需數(shù)據(jù),并由客戶端進(jìn)行數(shù)據(jù)的解碼還原操作,相較于傳統(tǒng)的小文件讀取方法,其提高了小文件的讀取速率,減輕了主osd的運(yùn)算壓力以及通信壓力。
作為一種具體實(shí)施方式,在上述接收所述元數(shù)據(jù)服務(wù)器返回的所述存儲(chǔ)節(jié)點(diǎn)地址,判斷所述存儲(chǔ)節(jié)點(diǎn)地址的個(gè)數(shù)是否為一個(gè)之后還可以包括:若否,向多個(gè)所述存儲(chǔ)節(jié)點(diǎn)地址對(duì)應(yīng)的多個(gè)所述存儲(chǔ)節(jié)點(diǎn)發(fā)送所述第二讀取請(qǐng)求,以使主存儲(chǔ)節(jié)點(diǎn)獲取所述文件數(shù)據(jù),并對(duì)所述文件數(shù)據(jù)進(jìn)行解析操作,得出所述文件;接收所述主存儲(chǔ)節(jié)點(diǎn)返回的所述文件。
具體地,客戶端向多個(gè)osd發(fā)送讀取數(shù)據(jù)請(qǐng)求,此時(shí),主osd會(huì)承擔(dān)數(shù)據(jù)搜集以及數(shù)據(jù)解析還原的操作,主osd得出完整文件后,會(huì)將文件返回給客戶端。
本發(fā)明實(shí)施例所提供的文件讀取的方法,通過(guò)向元數(shù)據(jù)服務(wù)器發(fā)送包含所需讀取文件的文件信息的第一讀取請(qǐng)求,以使上述元數(shù)據(jù)服務(wù)器根據(jù)上述文件信息尋找上述文件對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)地址,其中,上述文件為文件容量小于糾刪碼分塊存儲(chǔ)容量的小文件;接收上述元數(shù)據(jù)服務(wù)器返回的上述存儲(chǔ)節(jié)點(diǎn)地址,判斷上述存儲(chǔ)節(jié)點(diǎn)地址的個(gè)數(shù)是否為一個(gè);若是,向上述存儲(chǔ)節(jié)點(diǎn)地址對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)發(fā)送第二讀取請(qǐng)求,以使上述存儲(chǔ)節(jié)點(diǎn)根據(jù)上述第二讀取請(qǐng)求返回文件數(shù)據(jù);對(duì)上述文件數(shù)據(jù)進(jìn)行解析操作,得出上述文件。當(dāng)小文件存儲(chǔ)在一個(gè)存儲(chǔ)節(jié)點(diǎn)上時(shí),直接從存儲(chǔ)節(jié)點(diǎn)上讀取所需的小文件,相較于傳統(tǒng)的小文件讀取方法,其省去了主存儲(chǔ)節(jié)點(diǎn)搜集解析數(shù)據(jù)的過(guò)程,使得小文件讀取速率較高??梢钥闯?,該裝置有利于提高小文件的讀取速率。
下面對(duì)本發(fā)明實(shí)施例提供的文件讀取裝置進(jìn)行介紹,下文描述的文件讀取裝置與上文描述的文件讀取方法可相互對(duì)應(yīng)參照。
圖2為本發(fā)明實(shí)施例所提供的文件讀取裝置的結(jié)構(gòu)示意框圖,參照?qǐng)D2文件讀取裝置可以包括:
第一發(fā)送模塊201,用于向元數(shù)據(jù)服務(wù)器發(fā)送包含所需讀取文件的文件信息的第一讀取請(qǐng)求,以使所述元數(shù)據(jù)服務(wù)器根據(jù)所述文件信息尋找所述文件對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)地址,其中,所述文件為文件容量小于糾刪碼分塊存儲(chǔ)容量的小文件;
判斷模塊202,用于接收所述元數(shù)據(jù)服務(wù)器返回的所述存儲(chǔ)節(jié)點(diǎn)地址,判斷所述存儲(chǔ)節(jié)點(diǎn)地址的個(gè)數(shù)是否為一個(gè);
第二發(fā)送模塊203,用于若是,向所述存儲(chǔ)節(jié)點(diǎn)地址對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)發(fā)送第二讀取請(qǐng)求,以使所述存儲(chǔ)節(jié)點(diǎn)根據(jù)所述第二讀取請(qǐng)求返回文件數(shù)據(jù);
解析模塊204,用于對(duì)所述文件數(shù)據(jù)進(jìn)行解析操作,得出所述文件。
可選地,還包括
第三發(fā)送模塊,用于若否,向多個(gè)所述存儲(chǔ)節(jié)點(diǎn)地址對(duì)應(yīng)的多個(gè)所述存儲(chǔ)節(jié)點(diǎn)發(fā)送所述第二讀取請(qǐng)求,以使主存儲(chǔ)節(jié)點(diǎn)獲取所述文件數(shù)據(jù),并對(duì)所述文件數(shù)據(jù)進(jìn)行解析操作,得出所述文件;
接收模塊,用于接收所述主存儲(chǔ)節(jié)點(diǎn)返回的所述文件。
可選地,所述第一發(fā)送模塊包括:
發(fā)送單元,用于向所述元數(shù)據(jù)服務(wù)器發(fā)送包含所需讀取所述文件的所述文件信息的所述第一讀取請(qǐng)求,以使所述元數(shù)據(jù)服務(wù)器根據(jù)所述文件信息以及預(yù)記錄的分塊信息,尋找所述文件對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)地址;
其中,所述分塊信息為所述元數(shù)據(jù)服務(wù)器在將所述文件數(shù)據(jù)存儲(chǔ)至所述存儲(chǔ)節(jié)點(diǎn)時(shí)所記錄的各個(gè)存儲(chǔ)節(jié)點(diǎn)的信息。
本發(fā)明實(shí)施例所提供的文件讀取的裝置,通過(guò)向元數(shù)據(jù)服務(wù)器發(fā)送包含所需讀取文件的文件信息的第一讀取請(qǐng)求,以使上述元數(shù)據(jù)服務(wù)器根據(jù)上述文件信息尋找上述文件對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)地址,其中,上述文件為文件容量小于糾刪碼分塊存儲(chǔ)容量的小文件;接收上述元數(shù)據(jù)服務(wù)器返回的上述存儲(chǔ)節(jié)點(diǎn)地址,判斷上述存儲(chǔ)節(jié)點(diǎn)地址的個(gè)數(shù)是否為一個(gè);若是,向上述存儲(chǔ)節(jié)點(diǎn)地址對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)發(fā)送第二讀取請(qǐng)求,以使上述存儲(chǔ)節(jié)點(diǎn)根據(jù)上述第二讀取請(qǐng)求返回文件數(shù)據(jù);對(duì)上述文件數(shù)據(jù)進(jìn)行解析操作,得出上述文件。當(dāng)小文件存儲(chǔ)在一個(gè)存儲(chǔ)節(jié)點(diǎn)上時(shí),直接從存儲(chǔ)節(jié)點(diǎn)上讀取所需的小文件,相較于傳統(tǒng)的小文件讀取方法,其省去了主存儲(chǔ)節(jié)點(diǎn)搜集解析數(shù)據(jù)的過(guò)程,使得小文件讀取速率較高??梢钥闯觯撗b置有利于提高小文件的讀取速率。
本說(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ō)明即可。
專(zhuān)業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件和軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專(zhuān)業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開(kāi)的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(ram)、內(nèi)存、只讀存儲(chǔ)器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤(pán)、可移動(dòng)磁盤(pán)、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
以上對(duì)本發(fā)明所提供的文件讀取的方法以及裝置進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想。應(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)。