0055]可選地,調(diào)度處理單元,進(jìn)一步適于在各終端機(jī)間建立備份關(guān)系;對(duì)于一個(gè)終端機(jī),將配置于該終端機(jī)上的任務(wù)同時(shí)配置到該終端機(jī)的備份終端機(jī)上;
[0056]當(dāng)該終端機(jī)故障時(shí),向該終端機(jī)的備份終端機(jī)發(fā)送啟動(dòng)所配置的備份任務(wù)的指令。
[0057]由上述可知,本發(fā)明的技術(shù)方案,首先根據(jù)接收到的任務(wù)配置指令在各個(gè)終端機(jī)上配置任務(wù),并保存各任務(wù)的啟動(dòng)時(shí)間,在啟動(dòng)時(shí)間到達(dá)時(shí)向終端機(jī)發(fā)送任務(wù)啟動(dòng)指令使其將相應(yīng)任務(wù)分配到對(duì)應(yīng)的服務(wù)器集群上運(yùn)行,通過各個(gè)終端機(jī)獲取各任務(wù)的運(yùn)行狀態(tài)信息并保存到任務(wù)運(yùn)行狀態(tài)數(shù)據(jù)庫(kù)中,根據(jù)用戶需求,在接收到任務(wù)狀態(tài)查詢指令時(shí)根據(jù)該指令從任務(wù)運(yùn)行狀態(tài)數(shù)據(jù)庫(kù)中查詢出相應(yīng)的任務(wù)運(yùn)行狀態(tài)信息并展示。該技術(shù)方案不僅能夠通過在各終端機(jī)上實(shí)現(xiàn)任務(wù)基本配置,還可以實(shí)時(shí)獲取各任務(wù)的運(yùn)行狀態(tài)信息并在相應(yīng)的數(shù)據(jù)庫(kù)中保存,從而在用戶希望查詢?nèi)蝿?wù)狀態(tài)時(shí)為用戶提供相應(yīng)的查詢結(jié)果,解決了現(xiàn)有技術(shù)中無法直觀地為用戶提供任務(wù)運(yùn)行狀態(tài)信息的問題,便于任務(wù)管理,提高了任務(wù)調(diào)度效率。
[0058]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【附圖說明】
[0059]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0060]圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種任務(wù)調(diào)度方法的流程圖;
[0061]圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種任務(wù)調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖;以及
[0062]圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的又一種任務(wù)調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0063]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0064]圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種任務(wù)調(diào)度方法的流程圖,如圖1所示,該方法包括:
[0065]步驟S110,接收任務(wù)配置指令,根據(jù)任務(wù)配置指令在相應(yīng)的終端機(jī)上配置任務(wù)以及保存任務(wù)啟動(dòng)時(shí)間。具體地,可以參考現(xiàn)有技術(shù)中crontab的任務(wù)啟動(dòng)時(shí)間設(shè)定格式,或是根據(jù)用戶需求確定任務(wù)的啟動(dòng)時(shí)間設(shè)定格式。
[0066]步驟S120,根據(jù)所保存的任務(wù)啟動(dòng)時(shí)間向終端機(jī)發(fā)送任務(wù)啟動(dòng)指令,使得終端機(jī)將相應(yīng)任務(wù)分配到服務(wù)器集群上運(yùn)行?,F(xiàn)有技術(shù)中,系統(tǒng)通過crond進(jìn)程定期檢查是否有要執(zhí)行的任務(wù),如果有要執(zhí)行的任務(wù),則自動(dòng)執(zhí)行該任務(wù)。而在本實(shí)施例中,由于不在各個(gè)終端機(jī)上配置多個(gè)crontab文件,只需在任務(wù)啟動(dòng)時(shí)間到達(dá)時(shí)向終端機(jī)發(fā)送任務(wù)啟動(dòng)指令即可“喚醒”對(duì)應(yīng)的任務(wù),使得終端機(jī)對(duì)服務(wù)器集群進(jìn)行任務(wù)分配。
[0067]步驟S130,從各終端機(jī)獲取各任務(wù)的運(yùn)行狀態(tài)信息并保存到任務(wù)運(yùn)行狀態(tài)數(shù)據(jù)庫(kù)中。
[0068]步驟S140,接收任務(wù)狀態(tài)查詢指令,根據(jù)任務(wù)狀態(tài)查詢指令從任務(wù)運(yùn)行狀態(tài)數(shù)據(jù)庫(kù)中查詢出相應(yīng)的任務(wù)運(yùn)行狀態(tài)信息,并展示任務(wù)運(yùn)行狀態(tài)信息?,F(xiàn)有技術(shù)中,如果需要查看任務(wù)運(yùn)行狀態(tài)信息,需要到任務(wù)運(yùn)行的機(jī)器上進(jìn)行查看,操作非常繁瑣,例如手動(dòng)輸入相關(guān)命令。而在本實(shí)施例中,可以通過任務(wù)調(diào)度的控制終端進(jìn)行任務(wù)運(yùn)行狀態(tài)信息的查看,十分方便。
[0069]可見,圖1所示的方法,首先根據(jù)接收到的任務(wù)配置指令在各個(gè)終端機(jī)上配置任務(wù),并保存各任務(wù)的啟動(dòng)時(shí)間,在啟動(dòng)時(shí)間到達(dá)時(shí)向終端機(jī)發(fā)送任務(wù)啟動(dòng)指令使其將相應(yīng)任務(wù)分配到對(duì)應(yīng)的服務(wù)器集群上運(yùn)行,通過各個(gè)終端機(jī)獲取各任務(wù)的運(yùn)行狀態(tài)信息并保存到任務(wù)運(yùn)行狀態(tài)數(shù)據(jù)庫(kù)中,根據(jù)用戶需求,在接收到任務(wù)狀態(tài)查詢指令時(shí)根據(jù)該指令從任務(wù)運(yùn)行狀態(tài)數(shù)據(jù)庫(kù)中查詢出相應(yīng)的任務(wù)運(yùn)行狀態(tài)信息并展示。該技術(shù)方案不僅能夠通過在各終端機(jī)上實(shí)現(xiàn)任務(wù)基本配置,還可以實(shí)時(shí)獲取各任務(wù)的運(yùn)行狀態(tài)信息并在相應(yīng)的數(shù)據(jù)庫(kù)中保存,從而在用戶希望查詢?nèi)蝿?wù)狀態(tài)時(shí)為用戶提供相應(yīng)的查詢結(jié)果,解決了現(xiàn)有技術(shù)中無法直觀地為用戶提供任務(wù)運(yùn)行狀態(tài)信息的問題,便于任務(wù)管理,提高了任務(wù)調(diào)度效率。
[0070]在本發(fā)明的一個(gè)實(shí)施例中,圖1所示的方法中,接收任務(wù)配置指令包括:提供可視化的任務(wù)配置界面,該任務(wù)配置界面包括任務(wù)上傳接口和任務(wù)配置選項(xiàng);通過任務(wù)配置界面上的任務(wù)上傳接口接收用戶上傳的任務(wù);通過任務(wù)配置界面上的任務(wù)配置選項(xiàng)接口用戶設(shè)置的任務(wù)配置信息;其中,任務(wù)配置信息包括:用戶配置該任務(wù)的終端機(jī)標(biāo)識(shí)和任務(wù)啟動(dòng)時(shí)間。
[0071]現(xiàn)有技術(shù)中往往需要通過輸入代碼式樣的命令才能對(duì)任務(wù)進(jìn)行配置,例如上文中多次提到的crontab文件,需要用戶按照其規(guī)定的格式進(jìn)行文件的編寫才能實(shí)現(xiàn)任務(wù)配置。在本實(shí)施例中,提供了可視化的任務(wù)配置界面,用戶可以通過簡(jiǎn)單的操作,如拖拽等方式將需要配置的任務(wù)從界面上的任務(wù)列表中拖至任務(wù)上傳接口進(jìn)行上傳,再在任務(wù)配置選項(xiàng)接口中輸入任務(wù)啟動(dòng)時(shí)間和配置任務(wù)的終端機(jī)標(biāo)識(shí)即可十分簡(jiǎn)單地實(shí)現(xiàn)任務(wù)配置指令的發(fā)送,減少了相關(guān)人員的操作,提高了用戶體驗(yàn)。
[0072]在本發(fā)明的一個(gè)實(shí)施例中,圖1所示的方法中,從各終端機(jī)獲取各任務(wù)的運(yùn)行狀態(tài)信息包括:從每個(gè)終端機(jī)上獲取該終端機(jī)分配到服務(wù)器集群上運(yùn)行的每個(gè)任務(wù)反饋給該終端機(jī)的各執(zhí)行步驟的運(yùn)行狀態(tài)信息。
[0073]在每個(gè)為服務(wù)器集群分配的任務(wù)中可能包含讀取、運(yùn)算等多個(gè)執(zhí)行步驟,在本實(shí)施例中,終端機(jī)接收服務(wù)器集群上運(yùn)行的每個(gè)任務(wù)反饋給該終端機(jī)的各執(zhí)行步驟的運(yùn)行狀態(tài)信息,也就是說,對(duì)任務(wù)中各執(zhí)行步驟的執(zhí)行結(jié)果有了良好的感知。由于終端機(jī)需要配置任務(wù),而采集到的運(yùn)行狀態(tài)信息又很多,因此,終端機(jī)并不長(zhǎng)期保存獲取到的運(yùn)行狀態(tài)信息而是將其轉(zhuǎn)發(fā)并保存到任務(wù)運(yùn)行狀態(tài)數(shù)據(jù)庫(kù)中,節(jié)約了終端機(jī)的資源耗用從而減輕了終端機(jī)的壓力。
[0074]在本發(fā)明的一個(gè)實(shí)施例中,圖1所示的方法中,展示任務(wù)運(yùn)行狀態(tài)信息包括:根據(jù)任務(wù)運(yùn)行狀態(tài)?目息生成任務(wù)運(yùn)行狀態(tài)圖并進(jìn)行展不;在任務(wù)運(yùn)行狀態(tài)圖中以各節(jié)點(diǎn)表不任務(wù)的各步驟,以及根據(jù)各步驟的執(zhí)行順序關(guān)聯(lián)各節(jié)點(diǎn),并根據(jù)各步驟的運(yùn)行狀態(tài)信息對(duì)各節(jié)點(diǎn)進(jìn)行標(biāo)記。
[0075]在本實(shí)施例中以任務(wù)運(yùn)行狀態(tài)圖的方式對(duì)任務(wù)運(yùn)行狀態(tài)信息進(jìn)行展示,方便直觀。由于任務(wù)的各步驟有執(zhí)行順序,因此將各個(gè)步驟以節(jié)點(diǎn)的方式呈現(xiàn),可以形成樹狀圖或網(wǎng)狀圖,其中,對(duì)成功執(zhí)行的步驟,可以將對(duì)應(yīng)的節(jié)點(diǎn)標(biāo)綠,類似地,將未完成的步驟對(duì)應(yīng)的節(jié)點(diǎn)標(biāo)白,正在進(jìn)行的步驟對(duì)應(yīng)的節(jié)點(diǎn)標(biāo)黃,出現(xiàn)問題的步驟對(duì)應(yīng)的節(jié)點(diǎn)標(biāo)紅,等等。具體地,任務(wù)運(yùn)行狀態(tài)圖可以是動(dòng)態(tài)并實(shí)時(shí)更新的,例如任務(wù)Α中的步驟Α1已經(jīng)成功執(zhí)行,正在執(zhí)行步驟A2,則可以在任務(wù)運(yùn)行狀態(tài)圖上節(jié)點(diǎn)A1至節(jié)點(diǎn)A2以動(dòng)態(tài)的箭頭指示進(jìn)行標(biāo)注。
[0076]在本發(fā)明的一個(gè)實(shí)施例中,圖1所示的方法進(jìn)一步包括:當(dāng)從終端機(jī)獲取到該終端機(jī)上的一個(gè)任務(wù)中途執(zhí)行失敗的信息時(shí),從任務(wù)運(yùn)行狀態(tài)數(shù)據(jù)庫(kù)查詢?cè)撊蝿?wù)的運(yùn)行狀態(tài)信息;根據(jù)該任務(wù)的運(yùn)行狀態(tài)信息確定該任務(wù)的執(zhí)行斷點(diǎn)位置;向該任務(wù)所在的終端發(fā)送從執(zhí)行斷點(diǎn)位置開始執(zhí)行該任務(wù)的指令。
[0077]由于分布式系統(tǒng)中服務(wù)器集群部署在多個(gè)機(jī)房中,偶爾會(huì)發(fā)生某個(gè)機(jī)房或某個(gè)機(jī)房中的一些機(jī)器出現(xiàn)故障的情況。修復(fù)故障通常20分鐘至40分鐘左右,在這段時(shí)間內(nèi),由該機(jī)房中的機(jī)器執(zhí)行的任務(wù)必然是中斷的。因此在故障修復(fù)完成后,需要重新啟動(dòng)任務(wù)時(shí),任務(wù)運(yùn)行狀態(tài)由于只保存在執(zhí)行任務(wù)的機(jī)器上,很可能已經(jīng)丟失,因此現(xiàn)有技術(shù)中,往往需要人工進(jìn)行干預(yù)。對(duì)需要執(zhí)行的任務(wù)從頭開始執(zhí)行,不僅浪費(fèi)機(jī)器資源,還影響了任務(wù)的執(zhí)行效率,耗費(fèi)人力成本。在本實(shí)施例中,如果獲取到了終端機(jī)上一個(gè)任務(wù)中途執(zhí)行失敗,可以自動(dòng)從執(zhí)行斷點(diǎn)位置開始繼續(xù)執(zhí)行該任務(wù),不需要人工干預(yù),也減輕了后臺(tái)數(shù)據(jù)壓力,減少了任務(wù)執(zhí)行時(shí)間,提高了效率。
[0078]在本發(fā)明的一個(gè)實(shí)施例中,圖1所示的方法進(jìn)一步包括:接收任務(wù)執(zhí)行剩余時(shí)間查詢指令,根據(jù)任務(wù)執(zhí)行剩余時(shí)間查詢指令從任務(wù)運(yùn)行狀態(tài)數(shù)據(jù)庫(kù)中查詢出相應(yīng)的任務(wù)運(yùn)行狀態(tài)信息;根據(jù)該