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

一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法

文檔序號(hào):6509818閱讀:275來(lái)源:國(guó)知局
一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法
【專利摘要】本發(fā)明公開(kāi)了一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法,利用內(nèi)存映射文件技術(shù),將碎片文件連續(xù)映射到內(nèi)存中,合并為一大文件,再對(duì)大文件進(jìn)行存儲(chǔ)。本方明還提供了一種與上述方法相對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn),包括:碎片文件判斷單元、碎片文件映射空間、碎片文件元數(shù)據(jù)單元、內(nèi)存映射空間元數(shù)據(jù)單元、指針列表單元以及內(nèi)存交換控制單元。本發(fā)明具有以下有益效果:由于本發(fā)明將碎片文件合并為大文件進(jìn)行存儲(chǔ),大大提高了磁盤的利用效率,且大大提高了連續(xù)碎片文件處理的效率;由于本發(fā)明的內(nèi)存映射空間采用非交換內(nèi)存,配合相應(yīng)的文件優(yōu)先級(jí)以及交換策略,大大提高了隨機(jī)碎片文件處理的效率。
【專利說(shuō)明】一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)文件存儲(chǔ)【技術(shù)領(lǐng)域】,具體涉及一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法。
【背景技術(shù)】
[0002]文件系統(tǒng)是計(jì)算機(jī)操作系統(tǒng)與驅(qū)動(dòng)器之間的接口,當(dāng)操作系統(tǒng)請(qǐng)求從硬盤里讀取一個(gè)文件時(shí),會(huì)請(qǐng)求相應(yīng)的文件系統(tǒng)(FAT 16/32,NTFS, Ext2/3/4)打開(kāi)文件。扇區(qū)是磁盤最小的物理存儲(chǔ)單元,但由于操作系統(tǒng)無(wú)法對(duì)數(shù)目眾多的扇區(qū)進(jìn)行尋址,所以操作系統(tǒng)就將相鄰的扇區(qū)組合在一起,形成一個(gè)簇,然后再對(duì)簇進(jìn)行管理。每個(gè)簇可以包括2、4、8、16、32或64個(gè)扇區(qū)。顯然,簇是操作系統(tǒng)所使用的邏輯概念,而非磁盤的物理特性。為了更好地管理磁盤空間和更高效地從硬盤讀取數(shù)據(jù),操作系統(tǒng)規(guī)定一個(gè)簇中只能放置一個(gè)文件的內(nèi)容,因此文件所占用的空間,只能是簇的整數(shù)倍;而如果文件實(shí)際大小小于一簇,它也要占一簇的空間。所以,一般情況下文件所占空間要略大于文件的實(shí)際大小,只有在少數(shù)情況下,即文件的實(shí)際大小恰好是簇的整數(shù)倍時(shí),文件的實(shí)際大小才會(huì)與所占空間完全一致。
[0003]微博、在線辦公、在線筆記類型的Web應(yīng)用包括騰訊微薄、box.net, EverNotes等,每種應(yīng)用都吸引了成千上萬(wàn)、甚至上億的用戶,每天產(chǎn)生幾億、幾十億甚至更多的記錄,這些記錄,有的是幾個(gè)字節(jié)的隨手筆記,有的是一兩個(gè)字節(jié)的心情上的抒發(fā),都對(duì)應(yīng)相同數(shù)量小文件,可以想象,當(dāng)存儲(chǔ)對(duì)象是大量的這樣的小文件的時(shí)候,磁盤的利用效率會(huì)急劇下降,對(duì)應(yīng)的,文件的增刪查改的效率也會(huì)急劇下降。
[0004]因此,有必要提供統(tǒng)一種碎片文件存儲(chǔ)的優(yōu)化方法,對(duì)碎片文件的存儲(chǔ)進(jìn)行特殊的優(yōu)化,以解決碎片文件處理效率低下的問(wèn)題。

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

