一種任務(wù)運行狀態(tài)的監(jiān)控方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種任務(wù)運行狀態(tài)的監(jiān)控方法和系統(tǒng)。該方法包括:展示指定頁面,供用戶通過該指定頁面創(chuàng)建指定任務(wù);將指定任務(wù)提交到服務(wù)器,由服務(wù)器運行指定任務(wù);每隔預(yù)設(shè)時間間隔,從服務(wù)器獲取指定任務(wù)的運行狀態(tài)信息;在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息。與現(xiàn)有技術(shù)中等待指定任務(wù)在服務(wù)器運行結(jié)束后再將運行結(jié)果反饋至前端進行展示的方式不同,本方案在指定任務(wù)運行的過程中,前端周期性地從服務(wù)器獲取指定任務(wù)當(dāng)前的運行狀態(tài)信息,并將指定任務(wù)當(dāng)前的運行狀態(tài)信息顯示在前端指定頁面的指定區(qū)域內(nèi),形成了前端指定頁面的指定區(qū)域內(nèi)顯示的信息動態(tài)更新的效果,使得用戶在指定任務(wù)運行過程中便可以動態(tài)地了解到各階段的運行狀態(tài)。
【專利說明】
一種任務(wù)運行狀態(tài)的監(jiān)控方法和系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體涉及一種任務(wù)運行狀態(tài)的監(jiān)控方法和系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,互聯(lián)網(wǎng)大數(shù)據(jù)的趨勢日益顯著,每一條互聯(lián)網(wǎng)的業(yè)務(wù)線都在不斷地產(chǎn)生新的數(shù)據(jù),對產(chǎn)生的數(shù)據(jù)進行進一步的處理以對互聯(lián)網(wǎng)業(yè)務(wù)的運行進行反饋是相當(dāng)重要的工作之一,目前,對各業(yè)務(wù)線的數(shù)據(jù)進行處理的過程可以包裝為指定的計算任務(wù),將指定的計算任務(wù)提交到服務(wù)器中運行的過程即是執(zhí)行相應(yīng)的數(shù)據(jù)處理的過程?,F(xiàn)有技術(shù)中,一個指定任務(wù)在服務(wù)器端運行的過程中,與指定任務(wù)關(guān)聯(lián)的用戶無法獲知該指定任務(wù)的實時運行狀態(tài),必須要等到指定任務(wù)運行結(jié)束,才可以獲知運行結(jié)果反饋,在這種情況下,用戶無法及時獲知指定任務(wù)在運行過程中的情況,無法及時監(jiān)控到可能或已經(jīng)發(fā)生的異常狀態(tài),不能及時有效地實施補救措施,直至任務(wù)運行失敗時再做補救已為時太晚。
[0003]因此,如何對任務(wù)運行狀態(tài)進行監(jiān)控,是亟需解決的問題。
【發(fā)明內(nèi)容】
[0004]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種任務(wù)運行狀態(tài)的監(jiān)控方法和系統(tǒng)。
[0005]依據(jù)本發(fā)明的一個方面,提供了一種任務(wù)運行狀態(tài)的監(jiān)控方法,該方法包括:
[0006]展示指定頁面,供用戶通過該指定頁面創(chuàng)建指定任務(wù);
[0007]將指定任務(wù)提交到服務(wù)器,由服務(wù)器運行所述指定任務(wù);
[0008]每隔預(yù)設(shè)時間間隔,從服務(wù)器獲取所述指定任務(wù)的運行狀態(tài)信息;
[0009]在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息。
[0010]可選地,所述從服務(wù)器獲取所述指定任務(wù)的運行狀態(tài)信息包括:
[0011]利用AJAX機制向服務(wù)器發(fā)送任務(wù)狀態(tài)請求消息,接收服務(wù)器返回的所述指定任務(wù)的運行狀態(tài)信息。
[0012]可選地,該方法進一步包括:
[0013]在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示任務(wù)運行過程出現(xiàn)異常的信息;是則,向用戶發(fā)送報警信息。
[0014]可選地,該方法進一步包括:
[0015]在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示網(wǎng)址信息的字符串;
[0016]是則,將該指示網(wǎng)址信息的字符串轉(zhuǎn)換為超鏈接;
[0017]在所述在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息時,一并對所述超鏈接進行展示;
[0018]響應(yīng)于用戶點擊所述超鏈接的操作,跳轉(zhuǎn)到所述超鏈接對應(yīng)的頁面。
[0019]可選地,所述從服務(wù)器獲取所述指定任務(wù)的運行狀態(tài)信息包括:
[0020]從服務(wù)器獲取從所述指定任務(wù)開始運行到當(dāng)前已產(chǎn)生的所述指定任務(wù)的運行狀態(tài)?目息O
[0021]可選地,所述在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息包括:
[0022]將本次獲取到的運行狀態(tài)信息代替前一次獲取到的運行狀態(tài)信息顯示在指定頁面的指定區(qū)域;
[0023]或者,
[0024]將本次獲取到的運行狀態(tài)信息與前一次獲取到的運行狀態(tài)信息進行比較,將變化的部分顯示在指定頁面的指定區(qū)域。
[0025]可選地,所述從服務(wù)器獲取所述指定任務(wù)的運行狀態(tài)信息包括:
[0026]從服務(wù)器獲取從前一次獲取所述指定任務(wù)的運行狀態(tài)信息的時間到當(dāng)前產(chǎn)生的所述指定任務(wù)的運行狀態(tài)信息。
[0027]可選地,所述在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息包括:
[0028]將本次獲取到的運行狀態(tài)信息代替前一次獲取到的運行狀態(tài)信息顯示在指定頁面的指定區(qū)域;
[0029]或者,
[0030]將本次獲取到的運行狀態(tài)信息與之前已獲取到的運行狀態(tài)信息共同顯示在指定頁面的指定區(qū)域。
[0031 ]可選地,服務(wù)器接收前端提交的指定任務(wù),運行所述指定任務(wù),將所述指定任務(wù)在運行過程中產(chǎn)生的運行狀態(tài)信息保存到指定數(shù)據(jù)庫中;
[0032]服務(wù)器響應(yīng)于前端周期性發(fā)送的任務(wù)狀態(tài)請求消息,將每次請求時間對應(yīng)的指定任務(wù)的運行狀態(tài)信息返回至前端,供前端在指定頁面的指定區(qū)域進行動態(tài)顯示。
[0033]可選地,所述將每次請求時間對應(yīng)的指定任務(wù)的運行狀態(tài)信息返回至前端包括:
[0034]將指定數(shù)據(jù)庫中保存的所述指定任務(wù)從開始運行到本次請求時間已產(chǎn)生的運行狀態(tài)信息返回至前端;
[0035]或者,
[0036]將指定數(shù)據(jù)庫中保存的所述指定任務(wù)從前一次請求時間到本次請求時間產(chǎn)生的運行狀態(tài)信息返回至前端。
[0037]可選地,所述運行所述指定任務(wù)包括:
[0038]讀取該指定任務(wù)的配置信息;
[0039]根據(jù)所述配置信息中的數(shù)據(jù)源信息,從相應(yīng)的數(shù)據(jù)源獲取待處理數(shù)據(jù);
[0040]根據(jù)所述配置信息中的計算規(guī)則,對待處理數(shù)據(jù)進行計算;
[0041]根據(jù)所述配置信息中的存儲規(guī)則,對待處理數(shù)據(jù)的計算結(jié)果進行保存。
[0042]可選地,所述指定任務(wù)的配置信息是用戶通過指定頁面輸入設(shè)置的。
[0043]依據(jù)本發(fā)明的另一個方面,提供了一種任務(wù)運行狀態(tài)的監(jiān)控系統(tǒng),該系統(tǒng)包括:任務(wù)運行狀態(tài)的監(jiān)控前端和服務(wù)器;
[0044]任務(wù)運行狀態(tài)的前端包括:
[0045]前端展示單元,適于展示指定頁面,供用戶通過該指定頁面創(chuàng)建指定任務(wù);
[0046]任務(wù)提交單元,適于將指定任務(wù)提交到服務(wù)器,由服務(wù)器運行所述指定任務(wù);
[0047]狀態(tài)監(jiān)控單元,適于每隔預(yù)設(shè)時間間隔,從服務(wù)器獲取所述指定任務(wù)的運行狀態(tài)信息;在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息。
[0048]可選地,所述狀態(tài)監(jiān)控單元,適于利用AJAX機制向服務(wù)器發(fā)送任務(wù)狀態(tài)請求消息,接收服務(wù)器返回的所述指定任務(wù)的運行狀態(tài)信息。
[0049]可選地,所述狀態(tài)監(jiān)控單元,進一步適于在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示任務(wù)運行過程出現(xiàn)異常的信息;是則,向用戶發(fā)送報警信息。
[0050]可選地,所述狀態(tài)監(jiān)控單元,進一步適于在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示網(wǎng)址信息的字符串;是則,將該指示網(wǎng)址信息的字符串轉(zhuǎn)換為超鏈接;在所述在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息時,一并對所述超鏈接進行展示;響應(yīng)于用戶點擊所述超鏈接的操作,跳轉(zhuǎn)到所述超鏈接對應(yīng)的頁面。
[0051]可選地,所述狀態(tài)監(jiān)控單元,適于從服務(wù)器獲取從所述指定任務(wù)開始運行到當(dāng)前已產(chǎn)生的所述指定任務(wù)的運行狀態(tài)信息。
[0052]可選地,所述狀態(tài)監(jiān)控單元,適于將本次獲取到的運行狀態(tài)信息代替前一次獲取到的運行狀態(tài)信息顯示在指定頁面的指定區(qū)域;或者,適于將本次獲取到的運行狀態(tài)信息與前一次獲取到的運行狀態(tài)信息進行比較,將變化的部分顯示在指定頁面的指定區(qū)域。
[0053]可選地,所述狀態(tài)監(jiān)控單元,適于從服務(wù)器獲取從前一次獲取所述指定任務(wù)的運行狀態(tài)信息的時間到當(dāng)前產(chǎn)生的所述指定任務(wù)的運行狀態(tài)信息。
[0054]可選地,所述狀態(tài)監(jiān)控單元,適于將本次獲取到的運行狀態(tài)信息代替前一次獲取到的運行狀態(tài)信息顯示在指定頁面的指定區(qū)域;或者,適于將本次獲取到的運行狀態(tài)信息與之前已獲取到的運行狀態(tài)信息共同顯示在指定頁面的指定區(qū)域。
[0055]可選地,服務(wù)器,適于接收前端提交的指定任務(wù),運行所述指定任務(wù),將所述指定任務(wù)在運行過程中產(chǎn)生的運行狀態(tài)信息保存到指定數(shù)據(jù)庫中;響應(yīng)于前端周期性發(fā)送的任務(wù)狀態(tài)請求消息,將每次請求時間對應(yīng)的指定任務(wù)的運行狀態(tài)信息返回至前端,供前端在指定頁面的指定區(qū)域進行動態(tài)顯示。
[0056]可選地,服務(wù)器,適于將指定數(shù)據(jù)庫中保存的所述指定任務(wù)從開始運行到本次請求時間已產(chǎn)生的運行狀態(tài)信息返回至前端;或者,適于將指定數(shù)據(jù)庫中保存的所述指定任務(wù)從前一次請求時間到本次請求時間產(chǎn)生的運行狀態(tài)信息返回至前端。
[0057]可選地,服務(wù)器,適于讀取該指定任務(wù)的配置信息;根據(jù)所述配置信息中的數(shù)據(jù)源信息,從相應(yīng)的數(shù)據(jù)源獲取待處理數(shù)據(jù);根據(jù)所述配置信息中的計算規(guī)則,對待處理數(shù)據(jù)進行計算;根據(jù)所述配置信息中的存儲規(guī)則,對待處理數(shù)據(jù)的計算結(jié)果進行保存。
[0058]可選地,所述指定任務(wù)的配置信息是用戶通過指定頁面輸入設(shè)置的。
[0059]由上述可知,本發(fā)明提供的技術(shù)方案通過在前端展示的指定頁面獲取用戶創(chuàng)建的指定任務(wù),將該指定任務(wù)提交到服務(wù)器中運行,與現(xiàn)有技術(shù)中等待指定任務(wù)在服務(wù)器運行結(jié)束后再將運行結(jié)果反饋至前端進行展示的方式不同,本方案在指定任務(wù)運行的過程中,前端周期性地從服務(wù)器獲取指定任務(wù)當(dāng)前的運行狀態(tài)信息,并將指定任務(wù)當(dāng)前的運行狀態(tài)信息顯示在前端指定頁面的指定區(qū)域內(nèi),形成了前端指定頁面的指定區(qū)域內(nèi)顯示的信息動態(tài)更新的效果,使得用戶在指定任務(wù)運行過程中便可以動態(tài)地了解到各階段的運行狀態(tài),無需等到任務(wù)運行結(jié)束,能夠及時發(fā)現(xiàn)任務(wù)運行過程中出現(xiàn)的問題,符合對于任務(wù)運行狀態(tài)的監(jiān)控需求。
[0060]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【附圖說明】
[0061]通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0062]圖1示出了根據(jù)本發(fā)明一個實施例的一種任務(wù)運行狀態(tài)的監(jiān)控方法的流程圖;
[0063]圖2示出了根據(jù)本發(fā)明一個實施例的一種任務(wù)運行狀態(tài)的監(jiān)控系統(tǒng)的示意圖。
【具體實施方式】
[0064]下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。
[0065]圖1示出了根據(jù)本發(fā)明一個實施例的一種任務(wù)運行狀態(tài)的監(jiān)控方法的流程圖。如圖1所示,該方法包括:
[0066]步驟S110,展示指定頁面,供用戶通過該指定頁面創(chuàng)建指定任務(wù)。
[0067]步驟S120,將指定任務(wù)提交到服務(wù)器,由服務(wù)器運行指定任務(wù)。
[0068]步驟S130,每隔預(yù)設(shè)時間間隔,從服務(wù)器獲取指定任務(wù)的運行狀態(tài)信息。
[0069]步驟S140,在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息。
[0070]可見,圖1所示的方法通過在前端展示的指定頁面獲取用戶創(chuàng)建的指定任務(wù),將該指定任務(wù)提交到服務(wù)器中運行,與現(xiàn)有技術(shù)中等待指定任務(wù)在服務(wù)器運行結(jié)束后再將運行結(jié)果反饋至前端進行展示的方式不同,本方案在指定任務(wù)運行的過程中,前端周期性地從服務(wù)器獲取指定任務(wù)當(dāng)前的運行狀態(tài)信息,并將指定任務(wù)當(dāng)前的運行狀態(tài)信息顯示在前端指定頁面的指定區(qū)域內(nèi),形成了前端指定頁面的指定區(qū)域內(nèi)顯示的信息動態(tài)更新的效果,使得用戶在指定任務(wù)運行過程中便可以動態(tài)地了解到各階段的運行狀態(tài),無需等到任務(wù)運行結(jié)束,能夠及時發(fā)現(xiàn)任務(wù)運行過程中出現(xiàn)的問題,符合對于任務(wù)運行狀態(tài)的監(jiān)控需求。
[0071]在本發(fā)明的一個實施例中,所述服務(wù)器為實時計算平臺的服務(wù)器,圖1所示的方法描述了一個實時計算平臺的數(shù)據(jù)處理流程,實時計算平臺在前端展示指定頁面,供用戶通過該指定頁面創(chuàng)建指定任務(wù),所創(chuàng)建的該指定任務(wù)中包括該指定任務(wù)的配置信息,該配置信息是由用戶通過指定頁面輸入設(shè)置的,如指定頁面以網(wǎng)頁頁面的形式向用戶展示多個輸入框,用戶通過在輸入框中進行輸入設(shè)置來完成配置信息的配置過程;前端將創(chuàng)建的指定任務(wù)提交到實時計算平臺,實時計算平臺接收指定任務(wù),讀取該指定任務(wù)的配置信息,根據(jù)該指定任務(wù)的配置信息展開相應(yīng)的數(shù)據(jù)處理過程,該實時計算平臺為不同的數(shù)據(jù)處理需求開設(shè)了統(tǒng)一的接口,用戶無需為數(shù)據(jù)處理過程編寫完整的程序代碼,只需要將對應(yīng)于數(shù)據(jù)處理需求的配置信息輸入到前端創(chuàng)建計算任務(wù)即可,便于實施,十分省時省力,實時計算平臺的整合性好、實時性高、效率高、與用戶交互友好,且可以同時運行多個計算任務(wù),符合當(dāng)前的大數(shù)據(jù)發(fā)展趨勢。
[0072]其中,實時計算平臺接收指定任務(wù)并根據(jù)指定任務(wù)的配置信息進行數(shù)據(jù)處理的過程即是實時計算平臺運行指定任務(wù)的過程,具體地,實時計算平臺運行指定任務(wù)的過程包括:根據(jù)指定任務(wù)的配置信息中的數(shù)據(jù)源信息,從相應(yīng)的數(shù)據(jù)源接收待處理數(shù)據(jù),根據(jù)指定任務(wù)的配置信息中的數(shù)據(jù)處理規(guī)則,對接收到的待處理數(shù)據(jù)進行相應(yīng)的處理,根據(jù)指定任務(wù)的配置信息中的存儲規(guī)則,將處理結(jié)果存儲到相應(yīng)的存儲介質(zhì)中,在整個過程中,前端要獲取的是各個階段的運行狀態(tài)信息,例如,當(dāng)實時計算平臺接收到指定任務(wù)并讀取指定任務(wù)的配置信息時,輸出的指定任務(wù)的運行狀態(tài)信息為指示指定任務(wù)正在初始化的信息,當(dāng)實時計算平臺從相應(yīng)的數(shù)據(jù)源讀取待處理數(shù)據(jù)時,輸出的指定任務(wù)的運行狀態(tài)信息為指示從數(shù)據(jù)源接收待處理數(shù)據(jù)的信息,等,也就是說,前端要獲取的運行狀態(tài)信息不是指運行指定任務(wù)過程中產(chǎn)生的結(jié)果數(shù)據(jù),而是指表征各階段的狀態(tài)的信息,是實時計算平臺在運行指定任務(wù)過程中輸出的運行日志;一般情況下,由于實時計算平臺在運行指定任務(wù)過程中產(chǎn)生的結(jié)果數(shù)據(jù)的數(shù)據(jù)量較大,需要放入Redis數(shù)據(jù)庫中進行大數(shù)據(jù)存儲,而實時計算平臺在運行指定任務(wù)過程中輸出的運行狀態(tài)信息數(shù)據(jù)量較小,通常將輸出的運行狀態(tài)信息放入Mysql數(shù)據(jù)庫中,且在對運行狀態(tài)信息進行存儲時,還可以為每條運行狀態(tài)信息打上標(biāo)識,如在最新放入的一條運行狀態(tài)信息上打上“update”標(biāo)識等。
[0073]則實時計算平臺的前端只需要周期性地從服務(wù)器側(cè)的Mysql數(shù)據(jù)庫中讀取運行狀態(tài)信息并在前端的指定頁面的指定區(qū)域內(nèi)進行顯示即可,由于服務(wù)器側(cè)的運行狀態(tài)信息是不斷產(chǎn)生的,服務(wù)器側(cè)的Mysql數(shù)據(jù)庫中的運行狀態(tài)信息也是不斷更新的,使得前端指定頁面的指定區(qū)域內(nèi)顯示的內(nèi)容也是動態(tài)更新的。
[0074]在本發(fā)明的一個實施例中,步驟S130中從服務(wù)器獲取指定任務(wù)的運行狀態(tài)信息包括:利用AJAX機制向服務(wù)器發(fā)送任務(wù)狀態(tài)請求消息,接收服務(wù)器返回的指定任務(wù)的運行狀態(tài)信息。其中,AJAX(Asynchronous Javascript And XML,異步JavaScript和XML)是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù),可以用于創(chuàng)建快速動態(tài)頁面,用異步的方式來從服務(wù)器獲取信息,通過在后臺與服務(wù)器進行少量數(shù)據(jù)交換,AJAX可以使頁面實現(xiàn)異步更新,這意味著可以在不重新加載整個頁面的情況下,對頁面的某部分進行更新;而傳統(tǒng)的不使用AJAX的網(wǎng)頁如果需要更新頁面內(nèi)容,必須重載整個頁面,在顯示時對整個頁面進行刷新。
[0075]例如,前端展示指定頁面,通過指定頁面獲取用戶創(chuàng)建的指定任務(wù),將該指定任務(wù)提交到服務(wù)器端,服務(wù)器端異步執(zhí)行該指定任務(wù),該指定任務(wù)在運行過程中不斷地輸出各個階段的運行狀態(tài)信息,服務(wù)器周期性地將指定任務(wù)在運行過程中所輸出的運行狀態(tài)信息保存到指定數(shù)據(jù)庫、指定文件或內(nèi)存中,前端使用AJAX機制,周期性地從服務(wù)器的指定數(shù)據(jù)庫、指定文件或內(nèi)存中輪詢獲取運行狀態(tài)信息并顯示在前端div,達到前端頁面的指定區(qū)域內(nèi)不斷更新顯示指定任務(wù)的運行狀態(tài)信息的目的,在指定頁面的指定區(qū)域內(nèi)形成一個動態(tài)增長的畫面感。
[0076]在本發(fā)明的一個實施例中,圖1所示的方法進一步包括:在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示任務(wù)運行過程出現(xiàn)異常的信息;是貝1J,向用戶發(fā)送報警信息。沿用上文中指定任務(wù)在實時計算平臺中運行的例子,當(dāng)實時計算平臺在接收到指定任務(wù)、讀取指定任務(wù)的配置信息發(fā)生錯誤時,會輸出指示“配置信息讀取失敗”的運行狀態(tài)信息并保存在數(shù)據(jù)庫中,前端下一次從服務(wù)器側(cè)的數(shù)據(jù)庫中獲取到該運行狀態(tài)信息,判斷該運行狀態(tài)信息中包含指示任務(wù)運行過程出現(xiàn)異常的信息,在將該運行狀態(tài)信息顯示在指定頁面的指定區(qū)域內(nèi)的同時,還通過彈窗、即時消息、郵件等方式向創(chuàng)建該指定任務(wù)的用戶發(fā)送報警信息。
[0077]在本發(fā)明的一個實施例中,圖1所示的方法進一步包括:在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示網(wǎng)址信息的字符串;是則,將該指示網(wǎng)址信息的字符串轉(zhuǎn)換為超鏈接;則在步驟S140中在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息時,一并對超鏈接進行展示;響應(yīng)于用戶點擊超鏈接的操作,跳轉(zhuǎn)到所述超鏈接對應(yīng)的頁面。例如,用戶創(chuàng)建的指定任務(wù)是一個MR(Hadoc)P Map Reduce)任務(wù),前端將該MR任務(wù)提交到服務(wù)器,該MR在服務(wù)器側(cè)運行時輸出的運行狀態(tài)信息中包含一個字符串和一個進度信息,該字符串指示了任務(wù)運行鏈接,該進度信息指示了任務(wù)運行到百分之多少,前端下一次從服務(wù)器側(cè)的數(shù)據(jù)庫中獲取到該運行狀態(tài)信息,從該運行狀態(tài)信息中捕捉到存在指示網(wǎng)址信息的字符串,則將該指示網(wǎng)址信息的字符串轉(zhuǎn)換為超鏈接,將該超鏈接和該運行狀態(tài)信息中的進度信息一同展示在前端指定頁面的指定區(qū)域內(nèi),這樣用戶在看到前端指定頁面展示的該運行狀態(tài)信息后,直接點擊該超鏈接即可跳轉(zhuǎn)到相應(yīng)的網(wǎng)頁,而現(xiàn)有技術(shù)中,用戶往往需要手動將字符串粘貼到另一個空白網(wǎng)頁的網(wǎng)址欄中才能打開運行狀態(tài)信息中包含的網(wǎng)址信息,十分費時費力,影響效率和體驗。
[0078]在本發(fā)明的一個實施例中,可以通過設(shè)置前端和服務(wù)器端的交互策略來控制二者交互的數(shù)據(jù)內(nèi)容以及前端指定頁面的指定區(qū)域內(nèi)的具體展示內(nèi)容,通常有以下兩種交互策略:
[0079]策略一,步驟S130中從服務(wù)器獲取指定任務(wù)的運行狀態(tài)信息包括:從服務(wù)器獲取從指定任務(wù)開始運行到當(dāng)前已產(chǎn)生的所述指定任務(wù)的運行狀態(tài)信息,也就是說,前端每次從服務(wù)器側(cè)獲取運行狀態(tài)信息時都是將當(dāng)前數(shù)據(jù)庫中的所有運行狀態(tài)信息均拉取下來;例如,設(shè)定前端每隔5秒輪詢一次,9:00時,從服務(wù)器側(cè)獲取9:00之前已產(chǎn)生的所有運行狀態(tài)信息,包括:a,b,c; 9:05時,從服務(wù)器側(cè)獲取9:05之前已產(chǎn)生的所有運行狀態(tài)信息,包括:a,b,c,d;其中,一條運行狀態(tài)信息d是在9:00?9:05之間產(chǎn)生的,如果前一次輪詢時間與后一次輪詢之間內(nèi)沒有產(chǎn)生新的運行狀態(tài)信息,則前端前一次獲取的運行狀態(tài)信息和后一次獲取的運行狀態(tài)?目息是相同的。
[0080]則步驟S140中在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息包括:
[0081]方式一,將本次獲取到的運行狀態(tài)信息代替前一次獲取到的運行狀態(tài)信息顯示在指定頁面的指定區(qū)域,這樣指定頁面的指定區(qū)域中的內(nèi)容每次都是全量的替換,沿用前面的例子,9:00時前端將獲取的運行狀態(tài)信息a,b,c展示在指定頁面的指定區(qū)域內(nèi),9:05時前端將獲取的運行狀態(tài)信息a,b,c,d展示在指定頁面的指定區(qū)域內(nèi),雖然前后兩次展示是全量的替換,但用戶視覺上看到的效果是僅僅增加了運行狀態(tài)信息d。
[0082]方式二,將本次獲取到的運行狀態(tài)信息與前一次獲取到的運行狀態(tài)信息進行比較,將變化的部分顯示在指定頁面的指定區(qū)域,沿用前面的例子,9:00時前端將獲取的運行狀態(tài)信息a,b,c展示在指定頁面的指定區(qū)域內(nèi),9:05時前端將獲取的運行狀態(tài)信息a,b,c,d與9:00時前端獲取的運行狀態(tài)信息a,b,c進行比較,增量為d,則將d展示在指定頁面的指定區(qū)域內(nèi),使得用戶視覺上看到的效果每次都看到更新的運行狀態(tài)信息。
[0083]策略二,步驟S130中從服務(wù)器獲取指定任務(wù)的運行狀態(tài)信息包括:從服務(wù)器獲取從前一次獲取所述指定任務(wù)的運行狀態(tài)信息的時間到當(dāng)前產(chǎn)生的指定任務(wù)的運行狀態(tài)信息。也就是說,前端每次從服務(wù)器側(cè)獲取運行狀態(tài)信息時都是將當(dāng)前數(shù)據(jù)庫中的在前一次輪詢和本次輪詢之間產(chǎn)生的運行狀態(tài)信息拉取下來;例如,設(shè)定前端每隔5秒輪詢一次,從9:00開始,9:00時,服務(wù)器側(cè)的數(shù)據(jù)庫中包括運行狀態(tài)信息a,b,c,從服務(wù)器側(cè)獲取a,b,c;9:05時,服務(wù)器側(cè)的數(shù)據(jù)庫中包括包括運行狀態(tài)信息a,b,c,d,從9:00?9:05新產(chǎn)生的運行狀態(tài)信息為d,則從服務(wù)器獲取該運行狀態(tài)信息d;如果前一次輪詢時間與后一次輪詢之間內(nèi)沒有產(chǎn)生新的運行狀態(tài)信息,則后一次獲取的運行狀態(tài)信息是無。
[0084]則步驟S140中在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息包括:
[0085]方式一,將本次獲取到的運行狀態(tài)信息代替前一次獲取到的運行狀態(tài)信息顯示在指定頁面的指定區(qū)域;這樣指定頁面的指定區(qū)域中的內(nèi)容每次都是全量的替換,沿用前面的例子,9:00時前端將獲取的運行狀態(tài)信息a,b,c展示在指定頁面的指定區(qū)域內(nèi),9:05時前端將獲取的運行狀態(tài)信息d展示在指定頁面的指定區(qū)域內(nèi),使得用戶視覺上看到的效果每次都看到更新的運行狀態(tài)信息。
[0086]方式二,將本次獲取到的運行狀態(tài)信息與之前已獲取到的運行狀態(tài)信息共同顯示在指定頁面的指定區(qū)域。沿用前面的例子,9:00時前端將獲取的運行狀態(tài)信息a,b,c展示在指定頁面的指定區(qū)域內(nèi),9:05時前端將獲取的運行狀態(tài)信息d與9:00時前端獲取的運行狀態(tài)信息a,b,c共同展示在指定頁面的指定區(qū)域內(nèi),使得用戶視覺上看到的效果每次都看到運行狀態(tài)信息的不斷累加。
[0087]依據(jù)上述兩個策略,相應(yīng)地,服務(wù)器側(cè)將每次請求時間對應(yīng)的指定任務(wù)的運行狀態(tài)信息返回至前端包括:將指定數(shù)據(jù)庫中保存的指定任務(wù)從開始運行到本次請求時間已產(chǎn)生的運行狀態(tài)信息返回至前端;或者,將指定數(shù)據(jù)庫中保存的指定任務(wù)從前一次請求時間到本次請求時間產(chǎn)生的運行狀態(tài)信息返回至前端。
[0088]在本發(fā)明的一個實施例中,服務(wù)器接收前端提交的指定任務(wù),運行指定任務(wù),將指定任務(wù)在運行過程中產(chǎn)生的運行狀態(tài)信息保存到指定數(shù)據(jù)庫中。服務(wù)器響應(yīng)于前端周期性發(fā)送的任務(wù)狀態(tài)請求消息,將每次請求時間對應(yīng)的指定任務(wù)的運行狀態(tài)信息返回至前端,供前端在指定頁面的指定區(qū)域進行動態(tài)顯示。
[0089]具體地,當(dāng)指定任務(wù)在服務(wù)器側(cè)運行結(jié)束,產(chǎn)生最后一條運行狀態(tài)信息,服務(wù)器在將該條運行狀態(tài)信息放入指定數(shù)據(jù)庫時,還在該條運行狀態(tài)信息上打上結(jié)束標(biāo)識;當(dāng)達到前端輪詢時間時,前端向服務(wù)器發(fā)送任務(wù)狀態(tài)請求消息,對于獲取到的每條運行狀態(tài)信息,判斷該條運行狀態(tài)信息上是否攜帶結(jié)束標(biāo)志,是則,在對本次獲取的運行狀態(tài)信息進行展示后,結(jié)束周期性輪詢過程,不再向服務(wù)器側(cè)發(fā)送任務(wù)狀態(tài)請求消息;否則,在對本次獲取的運行狀態(tài)信息進行展示后,等待下一次的輪詢時機。
[0090]如前文所述,本方案中的服務(wù)器側(cè)為實時計算平臺的服務(wù)器,前端未實時計算平臺的前端,實時計算平臺在接收到前端提交的指定任務(wù)后,運行指定任務(wù)的過程是:讀取該指定任務(wù)的配置信息;根據(jù)配置信息中的數(shù)據(jù)源信息,從相應(yīng)的數(shù)據(jù)源獲取待處理數(shù)據(jù);根據(jù)配置信息中的計算規(guī)則,對待處理數(shù)據(jù)進行計算;根據(jù)配置信息中的存儲規(guī)則,對待處理數(shù)據(jù)的計算結(jié)果進行保存。其中,指定任務(wù)的配置信息是用戶通過指定頁面輸入設(shè)置的。
[0091]進一步地,運行指定任務(wù)的過程中,在根據(jù)配置信息中的計算規(guī)則,對待處理數(shù)據(jù)進行計算之前,還可以根據(jù)配置信息中的解析條件,將待處理數(shù)據(jù)中符合解析條件的待處理數(shù)據(jù)解析為指定格式的元數(shù)據(jù),然后在根據(jù)配置信息中的計算規(guī)則,對指定格式的元數(shù)據(jù)進行計算。
[0092]具體地,上述將待處理數(shù)據(jù)中符合解析條件的字段解析為指定格式的元數(shù)據(jù)包括:
[0093]方式一,根據(jù)待處理數(shù)據(jù)的格式,確定適配于待處理數(shù)據(jù)的一個或多個解析函數(shù);創(chuàng)建待處理數(shù)據(jù)對應(yīng)的解析器,在該解析器中動態(tài)注冊所述一個或多個解析函數(shù);通過調(diào)用所創(chuàng)建的解析器將待處理數(shù)據(jù)中符合解析條件的字段解析為指定格式的元數(shù)據(jù)。
[0094]其中,解析函數(shù)包括如下一種或多種:Base64decode函數(shù)、base64encode函數(shù)、ur Idecode函數(shù)、ur Iencode 函數(shù)、isNum 函數(shù)、isVer 函數(shù)、getDay 函數(shù)、getHour 函數(shù)、getMin函數(shù),其中,Base64decode函數(shù)用于對Base64編碼的數(shù)據(jù)進行解碼,base64encode函數(shù)用于對數(shù)據(jù)進行Base64編碼,urldecode函數(shù)用于還原url編碼字符串,urIencode函數(shù)用于對字符串進行url編碼,isNum函數(shù)用于判斷是否是數(shù)字,isVer函數(shù)用于判斷是否是版本,getDay函數(shù)用于獲取時間的日期信息,getHour函數(shù)用于獲取時間的小時信息,getMin函數(shù)用于獲取時間的分鐘信息。本實施例通過在創(chuàng)建的解析器中動態(tài)注冊解析待處理數(shù)據(jù)所需的解析函數(shù),實現(xiàn)了對解析器的動態(tài)定制,可以動態(tài)地適配待處理數(shù)據(jù)的形式的多樣化。
[0095]方式二,預(yù)存多個基本解析器,每個基本解析器適配于一種基本數(shù)據(jù)格式。具體地,基本解析器包括如下一種或多種:Apache日志解析器、Nginx日志解析器、數(shù)組日志解析器、Json日志解析器、分割符解析器,Apache日志解析器適配于Apache日志的數(shù)據(jù)格式,Nginx日志解析器適配于Nginx日志的數(shù)據(jù)格式,數(shù)組日志解析器適配于數(shù)組日志的數(shù)據(jù)格式,Json日志解析器適配于Json日志的數(shù)據(jù)格式,分割符解析器適配于以指定分割符進行字段分割的數(shù)據(jù)格式。
[0096]當(dāng)待處理數(shù)據(jù)的格式為單一基本數(shù)據(jù)格式時,從預(yù)存的多個基本解析器中查找適配于該基本數(shù)據(jù)格式的基本解析器,通過調(diào)用查找到的基本解析器將待處理數(shù)據(jù)中符合解析條件的字段解析為指定格式的元數(shù)據(jù)。
[0097]當(dāng)待處理數(shù)據(jù)的格式為多種基本數(shù)據(jù)格式的組合時,對于每種基本數(shù)據(jù)格式,從預(yù)存的多個基本解析器中查找適配于該基本數(shù)據(jù)格式的基本解析器,通過調(diào)用查找到的多個基本解析器的組合將待處理數(shù)據(jù)中符合解析條件的字段解析為指定格式的元數(shù)據(jù)。
[0098]例如,接收到的待處理數(shù)據(jù)是Apache日志,對應(yīng)于Apache日志的數(shù)據(jù)格式,是單一基本數(shù)據(jù)格式,則對接收到的待處理數(shù)據(jù)進行解析的過程是:從預(yù)存的多個基本解析器中查找到Apache日志解析器,通過調(diào)用該Apache日志解析器將待處理數(shù)據(jù)中的字段解析為指定格式的元數(shù)據(jù)?;蛘?,接收到的待處理數(shù)據(jù)是由分割符進行字段分割的,如“字段1&字段2”,其中“&”是分割符,字段I是數(shù)組格式,字段2是Json格式,則在對接收到的待處理數(shù)據(jù)進行解析時,需要調(diào)用分割符解析器、數(shù)組日志解析器和Json日志解析器的組合將待處理數(shù)據(jù)中的字段解析為指定格式的元數(shù)據(jù),數(shù)組日志解析器和Json日志解析器是并列式組合,分割符解析器與該并列式組合形成層級式組合,具體地,先通過調(diào)用分隔符解析器分別解析出字段I和字段2,再通過調(diào)用數(shù)組日志解析器對字段I進行解析,以及通過調(diào)用Json日志解析器對字段2進行解析。
[0099]進一步地,在通過調(diào)用該條待處理數(shù)據(jù)對應(yīng)的解析器將該條待處理數(shù)據(jù)中符合所述解析條件的字段解析為指定格式的元數(shù)據(jù)之后,上述方法進一步包括:將所調(diào)用的解析器放入指定全局變量數(shù)據(jù)庫中。則通過調(diào)用該條待處理數(shù)據(jù)對應(yīng)的解析器將該條待處理數(shù)據(jù)中符合解析條件的字段解析為指定格式的元數(shù)據(jù)包括:根據(jù)該條待處理數(shù)據(jù)的格式,從所述指定全局變量數(shù)據(jù)庫中查找該條待處理數(shù)據(jù)對應(yīng)的解析器;如果查找到,直接通過調(diào)用查找到的解析器將該條待處理數(shù)據(jù)中符合解析條件的字段解析為指定格式的元數(shù)據(jù);如果未查找到,創(chuàng)建該條待處理數(shù)據(jù)對應(yīng)的解析器,通過調(diào)用所創(chuàng)建的解析器將該條待處理數(shù)據(jù)中符合解析條件的字段解析為指定格式的元數(shù)據(jù)。
[0100]例如,從同一數(shù)據(jù)源接收到待處理數(shù)據(jù)I和待處理數(shù)據(jù)2,待處理數(shù)據(jù)I和待處理數(shù)據(jù)2具有相同的數(shù)據(jù)格式,先對待處理數(shù)據(jù)I進行解析,創(chuàng)建待處理數(shù)據(jù)I對應(yīng)的解析器I,將待處理數(shù)據(jù)I中的字段解析為指定格式的元數(shù)據(jù),在解析之后,將解析器I放入指定全局變量數(shù)據(jù)庫中,使得該解析器I作為全局變量存在可以被方便地調(diào)用,則在對待處理數(shù)據(jù)2進行解析時,先從指定全局變量數(shù)據(jù)庫中查找是否有待處理數(shù)據(jù)2對應(yīng)的解析器,由于待處理數(shù)據(jù)2與待處理數(shù)據(jù)I的數(shù)據(jù)格式相同,解析器I同樣適配于待處理數(shù)據(jù)2,因此,直接通過調(diào)用指定全局變量數(shù)據(jù)庫中的解析器I對待處理數(shù)據(jù)2進行解析,避免了適配于相同數(shù)據(jù)格式的解析器的重復(fù)創(chuàng)建,避免不必要的系統(tǒng)資源的使用,且直接全局地找解析器的過程比重新創(chuàng)建解析器的過程快得多,加快了解析過程,保證日志處理過程的實時性。
[0101]在本發(fā)明的一個實施例中,上述根據(jù)配置信息中的存儲規(guī)則,對待處理數(shù)據(jù)的計算結(jié)果進行保存包括:根據(jù)存儲規(guī)則,將計算結(jié)果存儲到相應(yīng)的存儲介質(zhì)中,供用戶對計算結(jié)果進行查詢。其中,所述存儲介質(zhì)包括如下一種或多種:Redis數(shù)據(jù)庫,大存儲Redis數(shù)據(jù)庫,Mysql數(shù)據(jù)庫,HBase數(shù)據(jù)庫,HDFS數(shù)據(jù)庫,GreenPlum數(shù)據(jù)庫。不同的存儲介質(zhì)具有不同的特性,可以根據(jù)存儲需求選擇合適的存儲介質(zhì),如Redis數(shù)據(jù)庫是基于key-value形式在內(nèi)存中進行存儲的,但當(dāng)數(shù)據(jù)量達到一定程度時,可以采用基于磁盤進行存儲的大存儲Redis數(shù)據(jù)庫來分擔(dān)存儲壓力,或者也可以采用分布式存儲的GreenPlum數(shù)據(jù)庫來分擔(dān)存儲壓力,使得往存儲介質(zhì)中寫數(shù)據(jù)以及從存儲介質(zhì)中讀取數(shù)據(jù)的過程較為快捷,保證實時計算平臺的實時性、有效性和穩(wěn)定性。
[0102]在一個具體的例子中,在將統(tǒng)計處理結(jié)果保存到存儲介質(zhì)中之前,還可以對統(tǒng)計處理結(jié)果進行聚合處理,以減輕存儲介質(zhì)的壓力,或者,在實時程度要求范圍之內(nèi),設(shè)定觸發(fā)存儲的條件,在得到統(tǒng)計處理結(jié)果后,不直接進行存儲,而是在滿足觸發(fā)存儲的條件后進行存儲,同樣可以減輕存儲壓力。
[0103]圖2示出了根據(jù)本發(fā)明一個實施例的一種任務(wù)運行狀態(tài)的監(jiān)控系統(tǒng)的示意圖。如圖2所示,該任務(wù)運行狀態(tài)的監(jiān)控系統(tǒng)200包括:任務(wù)運行狀態(tài)的監(jiān)控前端210和服務(wù)器220。
[0104]任務(wù)運行狀態(tài)的前端210包括:
[0105]前端展示單元211,適于展示指定頁面,供用戶通過該指定頁面創(chuàng)建指定任務(wù)。
[0106]任務(wù)提交單元212,適于將指定任務(wù)提交到服務(wù)器220,由服務(wù)器220運行指定任務(wù)。
[0107]狀態(tài)監(jiān)控單元213,適于每隔預(yù)設(shè)時間間隔,從服務(wù)器220獲取指定任務(wù)的運行狀態(tài)信息;在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息。
[0108]可見,圖2所示的系統(tǒng)通過在前端展示的指定頁面獲取用戶創(chuàng)建的指定任務(wù),將該指定任務(wù)提交到服務(wù)器中運行,與現(xiàn)有技術(shù)中等待指定任務(wù)在服務(wù)器運行結(jié)束后再將運行結(jié)果反饋至前端進行展示的方式不同,本方案在指定任務(wù)運行的過程中,前端周期性地從服務(wù)器獲取指定任務(wù)當(dāng)前的運行狀態(tài)信息,并將指定任務(wù)當(dāng)前的運行狀態(tài)信息顯示在前端指定頁面的指定區(qū)域內(nèi),形成了前端指定頁面的指定區(qū)域內(nèi)顯示的信息動態(tài)更新的效果,使得用戶在指定任務(wù)運行過程中便可以動態(tài)地了解到各階段的運行狀態(tài),無需等到任務(wù)運行結(jié)束,能夠及時發(fā)現(xiàn)任務(wù)運行過程中出現(xiàn)的問題,符合對于任務(wù)運行狀態(tài)的監(jiān)控需求。
[0109]在本發(fā)明的一個實施例中,所述狀態(tài)監(jiān)控單元,適于利用AJAX機制向服務(wù)器發(fā)送任務(wù)狀態(tài)請求消息,接收服務(wù)器返回的所述指定任務(wù)的運行狀態(tài)信息。
[0110]在本發(fā)明的一個實施例中,狀態(tài)監(jiān)控單元213,進一步適于在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示任務(wù)運行過程出現(xiàn)異常的信息;是則,向用戶發(fā)送報警信息。
[0111]在本發(fā)明的一個實施例中,狀態(tài)監(jiān)控單元213,進一步適于在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示網(wǎng)址信息的字符串;是則,將該指示網(wǎng)址信息的字符串轉(zhuǎn)換為超鏈接;在在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息時,一并對超鏈接進行展示;響應(yīng)于用戶點擊超鏈接的操作,跳轉(zhuǎn)到超鏈接對應(yīng)的頁面。
[0112]在本發(fā)明的一個實施例中,狀態(tài)監(jiān)控單元213,適于從服務(wù)器獲取從指定任務(wù)開始運行到當(dāng)前已產(chǎn)生的指定任務(wù)的運行狀態(tài)信息。
[0113]進一步地,狀態(tài)監(jiān)控單元213,適于將本次獲取到的運行狀態(tài)信息代替前一次獲取到的運行狀態(tài)信息顯示在指定頁面的指定區(qū)域;或者,適于將本次獲取到的運行狀態(tài)信息與前一次獲取到的運行狀態(tài)信息進行比較,將變化的部分顯示在指定頁面的指定區(qū)域。
[0114]在本發(fā)明的一個實施例中,狀態(tài)監(jiān)控單元213,適于從服務(wù)器獲取從前一次獲取指定任務(wù)的運行狀態(tài)信息的時間到當(dāng)前產(chǎn)生的指定任務(wù)的運行狀態(tài)信息。
[0115]進一步地,狀態(tài)監(jiān)控單元213,適于將本次獲取到的運行狀態(tài)信息代替前一次獲取到的運行狀態(tài)信息顯示在指定頁面的指定區(qū)域;或者,適于將本次獲取到的運行狀態(tài)信息與之前已獲取到的運行狀態(tài)信息共同顯示在指定頁面的指定區(qū)域。
[0116]在本發(fā)明的一個實施例中,服務(wù)器220,適于接收任務(wù)運行狀態(tài)的監(jiān)控前端210提交的指定任務(wù),運行指定任務(wù),將指定任務(wù)在運行過程中產(chǎn)生的運行狀態(tài)信息保存到指定數(shù)據(jù)庫中;響應(yīng)于任務(wù)運行狀態(tài)的監(jiān)控前端210周期性發(fā)送的任務(wù)狀態(tài)請求消息,將每次請求時間對應(yīng)的指定任務(wù)的運行狀態(tài)信息返回至前端,供任務(wù)運行狀態(tài)的監(jiān)控前端210在指定頁面的指定區(qū)域進行動態(tài)顯示。
[0117]具體地,服務(wù)器220,適于將指定數(shù)據(jù)庫中保存的指定任務(wù)從開始運行到本次請求時間已產(chǎn)生的運行狀態(tài)信息返回至任務(wù)運行狀態(tài)的監(jiān)控前端210;或者,適于將指定數(shù)據(jù)庫中保存的指定任務(wù)從前一次請求時間到本次請求時間產(chǎn)生的運行狀態(tài)信息返回至任務(wù)運行狀態(tài)的監(jiān)控前端210。
[0118]進一步地,服務(wù)器220,適于讀取該指定任務(wù)的配置信息;根據(jù)配置信息中的數(shù)據(jù)源信息,從相應(yīng)的數(shù)據(jù)源獲取待處理數(shù)據(jù);根據(jù)配置信息中的計算規(guī)則,對待處理數(shù)據(jù)進行計算;根據(jù)配置信息中的存儲規(guī)則,對待處理數(shù)據(jù)的計算結(jié)果進行保存。其中,指定任務(wù)的配置信息是用戶通過指定頁面輸入設(shè)置的。
[0119]需要說明的是,圖2所示系統(tǒng)的各實施例與圖1所示方法的各實施例對應(yīng)相同,上文中已有詳細(xì)說明,在此不再贅述。
[0120]綜上所述,本發(fā)明提供的技術(shù)方案通過在前端展示的指定頁面獲取用戶創(chuàng)建的指定任務(wù),將該指定任務(wù)提交到服務(wù)器中運行,與現(xiàn)有技術(shù)中等待指定任務(wù)在服務(wù)器運行結(jié)束后再將運行結(jié)果反饋至前端進行展示的方式不同,本方案在指定任務(wù)運行的過程中,前端周期性地從服務(wù)器獲取指定任務(wù)當(dāng)前的運行狀態(tài)信息,并將指定任務(wù)當(dāng)前的運行狀態(tài)信息顯示在前端指定頁面的指定區(qū)域內(nèi),形成了前端指定頁面的指定區(qū)域內(nèi)顯示的信息動態(tài)更新的效果,使得用戶在指定任務(wù)運行過程中便可以動態(tài)地了解到各階段的運行狀態(tài),無需等到任務(wù)運行結(jié)束,能夠及時發(fā)現(xiàn)任務(wù)運行過程中出現(xiàn)的問題,符合對于任務(wù)運行狀態(tài)的監(jiān)控需求。
[0121]需要說明的是:
[0122]在此提供的算法和顯示不與任何特定計算機、虛擬裝置或者其它設(shè)備固有相關(guān)。各種通用裝置也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類裝置所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
[0123]在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細(xì)節(jié)的情況下實踐。在一些實例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
[0124]類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權(quán)利要求書由此明確地并入該【具體實施方式】,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
[0125]本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0126]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
[0127]本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的一種任務(wù)運行狀態(tài)的監(jiān)控系統(tǒng)中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0128]應(yīng)該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0129]本發(fā)明公開了Al、一種任務(wù)運行狀態(tài)的監(jiān)控方法,其中,該方法包括:
[0130]展示指定頁面,供用戶通過該指定頁面創(chuàng)建指定任務(wù);
[0131 ]將指定任務(wù)提交到服務(wù)器,由服務(wù)器運行所述指定任務(wù);
[0132]每隔預(yù)設(shè)時間間隔,從服務(wù)器獲取所述指定任務(wù)的運行狀態(tài)信息;
[0133]在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息。
[0134]A2、如Al所述的方法,其中,所述從服務(wù)器獲取所述指定任務(wù)的運行狀態(tài)信息包括:
[0135]利用AJAX機制向服務(wù)器發(fā)送任務(wù)狀態(tài)請求消息,接收服務(wù)器返回的所述指定任務(wù)的運行狀態(tài)信息。
[0136]A3、如Al所述的方法,其中,該方法進一步包括:
[0137]在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示任務(wù)運行過程出現(xiàn)異常的信息;是則,向用戶發(fā)送報警信息。
[0138]A4、如Al所述的方法,其中,該方法進一步包括:
[0139]在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示網(wǎng)址信息的字符串;
[0140]是則,將該指示網(wǎng)址信息的字符串轉(zhuǎn)換為超鏈接;
[0141]在所述在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息時,一并對所述超鏈接進行展示;
[0142]響應(yīng)于用戶點擊所述超鏈接的操作,跳轉(zhuǎn)到所述超鏈接對應(yīng)的頁面。
[0143]A5、如Al所述的方法,其中,所述從服務(wù)器獲取所述指定任務(wù)的運行狀態(tài)信息包括:
[0144]從服務(wù)器獲取從所述指定任務(wù)開始運行到當(dāng)前已產(chǎn)生的所述指定任務(wù)的運行狀態(tài)?目息O
[0145]Α6、如Α5所述的方法,其中,所述在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息包括:
[0146]將本次獲取到的運行狀態(tài)信息代替前一次獲取到的運行狀態(tài)信息顯示在指定頁面的指定區(qū)域;
[0147]或者,
[0148]將本次獲取到的運行狀態(tài)信息與前一次獲取到的運行狀態(tài)信息進行比較,將變化的部分顯示在指定頁面的指定區(qū)域。
[0149]A7、如Al所述的方法,其中,所述從服務(wù)器獲取所述指定任務(wù)的運行狀態(tài)信息包括:
[0150]從服務(wù)器獲取從前一次獲取所述指定任務(wù)的運行狀態(tài)信息的時間到當(dāng)前產(chǎn)生的所述指定任務(wù)的運行狀態(tài)信息。
[0151]AS、如A7所述的方法,其中,所述在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息包括:
[0152]將本次獲取到的運行狀態(tài)信息代替前一次獲取到的運行狀態(tài)信息顯示在指定頁面的指定區(qū)域;
[0153]或者,
[0154]將本次獲取到的運行狀態(tài)信息與之前已獲取到的運行狀態(tài)信息共同顯示在指定頁面的指定區(qū)域。
[0155]A9、如Al所述的方法,其中,
[0156]服務(wù)器接收前端提交的指定任務(wù),運行所述指定任務(wù),將所述指定任務(wù)在運行過程中產(chǎn)生的運行狀態(tài)信息保存到指定數(shù)據(jù)庫中;
[0157]服務(wù)器響應(yīng)于前端周期性發(fā)送的任務(wù)狀態(tài)請求消息,將每次請求時間對應(yīng)的指定任務(wù)的運行狀態(tài)信息返回至前端,供前端在指定頁面的指定區(qū)域進行動態(tài)顯示。
[0158]A10、如A9所述的方法,其中,所述將每次請求時間對應(yīng)的指定任務(wù)的運行狀態(tài)信息返回至前端包括:
[0159]將指定數(shù)據(jù)庫中保存的所述指定任務(wù)從開始運行到本次請求時間已產(chǎn)生的運行狀態(tài)信息返回至前端;
[0160]或者,
[0161]將指定數(shù)據(jù)庫中保存的所述指定任務(wù)從前一次請求時間到本次請求時間產(chǎn)生的運行狀態(tài)信息返回至前端。
[0162]All、如A9所述的方法,其中,所述運行所述指定任務(wù)包括:
[0163]讀取該指定任務(wù)的配置信息;
[0164]根據(jù)所述配置信息中的數(shù)據(jù)源信息,從相應(yīng)的數(shù)據(jù)源獲取待處理數(shù)據(jù);
[0165]根據(jù)所述配置信息中的計算規(guī)則,對待處理數(shù)據(jù)進行計算;
[0166]根據(jù)所述配置信息中的存儲規(guī)則,對待處理數(shù)據(jù)的計算結(jié)果進行保存。
[0167]A12、如All所述的方法,其中,所述指定任務(wù)的配置信息是用戶通過指定頁面輸入設(shè)置的。
[0168]本發(fā)明還公開了B13、一種任務(wù)運行狀態(tài)的監(jiān)控系統(tǒng),其中,該系統(tǒng)包括:任務(wù)運行狀態(tài)的監(jiān)控前端和服務(wù)器;
[0169]任務(wù)運行狀態(tài)的前端包括:
[0170]前端展示單元,適于展示指定頁面,供用戶通過該指定頁面創(chuàng)建指定任務(wù);
[0171 ]任務(wù)提交單元,適于將指定任務(wù)提交到服務(wù)器,由服務(wù)器運行所述指定任務(wù);
[0172]狀態(tài)監(jiān)控單元,適于每隔預(yù)設(shè)時間間隔,從服務(wù)器獲取所述指定任務(wù)的運行狀態(tài)信息;在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息。
[0173]B14、如B13所述的系統(tǒng),其中,
[0174]所述狀態(tài)監(jiān)控單元,適于利用AJAX機制向服務(wù)器發(fā)送任務(wù)狀態(tài)請求消息,接收服務(wù)器返回的所述指定任務(wù)的運行狀態(tài)信息。
[0175]B15、如B13所述的系統(tǒng),其中,
[0176]所述狀態(tài)監(jiān)控單元,進一步適于在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示任務(wù)運行過程出現(xiàn)異常的信息;是則,向用戶發(fā)送報警信息。
[0177]B16、如B13所述的系統(tǒng),其中,
[0178]所述狀態(tài)監(jiān)控單元,進一步適于在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示網(wǎng)址信息的字符串;是則,將該指示網(wǎng)址信息的字符串轉(zhuǎn)換為超鏈接;在所述在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息時,一并對所述超鏈接進行展示;響應(yīng)于用戶點擊所述超鏈接的操作,跳轉(zhuǎn)到所述超鏈接對應(yīng)的頁面。
[0179]B17、如B13所述的系統(tǒng),其中,
[0180]所述狀態(tài)監(jiān)控單元,適于從服務(wù)器獲取從所述指定任務(wù)開始運行到當(dāng)前已產(chǎn)生的所述指定任務(wù)的運行狀態(tài)信息。
[0181]B18、如B17所述的系統(tǒng),其中,
[0182]所述狀態(tài)監(jiān)控單元,適于將本次獲取到的運行狀態(tài)信息代替前一次獲取到的運行狀態(tài)信息顯示在指定頁面的指定區(qū)域;或者,適于將本次獲取到的運行狀態(tài)信息與前一次獲取到的運行狀態(tài)信息進行比較,將變化的部分顯示在指定頁面的指定區(qū)域。
[0183]B19、如B13所述的系統(tǒng),其中,
[0184]所述狀態(tài)監(jiān)控單元,適于從服務(wù)器獲取從前一次獲取所述指定任務(wù)的運行狀態(tài)信息的時間到當(dāng)前產(chǎn)生的所述指定任務(wù)的運行狀態(tài)信息。
[0185]B20、如B19所述的系統(tǒng),其中,
[0186]所述狀態(tài)監(jiān)控單元,適于將本次獲取到的運行狀態(tài)信息代替前一次獲取到的運行狀態(tài)信息顯示在指定頁面的指定區(qū)域;或者,適于將本次獲取到的運行狀態(tài)信息與之前已獲取到的運行狀態(tài)信息共同顯示在指定頁面的指定區(qū)域。
[0187]B21、如B13所述的系統(tǒng),其中,
[0188]服務(wù)器,適于接收前端提交的指定任務(wù),運行所述指定任務(wù),將所述指定任務(wù)在運行過程中產(chǎn)生的運行狀態(tài)信息保存到指定數(shù)據(jù)庫中;響應(yīng)于前端周期性發(fā)送的任務(wù)狀態(tài)請求消息,將每次請求時間對應(yīng)的指定任務(wù)的運行狀態(tài)信息返回至前端,供前端在指定頁面的指定區(qū)域進行動態(tài)顯示。
[0189]B22、如B21所述的系統(tǒng),其中,
[0190]服務(wù)器,適于將指定數(shù)據(jù)庫中保存的所述指定任務(wù)從開始運行到本次請求時間已產(chǎn)生的運行狀態(tài)信息返回至前端;或者,適于將指定數(shù)據(jù)庫中保存的所述指定任務(wù)從前一次請求時間到本次請求時間產(chǎn)生的運行狀態(tài)信息返回至前端。
[0191]B23、如B22所述的系統(tǒng),其中,
[0192]服務(wù)器,適于讀取該指定任務(wù)的配置信息;根據(jù)所述配置信息中的數(shù)據(jù)源信息,從相應(yīng)的數(shù)據(jù)源獲取待處理數(shù)據(jù);根據(jù)所述配置信息中的計算規(guī)則,對待處理數(shù)據(jù)進行計算;根據(jù)所述配置信息中的存儲規(guī)則,對待處理數(shù)據(jù)的計算結(jié)果進行保存。
[0193]B24、如B23所述的系統(tǒng),其中,所述指定任務(wù)的配置信息是用戶通過指定頁面輸入設(shè)置的。
【主權(quán)項】
1.一種任務(wù)運行狀態(tài)的監(jiān)控方法,其中,該方法包括: 展示指定頁面,供用戶通過該指定頁面創(chuàng)建指定任務(wù); 將指定任務(wù)提交到服務(wù)器,由服務(wù)器運行所述指定任務(wù); 每隔預(yù)設(shè)時間間隔,從服務(wù)器獲取所述指定任務(wù)的運行狀態(tài)信息; 在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息。2.如權(quán)利要求1所述的方法,其中,所述從服務(wù)器獲取所述指定任務(wù)的運行狀態(tài)信息包括: 利用AJAX機制向服務(wù)器發(fā)送任務(wù)狀態(tài)請求消息,接收服務(wù)器返回的所述指定任務(wù)的運行狀態(tài)信息。3.如權(quán)利要求1所述的方法,其中,該方法進一步包括: 在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示任務(wù)運行過程出現(xiàn)異常的信息;是則,向用戶發(fā)送報警信息。4.如權(quán)利要求1所述的方法,其中,該方法進一步包括: 在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示網(wǎng)址信息的字符串; 是則,將該指示網(wǎng)址信息的字符串轉(zhuǎn)換為超鏈接; 在所述在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息時,一并對所述超鏈接進行展示; 響應(yīng)于用戶點擊所述超鏈接的操作,跳轉(zhuǎn)到所述超鏈接對應(yīng)的頁面。5.如權(quán)利要求1所述的方法,其中,所述從服務(wù)器獲取所述指定任務(wù)的運行狀態(tài)信息包括: 從服務(wù)器獲取從所述指定任務(wù)開始運行到當(dāng)前已產(chǎn)生的所述指定任務(wù)的運行狀態(tài)信息。6.—種任務(wù)運行狀態(tài)的監(jiān)控系統(tǒng),其中,該系統(tǒng)包括:任務(wù)運行狀態(tài)的監(jiān)控前端和服務(wù)器; 任務(wù)運行狀態(tài)的前端包括: 前端展示單元,適于展示指定頁面,供用戶通過該指定頁面創(chuàng)建指定任務(wù); 任務(wù)提交單元,適于將指定任務(wù)提交到服務(wù)器,由服務(wù)器運行所述指定任務(wù); 狀態(tài)監(jiān)控單元,適于每隔預(yù)設(shè)時間間隔,從服務(wù)器獲取所述指定任務(wù)的運行狀態(tài)信息;在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息。7.如權(quán)利要求6所述的系統(tǒng),其中, 所述狀態(tài)監(jiān)控單元,適于利用AJAX機制向服務(wù)器發(fā)送任務(wù)狀態(tài)請求消息,接收服務(wù)器返回的所述指定任務(wù)的運行狀態(tài)信息。8.如權(quán)利要求6所述的系統(tǒng),其中, 所述狀態(tài)監(jiān)控單元,進一步適于在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示任務(wù)運行過程出現(xiàn)異常的信息;是則,向用戶發(fā)送報警信息。9.如權(quán)利要求6所述的系統(tǒng),其中, 所述狀態(tài)監(jiān)控單元,進一步適于在每次獲取到運行狀態(tài)信息后,判斷本次獲取到的運行狀態(tài)信息中是否包含指示網(wǎng)址信息的字符串;是則,將該指示網(wǎng)址信息的字符串轉(zhuǎn)換為超鏈接;在所述在指定頁面的指定區(qū)域顯示獲取到的運行狀態(tài)信息時,一并對所述超鏈接進行展示;響應(yīng)于用戶點擊所述超鏈接的操作,跳轉(zhuǎn)到所述超鏈接對應(yīng)的頁面。10.如權(quán)利要求6所述的系統(tǒng),其中, 所述狀態(tài)監(jiān)控單元,適于從服務(wù)器獲取從所述指定任務(wù)開始運行到當(dāng)前已產(chǎn)生的所述指定任務(wù)的運行狀態(tài)信息。
【文檔編號】G06F17/30GK105939393SQ201610514795
【公開日】2016年9月14日
【申請日】2016年6月30日
【發(fā)明人】沈迪, 候懷鋒, 張娟娜
【申請人】北京奇虎科技有限公司, 奇智軟件(北京)有限公司