System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及計(jì)算機(jī),尤其涉及一種任務(wù)調(diào)度分配方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)。
技術(shù)介紹
1、在計(jì)算機(jī)
,調(diào)度引擎是指提供調(diào)度任務(wù)的設(shè)置、管理和執(zhí)行功能,實(shí)現(xiàn)任務(wù)的自動(dòng)啟動(dòng)與處理,為用戶提供報(bào)表的自動(dòng)計(jì)算、導(dǎo)出以及推送功能;調(diào)度引擎通??梢园〝?shù)據(jù)存儲(chǔ)組件、調(diào)度器和執(zhí)行器等,并且大部分開源調(diào)度引擎通常采用數(shù)據(jù)庫(kù)或分布式協(xié)調(diào)器作為鎖,實(shí)現(xiàn)多個(gè)調(diào)度器通過多線程并發(fā)方式進(jìn)行任務(wù)調(diào)度分配。然而,由于現(xiàn)有多個(gè)調(diào)度器并發(fā)對(duì)數(shù)據(jù)庫(kù)或分布式協(xié)調(diào)器這種鎖的依賴性很大,因此,當(dāng)任務(wù)量大、歷史數(shù)據(jù)量多時(shí)容易出現(xiàn)調(diào)度性能瓶頸,并且多個(gè)調(diào)度器爭(zhēng)搶數(shù)據(jù)庫(kù)鎖或分布式協(xié)調(diào)器的過程也會(huì)造成資源浪費(fèi)和單點(diǎn)故障,從而導(dǎo)致任務(wù)調(diào)度分配的速率和準(zhǔn)確率均很低。
技術(shù)實(shí)現(xiàn)思路
1、本專利技術(shù)提供一種任務(wù)調(diào)度分配方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì),用以解決現(xiàn)有技術(shù)中多個(gè)調(diào)度器并發(fā)過程過于依賴數(shù)據(jù)庫(kù)或分布式協(xié)調(diào)器這一分布式鎖所導(dǎo)致的資源浪費(fèi)和單點(diǎn)故障以及易出現(xiàn)調(diào)度瓶頸,任務(wù)調(diào)度分配的速率和準(zhǔn)確率均很低的缺陷,確保任務(wù)調(diào)度分配過程中無需數(shù)據(jù)庫(kù)或分布式協(xié)調(diào)器等其它分布式鎖,避免了資源浪費(fèi)和單點(diǎn)故障,而且也能確保每個(gè)任務(wù)都能夠被執(zhí)行,不存在漏任務(wù)和重復(fù)執(zhí)行同一任務(wù)的情況,同時(shí)在任務(wù)量大且歷史數(shù)據(jù)量多時(shí)也不易出現(xiàn)調(diào)度瓶頸,大幅提高了任務(wù)調(diào)度分配的速率及準(zhǔn)確率。
2、本專利技術(shù)提供一種任務(wù)調(diào)度分配方法,應(yīng)用于服務(wù)器,所述方法包括:
3、在待運(yùn)行隊(duì)列中目標(biāo)任務(wù)被目標(biāo)調(diào)度器的出隊(duì)列獲取到的情況下,指示所述目標(biāo)調(diào)度器將所
4、在計(jì)時(shí)時(shí)間未超時(shí)情況下基于所述暫存隊(duì)列接收到的所述目標(biāo)調(diào)度器對(duì)于所述目標(biāo)任務(wù)的確認(rèn)結(jié)果,確定所述目標(biāo)任務(wù)的任務(wù)調(diào)度分配結(jié)果;
5、在所述計(jì)時(shí)時(shí)間超時(shí)情況下基于所述暫存隊(duì)列接收到的所述目標(biāo)調(diào)度器的調(diào)度器異常結(jié)果,將所述暫存隊(duì)列中的所述目標(biāo)任務(wù)寫入失敗重試隊(duì)列中,并在所述失敗重試隊(duì)列中所述目標(biāo)任務(wù)的暫存時(shí)間達(dá)到第一時(shí)間閾值的情況下,將所述失敗重試隊(duì)列中的所述目標(biāo)任務(wù)重新推入所述待運(yùn)行隊(duì)列中,重復(fù)執(zhí)行上述步驟,直至確定所述目標(biāo)任務(wù)的任務(wù)調(diào)度分配結(jié)果。
6、根據(jù)本專利技術(shù)提供的一種任務(wù)調(diào)度分配方法,所述將所述失敗重試隊(duì)列中的所述目標(biāo)任務(wù)重新推入所述待運(yùn)行隊(duì)列中,重復(fù)執(zhí)行上述步驟,直至確定所述目標(biāo)任務(wù)的任務(wù)調(diào)度分配結(jié)果,包括:
7、將所述失敗重試隊(duì)列中的所述目標(biāo)任務(wù)重新推入所述待運(yùn)行隊(duì)列中,重復(fù)執(zhí)行所述上述步驟,并在累計(jì)重復(fù)執(zhí)行次數(shù)達(dá)到第一次數(shù)閾值的情況下未確定出所述目標(biāo)任務(wù)調(diào)度結(jié)果,則將所述暫存隊(duì)列中的所述目標(biāo)任務(wù)寫入延遲隊(duì)列中;
8、在所述延遲隊(duì)列中所述目標(biāo)任務(wù)的延遲時(shí)間達(dá)到第二時(shí)間閾值的情況下,將所述延遲隊(duì)列中的所述目標(biāo)任務(wù)重新寫入所述待運(yùn)行隊(duì)列中,重復(fù)執(zhí)行所述上述步驟,并在所述累計(jì)重復(fù)執(zhí)行次數(shù)達(dá)到第二次數(shù)閾值的情況下,確定所述目標(biāo)任務(wù)的任務(wù)調(diào)度分配結(jié)果。
9、根據(jù)本專利技術(shù)提供的一種任務(wù)調(diào)度分配方法,所述在所述累計(jì)重復(fù)執(zhí)行次數(shù)達(dá)到第二次數(shù)閾值的情況下,確定所述目標(biāo)任務(wù)的任務(wù)調(diào)度分配結(jié)果,包括:
10、在所述累計(jì)重復(fù)執(zhí)行次數(shù)達(dá)到所述第二次數(shù)閾值的情況下,若所述暫存隊(duì)列接收到針對(duì)所述目標(biāo)任務(wù)的確認(rèn)成功結(jié)果,則確定所述任務(wù)調(diào)度分配結(jié)果為所述目標(biāo)任務(wù)分配調(diào)度成功且將所述目標(biāo)任務(wù)寫入已分配隊(duì)列中,所述已分配隊(duì)列中記錄所述目標(biāo)任務(wù)對(duì)應(yīng)節(jié)點(diǎn)的分配信息;
11、在所述累計(jì)重復(fù)執(zhí)行次數(shù)達(dá)到所述第二次數(shù)閾值的情況下,若所述暫存隊(duì)列接收到針對(duì)所述目標(biāo)任務(wù)的確認(rèn)失敗結(jié)果,則確定所述任務(wù)調(diào)度分配結(jié)果為所述目標(biāo)任務(wù)分配調(diào)度失敗且結(jié)束針對(duì)所述目標(biāo)任務(wù)的調(diào)度分配。
12、根據(jù)本專利技術(shù)提供的一種任務(wù)調(diào)度分配方法,所述方法還包括:
13、在確定出所述任務(wù)調(diào)度分配結(jié)果的情況下,將所述暫存隊(duì)列中相同id的所述目標(biāo)任務(wù)移除且移除所述計(jì)時(shí)器,以及將所述失敗重試隊(duì)列中相同id的所述目標(biāo)任務(wù)移除。
14、根據(jù)本專利技術(shù)提供的一種任務(wù)調(diào)度分配方法,所述待運(yùn)行隊(duì)列中目標(biāo)任務(wù)被目標(biāo)調(diào)度器的出隊(duì)列獲取到,包括:
15、獲取不同類型任務(wù)各自對(duì)應(yīng)的任務(wù)執(zhí)行計(jì)劃;
16、基于各所述任務(wù)執(zhí)行計(jì)劃,確定執(zhí)行所述目標(biāo)任務(wù)的執(zhí)行觸發(fā)條件;
17、在滿足所述執(zhí)行觸發(fā)條件的情況下,將所述目標(biāo)任務(wù)寫入所述待運(yùn)行隊(duì)列中,并指示所述待運(yùn)行隊(duì)列向至少一個(gè)調(diào)度器分發(fā)所述目標(biāo)任務(wù),以使各所述調(diào)度器通過分布式爭(zhēng)搶機(jī)制獲取所述目標(biāo)任務(wù);直至所述待運(yùn)行隊(duì)列中的所述目標(biāo)任務(wù)被各所述調(diào)度器中的所述目標(biāo)調(diào)度器的出隊(duì)列獲取到。
18、根據(jù)本專利技術(shù)提供的一種任務(wù)調(diào)度分配方法,所述基于各所述任務(wù)執(zhí)行計(jì)劃,確定執(zhí)行所述目標(biāo)任務(wù)的執(zhí)行觸發(fā)條件,包括:
19、基于各所述任務(wù)執(zhí)行計(jì)劃確定每日可執(zhí)行任務(wù)量;
20、在所述每日可執(zhí)行任務(wù)量小于等于當(dāng)前部署的所有調(diào)度器的總?cè)蝿?wù)執(zhí)行量的情況下,確定所述執(zhí)行觸發(fā)條件;
21、在所述每日可執(zhí)行任務(wù)量大于所述總?cè)蝿?wù)執(zhí)行量的情況下,輸出橫向擴(kuò)展調(diào)度器的指示信息,并基于橫向擴(kuò)展成功結(jié)果,確定所述執(zhí)行觸發(fā)條件。
22、根據(jù)本專利技術(shù)提供的一種任務(wù)調(diào)度分配方法,所述方法還包括:
23、確定所述待運(yùn)行隊(duì)列中待執(zhí)行的任務(wù)總數(shù)量;
24、在所述任務(wù)總數(shù)量超過數(shù)量閾值時(shí),輸出橫向擴(kuò)展調(diào)度器的指示信息,并基于橫向擴(kuò)展成功結(jié)果,確定從所述待運(yùn)行隊(duì)列中彈出的所述目標(biāo)任務(wù)。
25、本專利技術(shù)還提供一種任務(wù)調(diào)度分配裝置,應(yīng)用于服務(wù)器,所述裝置包括:
26、任務(wù)調(diào)度分配單元,用于在待運(yùn)行隊(duì)列中目標(biāo)任務(wù)被目標(biāo)調(diào)度器的出隊(duì)列獲取到的情況下,指示所述目標(biāo)調(diào)度器將所述出隊(duì)列中的所述目標(biāo)任務(wù)寫入所述服務(wù)器的暫存隊(duì)列中,并基于寫入成功結(jié)果,啟動(dòng)所述暫存隊(duì)列中的計(jì)時(shí)器對(duì)所述目標(biāo)任務(wù)開始計(jì)時(shí),以及指示所述目標(biāo)調(diào)度器對(duì)所述目標(biāo)任務(wù)進(jìn)行調(diào)度分配;
27、分配調(diào)度確認(rèn)單元,用于在計(jì)時(shí)時(shí)間未超時(shí)情況下基于所述暫存隊(duì)列接收到的所述目標(biāo)調(diào)度器對(duì)于所述目標(biāo)任務(wù)的確認(rèn)結(jié)果,確定所述目標(biāo)任務(wù)的任務(wù)調(diào)度分配結(jié)果;
28、重復(fù)調(diào)度分配單元,用于在所述計(jì)時(shí)時(shí)間超時(shí)情況下基于所述暫存隊(duì)列接收到的所述目標(biāo)調(diào)度器的調(diào)度器異常結(jié)果,將所述暫存隊(duì)列中的所述目標(biāo)任務(wù)寫入失敗重試隊(duì)列中,并在所述失敗重試隊(duì)列中所述目標(biāo)任務(wù)的暫存時(shí)間達(dá)到第一時(shí)間閾值的情況下,將所述失敗重試隊(duì)列中的所述目標(biāo)任務(wù)重新推入所述待運(yùn)行隊(duì)列中,重復(fù)執(zhí)行上述步驟,直至確定所述目標(biāo)任務(wù)的任務(wù)調(diào)度分配結(jié)果。
29、本專利技術(shù)還提供一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如上述任一種所述任務(wù)調(diào)度分配方法。
30、本專利技術(shù)還提供一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種任務(wù)調(diào)度分配方法,其特征在于,應(yīng)用于服務(wù)器,所述方法包括:
2.根據(jù)權(quán)利要求1所述的任務(wù)調(diào)度分配方法,其特征在于,所述將所述失敗重試隊(duì)列中的所述目標(biāo)任務(wù)重新推入所述待運(yùn)行隊(duì)列中,重復(fù)執(zhí)行上述步驟,直至確定所述目標(biāo)任務(wù)的任務(wù)調(diào)度分配結(jié)果,包括:
3.根據(jù)權(quán)利要求2所述的任務(wù)調(diào)度分配方法,其特征在于,所述在所述累計(jì)重復(fù)執(zhí)行次數(shù)達(dá)到第二次數(shù)閾值的情況下,確定所述目標(biāo)任務(wù)的任務(wù)調(diào)度分配結(jié)果,包括:
4.根據(jù)權(quán)利要求2所述的任務(wù)調(diào)度分配方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的任務(wù)調(diào)度分配方法,其特征在于,所述待運(yùn)行隊(duì)列中目標(biāo)任務(wù)被目標(biāo)調(diào)度器的出隊(duì)列獲取到,包括:
6.根據(jù)權(quán)利要求5所述的任務(wù)調(diào)度分配方法,其特征在于,所述基于各所述任務(wù)執(zhí)行計(jì)劃,確定執(zhí)行所述目標(biāo)任務(wù)的執(zhí)行觸發(fā)條件,包括:
7.根據(jù)權(quán)利要求1至3任一項(xiàng)所述的任務(wù)調(diào)度分配方法,其特征在于,所述方法還包括:
8.一種任務(wù)調(diào)度分配裝置,其特征在于,應(yīng)用于服務(wù)器,所述裝置包括:
9.一種電子設(shè)備,包括存
10.一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至7任一項(xiàng)所述任務(wù)調(diào)度分配方法。
...【技術(shù)特征摘要】
1.一種任務(wù)調(diào)度分配方法,其特征在于,應(yīng)用于服務(wù)器,所述方法包括:
2.根據(jù)權(quán)利要求1所述的任務(wù)調(diào)度分配方法,其特征在于,所述將所述失敗重試隊(duì)列中的所述目標(biāo)任務(wù)重新推入所述待運(yùn)行隊(duì)列中,重復(fù)執(zhí)行上述步驟,直至確定所述目標(biāo)任務(wù)的任務(wù)調(diào)度分配結(jié)果,包括:
3.根據(jù)權(quán)利要求2所述的任務(wù)調(diào)度分配方法,其特征在于,所述在所述累計(jì)重復(fù)執(zhí)行次數(shù)達(dá)到第二次數(shù)閾值的情況下,確定所述目標(biāo)任務(wù)的任務(wù)調(diào)度分配結(jié)果,包括:
4.根據(jù)權(quán)利要求2所述的任務(wù)調(diào)度分配方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的任務(wù)調(diào)度分配方法,其特征在于,所述待運(yùn)行隊(duì)列中目標(biāo)任務(wù)被目標(biāo)調(diào)度器的出隊(duì)列獲取到,包括:
<...【專利技術(shù)屬性】
技術(shù)研發(fā)人員:付大偉,韓克黨,湯子楠,
申請(qǐng)(專利權(quán))人:云粒智慧科技有限公司,
類型:發(fā)明
國(guó)別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。