本申請(qǐng)涉及通信技術(shù),尤其涉及一種異常監(jiān)控方法及裝置。
背景技術(shù):
在大數(shù)據(jù)時(shí)代,數(shù)據(jù)被越來越廣泛的分析和使用,但是由于數(shù)據(jù)量之大、收集過程復(fù)雜,難免會(huì)出現(xiàn)不穩(wěn)定或錯(cuò)誤的情況,特別是在分布式系統(tǒng)中,出錯(cuò)重試更是難以避免。當(dāng)出現(xiàn)問題時(shí),如果能夠及時(shí)預(yù)警甚至提前預(yù)警,會(huì)極大的降低數(shù)據(jù)錯(cuò)誤帶來的損失。
在任務(wù)調(diào)度系統(tǒng)中,為便于及時(shí)發(fā)現(xiàn)異常任務(wù),一般采用任務(wù)監(jiān)控方案?,F(xiàn)有技術(shù)任務(wù)監(jiān)控方案,基本上都是用戶配置繁雜的信息,包括報(bào)警觸發(fā)條件、報(bào)警時(shí)間、報(bào)警對(duì)象、報(bào)警方式等,基于這些配置信息,對(duì)任務(wù)運(yùn)行過程進(jìn)行監(jiān)控,當(dāng)發(fā)現(xiàn)符合報(bào)警觸發(fā)條件的任務(wù)時(shí),在設(shè)定的報(bào)警時(shí)間,以設(shè)定的報(bào)警方式向設(shè)定的報(bào)警對(duì)象進(jìn)行報(bào)警。在這種方式中,報(bào)警時(shí)間是預(yù)先配置好的,靈活性較差,容易引起報(bào)警不夠及時(shí)或者非必要的報(bào)警,導(dǎo)致報(bào)警精度較差。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)峁┮环N異常監(jiān)控方法及裝置,用以提高對(duì)異常任務(wù)報(bào)警的靈活性,降低出現(xiàn)報(bào)警不及時(shí)或非必要報(bào)警的幾率,提高報(bào)警精度。
為達(dá)到上述目的,本申請(qǐng)的實(shí)施例采用如下技術(shù)方案:
第一方面,提供了一種異常監(jiān)控方法,包括:
根據(jù)任務(wù)調(diào)度系統(tǒng)中預(yù)先設(shè)定的基準(zhǔn)任務(wù),確定所述任務(wù)調(diào)度系統(tǒng)中的異常任務(wù);
根據(jù)預(yù)先設(shè)定的所述基準(zhǔn)任務(wù)的基準(zhǔn)完成時(shí)間,確定重新運(yùn)行所述異常任務(wù)的最晚開始時(shí)間;
根據(jù)重新運(yùn)行所述異常任務(wù)的最晚開始時(shí)間和當(dāng)前時(shí)間,對(duì)所述異常任務(wù)進(jìn)行報(bào)警處理。
第二方面,提供了一種異常監(jiān)控裝置,包括:
異常任務(wù)確定模塊,用于根據(jù)任務(wù)調(diào)度系統(tǒng)中預(yù)先設(shè)定的基準(zhǔn)任務(wù),確定所述任務(wù)調(diào)度系統(tǒng)中的異常任務(wù);
最晚時(shí)間確定模塊,用于根據(jù)預(yù)先設(shè)定的所述基準(zhǔn)任務(wù)的基準(zhǔn)完成時(shí)間,確定重新運(yùn)行所述異常任務(wù)的最晚開始時(shí)間;
報(bào)警處理模塊,用于根據(jù)重新運(yùn)行所述異常任務(wù)的最晚開始時(shí)間和當(dāng)前時(shí)間,對(duì)所述異常任務(wù)進(jìn)行報(bào)警處理。
由上述技術(shù)方案可知,本申請(qǐng)預(yù)先設(shè)定任務(wù)調(diào)度系統(tǒng)中的基準(zhǔn)任務(wù)及其基準(zhǔn)完成時(shí)間,在任務(wù)調(diào)度過程中,根據(jù)基準(zhǔn)任務(wù)確定異常任務(wù),進(jìn)而根據(jù)基準(zhǔn)任務(wù)的基準(zhǔn)完成時(shí)間,確定重新運(yùn)行異常任務(wù)的最晚開始時(shí)間,根據(jù)重新運(yùn)行異常任務(wù)的最晚開始時(shí)間和當(dāng)前時(shí)間,對(duì)異常任務(wù)進(jìn)行報(bào)警處理,而不是像現(xiàn)有技術(shù)那樣必須在預(yù)先配置的報(bào)警時(shí)間到達(dá)時(shí)進(jìn)行報(bào)警處理,靈活性較強(qiáng),有利于降低出現(xiàn)報(bào)警不及時(shí)或非必要報(bào)警的幾率,提高了報(bào)警精度。
上述說明僅是本申請(qǐng)技術(shù)方案的概述,為了能夠更清楚了解本申請(qǐng)的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本申請(qǐng)的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本申請(qǐng)的具體實(shí)施方式。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本申請(qǐng)的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1為本申請(qǐng)一實(shí)施例提供的異常監(jiān)控方法的流程示意圖;
圖2為本申請(qǐng)另一實(shí)施例提供的任務(wù)調(diào)度系統(tǒng)中任務(wù)依賴關(guān)系示意圖;
圖3為本申請(qǐng)又一實(shí)施例提供的任務(wù)調(diào)度系統(tǒng)中任務(wù)依賴關(guān)系示意圖;
圖4為本申請(qǐng)又一實(shí)施例提供的異常監(jiān)控裝置的結(jié)構(gòu)示意圖;
圖5為本申請(qǐng)又一實(shí)施例提供的異常監(jiān)控裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
任務(wù)調(diào)度系統(tǒng)是指按照事先設(shè)定好的方式和時(shí)間對(duì)一系列的指令或任務(wù)進(jìn)行調(diào)度執(zhí)行的系統(tǒng)。在現(xiàn)有任務(wù)調(diào)度系統(tǒng)中,為便于及時(shí)發(fā)現(xiàn)異常任務(wù),一般采用任務(wù)監(jiān)控方案。現(xiàn)有任務(wù)監(jiān)控方案,基本上都是用戶配置繁雜的信息,包括報(bào)警觸發(fā)條件、報(bào)警時(shí)間、報(bào)警對(duì)象、報(bào)警方式等,基于這些配置信息,對(duì)任務(wù)運(yùn)行過程進(jìn)行監(jiān)控,當(dāng)發(fā)現(xiàn)符合報(bào)警觸發(fā)條件的任務(wù)時(shí),在設(shè)定的報(bào)警時(shí)間,以設(shè)定的報(bào)警方式向設(shè)定的報(bào)警對(duì)象進(jìn)行報(bào)警。在這種方式中,報(bào)警時(shí)間是預(yù)先配置好的,靈活性較差,容易引起報(bào)警不夠及時(shí)或者非必要的報(bào)警,導(dǎo)致報(bào)警精度較差。
針對(duì)上述技術(shù)問題,本申請(qǐng)?zhí)峁┮环N解決方案,主要原理是:預(yù)先配置任務(wù)調(diào)度系統(tǒng)中的基準(zhǔn)任務(wù)及其基準(zhǔn)完成時(shí)間,根據(jù)基準(zhǔn)任務(wù)確定異常任務(wù),根據(jù)基準(zhǔn)任務(wù)的基準(zhǔn)完成時(shí)間,確定重新運(yùn)行異常任務(wù)的最晚開始時(shí)間,進(jìn)而根據(jù)重新運(yùn)行異常任務(wù)的最晚開始時(shí)間和當(dāng)前時(shí)間,對(duì)異常任務(wù)進(jìn)行報(bào)警處理,不再像現(xiàn)有技術(shù)那樣必須在預(yù)先配置的報(bào)警時(shí)間到達(dá)時(shí)進(jìn)行報(bào)警處理,靈活性較強(qiáng),有利于降低出現(xiàn)報(bào)警不及時(shí)或非必要報(bào)警的幾率,提高了報(bào)警精度。
值得說明的是,本申請(qǐng)?zhí)峁┑募夹g(shù)方案適用于任務(wù)調(diào)度系統(tǒng),并且優(yōu)選適用于數(shù)據(jù)倉庫開發(fā)過程中的離線任務(wù)調(diào)度系統(tǒng),但不限于此。離線任務(wù)調(diào)度系統(tǒng)中調(diào)度的任務(wù)屬于離線任務(wù),是相對(duì)在線或?qū)崟r(shí)任務(wù)而 言的,主要是指不需要立即應(yīng)用到在線業(yè)務(wù)系統(tǒng)上,而是在經(jīng)過一系列的異步處理之后,再將獲得的數(shù)據(jù)回流到在線業(yè)務(wù)系統(tǒng)中的任務(wù)。
本申請(qǐng)以下實(shí)施例以離線任務(wù)調(diào)度系統(tǒng)為例進(jìn)行說明,但對(duì)本領(lǐng)域技術(shù)人員來說,在本申請(qǐng)以下實(shí)施例給出的技術(shù)啟示的基礎(chǔ)上,很容易將本申請(qǐng)技術(shù)方案應(yīng)用到在線任務(wù)調(diào)度系統(tǒng)中。
下面結(jié)合具體實(shí)施方式及附圖對(duì)本申請(qǐng)技術(shù)方案進(jìn)行詳細(xì)說明。
圖1為本申請(qǐng)一實(shí)施例提供的異常監(jiān)控方法的流程示意圖。如圖1所示,該方法包括:
101、根據(jù)任務(wù)調(diào)度系統(tǒng)中預(yù)先設(shè)定的基準(zhǔn)任務(wù),確定任務(wù)調(diào)度系統(tǒng)中的異常任務(wù)。
102、根據(jù)預(yù)先設(shè)定的基準(zhǔn)任務(wù)的基準(zhǔn)完成時(shí)間,確定重新運(yùn)行異常任務(wù)的最晚開始時(shí)間。
103、根據(jù)重新運(yùn)行異常任務(wù)的最晚開始時(shí)間和當(dāng)前時(shí)間,對(duì)異常任務(wù)進(jìn)行報(bào)警處理。
本實(shí)施例提供一種異常監(jiān)控方法,可由異常監(jiān)控裝置來執(zhí)行,用以更加靈活的對(duì)異常任務(wù)進(jìn)行報(bào)警處理,降低出現(xiàn)報(bào)警不及時(shí)或非必要報(bào)警的幾率,提高報(bào)警精度。
在任務(wù)調(diào)度系統(tǒng)中,任務(wù)之間有上下游依賴關(guān)系,下游任務(wù)需要等待上游任務(wù)執(zhí)行完成之后方可執(zhí)行。其中,任務(wù)調(diào)度系統(tǒng)中任務(wù)之間的依賴關(guān)系的一種示例如圖2所示。在圖2所示的任務(wù)調(diào)度系統(tǒng)中,包括任務(wù)a、任務(wù)b、任務(wù)c、任務(wù)d、任務(wù)e以及任務(wù)f。任務(wù)b和任務(wù)c依賴于任務(wù)a,任務(wù)a是任務(wù)b和任務(wù)c的上游任務(wù),而任務(wù)b和任務(wù)c是任務(wù)a的下游任務(wù);同理,任務(wù)f依賴于任務(wù)a和任務(wù)c,且任務(wù)a和任務(wù)c是任務(wù)f的上游任務(wù),任務(wù)f是任務(wù)a和任務(wù)c的下游任務(wù);任務(wù)d和任務(wù)e依賴任務(wù)a和任務(wù)b,任務(wù)a和任務(wù)b是任務(wù)d和任務(wù)e的上游任務(wù),任務(wù)d和任務(wù)e是任務(wù)a和任務(wù)b的下游任務(wù)。
值得說明的是,在圖2所示的上下游任務(wù)關(guān)系中,包括直接上下游任務(wù)和間接上下游任務(wù)。例如,任務(wù)a是任務(wù)b和任務(wù)c的直接上游 任務(wù),而任務(wù)b和任務(wù)c是任務(wù)a的直接下游任務(wù),而任務(wù)a是任務(wù)d、任務(wù)e和任務(wù)f的間接上游任務(wù),任務(wù)d、任務(wù)e和任務(wù)f是任務(wù)a的間接下游任務(wù)。在本申請(qǐng)實(shí)施例中,并不細(xì)分直接上下游任務(wù)和間接上下游任務(wù)。
由于在任務(wù)調(diào)度系統(tǒng)中任務(wù)之間存在上下游依賴關(guān)系,所以本實(shí)施例預(yù)先設(shè)定任務(wù)調(diào)度系統(tǒng)中的基準(zhǔn)任務(wù)及其基準(zhǔn)完成時(shí)間,將基準(zhǔn)任務(wù)及其基準(zhǔn)完成時(shí)間作為異常監(jiān)控的基線,通過該基線完成異常任務(wù)監(jiān)控及報(bào)警處理。
其中,基準(zhǔn)任務(wù)的基準(zhǔn)完成時(shí)間是指該基準(zhǔn)任務(wù)的最晚完成時(shí)間,也就是說,需要保證基準(zhǔn)任務(wù)必須在基準(zhǔn)完成時(shí)間之前完成,否則會(huì)帶來嚴(yán)重的不利后果,例如可能導(dǎo)致整個(gè)任務(wù)調(diào)度系統(tǒng)報(bào)錯(cuò),或者影響依賴該任務(wù)調(diào)度系統(tǒng)的在線業(yè)務(wù)系統(tǒng)的正常運(yùn)行等。
可選的,可以根據(jù)任務(wù)調(diào)度系統(tǒng)中各個(gè)任務(wù)的重要程度,確定基準(zhǔn)任務(wù),例如將最重程度滿足一定條件(例如最重要)的任務(wù)作為基準(zhǔn)任務(wù)?;蛘撸梢愿鶕?jù)任務(wù)調(diào)度系統(tǒng)中各個(gè)任務(wù)之間的依賴關(guān)系,確定基準(zhǔn)任務(wù),例如將上游任務(wù)數(shù)量和下游任務(wù)數(shù)量均滿足一定條件(例如最多或大于指定數(shù)量)的任務(wù)作為基準(zhǔn)任務(wù)。如果一個(gè)任務(wù)的上游任務(wù)數(shù)量和下游任務(wù)數(shù)量均較多,說明該任務(wù)比較核心,影響面較大,所以有必要保證該任務(wù)在最晚完成時(shí)間之前完成,因此將其設(shè)置為基準(zhǔn)任務(wù)有利于保證更多任務(wù)能夠按時(shí)運(yùn)行。
相應(yīng)的,在確定基準(zhǔn)任務(wù)之后,可以根據(jù)基準(zhǔn)任務(wù)的應(yīng)用情況,確定基準(zhǔn)任務(wù)的基準(zhǔn)完成時(shí)間。例如,如果在線業(yè)務(wù)系統(tǒng)需要在每天早上9點(diǎn)調(diào)度該基準(zhǔn)任務(wù)計(jì)算出的數(shù)據(jù),則可以將基準(zhǔn)任務(wù)的基準(zhǔn)完成時(shí)間設(shè)置為9點(diǎn),這意味著該基準(zhǔn)任務(wù)必須在每天9點(diǎn)之前完成。又例如,如果有關(guān)人員需要在每天早上10點(diǎn)查看由基準(zhǔn)任務(wù)計(jì)算出的數(shù)據(jù)所生成的報(bào)表,那么可以將該基準(zhǔn)任務(wù)的基準(zhǔn)完成時(shí)間設(shè)置為10點(diǎn),這意味著該基準(zhǔn)任務(wù)必須在10點(diǎn)之前完成。
在此說明,本實(shí)施例不限定基準(zhǔn)任務(wù)的個(gè)數(shù),可以是一個(gè),也可以是多個(gè)。另外,在基準(zhǔn)任務(wù)為多個(gè)的情況下,可以為不同基準(zhǔn)任務(wù)設(shè)置 不同的基準(zhǔn)完成時(shí)間,也可以設(shè)置相同的基準(zhǔn)完成時(shí)間。如圖2所示,位于方框中的任務(wù)d和任務(wù)e被設(shè)置為基準(zhǔn)任務(wù),這兩個(gè)基準(zhǔn)任務(wù)均需要在早上6點(diǎn)之前完成,所以可以為這兩個(gè)基準(zhǔn)任務(wù)設(shè)置相同的基準(zhǔn)完成時(shí)間,例如6點(diǎn)。
在設(shè)定基準(zhǔn)任務(wù)及其基準(zhǔn)完成時(shí)間之后,可以根據(jù)基準(zhǔn)任務(wù)與任務(wù)調(diào)度系統(tǒng)中其它任務(wù)之間的依賴關(guān)系,確定任務(wù)調(diào)度系統(tǒng)中的異常任務(wù)。
在一可選實(shí)施方式中,異常監(jiān)控裝置可以根據(jù)基準(zhǔn)任務(wù)與任務(wù)調(diào)度系統(tǒng)中其它任務(wù)之間的依賴關(guān)系,確定與該基準(zhǔn)任務(wù)存在依賴關(guān)系的任務(wù)作為待監(jiān)控任務(wù);然后,對(duì)待監(jiān)控任務(wù)的運(yùn)行過程進(jìn)行監(jiān)控,從而獲取待監(jiān)控任務(wù)中運(yùn)行狀態(tài)異常的任務(wù)作為異常任務(wù)。
進(jìn)一步,與基準(zhǔn)任務(wù)存在依賴關(guān)系的任務(wù)包括其上游任務(wù)和其下游任務(wù),但直接影響基準(zhǔn)任務(wù)的開始時(shí)間及其完成時(shí)間的是基準(zhǔn)任務(wù)的上游任務(wù),而基準(zhǔn)任務(wù)的下游任務(wù)對(duì)基準(zhǔn)任務(wù)的影響相對(duì)較小,因此可以忽略其下游任務(wù)?;诖耍惓1O(jiān)控裝置可以確定任務(wù)調(diào)度系統(tǒng)中被該基準(zhǔn)任務(wù)所依賴的任務(wù)作為待監(jiān)控任務(wù),然后,對(duì)待監(jiān)控任務(wù)的運(yùn)行過程進(jìn)行監(jiān)控,從而獲取待監(jiān)控任務(wù)中運(yùn)行狀態(tài)異常的任務(wù)作為異常任務(wù)。在該實(shí)施方式中,待監(jiān)控任務(wù)的數(shù)量相對(duì)較少,有利于節(jié)約監(jiān)控所消耗的各種資源,提高發(fā)現(xiàn)異常任務(wù)的效率。另外,在該實(shí)施方式中,只需預(yù)先設(shè)定基準(zhǔn)任務(wù),異常監(jiān)控裝置可以根據(jù)任務(wù)之間的依賴關(guān)系反推出該基準(zhǔn)任務(wù)的所有上游任務(wù),進(jìn)而自動(dòng)監(jiān)控該基準(zhǔn)任務(wù)的所有上游任務(wù),而不是像現(xiàn)有技術(shù)那樣需要針對(duì)所有的上游任務(wù)都配置一遍觸發(fā)條件、報(bào)警時(shí)間等,具有配置信息較少而監(jiān)控范圍較廣的優(yōu)勢(shì),尤其適用于任務(wù)數(shù)量較多的任務(wù)調(diào)度系統(tǒng)。
在上述獲取異常任務(wù)的過程中,異常任務(wù)是指運(yùn)行狀態(tài)異常的待監(jiān)控任務(wù)。運(yùn)行狀態(tài)異常是相對(duì)于運(yùn)行狀態(tài)正常而言的。
在一可選實(shí)施方式中,可以預(yù)先設(shè)定表示正常運(yùn)行狀態(tài)的正常狀態(tài)條件?;诖?,可以對(duì)待監(jiān)控任務(wù)的運(yùn)行過程進(jìn)行監(jiān)控,判斷待監(jiān)控任務(wù)的運(yùn)行狀態(tài)是否符合正常狀態(tài)條件;若判斷結(jié)果為符合,則確定該待監(jiān)控任務(wù)的運(yùn)行狀態(tài)正常;若判斷結(jié)果為不符合,則確定該待監(jiān)控任務(wù) 的運(yùn)行狀態(tài)異常,將該待監(jiān)控任務(wù)作為異常任務(wù)?;蛘?,
在另一可選實(shí)施方式中,可以預(yù)先設(shè)定表示異常運(yùn)行狀態(tài)的異常狀態(tài)條件?;诖?,可以對(duì)待監(jiān)控任務(wù)的運(yùn)行過程進(jìn)行監(jiān)控,判斷待監(jiān)控任務(wù)的運(yùn)行狀態(tài)是否符合異常狀態(tài)條件;若判斷結(jié)果為不符合,則確定該待監(jiān)控任務(wù)的運(yùn)行狀態(tài)正常;若判斷結(jié)果為符合,則確定該待監(jiān)控任務(wù)的運(yùn)行狀態(tài)異常,將該待監(jiān)控任務(wù)作為異常任務(wù)。
當(dāng)然,在其他可選實(shí)施方式中,也可以同時(shí)設(shè)定表示正常運(yùn)行狀態(tài)的正常狀態(tài)條件和表示異常運(yùn)行狀態(tài)的異常狀態(tài)條件。
進(jìn)一步可選的,上述異常狀態(tài)條件包括以下至少一個(gè):
運(yùn)行出錯(cuò):表示運(yùn)行出錯(cuò)的任務(wù)屬于異常任務(wù);
運(yùn)行速度變慢:表示運(yùn)行速度變慢的任務(wù)屬于異常任務(wù)。
基于上述異常狀態(tài)條件,異常監(jiān)控裝置可以通過以下至少一種操作,來獲取異常任務(wù),具體如下:
獲取待監(jiān)控任務(wù)中運(yùn)行出錯(cuò)的任務(wù)作為異常任務(wù);以及
獲取待監(jiān)控任務(wù)中運(yùn)行速度變慢的任務(wù)作為異常任務(wù)。
進(jìn)一步,可以通過任務(wù)的運(yùn)行時(shí)長(zhǎng)來確定任務(wù)的運(yùn)行速度是否變慢。具體的,異常監(jiān)控裝置可以獲取待監(jiān)控任務(wù)中運(yùn)行時(shí)長(zhǎng)滿足指定時(shí)長(zhǎng)條件的任務(wù)作為運(yùn)行速度變慢的任務(wù),即異常任務(wù)。
可選的,上述指定時(shí)長(zhǎng)條件包括但不限于以下至少一個(gè)條件:
大于預(yù)設(shè)時(shí)長(zhǎng)閾值:表示待監(jiān)控任務(wù)的運(yùn)行時(shí)長(zhǎng)需要大于預(yù)設(shè)時(shí)長(zhǎng)閾值時(shí)才有可能作為運(yùn)行速度變慢的任務(wù);
比指定時(shí)間段內(nèi)的平均運(yùn)行時(shí)長(zhǎng)多出指定比例:表示待監(jiān)控任務(wù)的運(yùn)行時(shí)長(zhǎng)需要比指定時(shí)間段內(nèi)的平均運(yùn)行時(shí)長(zhǎng)多出指定比例才有可能作為運(yùn)行速度變慢的任務(wù)。
上述時(shí)長(zhǎng)閾值可以根據(jù)應(yīng)用場(chǎng)景及任務(wù)屬性等適應(yīng)性設(shè)置,例如可以是1小時(shí)、30分鐘或2小時(shí)等。相應(yīng)的,上述指定時(shí)間段以及指定比例也可以根據(jù)應(yīng)用場(chǎng)景及任務(wù)屬性等適應(yīng)性設(shè)置,例如上述指定時(shí)間段可以是10天、15天或1個(gè)月等,上述指定比例可以是30%、20%或15%,甚至可以是一個(gè)比例范圍,例如15%-30%等。
經(jīng)過上述操作,可以確定出任務(wù)調(diào)度系統(tǒng)中的異常任務(wù)。所述異常任務(wù)是指出現(xiàn)異常的任務(wù),所以需要重新運(yùn)行,另外,由于基準(zhǔn)任務(wù)依賴于異常任務(wù),且基準(zhǔn)任務(wù)必須在基準(zhǔn)完成時(shí)間之前完成,這決定了異常任務(wù)不能隨意重新運(yùn)行,需要在某個(gè)最晚時(shí)間之前開始,以保證依賴于異常任務(wù)的基準(zhǔn)任務(wù)能夠在基準(zhǔn)完成時(shí)間之前完成?;诖?,異常監(jiān)控裝置可以根據(jù)預(yù)先設(shè)定的基準(zhǔn)任務(wù)的基準(zhǔn)完成時(shí)間,確定重新運(yùn)行異常任務(wù)的最晚開始時(shí)間。
具體的,異常監(jiān)控裝置可以根據(jù)基準(zhǔn)任務(wù)與異常任務(wù)之間的依賴關(guān)系、基準(zhǔn)任務(wù)的基準(zhǔn)完成時(shí)間、基準(zhǔn)任務(wù)的平均運(yùn)行時(shí)長(zhǎng)以及異常任務(wù)的平均運(yùn)行時(shí)長(zhǎng)進(jìn)行反推,從而確定重新運(yùn)行異常任務(wù)的最晚開始時(shí)間。
舉例說明,假設(shè)一種任務(wù)調(diào)度系統(tǒng)包括的任務(wù)及任務(wù)之間的依賴關(guān)系如圖3所示,該任務(wù)調(diào)度系統(tǒng)包括任務(wù)a、任務(wù)b、任務(wù)c、任務(wù)d、任務(wù)e以及任務(wù)f。其中,任務(wù)b是任務(wù)a的直接下游任務(wù),任務(wù)c、任務(wù)d和任務(wù)e分別是任務(wù)b的直接下游任務(wù),任務(wù)f是任務(wù)e的直接下游任務(wù)。另外,在圖3所示的任務(wù)調(diào)度系統(tǒng)中,任務(wù)c和任務(wù)d被設(shè)置為一組基準(zhǔn)任務(wù),對(duì)應(yīng)的基準(zhǔn)完成時(shí)間是6:00,這意味著,任務(wù)c和任務(wù)d都需要在6:00之前完成;而任務(wù)e和任務(wù)f被設(shè)置為另一組基準(zhǔn)任務(wù),對(duì)應(yīng)的基準(zhǔn)完成時(shí)間是5:00,這意味著,任務(wù)e和任務(wù)f都需要在5:00前完成。
除上述信息之外,還可以獲知各任務(wù)的平均運(yùn)行時(shí)間,具體為:任務(wù)e的平均運(yùn)行時(shí)長(zhǎng)為0.5小時(shí),任務(wù)f的平均運(yùn)行時(shí)長(zhǎng)為20分鐘,任務(wù)c的平均運(yùn)行時(shí)長(zhǎng)為1.5小時(shí),任務(wù)d的平均運(yùn)行時(shí)長(zhǎng)為2小時(shí),任務(wù)b的平均運(yùn)行時(shí)長(zhǎng)為2小時(shí),任務(wù)a的平均運(yùn)行時(shí)長(zhǎng)為10分鐘。
假設(shè)監(jiān)控到任務(wù)a為異常任務(wù),則異常監(jiān)控裝置可以根據(jù)上述已知信息,從基準(zhǔn)任務(wù)開始沿著依賴關(guān)系向上反推,首先確定異常任務(wù)a的下游任務(wù),即任務(wù)b的最晚完成時(shí)間;然后,根據(jù)任務(wù)b的最晚完成時(shí)間,確定重新運(yùn)行異常任務(wù)a的最晚開始時(shí)間。
具體的,對(duì)于任務(wù)e和任務(wù)f,若要任務(wù)e和任務(wù)f在基準(zhǔn)完成時(shí)間之前完成,則任務(wù)e和任務(wù)f的最晚開始時(shí)間為:任務(wù)e和任務(wù)f的 基準(zhǔn)完成時(shí)間減去任務(wù)e和任務(wù)f的平均運(yùn)行時(shí)長(zhǎng),即5:00-20分鐘-0.5小時(shí)=4:10分,任務(wù)e和任務(wù)f的最晚開始時(shí)間也就是根據(jù)任務(wù)e和任務(wù)f計(jì)算出的任務(wù)b的最晚完成時(shí)間,為4:10分;
對(duì)于任務(wù)c,若要任務(wù)c在基準(zhǔn)完成時(shí)間之前完成,則任務(wù)c的最晚開始時(shí)間為:任務(wù)c的基準(zhǔn)完成時(shí)間減去任務(wù)c的平均運(yùn)行時(shí)長(zhǎng),即6:00-1.5小時(shí)=4:30分,任務(wù)c的最晚開始時(shí)間也就是根據(jù)任務(wù)c計(jì)算出的任務(wù)b的最晚完成時(shí)間,為4:30分;
對(duì)于任務(wù)d,若要任務(wù)d在基準(zhǔn)完成時(shí)間之前完成,則任務(wù)d的最晚開始時(shí)間為:任務(wù)d的基準(zhǔn)完成時(shí)間減去任務(wù)d的平均運(yùn)行時(shí)長(zhǎng),即6:00-2小時(shí)=4:00,任務(wù)d的最晚開始時(shí)間也就是根據(jù)任務(wù)d計(jì)算出的任務(wù)b的最晚完成時(shí)間,為4:00;
由上述可以確定,任務(wù)b的最晚完成時(shí)間為4:00;
接著,由于任務(wù)b需要在4:00之前完成,那么意味著任務(wù)b的最晚開始時(shí)間應(yīng)該為:任務(wù)b的最晚完成時(shí)間減去任務(wù)b的平均運(yùn)行時(shí)長(zhǎng),即4:00-2小時(shí)=2:00,任務(wù)b的最晚開始時(shí)間也就是任務(wù)a的最晚完成時(shí)間;
由于任務(wù)a需要在2:00之前完成,那么意味著任務(wù)a的最晚開始時(shí)間應(yīng)該為:任務(wù)a的最晚完成時(shí)間減去任務(wù)a的平均運(yùn)行時(shí)長(zhǎng),即2:00-10分鐘=1:50。
當(dāng)然,若知道當(dāng)前時(shí)間,還可以計(jì)算出任務(wù)a的時(shí)間余量,即任務(wù)a的最晚開始時(shí)間與當(dāng)前時(shí)間的時(shí)間差。例如,若當(dāng)前時(shí)間為1小時(shí),則任務(wù)a的時(shí)間余量為50分鐘。
當(dāng)確定重新運(yùn)行異常任務(wù)的最晚開始時(shí)間之后,異常監(jiān)控裝置可以根據(jù)該最晚開始時(shí)間與當(dāng)前時(shí)間,靈活的對(duì)異常任務(wù)進(jìn)行報(bào)警處理。
例如,若最晚開始時(shí)間距離當(dāng)前時(shí)間較近,則可以立即對(duì)異常任務(wù)進(jìn)行報(bào)警處理,以便能夠及時(shí)對(duì)異常任務(wù)進(jìn)行處理;若最晚開始時(shí)間距離當(dāng)前時(shí)間較遠(yuǎn),則可以晚一點(diǎn)對(duì)異常任務(wù)進(jìn)行報(bào)警處理,以便在合理時(shí)間進(jìn)行報(bào)警,降低報(bào)警對(duì)用戶的打擾,減少非必要的報(bào)警。
對(duì)異常任務(wù)進(jìn)行報(bào)警處理的關(guān)鍵是確定異常報(bào)警時(shí)間。其中,異常 監(jiān)控裝置主要依據(jù)重新運(yùn)行異常任務(wù)的最晚開始時(shí)間和當(dāng)前時(shí)間,確定異常報(bào)警時(shí)間,然后在異常報(bào)警時(shí)間到達(dá)時(shí),對(duì)異常任務(wù)進(jìn)行報(bào)警處理。
其中,重新運(yùn)行異常任務(wù)的最晚開始時(shí)間和當(dāng)前時(shí)間是影響異常報(bào)警時(shí)間的主要因素,當(dāng)然還包括一些其它因素,例如需要及時(shí)報(bào)警的時(shí)間段以及異常任務(wù)的異常類型等。對(duì)于一些應(yīng)用場(chǎng)景,可以預(yù)先指定需要及時(shí)報(bào)警的時(shí)間范圍,簡(jiǎn)稱為指定時(shí)間范圍。指定時(shí)間范圍可以是工作時(shí)間,如9:00--20:00。
基于上述,異常監(jiān)控裝置可以判斷當(dāng)前時(shí)間是否處于指定時(shí)間范圍內(nèi),若判斷結(jié)果為是,即當(dāng)前時(shí)間處于指定時(shí)間范圍內(nèi),則將當(dāng)前時(shí)間作為異常報(bào)警時(shí)間,在異常報(bào)警時(shí)間到達(dá)時(shí),對(duì)異常任務(wù)進(jìn)行報(bào)警處理,也就是立即對(duì)異常任務(wù)進(jìn)行報(bào)警處理;若判斷結(jié)果為否,即當(dāng)前時(shí)間未處于指定時(shí)間范圍內(nèi),則可以根據(jù)異常任務(wù)的異常類型以及重新運(yùn)行異常任務(wù)的最晚開始時(shí)間,確定異常報(bào)警時(shí)間,在異常報(bào)警時(shí)間到達(dá)時(shí),對(duì)異常任務(wù)進(jìn)行報(bào)警處理。
可選的,以異常任務(wù)的異常類型包括運(yùn)行出錯(cuò)和運(yùn)行速度變慢為例。
若異常任務(wù)的異常類型為運(yùn)行出錯(cuò),則可以判斷重新運(yùn)行異常任務(wù)的最晚開始時(shí)間是否晚于預(yù)設(shè)的第一時(shí)間,若判斷結(jié)果為是,即重新運(yùn)行異常任務(wù)的最晚開始時(shí)間晚于預(yù)設(shè)的第一時(shí)間,則設(shè)置晚于當(dāng)前時(shí)間但早于第一時(shí)間的第二時(shí)間作為異常報(bào)警時(shí)間;若判斷結(jié)果為否,也就是說重新運(yùn)行異常任務(wù)的最晚開始時(shí)間早于或等于預(yù)設(shè)的第一時(shí)間,則設(shè)置當(dāng)前時(shí)間作為異常報(bào)警時(shí)間,即立即對(duì)異常任務(wù)進(jìn)行報(bào)警處理。其中,在第二時(shí)間到達(dá)時(shí)在進(jìn)行報(bào)警處理,相當(dāng)于延遲報(bào)警,有利于避開用戶的休息時(shí)間,可以減少對(duì)用戶的打擾,并且從長(zhǎng)遠(yuǎn)來看相當(dāng)于拉大了兩次報(bào)警之間的時(shí)間間隔,有利于減少報(bào)警次數(shù),節(jié)約資源;而將當(dāng)前時(shí)間作為異常報(bào)警時(shí)間可以及時(shí)報(bào)警,避免報(bào)警不及時(shí)帶來的問題。
在此說明,本實(shí)施例并不限定第一時(shí)間和第二指定時(shí)間的取值,可以根據(jù)應(yīng)用場(chǎng)景適應(yīng)性設(shè)置。例如,預(yù)設(shè)的第一時(shí)間可以是11:00,相應(yīng)的,若當(dāng)前時(shí)間為9:00之前,則第二指定時(shí)間可以是9:00,但不限于此。
若異常任務(wù)的異常類型為運(yùn)行速度變慢,可以判斷重新運(yùn)行異常任務(wù)的最晚開始時(shí)間與當(dāng)前時(shí)間的時(shí)間差是否大于預(yù)設(shè)的時(shí)差閾值,若判斷結(jié)果為是,即重新運(yùn)行異常任務(wù)的最晚開始時(shí)間與當(dāng)前時(shí)間的時(shí)間差大于預(yù)設(shè)的時(shí)差閾值,則設(shè)置比重新運(yùn)行異常任務(wù)的最晚開始時(shí)間早所述時(shí)差閾值的第三時(shí)間作為異常報(bào)警時(shí)間;若判斷結(jié)果為否,即重新運(yùn)行異常任務(wù)的最晚開始時(shí)間與當(dāng)前時(shí)間的時(shí)間差小于或等于預(yù)設(shè)的時(shí)差閾值,則設(shè)置當(dāng)前時(shí)間作為異常報(bào)警時(shí)間。其中,將比重新運(yùn)行異常任務(wù)的最晚開始時(shí)間早所述時(shí)差閾值的第三時(shí)間作為異常報(bào)警時(shí)間,相當(dāng)于延遲報(bào)警,有利于避開用戶的休息時(shí)間,可以減少對(duì)用戶的打擾,并且從長(zhǎng)遠(yuǎn)來看相當(dāng)于拉大了兩次報(bào)警之間的時(shí)間間隔,有利于減少報(bào)警次數(shù),節(jié)約資源;而將當(dāng)前時(shí)間作為異常報(bào)警時(shí)間可以及時(shí)報(bào)警,避免報(bào)警不及時(shí)帶來的問題。
在此說明,本實(shí)施例并不限定上述時(shí)差閾值的取值,可以根據(jù)應(yīng)用場(chǎng)景適應(yīng)性設(shè)置。例如,時(shí)差閾值可以是2小時(shí),但不限于此。
進(jìn)一步,可以預(yù)先設(shè)置報(bào)警對(duì)象和報(bào)警方式。所述報(bào)警對(duì)象主要是指需要對(duì)異常任務(wù)進(jìn)行處理的責(zé)任人或負(fù)責(zé)人,例如可以將報(bào)警對(duì)象配置在值班表中。所述報(bào)警方式包括以下至少一種:語音報(bào)警、短信報(bào)警、郵件報(bào)警、報(bào)警燈以及即時(shí)通訊報(bào)警等?;诖?,上述對(duì)異常任務(wù)進(jìn)行報(bào)警處理具體為:根據(jù)預(yù)先配置的值班表,以配置的報(bào)警方式向相應(yīng)的責(zé)任人或負(fù)責(zé)人進(jìn)行報(bào)警,例如向責(zé)任人或負(fù)責(zé)人的終端設(shè)備發(fā)短信或郵件,或者對(duì)責(zé)任人或負(fù)責(zé)人進(jìn)行語音提示,等。
由上述可見,異常監(jiān)控裝置根據(jù)重新運(yùn)行異常任務(wù)的最晚開始時(shí)間和當(dāng)前時(shí)間,可以靈活確定異常報(bào)警時(shí)間,有利于在合適的時(shí)間對(duì)異常任務(wù)進(jìn)行報(bào)警處理,而不用像現(xiàn)有技術(shù)那樣必須在預(yù)先配置的報(bào)警時(shí)間到達(dá)時(shí)進(jìn)行報(bào)警處理,靈活性較強(qiáng),既可以及時(shí)報(bào)警又可以減少不必要的報(bào)警,有利于降低出現(xiàn)報(bào)警不及時(shí)或非必要報(bào)警的幾率,提高了報(bào)警精度,是一種智能報(bào)警方案。
圖4為本申請(qǐng)又一實(shí)施例提供的異常監(jiān)控裝置的結(jié)構(gòu)示意圖。如圖 4所示,該裝置包括:異常任務(wù)確定模塊41、最晚時(shí)間確定模塊42和報(bào)警處理模塊43。
異常任務(wù)確定模塊41,用于根據(jù)任務(wù)調(diào)度系統(tǒng)中預(yù)先設(shè)定的基準(zhǔn)任務(wù),確定任務(wù)調(diào)度系統(tǒng)中的異常任務(wù)。
最晚時(shí)間確定模塊42,用于根據(jù)預(yù)先設(shè)定的基準(zhǔn)任務(wù)的基準(zhǔn)完成時(shí)間,確定重新運(yùn)行異常任務(wù)的最晚開始時(shí)間。
報(bào)警處理模塊43,用于根據(jù)重新運(yùn)行異常任務(wù)的最晚開始時(shí)間和當(dāng)前時(shí)間,對(duì)異常任務(wù)進(jìn)行報(bào)警處理。
在一可選實(shí)施方式中,如圖5所示,異常任務(wù)確定模塊41的一種實(shí)現(xiàn)結(jié)構(gòu)包括:監(jiān)控任務(wù)確定單元411和異常任務(wù)獲取單元412。
監(jiān)控任務(wù)確定單元411,用于確定任務(wù)調(diào)度系統(tǒng)中的被基準(zhǔn)任務(wù)所依賴的任務(wù)作為待監(jiān)控任務(wù);
異常任務(wù)獲取單元412,用于獲取待監(jiān)控任務(wù)中運(yùn)行狀態(tài)異常的任務(wù)作為異常任務(wù)。
進(jìn)一步,異常任務(wù)獲取單元412具體用于執(zhí)行以下至少一種操作:
獲取待監(jiān)控任務(wù)中運(yùn)行出錯(cuò)的任務(wù)作為異常任務(wù);
獲取待監(jiān)控任務(wù)中運(yùn)行速度變慢的任務(wù)作為異常任務(wù)。
更進(jìn)一步,異常任務(wù)獲取單元412在獲取待監(jiān)控任務(wù)中運(yùn)行速度變慢的任務(wù)作為異常任務(wù)時(shí),具體用于:
獲取待監(jiān)控任務(wù)中運(yùn)行時(shí)長(zhǎng)滿足指定時(shí)長(zhǎng)條件的任務(wù)作為異常任務(wù);其中,指定時(shí)長(zhǎng)條件包括以下至少一個(gè):
大于預(yù)設(shè)時(shí)長(zhǎng)閾值;
比指定時(shí)間段內(nèi)的平均運(yùn)行時(shí)長(zhǎng)多出指定比例。
在一可選實(shí)施方式中,如圖5所示,報(bào)警處理模塊的一種實(shí)現(xiàn)結(jié)構(gòu)包括:第一報(bào)警處理單元431和第二報(bào)警處理單元432。
第一報(bào)警處理單元431,用于在當(dāng)前時(shí)間處于指定時(shí)間范圍內(nèi)時(shí),立即對(duì)異常任務(wù)進(jìn)行報(bào)警處理。
第二報(bào)警處理單元432,用于在當(dāng)前時(shí)間未處于指定時(shí)間范圍內(nèi)時(shí),根據(jù)異常任務(wù)的異常類型以及重新運(yùn)行異常任務(wù)的最晚開始時(shí)間,確定 異常報(bào)警時(shí)間,在異常報(bào)警時(shí)間到達(dá)時(shí),對(duì)異常任務(wù)進(jìn)行報(bào)警處理。
進(jìn)一步,第二報(bào)警處理單元432具體用于:
若異常任務(wù)的異常類型為運(yùn)行出錯(cuò),則在重新運(yùn)行異常任務(wù)的最晚開始時(shí)間晚于預(yù)設(shè)的第一時(shí)間時(shí),設(shè)置晚于當(dāng)前時(shí)間但早于第一時(shí)間的第二時(shí)間作為異常報(bào)警時(shí)間,或者,在重新運(yùn)行異常任務(wù)的最晚開始時(shí)間早于或等于第一時(shí)間時(shí),設(shè)置當(dāng)前時(shí)間作為異常報(bào)警時(shí)間;
若異常任務(wù)的異常類型為運(yùn)行速度變慢,則在重新運(yùn)行異常任務(wù)的最晚開始時(shí)間與當(dāng)前時(shí)間的時(shí)間差大于預(yù)設(shè)的時(shí)差閾值時(shí),設(shè)置比重新運(yùn)行異常任務(wù)的最晚開始時(shí)間早時(shí)差閾值的第三時(shí)間作為異常報(bào)警時(shí)間,或者,在重新運(yùn)行異常任務(wù)的最晚開始時(shí)間與當(dāng)前時(shí)間的時(shí)間差小于或等于時(shí)差閾值時(shí),設(shè)置當(dāng)前時(shí)間作為異常報(bào)警時(shí)間。
本實(shí)施例提供的異常監(jiān)控裝置,在任務(wù)調(diào)度過程中,根據(jù)預(yù)先設(shè)定的基準(zhǔn)任務(wù)確定異常任務(wù),進(jìn)而根據(jù)預(yù)先設(shè)定的基準(zhǔn)任務(wù)的基準(zhǔn)完成時(shí)間,確定重新運(yùn)行異常任務(wù)的最晚開始時(shí)間,根據(jù)重新運(yùn)行異常任務(wù)的最晚開始時(shí)間和當(dāng)前時(shí)間,對(duì)異常任務(wù)進(jìn)行報(bào)警處理,而不是像現(xiàn)有技術(shù)那樣必須在預(yù)先配置的報(bào)警時(shí)間到達(dá)時(shí)進(jìn)行報(bào)警處理,靈活性較強(qiáng),有利于降低出現(xiàn)報(bào)警不及時(shí)或非必要報(bào)警的幾率,提高了報(bào)警精度。
另外,采用本實(shí)施例提供的異常監(jiān)控裝置,只需預(yù)先設(shè)定基準(zhǔn)任務(wù)及其基準(zhǔn)完成時(shí)間即可,本實(shí)施例提供的異常監(jiān)控裝置可以根據(jù)基準(zhǔn)任務(wù)與任務(wù)調(diào)度系統(tǒng)中其它任務(wù)之間的依賴關(guān)系反推出該基準(zhǔn)任務(wù)的所有上游任務(wù),進(jìn)而自動(dòng)監(jiān)控該基準(zhǔn)任務(wù)的所有上游任務(wù),而不是像現(xiàn)有技術(shù)那樣需要針對(duì)所有的上游任務(wù)都配置一遍觸發(fā)條件、報(bào)警時(shí)間等,具有配置信息較少而監(jiān)控范圍較廣的優(yōu)勢(shì),尤其適用于任務(wù)數(shù)量較多的任務(wù)調(diào)度系統(tǒng)。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在運(yùn)行時(shí),運(yùn)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本申請(qǐng)的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本申請(qǐng)進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本申請(qǐng)各實(shí)施例技術(shù)方案的范圍。