本申請涉及分布式數(shù)據(jù)庫,具體而言,涉及一種數(shù)據(jù)庫任務(wù)處理方法、裝置、電子設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)。
背景技術(shù):
1、分布式數(shù)據(jù)庫系統(tǒng)由多臺主機(jī)組成集群,其內(nèi)部組件眾多且結(jié)構(gòu)復(fù)雜。當(dāng)數(shù)據(jù)庫發(fā)生故障進(jìn)而觸發(fā)主備切換時(shí),可能會(huì)導(dǎo)致業(yè)務(wù)中斷、客戶資源流失、生產(chǎn)力和經(jīng)濟(jì)損失,甚至帶來其他難以估量的負(fù)面影響。
2、針對相關(guān)技術(shù)中存在的上述問題,目前尚未發(fā)現(xiàn)有效的解決方案。
技術(shù)實(shí)現(xiàn)思路
1、本申請?zhí)峁┝艘环N數(shù)據(jù)庫任務(wù)處理方法、裝置、電子設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì),以解決相關(guān)技術(shù)中存在的上述技術(shù)問題。
2、根據(jù)本申請的一個(gè)實(shí)施例,提供了一種數(shù)據(jù)庫任務(wù)處理方法,包括:檢測第一數(shù)據(jù)主節(jié)點(diǎn)是否觸發(fā)主備切換事件;在檢測到所述第一數(shù)據(jù)主節(jié)點(diǎn)觸發(fā)主備切換事件時(shí),確定與所述第一數(shù)據(jù)主節(jié)點(diǎn)關(guān)聯(lián)的當(dāng)前任務(wù)請求;通過對應(yīng)的計(jì)算節(jié)點(diǎn)暫存所述當(dāng)前任務(wù)請求,等待所述第一數(shù)據(jù)主節(jié)點(diǎn)完成主備切換后,在主備切換后的第二數(shù)據(jù)主節(jié)點(diǎn)中重新執(zhí)行所述當(dāng)前任務(wù)請求,并返回所述當(dāng)前任務(wù)請求的處理結(jié)果。
3、根據(jù)本申請的另一個(gè)實(shí)施例,提供了一種數(shù)據(jù)庫任務(wù)處理裝置,包括:檢測模塊,用于檢測第一數(shù)據(jù)主節(jié)點(diǎn)是否觸發(fā)主備切換事件;確定模塊,用于在檢測到所述第一數(shù)據(jù)主節(jié)點(diǎn)觸發(fā)主備切換事件時(shí),確定與所述第一數(shù)據(jù)主節(jié)點(diǎn)關(guān)聯(lián)的當(dāng)前任務(wù)請求;執(zhí)行模塊,用于通過對應(yīng)的計(jì)算節(jié)點(diǎn)暫存所述當(dāng)前任務(wù)請求,等待所述第一數(shù)據(jù)主節(jié)點(diǎn)完成主備切換后,在主備切換后的第二數(shù)據(jù)主節(jié)點(diǎn)中重新執(zhí)行所述當(dāng)前任務(wù)請求,并返回所述當(dāng)前任務(wù)請求的處理結(jié)果。
4、可選地,所述執(zhí)行模塊包括獲取單元,用于獲取預(yù)設(shè)時(shí)間閾值;第一檢測單元,用于檢測在所述預(yù)設(shè)時(shí)間閾值內(nèi)所述第一數(shù)據(jù)主節(jié)點(diǎn)是否完成主備切換;第一執(zhí)行單元,用于若在所述預(yù)設(shè)時(shí)間閾值內(nèi)所述第一數(shù)據(jù)主節(jié)點(diǎn)完成主備切換,則在主備切換后的第二數(shù)據(jù)主節(jié)點(diǎn)中重新執(zhí)行所述當(dāng)前任務(wù)請求,并返回所述當(dāng)前任務(wù)請求的處理結(jié)果。
5、可選地,所述執(zhí)行模塊還包括返回單元,用于若在所述預(yù)設(shè)時(shí)間閾值內(nèi)所述第一數(shù)據(jù)主節(jié)點(diǎn)未完成主備切換,則返回所述當(dāng)前任務(wù)請求處理失敗的處理結(jié)果。
6、可選地,所述執(zhí)行模塊包括第二檢測單元,用于檢測所述計(jì)算節(jié)點(diǎn)的剩余可用資源;第一判斷單元,用于判斷所述當(dāng)前任務(wù)請求的所需資源是否超出所述剩余可用資源;第二執(zhí)行單元,用于若所述當(dāng)前任務(wù)請求的所需資源超出所述剩余可用資源,則獲取所述當(dāng)前任務(wù)請求中超出所述剩余可用資源的第一任務(wù)請求,并返回所述第一任務(wù)請求處理失敗的處理結(jié)果;獲取所述當(dāng)前任務(wù)請求中除所述第一任務(wù)請求之外的第二任務(wù)請求,在主備切換后的第二數(shù)據(jù)主節(jié)點(diǎn)中重新執(zhí)行所述當(dāng)前任務(wù)請求,并返回所述當(dāng)前任務(wù)請求的處理結(jié)果。
7、可選地,所述執(zhí)行模塊還包括第三檢測單元,用于檢測主備切換后的第二數(shù)據(jù)節(jié)點(diǎn)的任務(wù)執(zhí)行上限;第二判斷單元,用于判斷所述計(jì)算節(jié)點(diǎn)中暫存的所述當(dāng)前任務(wù)請求的任務(wù)量是否超出所述任務(wù)執(zhí)行上限;第三執(zhí)行單元,用于若所述計(jì)算節(jié)點(diǎn)中暫存的所述當(dāng)前任務(wù)請求的任務(wù)量超出所述任務(wù)執(zhí)行上限,則將所述當(dāng)前任務(wù)請求分批發(fā)送至所述第二數(shù)據(jù)主節(jié)點(diǎn),在所述第二數(shù)據(jù)主節(jié)點(diǎn)中重新執(zhí)行所述當(dāng)前任務(wù)請求,并返回所述當(dāng)前任務(wù)請求的處理結(jié)果。
8、可選地,所述數(shù)據(jù)庫任務(wù)處理裝置還包括識別模塊,用于識別所述當(dāng)前任務(wù)請求的屬性;分析模塊,用于分析所述屬性的響應(yīng)時(shí)間敏感度;所述執(zhí)行模塊,還用于若所述響應(yīng)時(shí)間敏感度低于預(yù)設(shè)閾值,則執(zhí)行通過對應(yīng)的計(jì)算節(jié)點(diǎn)暫存所述當(dāng)前任務(wù)請求,等待所述第一數(shù)據(jù)主節(jié)點(diǎn)完成主備切換后,在主備切換后的第二數(shù)據(jù)主節(jié)點(diǎn)中重新執(zhí)行所述當(dāng)前任務(wù)請求,并返回所述當(dāng)前任務(wù)請求的處理結(jié)果;若所述響應(yīng)時(shí)間敏感度高于預(yù)設(shè)閾值,則返回所述當(dāng)前任務(wù)請求處理失敗的處理結(jié)果。
9、根據(jù)本申請的又一個(gè)實(shí)施例,還提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),所述計(jì)算機(jī)存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,其中,所述計(jì)算機(jī)程序被設(shè)置為運(yùn)行時(shí)執(zhí)行上述任一項(xiàng)裝置實(shí)施例中的步驟。
10、根據(jù)本申請的又一個(gè)實(shí)施例,還提供了一種電子裝置,包括處理器、通信接口、存儲(chǔ)器和通信總線,其中,處理器,通信接口,存儲(chǔ)器通過通信總線完成相互間的通信;其中:存儲(chǔ)器,用于存放計(jì)算機(jī)程序;處理器,用于通過運(yùn)行存儲(chǔ)器上所存放的程序來執(zhí)行上述方法中的步驟。
11、根據(jù)本申請的又一個(gè)實(shí)施例,還提供了一種包含指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)其在計(jì)算機(jī)上運(yùn)行時(shí),使得計(jì)算機(jī)執(zhí)行上述方法中的步驟。
12、通過本申請實(shí)施例,當(dāng)分布式數(shù)據(jù)庫集群因?yàn)楣收习l(fā)生主備切換時(shí),暫存與故障數(shù)據(jù)節(jié)點(diǎn)關(guān)聯(lián)的當(dāng)前任務(wù)請求,等待故障數(shù)據(jù)節(jié)點(diǎn)完成主備切換后,在新的數(shù)據(jù)節(jié)點(diǎn)中重新執(zhí)行當(dāng)前任務(wù)請求,可實(shí)現(xiàn)當(dāng)前進(jìn)行事務(wù)不被中斷,業(yè)務(wù)不受影響,客戶無感知。
1.一種數(shù)據(jù)庫任務(wù)處理方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,等待所述第一數(shù)據(jù)主節(jié)點(diǎn)完成主備切換后,在主備切換后的第二數(shù)據(jù)主節(jié)點(diǎn)中重新執(zhí)行所述當(dāng)前任務(wù)請求,并返回所述當(dāng)前任務(wù)請求的處理結(jié)果包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,檢測在所述預(yù)設(shè)時(shí)間閾值內(nèi)所述第一數(shù)據(jù)主節(jié)點(diǎn)是否完成主備切換之后,所述方法還包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,等待所述第一數(shù)據(jù)主節(jié)點(diǎn)完成主備切換后,在主備切換后的第二數(shù)據(jù)主節(jié)點(diǎn)中重新執(zhí)行所述當(dāng)前任務(wù)請求,并返回所述當(dāng)前任務(wù)請求的處理結(jié)果包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在主備切換后的第二數(shù)據(jù)主節(jié)點(diǎn)中重新執(zhí)行所述當(dāng)前任務(wù)請求,并返回所述當(dāng)前任務(wù)請求的處理結(jié)果包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,在通過對應(yīng)的計(jì)算節(jié)點(diǎn)暫存所述當(dāng)前任務(wù)請求之前,所述方法還包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在分析所述屬性的響應(yīng)時(shí)間敏感度之后,所述方法還包括:
8.一種數(shù)據(jù)庫任務(wù)處理裝置,其特征在于,包括:
9.一種電子設(shè)備,其特征在于,包括處理器、通信接口、存儲(chǔ)器和通信總線,其中,處理器,通信接口,存儲(chǔ)器通過通信總線完成相互間的通信;其中:
10.一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)存儲(chǔ)介質(zhì)包括存儲(chǔ)的程序,其中,所述程序運(yùn)行時(shí)執(zhí)行權(quán)利要求1至7中任一項(xiàng)所述的數(shù)據(jù)庫任務(wù)處理方法。