[0005]為了克服現(xiàn)有技術(shù)中存在的碎片文件處理效率低下缺陷,本發(fā)明提供一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法,本發(fā)明的主要思想是,利用內(nèi)存映射文件技術(shù),將碎片文件連續(xù)映射到內(nèi)存中,合并為一大文件,再對(duì)大文件進(jìn)行存儲(chǔ),可以大大減小碎片文件占用的空間且提高文件處理的效率。本發(fā)明具體的技術(shù)方案如下:
一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法,包括如下步驟:
在存儲(chǔ)節(jié)點(diǎn)的內(nèi)存中分配一碎片文件映射空間,碎片文件映射空間是連續(xù)的;
在存儲(chǔ)節(jié)點(diǎn)中,根據(jù)預(yù)設(shè)的閾值對(duì)若干源文件進(jìn)行判斷,若某一源文件的大小小于閾值,則該源文件即為碎片文件,經(jīng)判斷后得到若干碎片文件;其中,每個(gè)源文件都預(yù)設(shè)有一個(gè)對(duì)應(yīng)的源文件編號(hào);
將若干碎片文件連續(xù)的映射到碎片文件映射空間中,合并成為大文件;當(dāng)大文件的大小達(dá)到閾值時(shí),當(dāng)前大文件的合并結(jié)束,若還有剩余的碎片文件,則按照上述步驟繼續(xù)合并,從而得到若干大文件;在合并的同時(shí),為每個(gè)大文件分配一個(gè)對(duì)應(yīng)的大文件編號(hào);根據(jù)需要決定各大文件在碎片文件映射空間與磁盤之間的交換; 將碎片文件對(duì)應(yīng)的源文件編號(hào)轉(zhuǎn)換為大文件編號(hào)加相應(yīng)的偏移。
[0006]作為優(yōu)化方案,閾值等于文件簇的大小。
[0007]作為優(yōu)化方案,碎片文件映射空間采用非交換內(nèi)存。
[0008]作為優(yōu)化方案,還包括如下步驟:
為每個(gè)大文件預(yù)設(shè)優(yōu)先級(jí),根據(jù)優(yōu)先級(jí)決定大文件在碎片文件映射空間與磁盤中之間的交換。
[0009]作為優(yōu)化方案,優(yōu)先級(jí)根據(jù)如下標(biāo)準(zhǔn)設(shè)定:文件訪問(wèn)的頻繁程度,或者最后一次訪問(wèn)的時(shí)間,或者歷史訪問(wèn)記錄加權(quán)。
[0010]作為優(yōu)化方案,大文件在碎片文件映射空間與磁盤之間的交換策略包括:需要時(shí)才交換;系統(tǒng)空閑時(shí)交換;換出但不立即釋放;碎片文件映射空間已滿時(shí)換出。
[0011]作為優(yōu)化方案,在存儲(chǔ)節(jié)點(diǎn)內(nèi)設(shè)置碎片文件指針列表、大文件空閑指針列表以及當(dāng)前指針列表;其中,碎片文件指針列表記錄各大文件中碎片文件的起始地址及偏移,大文件空閑指針列表記錄各大文件中空閑的地址及偏移,當(dāng)前指針列表記錄大文件中當(dāng)前的讀寫(xiě)的地址。
[0012]作為優(yōu)化方案,利用客戶端應(yīng)用程序向路由器上傳源文件,利用路由器為每個(gè)源文件分配一個(gè)對(duì)應(yīng)的源文件編號(hào),再將源文件分配到相應(yīng)的存儲(chǔ)節(jié)點(diǎn)。
[0013]作為優(yōu)化方案,在路由器中設(shè)置一請(qǐng)求表,請(qǐng)求表用于記錄源文件編號(hào);步驟S4進(jìn)一步包括:存儲(chǔ)節(jié)點(diǎn)返回?cái)?shù)據(jù)給路由器,路由器將請(qǐng)求表中的碎片文件對(duì)應(yīng)的源文件編號(hào)轉(zhuǎn)換為大文件編號(hào)加相應(yīng)的偏移。
[0014]一種采用基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法的存儲(chǔ)節(jié)點(diǎn),包括:
碎片文件判斷單元,用于根據(jù)預(yù)設(shè)的閾值對(duì)若干源文件進(jìn)行判斷,若某一源文件的大小小于閾值,則該源文件即為碎片文件,經(jīng)判斷后得到若干碎片文件;
碎片文件映射空間,用于將若干碎片文件連續(xù)的映射到碎片文件映射空間中,合并成為大文件;碎片文件映射空間為連續(xù)的內(nèi)存空間。
[0015]作為優(yōu)化方案,該存儲(chǔ)節(jié)點(diǎn)還包括:
碎片文件元數(shù)據(jù)單元,用于管理記錄碎片文件與大文件對(duì)應(yīng)關(guān)系的元數(shù)據(jù);
內(nèi)存映射空間元數(shù)據(jù)單元,用于管理記錄碎片文件映射空間與內(nèi)存之間的對(duì)應(yīng)關(guān)系的元數(shù)據(jù)。
[0016]作為優(yōu)化方案,該存儲(chǔ)節(jié)點(diǎn)還包括:
指針列表單元,用于管理碎片文件指針列表、大文件空閑指針列表以及當(dāng)前指針列表;其中,碎片文件指針列表記錄各大文件中碎片文件的起始地址及偏移,大文件空閑指針列表記錄各大文件中空閑的地址及偏移,當(dāng)前指針列表記錄大文件中當(dāng)前的讀寫(xiě)的地址。
[0017]作為優(yōu)化方案,該存儲(chǔ)節(jié)點(diǎn)還包括:
內(nèi)存交換控制單元,用于管理各大文件在碎片文件映射空間與磁盤之間的交換。
[0018]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
(1)由于本發(fā)明將碎片文件合并為大文件進(jìn)行存儲(chǔ),大大提高了磁盤的利用效率,且大大提高了連續(xù)碎片文件處理的效率;
(2)由于本發(fā)明的內(nèi)存映射空間采用非交換內(nèi)存,配合相應(yīng)的文件優(yōu)先級(jí)以及交換策略,大大提高了隨機(jī)碎片文件處理的效率?!緦@綀D】

