欧美www网站,另类老妇性bbwbbw,久青草久青草视频在线观看,男女一进一出抽搐18禁视频,免费网站看av片

中小企業(yè)公共服務(wù)示范平臺(tái)
著錄項(xiàng)目
申請(qǐng)?zhí)枺?/td>CN202011582870.6
申請(qǐng)日:2020-12-28
代理機(jī)構(gòu):北京國(guó)昊天誠(chéng)知識(shí)產(chǎn)權(quán)代理有限公司 11315
代理人:許振新
公開(kāi)號(hào)(公開(kāi)):CN112612590A
公開(kāi)日期(公開(kāi)):2021-04-06
申請(qǐng)人(公開(kāi)):上海艾融軟件股份有限公司
發(fā)明人(公開(kāi)):胡超; 劉濤; 李孟林
IPC分類(lèi)(公開(kāi)):G06F9/50;G06F9/48
CPC發(fā)明(公開(kāi)):G06F9/4881;G06F9/5027
發(fā)明名稱(chēng)(公開(kāi)):批量調(diào)度系統(tǒng)
摘要(公開(kāi)):本申請(qǐng)公開(kāi)了一種批量調(diào)度系統(tǒng),用于解決現(xiàn)有技術(shù)中批量調(diào)度系統(tǒng)安全性較低的問(wèn)題。該系統(tǒng)包括:批量調(diào)度控制臺(tái)、控制器、多個(gè)執(zhí)行器、多個(gè)處理器和各執(zhí)行器對(duì)應(yīng)的數(shù)據(jù)庫(kù)集群;其中,所述批量調(diào)度控制臺(tái),用于生成至少一個(gè)作業(yè)配置;所述控制器,用于根據(jù)所述至少一個(gè)作業(yè)配置生成作業(yè)實(shí)例表,并基于所述作業(yè)實(shí)例表中的作業(yè)實(shí)例對(duì)應(yīng)的作業(yè)時(shí)間將所述作業(yè)實(shí)例下發(fā)到執(zhí)行器;執(zhí)行器,用于接收控制器下發(fā)的至少一個(gè)作業(yè)實(shí)例,并基于所述至少一個(gè)作業(yè)實(shí)例從所述執(zhí)行器對(duì)應(yīng)的數(shù)據(jù)庫(kù)集群中獲取用于完成所述至少一個(gè)作業(yè)實(shí)例的數(shù)據(jù),并將所述至少一個(gè)作業(yè)實(shí)例的數(shù)據(jù)分別發(fā)送到所述執(zhí)行器對(duì)應(yīng)的處理器中;處理器,用于基于接收的作業(yè)實(shí)例的數(shù)據(jù)執(zhí)行作業(yè)。
權(quán)利要求
權(quán)利要求
1.一種批量調(diào)度系統(tǒng),其特征在于,包括:批量調(diào)度控制臺(tái)、控制器、多個(gè)執(zhí)行器、多個(gè)處理器和各執(zhí)行器對(duì)應(yīng)的數(shù)據(jù)庫(kù)集群;其中,
所述批量調(diào)度控制臺(tái),用于生成至少一個(gè)作業(yè)配置,所述作業(yè)配置中包括作業(yè)內(nèi)容和作業(yè)時(shí)間;
所述控制器,用于根據(jù)所述至少一個(gè)作業(yè)配置生成作業(yè)實(shí)例表,并基于所述作業(yè)實(shí)例表中的作業(yè)實(shí)例對(duì)應(yīng)的作業(yè)時(shí)間將所述作業(yè)實(shí)例下發(fā)到執(zhí)行器,其中,所述作業(yè)實(shí)例表中包括作業(yè)配置對(duì)應(yīng)的作業(yè)實(shí)例的作業(yè)內(nèi)容和作業(yè)時(shí)間;
執(zhí)行器,用于接收控制器下發(fā)的至少一個(gè)作業(yè)實(shí)例,并基于所述至少一個(gè)作業(yè)實(shí)例從所述執(zhí)行器對(duì)應(yīng)的數(shù)據(jù)庫(kù)集群中獲取用于完成所述至少一個(gè)作業(yè)實(shí)例的數(shù)據(jù),并將所述至少一個(gè)作業(yè)實(shí)例的數(shù)據(jù)分別發(fā)送到所述執(zhí)行器對(duì)應(yīng)的處理器中,一個(gè)作業(yè)實(shí)例及其數(shù)據(jù)對(duì)應(yīng)一個(gè)處理器;
處理器,用于基于接收的作業(yè)實(shí)例的數(shù)據(jù)執(zhí)行作業(yè)。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,若所述數(shù)據(jù)庫(kù)集群包括多個(gè)數(shù)據(jù)分片,則所述控制器用于:
根據(jù)所述多個(gè)數(shù)據(jù)分片中的目標(biāo)數(shù)據(jù)分片和所述至少一個(gè)作業(yè)配置,生成目標(biāo)分片作業(yè)實(shí)例表,其中,一個(gè)數(shù)據(jù)分片對(duì)應(yīng)于一個(gè)執(zhí)行器;
基于負(fù)載均衡策略,從所述多個(gè)執(zhí)行器中選擇第一執(zhí)行器;
為所述目標(biāo)分片作業(yè)實(shí)例表與所述第一執(zhí)行器建立關(guān)聯(lián),以將所述目標(biāo)分片作業(yè)實(shí)例表中的作業(yè)實(shí)例下發(fā)到所述第一執(zhí)行器。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述控制器還用于:
獲取所述作業(yè)實(shí)例表中各作業(yè)實(shí)例與其他作業(yè)實(shí)例之間的依賴(lài)關(guān)系,并生成作業(yè)實(shí)例依賴(lài)關(guān)系表;
根據(jù)所述作業(yè)實(shí)例依賴(lài)關(guān)系表中多個(gè)作業(yè)實(shí)例之間的依賴(lài)關(guān)系,確定所述作業(yè)實(shí)例依賴(lài)關(guān)系表中多個(gè)作業(yè)實(shí)例的下發(fā)條件;
若目標(biāo)作業(yè)實(shí)例滿(mǎn)足下發(fā)條件,則將所述目標(biāo)作業(yè)實(shí)例下發(fā)到第二執(zhí)行器,其中,所述目標(biāo)作業(yè)實(shí)例為所述作業(yè)實(shí)例依賴(lài)關(guān)系表中多個(gè)作業(yè)實(shí)例中的一個(gè)。
4.如權(quán)利要求3所述的系統(tǒng),其特征在于,若目標(biāo)作業(yè)實(shí)例的下發(fā)條件包括第一作業(yè)實(shí)例執(zhí)行結(jié)束,則所述控制器用于:
監(jiān)控所述作業(yè)實(shí)例依賴(lài)關(guān)系表中多個(gè)作業(yè)實(shí)例的執(zhí)行結(jié)果;
若監(jiān)控到所述第一作業(yè)實(shí)例執(zhí)行結(jié)束,則將所述目標(biāo)作業(yè)實(shí)例下發(fā)到所述第二執(zhí)行器。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括:
協(xié)調(diào)服務(wù)器,用于將所述控制器的至少一個(gè)作業(yè)實(shí)例發(fā)送給執(zhí)行器;以及,將所述執(zhí)行器的作業(yè)實(shí)例的執(zhí)行狀態(tài)發(fā)送給所述控制器,其中,所述執(zhí)行狀態(tài)包括執(zhí)行進(jìn)度和執(zhí)行結(jié)果中的至少一種。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述協(xié)調(diào)服務(wù)器用于:
從所述協(xié)調(diào)服務(wù)器本地存儲(chǔ)的可用控制器列表中選擇處于正常狀態(tài)的候選控制器作為選中的控制器,其中,所述可用控制器列表中存儲(chǔ)有向所述協(xié)調(diào)服務(wù)器注冊(cè)的候選控制器的地址;
從所述協(xié)調(diào)服務(wù)器本地存儲(chǔ)的可用執(zhí)行器列表中選擇處于多個(gè)正常狀態(tài)的候選執(zhí)行器作為選中的所述多個(gè)執(zhí)行器,其中,所述可用執(zhí)行器列表中存儲(chǔ)有向所述協(xié)調(diào)服務(wù)器注冊(cè)的候選執(zhí)行器的地址;
建立選中的控制器的地址和選中的所述多個(gè)執(zhí)行器的地址之間的第一關(guān)聯(lián)關(guān)系,所述第一關(guān)聯(lián)關(guān)系用于所述控制器選擇執(zhí)行器以發(fā)送作業(yè)實(shí)例及其執(zhí)行狀態(tài)。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述協(xié)調(diào)服務(wù)器還用于:
當(dāng)所述控制器處于異常狀態(tài)時(shí),解除所述第一關(guān)聯(lián)關(guān)系,其中,所述異常狀態(tài)包括離線(xiàn)狀態(tài)和故障狀態(tài)中的至少一種;
重新從所述可用控制器列表中選擇處于正常狀態(tài)的候選控制器作為選中的控制器;
在所述選中的控制器的地址和選中的所述多個(gè)執(zhí)行器地址之間建立第二關(guān)聯(lián)關(guān)系。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述批量調(diào)度控制臺(tái)還用于:
監(jiān)控并展示所述至少一個(gè)作業(yè)實(shí)例的執(zhí)行狀態(tài),其中,所述執(zhí)行狀態(tài)包括執(zhí)行進(jìn)度和執(zhí)行結(jié)果中的至少一種。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述處理器的作業(yè)執(zhí)行模式包括下述至少一種:
并行數(shù)據(jù)庫(kù)處理模式;
并行文件處理模式;
單作業(yè)處理模式。
10.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括:
配置數(shù)據(jù)庫(kù),用于存儲(chǔ)所述批量調(diào)度控制臺(tái)生成的至少一個(gè)作業(yè)配置。
說(shuō)明書(shū)
說(shuō)明書(shū)
批量調(diào)度系統(tǒng)
技術(shù)領(lǐng)域
本申請(qǐng)屬于計(jì)算機(jī)應(yīng)用領(lǐng)域,具體涉及一種批量調(diào)度系統(tǒng)。
背景技術(shù)
為了批量處理銀行業(yè)理財(cái)系統(tǒng)中各個(gè)應(yīng)用系統(tǒng)的作業(yè),通常會(huì)使用適合大規(guī)模批量調(diào)度系統(tǒng),如Cronsun等。
例如,Cronsun系統(tǒng)會(huì)將所有作業(yè)存儲(chǔ)在分布式的Etcd中,并且單個(gè)周期作業(yè)可被部署成一個(gè)系統(tǒng)服務(wù)。但是,Cronsun中用于生成作業(yè)實(shí)例的服務(wù)器容易將作業(yè)實(shí)例信息和應(yīng)用數(shù)據(jù)庫(kù)地址等重要數(shù)據(jù)泄露出去,安全性較差。
因此,亟需一種安全性較高的批量調(diào)度系統(tǒng)。
發(fā)明內(nèi)容
本申請(qǐng)實(shí)施例的目的是提供一種批量調(diào)度系統(tǒng),能夠解決現(xiàn)有技術(shù)中批量調(diào)度系統(tǒng)安全性較低的問(wèn)題。
為了解決上述技術(shù)問(wèn)題,本申請(qǐng)是這樣實(shí)現(xiàn)的:
第一方面,本申請(qǐng)實(shí)施例提供了一種批量調(diào)度系統(tǒng),該系統(tǒng)包括:批量調(diào)度控制臺(tái)、控制器、多個(gè)執(zhí)行器、多個(gè)處理器和各執(zhí)行器對(duì)應(yīng)的數(shù)據(jù)庫(kù)集群;其中,
所述批量調(diào)度控制臺(tái),用于生成至少一個(gè)作業(yè)配置,所述作業(yè)配置中包括作業(yè)內(nèi)容和作業(yè)時(shí)間;
所述控制器,用于根據(jù)所述至少一個(gè)作業(yè)配置生成作業(yè)實(shí)例表,并基于所述作業(yè)實(shí)例表中的作業(yè)實(shí)例對(duì)應(yīng)的作業(yè)時(shí)間將所述作業(yè)實(shí)例下發(fā)到執(zhí)行器,其中,所述作業(yè)實(shí)例表中包括作業(yè)配置對(duì)應(yīng)的作業(yè)實(shí)例的作業(yè)內(nèi)容和作業(yè)時(shí)間;
執(zhí)行器,用于接收控制器下發(fā)的至少一個(gè)作業(yè)實(shí)例,并基于所述至少一個(gè)作業(yè)實(shí)例從所述執(zhí)行器對(duì)應(yīng)的數(shù)據(jù)庫(kù)集群中獲取用于完成所述至少一個(gè)作業(yè)實(shí)例的數(shù)據(jù),并將所述至少一個(gè)作業(yè)實(shí)例的數(shù)據(jù)分別發(fā)送到所述執(zhí)行器對(duì)應(yīng)的處理器中,一個(gè)作業(yè)實(shí)例及其數(shù)據(jù)對(duì)應(yīng)一個(gè)處理器;
處理器,用于基于接收的作業(yè)實(shí)例的數(shù)據(jù)執(zhí)行作業(yè)。
本申請(qǐng)實(shí)施例提供的批量調(diào)度系統(tǒng)能夠由控制器根據(jù)作業(yè)配置批量生成作業(yè)實(shí)例,并將批量生成的作業(yè)實(shí)例及各自對(duì)應(yīng)的數(shù)據(jù)分別發(fā)送給執(zhí)行器對(duì)應(yīng)的處理器,使得處理器執(zhí)行作業(yè)實(shí)例,從而能夠批量執(zhí)行作業(yè)實(shí)例,并不再依賴(lài)于批量調(diào)度系統(tǒng)提供商提供的服務(wù),避免了信息的泄露,提高了批量調(diào)度系統(tǒng)的安全性。
附圖說(shuō)明
圖1為本申請(qǐng)實(shí)施例提供的一種批量調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本申請(qǐng)實(shí)施例提供的又一種批量調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖;
圖3為本申請(qǐng)實(shí)施例提供的又一種批量調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖;
圖4為本申請(qǐng)實(shí)施例提供的一種批量調(diào)度系統(tǒng)中各數(shù)據(jù)的關(guān)系示意圖。
具體實(shí)施方式
下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
請(qǐng)參見(jiàn)圖1,其為根據(jù)本申請(qǐng)實(shí)施例提供的一種批量調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖。該批量調(diào)度系統(tǒng)100包括:批量調(diào)度控制臺(tái)110、控制器120、多個(gè)執(zhí)行器130、多個(gè)處理器140和各執(zhí)行器對(duì)應(yīng)的數(shù)據(jù)庫(kù)集群150。
其中,批量調(diào)度控制臺(tái)110可以用于生成至少一個(gè)作業(yè)配置,其中,作業(yè)配置中可以包括作業(yè)內(nèi)容和作業(yè)時(shí)間??刂破?20可以用于根據(jù)至少一個(gè)作業(yè)配置生成作業(yè)實(shí)例表,并基于作業(yè)實(shí)例表中的作業(yè)實(shí)例對(duì)應(yīng)的作業(yè)時(shí)間將作業(yè)實(shí)例下發(fā)到執(zhí)行器130。其中,作業(yè)實(shí)例表中包括作業(yè)配置對(duì)應(yīng)的作業(yè)實(shí)例的作業(yè)內(nèi)容和作業(yè)時(shí)間。
執(zhí)行器130可以用于接收控制器120下發(fā)的至少一個(gè)作業(yè)實(shí)例,并基于至少一個(gè)作業(yè)實(shí)例從執(zhí)行器對(duì)應(yīng)的數(shù)據(jù)庫(kù)集群150中獲取用于完成至少一個(gè)作業(yè)實(shí)例的數(shù)據(jù)。執(zhí)行器130還可以用于將至少一個(gè)作業(yè)實(shí)例的數(shù)據(jù)分別發(fā)送到執(zhí)行器130對(duì)應(yīng)的處理器140中。此外,處理器140可以用于基于接收的作業(yè)實(shí)例的數(shù)據(jù)執(zhí)行作業(yè)。
應(yīng)理解,在本申請(qǐng)實(shí)施例中,一個(gè)執(zhí)行器130對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)集群150,與數(shù)據(jù)庫(kù)集群150對(duì)應(yīng)的執(zhí)行器130可包括一個(gè)或多個(gè)。
應(yīng)理解,在本申請(qǐng)實(shí)施例中,一個(gè)作業(yè)實(shí)例及其數(shù)據(jù)對(duì)應(yīng)一個(gè)處理器140。處理器140可按照自身的作業(yè)處理模式對(duì)分配的作業(yè)實(shí)例進(jìn)行作業(yè)。
本申請(qǐng)實(shí)施例提供的批量調(diào)度系統(tǒng)能夠由控制器根據(jù)作業(yè)配置批量生成作業(yè)實(shí)例,并將批量生成的作業(yè)實(shí)例及各自對(duì)應(yīng)的數(shù)據(jù)分別發(fā)送給執(zhí)行器對(duì)應(yīng)的處理器,使得處理器執(zhí)行作業(yè)實(shí)例,從而能夠批量執(zhí)行作業(yè)實(shí)例,并不再依賴(lài)于批量調(diào)度系統(tǒng)提供商提供的服務(wù),避免了信息的泄露,提高了批量調(diào)度系統(tǒng)的安全性。
其中,處理器140可根據(jù)接收到的作業(yè)實(shí)例,從批量調(diào)度系統(tǒng)100底層的框架中獲取對(duì)應(yīng)的執(zhí)行程序,并在處理器140上運(yùn)行該執(zhí)行程序以執(zhí)行該作業(yè)實(shí)例。此外,處理器140既可以直接從數(shù)據(jù)庫(kù)集群150中獲取作業(yè)實(shí)例對(duì)應(yīng)的數(shù)據(jù),也可以通過(guò)執(zhí)行器130獲取作業(yè)實(shí)例對(duì)應(yīng)的數(shù)據(jù)。
可選地,為節(jié)約資源,可將執(zhí)行器130及其對(duì)應(yīng)的處理器120部署在同一主機(jī)上。當(dāng)然,也不排除將執(zhí)行器130及其對(duì)應(yīng)的處理器120部署在不同主機(jī)的場(chǎng)景,本申請(qǐng)實(shí)施例對(duì)此不作限制。
應(yīng)理解,當(dāng)需要執(zhí)行某一作業(yè)時(shí),可先通過(guò)批量調(diào)度控制臺(tái)110定義該作業(yè)的執(zhí)行步驟和執(zhí)行時(shí)間等信息,使得批量調(diào)度控制臺(tái)110能夠生成該作業(yè)的作業(yè)配置。
其中,作業(yè)配置中的作業(yè)內(nèi)容可以包括作業(yè)的執(zhí)行步驟、及執(zhí)行作業(yè)需要的執(zhí)行程序的存儲(chǔ)地址或索引等。作業(yè)配置中的作業(yè)時(shí)間可以包括作業(yè)的計(jì)劃執(zhí)行時(shí)間,例如,若計(jì)劃某一作業(yè)需要在每天早上的9點(diǎn)鐘執(zhí)行一次,則作業(yè)配置中的作業(yè)時(shí)間可以包括每天早上9點(diǎn)鐘。此外,作業(yè)配置中的作業(yè)時(shí)間還可以包括作業(yè)的計(jì)劃執(zhí)行時(shí)間間隔,例如,若計(jì)劃某一作業(yè)每個(gè)月執(zhí)行一次,則作業(yè)配置中的作業(yè)時(shí)間可以包括時(shí)間間隔為一個(gè)月。
作業(yè)實(shí)例表可以是根據(jù)上述作業(yè)配置生成的需要在一定時(shí)間內(nèi)執(zhí)行的計(jì)劃表。例如,控制器120可在每天凌晨1點(diǎn)鐘,根據(jù)作業(yè)配置生成需要在當(dāng)天執(zhí)行的作業(yè)實(shí)例。
此外,控制器120還可以用于獲取作業(yè)實(shí)例的執(zhí)行狀態(tài),并向批量調(diào)度控制臺(tái)110發(fā)送超時(shí)或執(zhí)行失敗的作業(yè)實(shí)例,以便于批量調(diào)度控制臺(tái)110監(jiān)控并展示這些作業(yè)實(shí)例。
可選地,在一種實(shí)施方式中,控制器120在下發(fā)作業(yè)實(shí)例時(shí),可根據(jù)負(fù)載均衡原則選擇下發(fā)的執(zhí)行器130,從而合理控制多個(gè)執(zhí)行器130工作飽和度。
可選地,在一種實(shí)施方式中,一個(gè)執(zhí)行器130可以對(duì)應(yīng)于多個(gè)處理器140。也就是說(shuō),執(zhí)行器130在接收到作業(yè)實(shí)例之后,可從與其對(duì)應(yīng)的多個(gè)處理器140中選擇一個(gè)處理器140并發(fā)送該作業(yè)實(shí)例及其數(shù)據(jù)。當(dāng)然,一個(gè)執(zhí)行器130也可以只與一個(gè)處理器140對(duì)應(yīng)。應(yīng)理解,一個(gè)處理器140對(duì)應(yīng)于一個(gè)執(zhí)行處理器130。
可選地,在一種實(shí)施方式中,本申請(qǐng)實(shí)施例提供的批量調(diào)度系統(tǒng)100可以使用斯普瑞布特(Spring Boot)框架作為基層,使得所有用于執(zhí)行作業(yè)實(shí)例的程序可以被注冊(cè)為Bean。并且,可以通過(guò)Spring的容器來(lái)對(duì)這些Bean進(jìn)行管理,從而使得作業(yè)可以直接支持Spring的可面向切面編程(Aspect Oriented Programming,AOP)等特性。
可選地,在一種實(shí)施方式中,作業(yè)實(shí)例的數(shù)據(jù)可以包括客戶(hù)端應(yīng)用程序的數(shù)據(jù),這些數(shù)據(jù)通??梢源鎯?chǔ)在至少一個(gè)數(shù)據(jù)庫(kù)集群中,而每個(gè)數(shù)據(jù)庫(kù)集群中的中的數(shù)據(jù)量是龐大的。因此,為了提高作業(yè)實(shí)例的執(zhí)行效率,可使得一個(gè)數(shù)據(jù)庫(kù)集群中數(shù)據(jù)對(duì)應(yīng)的多個(gè)作業(yè)實(shí)例分配給多個(gè)執(zhí)行器130執(zhí)行。此時(shí),該多個(gè)執(zhí)行器130對(duì)應(yīng)該數(shù)據(jù)庫(kù)集群。
例如,假設(shè)數(shù)據(jù)庫(kù)集群150包括多個(gè)數(shù)據(jù)分片,此時(shí)控制器120可以用于:首先,根據(jù)多個(gè)數(shù)據(jù)分片中的目標(biāo)數(shù)據(jù)分片和至少一個(gè)作業(yè)配置,生成目標(biāo)分片作業(yè)實(shí)例表,其中,一個(gè)數(shù)據(jù)分片對(duì)應(yīng)于一個(gè)執(zhí)行器130;然后,基于負(fù)載均衡策略,從多個(gè)執(zhí)行器130中選擇第一執(zhí)行器;最后,為目標(biāo)分片作業(yè)實(shí)例表與第一執(zhí)行器建立關(guān)聯(lián),以將目標(biāo)分片作業(yè)實(shí)例表中的作業(yè)實(shí)例下發(fā)到第一執(zhí)行器。
進(jìn)一步地,在一種實(shí)施方式中,作業(yè)實(shí)例之間還可能存在依賴(lài)關(guān)系,那么,為了能夠根據(jù)作業(yè)實(shí)例之間的依賴(lài)關(guān)系,按照合理的順序執(zhí)行作業(yè)實(shí)例,可從作業(yè)實(shí)例依賴(lài)關(guān)系表中確定作業(yè)實(shí)例的下發(fā)條件。
例如,控制器120還可以用于:首先,獲取作業(yè)實(shí)例表中各作業(yè)實(shí)例與其他作業(yè)實(shí)例之間的依賴(lài)關(guān)系,并生成作業(yè)實(shí)例依賴(lài)關(guān)系表;然后,根據(jù)作業(yè)實(shí)例依賴(lài)關(guān)系表中多個(gè)作業(yè)實(shí)例之間的依賴(lài)關(guān)系,確定作業(yè)實(shí)例依賴(lài)關(guān)系表中多個(gè)作業(yè)實(shí)例的下發(fā)條件;最后,在監(jiān)控到滿(mǎn)足目標(biāo)作業(yè)實(shí)例的下發(fā)條件時(shí),則將目標(biāo)作業(yè)實(shí)例下發(fā)到第二執(zhí)行器,其中,目標(biāo)作業(yè)實(shí)例可以為作業(yè)實(shí)例依賴(lài)關(guān)系表中多個(gè)作業(yè)實(shí)例中的一個(gè)。
應(yīng)理解,作業(yè)之間的依賴(lài)關(guān)系可以根據(jù)批量調(diào)度控制臺(tái)生成的作業(yè)依賴(lài)關(guān)系表確定。
應(yīng)理解,作業(yè)實(shí)例的下發(fā)條件可以有多種。例如,第一作業(yè)實(shí)例執(zhí)行結(jié)束,第一作業(yè)實(shí)例執(zhí)行失敗,等等。例如,若目標(biāo)作業(yè)實(shí)例的下發(fā)條件包括第一作業(yè)實(shí)例執(zhí)行結(jié)束,則控制器120可以用于監(jiān)控作業(yè)實(shí)例依賴(lài)關(guān)系表中多個(gè)作業(yè)實(shí)例的執(zhí)行結(jié)果;若監(jiān)控到第一作業(yè)實(shí)例執(zhí)行結(jié)束,則將目標(biāo)作業(yè)實(shí)例下發(fā)到第二執(zhí)行器。當(dāng)然,應(yīng)理解,第一作業(yè)實(shí)例可以包括至少一個(gè)作業(yè)實(shí)例。例如,第一作業(yè)實(shí)例包括作業(yè)實(shí)例B和作業(yè)實(shí)例C,控制器120在監(jiān)控到作業(yè)實(shí)例B和作業(yè)實(shí)例C均執(zhí)行結(jié)束時(shí),下發(fā)目標(biāo)作業(yè)實(shí)例。
當(dāng)然,應(yīng)理解,是否滿(mǎn)足目標(biāo)作業(yè)實(shí)例的下發(fā)條件,可通過(guò)監(jiān)控各作業(yè)實(shí)例的執(zhí)行結(jié)果確定。當(dāng)某個(gè)作業(yè)實(shí)例的執(zhí)行狀態(tài)發(fā)生變化時(shí),可獲取依賴(lài)關(guān)系包含該作業(yè)實(shí)例的下發(fā)條件,并重新判定是否滿(mǎn)足該下發(fā)條件,如果是,則將該下發(fā)條件對(duì)應(yīng)的目標(biāo)作業(yè)實(shí)例下發(fā)到對(duì)應(yīng)的第二執(zhí)行器中。
在另一種實(shí)施方式中,則控制器120可以監(jiān)控作業(yè)實(shí)例依賴(lài)關(guān)系表中所有作業(yè)實(shí)例的執(zhí)行結(jié)果。
例如,假設(shè)多個(gè)作業(yè)實(shí)例D1、D2、D3的下發(fā)條件都包括作業(yè)實(shí)例D0執(zhí)行結(jié)束。此時(shí),當(dāng)控制器120監(jiān)控到作業(yè)實(shí)例D0執(zhí)行結(jié)束時(shí),就遍歷確定作業(yè)實(shí)例依賴(lài)關(guān)系表中其他作業(yè)實(shí)例的下發(fā)條件是否滿(mǎn)足,或者檢索出下發(fā)條件包含作業(yè)實(shí)例D0執(zhí)行結(jié)束的作業(yè)實(shí)例D1、D2、D3的下發(fā)條件。若其中存在下發(fā)條件滿(mǎn)足的作業(yè)實(shí)例,則控制器120將該作業(yè)實(shí)例下發(fā)到第二執(zhí)行器。
可選地,在一種實(shí)施方式中,本申請(qǐng)實(shí)施例提供的批量調(diào)度系統(tǒng)100可以包括多個(gè)控制器。為了便于控制器120與執(zhí)行器130之間的通信,可通過(guò)協(xié)調(diào)服務(wù)器160轉(zhuǎn)發(fā)作業(yè)實(shí)例及其數(shù)據(jù)和執(zhí)行狀態(tài)。
如圖2所示,本申請(qǐng)實(shí)施例提供了又一種批量調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖。如圖2所示,為了使得選中的控制器120能夠與執(zhí)行器130進(jìn)行通信,本申請(qǐng)實(shí)施例提供的批量調(diào)度系統(tǒng)100還可以包括協(xié)調(diào)服務(wù)器160。該協(xié)調(diào)服務(wù)器160可以用于將控制器120的至少一個(gè)作業(yè)實(shí)例發(fā)送給執(zhí)行器130;以及,將執(zhí)行器130的作業(yè)實(shí)例的執(zhí)行狀態(tài)發(fā)送給控制器120。其中,執(zhí)行狀態(tài)包括執(zhí)行進(jìn)度和執(zhí)行結(jié)果中的至少一種。
此外,協(xié)調(diào)服務(wù)器160還可以用于將作業(yè)配置發(fā)送給控制器120;以及將作業(yè)實(shí)例的執(zhí)行狀態(tài)發(fā)送給批量調(diào)度控制臺(tái)110,使得批量調(diào)度控制臺(tái)110能夠監(jiān)控并展示作業(yè)實(shí)例的執(zhí)行狀態(tài)。
可選地,協(xié)調(diào)服務(wù)器160可注冊(cè)并存儲(chǔ)有多個(gè)候選控制器的標(biāo)識(shí)和/或地址。例如,協(xié)調(diào)服務(wù)器160可將向協(xié)調(diào)服務(wù)器160注冊(cè)的候選控制器的地址存儲(chǔ)在可用控制器列表中。在一種實(shí)施方式中,為了避免多個(gè)候選控制器同時(shí)工作導(dǎo)致作業(yè)實(shí)例的下發(fā)順序發(fā)生錯(cuò)亂,可以從多個(gè)候選控制器中選擇一個(gè)控制器作為實(shí)際生成作業(yè)實(shí)例表并下發(fā)作業(yè)實(shí)例的控制器120。例如,協(xié)調(diào)服務(wù)器160可以用于從協(xié)調(diào)服務(wù)器160本地存儲(chǔ)的可用控制器列表中選擇處于正常狀態(tài)的候選控制器作為選中的控制器。
可選地,協(xié)調(diào)服務(wù)器160可注冊(cè)并存儲(chǔ)有多個(gè)候選執(zhí)行器。例如,協(xié)調(diào)服務(wù)器160可將向協(xié)調(diào)服務(wù)器160注冊(cè)的候選執(zhí)行器的地址存儲(chǔ)在可用執(zhí)行器列表中。此時(shí),協(xié)調(diào)服務(wù)器160可從可用執(zhí)行器列表中選擇處于多個(gè)正常狀態(tài)的候選執(zhí)行器作為選中的多個(gè)執(zhí)行器。
在確定控制器120和多個(gè)執(zhí)行器130之后,協(xié)調(diào)服務(wù)器160還可建立選中的控制器120的地址和選中的多個(gè)執(zhí)行器130的地址之間的第一關(guān)聯(lián)關(guān)系,第一關(guān)聯(lián)關(guān)系用于控制器120選擇執(zhí)行器130以發(fā)送作業(yè)實(shí)例及其執(zhí)行狀態(tài)。
應(yīng)理解,協(xié)調(diào)服務(wù)器160根據(jù)該第一關(guān)聯(lián)關(guān)系,可以確定作業(yè)實(shí)例及其數(shù)據(jù)的下發(fā)目的執(zhí)行器130,也可以確定作業(yè)實(shí)例的執(zhí)行狀態(tài)的上傳目的控制器120。其中,第一關(guān)聯(lián)關(guān)系可以包括選中的控制器120的地址和選中的多個(gè)執(zhí)行器130的地址之間的關(guān)聯(lián)關(guān)系。
應(yīng)理解,當(dāng)一個(gè)新增控制器要注冊(cè)時(shí),可先與協(xié)調(diào)服務(wù)器160建立連接,并在連接處于正常狀態(tài)時(shí),將新增控制器地址發(fā)送給協(xié)調(diào)服務(wù)器160以請(qǐng)求注冊(cè),使得協(xié)調(diào)服務(wù)器160根據(jù)新增控制器的請(qǐng)求將該新增控制器添加為候選控制器并將該新增控制器的地址記錄在可用控制器列表中。
新增執(zhí)行器的注冊(cè)方法與上述新增控制器的注冊(cè)方式相類(lèi)似。
應(yīng)理解,正常狀態(tài)指的是控制器或執(zhí)行器沒(méi)有任何異常,且能夠執(zhí)行其本身需要完成的工作。
此外,在一種實(shí)施方式中,為了避免選中的控制器出現(xiàn)故障導(dǎo)致批量調(diào)度系統(tǒng)100無(wú)法正常執(zhí)行作業(yè)實(shí)例,協(xié)調(diào)服務(wù)器160可以重新選擇處于正常狀態(tài)的控制器作為選中的控制器。
例如,協(xié)調(diào)服務(wù)器160還可以用于:首先,當(dāng)控制器120處于異常狀態(tài)時(shí),解除第一關(guān)聯(lián)關(guān)系,其中,異常狀態(tài)包括離線(xiàn)狀態(tài)和故障狀態(tài)中的至少一種;然后,重新從可用控制器列表中選擇處于正常狀態(tài)的候選控制器作為選中的控制器;最后,在選中的控制器的地址和選中的多個(gè)執(zhí)行器地址之間建立第二關(guān)聯(lián)關(guān)系。
應(yīng)理解,第二關(guān)聯(lián)關(guān)系的形式和作用均與第一關(guān)聯(lián)關(guān)系的相似。
以部署有ZooKeeper的服務(wù)器為例對(duì)協(xié)調(diào)服務(wù)器160進(jìn)行說(shuō)明。當(dāng)ZooKeeper服務(wù)器監(jiān)控到控制器120處于異常狀態(tài)時(shí),ZooKeeper服務(wù)器可根據(jù)其注冊(cè)中心的樹(shù)狀可用控制器列表中各候選控制器的排列順序,重新選擇一個(gè)候選控制器作為選中的控制器。
可選地,在一種實(shí)施方式中,批量調(diào)度控制臺(tái)110可以監(jiān)控并展示各作業(yè)實(shí)例執(zhí)行狀態(tài),以便于用戶(hù)直觀地掌握作業(yè)實(shí)例的執(zhí)行狀態(tài)。其中,執(zhí)行狀態(tài)包括執(zhí)行進(jìn)度和執(zhí)行結(jié)果中的至少一種。表1是幾種批量調(diào)度控制臺(tái)展示的信息示意表,具體內(nèi)容如下所示:
表1幾種批量調(diào)度控制臺(tái)展示的信息

