本申請涉及計算機(jī),特別涉及一種i/o請求調(diào)度方法、裝置、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、隨著云計算和虛擬化技術(shù)的快速發(fā)展,傳統(tǒng)計算機(jī)硬件資源被納入資源池進(jìn)行池化管理,以提供定制的計算和存儲服務(wù)。在追加寫的分布式存儲系統(tǒng)中,用戶數(shù)據(jù)以追加的方式寫入硬盤池,且不可修改。當(dāng)用戶對數(shù)據(jù)進(jìn)行修改時,舊數(shù)據(jù)變?yōu)闊o效數(shù)據(jù),需要后臺任務(wù)進(jìn)行垃圾回收。同時,分布式存儲系統(tǒng)一般使用糾刪碼技術(shù)來保證數(shù)據(jù)的安全性,允許一定范圍內(nèi)的硬盤損壞、存儲節(jié)點(diǎn)宕機(jī)和局部網(wǎng)絡(luò)故障。當(dāng)發(fā)生故障時,系統(tǒng)會自動使用糾刪碼技術(shù)進(jìn)行數(shù)據(jù)修復(fù),以保障數(shù)據(jù)的安全。此外,在擴(kuò)容等運(yùn)維操作后,系統(tǒng)需要將舊硬盤中的數(shù)據(jù)遷移到新擴(kuò)容的硬盤上,以實(shí)現(xiàn)存儲集群中的數(shù)據(jù)重平衡。此外,由于硬盤介質(zhì)長期使用過程中必然會產(chǎn)生壞道,系統(tǒng)通常都會周期的進(jìn)行壞道掃描以及時的發(fā)現(xiàn)和修復(fù)壞道。上述操作都會產(chǎn)生大量i/o請求,相關(guān)技術(shù)中通常按照i/o請求的接收時間進(jìn)行處理,但是上述方式無法滿足關(guān)鍵任務(wù)的負(fù)載需求。
2、因此,如何平衡存儲系統(tǒng)的資源,滿足不同類型i/o請求的調(diào)度需求是本領(lǐng)域技術(shù)人員目前需要解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、本申請的目的是提供一種i/o請求調(diào)度方法、裝置、電子設(shè)備及存儲介質(zhì),能夠平衡存儲系統(tǒng)的資源,滿足不同類型i/o請求的調(diào)度需求。
2、為解決上述技術(shù)問題,本申請?zhí)峁┮环Ni/o請求調(diào)度方法,應(yīng)用于包括多個硬盤池的分布式存儲系統(tǒng),所述i/o請求調(diào)度方法包括:
3、獲取所有所述硬盤池的狀態(tài)信息,根據(jù)所述狀態(tài)信息確定每一所述硬盤池對應(yīng)的i/o類型優(yōu)先級映射表;其中,所述i/o類型優(yōu)先級映射表中存儲了i/o請求的類型與優(yōu)先級的對應(yīng)關(guān)系;
4、根據(jù)所述i/o類型優(yōu)先級映射表確定每一所述硬盤池對應(yīng)的待處理i/o請求的優(yōu)先級;
5、按照優(yōu)先級將所述待處理i/o請求入隊(duì)至對應(yīng)的優(yōu)先級隊(duì)列。
6、可選的,獲取所有所述硬盤池的狀態(tài)信息,根據(jù)所述狀態(tài)信息確定每一所述硬盤池對應(yīng)的i/o類型優(yōu)先級映射表,包括:
7、獲取所有所述硬盤池的狀態(tài)信息;
8、根據(jù)每一所述硬盤池的狀態(tài)信息查詢硬盤池狀態(tài)映射表,確定對應(yīng)的i/o類型優(yōu)先級映射表。
9、可選的,根據(jù)所述i/o類型優(yōu)先級映射表確定每一所述硬盤池對應(yīng)的待處理i/o請求的優(yōu)先級,包括:
10、若接收到客戶端的優(yōu)先級查詢請求,則將所有所述硬盤池對應(yīng)的i/o類型優(yōu)先級映射表發(fā)送至所述客戶端,以便所述客戶端根據(jù)所述i/o類型優(yōu)先級映射表確定每一所述硬盤池對應(yīng)的待處理i/o請求的優(yōu)先級。
11、可選的,還包括:
12、為每一所述優(yōu)先級隊(duì)列設(shè)置對應(yīng)的資源分配額度;其中,所述資源分配額度用于描述優(yōu)先級隊(duì)列的資源調(diào)度上限。
13、可選的,還包括:
14、為每一所述優(yōu)先級隊(duì)列設(shè)置對應(yīng)的最大并行數(shù)量;
15、選取一個所述優(yōu)先級隊(duì)列作為目標(biāo)優(yōu)先級隊(duì)列,并確定隊(duì)列集合;其中,所述隊(duì)列集合包括所述目標(biāo)優(yōu)先級隊(duì)列和優(yōu)先級高于所述目標(biāo)優(yōu)先級隊(duì)列的所有優(yōu)先級隊(duì)列;
16、判斷所述隊(duì)列集合中所有優(yōu)先級隊(duì)列的待處理i/o請求數(shù)量之和是否大于最大并行數(shù)量之和;其中,所述最大并行數(shù)量之和為所述隊(duì)列集合中所有優(yōu)先級隊(duì)列的最大并行數(shù)量的總和;
17、若是,則向上層應(yīng)用發(fā)送忙碌信號,以使所述上層應(yīng)用調(diào)整待處理i/o請求的下發(fā)策略。
18、可選的,還包括:
19、根據(jù)所述待處理i/o請求的優(yōu)先級設(shè)置每一所述優(yōu)先級隊(duì)列的出隊(duì)比例信息,以便按照所述出隊(duì)比例信息調(diào)度所述待處理i/o請求;其中,所述出隊(duì)比例信息用于描述所述優(yōu)先級隊(duì)列中每一種優(yōu)先級的待處理i/o請求的出隊(duì)比例。
20、可選的,還包括:
21、為每一所述優(yōu)先級隊(duì)列對應(yīng)的令牌桶設(shè)置最大令牌數(shù)量,并設(shè)置所述令牌桶的令牌發(fā)放周期;其中,所述令牌桶中的令牌為允許待處理i/o請求出隊(duì)的憑證;
22、基于令牌桶算法控制每一所述優(yōu)先級隊(duì)列中的待處理i/o請求按照所述出隊(duì)比例信息出隊(duì)。
23、本申請還提供了一種i/o請求調(diào)度裝置,應(yīng)用于包括多個硬盤池的分布式存儲系統(tǒng),所述i/o請求調(diào)度裝置包括:
24、優(yōu)先級查詢模塊,用于獲取所有所述硬盤池的狀態(tài)信息,根據(jù)所述狀態(tài)信息確定每一所述硬盤池對應(yīng)的i/o類型優(yōu)先級映射表;其中,所述i/o類型優(yōu)先級映射表中存儲了i/o請求的類型與優(yōu)先級的對應(yīng)關(guān)系;
25、優(yōu)先級設(shè)置模塊,用于根據(jù)所述i/o類型優(yōu)先級映射表確定每一所述硬盤池對應(yīng)的待處理i/o請求的優(yōu)先級;
26、入隊(duì)控制模塊,用于按照優(yōu)先級將所述待處理i/o請求入隊(duì)至對應(yīng)的優(yōu)先級隊(duì)列。
27、本申請還提供了一種存儲介質(zhì),其上存儲有計算機(jī)程序,所述計算機(jī)程序執(zhí)行時實(shí)現(xiàn)上述i/o請求調(diào)度方法執(zhí)行的步驟。
28、本申請還提供了一種電子設(shè)備,包括存儲器和處理器,所述存儲器中存儲有計算機(jī)程序,所述處理器調(diào)用所述存儲器中的計算機(jī)程序時實(shí)現(xiàn)上述i/o請求調(diào)度方法執(zhí)行的步驟。
29、本申請?zhí)峁┝艘环Ni/o請求調(diào)度方法,該方法獲取硬盤池的狀態(tài)信息,根據(jù)硬盤池的狀態(tài)信息確定每一硬盤池對應(yīng)的i/o類型優(yōu)先級映射表。本申請根據(jù)i/o類型優(yōu)先級映射表確定每一所述硬盤池對應(yīng)的待處理i/o請求的優(yōu)先級,并將i/o請求按優(yōu)先級分類并入隊(duì)至相應(yīng)的優(yōu)先級隊(duì)列中。上述過程能夠根據(jù)硬盤池的狀態(tài)信息來調(diào)整i/o請求的優(yōu)先級,從而平衡分布式存儲系統(tǒng)的資源利用,使得高優(yōu)先級的i/o請求得到及時處理,也可以使得低優(yōu)先級的請求在資源允許的情況下得到適當(dāng)?shù)年P(guān)注。因此,本申請能夠平衡存儲系統(tǒng)的資源,滿足不同類型i/o請求的調(diào)度需求。本申請同時還提供了一種i/o請求調(diào)度裝置、一種存儲介質(zhì)和一種電子設(shè)備,具有上述有益效果,在此不再贅述。
1.一種i/o請求調(diào)度方法,其特征在于,應(yīng)用于包括多個硬盤池的分布式存儲系統(tǒng),所述i/o請求調(diào)度方法包括:
2.根據(jù)權(quán)利要求1所述i/o請求調(diào)度方法,其特征在于,獲取所有所述硬盤池的狀態(tài)信息,根據(jù)所述狀態(tài)信息確定每一所述硬盤池對應(yīng)的i/o類型優(yōu)先級映射表,包括:
3.根據(jù)權(quán)利要求1所述i/o請求調(diào)度方法,其特征在于,根據(jù)所述i/o類型優(yōu)先級映射表確定每一所述硬盤池對應(yīng)的待處理i/o請求的優(yōu)先級,包括:
4.根據(jù)權(quán)利要求1所述i/o請求調(diào)度方法,其特征在于,還包括:
5.根據(jù)權(quán)利要求1所述i/o請求調(diào)度方法,其特征在于,還包括:
6.根據(jù)權(quán)利要求1至5任一項(xiàng)所述i/o請求調(diào)度方法,其特征在于,還包括:
7.根據(jù)權(quán)利要求6任一項(xiàng)所述i/o請求調(diào)度方法,其特征在于,還包括:
8.一種i/o請求調(diào)度裝置,其特征在于,應(yīng)用于包括多個硬盤池的分布式存儲系統(tǒng),所述i/o請求調(diào)度裝置包括:
9.一種電子設(shè)備,其特征在于,包括存儲器和處理器,所述存儲器中存儲有計算機(jī)程序,所述處理器調(diào)用所述存儲器中的計算機(jī)程序時實(shí)現(xiàn)如權(quán)利要求1至7任一項(xiàng)所述i/o請求調(diào)度方法的步驟。
10.一種存儲介質(zhì),其特征在于,所述存儲介質(zhì)中存儲有計算機(jī)可執(zhí)行指令,所述計算機(jī)可執(zhí)行指令被處理器加載并執(zhí)行時,實(shí)現(xiàn)如權(quán)利要求1至7任一項(xiàng)所述i/o請求調(diào)度方法的步驟。