本發(fā)明涉及軟件處理領(lǐng)域,具體涉及一種任務(wù)調(diào)度運(yùn)行監(jiān)控方法和裝置。
背景技術(shù):
在軟件系統(tǒng)中,經(jīng)常會(huì)制定一些“計(jì)劃任務(wù)”,即在某個(gè)時(shí)間點(diǎn)做某件事情,核心是以時(shí)間為關(guān)注點(diǎn),即在一個(gè)特定的時(shí)間點(diǎn),系統(tǒng)執(zhí)行指定的一個(gè)操作。任務(wù)調(diào)度未按時(shí)執(zhí)行或者停止對(duì)系統(tǒng)的業(yè)務(wù)正常的業(yè)務(wù)流程往往是致命的。通常任務(wù)調(diào)度監(jiān)控都是集中式的,集中監(jiān)控服務(wù)可以是自行開發(fā)或者購(gòu)買市面成熟產(chǎn)品,不管是那種方式應(yīng)用成本都比較高。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種任務(wù)調(diào)度運(yùn)行監(jiān)控方法,通過(guò)任務(wù)調(diào)度結(jié)對(duì)監(jiān)控,實(shí)現(xiàn)低成本、快捷有效的監(jiān)控。
為解決上述問(wèn)題,本發(fā)明所采用的技術(shù)方案如下:
方案一:
一種任務(wù)調(diào)度運(yùn)行監(jiān)控方法,應(yīng)用于任務(wù)調(diào)度鏈中,所述任務(wù)調(diào)度鏈?zhǔn)孜蚕嘟樱蝿?wù)調(diào)度鏈中的每個(gè)任務(wù)調(diào)度配置有相同的第一預(yù)設(shè)時(shí)間和相同的第二預(yù)設(shè)時(shí)間,包括以下步驟:
s1、當(dāng)間隔第一預(yù)設(shè)時(shí)間后,當(dāng)前任務(wù)調(diào)度執(zhí)行步驟s2;當(dāng)間隔第二預(yù)設(shè)時(shí)間后,當(dāng)前任務(wù)調(diào)度執(zhí)行步驟s3;
s2、修改后一任務(wù)調(diào)度對(duì)應(yīng)的標(biāo)記時(shí)間為當(dāng)前系統(tǒng)時(shí)間;
s3、讀取前一任務(wù)調(diào)度對(duì)應(yīng)的標(biāo)記時(shí)間,判斷該前一任務(wù)調(diào)度中的標(biāo)記時(shí)間與當(dāng)前系統(tǒng)時(shí)間之差是否大于預(yù)設(shè)閾值,若是,則執(zhí)行步驟s4,若否,則返回步驟s1;
s4、向監(jiān)控通知模塊發(fā)送異常告警信息。
優(yōu)選的,所述任務(wù)調(diào)度鏈中的每個(gè)任務(wù)調(diào)度關(guān)聯(lián)有對(duì)應(yīng)的配置項(xiàng),所述標(biāo)記時(shí)間配置于配置項(xiàng)中。
優(yōu)選的,所述第一預(yù)設(shè)時(shí)間為s秒,所述第二預(yù)設(shè)時(shí)間為2s+1秒,所述預(yù)設(shè)閾值為2s+1,其中,s為正整數(shù)。
優(yōu)選的,所述異常告警信息為表示當(dāng)前任務(wù)調(diào)度的前兩個(gè)任務(wù)調(diào)度運(yùn)行異常。
方案二:
一種任務(wù)調(diào)度運(yùn)行監(jiān)控裝置,應(yīng)用于任務(wù)調(diào)度鏈中,所述任務(wù)調(diào)度鏈?zhǔn)孜蚕嘟?,任?wù)調(diào)度鏈中的每個(gè)任務(wù)調(diào)度配置有相同的第一預(yù)設(shè)時(shí)間和相同的第二預(yù)設(shè)時(shí)間,包括以下模塊:
觸發(fā)模塊:用于當(dāng)間隔第一預(yù)設(shè)時(shí)間后,當(dāng)前任務(wù)調(diào)度執(zhí)行修改模塊;當(dāng)間隔第二預(yù)設(shè)時(shí)間后,當(dāng)前任務(wù)調(diào)度執(zhí)行讀取模塊;
修改模塊:用于修改后一任務(wù)調(diào)度對(duì)應(yīng)的標(biāo)記時(shí)間為當(dāng)前系統(tǒng)時(shí)間;
讀取模塊:用于讀取前一任務(wù)調(diào)度對(duì)應(yīng)的標(biāo)記時(shí)間,判斷該前一任務(wù)調(diào)度中的標(biāo)記時(shí)間與當(dāng)前系統(tǒng)時(shí)間之差是否大于預(yù)設(shè)閾值,若是,則執(zhí)行發(fā)送模塊,若否,則返回觸發(fā)模塊;
發(fā)送模塊:用于向監(jiān)控通知模塊發(fā)送異常告警信息。
優(yōu)選的,所述任務(wù)調(diào)度鏈中的每個(gè)任務(wù)調(diào)度關(guān)聯(lián)有對(duì)應(yīng)的配置項(xiàng),所述標(biāo)記時(shí)間配置于配置項(xiàng)中。
優(yōu)選的,所述第一預(yù)設(shè)時(shí)間為s秒,所述第二預(yù)設(shè)時(shí)間為2s+1秒,所述預(yù)設(shè)閾值為2s+1,其中,s為正整數(shù)。
優(yōu)選的,所述異常告警信息為表示當(dāng)前任務(wù)調(diào)度的前兩個(gè)任務(wù)調(diào)度運(yùn)行異常。
相比現(xiàn)有技術(shù),本發(fā)明的有益效果在于:
可以確保所有的任務(wù)調(diào)度關(guān)聯(lián)的配置項(xiàng)都會(huì)被不同的任務(wù)調(diào)度標(biāo)記和讀取,形成任務(wù)調(diào)度結(jié)對(duì)監(jiān)控,方便有效的監(jiān)控多節(jié)點(diǎn)多機(jī)器的任務(wù)調(diào)度是否正常執(zhí)行,通過(guò)任務(wù)調(diào)度結(jié)對(duì)監(jiān)控,實(shí)現(xiàn)低成本、快捷有效的監(jiān)控。
附圖說(shuō)明
圖1為本發(fā)明任務(wù)調(diào)度運(yùn)行監(jiān)控方法的流程圖;
圖2為本發(fā)明任務(wù)調(diào)度運(yùn)行監(jiān)控裝置的結(jié)構(gòu)圖。
具體實(shí)施方式
下面,結(jié)合附圖以及具體實(shí)施方式,對(duì)本發(fā)明做進(jìn)一步描述:
參考圖1,本發(fā)明公開了一種任務(wù)調(diào)度運(yùn)行監(jiān)控方法,應(yīng)用于任務(wù)調(diào)度鏈中,任務(wù)調(diào)度鏈?zhǔn)孜蚕嘟?,即形成一個(gè)環(huán)狀,最后一個(gè)任務(wù)調(diào)度為首個(gè)任務(wù)調(diào)度的前一個(gè)任務(wù)調(diào)度。任務(wù)調(diào)度鏈中的每個(gè)任務(wù)調(diào)度配置有相同的第一預(yù)設(shè)時(shí)間和相同的第二預(yù)設(shè)時(shí)間,包括以下步驟:
s1、當(dāng)間隔第一預(yù)設(shè)時(shí)間后,當(dāng)前任務(wù)調(diào)度執(zhí)行步驟s2;當(dāng)間隔第二預(yù)設(shè)時(shí)間后,當(dāng)前任務(wù)調(diào)度執(zhí)行步驟s3;
s2、修改后一任務(wù)調(diào)度對(duì)應(yīng)的標(biāo)記時(shí)間為當(dāng)前系統(tǒng)時(shí)間;
s3、讀取前一任務(wù)調(diào)度對(duì)應(yīng)的標(biāo)記時(shí)間,判斷該前一任務(wù)調(diào)度中的標(biāo)記時(shí)間與當(dāng)前系統(tǒng)時(shí)間之差是否大于預(yù)設(shè)閾值,若是,則執(zhí)行步驟s4,若否,則返回步驟s1;
s4、向監(jiān)控通知模塊發(fā)送異常告警信息。
其中,在本實(shí)施例中,為每一個(gè)任務(wù)調(diào)度關(guān)聯(lián)一配置項(xiàng),配置項(xiàng)可以是簡(jiǎn)單的一條數(shù)據(jù)庫(kù)記錄,其中有標(biāo)記時(shí)間列,用來(lái)記錄最新修改的標(biāo)記時(shí)間。還為每一任務(wù)調(diào)度新增兩個(gè)作業(yè)。第一作業(yè)間隔第一預(yù)設(shè)時(shí)間執(zhí)行一次,第一預(yù)設(shè)時(shí)間為s秒,第二作業(yè)間隔第二預(yù)設(shè)時(shí)間執(zhí)行一次,第二預(yù)設(shè)時(shí)間為2s+1秒,s為正整數(shù)。
當(dāng)間隔第一預(yù)設(shè)時(shí)間后,當(dāng)前任務(wù)調(diào)度執(zhí)行第一作業(yè);當(dāng)間隔第二預(yù)設(shè)時(shí)間后,當(dāng)前任務(wù)調(diào)度執(zhí)行第二作業(yè)。第一作業(yè)用于修改后一任務(wù)調(diào)度配置項(xiàng)的標(biāo)記時(shí)間為當(dāng)前系統(tǒng)時(shí)間;第二作業(yè)用于讀取前一任務(wù)調(diào)度配置項(xiàng)的標(biāo)記時(shí)間,并判斷該前一任務(wù)調(diào)度中的標(biāo)記時(shí)間與當(dāng)前系統(tǒng)時(shí)間之差是否大于預(yù)設(shè)閾值,預(yù)設(shè)閾值為2s+1,s為正整數(shù),若大于預(yù)設(shè)閾值,則表示當(dāng)前任務(wù)調(diào)度的前兩個(gè)調(diào)度任務(wù)(負(fù)責(zé)修改當(dāng)前任務(wù)調(diào)度的前一調(diào)度任務(wù)的標(biāo)記時(shí)間)至少在一個(gè)第一作業(yè)周期內(nèi)沒有更新當(dāng)前任務(wù)調(diào)度的前一調(diào)度任務(wù)配置項(xiàng)的標(biāo)記時(shí)間,出現(xiàn)運(yùn)行異常情況,因此向監(jiān)控通知模塊發(fā)送異常告警信息,監(jiān)控通知模塊則發(fā)送監(jiān)控通知(短信或者郵件)到相關(guān)運(yùn)維人員。若小于預(yù)設(shè)閾值,則繼續(xù)監(jiān)控。
假設(shè)有四個(gè)調(diào)度任務(wù),分別記為t1、t2、t3、t4,記當(dāng)前調(diào)度任務(wù)為t3,當(dāng)間隔第一預(yù)設(shè)時(shí)間后,t3執(zhí)行第一作業(yè),修改t4配置項(xiàng)的標(biāo)記時(shí)間為當(dāng)前系統(tǒng)時(shí)間。當(dāng)間隔第二預(yù)設(shè)時(shí)間后,t3執(zhí)行第二作業(yè),讀取t2配置項(xiàng)的標(biāo)記時(shí)間,并判斷t2的標(biāo)記時(shí)間與當(dāng)前系統(tǒng)時(shí)間之差是否大于預(yù)設(shè)閾值,若是,則表示t1至少在一個(gè)第一作業(yè)周期內(nèi)沒有更新t2配置項(xiàng)的標(biāo)記時(shí)間,出現(xiàn)運(yùn)行異常情況,因此向監(jiān)控通知模塊發(fā)送異常告警信息。
通過(guò)本發(fā)明的方法可以確保所有的任務(wù)調(diào)度關(guān)聯(lián)的配置項(xiàng)都會(huì)被不同的任務(wù)調(diào)度標(biāo)記和讀取,形成任務(wù)調(diào)度結(jié)對(duì)監(jiān)控,方便有效的監(jiān)控多節(jié)點(diǎn)多機(jī)器的任務(wù)調(diào)度是否正常執(zhí)行,通過(guò)任務(wù)調(diào)度結(jié)對(duì)監(jiān)控,實(shí)現(xiàn)低成本、快捷有效的監(jiān)控。
參考圖2,本發(fā)明還公開了一種任務(wù)調(diào)度運(yùn)行監(jiān)控裝置,應(yīng)用于任務(wù)調(diào)度鏈中,所述任務(wù)調(diào)度鏈?zhǔn)孜蚕嘟?,任?wù)調(diào)度鏈中的每個(gè)任務(wù)調(diào)度配置有相同的第一預(yù)設(shè)時(shí)間和相同的第二預(yù)設(shè)時(shí)間,包括以下模塊:
觸發(fā)模塊:用于當(dāng)間隔第一預(yù)設(shè)時(shí)間后,當(dāng)前任務(wù)調(diào)度執(zhí)行修改模塊;當(dāng)間隔第二預(yù)設(shè)時(shí)間后,當(dāng)前任務(wù)調(diào)度執(zhí)行讀取模塊;
修改模塊:用于修改后一任務(wù)調(diào)度對(duì)應(yīng)的標(biāo)記時(shí)間為當(dāng)前系統(tǒng)時(shí)間;
讀取模塊:用于讀取前一任務(wù)調(diào)度對(duì)應(yīng)的標(biāo)記時(shí)間,判斷該前一任務(wù)調(diào)度中的標(biāo)記時(shí)間與當(dāng)前系統(tǒng)時(shí)間之差是否大于預(yù)設(shè)閾值,若是,則執(zhí)行發(fā)送模塊,若否,則返回觸發(fā)模塊;
發(fā)送模塊:用于向監(jiān)控通知模塊發(fā)送異常告警信息。
優(yōu)選的,所述任務(wù)調(diào)度鏈中的每個(gè)任務(wù)調(diào)度關(guān)聯(lián)有對(duì)應(yīng)的配置項(xiàng),所述標(biāo)記時(shí)間配置于配置項(xiàng)中。
優(yōu)選的,所述第一預(yù)設(shè)時(shí)間為s秒,所述第二預(yù)設(shè)時(shí)間為2s+1秒,所述預(yù)設(shè)閾值為2s+1,其中,s為正整數(shù)。
優(yōu)選的,所述異常告警信息為表示當(dāng)前任務(wù)調(diào)度的前兩個(gè)任務(wù)調(diào)度運(yùn)行異常。
對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō),可根據(jù)以上描述的技術(shù)方案以及構(gòu)思,做出其它各種相應(yīng)的改變以及形變,而所有的這些改變以及形變都應(yīng)該屬于本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。