本發(fā)明涉及電數(shù)字?jǐn)?shù)據(jù)處理,特別是涉及一種將請(qǐng)求進(jìn)行分離處理的方法。
背景技術(shù):
1、在存儲(chǔ)系統(tǒng)中,為了保證數(shù)據(jù)的可靠性,通常會(huì)采用數(shù)據(jù)冗余方案。而常規(guī)的數(shù)據(jù)冗余方案有多副本和校驗(yàn)和等,其中多副本的數(shù)據(jù)冗余方案不需要消耗太多的計(jì)算資源,通常能夠提供較好的存儲(chǔ)訪問(wèn)性能,但是,多副本的數(shù)據(jù)冗余方案的成本較高,兩副本的數(shù)據(jù)冗余方案對(duì)應(yīng)的有效數(shù)據(jù)為全部存儲(chǔ)部件容量的1/2,三副本的數(shù)據(jù)冗余方案對(duì)應(yīng)的有效數(shù)據(jù)為全部存儲(chǔ)部件容量的1/3,以此類推;其中校驗(yàn)和的數(shù)據(jù)冗余方案未重復(fù)存儲(chǔ)數(shù)據(jù),故而能夠有效地解決多副本的數(shù)據(jù)冗余方案存在的存儲(chǔ)的利用率較低問(wèn)題,例如,5塊磁盤構(gòu)建的raid5方案中有效數(shù)據(jù)為全部存儲(chǔ)部件容量的4/5,6塊磁盤構(gòu)建的raid6方案中有效數(shù)據(jù)為全部存儲(chǔ)部件容量的4/6,但是,校驗(yàn)和的數(shù)據(jù)冗余方案需要對(duì)數(shù)據(jù)進(jìn)行奇偶校驗(yàn)和計(jì)算,所以會(huì)大量消耗計(jì)算機(jī)內(nèi)的計(jì)算資源,導(dǎo)致計(jì)算機(jī)內(nèi)的計(jì)算資源緊缺和存儲(chǔ)訪問(wèn)的性能較差。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明目的在于,提供一種將請(qǐng)求進(jìn)行分離處理的方法,以保證存儲(chǔ)訪問(wèn)的高性能和提供較高的存儲(chǔ)利用率。
2、根據(jù)本發(fā)明,提供了一種將請(qǐng)求進(jìn)行分離處理的方法,包括以下步驟:
3、s100,獲取目標(biāo)i/o請(qǐng)求;所述目標(biāo)i/o請(qǐng)求為數(shù)據(jù)庫(kù)文件系統(tǒng)接收到的上層的i/o請(qǐng)求或者自身產(chǎn)生的i/o請(qǐng)求。
4、s200,如果目標(biāo)i/o請(qǐng)求為寫入請(qǐng)求,則根據(jù)目標(biāo)i/o請(qǐng)求擬寫入的數(shù)據(jù)的類型判斷目標(biāo)i/o請(qǐng)求的類型;所述目標(biāo)i/o請(qǐng)求擬寫入的數(shù)據(jù)的類型為元數(shù)據(jù)類型或非元數(shù)據(jù)類型,所述目標(biāo)i/o請(qǐng)求的類型為性能i/o類型或計(jì)算i/o類型。
5、s300,如果目標(biāo)i/o請(qǐng)求的類型為性能i/o類型,則進(jìn)入s400;如果目標(biāo)i/o請(qǐng)求的類型為計(jì)算i/o類型,則進(jìn)入s500。
6、s400,從目標(biāo)計(jì)算機(jī)的磁盤中選擇n個(gè)磁盤作為目標(biāo)i/o請(qǐng)求的目標(biāo)磁盤,并將目標(biāo)i/o請(qǐng)求中擬寫入的數(shù)據(jù)分別寫入目標(biāo)磁盤中的每一磁盤,以在目標(biāo)計(jì)算機(jī)中實(shí)現(xiàn)目標(biāo)i/o請(qǐng)求中擬寫入的數(shù)據(jù)的n副本冗余;n為目標(biāo)i/o請(qǐng)求對(duì)應(yīng)的冗余數(shù)量;所述目標(biāo)計(jì)算機(jī)為所述數(shù)據(jù)庫(kù)文件系統(tǒng)運(yùn)行的計(jì)算機(jī)。
7、s500,將目標(biāo)i/o請(qǐng)求發(fā)送到目標(biāo)外部存儲(chǔ)節(jié)點(diǎn),以在目標(biāo)外部存儲(chǔ)節(jié)點(diǎn)中實(shí)現(xiàn)目標(biāo)i/o請(qǐng)求中擬寫入的數(shù)據(jù)的校驗(yàn)和冗余;所述目標(biāo)外部存儲(chǔ)節(jié)點(diǎn)為目標(biāo)計(jì)算機(jī)的若干外部存儲(chǔ)節(jié)點(diǎn)中的某一外部存儲(chǔ)節(jié)點(diǎn)。
8、本發(fā)明與現(xiàn)有技術(shù)相比至少具有以下有益效果:
9、本發(fā)明對(duì)于數(shù)據(jù)庫(kù)文件系統(tǒng)接收到的上層的i/o請(qǐng)求或者數(shù)據(jù)庫(kù)文件系統(tǒng)自身產(chǎn)生的請(qǐng)求,先判斷其是否為寫入請(qǐng)求,若是,則根據(jù)請(qǐng)求中擬寫入的數(shù)據(jù)的類型判斷請(qǐng)求的類型;如果請(qǐng)求為性能i/o類型,則使用目標(biāo)計(jì)算機(jī)的磁盤存儲(chǔ)請(qǐng)求中的數(shù)據(jù)并進(jìn)行多副本冗余;如果請(qǐng)求為計(jì)算i/o類型,則將請(qǐng)求發(fā)送至目標(biāo)外部存儲(chǔ)節(jié)點(diǎn),以由目標(biāo)外部存儲(chǔ)節(jié)點(diǎn)實(shí)現(xiàn)對(duì)請(qǐng)求中擬寫入的數(shù)據(jù)的校驗(yàn)和冗余。本發(fā)明在一個(gè)文件系統(tǒng)中支持兩種數(shù)據(jù)冗余方案,對(duì)于其中性能i/o類型的i/o請(qǐng)求(對(duì)應(yīng)的待寫入的數(shù)據(jù)的存儲(chǔ)地址被訪問(wèn)的頻次較多),使用多副本的數(shù)據(jù)冗余方案,以保證較高的存儲(chǔ)訪問(wèn)性能;對(duì)于其中計(jì)算類型的i/o請(qǐng)求(對(duì)應(yīng)的待寫入的數(shù)據(jù)的存儲(chǔ)地址被訪問(wèn)的頻次較少),使用校驗(yàn)和的數(shù)據(jù)冗余方案,以提高數(shù)據(jù)的存儲(chǔ)利用率,且在外部存儲(chǔ)節(jié)點(diǎn)進(jìn)行校驗(yàn)和冗余,能夠?qū)⒂?jì)算任務(wù)由目標(biāo)計(jì)算機(jī)的計(jì)算節(jié)點(diǎn)卸載到外部存儲(chǔ)節(jié)點(diǎn),不消耗目標(biāo)計(jì)算機(jī)的計(jì)算節(jié)點(diǎn)的資源,為計(jì)算節(jié)點(diǎn)保留了更多的計(jì)算資源,同時(shí)外部存儲(chǔ)節(jié)點(diǎn)內(nèi)部沒(méi)有任務(wù)與計(jì)算奇偶校驗(yàn)和的任務(wù)競(jìng)爭(zhēng),能夠提高計(jì)算奇偶校驗(yàn)和的效率。
1.一種將請(qǐng)求進(jìn)行分離處理的方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的將請(qǐng)求進(jìn)行分離處理的方法,其特征在于,根據(jù)目標(biāo)i/o請(qǐng)求擬寫入的數(shù)據(jù)的類型判斷目標(biāo)i/o請(qǐng)求的類型包括:
3.根據(jù)權(quán)利要求2所述的將請(qǐng)求進(jìn)行分離處理的方法,其特征在于,s220還包括判斷目標(biāo)i/o請(qǐng)求擬寫入的數(shù)據(jù)為熱數(shù)據(jù)或冷數(shù)據(jù)的過(guò)程,該過(guò)程包括:
4.根據(jù)權(quán)利要求1所述的將請(qǐng)求進(jìn)行分離處理的方法,其特征在于,在目標(biāo)外部存儲(chǔ)節(jié)點(diǎn)中實(shí)現(xiàn)目標(biāo)i/o請(qǐng)求中擬寫入的數(shù)據(jù)的校驗(yàn)和冗余包括:
5.根據(jù)權(quán)利要求4所述的將請(qǐng)求進(jìn)行分離處理的方法,其特征在于,m=1或m=2。
6.根據(jù)權(quán)利要求1所述的將請(qǐng)求進(jìn)行分離處理的方法,其特征在于,2≤n≤5。
7.根據(jù)權(quán)利要求1所述的將請(qǐng)求進(jìn)行分離處理的方法,其特征在于,通過(guò)遠(yuǎn)程直接內(nèi)存訪問(wèn)rdma技術(shù)將目標(biāo)i/o請(qǐng)求發(fā)送到目標(biāo)外部存儲(chǔ)節(jié)點(diǎn)。