專利名稱:元數(shù)據(jù)服務(wù)器、機(jī)群系統(tǒng)及機(jī)群系統(tǒng)中的文件創(chuàng)建方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及機(jī)群系統(tǒng)領(lǐng)域,特別是指一種元數(shù)據(jù)服務(wù)器、機(jī)群系統(tǒng)及機(jī)群系統(tǒng)中的文件創(chuàng)建方法。
背景技術(shù):
機(jī)群(cluster)系統(tǒng)由互相連接的多個(gè)獨(dú)立計(jì)算機(jī)所組成,該計(jì)算機(jī)可以是單機(jī)或多處理器系統(tǒng),例如PC(個(gè)人計(jì)算機(jī))、工作站或SMP(對(duì)稱多處理系統(tǒng)),每個(gè)計(jì)算機(jī)都有自己的存儲(chǔ)器、1/0(輸入/輸出)設(shè)備和操作系統(tǒng)。機(jī)群系統(tǒng)對(duì)用戶來(lái)說(shuō)是一個(gè)單一的系統(tǒng),能夠提供低價(jià)高效的高性能環(huán)境和快速可靠的服務(wù)。由于機(jī)群系統(tǒng)具有高性價(jià)比的優(yōu)勢(shì),其已成為高性能計(jì)算機(jī)的主流結(jié)構(gòu)。在機(jī)群系統(tǒng)中,通常配備有大容量的存儲(chǔ)設(shè)備,在機(jī)群系統(tǒng)運(yùn)作時(shí),需要對(duì)這些存儲(chǔ)設(shè)備進(jìn)行管理。同時(shí),機(jī)群系統(tǒng)還需要為不同客戶端(計(jì)算結(jié)點(diǎn))的用戶提供文件共享服務(wù),機(jī)群文件系統(tǒng)為機(jī)群系統(tǒng)提供了上述服務(wù),它將機(jī)群系統(tǒng)中的所有存儲(chǔ)設(shè)備整合起來(lái), 建立一個(gè)統(tǒng)一的名字空間(文件和目錄的組織結(jié)構(gòu))。各個(gè)客戶端看到目錄結(jié)構(gòu)一致的文件系統(tǒng),不同結(jié)點(diǎn)(客戶端)的用戶可以采用透明的方式訪問相同的文件。機(jī)群文件系統(tǒng)中的數(shù)據(jù)通常不存儲(chǔ)在本客戶端的磁盤中,而是存儲(chǔ)在存儲(chǔ)服務(wù)器上,因而通常都會(huì)設(shè)有專用的存儲(chǔ)服務(wù)器(輸入輸出I/O服務(wù)器)。以寫為例,應(yīng)用進(jìn)程通過機(jī)群文件系統(tǒng)的客戶端寫數(shù)據(jù)時(shí),客戶端首先將數(shù)據(jù)通過網(wǎng)絡(luò)傳送到元數(shù)據(jù)服務(wù)器端,然后將檢索到的元數(shù)據(jù) (如文件的分布信息)返回到客戶端;客戶端根據(jù)文件的分布等信息,將數(shù)據(jù)直接發(fā)送到存儲(chǔ)服務(wù)器端,存儲(chǔ)服務(wù)器再將接收到的數(shù)據(jù)寫到存儲(chǔ)服務(wù)器的存儲(chǔ)設(shè)備中。機(jī)群文件系統(tǒng)的IO路徑比較長(zhǎng),整個(gè)操作的執(zhí)行過程涉及到多個(gè)關(guān)鍵組件,比如機(jī)群文件系統(tǒng)客戶端的緩存、存儲(chǔ)服務(wù)器端的緩存、存儲(chǔ)服務(wù)器端IO調(diào)度和控制器、處理器以及網(wǎng)絡(luò)資源。目前,磁盤訪問和網(wǎng)絡(luò)傳輸性能相對(duì)較低,落后于其它組件的發(fā)展。因此, 對(duì)于機(jī)群文件系統(tǒng)的I/O密集型應(yīng)用來(lái)說(shuō),數(shù)據(jù)的磁盤訪問和網(wǎng)絡(luò)傳輸時(shí)間占據(jù)了整個(gè)請(qǐng)求處理時(shí)間的絕大部分。通過以上的描述可知在機(jī)群文件系統(tǒng)中,一般使用三種類型的結(jié)點(diǎn)元數(shù)據(jù)服務(wù)器、I/O服務(wù)器和計(jì)算結(jié)點(diǎn);元數(shù)據(jù)服務(wù)器負(fù)責(zé)元數(shù)據(jù)記錄(包括文件目錄樹組織、屬性維護(hù)、文件操作日志記錄、授權(quán)訪問等)的創(chuàng)建和管理,管理整個(gè)存儲(chǔ)系統(tǒng)的命名空間,對(duì)外提供單一的系統(tǒng)映像,并負(fù)責(zé)整個(gè)存儲(chǔ)集群的管理監(jiān)控;I/O服務(wù)器負(fù)責(zé)數(shù)據(jù)文件的創(chuàng)建,數(shù)據(jù)文件是存儲(chǔ)文件系統(tǒng)的文件數(shù)據(jù),負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)和檢索;文件的創(chuàng)建分成元數(shù)據(jù)記錄和數(shù)據(jù)文件兩部分,由于數(shù)據(jù)文件存放在分布式環(huán)境下的多個(gè)I/O服務(wù)器上,而元數(shù)據(jù)記錄存放在專用的元數(shù)據(jù)服務(wù)器中,因此計(jì)算結(jié)點(diǎn)創(chuàng)建文件時(shí),需要分別與上述二種服務(wù)器進(jìn)行消息通訊,因此在多個(gè)I/O服務(wù)器上創(chuàng)建數(shù)據(jù)文件時(shí),所耗費(fèi)時(shí)間占用了整個(gè)文件創(chuàng)建的大部分時(shí)間。但在機(jī)群文件系統(tǒng)的很多應(yīng)用中,常常在計(jì)算過程中需要?jiǎng)?chuàng)建很多的中間文件,這些文件因數(shù)據(jù)量小造成實(shí)際的文件數(shù)據(jù)只能存放于部分I/O服務(wù)器上的數(shù)據(jù)文件中,從而導(dǎo)致大部分I/O服務(wù)器上的數(shù)據(jù)文件實(shí)際為空文件,浪費(fèi)寶貴的網(wǎng)絡(luò)通信資源和I/O服務(wù)器資源,增加了文件創(chuàng)建的延時(shí)。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提出一種元數(shù)據(jù)服務(wù)器、機(jī)群系統(tǒng)及機(jī)群系統(tǒng)中的文件創(chuàng)建方法, 通過將小于一定閾值的數(shù)據(jù)寫入元數(shù)據(jù)服務(wù)器中的元數(shù)據(jù)記錄中,減少了機(jī)群系統(tǒng)中網(wǎng)絡(luò)的通信次數(shù),減少了文件創(chuàng)建和訪問延時(shí),大大提高了文件的I/O性能。本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的一種元數(shù)據(jù)服務(wù)器,應(yīng)用于機(jī)群系統(tǒng)中,包括第一接收單元,用于接收所述機(jī)群系統(tǒng)中的計(jì)算結(jié)點(diǎn)的第一文件創(chuàng)建請(qǐng)求包,所述第一文件創(chuàng)建包中至少包括小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù);第一創(chuàng)建單元,用于根據(jù)所述第一文件創(chuàng)建請(qǐng)求包創(chuàng)建第一元數(shù)據(jù)記錄,所述第一元數(shù)據(jù)記錄包含所述第一文件數(shù)據(jù)的第一擴(kuò)展屬性;寫入單元,用于將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的所述第一擴(kuò)展屬性中。優(yōu)選的,還包括第一判斷單元,用于判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第二預(yù)設(shè)閾值;第一交互單元,用于當(dāng)所述第一判斷單元判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第二預(yù)設(shè)閾值時(shí),與機(jī)群系統(tǒng)中的輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建第一數(shù)據(jù)文件。優(yōu)選的,還包括第二判斷單元,用于判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第三預(yù)設(shè)閾值;遷移單元,用于當(dāng)所述第二判斷單元判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第三預(yù)設(shè)閾值時(shí),將寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)遷移至所述輸入輸出I/O 服務(wù)器的所述第一數(shù)據(jù)文件中。一種機(jī)群系統(tǒng),包括元數(shù)據(jù)服務(wù)器、輸入輸出I/O服務(wù)器和計(jì)算結(jié)點(diǎn);所述元數(shù)據(jù)服務(wù)器包括第一接收單元,用于接收所述計(jì)算結(jié)點(diǎn)的第一文件創(chuàng)建請(qǐng)求包,所述第一文件創(chuàng)建包中至少包括小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù);第一創(chuàng)建單元,用于根據(jù)所述第一文件創(chuàng)建請(qǐng)求包創(chuàng)建第一元數(shù)據(jù)記錄,所述第一元數(shù)據(jù)記錄包含所述第一文件數(shù)據(jù)的第一擴(kuò)展屬性;寫入單元,用于將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的所述第一擴(kuò)展屬性中;所述計(jì)算結(jié)點(diǎn)包括第三判斷單元,用于判斷所述第一文件數(shù)據(jù)的大小是否小于所述第一預(yù)設(shè)閾值;第一發(fā)送單元,用于當(dāng)所述第三判斷單元判斷所述第一文件數(shù)據(jù)的大小小于所述第一預(yù)設(shè)閾值時(shí),向所述元數(shù)據(jù)服務(wù)器發(fā)送所述第一文件創(chuàng)建包。優(yōu)選的,所述元數(shù)據(jù)服務(wù)器還包括
第一判斷單元,用于判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第二預(yù)設(shè)閾值;第一交互單元,用于當(dāng)所述第一判斷單元判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第二預(yù)設(shè)閾值時(shí),與機(jī)群系統(tǒng)中的輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建第一數(shù)據(jù)文件。優(yōu)選的,所述元數(shù)據(jù)服務(wù)器還包括第二判斷單元,用于判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第三預(yù)設(shè)閾值;遷移單元,用于當(dāng)所述第二判斷單元判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第三預(yù)設(shè)閾值時(shí),將寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)遷移至所述輸入輸出I/O 服務(wù)器的所述第一數(shù)據(jù)文件中。優(yōu)選的,所述元數(shù)據(jù)服務(wù)器還包括第二接收單元,用于接收所述計(jì)算結(jié)點(diǎn)的第二文件創(chuàng)建請(qǐng)求包;第二創(chuàng)建單元,用于根據(jù)所述第二文件創(chuàng)建請(qǐng)求包創(chuàng)建第二元數(shù)據(jù)記錄,并與所述第二元數(shù)據(jù)記錄所分配的輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建第二數(shù)據(jù)文件;應(yīng)答單元,用于根據(jù)所述第二元數(shù)據(jù)記錄返回應(yīng)答信息給所述計(jì)算結(jié)點(diǎn);所述計(jì)算結(jié)點(diǎn)還包括第二發(fā)送單元,用于當(dāng)所述第三判斷單元判斷所述第一文件數(shù)據(jù)的大小不小于所述第一預(yù)設(shè)閾值時(shí),向所述元數(shù)據(jù)服務(wù)器發(fā)送第二文件創(chuàng)建請(qǐng)求包;第三發(fā)送單元,用于當(dāng)接收到所述應(yīng)答單元的應(yīng)答信息時(shí),向所述輸入輸出I/O 服務(wù)器發(fā)送不小于所述第一預(yù)設(shè)閾值的第一文件數(shù)據(jù),將不小于所述第一預(yù)設(shè)閾值的第一文件數(shù)據(jù)寫入所述輸入輸出I/O服務(wù)器的所述第二數(shù)據(jù)文件中。一種機(jī)群系統(tǒng)中的文件創(chuàng)建方法,應(yīng)用于由元數(shù)據(jù)服務(wù)器、輸入輸出I/O服務(wù)器和計(jì)算結(jié)點(diǎn)所組成的機(jī)群系統(tǒng)中,包括接收所述計(jì)算結(jié)點(diǎn)的第一文件創(chuàng)建請(qǐng)求包,所述第一文件創(chuàng)建包中至少包括小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù);根據(jù)所述第一文件創(chuàng)建請(qǐng)求包創(chuàng)建第一元數(shù)據(jù)記錄,所述第一元數(shù)據(jù)記錄包含所述第一文件數(shù)據(jù)的第一擴(kuò)展屬性;將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的所述第一擴(kuò)展屬性中。優(yōu)選的,所述將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的所述第一擴(kuò)展屬性中后還包括判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第二預(yù)設(shè)閾值;當(dāng)寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第二預(yù)設(shè)閾值時(shí),與所述輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建第一數(shù)據(jù)文件。優(yōu)選的,所述與所述輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建第一數(shù)據(jù)文件后還包括判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第三預(yù)設(shè)閾值;當(dāng)寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第三預(yù)設(shè)閾值時(shí),將寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)遷移至所述輸入輸出I/O服務(wù)器的所述第一數(shù)據(jù)文件中。本發(fā)明通過將小于一定閾值的數(shù)據(jù)寫入元數(shù)據(jù)服務(wù)器中的元數(shù)據(jù)記錄中,而不用再在I/O服務(wù)器中創(chuàng)建數(shù)據(jù)文件,從而減少了機(jī)群系統(tǒng)中網(wǎng)絡(luò)的通信次數(shù),減少了文件創(chuàng)建和訪問延時(shí),大大提高了文件的I/O性能。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明第一實(shí)施例一種元數(shù)據(jù)服務(wù)器的結(jié)構(gòu)示意圖;圖2為本發(fā)明第二實(shí)施例一種元數(shù)據(jù)服務(wù)器的結(jié)構(gòu)示意圖;圖3為本發(fā)明第一實(shí)施例一種機(jī)群系統(tǒng)的結(jié)構(gòu)示意圖;圖4為本發(fā)明第二實(shí)施例一種機(jī)群系統(tǒng)的結(jié)構(gòu)示意圖;圖5為本發(fā)明第一實(shí)施例一種機(jī)群系統(tǒng)中的文件創(chuàng)建方法的流程示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。參照?qǐng)D1,示出了本發(fā)明第一實(shí)施例一種元數(shù)據(jù)服務(wù)器的結(jié)構(gòu)示意圖。所述元數(shù)據(jù)服務(wù)器100應(yīng)用于機(jī)群系統(tǒng)中,所述機(jī)群系統(tǒng)由元數(shù)據(jù)服務(wù)器100、輸入輸出I/O服務(wù)器和計(jì)算結(jié)點(diǎn)組成。所述元數(shù)據(jù)服務(wù)器100包括第一接收單元110、第一創(chuàng)建單元120和寫入單元 130。所述第一接收單元110,用于接收所述機(jī)群系統(tǒng)中的計(jì)算結(jié)點(diǎn)的第一文件創(chuàng)建請(qǐng)求包。所述第一文件創(chuàng)建包中至少包括小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù)。計(jì)算結(jié)點(diǎn)想要寫入文件數(shù)據(jù),需要先向元數(shù)據(jù)服務(wù)器100發(fā)送文件創(chuàng)建請(qǐng)求,請(qǐng)求元數(shù)據(jù)服務(wù)器100創(chuàng)建元數(shù)據(jù)記錄。在本實(shí)施例中,所述第一文件創(chuàng)建請(qǐng)求包中除了包括文件創(chuàng)建請(qǐng)求外,還包括小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù),也就是說(shuō),在本實(shí)施例中,所述文件創(chuàng)建請(qǐng)求和所述第一文件數(shù)據(jù)(小于第一預(yù)設(shè)閾值)打包由所述計(jì)算結(jié)點(diǎn)發(fā)送至所述元數(shù)據(jù)服務(wù)器100。所述第一創(chuàng)建單元120,用于根據(jù)所述第一文件創(chuàng)建請(qǐng)求包創(chuàng)建第一元數(shù)據(jù)記錄。 所述第一元數(shù)據(jù)記錄包含所述第一文件數(shù)據(jù)的第一擴(kuò)展屬性。所述第一元數(shù)據(jù)記錄除了包括文件目錄樹組織、屬性維護(hù)、文件操作日志記錄、授權(quán)訪問等信息外,還包括所述第一文件數(shù)據(jù)的第一擴(kuò)展屬性,以便于所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的第一擴(kuò)展屬性。所述寫入單元130,用于將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的所述第一擴(kuò)展屬性中。在現(xiàn)在技術(shù)中,計(jì)算結(jié)點(diǎn)的待寫入文件數(shù)據(jù)都寫入相應(yīng)的輸入輸出I/O服務(wù)器中,相應(yīng)的輸入輸出I/O服務(wù)器由元數(shù)據(jù)服務(wù)器100創(chuàng)建的元數(shù)據(jù)記錄確定。因此,在現(xiàn)有技術(shù)中,不論待寫入文件數(shù)據(jù)是大是小,都需要先與元數(shù)據(jù)服務(wù)器100通信,再與輸入輸出 I/O服務(wù)器通信,需要耗費(fèi)較多的網(wǎng)絡(luò)通信資源和I/O服務(wù)器資源。而在本發(fā)明中,如果待寫入的文件數(shù)據(jù)比較小,如小于第一預(yù)設(shè)閾值,則可以直接將所述待寫入文件數(shù)據(jù)作為所述第一元數(shù)據(jù)記錄的擴(kuò)展屬性寫入元數(shù)據(jù)服務(wù)器100創(chuàng)建的元數(shù)據(jù)記錄中,而不需要將較小的文件數(shù)據(jù)再寫入I/O服務(wù)器,從而不需要再與I/O服務(wù)器進(jìn)行通信,因此能減少網(wǎng)絡(luò)通信資源和I/O服務(wù)器資源的耗費(fèi)。所述第一預(yù)設(shè)閾值可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,如可以設(shè)置為1.5M、2M其它值, 本發(fā)明對(duì)此不進(jìn)行任何限定。本發(fā)明通過將小于一定閾值的數(shù)據(jù)寫入元數(shù)據(jù)服務(wù)器中的元數(shù)據(jù)記錄中,而不用再在I/O服務(wù)器中創(chuàng)建數(shù)據(jù)文件,從而減少了機(jī)群系統(tǒng)中網(wǎng)絡(luò)的通信次數(shù),減少了文件創(chuàng)建和訪問延時(shí),大大提高了文件的I/O性能。參照?qǐng)D2,示出了本發(fā)明第二實(shí)施例一種元數(shù)據(jù)服務(wù)器的結(jié)構(gòu)示意圖。所述元數(shù)據(jù)服務(wù)器100應(yīng)用于機(jī)群系統(tǒng)中,所述機(jī)群系統(tǒng)由元數(shù)據(jù)服務(wù)器100、輸入輸出I/O服務(wù)器和計(jì)算結(jié)點(diǎn)組成。所述元數(shù)據(jù)服務(wù)器100包括第一接收單元110、第一創(chuàng)建單元120、寫入單元130、第一判斷單元210和第一交互單元220。所述第一接收單元110,用于接收所述機(jī)群系統(tǒng)中的計(jì)算結(jié)點(diǎn)的第一文件創(chuàng)建請(qǐng)求包。所述第一文件創(chuàng)建包中至少包括小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù)。計(jì)算結(jié)點(diǎn)想要寫入文件數(shù)據(jù),需要先向元數(shù)據(jù)服務(wù)器100發(fā)送文件創(chuàng)建請(qǐng)求,請(qǐng)求元數(shù)據(jù)服務(wù)器100創(chuàng)建元數(shù)據(jù)記錄。在本實(shí)施例中,所述第一文件創(chuàng)建請(qǐng)求包中除了包括文件創(chuàng)建請(qǐng)求外,還包括小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù),也就是說(shuō),在本實(shí)施例中,所述文件創(chuàng)建請(qǐng)求和所述第一文件數(shù)據(jù)(小于第一預(yù)設(shè)閾值)打包由所述計(jì)算結(jié)點(diǎn)發(fā)送至所述元數(shù)據(jù)服務(wù)器100。所述第一創(chuàng)建單元120,用于根據(jù)所述第一文件創(chuàng)建請(qǐng)求包創(chuàng)建第一元數(shù)據(jù)記錄。 所述第一元數(shù)據(jù)記錄包含所述第一文件數(shù)據(jù)的第一擴(kuò)展屬性。所述第一元數(shù)據(jù)記錄除了包括文件目錄樹組織、屬性維護(hù)、文件操作日志記錄、授權(quán)訪問等信息外,還包括所述第一文件數(shù)據(jù)的第一擴(kuò)展屬性,以便于所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的第一擴(kuò)展屬性。所述寫入單元130,用于將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的所述第
一擴(kuò)展屬性中。在現(xiàn)在技術(shù)中,計(jì)算結(jié)點(diǎn)的待寫入文件數(shù)據(jù)都寫入相應(yīng)的輸入輸出I/O服務(wù)器中,相應(yīng)的輸入輸出I/O服務(wù)器由元數(shù)據(jù)服務(wù)器100創(chuàng)建的元數(shù)據(jù)記錄確定。因此,在現(xiàn)有技術(shù)中,不論待寫入文件數(shù)據(jù)是大是小,都需要先與元數(shù)據(jù)服務(wù)器100通信,再與輸入輸出 I/O服務(wù)器通信,需要耗費(fèi)較多的網(wǎng)絡(luò)通信資源和I/O服務(wù)器資源。而在本發(fā)明中,如果待寫入的文件數(shù)據(jù)比較小,如小于第一預(yù)設(shè)閾值,則可以直接將所述待寫入文件數(shù)據(jù)作為所述第一元數(shù)據(jù)記錄的擴(kuò)展屬性寫入元數(shù)據(jù)服務(wù)器100創(chuàng)建的元數(shù)據(jù)記錄中,而不需要將較小的文件數(shù)據(jù)再寫入I/O服務(wù)器,從而不需要再與I/O服務(wù)器進(jìn)行通信,因此能減少網(wǎng)絡(luò)通信資源和I/O服務(wù)器資源的耗費(fèi)。所述第一預(yù)設(shè)閾值可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,如可以設(shè)置為1.5M、2M其它值, 本發(fā)明對(duì)此不進(jìn)行任何限定。所述第一判斷單元210,用于判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于
第二預(yù)設(shè)閾值。將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的第一擴(kuò)展屬性后,即成為所寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)。所述第一交互單元220,用于當(dāng)所述第一判斷單元210判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第二預(yù)設(shè)閾值時(shí),與機(jī)群系統(tǒng)中的輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建第一數(shù)據(jù)文件。在本發(fā)明的另一實(shí)施例中,所述元數(shù)據(jù)服務(wù)器100還包括第二判斷單元230,用于判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第三預(yù)設(shè)閾值。遷移單元M0,用于當(dāng)所述第二判斷單元230判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第三預(yù)設(shè)閾值時(shí),將寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)遷移至所述輸入輸出I/O服務(wù)器的第一數(shù)據(jù)文件中。由于所述元數(shù)據(jù)服務(wù)器100的存儲(chǔ)空間畢竟有限,如果寫入所述元數(shù)據(jù)服務(wù)器 100的文件數(shù)據(jù)太多則會(huì)影響所述元數(shù)據(jù)服務(wù)器100的性能,并可能造成其它影響,因此, 如果寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于第二預(yù)設(shè)閾值,則需要進(jìn)行將文件數(shù)據(jù)遷移到I/O服務(wù)器的準(zhǔn)備,與輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建數(shù)據(jù)文件。如果寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于第三預(yù)設(shè)閾值,則需要將寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)遷移至所述輸入輸出I/O服務(wù)器的數(shù)據(jù)文件中,從而使所述元數(shù)據(jù)服務(wù)器100的存儲(chǔ)空間不會(huì)被太多的文件數(shù)據(jù)所占據(jù)。所述第二預(yù)設(shè)閾值和第三預(yù)設(shè)閾值可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,本發(fā)明對(duì)此不進(jìn)行任何的限制,所述第三預(yù)設(shè)閾值一般大于所述第二預(yù)設(shè)閾值,當(dāng)然,所述第三預(yù)設(shè)閾值也可以與所述第二預(yù)設(shè)閾值相等,另外所述第三預(yù)設(shè)閾值一般情況下與所述第一預(yù)設(shè)閾值相等,如都為1.5M,當(dāng)然,所述第三預(yù)設(shè)閾值也可以不與所述第一預(yù)設(shè)閾值相等。文件系統(tǒng)在初始創(chuàng)建時(shí),只在元數(shù)據(jù)服務(wù)器上創(chuàng)建元數(shù)據(jù)記錄,同時(shí)將文件數(shù)據(jù)以元數(shù)據(jù)擴(kuò)展屬性的形式也存儲(chǔ)在元數(shù)據(jù)記錄中。根據(jù)機(jī)群規(guī)模和具體應(yīng)用的情況,可以設(shè)置兩個(gè)與文件大小有關(guān)的閾值文件預(yù)遷移閾值(第二預(yù)設(shè)閾值)和小文件閾值(第三預(yù)設(shè)閾值)。隨著文件的不斷寫入數(shù)據(jù),當(dāng)文件大小超過預(yù)遷移閾值時(shí),在I/O服務(wù)器上創(chuàng)建數(shù)據(jù)文件;當(dāng)文件大小超過小文件閾值時(shí),則將存儲(chǔ)在元數(shù)據(jù)擴(kuò)展屬性中的文件數(shù)據(jù)遷移到所創(chuàng)建的I/O服務(wù)器中。從而實(shí)現(xiàn)I/O服務(wù)器創(chuàng)建數(shù)據(jù)文件以及數(shù)據(jù)文件寫入數(shù)據(jù)的過程與計(jì)算結(jié)點(diǎn)的I/O操作相重疊,節(jié)省文件創(chuàng)建時(shí)延。采用本發(fā)明技術(shù)方案后1、對(duì)于機(jī)群系統(tǒng)中文件的創(chuàng)建,無(wú)需創(chuàng)建數(shù)據(jù)文件,最小化文件系統(tǒng)中網(wǎng)絡(luò)的通信次數(shù),減少文件的創(chuàng)建和訪問延時(shí),大大提高文件的I/O性能,特別是在大規(guī)模文件的應(yīng)用中,效果會(huì)更加明顯;
2、根據(jù)機(jī)群規(guī)模和具體應(yīng)用的情況,可以合理設(shè)定文件數(shù)據(jù)的遷移閾值,使機(jī)群文件系統(tǒng)更有效率,改善整個(gè)系統(tǒng)的性能,具有很好的靈活性;3、充分利用了元數(shù)據(jù)服務(wù)器處理元數(shù)據(jù)的過程,發(fā)揮元數(shù)據(jù)服務(wù)器的能力,全面提高機(jī)群文件系統(tǒng)對(duì)具體應(yīng)用的性能。參照?qǐng)D3,示出了本發(fā)明第一實(shí)施例一種機(jī)群系統(tǒng)的結(jié)構(gòu)示意圖。所述機(jī)群系統(tǒng)包括元數(shù)據(jù)服務(wù)器100、輸入輸出I/O服務(wù)器300和計(jì)算結(jié)點(diǎn)200。其中,所述元數(shù)據(jù)服務(wù)器100包括第一接收單元110,用于接收所述機(jī)群系統(tǒng)中的計(jì)算結(jié)點(diǎn)的第一文件創(chuàng)建請(qǐng)求包。所述第一文件創(chuàng)建包中至少包括小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù)。計(jì)算結(jié)點(diǎn)想要寫入文件數(shù)據(jù),需要先向元數(shù)據(jù)服務(wù)器100發(fā)送文件創(chuàng)建請(qǐng)求,請(qǐng)求元數(shù)據(jù)服務(wù)器100創(chuàng)建元數(shù)據(jù)記錄。在本實(shí)施例中,所述第一文件創(chuàng)建請(qǐng)求包中除了包括文件創(chuàng)建請(qǐng)求外,還包括小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù),也就是說(shuō),在本實(shí)施例中,所述文件創(chuàng)建請(qǐng)求和所述第一文件數(shù)據(jù)(小于第一預(yù)設(shè)閾值)打包由所述計(jì)算結(jié)點(diǎn)發(fā)送至所述元數(shù)據(jù)服務(wù)器100。第一創(chuàng)建單元120,用于根據(jù)所述第一文件創(chuàng)建請(qǐng)求包創(chuàng)建第一元數(shù)據(jù)記錄。所述第一元數(shù)據(jù)記錄包含所述第一文件數(shù)據(jù)的第一擴(kuò)展屬性。所述第一元數(shù)據(jù)記錄除了包括文件目錄樹組織、屬性維護(hù)、文件操作日志記錄、授權(quán)訪問等信息外,還包括所述第一文件數(shù)據(jù)的第一擴(kuò)展屬性,以便于所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的第一擴(kuò)展屬性。寫入單元130,用于將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的所述第一擴(kuò)展屬性中。所述計(jì)算結(jié)點(diǎn)200包括第三判斷單元320,用于判斷所述第一文件數(shù)據(jù)的大小是否小于所述第一預(yù)設(shè)閾值。第一發(fā)送單元310,用于當(dāng)所述第三判斷單元320判斷所述第一文件數(shù)據(jù)的大小小于所述第一預(yù)設(shè)閾值時(shí),向所述元數(shù)據(jù)服務(wù)器100發(fā)送所述第一文件創(chuàng)建包。在本發(fā)明的另一實(shí)施例中,所述元數(shù)據(jù)服務(wù)器100還包括所述第一判斷單元210,用于判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于
第二預(yù)設(shè)閾值。將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的第一擴(kuò)展屬性后,即成為所寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)。所述第一交互單元220,用于當(dāng)所述第一判斷單元210判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第二預(yù)設(shè)閾值時(shí),與機(jī)群系統(tǒng)中的輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建第一數(shù)據(jù)文件。在本發(fā)明的另一實(shí)施例中,所述元數(shù)據(jù)服務(wù)器100還包括第二判斷單元230,用于判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第三預(yù)設(shè)閾值。遷移單元M0,用于當(dāng)所述第二判斷單元230判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第三預(yù)設(shè)閾值時(shí),將寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)遷移至所述輸入輸出I/O服務(wù)器的第一數(shù)據(jù)文件中。由于所述元數(shù)據(jù)服務(wù)器100的存儲(chǔ)空間畢竟有限,如果寫入所述元數(shù)據(jù)服務(wù)器 100的文件數(shù)據(jù)太多則會(huì)影響所述元數(shù)據(jù)服務(wù)器100的性能,并可能造成其它影響,因此, 如果寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于第二預(yù)設(shè)閾值,則需要進(jìn)行將文件數(shù)據(jù)遷移到I/O服務(wù)器的準(zhǔn)備,與輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建數(shù)據(jù)文件。如果寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于第三預(yù)設(shè)閾值,則需要將寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)遷移至所述輸入輸出I/O服務(wù)器的數(shù)據(jù)文件中,從而使所述元數(shù)據(jù)服務(wù)器100的存儲(chǔ)空間不會(huì)被太多的文件數(shù)據(jù)所占據(jù)。所述第二預(yù)設(shè)閾值和第三預(yù)設(shè)閾值可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,本發(fā)明對(duì)此不進(jìn)行任何的限制,所述第三預(yù)設(shè)閾值一般大于所述第二預(yù)設(shè)閾值,當(dāng)然,所述第三預(yù)設(shè)閾值也可以與所述第二預(yù)設(shè)閾值相等,另外所述第三預(yù)設(shè)閾值一般情況下與所述第一預(yù)設(shè)閾值相等,如都為1.5M,當(dāng)然,所述第三預(yù)設(shè)閾值也可以不與所述第一預(yù)設(shè)閾值相等。本發(fā)明通過將小于一定閾值的數(shù)據(jù)寫入元數(shù)據(jù)服務(wù)器100中的元數(shù)據(jù)記錄中,而不用再在I/O服務(wù)器中創(chuàng)建數(shù)據(jù)文件,從而減少了機(jī)群系統(tǒng)中網(wǎng)絡(luò)的通信次數(shù),減少了文件創(chuàng)建和訪問延時(shí),大大提高了文件的I/O性能。參照?qǐng)D4,示出了本發(fā)明第二實(shí)施例一種機(jī)群系統(tǒng)的結(jié)構(gòu)示意圖。所述機(jī)群系統(tǒng)包括元數(shù)據(jù)服務(wù)器100、輸入輸出I/O服務(wù)器300和計(jì)算結(jié)點(diǎn)200。其中,所述元數(shù)據(jù)服務(wù)器100包括第一接收單元110,用于接收所述機(jī)群系統(tǒng)中的計(jì)算結(jié)點(diǎn)的第一文件創(chuàng)建請(qǐng)求包。所述第一文件創(chuàng)建包中至少包括小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù)。第一創(chuàng)建單元120,用于根據(jù)所述第一文件創(chuàng)建請(qǐng)求包創(chuàng)建第一元數(shù)據(jù)記錄。所述第一元數(shù)據(jù)記錄包含所述第一文件數(shù)據(jù)的第一擴(kuò)展屬性。寫入單元130,用于將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的所述第一擴(kuò)展屬性中。第二接收單元410,用于接收所述計(jì)算結(jié)點(diǎn)的第二文件創(chuàng)建請(qǐng)求包。所述第二文件創(chuàng)建請(qǐng)求包與所述第一文件創(chuàng)建請(qǐng)求包的不同之處在于,所述第二文件創(chuàng)建請(qǐng)求包中只包括文件創(chuàng)建請(qǐng)求,而不包括文件數(shù)據(jù)(如小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù))。第二創(chuàng)建單元420,用于根據(jù)所述第二文件創(chuàng)建請(qǐng)求包創(chuàng)建第二元數(shù)據(jù)記錄,并與所述第二元數(shù)據(jù)記錄所分配的輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建第二數(shù)據(jù)文件。所述第二元數(shù)據(jù)記錄與所述第一元數(shù)據(jù)記錄的不同之處在于,所述第二元數(shù)據(jù)記錄中必須包括相應(yīng)的輸入輸出I/O服務(wù)器信息,而所述第一元數(shù)據(jù)記錄中可以沒有,并且所述第一元數(shù)據(jù)記錄中必須包括第一擴(kuò)展屬性,以便寫入所述文件數(shù)據(jù),而所述第二元數(shù)據(jù)記錄中則可以沒有所述第一擴(kuò)展屬性。應(yīng)答單元430,用于根據(jù)所述第二元數(shù)據(jù)記錄返回應(yīng)答信息給所述計(jì)算結(jié)點(diǎn)。所述應(yīng)答信息中包括相應(yīng)的輸入輸出I/O服務(wù)器信息,通知計(jì)算結(jié)點(diǎn)將數(shù)據(jù)寫入相應(yīng)的輸入輸出I/O服務(wù)器。所述計(jì)算結(jié)點(diǎn)200包括
第三判斷單元320,用于判斷所述第一文件數(shù)據(jù)的大小是否小于所述第一預(yù)設(shè)閾值。第一發(fā)送單元310,用于當(dāng)所述第三判斷單元320判斷所述第一文件數(shù)據(jù)的大小小于所述第一預(yù)設(shè)閾值時(shí),向所述元數(shù)據(jù)服務(wù)器100發(fā)送所述第一文件創(chuàng)建包。第二發(fā)送單元440,用于當(dāng)所述第三判斷單元320判斷所述第一文件數(shù)據(jù)的大小不小于所述第一預(yù)設(shè)閾值時(shí),向所述元數(shù)據(jù)服務(wù)器100發(fā)送第二文件創(chuàng)建請(qǐng)求包。第三發(fā)送單元450,用于當(dāng)接收到所述應(yīng)答單元430的應(yīng)答信息時(shí),向所述輸入輸出I/O服務(wù)器300發(fā)送不小于所述第一預(yù)設(shè)閾值的第一文件數(shù)據(jù),將不小于所述第一預(yù)設(shè)閾值的第一文件數(shù)據(jù)寫入所述輸入輸出I/O服務(wù)器的所述第二數(shù)據(jù)文件中。在本發(fā)明的另一實(shí)施例中,所述元數(shù)據(jù)服務(wù)器100還包括所述第一判斷單元210,用于判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第二預(yù)設(shè)閾值。將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的第一擴(kuò)展屬性后,即成為所寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)。所述第一交互單元220,用于當(dāng)所述第一判斷單元210判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第二預(yù)設(shè)閾值時(shí),與機(jī)群系統(tǒng)中的輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建第一數(shù)據(jù)文件。在本發(fā)明的另一實(shí)施例中,所述元數(shù)據(jù)服務(wù)器100還包括第二判斷單元230,用于判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第三預(yù)設(shè)閾值。遷移單元M0,用于當(dāng)所述第二判斷單元230判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第三預(yù)設(shè)閾值時(shí),將寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)遷移至所述輸入輸出I/O服務(wù)器的第一數(shù)據(jù)文件中。由于所述元數(shù)據(jù)服務(wù)器100的存儲(chǔ)空間畢竟有限,如果寫入所述元數(shù)據(jù)服務(wù)器 100的文件數(shù)據(jù)太多則會(huì)影響所述元數(shù)據(jù)服務(wù)器100的性能,并可能造成其它影響,因此, 如果寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于第二預(yù)設(shè)閾值,則需要進(jìn)行將文件數(shù)據(jù)遷移到I/O服務(wù)器的準(zhǔn)備,與輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建數(shù)據(jù)文件。如果寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于第三預(yù)設(shè)閾值,則需要將寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)遷移至所述輸入輸出I/O服務(wù)器的數(shù)據(jù)文件中,從而使所述元數(shù)據(jù)服務(wù)器100的存儲(chǔ)空間不會(huì)被太多的文件數(shù)據(jù)所占據(jù)。所述第二預(yù)設(shè)閾值和第三預(yù)設(shè)閾值可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,本發(fā)明對(duì)此不進(jìn)行任何的限制,所述第三預(yù)設(shè)閾值一般大于所述第二預(yù)設(shè)閾值,當(dāng)然,所述第三預(yù)設(shè)閾值也可以與所述第二預(yù)設(shè)閾值相等,另外所述第三預(yù)設(shè)閾值一般情況下與所述第一預(yù)設(shè)閾值相等,如都為1.5M,當(dāng)然,所述第三預(yù)設(shè)閾值也可以不與所述第一預(yù)設(shè)閾值相等。在本實(shí)施例中,如果待寫入的數(shù)據(jù)較大,如大于或等于第一預(yù)設(shè)閾值,則計(jì)算結(jié)點(diǎn)先與元數(shù)據(jù)服務(wù)器100通信,由元數(shù)據(jù)服務(wù)器100建立元數(shù)據(jù)記錄,并通知計(jì)算結(jié)點(diǎn)相應(yīng)的輸入輸出I/O服務(wù)器300等信息,然后計(jì)算結(jié)點(diǎn)再與相應(yīng)的輸入輸出I/O服務(wù)器300通信, 將待寫入文件數(shù)據(jù)寫入相應(yīng)的輸入輸出I/O服務(wù)器300通信。如果待寫入的數(shù)據(jù)較小,如小于第一預(yù)設(shè)閾值,則按圖3所示實(shí)施例的方法進(jìn)行處理,從而減少網(wǎng)絡(luò)通信資源和I/O服務(wù)器資源的耗費(fèi)。參照?qǐng)D5,示出了本發(fā)明第一實(shí)施例一種機(jī)群系統(tǒng)中的文件創(chuàng)建方法的流程示意圖,所述方法應(yīng)用于由元數(shù)據(jù)服務(wù)器100、輸入輸出I/O服務(wù)器300和計(jì)算結(jié)點(diǎn)200所組成的機(jī)群系統(tǒng)中。所述方法包括步驟S510、接收所述計(jì)算結(jié)點(diǎn)的第一文件創(chuàng)建請(qǐng)求包。所述第一文件創(chuàng)建包中至少包括小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù)。步驟S520、根據(jù)所述第一文件創(chuàng)建請(qǐng)求包創(chuàng)建第一元數(shù)據(jù)記錄。所述第一元數(shù)據(jù)記錄包含所述第一文件數(shù)據(jù)的第一擴(kuò)展屬性步驟S530、將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的所述第一擴(kuò)展屬性中。本發(fā)明通過將小于一定閾值的數(shù)據(jù)寫入元數(shù)據(jù)服務(wù)器中的元數(shù)據(jù)記錄中,而不用再在I/O服務(wù)器中創(chuàng)建數(shù)據(jù)文件,從而減少了機(jī)群系統(tǒng)中網(wǎng)絡(luò)的通信次數(shù),減少了文件創(chuàng)建和訪問延時(shí),大大提高了文件的I/O性能。在本發(fā)明的另一實(shí)施例中,所述步驟S530后還包括步驟S540、判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第二預(yù)設(shè)閾值。步驟S550、當(dāng)寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第二預(yù)設(shè)閾值時(shí),與所述輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建第一數(shù)據(jù)文件。步驟S560、判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第三預(yù)設(shè)閾值。步驟S570、當(dāng)寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第三預(yù)設(shè)閾值時(shí),將寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)遷移至所述輸入輸出I/O服務(wù)器的第一數(shù)據(jù)文件中。本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中, 該程序在執(zhí)行時(shí),包括如上述方法實(shí)施例的步驟,所述的存儲(chǔ)介質(zhì),如磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory, RAM)等。 在本發(fā)明各方法實(shí)施例中,所述各步驟的序號(hào)并不能用于限定各步驟的先后順序,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,對(duì)各步驟的先后變化也在本發(fā)明的保護(hù)范圍之內(nèi)。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種元數(shù)據(jù)服務(wù)器,應(yīng)用于機(jī)群系統(tǒng)中,其特征在于,包括第一接收單元,用于接收所述機(jī)群系統(tǒng)中的計(jì)算結(jié)點(diǎn)的第一文件創(chuàng)建請(qǐng)求包,所述第一文件創(chuàng)建包中至少包括小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù);第一創(chuàng)建單元,用于根據(jù)所述第一文件創(chuàng)建請(qǐng)求包創(chuàng)建第一元數(shù)據(jù)記錄,所述第一元數(shù)據(jù)記錄包含所述第一文件數(shù)據(jù)的第一擴(kuò)展屬性;寫入單元,用于將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的所述第一擴(kuò)展屬性中。
2.根據(jù)權(quán)利要求1所述的元數(shù)據(jù)服務(wù)器,其特征在于,還包括第一判斷單元,用于判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第二預(yù)設(shè)閾值;第一交互單元,用于當(dāng)所述第一判斷單元判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第二預(yù)設(shè)閾值時(shí),與機(jī)群系統(tǒng)中的輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建第一數(shù)據(jù)文件。
3.根據(jù)權(quán)利要求2所述的元數(shù)據(jù)服務(wù)器,其特征在于,還包括第二判斷單元,用于判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第三預(yù)設(shè)閾值;遷移單元,用于當(dāng)所述第二判斷單元判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第三預(yù)設(shè)閾值時(shí),將寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)遷移至所述輸入輸出I/O服務(wù)器的所述第一數(shù)據(jù)文件中。
4.一種機(jī)群系統(tǒng),其特征在于,包括元數(shù)據(jù)服務(wù)器、輸入輸出I/O服務(wù)器和計(jì)算結(jié)點(diǎn); 所述元數(shù)據(jù)服務(wù)器包括第一接收單元,用于接收所述計(jì)算結(jié)點(diǎn)的第一文件創(chuàng)建請(qǐng)求包,所述第一文件創(chuàng)建包中至少包括小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù);第一創(chuàng)建單元,用于根據(jù)所述第一文件創(chuàng)建請(qǐng)求包創(chuàng)建第一元數(shù)據(jù)記錄,所述第一元數(shù)據(jù)記錄包含所述第一文件數(shù)據(jù)的第一擴(kuò)展屬性;寫入單元,用于將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的所述第一擴(kuò)展屬性中;所述計(jì)算結(jié)點(diǎn)包括第三判斷單元,用于判斷所述第一文件數(shù)據(jù)的大小是否小于所述第一預(yù)設(shè)閾值; 第一發(fā)送單元,用于當(dāng)所述第三判斷單元判斷所述第一文件數(shù)據(jù)的大小小于所述第一預(yù)設(shè)閾值時(shí),向所述元數(shù)據(jù)服務(wù)器發(fā)送所述第一文件創(chuàng)建包。
5.根據(jù)權(quán)利要求4所述的機(jī)群系統(tǒng),其特征在于,所述元數(shù)據(jù)服務(wù)器還包括 第一判斷單元,用于判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第二預(yù)設(shè)閾值;第一交互單元,用于當(dāng)所述第一判斷單元判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第二預(yù)設(shè)閾值時(shí),與機(jī)群系統(tǒng)中的輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建第一數(shù)據(jù)文件。
6.根據(jù)權(quán)利要求5所述的機(jī)群系統(tǒng),其特征在于,所述元數(shù)據(jù)服務(wù)器還包括 第二判斷單元,用于判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第三預(yù)設(shè)閾值;遷移單元,用于當(dāng)所述第二判斷單元判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第三預(yù)設(shè)閾值時(shí),將寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)遷移至所述輸入輸出I/O服務(wù)器的所述第一數(shù)據(jù)文件中。
7.根據(jù)權(quán)利要求6所述的機(jī)群系統(tǒng),其特征在于,所述元數(shù)據(jù)服務(wù)器還包括 第二接收單元,用于接收所述計(jì)算結(jié)點(diǎn)的第二文件創(chuàng)建請(qǐng)求包;第二創(chuàng)建單元,用于根據(jù)所述第二文件創(chuàng)建請(qǐng)求包創(chuàng)建第二元數(shù)據(jù)記錄,并與所述第二元數(shù)據(jù)記錄所分配的輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建第二數(shù)據(jù)文件;應(yīng)答單元,用于根據(jù)所述第二元數(shù)據(jù)記錄返回應(yīng)答信息給所述計(jì)算結(jié)點(diǎn); 所述計(jì)算結(jié)點(diǎn)還包括第二發(fā)送單元,用于當(dāng)所述第三判斷單元判斷所述第一文件數(shù)據(jù)的大小不小于所述第一預(yù)設(shè)閾值時(shí),向所述元數(shù)據(jù)服務(wù)器發(fā)送第二文件創(chuàng)建請(qǐng)求包;第三發(fā)送單元,用于當(dāng)接收到所述應(yīng)答單元的應(yīng)答信息時(shí),向所述輸入輸出I/O服務(wù)器發(fā)送不小于所述第一預(yù)設(shè)閾值的第一文件數(shù)據(jù),將不小于所述第一預(yù)設(shè)閾值的第一文件數(shù)據(jù)寫入所述輸入輸出I/O服務(wù)器的所述第二數(shù)據(jù)文件中。
8.一種機(jī)群系統(tǒng)中的文件創(chuàng)建方法,應(yīng)用于由元數(shù)據(jù)服務(wù)器、輸入輸出I/O服務(wù)器和計(jì)算結(jié)點(diǎn)所組成的機(jī)群系統(tǒng)中,其特征在于,包括接收所述計(jì)算結(jié)點(diǎn)的第一文件創(chuàng)建請(qǐng)求包,所述第一文件創(chuàng)建包中至少包括小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù);根據(jù)所述第一文件創(chuàng)建請(qǐng)求包創(chuàng)建第一元數(shù)據(jù)記錄,所述第一元數(shù)據(jù)記錄包含所述第一文件數(shù)據(jù)的第一擴(kuò)展屬性;將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的所述第一擴(kuò)展屬性中。
9.根據(jù)權(quán)利要求8所述的機(jī)群系統(tǒng)中的文件創(chuàng)建方法,其特征在于,所述將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的所述第一擴(kuò)展屬性中后還包括判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第二預(yù)設(shè)閾值; 當(dāng)寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第二預(yù)設(shè)閾值時(shí),與所述輸入輸出I/ 0服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建第一數(shù)據(jù)文件。
10.根據(jù)權(quán)利要求9所述的機(jī)群系統(tǒng)中的文件創(chuàng)建方法,其特征在于,所述與所述輸入輸出I/O服務(wù)器進(jìn)行交互,通知所述輸入輸出I/O服務(wù)器創(chuàng)建第一數(shù)據(jù)文件后還包括判斷寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)是否大于第三預(yù)設(shè)閾值; 當(dāng)寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)大于所述第三預(yù)設(shè)閾值時(shí),將寫入所述第一元數(shù)據(jù)記錄的文件數(shù)據(jù)遷移至所述輸入輸出I/O服務(wù)器的所述第一數(shù)據(jù)文件中
全文摘要
本發(fā)明實(shí)施例公開了元數(shù)據(jù)服務(wù)器、機(jī)群系統(tǒng)及機(jī)群系統(tǒng)中的文件創(chuàng)建方法。所述元數(shù)據(jù)服務(wù)器包括第一接收單元,用于接收所述機(jī)群系統(tǒng)中的計(jì)算結(jié)點(diǎn)的第一文件創(chuàng)建請(qǐng)求包,所述第一文件創(chuàng)建包中至少包括小于第一預(yù)設(shè)閾值的第一文件數(shù)據(jù);第一創(chuàng)建單元,用于根據(jù)所述第一文件創(chuàng)建請(qǐng)求包創(chuàng)建第一元數(shù)據(jù)記錄,所述第一元數(shù)據(jù)記錄包含所述第一文件數(shù)據(jù)的第一擴(kuò)展屬性;寫入單元,用于將所述第一文件數(shù)據(jù)寫入所述第一元數(shù)據(jù)記錄的所述第一擴(kuò)展屬性中。本發(fā)明實(shí)施例通過將小于一定閾值的數(shù)據(jù)寫入元數(shù)據(jù)服務(wù)器中的元數(shù)據(jù)記錄的擴(kuò)展屬性中,從而減少了機(jī)群系統(tǒng)中網(wǎng)絡(luò)的通信次數(shù),減少了文件創(chuàng)建和訪問延時(shí),大大提高了文件的I/O性能。
文檔編號(hào)G06F17/30GK102193952SQ20101012988
公開日2011年9月21日 申請(qǐng)日期2010年3月19日 優(yōu)先權(quán)日2010年3月19日
發(fā)明者潘勇 申請(qǐng)人:聯(lián)想(北京)有限公司