【附圖說(shuō)明】
[0019]圖1為本發(fā)明的方法流程圖;
圖2為分布式存儲(chǔ)系統(tǒng)的結(jié)構(gòu)框圖;
圖3為存儲(chǔ)節(jié)點(diǎn)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0020]下面結(jié)合附圖以實(shí)施例的方式詳細(xì)描述本發(fā)明。
[0021]在對(duì)本發(fā)明進(jìn)行具體描述前,先對(duì)分布式存儲(chǔ)系統(tǒng)作簡(jiǎn)單說(shuō)明。分布式存儲(chǔ)系統(tǒng)的系統(tǒng)框圖如圖2所示,包括路由器、若干存儲(chǔ)節(jié)點(diǎn)以及系統(tǒng)元數(shù)據(jù)模塊??蛻舳藨?yīng)用程序?qū)⑷舾晌募蟼鞯铰酚善?,由路由器將這些文件分配到相應(yīng)的存儲(chǔ)節(jié)點(diǎn)進(jìn)行存儲(chǔ)。系統(tǒng)元數(shù)據(jù)模塊用于管理記錄上傳的文件與各存儲(chǔ)節(jié)點(diǎn)的對(duì)應(yīng)關(guān)系的元數(shù)據(jù),當(dāng)查詢文件時(shí),路由器會(huì)從中讀取相應(yīng)的信息以查找文件。每個(gè)存儲(chǔ)節(jié)點(diǎn)中均設(shè)有內(nèi)存和磁盤,存儲(chǔ)文件時(shí),路由器將文件發(fā)送到存儲(chǔ)節(jié)點(diǎn)的內(nèi)存中,再將內(nèi)存中的文件換出到磁盤實(shí)現(xiàn)永久儲(chǔ)存;讀取文件時(shí),將磁盤中存儲(chǔ)的文件換入內(nèi)存,路由器從存儲(chǔ)節(jié)點(diǎn)的內(nèi)存中讀取文件回傳到客戶端應(yīng)用程序。若上傳的這些文件均為幾個(gè)字節(jié)的小文件,正如【背景技術(shù)】中所述的原因,存儲(chǔ)節(jié)點(diǎn)在存儲(chǔ)大量小文件時(shí)會(huì)占用大量的磁盤空間。
[0022]實(shí)施例1:
如圖1所示,本發(fā)明提供一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法,包括如下步
驟:
步驟SI,在存儲(chǔ)節(jié)點(diǎn)的內(nèi)存中分配一碎片文件映射空間,該碎片文件映射空間是連續(xù)的。
[0023]步驟S2,在存儲(chǔ)節(jié)點(diǎn)中,根據(jù)預(yù)設(shè)的閾值對(duì)若干源文件進(jìn)行判斷,若某一源文件的大小小于閾值,則該源文件即為碎片文件,經(jīng)判斷后得到若干碎片文件;其中,每個(gè)源文件都預(yù)設(shè)有一個(gè)對(duì)應(yīng)的源文件編號(hào)。
[0024]其中,源文件即是指客戶端應(yīng)用程序通過(guò)路由器上傳到存儲(chǔ)節(jié)點(diǎn)中的文件。源文件編號(hào)是在利用路由器上傳源文件時(shí),由路由器進(jìn)行分配的。在路由器中設(shè)置一請(qǐng)求表,該請(qǐng)求表用于記錄源文件編號(hào)。
[0025]步驟S3,將若干碎片文件連續(xù)的映射到碎片文件映射空間中,合并成為大文件;當(dāng)大文件的大小達(dá)到閾值時(shí),當(dāng)前大文件的合并結(jié)束,若還有剩余的碎片文件,則按照上述步驟繼續(xù)合并,從而得到若干大文件;在合并的同時(shí),為每個(gè)大文件分配一個(gè)對(duì)應(yīng)的大文件編號(hào)。
[0026]步驟S2和S3中提到的閾值是可以根據(jù)需要任意選擇的,對(duì)于源文件,若小于該閾值的源文件即視為碎片文件,大于或等于該閾值則視為普通文件,按照正常的存儲(chǔ)方式存儲(chǔ)。最優(yōu)的實(shí)施例為,將閾值設(shè)定為與操作系統(tǒng)的文件簇的大小相同,這樣每個(gè)合并后的大文件都與簇的大小相同,使大文件的實(shí)際大小與所占空間完全一致,大大節(jié)省磁盤空間。例如,如果操作系統(tǒng)的文件簇設(shè)置為4K,則閾值也設(shè)為4K。
[0027]在本實(shí)施例中,碎片文件映射空間采用普通內(nèi)存,該普通內(nèi)存是交換內(nèi)存,會(huì)自動(dòng)釋放內(nèi)存內(nèi)存儲(chǔ)的文件。即當(dāng)上傳文件時(shí),采用普通內(nèi)存的碎片文件映射空間將合并后的某一大文件存儲(chǔ)到磁盤中,直接釋放碎片文件映射空間中相應(yīng)的該大文件;當(dāng)讀取文件時(shí),碎片文件映射空間再將所需的大文件從磁盤中換入,實(shí)現(xiàn)大文件在碎片文件映射空間與磁盤之間的交換。由于本實(shí)施例采用普通內(nèi)存,以上交換會(huì)自動(dòng)實(shí)現(xiàn),無(wú)須設(shè)置任何交換策略。
[0028]在碎片文件映射空間中將碎片文件合并為大文件是通過(guò)設(shè)置若干指針列表來(lái)實(shí)現(xiàn)的。在存儲(chǔ)節(jié)點(diǎn)內(nèi)設(shè)置碎片文件指針列表、大文件空閑指針列表以及當(dāng)前指針列表;其中,碎片文件指針列表記錄各大文件中碎片文件的起始地址及偏移,大文件空閑指針列表記錄各大文件中空閑的地址及偏移,當(dāng)前指針列表記錄大文件中當(dāng)前的讀寫(xiě)的地址。當(dāng)對(duì)碎片文件進(jìn)行合并時(shí),根據(jù)碎片文件指針列表、大文件空閑指針列表以及當(dāng)前指針列表確定該碎片文件在碎片文件映射空間中的存放地址;當(dāng)對(duì)碎片文件映射空間中的內(nèi)容進(jìn)行更改時(shí),同步更新碎片文件指針列表、大文件空閑指針列表以及當(dāng)前指針列表。
[0029]步驟S4,將碎片文件對(duì)應(yīng)的源文件編號(hào)轉(zhuǎn)換為大文件編號(hào)加相應(yīng)的偏移。存儲(chǔ)節(jié)點(diǎn)返回編號(hào)轉(zhuǎn)換的相應(yīng)數(shù)據(jù)給路由器,路由器將請(qǐng)求表中的碎片文件對(duì)應(yīng)的源文件編號(hào)轉(zhuǎn)換為大文件編號(hào)加相應(yīng)的偏移。
[0030]由于本發(fā)明將碎片文件合并為大文件進(jìn)行存儲(chǔ),采用本實(shí)施例的方法大大提高了磁盤的利用效率,且大幅提高了連續(xù)碎片文件的查詢、刪除、修改的效率。以云筆記為例,如果一段文字產(chǎn)生的文件大小為50字節(jié),對(duì)應(yīng)的文件簇設(shè)置為4K,采用本發(fā)明后,新的文件占用的磁盤空間只有以前的1/80 ;如果一段文字產(chǎn)生的文件大小為50字節(jié),連續(xù)查詢80條,采用傳統(tǒng)的查詢技術(shù),需要將80個(gè)小文件從磁盤中讀出并放在內(nèi)存里面;相對(duì)比,采用本發(fā)明后,只需要將一個(gè)大文件讀出即可,查詢的效率提升將超過(guò)80倍。
[0031]本實(shí)施例提供一種采用上述存儲(chǔ)方法的存儲(chǔ)節(jié)點(diǎn),包括:
碎片文件判斷單元,用于根據(jù)預(yù)設(shè)的閾值對(duì)若干源文件進(jìn)行判斷,若某一源文件的大小小于所述閾值,則該源文件即為碎片文件,經(jīng)判斷后得到若干碎片文件;
碎片文件映射空間,用于將若干碎片文件連續(xù)的映射到所述碎片文件映射空間中,合并成為大文件;所述碎片文件映射空間為連續(xù)的內(nèi)存空間;
碎片文件元數(shù)據(jù)單元,用于管理記錄碎片文件與大文件對(duì)應(yīng)關(guān)系的元數(shù)據(jù);
內(nèi)存映射空間元數(shù)據(jù)單元,用于管理記錄碎片文件映射空間與內(nèi)存之間的對(duì)應(yīng)關(guān)系的元數(shù)據(jù)。
[0032]指針列表單元,用于管理碎片文件指針列表、大文件空閑指針列表以及當(dāng)前指針列表;其中,所述碎片文件指針列表記錄各大文件中碎片文件的起始地址及偏移,所述大文件空閑指針列表記錄各大文件中空閑的地址及偏移,所述當(dāng)前指針列表記錄所述大文件中當(dāng)前的讀寫(xiě)的地址。
[0033]實(shí)施例2:
本實(shí)施例與實(shí)施例1的區(qū)別在于:碎片文件映射空間采用非交換內(nèi)存。由于采用非交換內(nèi)存,碎片文件映射空間不會(huì)自動(dòng)釋放空間內(nèi)的內(nèi)容,需要設(shè)定一些交換方法以實(shí)現(xiàn)文件在碎片文件映射空間與磁盤之間的交換。
[0034]為每個(gè)大文件預(yù)設(shè)優(yōu)先級(jí),根據(jù)優(yōu)先級(jí)決定大文件在碎片文件映射空間與磁盤之間的交換。優(yōu)先級(jí)可根據(jù)如下標(biāo)準(zhǔn)設(shè)定:文件訪問(wèn)的頻繁程度,或者最后一次訪問(wèn)的時(shí)間,或者歷史訪問(wèn)記錄加權(quán);但不限于此,也可采用其他標(biāo)準(zhǔn)。以文件訪問(wèn)的頻繁程度的標(biāo)準(zhǔn)為例,若某一大文件的訪問(wèn)次數(shù)越多,則該大文件的優(yōu)先級(jí)越高,反之,優(yōu)先級(jí)則越低;優(yōu)先級(jí)高的大文件保留在碎片文件映射空間中,優(yōu)先級(jí)低的大文件則換出到磁盤中存儲(chǔ);由于優(yōu)先級(jí)高的大文件使用較頻繁,保留在碎片文件映射空間中則省去了每次讀取時(shí)都要從磁盤中讀取到內(nèi)存中的時(shí)間,大大提升了大文件的讀取速度。
[0035]可根據(jù)需要設(shè)置大文件在碎片文件映射空間與磁盤之間的交換策略,這些交換策略包括:需要時(shí)才交換;系統(tǒng)空閑時(shí)交換;換出但不立即釋放;碎片文件映射空間已滿時(shí)換出。其中,需要時(shí)才交換是指當(dāng)需要使用某一大文件時(shí),若該大文件不在碎片文件映射空間中,則將其從磁盤換入碎片文件映射空間;系統(tǒng)空閑時(shí)交換是指,若正在存儲(chǔ)或讀取文件時(shí),不進(jìn)行交換,僅當(dāng)系統(tǒng)空閑時(shí)才根據(jù)優(yōu)先級(jí)將大文件由,或由磁盤換入到碎片文件映射空間中;換出但不立即釋放是指當(dāng)把某一大文件換出到磁盤中后,不立即釋放碎片文件映射空間中的該大文件;碎片文件映射空間已滿時(shí)換出是指當(dāng)碎片文件映射空間已滿時(shí),不得不換出,則將優(yōu)先級(jí)較低的大文件換出到磁盤中存儲(chǔ),釋放碎片文件映射空間中相應(yīng)的內(nèi)存。可從上述交換策略中選擇所需的策略進(jìn)行單獨(dú)或組合使用,且交換策略不限于此,也可使用其他交換策略。
[0036]與實(shí)施例1相比,本實(shí)施例的技術(shù)方案大大提高了碎片文件的隨機(jī)查詢、刪除、修改的效率(可以提高20%?50%,甚至更高)。
[0037]本實(shí)施例提供一種采用上述存儲(chǔ)方法的存儲(chǔ)節(jié)點(diǎn),見(jiàn)圖3。與實(shí)施例1中的提供存儲(chǔ)節(jié)點(diǎn)的區(qū)別在于,還包括:
內(nèi)存交換控制單元,用于管理各大文件在所述碎片文件映射空間與磁盤之間的交換。該內(nèi)存交換控制單元中預(yù)存有上述存儲(chǔ)方法中的大文件優(yōu)先級(jí)以及交換策略等信息,并根據(jù)該優(yōu)先級(jí)和交換策略管理并控制各大文件在所述碎片文件映射空間與磁盤之間的交換。
[0038]本實(shí)施例的其他技術(shù)方案均與實(shí)施例1相同,在此不再贅述。
[0039]以上公開(kāi)的僅為本申請(qǐng)的幾個(gè)具體實(shí)施例,但本申請(qǐng)并非局限于此任何本領(lǐng)域的技術(shù)人員能思之的變化,都應(yīng)落在本申請(qǐng)的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法,其特征在于,包括如下步驟: 在存儲(chǔ)節(jié)點(diǎn)的內(nèi)存中分配一碎片文件映射空間,所述碎片文件映射空間是連續(xù)的; 在存儲(chǔ)節(jié)點(diǎn)中,根據(jù)預(yù)設(shè)的閾值對(duì)若干源文件進(jìn)行判斷,若某一源文件的大小小于所述閾值,則該源文件即為碎片文件,經(jīng)判斷后得到若干碎片文件;其中,每個(gè)源文件都預(yù)設(shè)有一個(gè)對(duì)應(yīng)的源文件編號(hào); 將若干碎片文件連續(xù)的映射到所述碎片文件映射空間中,合并成為大文件;當(dāng)所述大文件的大小達(dá)到所述閾值時(shí),當(dāng)前大文件的合并結(jié)束,若還有剩余的碎片文件,則按照上述步驟繼續(xù)合并,從而得到若干大文件;在合并的同時(shí),為每個(gè)大文件分配一個(gè)對(duì)應(yīng)的大文件編號(hào);根據(jù)需要決定各大文件在所述碎片文件映射空間與磁盤之間的交換; 將所述碎片文件對(duì)應(yīng)的源文件編號(hào)轉(zhuǎn)換為大文件編號(hào)加相應(yīng)的偏移。
2.根據(jù)權(quán)利要求1所述的一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法,其特征在于,所述閾值等于文件簇的大小。
3.根據(jù)權(quán)利要求1所述的一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法,其特征在于,所述碎片文件映射空間采用非交換內(nèi)存。
4.根據(jù)權(quán)利要求3所述的一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法,其特征在于,還包括如下步驟: 為每個(gè)大文件預(yù)設(shè)優(yōu)先級(jí),根據(jù)所述優(yōu)先級(jí)決定所述大文件在所述碎片文件映射空間與磁盤中之間的交換。
5.根據(jù)權(quán)利要求4所述的一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法,其特征在于,所述優(yōu)先級(jí)根據(jù)如下標(biāo)準(zhǔn)設(shè)定:文件訪問(wèn)的頻繁程度,或者最后一次訪問(wèn)的時(shí)間,或者歷史訪問(wèn)記錄加權(quán)。
6.根據(jù)權(quán)利要求3-5任一項(xiàng)所述的一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法,其特征在于,所述大文件在碎片文件映射空間與磁盤之間的交換策略包括:需要時(shí)才交換;系統(tǒng)空閑時(shí)交換;換出但不立即釋放;碎片文件映射空間已滿時(shí)換出。
7.根據(jù)權(quán)利要求1所述的一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法,其特征在于,在所述存儲(chǔ)節(jié)點(diǎn)內(nèi)設(shè)置碎片文件指針列表、大文件空閑指針列表以及當(dāng)前指針列表;其中,所述碎片文件指針列表記錄各大文件中碎片文件的起始地址及偏移,所述大文件空閑指針列表記錄各大文件中空閑的地址及偏移,所述當(dāng)前指針列表記錄所述大文件中當(dāng)前的讀寫(xiě)的地址。
8.根據(jù)權(quán)利要求1所述的一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法,其特征在于,利用客戶端應(yīng)用程序向路由器上傳所述源文件,利用所述路由器為每個(gè)源文件分配一個(gè)對(duì)應(yīng)的源文件編號(hào),再將所述源文件分配到相應(yīng)的存儲(chǔ)節(jié)點(diǎn)。
9.根據(jù)權(quán)利要求8所述的一種基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法,其特征在于,在所述路由器中設(shè)置一請(qǐng)求表,所述請(qǐng)求表用于記錄源文件編號(hào);所述步驟S4進(jìn)一步包括:所述存儲(chǔ)節(jié)點(diǎn)返回?cái)?shù)據(jù)給路由器,路由器將請(qǐng)求表中的所述碎片文件對(duì)應(yīng)的源文件編號(hào)轉(zhuǎn)換為大文件編號(hào)加相應(yīng)的偏移。
10.一種采用權(quán)利要求1所述的基于分布式存儲(chǔ)系統(tǒng)的碎片文件存儲(chǔ)方法的存儲(chǔ)節(jié)點(diǎn),其特征在于,包括: 碎片文件判斷單元,用于根據(jù)預(yù)設(shè)的閾值對(duì)若干源文件進(jìn)行判斷,若某一源文件的大小小于所述閾值,則該源文件即為碎片文件,經(jīng)判斷后得到若干碎片文件; 碎片文件映射空間,用于將若干碎片文件連續(xù)的映射到所述碎片文件映射空間中,合并成為大文件;所述碎片文件映射空間為連續(xù)的內(nèi)存空間。
11.根據(jù)權(quán)利要求10所述的存儲(chǔ)節(jié)點(diǎn),其特征在于,還包括: 碎片文件元數(shù)據(jù)單元,用于管理記錄碎片文件與大文件對(duì)應(yīng)關(guān)系的元數(shù)據(jù); 內(nèi)存映射空間元數(shù)據(jù)單元,用于管理記錄碎片文件映射空間與內(nèi)存之間的對(duì)應(yīng)關(guān)系的元數(shù)據(jù)。
12.根據(jù)權(quán)利要求10或11所述的存儲(chǔ)節(jié)點(diǎn),其特征在于,還包括: 指針列表單元,用于管理碎片文件指針列表、大文件空閑指針列表以及當(dāng)前指針列表;其中,所述碎片文件指針列表記錄各大文件中碎片文件的起始地址及偏移,所述大文件空閑指針列表記錄各大文件中空閑的地址及偏移,所述當(dāng)前指針列表記錄所述大文件中當(dāng)前的讀寫(xiě)的地址。
13.根據(jù)權(quán)利要求10或11所述的存儲(chǔ)節(jié)點(diǎn),其特征在于,還包括: 內(nèi)存交換控制單元,用于管理各大文件在所述碎片文件映射空間與磁盤之間的交換。
【文檔編號(hào)】G06F12/08GK103488685SQ201310391797
【公開(kāi)日】2014年1月1日 申請(qǐng)日期:2013年9月2日 優(yōu)先權(quán)日:2013年9月2日
【發(fā)明者】楊源杰, 陳化峰, 李慶瑜, 戴立言, 王振邦, 戴彩霞 申請(qǐng)人:上海網(wǎng)達(dá)軟件股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
冷水江市| 大余县| 肥东县| 诏安县| 江西省| 锡林浩特市| 阜平县| 临高县| 通江县| 花垣县| 尼勒克县| 宁海县| 大冶市| 龙岩市| 武冈市| 金山区| 鹤岗市| 宁河县| 苗栗县| 铅山县| 平山县| 武平县| 潮安县| 湘阴县| 香河县| 宜都市| 武强县| 西安市| 杭锦旗| 海盐县| 孟连| 图们市| 长岛县| 大兴区| 南皮县| 四子王旗| 洛浦县| 宁河县| 崇阳县| 井陉县| 娄烦县|