如表1所示,批量調(diào)度控制臺(tái)110可以展示可用控制器列表和可用執(zhí)行器列表,以及選中的控制器120和選中的多個(gè)執(zhí)行器130的信息。批量調(diào)度控制臺(tái)110還可以監(jiān)控選中的控制器120的工作狀態(tài),可以包括選中的控制器120執(zhí)行成功的工作信息和執(zhí)行失敗的工作信息。
表1中還示出批量調(diào)度控制臺(tái)110還可以展示執(zhí)行結(jié)束、正在執(zhí)行和尚未執(zhí)行作業(yè)實(shí)例的執(zhí)行進(jìn)度及其相關(guān)時(shí)間。例如,可以展示執(zhí)行結(jié)束的作業(yè)實(shí)例的開(kāi)始時(shí)間、結(jié)束時(shí)間、執(zhí)行過(guò)程和執(zhí)行結(jié)果;可以展示正在執(zhí)行的作業(yè)實(shí)例的開(kāi)始時(shí)間、執(zhí)行進(jìn)度和執(zhí)行過(guò)程;可以展示尚未執(zhí)行作業(yè)實(shí)例的預(yù)計(jì)執(zhí)行時(shí)間等。
此外,批量調(diào)度控制臺(tái)110還可以展示處理器140的與批量調(diào)度系統(tǒng)100聯(lián)機(jī)的時(shí)間、及處理器140開(kāi)始執(zhí)行作業(yè)實(shí)例的時(shí)間等。
可選地,在一種實(shí)施方式中,批量調(diào)度控制臺(tái)110可不展示控制器120、執(zhí)行器130、處理器140和數(shù)據(jù)庫(kù)集群150的地址,可展示控制器120、執(zhí)行器130、處理器140和數(shù)據(jù)庫(kù)集群150的標(biāo)識(shí)以便于區(qū)分。
可選地,在一種實(shí)施方式中,為了提高處理器140的執(zhí)行效率并使得處理器140適應(yīng)各種工作需要,處理器140的作業(yè)執(zhí)行模式可以包括下述至少一種:并行數(shù)據(jù)庫(kù)處理模式、并行文件處理模式和單作業(yè)處理模式。
其中,并行數(shù)據(jù)庫(kù)處理模式可以包括處理器140從數(shù)據(jù)庫(kù)集群150中獲取作業(yè)實(shí)例的數(shù)據(jù),及并行執(zhí)行作業(yè)實(shí)例,其中各作業(yè)實(shí)例的執(zhí)行過(guò)程是相互獨(dú)立的。并行文件處理模式可以包括處理器140從執(zhí)行器130的文件夾中獲取作業(yè)實(shí)例的數(shù)據(jù),及并行執(zhí)行作業(yè)實(shí)例,其中各作業(yè)實(shí)例的執(zhí)行過(guò)程是相互獨(dú)立的。單作業(yè)處理模式可以適用于不允許并行執(zhí)行作業(yè)實(shí)例或數(shù)據(jù)量小無(wú)需并行執(zhí)行作業(yè)實(shí)例的場(chǎng)景,此時(shí)處理器140可以逐一單獨(dú)執(zhí)行作業(yè)實(shí)例。
可選地,在一種實(shí)施方式中,當(dāng)作業(yè)配置的數(shù)據(jù)量較大或需要節(jié)約批量調(diào)度控制臺(tái)110的存儲(chǔ)空間時(shí),為了便于存儲(chǔ)和獲取作業(yè)配置,可在批量調(diào)度系統(tǒng)100中設(shè)置配置數(shù)據(jù)庫(kù)170。
如圖3所示,本申請(qǐng)實(shí)施例提供了又一種批量調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖。本申請(qǐng)實(shí)施例提供的批量調(diào)度系統(tǒng)100還可以包括配置數(shù)據(jù)庫(kù),用于存儲(chǔ)批量調(diào)度控制臺(tái)生成的至少一個(gè)作業(yè)配置。
如圖3所示,配置數(shù)據(jù)庫(kù)170分別與批量調(diào)度控制臺(tái)110和控制器120連接,從而批量調(diào)度控制臺(tái)110可將作業(yè)配置存儲(chǔ)到配置數(shù)據(jù)庫(kù)170中,且當(dāng)控制器120需要作業(yè)配置時(shí),能夠直接從配置數(shù)據(jù)庫(kù)170中獲取。一方面,降低了批量調(diào)度控制臺(tái)110的存儲(chǔ)空間占用率,減輕了協(xié)調(diào)服務(wù)器160的工作負(fù)擔(dān);另一方面,可以使得作業(yè)配置能夠被長(zhǎng)期保存。
如圖4所示,本申請(qǐng)實(shí)施例提供了的一種批量調(diào)度系統(tǒng)中各數(shù)據(jù)的關(guān)系示意圖。在圖4中,批量調(diào)度控制臺(tái)110可以生成作業(yè)配置、作業(yè)分組表和作業(yè)依賴(lài)關(guān)系表。其中,可將一個(gè)或多個(gè)數(shù)據(jù)庫(kù)集群視為一個(gè)分組。作業(yè)分組表中可包括各分組對(duì)應(yīng)的數(shù)據(jù)庫(kù)集群,作業(yè)依賴(lài)關(guān)系表中可包括存在依賴(lài)關(guān)系的作業(yè)及其依賴(lài)關(guān)系。
在圖4中,控制器120可根據(jù)作業(yè)配置生成作業(yè)實(shí)例表,并根據(jù)作業(yè)實(shí)例表和作業(yè)分組表生成作業(yè)實(shí)例分組表;以及根據(jù)作業(yè)實(shí)例表和作業(yè)依賴(lài)關(guān)系表生成作業(yè)實(shí)例依賴(lài)關(guān)系表。其中,作業(yè)實(shí)例分組表中可包括根據(jù)作業(yè)分組表對(duì)作業(yè)實(shí)例進(jìn)行分組處理后得到的各分組的作業(yè)實(shí)例??刂破?20可根據(jù)作業(yè)實(shí)例依賴(lài)關(guān)系表確定各作業(yè)實(shí)例的下發(fā)條件和下發(fā)時(shí)機(jī)。
此外,控制器120還可根據(jù)作業(yè)實(shí)例分表和各執(zhí)行器對(duì)應(yīng)的數(shù)據(jù)庫(kù)集群150生成的數(shù)據(jù)分片,生成作業(yè)實(shí)例分片表。其中,作業(yè)實(shí)例分片表中可包括根據(jù)數(shù)據(jù)分片對(duì)作業(yè)實(shí)例分組表中的作業(yè)實(shí)例進(jìn)行分片操作后,得到的各分片的作業(yè)實(shí)例。
在圖4中,處理器140可根據(jù)作業(yè)實(shí)例分片表和各作業(yè)實(shí)例的執(zhí)行狀態(tài),生成作業(yè)實(shí)例執(zhí)行狀態(tài)表。即當(dāng)有作業(yè)實(shí)例的執(zhí)行狀態(tài)發(fā)生變化時(shí),處理器140可及時(shí)更新該作業(yè)實(shí)例執(zhí)行狀態(tài)表。其中,處理器140可通過(guò)執(zhí)行器130將該作業(yè)實(shí)例執(zhí)行狀態(tài)表發(fā)送到控制器120,使得控制器120和批量調(diào)度控制臺(tái)110能夠監(jiān)控作業(yè)實(shí)例的執(zhí)行狀態(tài)。
本申請(qǐng)實(shí)施例提供的批量調(diào)度系統(tǒng)能夠由控制器根據(jù)作業(yè)配置批量生成作業(yè)實(shí)例,并將批量生成的作業(yè)實(shí)例及各自對(duì)應(yīng)的數(shù)據(jù)分別發(fā)送給執(zhí)行器對(duì)應(yīng)的處理器,使得處理器執(zhí)行作業(yè)實(shí)例,從而能夠批量執(zhí)行作業(yè)實(shí)例,并不再依賴(lài)于批量調(diào)度系統(tǒng)提供商提供的服務(wù),避免了信息的泄露,提高了批量調(diào)度系統(tǒng)的安全性。
需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、商品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、商品或者設(shè)備中還存在另外的相同要素。
本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
摘要圖片

華夏泰科服務(wù)流程:

項(xiàng)目評(píng)估 簽訂合同 項(xiàng)目立項(xiàng) 匹配團(tuán)隊(duì) 開(kāi)啟動(dòng)會(huì)
定制方案 項(xiàng)目提交 項(xiàng)目評(píng)審 立項(xiàng)公示 后續(xù)服務(wù)

想要申報(bào),如何聯(lián)系華夏泰科?

1.您可通過(guò)頁(yè)面在線(xiàn)客服與我們進(jìn)行溝通

2.您還可以通過(guò)400-086-8855與我們電話(huà)溝通

點(diǎn)擊在線(xiàn)咨詢(xún)