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

千萬級小文件數(shù)據(jù)的一種讀寫解決方法

文檔序號:6630977閱讀:448來源:國知局
千萬級小文件數(shù)據(jù)的一種讀寫解決方法
【專利摘要】本發(fā)明提供一種千萬級小文件數(shù)據(jù)的一種讀寫解決方法,本發(fā)明在存儲小文件時是通過采用開辟大塊連續(xù)磁盤空間的方式來存儲大量小文件,也就是將邏輯上連續(xù)的數(shù)據(jù)盡可能地存儲在磁盤陣列的連續(xù)空間上;磁盤空間劃分為多個塊,每個塊的大小為64KB,基本思想為:每個小文件只能存放在單個塊中,不能跨越2個塊存放,每一個文件夾將擁有一個或多個塊,這些塊都只存放此文件夾的數(shù)據(jù),每個文件數(shù)據(jù)都存放在連續(xù)的磁盤空間上;本發(fā)明和現(xiàn)有技術(shù)相比,該發(fā)明的方法通過將邏輯上連續(xù)的數(shù)據(jù)盡可能存儲在物理磁盤的連續(xù)空間,使用cache技術(shù)充當(dāng)元數(shù)據(jù)服務(wù)器的角色并通過簡化的文件信息節(jié)點提高cache利用率,提高了小文件訪問性能。
【專利說明】 千萬級小文件數(shù)據(jù)的一種讀寫解決方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機應(yīng)用【技術(shù)領(lǐng)域】,具體地說是一種千萬級小文件數(shù)據(jù)的一種讀寫解決方法。

【背景技術(shù)】
[0002]在現(xiàn)階段的讀取、存儲領(lǐng)域小文件是數(shù)據(jù)訪問、使用的最常見的數(shù)據(jù)形式。相對于大文件的條帶化技術(shù)進行切片,來提高用戶對文件訪問的并發(fā)性,小文件64KB)由于其不利于條帶化,傳統(tǒng)的方法一般是采用將單個文件存儲在單個數(shù)據(jù)服務(wù)器上的方法,但是當(dāng)小文件的數(shù)量到達一定程度之后,對小文件的大量地重復(fù)訪問將會給數(shù)據(jù)服務(wù)器帶來性能上的負擔(dān)及I/O瓶頸問題,由于互聯(lián)網(wǎng)上的數(shù)據(jù)信息大多以高頻率的小文件形式表現(xiàn)出來,而且在一般用戶的信息讀取、存儲中,對小文件的讀取、存儲較多,因此對互聯(lián)網(wǎng)上高頻率的小文件讀/寫性能的研究有重要的現(xiàn)實意義。
[0003]在現(xiàn)階段,傳統(tǒng)的針對千萬級小文件的處理、操作等管理上主要存在以下3個方面的問題:
(1)由于小文件的訪問頻率較高,需要多次訪問磁盤,所以磁盤I/o的性能較低;
(2)因為文件比較小,容易形成文件碎片而造成磁盤空間的浪費;
(3)為每個小文件請求建立一個連接時容易產(chǎn)生網(wǎng)絡(luò)時延,降低了小文件的讀取速率。


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

