亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種監(jiān)控任務(wù)運(yùn)行的方法和設(shè)備與流程

文檔序號(hào):11590368閱讀:160來(lái)源:國(guó)知局
本申請(qǐng)涉及數(shù)據(jù)處理
技術(shù)領(lǐng)域
,特別涉及一種監(jiān)控任務(wù)運(yùn)行的方法和設(shè)備。
背景技術(shù)
:etl(extract-transform-load,即數(shù)據(jù)抽取、轉(zhuǎn)換、裝載)作為數(shù)據(jù)倉(cāng)庫(kù)的核心,主要負(fù)責(zé)將數(shù)據(jù)從數(shù)據(jù)源向目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)轉(zhuǎn)化,是實(shí)施數(shù)據(jù)倉(cāng)庫(kù)的重要環(huán)節(jié)。etl任務(wù)是指一個(gè)將數(shù)據(jù)從源數(shù)據(jù)庫(kù)導(dǎo)出,并且按照一定規(guī)則進(jìn)行轉(zhuǎn)換,最后導(dǎo)入到目標(biāo)數(shù)據(jù)庫(kù)的過(guò)程。數(shù)據(jù)倉(cāng)庫(kù)新產(chǎn)生一個(gè)etl任務(wù)后,需要為任務(wù)配置調(diào)度屬性,以及配置該任務(wù)與其他任務(wù)之間的依賴關(guān)系,以保證新任務(wù)產(chǎn)生后,可以按預(yù)期的頻率、規(guī)則以及順序來(lái)調(diào)度執(zhí)行,產(chǎn)出數(shù)據(jù)給業(yè)務(wù)系統(tǒng)使用。每個(gè)etl任務(wù)既有可能依賴于其他任務(wù),也有可能被其他的任務(wù)依賴,所有的etl任務(wù)之間的相互關(guān)系就形成了一棵龐大的任務(wù)樹(shù),從任何一個(gè)樹(shù)頂任務(wù)到葉子任務(wù),都會(huì)形成一條數(shù)據(jù)鏈路。由于任務(wù)之間相互依賴,如果鏈路中的一個(gè)任務(wù)運(yùn)行出現(xiàn)問(wèn)題(例如任務(wù)延遲、任務(wù)運(yùn)行失敗等),會(huì)導(dǎo)致下游所有依賴它的etl任務(wù)也無(wú)法按時(shí)產(chǎn)生數(shù)據(jù),每個(gè)etl任務(wù)的責(zé)任方(責(zé)任人或者責(zé)任系統(tǒng))都應(yīng)該清楚的了解自己負(fù)責(zé)的任務(wù)的影響范圍以及是否被其他任務(wù)影響,并做到及時(shí)快速響應(yīng)問(wèn)題。目前如果鏈路中的一個(gè)任務(wù)運(yùn)行出現(xiàn)問(wèn)題,針對(duì)出現(xiàn)問(wèn)題的任務(wù)進(jìn)行預(yù)警,預(yù)警效果比較差。技術(shù)實(shí)現(xiàn)要素:本申請(qǐng)?zhí)峁┮环N監(jiān)控任務(wù)運(yùn)行的方法和設(shè)備,用以解決現(xiàn)有技術(shù)中存在的目前只能針對(duì)出現(xiàn)問(wèn)題的任務(wù)進(jìn)行預(yù)警,預(yù)警效果比較差的問(wèn)題。本申請(qǐng)實(shí)施例提供的一種監(jiān)控任務(wù)運(yùn)行的方法,該方法包括:檢測(cè)每個(gè)etl任務(wù)的狀態(tài);根據(jù)檢測(cè)的狀態(tài),從至少一個(gè)etl任務(wù)中確定滿足設(shè)定的故障條件的故障etl任務(wù);針對(duì)一個(gè)故障etl任務(wù),確定所述故障etl任務(wù)的第一責(zé)任方和所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方。本申請(qǐng)實(shí)施例根據(jù)檢測(cè)的狀態(tài),從至少一個(gè)etl任務(wù)中確定滿足設(shè)定的故障條件的故障etl任務(wù);針對(duì)一個(gè)故障etl任務(wù),確定所述故障etl任務(wù)的第一責(zé)任方和所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方。由于能夠在檢測(cè)到故障etl任務(wù)后,確定故障etl任務(wù)的第一責(zé)任方和至少一個(gè)下游的etl任務(wù)的第二責(zé)任方,從而能夠針對(duì)全鏈路etl任務(wù)進(jìn)行監(jiān)控預(yù)警,對(duì)鏈路上受到影響的etl任務(wù)進(jìn)行快速定位,為后續(xù)及時(shí)處理提供了基礎(chǔ)??蛇x的,根據(jù)檢測(cè)的狀態(tài),從至少一個(gè)etl任務(wù)中確定滿足設(shè)定的故障條件的故障etl任務(wù)之前,還包括:檢測(cè)每個(gè)etl任務(wù)的重跑次數(shù);根據(jù)檢測(cè)的狀態(tài),從至少一個(gè)etl任務(wù)中確定滿足設(shè)定的故障條件的故障etl任務(wù),包括:根據(jù)檢測(cè)的狀態(tài)和重跑次數(shù),從至少一個(gè)etl任務(wù)中確定滿足設(shè)定的故障條件的故障etl任務(wù)。由于根據(jù)檢測(cè)的狀態(tài)和重跑次數(shù)確定故障etl任務(wù),使得確定的故障etl任務(wù)更準(zhǔn)確??蛇x的,檢測(cè)每個(gè)etl任務(wù)的狀態(tài)和重跑次數(shù),包括:周期檢測(cè)每個(gè)etl任務(wù)的狀態(tài)和重跑次數(shù)??蛇x的,所述故障條件包括下列條件中的部分或全部:本次運(yùn)行和上次運(yùn)行都是失敗狀態(tài),且重跑次數(shù)未發(fā)生變化;本次運(yùn)行和上次運(yùn)行都是不成功狀態(tài),且當(dāng)前監(jiān)測(cè)到的重跑次數(shù)比前一次監(jiān)測(cè)到的重跑次數(shù)大??蛇x的,確定所述故障etl任務(wù)的第一責(zé)任方和所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方之后,還包括:根據(jù)預(yù)先設(shè)定的責(zé)任方和通知方式的綁定關(guān)系,確定所述故障etl任務(wù)的第一責(zé)任方對(duì)應(yīng)的第一通知方式,以及所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方對(duì)應(yīng)的第二通知方式;根據(jù)所述第一通知方式向所述第一責(zé)任方發(fā)送故障信息,以及根據(jù)所述第二通知方式向所述第二責(zé)任方發(fā)送預(yù)警信息。由于本申請(qǐng)實(shí)施例根據(jù)第一責(zé)任方對(duì)應(yīng)的第一通知方式向第一責(zé)任方發(fā)送故障信息,以及根據(jù)第二責(zé)任方對(duì)應(yīng)的第二通知方式向第二責(zé)任方發(fā)送故障信息,相比于只監(jiān)控任務(wù)本身的運(yùn)行狀態(tài)來(lái)說(shuō),可以發(fā)現(xiàn)更深層次的問(wèn)題,同時(shí)本申請(qǐng)實(shí)施例中的預(yù)警機(jī)制使得etl任務(wù)的責(zé)任方不僅可以在第一時(shí)間知道自己任務(wù)的問(wèn)題所在,還可以知道其任務(wù)在全鏈路中的下游影響范圍,對(duì)于被影響的etl任務(wù)的責(zé)任方,可以在上游發(fā)生問(wèn)題的第一時(shí)間就感知到自己是被哪個(gè)任務(wù)影響、是由于什么原因被影響、上游任務(wù)的責(zé)任方處理進(jìn)度如何等,從而做到上下游雙向透明,全鏈路上每一個(gè)任務(wù)的責(zé)任方都能做到快速響應(yīng),使得整個(gè)鏈路上的etl任務(wù)數(shù)據(jù)按時(shí)產(chǎn)出??蛇x的,所述故障信息包括下列信息中的部分或全部:故障etl任務(wù)的標(biāo)識(shí)、下游的etl任務(wù)的標(biāo)識(shí)、故障etl任務(wù)的故障原因和故障etl任務(wù)故障持續(xù)的時(shí)長(zhǎng);所述預(yù)警信息包括下列信息中的部分或全部:下游的etl任務(wù)的標(biāo)識(shí)、上游的故障etl任務(wù)的標(biāo)識(shí)、故障etl任務(wù)的 故障原因和故障etl任務(wù)故障持續(xù)的時(shí)長(zhǎng)。本申請(qǐng)實(shí)施例提供的一種監(jiān)控任務(wù)運(yùn)行的設(shè)備,該方法包括:檢測(cè)模塊,用于檢測(cè)每個(gè)etl任務(wù)的狀態(tài);任務(wù)確定模塊,用于根據(jù)檢測(cè)的狀態(tài),從至少一個(gè)etl任務(wù)中確定滿足設(shè)定的故障條件的故障etl任務(wù);責(zé)任確定模塊,用于針對(duì)一個(gè)故障etl任務(wù),確定所述故障etl任務(wù)的第一責(zé)任方和所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方??蛇x的,所述檢測(cè)模塊還用于:檢測(cè)每個(gè)etl任務(wù)的重跑次數(shù);所述任務(wù)確定模塊具體用于:根據(jù)檢測(cè)的狀態(tài)和重跑次數(shù),從至少一個(gè)etl任務(wù)中確定滿足設(shè)定的故障條件的故障etl任務(wù)。可選的,所述檢測(cè)模塊具體用于:周期檢測(cè)每個(gè)etl任務(wù)的狀態(tài)和重跑次數(shù)??蛇x的,所述故障條件包括下列條件中的部分或全部:本次運(yùn)行和上次運(yùn)行都是失敗狀態(tài),且重跑次數(shù)未發(fā)生變化;本次運(yùn)行和上次運(yùn)行都是不成功狀態(tài),且當(dāng)前監(jiān)測(cè)到的重跑次數(shù)比前一次監(jiān)測(cè)到的重跑次數(shù)大??蛇x的,所述責(zé)任確定模塊還用于:確定所述故障etl任務(wù)的第一責(zé)任方和所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方之后,根據(jù)預(yù)先設(shè)定的責(zé)任方和通知方式的綁定關(guān)系,確定所述故障etl任務(wù)的第一責(zé)任方對(duì)應(yīng)的第一通知方式,以及所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方對(duì)應(yīng)的第二通知方式;根據(jù)所述第一通知方式向所述第一責(zé)任方發(fā)送故障信息,以及根據(jù)所述第二通知方式向所述第二責(zé)任方發(fā)送預(yù)警信息。可選的,所述故障信息包括下列信息中的部分或全部:故障etl任務(wù)的標(biāo)識(shí)、下游的etl任務(wù)的標(biāo)識(shí)、故障etl任務(wù)的故障原因和故障etl任務(wù)故障持續(xù)的時(shí)長(zhǎng);所述預(yù)警信息包括下列信息中的部分或全部:下游的etl任務(wù)的標(biāo)識(shí)、上游的故障etl任務(wù)的標(biāo)識(shí)、故障etl任務(wù)的故障原因和故障etl任務(wù)故障持續(xù)的時(shí)長(zhǎng)。附圖說(shuō)明為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)要介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本申請(qǐng)實(shí)施例監(jiān)控任務(wù)運(yùn)行的方法流程示意圖;圖2為本申請(qǐng)實(shí)施例監(jiān)控任務(wù)運(yùn)行的完整方法流程示意圖;圖3為本申請(qǐng)實(shí)施例監(jiān)控任務(wù)運(yùn)行的設(shè)備結(jié)構(gòu)示意圖。具體實(shí)施方式本申請(qǐng)實(shí)施例根據(jù)檢測(cè)的狀態(tài),從至少一個(gè)etl任務(wù)中確定滿足設(shè)定的故障條件的故障etl任務(wù);針對(duì)一個(gè)故障etl任務(wù),確定所述故障etl任務(wù)的第一責(zé)任方和所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方。由于能夠在檢測(cè)到故障etl任務(wù)后,確定故障etl任務(wù)的第一責(zé)任方和至少一個(gè)下游的etl任務(wù)的第二責(zé)任方,從而能夠針對(duì)全鏈路etl任務(wù)進(jìn)行監(jiān)控預(yù)警,對(duì)鏈路上受到影響的etl任務(wù)進(jìn)行快速定位,為后續(xù)及時(shí)處理提供了基礎(chǔ)。為了使本申請(qǐng)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本申請(qǐng)作進(jìn)一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部份實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做 出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。如圖1所述,本申請(qǐng)實(shí)施例監(jiān)控任務(wù)運(yùn)行的方法包括:步驟100、檢測(cè)每個(gè)etl任務(wù)的狀態(tài);步驟101、根據(jù)檢測(cè)的狀態(tài),從至少一個(gè)etl任務(wù)中確定滿足設(shè)定的故障條件的故障etl任務(wù);步驟102、針對(duì)一個(gè)故障etl任務(wù),確定所述故障etl任務(wù)的第一責(zé)任方和所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方。可選的,根據(jù)檢測(cè)的狀態(tài),從至少一個(gè)etl任務(wù)中確定滿足設(shè)定的故障條件的故障etl任務(wù)之前,檢測(cè)每個(gè)etl任務(wù)的重跑次數(shù);在從至少一個(gè)etl任務(wù)中確定滿足設(shè)定的故障條件的故障etl任務(wù)時(shí),根據(jù)檢測(cè)的狀態(tài)和重跑次數(shù),從至少一個(gè)etl任務(wù)中確定滿足設(shè)定的故障條件的故障etl任務(wù)。表1為etl任務(wù)運(yùn)行表的一份示例:表1表2為是etl任務(wù)依賴配置表的一份簡(jiǎn)單示例,從下面的表可以得知任務(wù)8884的直接下游是8883,8882,由于8882的直接下游是8881,所以8884的所有下游包括8883,8882,8881:父任務(wù)標(biāo)識(shí)任務(wù)標(biāo)識(shí)責(zé)任人88848883張三88848882李四88828881王五………表2可選的,本申請(qǐng)實(shí)施例可以周期檢測(cè)每個(gè)etl任務(wù)的狀態(tài)和重跑次數(shù)。在實(shí)施中,本申請(qǐng)實(shí)施例可以在設(shè)定的時(shí)間通過(guò)采集etl任務(wù)運(yùn)行表獲得etl任務(wù)的運(yùn)行信息。比如可以每天一個(gè)固定時(shí)間進(jìn)行采集。etl任務(wù)的運(yùn)行信息包括但不限于下列信息中的部分或全部:etl任務(wù)的任務(wù)標(biāo)識(shí)、etl任務(wù)的狀態(tài)、etl任務(wù)的重跑次數(shù)和etl任務(wù)的責(zé)任方信息。etl任務(wù)的狀態(tài)分為成功狀態(tài)、失敗狀態(tài)、未開(kāi)始狀態(tài)、運(yùn)行中狀態(tài)。而本申請(qǐng)實(shí)施例中的不成功狀態(tài)為除成功狀態(tài)之外的所有狀態(tài)。etl任務(wù)的任務(wù)標(biāo)識(shí)用于唯一標(biāo)識(shí)一個(gè)任務(wù),通過(guò)任務(wù)標(biāo)識(shí)可以準(zhǔn)確定位到一個(gè)etl任務(wù)。etl任務(wù)的重跑次數(shù)表示一個(gè)etl任務(wù)被反復(fù)執(zhí)行的次數(shù)。如果該etl任務(wù)本次運(yùn)行失敗后,在當(dāng)前時(shí)間周期內(nèi)被重新執(zhí)行一次,則視為一次重跑,后面每次被重新執(zhí)行,重跑次數(shù)都進(jìn)行累加。etl任務(wù)的責(zé)任方信息可以是表明具體責(zé)任方的信息,比如數(shù)據(jù)倉(cāng)庫(kù)的開(kāi)發(fā)人員等。在實(shí)施中,故障條件可以根據(jù)需要進(jìn)行設(shè)定。下面列舉幾個(gè)故障條件,需要說(shuō)明的是下面列舉的故障條件只是舉例說(shuō)明,其他能夠確定故障etl任務(wù)的條件都可以作為本申請(qǐng)實(shí)施例的故障條件。故障條件1、本次運(yùn)行和上次運(yùn)行都是失敗狀態(tài),且重跑次數(shù)未發(fā)生變化。這里的本次運(yùn)行為本次通過(guò)采集etl任務(wù)運(yùn)行表獲得的狀態(tài);這里的上次運(yùn)行為上一次通過(guò)采集etl任務(wù)運(yùn)行表獲得的狀態(tài)。比如本次通過(guò)采集etl任務(wù)運(yùn)行表獲得的重跑次數(shù)為10次,而上一次通過(guò)采集etl任務(wù)運(yùn)行表獲得的重跑次數(shù)也為10次,則確定本次運(yùn)行和上次運(yùn)行的重跑次數(shù)未發(fā)生變化。故障條件2、本次運(yùn)行和上次運(yùn)行都是不成功狀態(tài),且當(dāng)前監(jiān)測(cè)到的重跑 次數(shù)比之前監(jiān)測(cè)到的重跑次數(shù)大。當(dāng)前監(jiān)測(cè)到的重跑次數(shù)比前一次監(jiān)測(cè)到的重跑次數(shù)大,也就表示重跑次數(shù)在增加??蛇x的,針對(duì)一個(gè)故障etl任務(wù),確定所述故障etl任務(wù)的第一責(zé)任方和所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方時(shí),根據(jù)采集的etl任務(wù)運(yùn)行表可以確定故障etl任務(wù)的第一責(zé)任方,根據(jù)etl任務(wù)依賴配置表可以確定故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)。在確定下游的etl任務(wù)后,根據(jù)etl任務(wù)運(yùn)行表就可以確定下游的etl任務(wù)的相關(guān)信息。下游的etl任務(wù)的運(yùn)行信息與上述etl任務(wù)的運(yùn)行信息相同,在此不再贅述??蛇x的,確定所述故障etl任務(wù)的第一責(zé)任方和所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方之后,根據(jù)預(yù)先設(shè)定的責(zé)任方和通知方式的綁定關(guān)系,確定所述故障etl任務(wù)的第一責(zé)任方對(duì)應(yīng)的第一通知方式,以及所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方對(duì)應(yīng)的第二通知方式;根據(jù)所述第一通知方式向所述第一責(zé)任方發(fā)送故障信息,以及根據(jù)所述第二通知方式向所述第二責(zé)任方發(fā)送預(yù)警信息。本申請(qǐng)實(shí)施例的故障信息包括但不限于下列信息中的部分或全部:故障etl任務(wù)的標(biāo)識(shí)、下游的etl任務(wù)的標(biāo)識(shí)、故障etl任務(wù)的故障原因和故障etl任務(wù)故障持續(xù)的時(shí)長(zhǎng);所述預(yù)警信息包括下列信息中的部分或全部:下游的etl任務(wù)的標(biāo)識(shí)、上游的故障etl任務(wù)的標(biāo)識(shí)、故障etl任務(wù)的故障原因和故障etl任務(wù)故障持續(xù)的時(shí)長(zhǎng)。上述第一通知方式和第二通知方式可以根據(jù)具體責(zé)任方的需求進(jìn)行設(shè)定,比如有的責(zé)任方接收短信比較方便,則通知方式為按照預(yù)設(shè)的號(hào)碼發(fā)送短信;還比如的責(zé)任方接收郵件比較方便,則通知方式為按照預(yù)設(shè)的郵箱地址發(fā)送郵件;還比如的責(zé)任方接收電話比較方便,則通知方式為按照預(yù)設(shè)的號(hào)碼打電話播放設(shè)置的語(yǔ)音。針對(duì)一個(gè)責(zé)任方,也可以不只采用一種通知方式,而是采用多種通知方式,比如可以采用語(yǔ)音和郵件兩種方式。在實(shí)施中,根據(jù)上面的故障條件確定故障etl任務(wù)后,可以確定故障etl任務(wù)已經(jīng)故障的時(shí)長(zhǎng)。比如本次運(yùn)行和上次運(yùn)行都是失敗的狀態(tài),且重跑次數(shù)x未發(fā)生變化的故障etl任務(wù)t1,則記錄任務(wù)t1處于這種狀態(tài)的累計(jì)持續(xù)時(shí)間,比如m小時(shí);還比如本次運(yùn)行和上次運(yùn)行都是不成功的狀態(tài),且當(dāng)前的重跑次數(shù)y和上一次相比在增加的故障etl任務(wù)t2,記錄其處于這種情況的累計(jì)持續(xù)時(shí)間,比如m小時(shí)。確定故障etl任務(wù)已經(jīng)故障的時(shí)長(zhǎng)的方式有很多中,比如對(duì)于每一個(gè)滿足了故障條件的故障etl任務(wù),會(huì)記錄第一次滿足故障條件的系統(tǒng)時(shí)間,后面的每一次滿足故障條件后,都會(huì)根據(jù)當(dāng)前的系統(tǒng)時(shí)間和第一次滿足故障條件的系統(tǒng)時(shí)間差來(lái)確定該任務(wù)已經(jīng)滿足這個(gè)故障條件的時(shí)長(zhǎng)。上述故障原因根據(jù)滿足的故障條件不同,故障信息也不相同。比如如果是滿足上述故障條件1,則故障信息可以包括下列內(nèi)容:您負(fù)責(zé)的任務(wù)t1失敗未響應(yīng)持續(xù)m小時(shí),會(huì)影響以下下游任務(wù)的數(shù)據(jù)產(chǎn)出:s1(這里可以列舉所有下游的任務(wù))。t1的對(duì)應(yīng)下游任務(wù)s1的預(yù)警信息可以包括下列內(nèi)容:您負(fù)責(zé)的任務(wù)s1的上游任務(wù)t1失敗未響應(yīng)持續(xù)m小時(shí),會(huì)影響s1的數(shù)據(jù)產(chǎn)出。比如如果是滿足上述故障條件2,則故障信息可以包括下列內(nèi)容:您負(fù)責(zé)的任務(wù)t2重跑y次仍未成功,累計(jì)持續(xù)n小時(shí),會(huì)影響以下下游任 務(wù)的數(shù)據(jù)產(chǎn)出s2(這里可以列舉所有下游的任務(wù))。t2的對(duì)應(yīng)下游任務(wù)s2的預(yù)警信息可以包括下列內(nèi)容:您負(fù)責(zé)的任務(wù)s2的上游任務(wù)t2重跑y次仍未成功,累計(jì)持續(xù)n小時(shí),會(huì)影響s2的數(shù)據(jù)產(chǎn)出。上述故障信息和預(yù)警信息的具體內(nèi)容只是舉例說(shuō)明,在實(shí)施中可以根據(jù)需要進(jìn)行設(shè)定。在實(shí)施中,故障信息和預(yù)警信息可以寫(xiě)入dbtest數(shù)據(jù)庫(kù)中,通過(guò)crontab命令進(jìn)行定時(shí)(比如每天每小時(shí)在固定時(shí)間),在設(shè)定時(shí)間達(dá)到后,讀取dbtest數(shù)據(jù)庫(kù)中的預(yù)警內(nèi)容,并通過(guò)設(shè)定的方式進(jìn)行通知,比如短信、郵件或電話等方式。本申請(qǐng)實(shí)施例中的etl任務(wù)可以是實(shí)現(xiàn)etl功能的任意一段程序,可以基于不同的計(jì)算平臺(tái),通過(guò)不同的語(yǔ)言來(lái)實(shí)現(xiàn)。例如計(jì)算平臺(tái)是oracle,那么開(kāi)發(fā)腳本是存儲(chǔ)過(guò)程,如果計(jì)算平臺(tái)是odps,那么開(kāi)發(fā)腳本是一個(gè)perl,或者是單個(gè)的sql封裝。如圖2所示,本申請(qǐng)實(shí)施例監(jiān)控任務(wù)運(yùn)行的完整方法包括:步驟201、根據(jù)設(shè)定的時(shí)間,周期采集etl任務(wù)運(yùn)行表獲得etl任務(wù)的運(yùn)行信息,并將采集到的信息增加到數(shù)據(jù)庫(kù)中。步驟202、將本次采集的運(yùn)行信息和上次采集的運(yùn)行信息進(jìn)行比較。為了方便描述,下面以一個(gè)etl任務(wù)進(jìn)行說(shuō)明,每一個(gè)etl任務(wù)的處理方式都按照下列步驟執(zhí)行即可。步驟203、針對(duì)任何一個(gè)etl任務(wù),判斷所述etl任務(wù)當(dāng)前采集到的重跑次數(shù)和前一次采集到的重跑次數(shù)相比是否增加,如果是,則執(zhí)行步驟204;否則,執(zhí)行步驟205。步驟204、判斷所述etl任務(wù)本次獲取的狀態(tài)和上次獲取的狀態(tài)是否都是不成功,如果是,則確定所述etl任務(wù)為故障etl任務(wù),并執(zhí)行步驟206;否則,結(jié)束本流程。步驟205、判斷所述etl任務(wù)本次獲取的狀態(tài)和上次獲取的狀態(tài)是否都是失敗,如果是,則確定所述etl任務(wù)為故障etl任務(wù),并執(zhí)行步驟206;否則,結(jié)束本流程。步驟206、確定所述故障etl任務(wù)的第一責(zé)任方和所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方。步驟207、確定所述故障etl任務(wù)故障的持續(xù)時(shí)長(zhǎng),并根據(jù)所述持續(xù)時(shí)長(zhǎng)生成故障信息和預(yù)警信息。步驟208、根據(jù)預(yù)先設(shè)定的責(zé)任方和通知方式的綁定關(guān)系,確定所述故障etl任務(wù)的第一責(zé)任方對(duì)應(yīng)的第一通知方式,以及所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方對(duì)應(yīng)的第二通知方式;步驟209、根據(jù)所述第一通知方式向所述第一責(zé)任方發(fā)送故障信息,以及根據(jù)所述第二通知方式向所述第二責(zé)任方發(fā)送預(yù)警信息。基于同一發(fā)明構(gòu)思,本申請(qǐng)實(shí)施例中還提供了一種監(jiān)控任務(wù)運(yùn)行的設(shè)備,由于該設(shè)備解決問(wèn)題的原理與本申請(qǐng)實(shí)施例監(jiān)控任務(wù)運(yùn)行的方法相似,因此該設(shè)備的實(shí)施可以參見(jiàn)方法的實(shí)施,重復(fù)之處不再贅述。如圖3所示,本申請(qǐng)實(shí)施例監(jiān)控任務(wù)運(yùn)行的設(shè)備包括:檢測(cè)模塊300,用于檢測(cè)每個(gè)etl任務(wù)的狀;任務(wù)確定模塊301,用于根據(jù)檢測(cè)的狀態(tài),從至少一個(gè)etl任務(wù)中確定滿足設(shè)定的故障條件的故障etl任務(wù);責(zé)任確定模塊302,用于針對(duì)一個(gè)故障etl任務(wù),確定所述故障etl任務(wù)的第一責(zé)任方和所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方。可選的,所述檢測(cè)模塊300還用于:檢測(cè)每個(gè)etl任務(wù)的重跑次數(shù);所述任務(wù)確定模塊301具體用于:根據(jù)檢測(cè)的狀態(tài)和重跑次數(shù),從至少一個(gè)etl任務(wù)中確定滿足設(shè)定的故 障條件的故障etl任務(wù)??蛇x的,所述檢測(cè)模塊300具體用于:周期檢測(cè)每個(gè)etl任務(wù)的狀態(tài)和重跑次數(shù)??蛇x的,所述故障條件包括下列條件中的部分或全部:本次運(yùn)行和上次運(yùn)行都是失敗狀態(tài),且重跑次數(shù)未發(fā)生變化;本次運(yùn)行和上次運(yùn)行都是不成功狀態(tài),且當(dāng)前監(jiān)測(cè)到的重跑次數(shù)比前一次監(jiān)測(cè)到的重跑次數(shù)大??蛇x的,所述責(zé)任確定模塊302還用于:確定所述故障etl任務(wù)的第一責(zé)任方和所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方之后,根據(jù)預(yù)先設(shè)定的責(zé)任方和通知方式的綁定關(guān)系,確定所述故障etl任務(wù)的第一責(zé)任方對(duì)應(yīng)的第一通知方式,以及所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方對(duì)應(yīng)的第二通知方式;根據(jù)所述第一通知方式向所述第一責(zé)任方發(fā)送故障信息,以及根據(jù)所述第二通知方式向所述第二責(zé)任方發(fā)送預(yù)警信息??蛇x的,所述故障信息包括下列信息中的部分或全部:故障etl任務(wù)的標(biāo)識(shí)、下游的etl任務(wù)的標(biāo)識(shí)、故障etl任務(wù)的故障原因和故障etl任務(wù)故障持續(xù)的時(shí)長(zhǎng);所述預(yù)警信息包括下列信息中的部分或全部:下游的etl任務(wù)的標(biāo)識(shí)、上游的故障etl任務(wù)的標(biāo)識(shí)、故障etl任務(wù)的故障原因和故障etl任務(wù)故障持續(xù)的時(shí)長(zhǎng)。在實(shí)施中,本申請(qǐng)實(shí)施例可以通過(guò)使用linux的基本命令實(shí)現(xiàn)所有定時(shí)執(zhí)行的腳本調(diào)度,腳本編寫(xiě)可以使用shell腳本語(yǔ)言,在數(shù)據(jù)存儲(chǔ)過(guò)程中,還可以使用mysql數(shù)據(jù)庫(kù)。上述方式都是基于后續(xù)實(shí)現(xiàn)成本相對(duì)較低而選擇的。除了上述方式,腳本編寫(xiě)也可用其他主流的計(jì)算機(jī)語(yǔ)言或者腳本語(yǔ)言,如:java、perl、python等,而數(shù)據(jù)庫(kù)也可用其他常見(jiàn)數(shù)據(jù)庫(kù)如oracle等 實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)。從上述內(nèi)容可以看出:本申請(qǐng)實(shí)施例根據(jù)檢測(cè)的狀態(tài),從至少一個(gè)etl任務(wù)中確定滿足設(shè)定的故障條件的故障etl任務(wù);針對(duì)一個(gè)故障etl任務(wù),確定所述故障etl任務(wù)的第一責(zé)任方和所述故障etl任務(wù)的至少一個(gè)下游的etl任務(wù)的第二責(zé)任方。由于能夠在檢測(cè)到故障etl任務(wù)后,確定故障etl任務(wù)的第一責(zé)任方和至少一個(gè)下游的etl任務(wù)的第二責(zé)任方,從而能夠針對(duì)全鏈路etl任務(wù)進(jìn)行監(jiān)控預(yù)警,對(duì)鏈路上受到影響的etl任務(wù)進(jìn)行快速定位,為后續(xù)及時(shí)處理提供了基礎(chǔ)。以上參照示出根據(jù)本申請(qǐng)實(shí)施例的方法、裝置(系統(tǒng))和/或計(jì)算機(jī)程序產(chǎn)品的框圖和/或流程圖描述本申請(qǐng)。應(yīng)理解,可以通過(guò)計(jì)算機(jī)程序指令來(lái)實(shí)現(xiàn)框圖和/或流程圖示圖的一個(gè)塊以及框圖和/或流程圖示圖的塊的組合??梢詫⑦@些計(jì)算機(jī)程序指令提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)的處理器和/或其它可編程數(shù)據(jù)處理裝置,以產(chǎn)生機(jī)器,使得經(jīng)由計(jì)算機(jī)處理器和/或其它可編程數(shù)據(jù)處理裝置執(zhí)行的指令創(chuàng)建用于實(shí)現(xiàn)框圖和/或流程圖塊中所指定的功能/動(dòng)作的方法。相應(yīng)地,還可以用硬件和/或軟件(包括固件、駐留軟件、微碼等)來(lái)實(shí)施本申請(qǐng)。更進(jìn)一步地,本申請(qǐng)可以采取計(jì)算機(jī)可使用或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品的形式,其具有在介質(zhì)中實(shí)現(xiàn)的計(jì)算機(jī)可使用或計(jì)算機(jī)可讀程序代碼,以由指令執(zhí)行系統(tǒng)來(lái)使用或結(jié)合指令執(zhí)行系統(tǒng)而使用。在本申請(qǐng)上下文中,計(jì)算機(jī)可使用或計(jì)算機(jī)可讀介質(zhì)可以是任意介質(zhì),其可以包含、存儲(chǔ)、通信、傳輸、或傳送程序,以由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用,或結(jié)合指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)的這些修改和變型屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。當(dāng)前第1頁(yè)12
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1