本申請(qǐng)涉及裸設(shè)備數(shù)據(jù)管理領(lǐng)域,尤其涉及一種裸設(shè)備數(shù)據(jù)寫入方法、設(shè)備、計(jì)算機(jī)可讀介質(zhì)及程序產(chǎn)品。
背景技術(shù):
1、本部分旨在為權(quán)利要求書中陳述的本申請(qǐng)的實(shí)施方式提供背景或上下文。此處的描述不因?yàn)榘ㄔ诒静糠种芯捅徽J(rèn)為是現(xiàn)有技術(shù)。
2、存儲(chǔ)系統(tǒng)中,一般都采用將磁盤格式化為文件系統(tǒng)后掛載到系統(tǒng)中使用,文件系統(tǒng)提供了通用、方便的文件存儲(chǔ)管理方式。上述方式雖然應(yīng)用、方便,但是卻存在以下技術(shù)問題:
3、1、文件系統(tǒng)性能有限,無法充分利用存儲(chǔ)設(shè)備的性能,無法為用戶提供更好的體驗(yàn);
4、2、需要多級(jí)目錄等結(jié)果,打開同一文件夾內(nèi)的大量文件會(huì)導(dǎo)致訪問過慢;
5、3、文件分區(qū)方式一般會(huì)按照大小切割,打開多個(gè)文件讀寫會(huì)大大增加文件句柄數(shù)量,導(dǎo)致性能下降。
6、因此,急需提出一種能夠解決上述技術(shù)問題的裸設(shè)備數(shù)據(jù)寫入方法、設(shè)備、計(jì)算機(jī)可讀介質(zhì)及程序產(chǎn)品。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)的多個(gè)方面提供一種裸設(shè)備數(shù)據(jù)寫入方法、設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)及程序產(chǎn)品,用以提升數(shù)據(jù)寫入效率、優(yōu)化存儲(chǔ)系統(tǒng)性能。
2、本申請(qǐng)的一方面,提供一種裸設(shè)備數(shù)據(jù)寫入方法,包括:
3、響應(yīng)于數(shù)據(jù)存儲(chǔ)請(qǐng)求,獲取待存儲(chǔ)數(shù)據(jù);
4、按照預(yù)設(shè)的數(shù)據(jù)切分規(guī)則,將所述待存儲(chǔ)數(shù)據(jù)劃分為若干個(gè)數(shù)據(jù)塊;
5、按照預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)規(guī)則,將任一所述數(shù)據(jù)塊寫入預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)塊,所述數(shù)據(jù)塊的字節(jié)數(shù)大于所述數(shù)據(jù)存儲(chǔ)塊的存儲(chǔ)容量。
6、進(jìn)一步地,所述方法還包括:響應(yīng)于裸設(shè)備分區(qū)請(qǐng)求,獲取所述裸設(shè)備的存儲(chǔ)容量;基于預(yù)設(shè)的容量單元,將所述裸設(shè)備劃分為若干個(gè)數(shù)據(jù)存儲(chǔ)塊;標(biāo)記未寫入數(shù)據(jù)塊的數(shù)據(jù)存儲(chǔ)塊的標(biāo)記位為0,標(biāo)記已寫入數(shù)據(jù)塊的數(shù)據(jù)存儲(chǔ)塊的標(biāo)記位為1。
7、進(jìn)一步地,按照預(yù)設(shè)的數(shù)據(jù)切分規(guī)則,將所述待存儲(chǔ)數(shù)據(jù)劃分為若干個(gè)數(shù)據(jù)塊,包括:獲取所述數(shù)據(jù)存儲(chǔ)塊的存儲(chǔ)容量,確定每一所述數(shù)據(jù)存儲(chǔ)塊的存儲(chǔ)容量;基于所述數(shù)據(jù)存儲(chǔ)塊的存儲(chǔ)容量,確定字節(jié)單元;基于所述字節(jié)單元,將所述待存儲(chǔ)數(shù)據(jù)劃分為若干個(gè)數(shù)據(jù)塊。
8、進(jìn)一步地,按照預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)規(guī)則,將任一所述數(shù)據(jù)塊寫入預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)塊,包括:若第n個(gè)數(shù)據(jù)存儲(chǔ)塊的標(biāo)記位為0,則按照預(yù)設(shè)的第一數(shù)據(jù)存儲(chǔ)規(guī)則,將任一所述數(shù)據(jù)塊寫入預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)塊;若第n個(gè)數(shù)據(jù)存儲(chǔ)塊的標(biāo)記位為1,則按照預(yù)設(shè)的第二數(shù)據(jù)存儲(chǔ)規(guī)則,將任一所述數(shù)據(jù)塊寫入預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)塊。
9、進(jìn)一步地,按照預(yù)設(shè)的第一數(shù)據(jù)存儲(chǔ)規(guī)則,將任一所述數(shù)據(jù)塊寫入預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)塊,包括:確定第一個(gè)標(biāo)記位為0的數(shù)據(jù)存儲(chǔ)塊的位置為待寫入位置;以待寫入位置為始,將所述數(shù)據(jù)塊順序依次寫入所述數(shù)據(jù)存儲(chǔ)塊。
10、進(jìn)一步地,以待寫入位置為始,將所述數(shù)據(jù)塊順序依次寫入所述數(shù)據(jù)存儲(chǔ)塊,包括:以待寫入位置為始,確定標(biāo)記位為0的數(shù)據(jù)存儲(chǔ)塊的個(gè)數(shù)為第一數(shù)量;當(dāng)所述數(shù)據(jù)塊的個(gè)數(shù)不大于所述第一數(shù)量時(shí),將所述數(shù)據(jù)塊順序依次寫入所述數(shù)據(jù)存儲(chǔ)塊直至所述數(shù)據(jù)塊寫入完畢。
11、進(jìn)一步地,按照預(yù)設(shè)的第二數(shù)據(jù)存儲(chǔ)規(guī)則,將所述數(shù)據(jù)塊寫入預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)塊,包括:將所述數(shù)據(jù)存儲(chǔ)塊劃分為數(shù)據(jù)存儲(chǔ)組;順序遍歷所述數(shù)據(jù)存儲(chǔ)組;當(dāng)所述數(shù)據(jù)存儲(chǔ)組對(duì)應(yīng)的參數(shù)小于預(yù)設(shè)參數(shù)時(shí),獲取標(biāo)記位為0的數(shù)據(jù)存儲(chǔ)塊,將所述數(shù)據(jù)塊順序依次寫入所述數(shù)據(jù)存儲(chǔ)塊直至所述數(shù)據(jù)塊寫入完畢。
12、進(jìn)一步地,所述方法還包括:對(duì)應(yīng)所述待存儲(chǔ)數(shù)據(jù)生成元數(shù)據(jù)信息,并對(duì)所述元數(shù)據(jù)信息進(jìn)行存儲(chǔ);其中,所述元數(shù)據(jù)信息包括:所述待存儲(chǔ)數(shù)據(jù)的尺寸、名稱及所述待存儲(chǔ)數(shù)據(jù)包含的數(shù)據(jù)塊的存儲(chǔ)位置。
13、本申請(qǐng)的另一方面,提供一種裸設(shè)備數(shù)據(jù)讀取方法,以用于讀取基于裸設(shè)備數(shù)據(jù)寫入方法寫入裸設(shè)備的數(shù)據(jù),所述方法包括:
14、響應(yīng)于裸設(shè)備數(shù)據(jù)讀取請(qǐng)求,獲取所述待讀取數(shù)據(jù)的元數(shù)據(jù)信息;
15、基于所述待讀取數(shù)據(jù)的元數(shù)據(jù)信息,對(duì)寫入裸設(shè)備的數(shù)據(jù)進(jìn)行讀取。
16、本申請(qǐng)的又一方面,提供一種裸設(shè)備數(shù)據(jù)寫入設(shè)備,所述系統(tǒng)包括:
17、響應(yīng)單元,以響應(yīng)于數(shù)據(jù)存儲(chǔ)請(qǐng)求,獲取待存儲(chǔ)數(shù)據(jù);
18、數(shù)據(jù)切分單元,以用于按照預(yù)設(shè)的數(shù)據(jù)切分規(guī)則,將所述待存儲(chǔ)數(shù)據(jù)劃分為若干個(gè)數(shù)據(jù)塊;
19、數(shù)據(jù)存儲(chǔ)單元,以用于按照預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)規(guī)則,將任一所述數(shù)據(jù)塊寫入預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)塊,所述數(shù)據(jù)塊的字節(jié)數(shù)不大于所述數(shù)據(jù)存儲(chǔ)塊的存儲(chǔ)容量。
20、本申請(qǐng)的另一方面,提供一種電子設(shè)備,所述設(shè)備包括:
21、至少一個(gè)處理器;以及
22、與所述至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,
23、所述存儲(chǔ)器存儲(chǔ)有可被所述至少一個(gè)處理器執(zhí)行的指令,所述指令被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器能夠執(zhí)行如上所述的裸設(shè)備數(shù)據(jù)寫入方法,和/或,裸設(shè)備數(shù)據(jù)讀取方法。
24、本申請(qǐng)的再一方面,提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序指令,所述計(jì)算機(jī)程序指令可被處理器執(zhí)行以實(shí)現(xiàn)所述裸設(shè)備數(shù)據(jù)寫入方法,和/或,裸設(shè)備數(shù)據(jù)讀取方法。
25、本申請(qǐng)的另一方面,提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)所述裸設(shè)備數(shù)據(jù)寫入方法,和/或,裸設(shè)備數(shù)據(jù)讀取方法。
26、本申請(qǐng)實(shí)施例提供的方案中,通過響應(yīng)于數(shù)據(jù)存儲(chǔ)請(qǐng)求,獲取待存儲(chǔ)數(shù)據(jù);按照預(yù)設(shè)的數(shù)據(jù)切分規(guī)則,將所述待存儲(chǔ)數(shù)據(jù)劃分為若干個(gè)數(shù)據(jù)塊;按照預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)規(guī)則,將任一所述數(shù)據(jù)塊寫入預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)塊,所述數(shù)據(jù)塊的字節(jié)數(shù)不大于所述數(shù)據(jù)存儲(chǔ)塊的存儲(chǔ)容量,以實(shí)現(xiàn)數(shù)據(jù)的高效率寫入。本申請(qǐng)所述的方法通過使用裸設(shè)備繞開文件操作系統(tǒng),提高了寫數(shù)據(jù)的效率;
27、同時(shí),將整個(gè)設(shè)備看作為一個(gè)文件,從而不需要對(duì)其進(jìn)行分級(jí)管理,文件打開句柄數(shù)即等于設(shè)備個(gè)數(shù),進(jìn)而提升了設(shè)備的整體存儲(chǔ)性能。
1.一種裸設(shè)備數(shù)據(jù)寫入方法,其中,所述方法包括:
2.根據(jù)權(quán)利要求1所述的裸設(shè)備數(shù)據(jù)寫入方法,其中,所述方法還包括:
3.根據(jù)權(quán)利要求2所述的裸設(shè)備數(shù)據(jù)寫入方法,其中,按照預(yù)設(shè)的數(shù)據(jù)切分規(guī)則,將所述待存儲(chǔ)數(shù)據(jù)劃分為若干個(gè)數(shù)據(jù)塊,包括:
4.根據(jù)權(quán)利要求3所述的裸設(shè)備數(shù)據(jù)寫入方法,其中,按照預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)規(guī)則,將任一所述數(shù)據(jù)塊寫入預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)塊,包括:
5.根據(jù)權(quán)利要求4所述的裸設(shè)備數(shù)據(jù)寫入方法,其中,按照預(yù)設(shè)的第一數(shù)據(jù)存儲(chǔ)規(guī)則,將任一所述數(shù)據(jù)塊寫入預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)塊,包括:
6.根據(jù)權(quán)利要求4所述的裸設(shè)備數(shù)據(jù)寫入方法,其中,以待寫入位置為始,將所述數(shù)據(jù)塊順序依次寫入所述數(shù)據(jù)存儲(chǔ)塊,包括:
7.根據(jù)權(quán)利要求4~6任一項(xiàng)所述的裸設(shè)備數(shù)據(jù)寫入方法,其中,按照預(yù)設(shè)的第二數(shù)據(jù)存儲(chǔ)規(guī)則,將所述數(shù)據(jù)塊寫入預(yù)設(shè)的數(shù)據(jù)存儲(chǔ)塊,包括:
8.根據(jù)權(quán)利要求7所述的裸設(shè)備數(shù)據(jù)寫入方法,其中,所述方法還包括:
9.一種裸設(shè)備數(shù)據(jù)讀取方法,其中,所述方法用于讀取按照權(quán)利要求1~8任一項(xiàng)所述的方法寫入裸設(shè)備的數(shù)據(jù),方法包括:
10.一種裸設(shè)備數(shù)據(jù)寫入設(shè)備,其中,所述系統(tǒng)包括:
11.一種電子設(shè)備,所述電子設(shè)備包括:
12.一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序指令,所述計(jì)算機(jī)程序指令可被處理器執(zhí)行以實(shí)現(xiàn)如權(quán)利要求1至9中任一項(xiàng)所述的方法。
13.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至9中任一項(xiàng)所述的方法。