本發(fā)明涉及數(shù)據(jù)存儲(chǔ),特別是涉及一種軟件磁盤陣列的數(shù)據(jù)存儲(chǔ)方法、設(shè)備、介質(zhì)及產(chǎn)品。
背景技術(shù):
1、信息技術(shù)的不斷發(fā)展推動(dòng)了數(shù)據(jù)存儲(chǔ)需求的增長(zhǎng),隨著數(shù)據(jù)存儲(chǔ)需求的快速增長(zhǎng),用戶對(duì)于存儲(chǔ)系統(tǒng)的要求也越來越高,目前傳統(tǒng)的raid(redundant?arrays?ofindependent?disks,獨(dú)立磁盤冗余陣列)系統(tǒng)能夠依賴于物理磁盤的冗余來確保數(shù)據(jù)的安全性,提供了數(shù)據(jù)冗余,但在存儲(chǔ)效率方面卻仍然面臨挑戰(zhàn)。尤其是在大數(shù)據(jù)環(huán)境下,數(shù)據(jù)的快速增長(zhǎng)使得存儲(chǔ)成本逐漸上升,如何有效地利用現(xiàn)有的存儲(chǔ)資源來提高存儲(chǔ)效率,降低存儲(chǔ)成本成為目前亟待解決的問題。
2、可見,如何有效地利用存儲(chǔ)資源,是本領(lǐng)域技術(shù)人員需要解決的問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明實(shí)施例的目的是提供一種軟件磁盤陣列的數(shù)據(jù)存儲(chǔ)方法、設(shè)備、介質(zhì)及產(chǎn)品,可以解決如何有效地提高raid系統(tǒng)中存儲(chǔ)資源的利用率問題。
2、為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種軟件磁盤陣列的數(shù)據(jù)存儲(chǔ)方法,包括:
3、通過磁盤陣列管理工具執(zhí)行創(chuàng)建命令,并根據(jù)預(yù)設(shè)的配置參數(shù)和預(yù)設(shè)的壓縮屬性參數(shù)創(chuàng)建軟件磁盤陣列;其中,所述壓縮屬性參數(shù)包括第一識(shí)別碼或第二識(shí)別碼,所述第一識(shí)別碼用于指定所述軟件磁盤陣列選用的目標(biāo)壓縮算法,所述第二識(shí)別碼用于表征所述軟件磁盤陣列待存儲(chǔ)的數(shù)據(jù)類型;
4、若存在待存儲(chǔ)數(shù)據(jù)輸入,基于所述配置參數(shù)和/或所述壓縮屬性參數(shù)確定當(dāng)前所述軟件磁盤陣列選用的目標(biāo)壓縮算法;
5、采用所述目標(biāo)壓縮算法對(duì)所述待存儲(chǔ)數(shù)據(jù)進(jìn)行壓縮得到壓縮數(shù)據(jù);
6、將所述壓縮數(shù)據(jù)存儲(chǔ)到所述軟件磁盤陣列對(duì)應(yīng)的硬盤中。
7、一方面,所述壓縮屬性參數(shù)還包括壓縮開關(guān)位,所述壓縮開關(guān)位用于控制所述軟件磁盤陣列的數(shù)據(jù)壓縮功能的開啟與關(guān)閉;基于所述配置參數(shù)和/或所述壓縮屬性參數(shù)確定當(dāng)前所述軟件磁盤陣列選用的目標(biāo)壓縮算法之前,還包括:
8、將所述壓縮開關(guān)位配置為數(shù)據(jù)壓縮功能開啟的對(duì)應(yīng)狀態(tài)。
9、一方面,所述軟件磁盤陣列還包括算法庫(kù)和與所述算法庫(kù)中的各個(gè)所述壓縮算法一一對(duì)應(yīng)的應(yīng)用程序編程接口,所述算法庫(kù)用于提供壓縮算法;采用所述目標(biāo)壓縮算法對(duì)所述待存儲(chǔ)數(shù)據(jù)進(jìn)行壓縮得到壓縮數(shù)據(jù),包括:
10、調(diào)用與所述目標(biāo)壓縮算法對(duì)應(yīng)的應(yīng)用程序編程接口,以采用所述目標(biāo)壓縮算法對(duì)所述待存儲(chǔ)數(shù)據(jù)進(jìn)行壓縮得到壓縮數(shù)據(jù)。
11、一方面,還包括:
12、若存在壓縮數(shù)據(jù)輸入,采用所述壓縮數(shù)據(jù)對(duì)應(yīng)的目標(biāo)壓縮算法對(duì)所述壓縮數(shù)據(jù)進(jìn)行解壓縮以得到原始數(shù)據(jù)。
13、一方面,基于所述配置參數(shù)和/或所述壓縮屬性參數(shù)確定當(dāng)前所述軟件磁盤陣列選用的目標(biāo)壓縮算法,包括:
14、若存在待存儲(chǔ)數(shù)據(jù)輸入,基于所述待存儲(chǔ)數(shù)據(jù)、所述配置參數(shù)和所述壓縮屬性參數(shù)生成所述待存儲(chǔ)數(shù)據(jù)的壓縮請(qǐng)求;所述壓縮請(qǐng)求包括所述待存儲(chǔ)數(shù)據(jù)的內(nèi)存地址、所述待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)大小和當(dāng)前所述軟件磁盤陣列選用的目標(biāo)壓縮算法;
15、接收所述壓縮請(qǐng)求,并基于所述壓縮請(qǐng)求確定當(dāng)前所述軟件磁盤陣列選用的目標(biāo)壓縮算法;
16、將所述壓縮數(shù)據(jù)存儲(chǔ)到所述軟件磁盤陣列對(duì)應(yīng)的硬盤中,包括:
17、基于所述壓縮數(shù)據(jù)和所述目標(biāo)壓縮算法生成所述待存儲(chǔ)數(shù)據(jù)的壓縮響應(yīng);所述壓縮響應(yīng)包括所述壓縮數(shù)據(jù)的內(nèi)存地址、所述壓縮數(shù)據(jù)的數(shù)據(jù)大小和所述待存儲(chǔ)數(shù)據(jù)進(jìn)行壓縮時(shí)采用的目標(biāo)壓縮算法;
18、接收所述壓縮響應(yīng),并基于所述壓縮響應(yīng)將所述壓縮數(shù)據(jù)存儲(chǔ)到所述軟件磁盤陣列對(duì)應(yīng)的硬盤中。
19、一方面,還包括:
20、緩存待處理的壓縮請(qǐng)求,以生成請(qǐng)求隊(duì)列;
21、接收所述壓縮請(qǐng)求,包括:
22、從所述請(qǐng)求隊(duì)列中讀取所述壓縮請(qǐng)求。
23、一方面,還包括:
24、緩存待處理的壓縮響應(yīng),以生成響應(yīng)隊(duì)列;
25、接收所述壓縮響應(yīng),包括:
26、從所述響應(yīng)隊(duì)列中讀取所述壓縮響應(yīng)。
27、一方面,基于所述配置參數(shù)和/或所述壓縮屬性參數(shù)確定當(dāng)前所述軟件磁盤陣列選用的目標(biāo)壓縮算法,包括:
28、從預(yù)設(shè)的所述壓縮屬性參數(shù)中獲取第一識(shí)別碼;
29、基于壓縮算法與第一識(shí)別碼之間的預(yù)設(shè)對(duì)應(yīng)關(guān)系確定當(dāng)前所述軟件磁盤陣列選用的目標(biāo)壓縮算法。
30、一方面,基于所述配置參數(shù)和/或所述壓縮屬性參數(shù)確定當(dāng)前所述軟件磁盤陣列選用的目標(biāo)壓縮算法,包括:
31、從預(yù)設(shè)的所述壓縮屬性參數(shù)中獲取第二識(shí)別碼;
32、基于數(shù)據(jù)類型與第二識(shí)別碼之間的預(yù)設(shè)對(duì)應(yīng)關(guān)系確定當(dāng)前所述軟件磁盤陣列待存儲(chǔ)的數(shù)據(jù)類型;
33、根據(jù)當(dāng)前所述軟件磁盤陣列待存儲(chǔ)的數(shù)據(jù)類型確定當(dāng)前所述軟件磁盤陣列選用的目標(biāo)壓縮算法。
34、一方面,根據(jù)當(dāng)前所述軟件磁盤陣列待存儲(chǔ)的數(shù)據(jù)類型確定當(dāng)前所述軟件磁盤陣列選用的目標(biāo)壓縮算法,包括:
35、從算法庫(kù)中確定支持當(dāng)前所述軟件磁盤陣列待存儲(chǔ)的數(shù)據(jù)類型的可用壓縮算法;
36、將壓縮效率大于第一預(yù)設(shè)值的若干個(gè)可用壓縮算法中壓縮率最高的壓縮算法確定為目標(biāo)壓縮算法。
37、一方面,基于所述配置參數(shù)和/或所述壓縮屬性參數(shù)確定當(dāng)前所述軟件磁盤陣列選用的目標(biāo)壓縮算法,包括:
38、基于所述配置參數(shù)確定當(dāng)前所述軟件磁盤陣列的陣列級(jí)別;
39、根據(jù)當(dāng)前所述軟件磁盤陣列的陣列級(jí)別確定當(dāng)前所述軟件磁盤陣列選用的目標(biāo)壓縮算法。
40、一方面,根據(jù)當(dāng)前所述軟件磁盤陣列的陣列級(jí)別確定當(dāng)前所述軟件磁盤陣列選用的目標(biāo)壓縮算法,包括:
41、若當(dāng)前所述軟件磁盤陣列為磁盤條帶化陣列,則將算法庫(kù)中壓縮速度最快的壓縮算法確定為目標(biāo)壓縮算法;
42、若當(dāng)前所述軟件磁盤陣列為磁盤鏡像陣列,則將算法庫(kù)中壓縮比最高的壓縮算法確定為目標(biāo)壓縮算法。
43、為解決上述技術(shù)問題,本發(fā)明實(shí)施例還提供了一種電子設(shè)備,包括:
44、存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序;
45、處理器,用于執(zhí)行所述計(jì)算機(jī)程序以實(shí)現(xiàn)如前述所述的軟件磁盤陣列的數(shù)據(jù)存儲(chǔ)方法的步驟。
46、為解決上述技術(shù)問題,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如前述所述的軟件磁盤陣列的數(shù)據(jù)存儲(chǔ)方法的步驟。
47、為解決上述技術(shù)問題,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)前述所述的軟件磁盤陣列的數(shù)據(jù)存儲(chǔ)方法的步驟。
48、由上述技術(shù)方案可以看出,數(shù)據(jù)存儲(chǔ)在軟件磁盤陣列中,在創(chuàng)建該軟件磁盤陣列時(shí),設(shè)置的創(chuàng)建參數(shù)不僅僅包括軟件磁盤陣列本身預(yù)設(shè)的配置參數(shù),還包括預(yù)設(shè)的壓縮屬性參數(shù),配置了一個(gè)帶有壓縮屬性的軟件磁盤陣列,壓縮屬性參數(shù)能夠指示軟件磁盤陣列在存儲(chǔ)數(shù)據(jù)時(shí)進(jìn)行相應(yīng)的數(shù)據(jù)壓縮操作;本發(fā)明的有益效果在于,根據(jù)配置的陣列的壓縮屬性參數(shù),用戶對(duì)軟件磁盤陣列進(jìn)行數(shù)據(jù)讀寫操作時(shí)可以采用合理高效的壓縮算法對(duì)數(shù)據(jù)進(jìn)行壓縮,通過這一智能壓縮的過程減少了存儲(chǔ)空間的占用,提高了存儲(chǔ)效率,降低了存儲(chǔ)成本,壓縮后的數(shù)據(jù)體積減小,從而提高了數(shù)據(jù)的傳輸速度。