[0004]本發(fā)明的目的是克服現(xiàn)有技術(shù)中存在的不足,提供一種千萬級小文件數(shù)據(jù)的一種讀寫解決方法,通過提前發(fā)送批量高頻率訪問的文件傳輸方法來減少小文件的傳輸時延,提高了小文件的讀取存儲的性能。
[0005]本發(fā)明的技術(shù)方案是按以下方式實現(xiàn)的,方法如下:
小文件在磁盤陣列上的存儲結(jié)構(gòu)布局設(shè)計方法為:
本發(fā)明在存儲小文件時是通過采用開辟大塊連續(xù)磁盤空間的方式來存儲大量小文件,也就是將邏輯上連續(xù)的數(shù)據(jù)盡可能地存儲在磁盤陣列的連續(xù)空間上,即將同一個文件的數(shù)據(jù)或?qū)⑼粋€文件夾下的文件數(shù)據(jù)盡可能地存儲在連續(xù)的磁盤陣列塊上;磁盤空間劃分為多個塊,每個塊的大小為64KB,基本思想為:每個小文件只能存放在單個塊中,不能跨越2個塊存放,每一個文件夾將擁有一個或多個塊,這些塊都只存放此文件夾的數(shù)據(jù),每個文件數(shù)據(jù)都存放在連續(xù)的磁盤空間上;
小文件在磁盤陣列上的存儲數(shù)據(jù)結(jié)構(gòu)為:
在本專利中設(shè)計了一種適合小文件的簡化Node屬性信息;同時,我們將文件信息節(jié)點的屬性信息存放在元數(shù)據(jù)服務(wù)器上,這樣只需要知道文件的磁盤空間信息即可進行訪問;對Node的數(shù)據(jù)結(jié)構(gòu)進行簡化設(shè)計,只保留文件的磁盤空間信息以及屬于它的少量數(shù)據(jù)成員,其中,F(xiàn)il e_id是文件標(biāo)識符;StartPos it 1n是文件在塊中的起始位置;Long是文件的長度;Weight是文件權(quán)重,在本方法中代表文件的訪問頻率;Block_id是文件所存放的塊的標(biāo)識符;Count是文件的訪問計數(shù)器;Lock是文件鎖;
小文件的讀取操作設(shè)計為:
在讀寫小文件的時間延遲主要花在磁盤磁頭的尋道定位上,一旦定位好,讀取一個數(shù)據(jù)塊所花費的時間和讀取連續(xù)幾個數(shù)據(jù)塊的時間相差不是很大,因此,結(jié)合上面提出的優(yōu)化的數(shù)據(jù)存儲結(jié)構(gòu),在本解決方案中采用預(yù)讀的方式,將同一個塊中的文件一起讀取出來,從而減少磁盤I/O的次數(shù);針對頻繁訪問元數(shù)據(jù)服務(wù)器上的磁盤造成整個系統(tǒng)I/O性能較差的問題,在本發(fā)明的方法中,使用cache充當(dāng)元數(shù)據(jù)服務(wù)器的角色,在cache上保存文件信息節(jié)點的信息,并且通過簡化的Node數(shù)據(jù)結(jié)構(gòu)使每個文件信息節(jié)點只保留文件的磁盤空間信息以及另外少量有用的信息,從而提高cache的利用率,使cache能夠保存大量的文件信息節(jié)點,通過這種方式,減少訪問磁盤的次數(shù)和讀取文件信息節(jié)點的開銷,從而提高I/O性能。
[0006]本發(fā)明的優(yōu)點是:
本發(fā)明的千萬級小文件數(shù)據(jù)的一種讀寫解決方法和現(xiàn)有技術(shù)相比,該發(fā)明的方法通過將邏輯上連續(xù)的數(shù)據(jù)盡可能存儲在物理磁盤的連續(xù)空間,使用cache技術(shù)充當(dāng)元數(shù)據(jù)服務(wù)器的角色并通過簡化的文件信息節(jié)點提高cache利用率,提高了小文件訪問性能;聚合更新數(shù)據(jù)及其文件夾域中的相關(guān)數(shù)據(jù)為一次I/O請求寫入,減少了文件碎片數(shù)量,讀取時采用提前發(fā)送批量的高訪問率的小文件方式來降低頻繁的I/O操作,較好的提高了文件傳輸性能。
[0007]實施方式
下面對本發(fā)明的千萬級小文件數(shù)據(jù)的一種讀寫解決方法作以下詳細說明。
[0008]本發(fā)明的千萬級小文件數(shù)據(jù)的一種讀寫解決方法,方法如下:
小文件在磁盤陣列上的存儲結(jié)構(gòu)布局設(shè)計方法為:
本發(fā)明在存儲小文件時是通過采用開辟大塊連續(xù)磁盤空間的方式來存儲大量小文件,也就是將邏輯上連續(xù)的數(shù)據(jù)盡可能地存儲在磁盤陣列的連續(xù)空間上,即將同一個文件的數(shù)據(jù)或?qū)⑼粋€文件夾下的文件數(shù)據(jù)盡可能地存儲在連續(xù)的磁盤陣列塊上;磁盤空間劃分為多個塊,每個塊的大小為64KB,基本思想為:每個小文件只能存放在單個塊中,不能跨越2個塊存放,每一個文件夾將擁有一個或多個塊,這些塊都只存放此文件夾的數(shù)據(jù),每個文件數(shù)據(jù)都存放在連續(xù)的磁盤空間上;
小文件在磁盤陣列上的存儲數(shù)據(jù)結(jié)構(gòu)為:
在本專利中設(shè)計了一種適合小文件的簡化Node屬性信息;同時,我們將文件信息節(jié)點的屬性信息存放在元數(shù)據(jù)服務(wù)器上,這樣只需要知道文件的磁盤空間信息即可進行訪問;對Node的數(shù)據(jù)結(jié)構(gòu)進行簡化設(shè)計,只保留文件的磁盤空間信息以及屬于它的少量數(shù)據(jù)成員,其中,F(xiàn)il e_id是文件標(biāo)識符;StartPos it 1n是文件在塊中的起始位置;Long是文件的長度;Weight是文件權(quán)重,在本方法中代表文件的訪問頻率;Block_id是文件所存放的塊的標(biāo)識符;Count是文件的訪問計數(shù)器;Lock是文件鎖;
小文件的讀取操作設(shè)計為:
在讀寫小文件的時間延遲主要花在磁盤磁頭的尋道定位上,一旦定位好,讀取一個數(shù)據(jù)塊所花費的時間和讀取連續(xù)幾個數(shù)據(jù)塊的時間相差不是很大,因此,結(jié)合上面提出的優(yōu)化的數(shù)據(jù)存儲結(jié)構(gòu),在本解決方案中采用預(yù)讀的方式,將同一個塊中的文件一起讀取出來,從而減少磁盤I/o的次數(shù);針對頻繁訪問元數(shù)據(jù)服務(wù)器上的磁盤造成整個系統(tǒng)I/O性能較差的問題,在本發(fā)明的方法中,使用cache充當(dāng)元數(shù)據(jù)服務(wù)器的角色,在cache上保存文件信息節(jié)點的信息,并且通過簡化的Node數(shù)據(jù)結(jié)構(gòu)使每個文件信息節(jié)點只保留文件的磁盤空間信息以及另外少量有用的信息,從而提高cache的利用率,使cache能夠保存大量的文件信息節(jié)點,通過這種方式,減少訪問磁盤的次數(shù)和讀取文件信息節(jié)點的開銷,從而提高I/O性能。
[0009]本發(fā)明設(shè)計在存儲小文件時通過采用開辟大塊的連續(xù)磁盤空間的方式來存儲大量的小文件。首先將磁盤空間劃分為多個塊,每個塊的大小為64KB,大文件的連續(xù)磁盤空間就由這一系列塊所組成,當(dāng)遇到的文件比較小時,每個小文件只能存放在單個塊中,不能跨越2個塊存放,每個文件數(shù)據(jù)都存放在連續(xù)的磁盤空間上,Al,A2,A3,A4和A5為5個文件,文件與文件之間連續(xù)存放,如Al與A2,A3與A4,紅色部分為此塊的碎片,當(dāng)出現(xiàn)文件的大小小于這些碎片的大小時,應(yīng)優(yōu)先把文件存放在這些碎片中,為了提高“預(yù)讀”數(shù)據(jù)的命中率,在本發(fā)明的存儲布局中設(shè)計的是將邏輯上連續(xù)的數(shù)據(jù)盡可能地存儲在物理磁盤的連續(xù)空間上,即將同一個文件的數(shù)據(jù)或?qū)⑼粋€文件夾下的文件數(shù)據(jù)盡可能地存儲在連續(xù)的磁盤空間塊上,每一個文件夾將擁有一個或多個塊,這些塊都只存放此文件夾的文件
[0010]在本系統(tǒng)的數(shù)據(jù)存儲結(jié)構(gòu)中,我們將文件信息節(jié)點的屬性信息存放在元數(shù)據(jù)服務(wù)器上,在I/o服務(wù)器上,只需要知道文件的磁盤空間信息即可進行訪問,因此在I/O服務(wù)器上,只需要記錄文件的磁盤空間信息,而不需要記錄文件的其他屬性,如創(chuàng)建時間、最后訪問時間和所屬用戶等。基于此,對Node的數(shù)據(jù)結(jié)構(gòu)進行簡化設(shè)計,只保留文件的磁盤空間信息以及屬于它的少量數(shù)據(jù)成員,因此,設(shè)計了一種簡化的Node屬性信息,其中,F(xiàn)ile_id是文件標(biāo)識符;StartPosit1n是文件在塊中的起始位置;Long是文件的長度;Weight是文件權(quán)重,在本方法中代表文件的訪問頻率;Block_id是文件所存放的塊的標(biāo)識符;Count是文件的訪問計數(shù)器;Lock是文件鎖。
[0011]針對本系統(tǒng)的數(shù)據(jù)存儲訪問頻率問題,首先,設(shè)計一個全局變量NodeList,NodeList是對Node的一個排序鏈表,根據(jù)文件的訪問頻率進行排序,它是為了實現(xiàn)優(yōu)化文件傳輸而設(shè)計的,為整個小文件讀取、存儲解決方案服務(wù)。NodeList是對與每個文件夾而服務(wù)的,根據(jù)文件夾里的每個文件的訪問頻率形成一個排序列表,當(dāng)用戶訪問該文件夾里的某個文件時,系統(tǒng)會自動地將這個列表里高訪問頻率的文件一起發(fā)送過去,但為了避免發(fā)送過多的文件,設(shè)定一個高訪問頻率的閾值,并將所有訪問頻率高于的文件順序分成多個組,每個組可能包含多個文件,組中所有文件大小之和不超過64KB,每當(dāng)用戶請求當(dāng)前文件夾中的一個文件時,系統(tǒng)會按照順序?qū)⒁粋€組的文件一起發(fā)送過去,從而降低文件傳輸時延。
[0012]本發(fā)明的千萬級小文件數(shù)據(jù)的一種讀寫解決方法其加工制作非常簡單方便,按照說明書所示即可加工。
[0013]除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
【權(quán)利要求】
1.千萬級小文件數(shù)據(jù)的一種讀寫解決方法,其特征在于: 小文件在磁盤陣列上的存儲結(jié)構(gòu)布局設(shè)計方法為: 本發(fā)明在存儲小文件時是通過采用開辟大塊連續(xù)磁盤空間的方式來存儲大量小文件,也就是將邏輯上連續(xù)的數(shù)據(jù)盡可能地存儲在磁盤陣列的連續(xù)空間上,即將同一個文件的數(shù)據(jù)或?qū)⑼粋€文件夾下的文件數(shù)據(jù)盡可能地存儲在連續(xù)的磁盤陣列塊上;磁盤空間劃分為多個塊,每個塊的大小為64KB,基本思想為:每個小文件只能存放在單個塊中,不能跨越2個塊存放,每一個文件夾將擁有一個或多個塊,這些塊都只存放此文件夾的數(shù)據(jù),每個文件數(shù)據(jù)都存放在連續(xù)的磁盤空間上; 小文件在磁盤陣列上的存儲數(shù)據(jù)結(jié)構(gòu)為: 在本專利中設(shè)計了一種適合小文件的簡化Node屬性信息;同時,我們將文件信息節(jié)點的屬性信息存放在元數(shù)據(jù)服務(wù)器上,這樣只需要知道文件的磁盤空間信息即可進行訪問;對Node的數(shù)據(jù)結(jié)構(gòu)進行簡化設(shè)計,只保留文件的磁盤空間信息以及屬于它的少量數(shù)據(jù)成員,其中,F(xiàn)ile_id是文件標(biāo)識符;StartPosit1n是文件在塊中的起始位置;Long是文件的長度;Weight是文件權(quán)重,在本方法中代表文件的訪問頻率;Block_id是文件所存放的塊的標(biāo)識符;Count是文件的訪問計數(shù)器;Lock是文件鎖; 小文件的讀取操作設(shè)計為: 在讀寫小文件的時間延遲主要花在磁盤磁頭的尋道定位上,一旦定位好,讀取一個數(shù)據(jù)塊所花費的時間和讀取連續(xù)幾個數(shù)據(jù)塊的時間相差不是很大,因此,結(jié)合上面提出的優(yōu)化的數(shù)據(jù)存儲結(jié)構(gòu),在本解決方案中采用預(yù)讀的方式,將同一個塊中的文件一起讀取出來,從而減少磁盤I/O的次數(shù);針對頻繁訪問元數(shù)據(jù)服務(wù)器上的磁盤造成整個系統(tǒng)I/O性能較差的問題,在本發(fā)明的方法中,使用cache充當(dāng)元數(shù)據(jù)服務(wù)器的角色,在cache上保存文件信息節(jié)點的信息,并且通過簡化的Node數(shù)據(jù)結(jié)構(gòu)使每個文件信息節(jié)點只保留文件的磁盤空間信息以及另外少量有用的信息,從而提高cache的利用率,使cache能夠保存大量的文件信息節(jié)點,通過這種方式,減少訪問磁盤的次數(shù)和讀取文件信息節(jié)點的開銷,從而提高1/0性能。
【文檔編號】G06F12/02GK104375782SQ201410560613
【公開日】2015年2月25日 申請日期:2014年10月21日 優(yōu)先權(quán)日:2014年10月21日
【發(fā)明者】張硯波, 吳丙濤 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
庆城县| 乌海市| 平顶山市| 科技| 汕头市| 岱山县| 荥阳市| 元江| 大安市| 台江县| 独山县| 太白县| 周宁县| 新密市| 巩义市| 麟游县| 鄄城县| 土默特左旗| 叙永县| 团风县| 潍坊市| 望江县| 曲水县| 龙陵县| 孟津县| 济源市| 南通市| 荔波县| 连州市| 怀宁县| 卢氏县| 红原县| 筠连县| 达日县| 连云港市| 西贡区| 二连浩特市| 加查县| 黔西| 察雅县| 皋兰县|