本申請涉及計算機,具體而言,涉及一種數(shù)據(jù)庫請求調(diào)度方法、裝置及計算機設(shè)備。
背景技術(shù):
1、數(shù)據(jù)包調(diào)度技術(shù)是決定一個數(shù)據(jù)包在什么時間可調(diào)度,和按照什么順序調(diào)度數(shù)據(jù)包的過程,對于數(shù)據(jù)庫請求調(diào)度方法,相關(guān)技術(shù)中優(yōu)先級調(diào)度技術(shù)很少在存儲系統(tǒng)中使用,存儲系統(tǒng)主要以先進先出(first?input?first?output,簡稱為fifo)的形式處理存儲系統(tǒng)中讀取和寫入數(shù)據(jù)的請求(input/output,簡稱i/o請求)。尤其在數(shù)據(jù)庫場景中,存儲系統(tǒng)沒有專門針對數(shù)據(jù)庫請求(例如,數(shù)據(jù)庫日志寫請求)進行優(yōu)先調(diào)度的方法。
2、同時,在數(shù)據(jù)庫混合負(fù)載(例如,聯(lián)機事務(wù)處理過程(on-line?transactionprocessing,簡稱為oltp)+聯(lián)機分析處理過程(on-line?analytical?processing,簡稱為olap))場景下,數(shù)據(jù)庫的重做日志(redo日志)寫請求的并發(fā)對于存儲系統(tǒng)來說并不高,反而是其他數(shù)據(jù)讀寫請求并發(fā)較大,按照傳統(tǒng)的嚴(yán)格優(yōu)先級調(diào)度或者加權(quán)輪詢調(diào)度,并不能有效降低數(shù)據(jù)庫日志寫請求的時延,導(dǎo)致數(shù)據(jù)庫日志的寫入效率較低。
技術(shù)實現(xiàn)思路
1、本申請實施例提供了一種數(shù)據(jù)庫請求調(diào)度方法、裝置及計算機設(shè)備,以至少解決相關(guān)技術(shù)中的數(shù)據(jù)庫重做日志寫時延較高,導(dǎo)致數(shù)據(jù)庫日志的寫入效率較低的技術(shù)問題。
2、根據(jù)本申請實施例的一個方面,提供了一種數(shù)據(jù)庫請求調(diào)度方法,包括:接收數(shù)據(jù)庫請求,并確定數(shù)據(jù)庫請求的類型;根據(jù)數(shù)據(jù)庫請求的類型確定數(shù)據(jù)庫請求的優(yōu)先級,其中,數(shù)據(jù)庫優(yōu)先卷寫請求在數(shù)據(jù)庫請求中的優(yōu)先級為最高,優(yōu)先卷至少包括:重做日志文件;在數(shù)據(jù)庫負(fù)載超過預(yù)設(shè)閾值的情況下,按照優(yōu)先級調(diào)度數(shù)據(jù)庫請求。
3、可選地,根據(jù)數(shù)據(jù)庫請求的類型確定數(shù)據(jù)庫請求的優(yōu)先級,包括:獲取數(shù)據(jù)庫請求的類型;在數(shù)據(jù)庫請求為優(yōu)先卷寫請求的情況下,將數(shù)據(jù)庫請求傳入高優(yōu)先級隊列;在數(shù)據(jù)庫請求為讀請求的情況下,將數(shù)據(jù)庫請求傳入中優(yōu)先級隊列;在數(shù)據(jù)庫請求為非優(yōu)先卷寫請求的情況下,將數(shù)據(jù)庫請求傳輸?shù)蛢?yōu)先級隊列,其中,高優(yōu)先級隊列、中優(yōu)先級隊列和低優(yōu)先級隊列的調(diào)度優(yōu)先級依次降低。
4、可選地,按照優(yōu)先級調(diào)度數(shù)據(jù)庫請求,包括:輪詢第一變量和第二變量,其中,第一變量用于控制高優(yōu)先級隊列中的請求出隊,表示高優(yōu)先級隊列調(diào)度間隔次數(shù),第二變量用于控制低優(yōu)先級隊列中的請求出隊;在第一變量的值為零的情況下,確定調(diào)度高優(yōu)先級隊列中的請求出隊,在第二變量的值為零的情況下,確定調(diào)度低優(yōu)先級隊列中的請求出隊。
5、可選地,輪詢第一變量和第二變量,包括:檢測輪詢指令;在檢測到輪詢指令的情況下,第一變量和第二變量的值均減少一。
6、可選地,方法還包括:獲取第一變量和第二變量的初始值,其中,第一變量和第二變量的初始值均為零;在檢測到數(shù)據(jù)庫負(fù)載超過預(yù)設(shè)閾值的情況下,第二變量的值增加一。
7、可選地,方法還包括:獲取預(yù)設(shè)滑動窗口;每隔預(yù)設(shè)周期獲取數(shù)據(jù)庫中除主線程外的所有線程在預(yù)設(shè)滑動窗口內(nèi)的負(fù)載;將除主線程外的所有線程在預(yù)設(shè)滑動窗口內(nèi)的負(fù)載的均值確定為數(shù)據(jù)庫負(fù)載。
8、可選地,方法還包括:接收到的接收數(shù)據(jù)庫請求,并確定數(shù)據(jù)庫請求的優(yōu)先級;在預(yù)設(shè)時段內(nèi)接收到的數(shù)據(jù)庫請求均為低優(yōu)先級請求或均為高優(yōu)先級請求的情況下,按照先進先出的策略調(diào)度數(shù)據(jù)庫請求,其中,低優(yōu)先級請求的調(diào)度優(yōu)先級低于高優(yōu)先級請求的調(diào)度優(yōu)先級。
9、根據(jù)本申請實施例的另一方面,還提供了一種數(shù)據(jù)庫請求調(diào)度裝置,包括:接收模塊,用于接收數(shù)據(jù)庫請求,并確定數(shù)據(jù)庫請求的類型;確定模塊,用于根據(jù)數(shù)據(jù)庫請求的類型確定數(shù)據(jù)庫請求的優(yōu)先級,其中,數(shù)據(jù)庫優(yōu)先卷寫請求在數(shù)據(jù)庫請求中的優(yōu)先級為最高,優(yōu)先卷至少包括:重做日志文件;調(diào)度模塊,用于在數(shù)據(jù)庫負(fù)載超過預(yù)設(shè)閾值的情況下,按照優(yōu)先級調(diào)度數(shù)據(jù)庫請求。
10、根據(jù)本申請實施例的又一方面,還提供了一種計算機設(shè)備,包括:存儲器和處理器,其中,存儲器用于存儲程序指令;處理器,與存儲器連接,用于執(zhí)行上述數(shù)據(jù)庫請求調(diào)度方法。
11、根據(jù)本申請實施例的再一方面,還提供了一種非易失性存儲介質(zhì),該非易失性存儲介質(zhì)包括存儲的計算機程序,其中,該非易失性存儲介質(zhì)所在設(shè)備通過運行計算機程序執(zhí)行上述數(shù)據(jù)庫請求調(diào)度方法。
12、根據(jù)本申請實施例的再一方面,還提供了一種計算機程序產(chǎn)品,包括計算機指令,該計算機指令被處理器執(zhí)行時實現(xiàn)上述數(shù)據(jù)庫請求調(diào)度方法。
13、在本申請實施例中,通過采用接收數(shù)據(jù)庫請求,并確定數(shù)據(jù)庫請求的類型;根據(jù)數(shù)據(jù)庫請求的類型確定數(shù)據(jù)庫請求的優(yōu)先級,其中,數(shù)據(jù)庫優(yōu)先卷寫請求在數(shù)據(jù)庫請求中的優(yōu)先級為最高,優(yōu)先卷至少包括:重做日志文件;在數(shù)據(jù)庫負(fù)載超過預(yù)設(shè)閾值的情況下,按照優(yōu)先級調(diào)度數(shù)據(jù)庫請求的方法,將數(shù)據(jù)庫請求按照類型進行優(yōu)先級劃分,再根據(jù)數(shù)據(jù)庫負(fù)載,按照優(yōu)先級調(diào)度數(shù)據(jù)庫請求,數(shù)據(jù)庫優(yōu)先卷寫請求在數(shù)據(jù)庫請求中的優(yōu)先級為最高,優(yōu)先卷至少包括:重做日志文件,優(yōu)先對重做日志的數(shù)據(jù)庫請求進行調(diào)度,從而達(dá)到了降低了重做日志的寫時延的目的,從而實現(xiàn)了提升數(shù)據(jù)庫日志的寫入效率的技術(shù)效果,進而解決了相關(guān)技術(shù)中的數(shù)據(jù)庫重做日志寫時延較高,導(dǎo)致數(shù)據(jù)庫日志的寫入效率較低的技術(shù)問題。
1.一種數(shù)據(jù)庫請求調(diào)度方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述數(shù)據(jù)庫請求的類型確定所述數(shù)據(jù)庫請求的優(yōu)先級,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,按照所述優(yōu)先級調(diào)度所述數(shù)據(jù)庫請求,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,輪詢第一變量和第二變量,包括:
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
8.一種數(shù)據(jù)庫請求調(diào)度裝置,其特征在于,包括:
9.一種計算機設(shè)備,其特征在于,包括:存儲器和處理器,其中,所述存儲器用于存儲程序指令;所述處理器,與所述存儲器連接,用于執(zhí)行權(quán)利要求1至7中任意一項所述的數(shù)據(jù)庫請求調(diào)度方法。
10.一種計算機程序產(chǎn)品,包括計算機指令,其特征在于,所述計算機指令被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至7中任意一項所述的數(shù)據(jù)庫請求調(diào)度方法。