本發(fā)明實施例涉及計算機應(yīng)用技術(shù)領(lǐng)域,尤其涉及一種任務(wù)監(jiān)控方法及裝置。
背景技術(shù):
etl(extract-transform-load,抽取-轉(zhuǎn)換-裝載)用來描述數(shù)據(jù)從源端經(jīng)過抽取、轉(zhuǎn)換、加載至目的端的執(zhí)行過程。
在進(jìn)行數(shù)據(jù)分析、使用等數(shù)據(jù)處理中,數(shù)據(jù)etl是不可或缺的關(guān)鍵步驟,數(shù)據(jù)的及時產(chǎn)出有著很重要的作用。
但是實際應(yīng)用中,由于存在大量的etl任務(wù),通常會存在某些etl任務(wù)產(chǎn)出延遲情況,
技術(shù)實現(xiàn)要素:
由于實際應(yīng)用中存在大量etl(extract-transform-load,抽取-轉(zhuǎn)換-裝載)任務(wù),通常會存在etl任務(wù)產(chǎn)出延遲情況,發(fā)明人在研究中發(fā)現(xiàn),在進(jìn)行數(shù)據(jù)分析或使用等處理時,可能會對應(yīng)設(shè)置多個etl任務(wù),由于數(shù)據(jù)處理會例行執(zhí)行,比如每天都會進(jìn)行數(shù)據(jù)etl,如果可以了解etl任務(wù)的延遲趨勢和延遲范圍,宏觀把握etl變化趨勢,可以及時進(jìn)行優(yōu)化,將減少etl任務(wù)產(chǎn)出延遲造成的影響,據(jù)此提出了本發(fā)明實施例的技術(shù)方案,本發(fā)明實施例提供了一種任務(wù)監(jiān)控方法及裝置,實現(xiàn)了etl任務(wù)的延遲信息自動統(tǒng)計,可以及時有效的獲得etl任務(wù)的延遲情況。
本發(fā)明的第一方面提供了一種任務(wù)監(jiān)控方法,包括:
確定查詢配置信息;
基于所述查詢配置信息,查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息;
輸出所述延遲信息。
可選地,所述延遲信息統(tǒng)計步驟包括:
基于所述查詢配置信息,從監(jiān)控數(shù)據(jù)庫中查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息;
其中,所述執(zhí)行完成情況通過監(jiān)控所述etl任務(wù)的執(zhí)行過程獲得并寫入所述監(jiān)控數(shù)據(jù)庫中。
可選地,所述延遲信息統(tǒng)計步驟包括:
在任一處理周期中的規(guī)定時間,基于所述查詢配置信息,查詢etl任務(wù)執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息。
可選地,所述輸出所述延遲信息包括:
結(jié)合對多個處理周期統(tǒng)計獲得的延遲信息,生成統(tǒng)計分布圖;
輸出所述統(tǒng)計分布圖。
可選地,所述查詢配置信息確定步驟包括:
確定查詢語句模板;
將處理對象輸入所述查詢語句模板,獲得所述查詢配置信息;其中所述處理對象包括所述監(jiān)控數(shù)據(jù)庫的庫名稱、數(shù)據(jù)表的表名稱、所述執(zhí)行完成情況的字段名稱以及統(tǒng)計時間范圍。
第二方面,提供了一種任務(wù)監(jiān)控裝置,包括:
信息確定模塊,用于確定查詢配置信息;
信息統(tǒng)計模塊,用于基于所述查詢配置信息,查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息;
信息輸出模塊,用于輸出所述延遲信息。
可選地,所述信息統(tǒng)計模塊具體用于:
基于所述查詢配置信息,從監(jiān)控數(shù)據(jù)庫中查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息;
其中,所述執(zhí)行完成情況通過監(jiān)控所述etl任務(wù)的執(zhí)行過程獲得并寫入所述監(jiān)控數(shù)據(jù)庫中。
可選地,所述信息統(tǒng)計模塊具體用于:
在任一處理周期中的規(guī)定時間,基于所述查詢配置信息,查詢etl任務(wù)執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息。
可選地,所述信息輸出模塊包括:
繪制單元,用于結(jié)合對多個處理周期統(tǒng)計獲得的延遲信息,生成統(tǒng)計分布圖;
輸出單元,用于輸出所述統(tǒng)計分布圖。
可選地,所述信息確定模塊具體用于:
確定查詢語句模板;
將處理對象輸入所述查詢語句模板,獲得所述查詢配置信息;其中所述處理對象包括所述監(jiān)控數(shù)據(jù)庫的庫名稱、數(shù)據(jù)表的表名稱、所述執(zhí)行完成情況的字段名稱以及統(tǒng)計時間范圍。
本發(fā)明實施例中,通過確定查詢配置信息,基于查詢配置信息即可以自動查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息,輸出該延遲信息,以方便用戶查看,及時獲知etl任務(wù)的延遲信息,本發(fā)明實施例實現(xiàn)了etl任務(wù)的延遲信息的自動統(tǒng)計,可以及時有效的獲得etl任務(wù)的延遲情況。
本發(fā)明的這些方面或其他方面在以下實施例的描述中會更加簡明易懂。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種任務(wù)監(jiān)控方法一個實施例的流程圖;
圖2為本發(fā)明實施例提供的一種任務(wù)監(jiān)控方法又一個實施例的流程圖;
圖3為本發(fā)明實施例提供的一種任務(wù)監(jiān)控裝置一個實施例的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實施例提供的一種任務(wù)監(jiān)控裝置又一個實施例的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例提供的一種電子裝置一個實施例的結(jié)構(gòu)示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
在本發(fā)明的說明書和權(quán)利要求書及上述附圖中的描述的一些流程中,包含了按照特定順序出現(xiàn)的多個操作,但是應(yīng)該清楚了解,這些操作可以不按照其在本文中出現(xiàn)的順序來執(zhí)行或并行執(zhí)行,操作的序號如101、102等,僅僅是用于區(qū)分開各個不同的操作,序號本身不代表任何的執(zhí)行順序。另外,這些流程可以包括更多或更少的操作,并且這些操作可以按順序執(zhí)行或并行執(zhí)行。需要說明的是,本文中的“第一”、“第二”等描述,是用于區(qū)分不同的消息、設(shè)備、模塊等,不代表先后順序,也不限定“第一”和“第二”是不同的類型。
本發(fā)明實施例的技術(shù)方案實現(xiàn)了對etl(extract-transform-load,抽取-轉(zhuǎn)換-裝載)任務(wù)的自動監(jiān)控,實際應(yīng)用中,在進(jìn)行數(shù)據(jù)分析或使用等處理時,會對應(yīng)設(shè)置多個etl任務(wù),由于數(shù)據(jù)處理通常會例行執(zhí)行,例如每小時、每天、每周等,而etl任務(wù)執(zhí)行過程中存在產(chǎn)出延遲的情況,導(dǎo)致數(shù)據(jù)不能在規(guī)定時間內(nèi)處理完成,從而就會影響下游方的數(shù)據(jù)采集。為了降低etl任務(wù)產(chǎn)出延遲帶來的影響,發(fā)明人想到,如果可以了解etl任務(wù)的延遲趨勢和延遲范圍,宏觀把握etl任務(wù)延遲變化趨勢,即可以及時進(jìn)行優(yōu)化,在一定程度上可以減少etl任務(wù)產(chǎn)出延遲造成的影響。
據(jù)此提出了本發(fā)明實施例的技術(shù)方案,由于etl任務(wù)執(zhí)行過程中etl的執(zhí)行完成情況可以監(jiān)控獲得,因此通過查詢配置信息,即可以自動查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計獲得所述etl任務(wù)的延遲信息;輸出該延遲信息以方便用戶查看,及時獲知etl任務(wù)的延遲信息,了解etl任務(wù)的延遲情況。本發(fā)明實施例實現(xiàn)了etl任務(wù)的延遲信息的自動統(tǒng)計,可以及時有效的獲得etl任務(wù)的延遲情況。且相較于人工統(tǒng)計方式,提高了統(tǒng)計效率,節(jié)省人力成本。
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
圖1為本發(fā)明實施例提供的一種任務(wù)監(jiān)控方法一個實施例的流程圖,該方法可以包括以下幾個步驟:
101:確定查詢配置信息。
102:基于所述查詢配置信息,查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息。
其中,數(shù)據(jù)處理時,可以設(shè)置多個etl任務(wù)。數(shù)據(jù)處理通常周期性進(jìn)行,對延遲信息的統(tǒng)計也即可以周期性進(jìn)行,對任一個處理周期,查詢etl任務(wù)在該任一處理周期內(nèi)的執(zhí)行完成情況并據(jù)此統(tǒng)計延時信息。
etl任務(wù)執(zhí)行過程中可以對etl任務(wù)執(zhí)行過程進(jìn)行監(jiān)控,并記錄etl任務(wù)的執(zhí)行完成情況。也即執(zhí)行完成情況可以是通過監(jiān)控etl任務(wù)執(zhí)行過程獲得并記錄。該執(zhí)行完成情況例如可以至少包括實際產(chǎn)出時間等信息。
查詢配置信息也即根據(jù)執(zhí)行完成情況的存儲信息確定,例如可以包括存儲地址、etl任務(wù)的任務(wù)標(biāo)識、統(tǒng)計時間范圍等。根據(jù)統(tǒng)計時間范圍可以確定查詢哪一個處理周期中的etl任務(wù)的執(zhí)行完成情況。
根據(jù)執(zhí)行完成情況,即可以統(tǒng)計獲得etl任務(wù)的延遲信息。其中延遲信息例如可以包括延遲數(shù)量、延遲率等。
由于現(xiàn)有技術(shù)中通常采用人工方式進(jìn)行查找,以獲得etl任務(wù)的執(zhí)行完成情況,且需要人工基于執(zhí)行完成情況計算延遲信息,統(tǒng)計效率低,而本實施例中通過預(yù)先設(shè)置的查詢配置信息,基于查詢配置信息即可以自動觸發(fā)查詢etl任務(wù)的執(zhí)行完成情況,并可以自動統(tǒng)計獲得etl任務(wù)的延遲信息,提高了統(tǒng)計效率。
103:輸出所述延遲信息。
通過輸出延遲信息,用戶即可以獲知當(dāng)前處理周期的etl任務(wù)的延遲情況,從而可以進(jìn)一步的基于etl任務(wù)的延遲情況做出相應(yīng)的決策處理等。
通過本實施例的技術(shù)方案,實現(xiàn)了etl任務(wù)執(zhí)行完成的情況的自動獲取以及etl任務(wù)的延遲信息的自動統(tǒng)計,從而可以及時有效的獲得etl任務(wù)的延遲情況。提高了統(tǒng)計效率。
此外,在實際應(yīng)用中,etl任務(wù)的執(zhí)行完成情況可以存儲在監(jiān)控數(shù)據(jù)庫中。因此,在某些實施例中,所述延遲信息統(tǒng)計步驟可以包括:
基于所述查詢配置信息,從監(jiān)控數(shù)據(jù)庫中查詢相應(yīng)的etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息;
所述執(zhí)行完成情況通過監(jiān)控所述etl任務(wù)的執(zhí)行過程獲得并寫入所述監(jiān)控數(shù)據(jù)庫中。
其中,etl任務(wù)的執(zhí)行完成情況存儲在監(jiān)控數(shù)據(jù)庫中時,從監(jiān)控數(shù)據(jù)庫中查詢需要利用查詢語句,例如sql語句。查詢配置信息也即可以包括查詢語句,因此,在某些實施例中,所述查詢配置信息確定步驟可以包括:
確定查詢語句模板;
將處理對象輸入所述查詢語句模板,獲得所述查詢配置信息;其中所述處理對象包括所述監(jiān)控數(shù)據(jù)庫的庫名稱、數(shù)據(jù)表的表名稱、所述執(zhí)行完成情況的字段名稱以及統(tǒng)計時間范圍。所述監(jiān)控數(shù)據(jù)庫為記錄所述etl任務(wù)的執(zhí)行完成情況的數(shù)據(jù)庫。etl任務(wù)的執(zhí)行完成情況存儲在監(jiān)控數(shù)據(jù)庫中的數(shù)據(jù)表中。
庫名稱、表名稱以及字段名稱也即相當(dāng)于執(zhí)行完成情況的存儲地址。
由于監(jiān)控數(shù)據(jù)庫可以存儲不同處理周期中etl任務(wù)的執(zhí)行完成情況,因此根據(jù)統(tǒng)計時間范圍即可以確定統(tǒng)計哪一個處理周期內(nèi)的etl任務(wù)的延遲信息。
該查詢配置信息也即包括查詢語句,通過該查詢語句即可以實現(xiàn)查詢以及統(tǒng)計操作。
例如如下所示,即為統(tǒng)計時間范圍為2016年6月15日,查詢?nèi)縠tl任務(wù)延遲數(shù)量的sql語句。
selectcount(*)from`t_dispatch_job`asjobjoint_dispatch_job_logsaslogonjob.id=log.job_id
wherelog.day_key=20160615
andlog.late_finish_timeisnotnull
and(from_unixtime(log.end_time/1000,'%y-%m-%d%h:%i:%s')>log.late_finish_timeorlog.end_timeisnull)
由于數(shù)據(jù)處理通常是周期性進(jìn)行,為了方便進(jìn)一步了解etl任務(wù)的延遲趨勢,往往需要對多個處理周期的etl任務(wù)的延遲信息進(jìn)行統(tǒng)計。因此,可選地,在某些實施例中,所述延遲信息統(tǒng)計步驟可以包括:
在任一處理周期中的達(dá)規(guī)定時間,基于所述查詢配置信息,查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息。
該規(guī)定時間可以是每一個處理周期中的一個固定時間,可以是指每一個處理周期的結(jié)束時間,從而在一個處理周期結(jié)束之后,即可以對該處理周期的etl任務(wù)進(jìn)行延遲統(tǒng)計。通過設(shè)置規(guī)定時間,每到達(dá)規(guī)定時間即可以自動執(zhí)行查詢操作。
可選地,可以采用jenkins技術(shù)定時執(zhí)行,實現(xiàn)到達(dá)規(guī)定時間,即執(zhí)行查詢操作等。jenkins是一種持續(xù)集成工具,可以用于監(jiān)控持續(xù)重復(fù)的工作。
在實際應(yīng)用中,由于一個處理周期中可能包括多個etl任務(wù),多個etl任務(wù)中可以包括核心任務(wù),核心任務(wù)也即是指數(shù)據(jù)處理時起到承上啟下的關(guān)鍵任務(wù)。
因此,所述etl任務(wù)的延遲信息可以包括全部任務(wù)延遲數(shù)量、核心任務(wù)延遲數(shù)量、全部任務(wù)延遲率以及核心任務(wù)延遲率中的一個或多個;
全部任務(wù)延遲數(shù)量是指一個處理周期內(nèi),全部etl任務(wù)中出現(xiàn)產(chǎn)出延遲的任務(wù)總量;
核心任務(wù)延遲數(shù)量是指一個處理周期內(nèi),全部etl任務(wù)中的核心任務(wù)中出現(xiàn)產(chǎn)出延遲的任務(wù)總量。
其中,全部任務(wù)延遲數(shù)量中包括該核心任務(wù)延遲數(shù)量。
全部任務(wù)延遲率是指全部任務(wù)延遲數(shù)量與全部任務(wù)總量的比值;
核心任務(wù)延遲率是指核心任務(wù)延遲數(shù)量與全部任務(wù)總量的比值。
其中,執(zhí)行完成情況至少可以包括實際產(chǎn)出時間以及預(yù)計產(chǎn)出時間,因此根據(jù)一個etl任務(wù)的實際產(chǎn)出時間以及預(yù)計產(chǎn)出時間,即可以判斷該etl任務(wù)是否產(chǎn)出延遲。
具體的可以是如果實際產(chǎn)出時間大于預(yù)計產(chǎn)出時間或者實際產(chǎn)出時間為空時,即可以確定etl任務(wù)產(chǎn)出延遲。
在查詢配置信息為查詢語句的情況下,如下例中所述,舉例說明了用于統(tǒng)計全部任務(wù)延遲數(shù)量、核心任務(wù)延遲數(shù)量、全部任務(wù)延遲率以及核心任務(wù)延遲率的查詢語句。
核心任務(wù)延遲數(shù)量:
selectcount(*)from`t_dispatch_job`asjobjoint_dispatch_job_logsaslogonjob.id=log.job_id
wherelog.day_key=20160615
andlog.late_finish_timeisnotnull
and(from_unixtime(log.end_time/1000,'%y-%m-%d%h:%i:%s')>log.late_finish_timeorlog.end_timeisnull)
andjob.idin(101,201,344,72,73,74,75,106,315,353,370,453,454,455,457,341,117,80,58,224,225,226,227,163,132,115,140,145,146,147,248,249,279,82,76,265,178,158,144,200,142,306)
全部任務(wù)延遲數(shù)量:
selectcount(*)from`t_dispatch_job`asjobjoint_dispatch_job_logsaslogonjob.id=log.job_id
wherelog.day_key=20160615
andlog.late_finish_timeisnotnull
and(from_unixtime(log.end_time/1000,'%y-%m-%d%h:%i:%s')>log.late_finish_timeorlog.end_timeisnull)
核心任務(wù)延遲率:
select(selectcount(*)from`t_dispatch_job`asjobjoint_dispatch_job_logsaslogonjob.id=log.job_id
wherelog.day_key=20160615
andlog.late_finish_timeisnotnull
and(from_unixtime(log.end_time/1000,'%y-%m-%d%h:%i:%s')>log.late_finish_timeorlog.end_timeisnull)
andjob.idin(101,201,344,72,73,74,75,106,315,353,370,453,454,455,457,341,117,80,58,224,225,226,227,163,132,115,140,145,146,147,248,249,279,82,76,265,178,158,144,200,142,306))
/(selectcount(*)fromt_dispatch_job_logs
wherelate_finish_timeisnotnull
andlog.day_key=20160615
andjob_idin(101,201,344,72,73,74,75,106,315,353,370,453,454,455,457,341,117,80,58,224,225,226,227,163,132,115,140,145,146,147,248,249,279,82,76,265,178,158,144,200,142,306))
全部任務(wù)延遲率:
select(selectcount(*)from`t_dispatch_job`asjobjoint_dispatch_job_logsaslogonjob.id=log.job_id
wherelog.day_key=20160615
andlog.late_finish_timeisnotnull
and(from_unixtime(log.end_time/1000,'%y-%m-%d%h:%i:%s')>log.late_finish_timeorlog.end_timeisnull))
/(selectcount(*)fromt_dispatch_job_logswherelate_finish_timeisnotnull
andlog.day_key=20160615)asdelay
上例中,log.late_finish_time即表示預(yù)計產(chǎn)出時間,log.end_time表示實際產(chǎn)出時間,log.day_key即為統(tǒng)計時間范圍等。
需要說明的是,上述僅是舉例說明查詢語句的可能實現(xiàn)形式,本領(lǐng)域技術(shù)人員可以理解的是,本發(fā)明并不僅限定于此。
圖2為本發(fā)明實施例提供的一種任務(wù)監(jiān)控方法又一個實施例的流程圖,該方法可以包括以下幾個步驟:
201:確定查詢語句模板;
202:將處理對象輸入所述查詢語句模板,獲得所述查詢配置信息。
203:基于所述查詢配置信息,查詢etl任務(wù)的執(zhí)行完成情況。
其中,執(zhí)行完成情況可以包括etl任務(wù)的實際產(chǎn)出時間以及預(yù)計產(chǎn)出時間。
204:比較所述實際產(chǎn)出時間以及所述預(yù)計產(chǎn)出時間。
205:根據(jù)比較結(jié)果,計算獲得所述etl任務(wù)的延遲信息。
其中,如果實際產(chǎn)出時間為空或者實際產(chǎn)出時間大于預(yù)計產(chǎn)出時間,即表明etl任務(wù)產(chǎn)出延遲。
etl任務(wù)的延遲信息可以包括延遲數(shù)量、延遲率等。
可選地,etl任務(wù)的延遲信息可以包括所述etl任務(wù)的延遲信息包括全部任務(wù)延遲數(shù)量、核心任務(wù)延遲數(shù)量、全部任務(wù)延遲率以及核心任務(wù)延遲率中的一個或多個。
206:結(jié)合對多個處理周期統(tǒng)計獲得的延遲信息,生成統(tǒng)計分布圖。
207:輸出所述統(tǒng)計分布圖。
本實施例中,為了使得用戶更加方便的獲知etl任務(wù)的延遲情況,了解延遲變化趨勢,可以結(jié)合對多個處理周期統(tǒng)計獲得延遲信息,繪制統(tǒng)計分布圖,通過統(tǒng)計分布圖可以直觀了解etl任務(wù)的延遲信息。
多個處理周期可以是指連續(xù)的多個處理周期。
例如處理周期為天時,多個處理周期可以是指連續(xù)的一周或連續(xù)的一個月等。
可選地,在某些實施例中,可以是通過界面展示系統(tǒng)結(jié)合多個處理周期對應(yīng)的延遲信息,繪制統(tǒng)計分布圖并進(jìn)行展示。
其中,該統(tǒng)計分布圖中可以以不同處理周期為橫軸,etl任務(wù)的延遲信息為縱軸進(jìn)行展示。
當(dāng)然,可選地,結(jié)合對多個處理周期統(tǒng)計獲得的延遲信息,生成統(tǒng)計分布圖可以包括:
根據(jù)對相鄰處理周期統(tǒng)計獲得的延遲信息,計算環(huán)比數(shù)據(jù);
結(jié)合多個相鄰處理周期對應(yīng)的環(huán)比數(shù)據(jù),生成統(tǒng)計分布圖。
也即可以通過統(tǒng)計分布圖展示環(huán)比數(shù)據(jù),可以更加直觀的了解延遲變化趨勢。
圖3為本發(fā)明實施例提供的一種任務(wù)監(jiān)控裝置一個實施例的結(jié)構(gòu)示意圖,該裝置可以包括:
信息確定模塊301,用于確定查詢配置信息;
信息統(tǒng)計模塊302,用于基于所述查詢配置信息,查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息。
信息輸出模塊303,用于輸出所述延遲信息。
通過本實施例的技術(shù)方案,實現(xiàn)了etl任務(wù)執(zhí)行完成的情況的自動獲取以及etl任務(wù)的延遲信息的自動統(tǒng)計,從而可以及時有效的獲得etl任務(wù)的延遲情況。提高了統(tǒng)計效率。
此外,在實際應(yīng)用中,etl任務(wù)的執(zhí)行完成情況可以存儲在監(jiān)控數(shù)據(jù)庫中。因此,在某些實施例中,所述信息統(tǒng)計模塊可以具體用于:
基于所述查詢配置信息,從監(jiān)控數(shù)據(jù)庫中查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息;
其中,所述執(zhí)行完成情況通過監(jiān)控所述etl任務(wù)的執(zhí)行過程獲得并寫入所述監(jiān)控數(shù)據(jù)庫中。
其中,etl任務(wù)的執(zhí)行完成情況存儲在監(jiān)控數(shù)據(jù)庫中時,從監(jiān)控數(shù)據(jù)庫中查詢需要利用查詢語句,例如sql語句。查詢配置信息也即可以包括查詢語句,因此,在某些實施例中,所述信息確定模塊可以具體用于:
確定查詢語句模板;
將處理對象輸入所述查詢語句模板,獲得所述查詢配置信息;其中所述處理對象包括所述監(jiān)控數(shù)據(jù)庫的庫名稱、數(shù)據(jù)表的表名稱、所述執(zhí)行完成情況的字段名稱以及統(tǒng)計時間范圍。
由于監(jiān)控數(shù)據(jù)庫可以存儲不同處理周期中etl任務(wù)的執(zhí)行完成情況,因此根據(jù)統(tǒng)計時間范圍即可以確定統(tǒng)計哪一個處理周期內(nèi)的etl任務(wù)的延遲信息。
該查詢配置信息也即為查詢語句,通過該查詢語句即可以實現(xiàn)查詢以及統(tǒng)計操作。
由于數(shù)據(jù)處理通常是周期性進(jìn)行,為了方便進(jìn)一步了解etl任務(wù)的延遲趨勢,往往需要對多個處理周期的etl任務(wù)的延遲信息進(jìn)行統(tǒng)計。因此,可選地,在某些實施例中,所述信息統(tǒng)計模塊可以具體用于:
到達(dá)規(guī)定時間時,基于所述查詢配置信息,查詢etl任務(wù)執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息。
該規(guī)定時間可以是每一個處理周期中的一個固定時間,可以是指每一個處理周期的結(jié)束時間,從而在一個處理周期結(jié)束之后,即可以對該處理周期的etl任務(wù)進(jìn)行延遲統(tǒng)計。當(dāng)然查詢配置信息中的統(tǒng)計時間范圍對應(yīng)任一個處理周期時,該規(guī)定時間可以是指該任一個處理周期的下一個處理周期中的任意時間。
通過設(shè)置規(guī)定時間,每到達(dá)規(guī)定時間即可以自動執(zhí)行查詢操作。
可選地,可以采用jenkins技術(shù)定時執(zhí)行。
在實際應(yīng)用中,由于一個處理周期中可能包括多個etl任務(wù),多個etl任務(wù)中可以包括核心任務(wù),核心任務(wù)也即是指數(shù)據(jù)處理時起到承上啟下的關(guān)鍵任務(wù)。
因此,所述etl任務(wù)的延遲信息可以包括全部任務(wù)延遲數(shù)量、核心任務(wù)延遲數(shù)量、全部任務(wù)延遲率以及核心任務(wù)延遲率中的一個或多個;
全部任務(wù)延遲數(shù)量是指一個處理周期內(nèi),全部etl任務(wù)中出現(xiàn)產(chǎn)出延遲的任務(wù)總量;
核心任務(wù)延遲數(shù)量是指一個處理周期內(nèi),全部etl任務(wù)中的核心任務(wù)中出現(xiàn)產(chǎn)出延遲的任務(wù)總量。
其中,全部任務(wù)延遲數(shù)量中包括該核心任務(wù)延遲數(shù)量。
全部任務(wù)延遲率是指全部任務(wù)延遲數(shù)量與全部任務(wù)總量的比值;
核心任務(wù)延遲率是指核心任務(wù)延遲數(shù)量與全部任務(wù)總量的比值。
其中,執(zhí)行完成情況至少可以包括實際產(chǎn)出時間以及預(yù)計產(chǎn)出時間,因此根據(jù)一個etl任務(wù)的實際產(chǎn)出時間以及預(yù)計產(chǎn)出時間,即可以判斷該etl任務(wù)是否產(chǎn)出延遲。因此,在某些實施例中,所述信息統(tǒng)計模塊可以包括:
查詢單元,用于基于所述查詢配置信息,查詢etl任務(wù)的實際產(chǎn)出時間以及預(yù)計產(chǎn)出時間;
比較單元,用于比較所述實際產(chǎn)出時間以及所述預(yù)計產(chǎn)出時間;
計算單元,用于根據(jù)比較結(jié)果,計算獲得所述etl任務(wù)的延遲信息。
此外,作為又一個實施例,如圖4中所示,與圖3所示實施例不同之處在于,所述信息輸出模塊303可以包括:
繪制單元401,用于結(jié)合對多個處理周期統(tǒng)計獲得的延遲信息,生成統(tǒng)計分布圖;
輸出單元402,用于輸出所述統(tǒng)計分布圖。
通過統(tǒng)計分布圖可以直觀了解etl任務(wù)的延遲信息,使得用戶更加方便的獲知etl任務(wù)的延遲情況,了解延遲變化趨勢。
其中,該統(tǒng)計分布圖中可以以不同處理周期為橫軸,etl任務(wù)的延遲信息為縱軸進(jìn)行展示。
當(dāng)然,可選地,在某些實施例中,所述繪制單元可以具體用于:
根據(jù)相鄰兩個處理周期統(tǒng)計獲得的延遲信息,計算環(huán)比數(shù)據(jù);
結(jié)合多個相鄰處理周期對應(yīng)的環(huán)比數(shù)據(jù),生成統(tǒng)計分布圖。
通過統(tǒng)計分布圖展示環(huán)比數(shù)據(jù),可以更加直觀的了解延遲變化趨勢。
在一個可能的設(shè)計中,上述實施例中所述的任務(wù)監(jiān)控裝置可以實現(xiàn)為一電子裝置,如圖5中所示,該電子裝置可以包括存儲器501、處理器502以及顯示器503;
所述存儲器501存儲一條或多條計算機指令,所述一條或多條計算機指令用于被所述處理器502調(diào)用并執(zhí)行;
所述處理器502用于:
確定查詢配置信息;
基于所述查詢配置信息,查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息;
觸發(fā)所述顯示器503輸出所述延遲信息。
可選地,所述處理器502還用于執(zhí)行前述各方法步驟中的全部或部分步驟。
可選地,該電子裝置可以為jenkins服務(wù)器,以實現(xiàn)到到達(dá)規(guī)定時間,即查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息的目的,實現(xiàn)定時查詢和統(tǒng)計。
可選地,顯示器可以為一界面展示設(shè)備,以用于展示所述延時信息。
存儲器可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(sram),電可擦除可編程只讀存儲器(eeprom),可擦除可編程只讀存儲器(eprom),可編程只讀存儲器(prom),只讀存儲器(rom),磁存儲器,快閃存儲器,磁盤或光盤。
通過本發(fā)明實施例提供的電子裝置實現(xiàn)了etl任務(wù)延遲信息的自動統(tǒng)計,使得可以及時有效的獲得etl任務(wù)的延遲情況。
本發(fā)明實施例還提供了一種計算機可讀存儲介質(zhì),存儲有計算機程序,所述計算機程序使計算機執(zhí)行時實現(xiàn)上述任一實施例所述的任務(wù)監(jiān)控方法。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
本發(fā)明公開了a1、一種任務(wù)監(jiān)控方法,包括:
確定查詢配置信息;
基于所述查詢配置信息,查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息;
輸出所述延遲信息。
a2、根據(jù)a1所述的方法,所述延遲信息統(tǒng)計步驟包括:
基于所述查詢配置信息,從監(jiān)控數(shù)據(jù)庫中查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息;
其中,所述執(zhí)行完成情況通過監(jiān)控所述etl任務(wù)的執(zhí)行過程獲得并寫入所述監(jiān)控數(shù)據(jù)庫中。
a3、根據(jù)a1所述的方法,所述延遲信息統(tǒng)計步驟包括:
在任一處理周期中的規(guī)定時間,基于所述查詢配置信息,查詢etl任務(wù)執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息。
a4、根據(jù)a1所述的方法,所述輸出所述延遲信息包括:
結(jié)合對多個處理周期統(tǒng)計獲得的延遲信息,生成統(tǒng)計分布圖;
輸出所述統(tǒng)計分布圖。
a5、根據(jù)a2所述的方法,所述查詢配置信息確定步驟包括:
確定查詢語句模板;
將處理對象輸入所述查詢語句模板,獲得所述查詢配置信息;其中所述處理對象包括所述監(jiān)控數(shù)據(jù)庫的庫名稱、數(shù)據(jù)表的表名稱、所述執(zhí)行完成情況的字段名稱以及統(tǒng)計時間范圍。
a6、根據(jù)a1~a5任一項所述的方法,所述etl任務(wù)的延遲信息包括全部任務(wù)延遲數(shù)量、核心任務(wù)延遲數(shù)量、全部任務(wù)延遲率以及核心任務(wù)延遲率中的一個或多個;
所述執(zhí)行完成情況至少包括實際產(chǎn)出時間以及預(yù)計產(chǎn)出時間;
所述延遲信息統(tǒng)計步驟包括:
基于所述查詢配置信息,查詢etl任務(wù)的實際產(chǎn)出時間以及預(yù)計產(chǎn)出時間;
比較所述實際產(chǎn)出時間以及所述預(yù)計產(chǎn)出時間;
根據(jù)比較結(jié)果,計算獲得所述etl任務(wù)的延遲信息。
a7、根據(jù)a4所述的方法,所述結(jié)合對多個處理周期統(tǒng)計獲得的延遲信息,生成統(tǒng)計分布圖包括:
根據(jù)對相鄰兩個處理周期統(tǒng)計獲得的延遲信息,計算環(huán)比數(shù)據(jù);
結(jié)合多個相鄰處理周期對應(yīng)的環(huán)比數(shù)據(jù),生成統(tǒng)計分布圖。
a8、一種任務(wù)監(jiān)控裝置,包括:
信息確定模塊,用于確定查詢配置信息;
信息統(tǒng)計模塊,用于基于所述查詢配置信息,查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息;
信息輸出模塊,用于輸出所述延遲信息。
a9、根據(jù)a8所述的裝置,所述信息統(tǒng)計模塊具體用于:
基于所述查詢配置信息,從監(jiān)控數(shù)據(jù)庫中查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息;
其中,所述執(zhí)行完成情況通過監(jiān)控所述etl任務(wù)的執(zhí)行過程獲得并寫入所述監(jiān)控數(shù)據(jù)庫中。
a10、根據(jù)a8所述的裝置,所述信息統(tǒng)計模塊具體用于:
在任一處理周期中的規(guī)定時間,基于所述查詢配置信息,查詢etl任務(wù)執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息。
a11、根據(jù)a8所述的裝置,所述信息輸出模塊包括:
繪制單元,用于結(jié)合對多個處理周期統(tǒng)計獲得的延遲信息,生成統(tǒng)計分布圖;
輸出單元,用于輸出所述統(tǒng)計分布圖。
a12、根據(jù)a9所述的裝置,所述信息確定模塊具體用于:
確定查詢語句模板;
將處理對象輸入所述查詢語句模板,獲得所述查詢配置信息;其中所述處理對象包括所述監(jiān)控數(shù)據(jù)庫的庫名稱、數(shù)據(jù)表的表名稱、所述執(zhí)行完成情況的字段名稱以及統(tǒng)計時間范圍。
a13、根據(jù)a8~a12任一項所述的裝置,所述etl任務(wù)的延遲信息包括全部任務(wù)延遲數(shù)量、核心任務(wù)延遲數(shù)量、全部任務(wù)延遲率以及核心任務(wù)延遲率中的一個或多個;
所述執(zhí)行完成情況至少包括實際產(chǎn)出時間以及預(yù)計產(chǎn)出時間;
所述信息統(tǒng)計模塊包括:
查詢單元,用于基于所述查詢配置信息,查詢etl任務(wù)的實際產(chǎn)出時間以及預(yù)計產(chǎn)出時間;
比較單元,用于比較所述實際產(chǎn)出時間以及所述預(yù)計產(chǎn)出時間;
計算單元,用于根據(jù)比較結(jié)果,計算獲得所述etl任務(wù)的延遲信息。
a14、根據(jù)a11所述的裝置,所述繪制單元具體用于:
根據(jù)對相鄰兩個處理周期統(tǒng)計獲得的延遲信息,計算環(huán)比數(shù)據(jù);
結(jié)合多個相鄰處理周期對應(yīng)的環(huán)比數(shù)據(jù),生成統(tǒng)計分布圖。
a15、一種電子裝置,包括存儲器、處理器以及顯示器;
所述存儲器存儲一條或多條計算機指令,所述一條或多條計算機指令用于被所述處理器調(diào)用并執(zhí)行;
所述處理器用于:
確定查詢配置信息;
基于所述查詢配置信息,查詢etl任務(wù)的執(zhí)行完成情況,并根據(jù)所述執(zhí)行完成情況統(tǒng)計所述etl任務(wù)的延遲信息;
觸發(fā)所述顯示器輸出所述延遲信息。
a16、一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有計算機程序;
所述計算機程序使計算機執(zhí)行時實現(xiàn)如a1~a7任一項所述的任務(wù)監(jiān)控方法。