一種任務(wù)調(diào)度服務(wù)系統(tǒng)及方法
【專利摘要】本發(fā)明提供一種任務(wù)調(diào)度服務(wù)系統(tǒng)及方法,所述任務(wù)調(diào)度服務(wù)系統(tǒng)包括:任務(wù)調(diào)用端模塊,用于發(fā)起任務(wù)調(diào)度請求;服務(wù)接口組件模塊,用于根據(jù)所述任務(wù)調(diào)度請求,創(chuàng)建任務(wù),并在數(shù)據(jù)庫中創(chuàng)建對應(yīng)的調(diào)度任務(wù)記錄;任務(wù)掃描組件模塊,用于對所述調(diào)度任務(wù)記錄進行掃描,按照任務(wù)調(diào)度優(yōu)先級算法計算任務(wù)優(yōu)先級,再將任務(wù)放入對應(yīng)的優(yōu)先級隊列中;任務(wù)隊列組件模塊,用于按照優(yōu)先級隊列元素出隊列算法在所述優(yōu)先級隊列中選擇當前要執(zhí)行的任務(wù);任務(wù)執(zhí)行模塊,用于執(zhí)行所述當前要執(zhí)行的任務(wù)。通過本發(fā)明所提供的任務(wù)調(diào)度服務(wù)系統(tǒng)及方法,使任務(wù)調(diào)度區(qū)分出優(yōu)先級,提高了任務(wù)調(diào)度服務(wù)執(zhí)行效率,同時也增強了用戶對不同優(yōu)先級任務(wù)調(diào)度服務(wù)的差別化體驗。
【專利說明】一種任務(wù)調(diào)度服務(wù)系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,特別是指一種任務(wù)調(diào)度服務(wù)系統(tǒng)及方法。
【背景技術(shù)】
[0002]近年來,電子通信已經(jīng)普及我們的日常生活。其中語音信箱的應(yīng)用也十分廣泛。目前語音信箱包括新郵件電話通知、客人定時留言、外呼提取傳真、日程提醒等定時任務(wù),這些定時任務(wù)有些是由用戶指定日期時間的業(yè)務(wù)操作,有些是由于用戶指定日期時間的業(yè)務(wù)操作所引起的后續(xù)處理,有些是為實現(xiàn)某項功能采用內(nèi)部任務(wù)機制實現(xiàn)。
[0003]這些定時任務(wù)的調(diào)用都是基于業(yè)務(wù)應(yīng)用層執(zhí)行內(nèi)部處理步驟,增加了業(yè)務(wù)應(yīng)用模塊的復(fù)雜度,造成業(yè)務(wù)應(yīng)用層與系統(tǒng)內(nèi)部的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)分布以及模塊間關(guān)系的強耦合,而且由于業(yè)務(wù)通道不斷擴展和變化,會造成相同功能的重復(fù)開發(fā)測試,降低研發(fā)效率,也很難確保產(chǎn)品質(zhì)量和性能。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題是提供一種任務(wù)調(diào)度服務(wù)系統(tǒng)及方法??梢院喕瘶I(yè)務(wù)應(yīng)用層的處理邏輯,提高任務(wù)調(diào)度服務(wù)的執(zhí)行效率及用戶體驗。
[0005]為解決上述技術(shù)問題,本發(fā)明的實施例提供一種任務(wù)調(diào)度服務(wù)系統(tǒng)及方法,所述任務(wù)調(diào)度服務(wù)系統(tǒng)包括:
[0006]任務(wù)調(diào)用端模塊,用于發(fā)起任務(wù)調(diào)度請求;
[0007]服務(wù)接口組件模塊,用于根據(jù)所述任務(wù)調(diào)度請求,創(chuàng)建任務(wù),并在數(shù)據(jù)庫中創(chuàng)建對應(yīng)的調(diào)度任務(wù)記錄;
[0008]任務(wù)掃描組件模塊,用于對所述調(diào)度任務(wù)記錄進行掃描,按照任務(wù)調(diào)度優(yōu)先級算法計算任務(wù)優(yōu)先級,再將任務(wù)放入對應(yīng)的優(yōu)先級隊列中;
[0009]任務(wù)隊列組件模塊,用于按照優(yōu)先級隊列元素出隊列算法在所述優(yōu)先級隊列中選擇當前要執(zhí)行的任務(wù);
[0010]任務(wù)執(zhí)行模塊,用于執(zhí)行所述當前要執(zhí)行的任務(wù)。
[0011]其中,所述任務(wù)調(diào)度服務(wù)系統(tǒng)還包括:
[0012]任務(wù)統(tǒng)計模塊,用于獲取和統(tǒng)計調(diào)度周期內(nèi)的所述任務(wù)調(diào)用端模塊發(fā)起的任務(wù)調(diào)度請求總數(shù)以及所述任務(wù)執(zhí)行模塊執(zhí)行成功的任務(wù)數(shù)和執(zhí)行失敗的任務(wù)數(shù)。
[0013]WEB管理模塊,用于配置任務(wù)的調(diào)度規(guī)則、系統(tǒng)參數(shù),以及查詢當前任務(wù)的處理進度。
[0014]其中,所述服務(wù)接口組件模塊在創(chuàng)建任務(wù)時,應(yīng)該按照任務(wù)調(diào)度算法為任務(wù)計算啟動時間和分配任務(wù)號。
[0015]其中,所述服務(wù)接口組件模塊還用于:接收所述任務(wù)執(zhí)行模塊的任務(wù)執(zhí)行結(jié)果報告、響應(yīng)所述任務(wù)執(zhí)行模塊對執(zhí)行失敗的任務(wù)進行任務(wù)重試或進行任務(wù)的回執(zhí)處理。
[0016]其中,所述服務(wù)接口組件模塊還用于:在任務(wù)重試時,按照任務(wù)調(diào)度規(guī)則計算算法計算任務(wù)的重新啟動時間。
[0017]其中,所述任務(wù)調(diào)度規(guī)則計算算法,具體是指:創(chuàng)建任務(wù)時當前的系統(tǒng)時間+最大啟動延遲時長* (大于新任務(wù)調(diào)度優(yōu)先級的所有調(diào)度優(yōu)先級的任務(wù)數(shù)比例總和)。
[0018]其中,所述服務(wù)接口組件模塊進行任務(wù)回執(zhí)處理時,應(yīng)該根據(jù)任務(wù)的信息向任務(wù)調(diào)用端模塊返回任務(wù)回執(zhí)信息。
[0019]其中,所述服務(wù)接口組件模塊還用于:將執(zhí)行結(jié)束的任務(wù)移動到歷史表中保存。
[0020]其中,所述任務(wù)掃描組件模塊還用于:在掃描到超時和過期的任務(wù)時,向服務(wù)接口組件模塊報告任務(wù)結(jié)果,使所述服務(wù)接口組件模塊對超時和過期的任務(wù)進行任務(wù)重試或進行任務(wù)的回執(zhí)處理。
[0021]其中,所述任務(wù)隊列組件模塊還用于:在啟動任務(wù)發(fā)生異常時,向服務(wù)接口組件模塊報告任務(wù)結(jié)果,使所述服務(wù)接口組件模塊對啟動異常的任務(wù)進行任務(wù)重試或進行任務(wù)的回執(zhí)處理。
[0022]其中,所述任務(wù)調(diào)度優(yōu)先級算法,具體是指:新任務(wù)的任務(wù)類型對應(yīng)的系統(tǒng)級優(yōu)先級*2+任務(wù)優(yōu)先標志+1。
[0023]其中,所述優(yōu)先級隊列元素出隊列算法,具體是指:任務(wù)隊列組件模塊按照各隊列的調(diào)度優(yōu)先級逐一從每個任務(wù)隊列中取出任務(wù)處理,先處理高優(yōu)先級隊列中的任務(wù),再處理低優(yōu)先級隊列中的任務(wù),然后循環(huán)。
[0024]本發(fā)明的實施例還提供了一種任務(wù)調(diào)度方法,包括:
[0025]發(fā)起任務(wù)調(diào)度請求;
[0026]根據(jù)所述任務(wù)調(diào)度請求,創(chuàng)建任務(wù),并在數(shù)據(jù)庫中創(chuàng)建對應(yīng)的調(diào)度任務(wù)記錄;
[0027]對所述調(diào)度任務(wù)記錄進行掃描,按照任務(wù)調(diào)度優(yōu)先級算法計算任務(wù)優(yōu)先級,再將任務(wù)放入對應(yīng)的優(yōu)先級隊列中;
[0028]按照優(yōu)先級隊列元素出隊列算法,在所述優(yōu)先級隊列中選擇當前要執(zhí)行的任務(wù);
[0029]執(zhí)行當前要執(zhí)行的任務(wù)。
[0030]其中,所述任務(wù)調(diào)度方法還包括:在任務(wù)重試時,按照任務(wù)規(guī)則算法計算任務(wù)的重新啟動時間。
[0031]本發(fā)明的上述技術(shù)方案的有益效果如下:
[0032]本發(fā)明的上述實施例通過任務(wù)調(diào)用端模塊發(fā)起任務(wù)調(diào)度請求;服務(wù)接口組件模塊根據(jù)所述任務(wù)調(diào)度請求,創(chuàng)建任務(wù),并在數(shù)據(jù)庫中創(chuàng)建對應(yīng)的調(diào)度任務(wù)記錄;任務(wù)掃描組件模塊對所述調(diào)度任務(wù)記錄進行掃描,按照任務(wù)調(diào)度優(yōu)先級算法計算任務(wù)優(yōu)先級,再將任務(wù)放入對應(yīng)的優(yōu)先級隊列中;任務(wù)隊列組件模塊按照優(yōu)先級隊列元素出隊列算法在所述優(yōu)先級隊列中選擇當前要執(zhí)行的任務(wù);任務(wù)執(zhí)行模塊執(zhí)行所述當前要執(zhí)行的任務(wù);既簡化了業(yè)務(wù)應(yīng)用層的處理邏輯,提高了任務(wù)調(diào)度服務(wù)執(zhí)行效率,同時還增強了外部用戶對不同優(yōu)先級任務(wù)調(diào)度服務(wù)的差別化體驗。
【專利附圖】
【附圖說明】
[0033]圖1為本發(fā)明所述任務(wù)調(diào)度服務(wù)系統(tǒng)的結(jié)構(gòu)圖。
[0034]圖2、圖3、圖4為本發(fā)明所述任務(wù)調(diào)度實現(xiàn)方法的具體流程圖。
[0035]圖5為本發(fā)明所述任務(wù)調(diào)度方法的流程圖。
【具體實施方式】
[0036]為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例進行詳細描述。
[0037]本發(fā)明針對現(xiàn)有的定時任務(wù)的調(diào)用都是基于業(yè)務(wù)應(yīng)用層執(zhí)行內(nèi)部處理且效率很低的問題,提供一種任務(wù)調(diào)度服務(wù)系統(tǒng)及方法。
[0038]如圖1所示,本發(fā)明的實施例提供一種任務(wù)調(diào)度服務(wù)系統(tǒng),包括:
[0039]任務(wù)調(diào)用端模塊101,用于發(fā)起任務(wù)調(diào)度請求;
[0040]服務(wù)接口組件模塊102,用于根據(jù)所述任務(wù)調(diào)度請求,創(chuàng)建任務(wù),并在數(shù)據(jù)庫中創(chuàng)建對應(yīng)的調(diào)度任務(wù)記錄;
[0041]任務(wù)掃描組件模塊103,用于對所述調(diào)度任務(wù)記錄進行掃描,按照任務(wù)調(diào)度優(yōu)先級算法計算任務(wù)優(yōu)先級,再將任務(wù)放入對應(yīng)的優(yōu)先級隊列中;
[0042]任務(wù)隊列組件模塊104,用于按照優(yōu)先級隊列元素出隊列算法在所述優(yōu)先級隊列中選擇當前要執(zhí)行的任務(wù);
[0043]任務(wù)執(zhí)行模塊105,用于執(zhí)行所述當前要執(zhí)行的任務(wù)。
[0044]本發(fā)明的上述實施例通過任務(wù)調(diào)用端模塊發(fā)起任務(wù)調(diào)度請求;服務(wù)接口組件模塊根據(jù)所述任務(wù)調(diào)度請求,創(chuàng)建任務(wù),并在數(shù)據(jù)庫中創(chuàng)建對應(yīng)的調(diào)度任務(wù)記錄;任務(wù)掃描組件模塊對所述調(diào)度任務(wù)記錄進行掃描,按照任務(wù)調(diào)度優(yōu)先級算法計算任務(wù)優(yōu)先級,再將任務(wù)放入對應(yīng)的優(yōu)先級隊列中;任務(wù)隊列組件模塊按照優(yōu)先級隊列元素出隊列算法在所述優(yōu)先級隊列中選擇當前要執(zhí)行的任務(wù);任務(wù)執(zhí)行模塊執(zhí)行所述當前要執(zhí)行的任務(wù);不僅簡化了業(yè)務(wù)應(yīng)用層的處理邏輯,提高了任務(wù)調(diào)度服務(wù)執(zhí)行效率,同時還增強了外部用戶對不同優(yōu)先級任務(wù)調(diào)度服務(wù)的差別化體驗。
[0045]其中,再如圖1所示,本發(fā)明的上述任務(wù)調(diào)度服務(wù)系統(tǒng)的實施例還可以包括:
[0046]任務(wù)統(tǒng)計模塊106,用于獲取調(diào)度周期內(nèi)的所述任務(wù)調(diào)用端模塊發(fā)起的任務(wù)調(diào)度請求總數(shù)以及所述任務(wù)執(zhí)行模塊執(zhí)行成功的任務(wù)數(shù)和執(zhí)行失敗的任務(wù)數(shù)。
[0047]WEB管理模塊107,用于配置任務(wù)的調(diào)度規(guī)則、系統(tǒng)參數(shù)以及查詢當前任務(wù)的處理進度。
[0048]所述服務(wù)接口組件模塊102在創(chuàng)建任務(wù)時,具體用于:按照任務(wù)調(diào)度算法為任務(wù)計算啟動時間和分配任務(wù)號。
[0049]所述服務(wù)接口組件模塊102還用于:接收所述任務(wù)執(zhí)行模塊105的任務(wù)執(zhí)行結(jié)果報告、響應(yīng)所述任務(wù)執(zhí)行模塊105對執(zhí)行失敗的任務(wù)進行任務(wù)重試或進行任務(wù)的回執(zhí)處理。
[0050]所述服務(wù)接口組件模塊102還用于:在任務(wù)重試時,按照任務(wù)調(diào)度規(guī)則計算算法計算任務(wù)的重新啟動時間。
[0051]所述任務(wù)調(diào)度規(guī)則計算算法,具體是指:創(chuàng)建任務(wù)時當前的系統(tǒng)時間+最大啟動延遲時長* (大于新任務(wù)調(diào)度優(yōu)先級的所有調(diào)度優(yōu)先級的任務(wù)數(shù)比例總和)。
[0052]所述服務(wù)接口組件模塊102進行任務(wù)回執(zhí)處理時,具體用于:根據(jù)任務(wù)的信息向任務(wù)調(diào)用端模塊101返回任務(wù)回執(zhí)信息。
[0053]所述服務(wù)接口組件模塊102還用于:將執(zhí)行結(jié)束的任務(wù)移動到歷史表中保存。
[0054]所述任務(wù)掃描組件模塊103還用于:在掃描到超時和過期的任務(wù)時,向服務(wù)接口組件模塊102報告任務(wù)結(jié)果,使所述服務(wù)接口組件模塊102對超時和過期的任務(wù)進行任務(wù)重試或進行任務(wù)的回執(zhí)處理。
[0055]所述任務(wù)隊列組件模塊104還用于:在啟動任務(wù)發(fā)生異常時,向服務(wù)接口組件模塊102報告任務(wù)結(jié)果,使所述服務(wù)接口組件模塊102對啟動異常的任務(wù)進行任務(wù)重試或進行任務(wù)的回執(zhí)處理。
[0056]所述任務(wù)調(diào)度優(yōu)先級算法,具體是指:新任務(wù)的任務(wù)類型對應(yīng)的系統(tǒng)級優(yōu)先級*2+任務(wù)優(yōu)先標志+1。
[0057]所述優(yōu)先級隊列元素出隊列算法,具體是指:任務(wù)隊列組件模塊104按照各隊列的調(diào)度優(yōu)先級逐一從每個任務(wù)隊列中取出任務(wù)處理,先處理高優(yōu)先級隊列中的任務(wù),在處理低優(yōu)先級隊列中的任務(wù),然后循環(huán)。
[0058]下面結(jié)合圖2 —圖4具體說明上述系統(tǒng)是如何運行實現(xiàn)的。
[0059]如圖2所示,為本發(fā)明所述任務(wù)調(diào)度服務(wù)系統(tǒng)的實現(xiàn)方法的具體流程圖,主要有以下步驟:
[0060]步驟201,WEB管理模塊107主要負責配置任務(wù)調(diào)度規(guī)則,包括任務(wù)的系統(tǒng)級優(yōu)先級、禁止調(diào)度時間、重試間隔和最大重試次數(shù)等參數(shù);
[0061]步驟202,任務(wù)調(diào)用端模塊101向服務(wù)接口組件模塊102發(fā)送任務(wù)調(diào)度請求,請求消息中需指定當前調(diào)度任務(wù)的類型、是否需要將調(diào)度結(jié)果回執(zhí)等字段,調(diào)度任務(wù)啟動時間字段可選;
[0062]步驟203,服務(wù)接口組件模塊102在接收任務(wù)調(diào)度請求后,根據(jù)任務(wù)調(diào)度規(guī)則計算算法計算任務(wù)的啟動時間,并在數(shù)據(jù)庫中創(chuàng)建對應(yīng)的任務(wù)調(diào)度記錄;其中,需要根據(jù)統(tǒng)計周期內(nèi)的各個調(diào)度優(yōu)先級的任務(wù)計數(shù)器,計算出各個調(diào)度優(yōu)先級的任務(wù)數(shù)占總?cè)蝿?wù)數(shù)的比例。
[0063]步驟204,任務(wù)掃描組件103根據(jù)任務(wù)調(diào)度優(yōu)先級算法查詢出滿足任務(wù)啟動條件的任務(wù),掃描其任務(wù)調(diào)度記錄,并將任務(wù)調(diào)度記錄放入對應(yīng)的任務(wù)優(yōu)先級隊列中;其中,例如,系統(tǒng)級優(yōu)先級為3種(0、1、2),每種任務(wù)類型分為普通和緊急2種優(yōu)先級(0、1),故整個系統(tǒng)的最大調(diào)度優(yōu)先級級別數(shù)為6,但考慮到后續(xù)可能擴展系統(tǒng)級優(yōu)先級數(shù),故任務(wù)調(diào)度服務(wù)可配置其支持的最大調(diào)度系統(tǒng)級優(yōu)先級個數(shù),缺省為6。
[0064]步驟205,任務(wù)隊列組件模塊104按照優(yōu)先級隊列元素出隊列算法,將優(yōu)先級隊列中符合要求的任務(wù)調(diào)出,并發(fā)送給任務(wù)執(zhí)行模塊105執(zhí)行;其中,任務(wù)優(yōu)先級隊列元素出隊列算法包括:任務(wù)隊列組件按照各隊列的調(diào)度優(yōu)先級數(shù)逐一從每個任務(wù)隊列取出任務(wù)處理,先處理高優(yōu)先級隊列,再處理低優(yōu)先級隊列,然后循環(huán)。每輪循環(huán)中按照優(yōu)先級值6、5、4、3、2、1從對應(yīng)的隊列中取出元素;
[0065]步驟206,任務(wù)執(zhí)行模塊105在接收任務(wù)調(diào)度執(zhí)行請求后,觸發(fā)智能網(wǎng)平臺進行任務(wù)調(diào)度,并將執(zhí)行結(jié)果反饋給服務(wù)接口組件模塊102 ;
[0066]步驟207,由服務(wù)接口組件模塊102判斷調(diào)度是否成功,若成功則進入步驟208 ;若失敗則進入步驟209 ;
[0067]步驟208,由服務(wù)接口組件模塊102判斷任務(wù)調(diào)度請求是否需要回執(zhí),若需要回執(zhí),則進入步驟210 ;若不需要則進入步驟214,本次任務(wù)調(diào)度結(jié)束,服務(wù)接口組件模塊102將調(diào)度任務(wù)導(dǎo)入到任務(wù)歷史表中;
[0068]步驟209,由服務(wù)接口組件模塊102判斷調(diào)度任務(wù)的重試次數(shù)是否已超過最大重試次數(shù),若超過則回到步驟208 ;若不超過則進入步驟212,由服務(wù)接口組件模塊102計算任務(wù)重試啟動時間,供任務(wù)掃描組件模塊103掃描;
[0069]步驟210,由服務(wù)接口組件模塊102判斷回執(zhí)執(zhí)行結(jié)果給任務(wù)調(diào)用端101是否成功,若成功則進入步驟214,本次任務(wù)調(diào)度結(jié)束,服務(wù)接口組件模塊102將調(diào)度任務(wù)導(dǎo)入到任務(wù)歷史表中;若不成功則進入步驟213,由服務(wù)接口組件模塊102計算任務(wù)重試回執(zhí)時間,供任務(wù)掃描組件模塊103掃描。
[0070]如圖3所示,向服務(wù)接口組件模塊102請求調(diào)度的任務(wù)在創(chuàng)建和執(zhí)行的過程中,可以分為任務(wù)執(zhí)行和任務(wù)回執(zhí)兩個階段:
[0071]首先是服務(wù)接口組件模塊102在任務(wù)表里創(chuàng)建任務(wù),任務(wù)創(chuàng)建之后需要等待執(zhí)行;
[0072]在等待執(zhí)行的過程中會出現(xiàn)三種情況:
[0073]調(diào)度啟動成功則由任務(wù)執(zhí)行模塊105執(zhí)行任務(wù);
[0074]由任務(wù)調(diào)用端101主動取消任務(wù);
[0075]等待執(zhí)行且超時;
[0076]在執(zhí)行任務(wù)階段通常會有三種結(jié)果:
[0077]執(zhí)行成功,任務(wù)執(zhí)行模塊105返回任務(wù)執(zhí)行成功;
[0078]執(zhí)行失敗,可分為:任務(wù)執(zhí)行模塊105返回任務(wù)執(zhí)行失??;任務(wù)隊列組件模塊104返回任務(wù)啟動失敗;等待狀態(tài)的任務(wù)超時;
[0079]正在執(zhí)行超時;
[0080]任務(wù)表中的任務(wù)都需要回執(zhí),在任務(wù)回執(zhí)階段通常會有四種情況:
[0081]等待回執(zhí),回執(zhí)失敗但可重試;
[0082]回執(zhí)成功;
[0083]回執(zhí)失敗,回執(zhí)失敗且不可重試,或者回執(zhí)失敗且已超過最大重試次數(shù);
[0084]回執(zhí)超時,等待回執(zhí)超時;
[0085]如圖4所示,根據(jù)任務(wù)統(tǒng)計模塊106獲取調(diào)度周期內(nèi)的各個調(diào)度優(yōu)先級的任務(wù)計數(shù)器,計算出各個調(diào)度優(yōu)先級的任務(wù)數(shù)占總?cè)蝿?wù)數(shù)的比例。為避免某個調(diào)度優(yōu)先級不存在任務(wù)卻占用延遲時間片,因此本算法采用根據(jù)每個調(diào)度優(yōu)先級的任務(wù)數(shù)占所有調(diào)度優(yōu)先級的任務(wù)總數(shù)比例,來計算每個調(diào)度優(yōu)先級的任務(wù)啟動時間。
[0086]如圖5所示,本發(fā)明的實施例還提供一種任務(wù)調(diào)度方法,包括:
[0087]步驟501,發(fā)起任務(wù)調(diào)度請求;
[0088]步驟502,根據(jù)所述任務(wù)調(diào)度請求,創(chuàng)建任務(wù),并在數(shù)據(jù)庫中創(chuàng)建對應(yīng)的調(diào)度任務(wù)記錄;
[0089]步驟503,對所述調(diào)度任務(wù)記錄進行掃描,按照任務(wù)調(diào)度優(yōu)先級算法計算任務(wù)優(yōu)先級,再將任務(wù)放入對應(yīng)的優(yōu)先級隊列中;
[0090]步驟504按照優(yōu)先級隊列元素出隊列算法,在所述優(yōu)先級隊列中選擇當前要執(zhí)行的任務(wù);
[0091]步驟505執(zhí)行當前要執(zhí)行的任務(wù)。
[0092]進一步的,上述實施例還可以進一步包括:
[0093]步驟506任務(wù)執(zhí)行成功后,將執(zhí)行結(jié)果回執(zhí)給任務(wù)服務(wù)接口組件模塊102 ;
[0094]步驟507服務(wù)接口組件模塊102將結(jié)束的任務(wù)移動到任務(wù)歷史表中保存。
[0095]進一步地,所述任務(wù)調(diào)度方法,還包括:在任務(wù)重試時,服務(wù)接口組件應(yīng)按照任務(wù)規(guī)則算法計算任務(wù)的重新啟動時間。
[0096]進一步地,所述任務(wù)調(diào)度方法,還包括:對于結(jié)束且要求回執(zhí)的任務(wù),服務(wù)接口組件應(yīng)根據(jù)任務(wù)信息向任務(wù)調(diào)用端返回任務(wù)回執(zhí)信息。
[0097]該方法的實施例是與上述系統(tǒng)對應(yīng)的實施例,上述系統(tǒng)實施例中所有實現(xiàn)流程均適用于該方法的實施例,也能達到相同的技術(shù)效果。
[0098]本發(fā)明所述的任務(wù)調(diào)度服務(wù)系統(tǒng)及方法是基于系統(tǒng)分層構(gòu)建的思想,由中間服務(wù)層負責與內(nèi)部模塊交互實現(xiàn)定時任務(wù)的調(diào)度。具體來講,第一,對于外部用戶而言,任務(wù)的調(diào)度更加智能實時,而且支持任務(wù)調(diào)度系統(tǒng)模塊的多個部署;可以設(shè)置禁呼時段、啟呼延遲等功能;還能使用戶體驗到不同優(yōu)先級任務(wù)調(diào)度服務(wù)的差異性。第二,對于廠商和內(nèi)部工程部署維護而言,系統(tǒng)的配置簡單有效,操作方便;簡化業(yè)務(wù)應(yīng)用層處理邏輯,提高了任務(wù)調(diào)度服務(wù)執(zhí)行效率;實現(xiàn)參數(shù)配置的WEB界面化,方便管理員的管理維護;采用數(shù)據(jù)統(tǒng)計平臺,對系統(tǒng)用戶量、性能和穩(wěn)定性的統(tǒng)計更加清晰有據(jù)。本發(fā)明的上述實施例不僅簡化了業(yè)務(wù)應(yīng)用層的處理邏輯,提高了任務(wù)調(diào)度服務(wù)執(zhí)行效率,同時還增強了外部用戶對不同優(yōu)先級任務(wù)調(diào)度服務(wù)的差別化體驗。
[0099]以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
【權(quán)利要求】
1.一種任務(wù)調(diào)度服務(wù)系統(tǒng),其特征在于,包括: 任務(wù)調(diào)用端模塊,用于發(fā)起任務(wù)調(diào)度請求; 服務(wù)接口組件模塊,用于根據(jù)所述任務(wù)調(diào)度請求,創(chuàng)建任務(wù),并在數(shù)據(jù)庫中創(chuàng)建對應(yīng)的調(diào)度任務(wù)記錄; 任務(wù)掃描組件模塊,用于對所述調(diào)度任務(wù)記錄進行掃描,按照任務(wù)調(diào)度優(yōu)先級算法計算任務(wù)優(yōu)先級,再將任務(wù)放入對應(yīng)的優(yōu)先級隊列中; 任務(wù)隊列組件模塊,用于按照優(yōu)先級隊列元素出隊列算法在所述優(yōu)先級隊列中選擇當前要執(zhí)行的任務(wù); 任務(wù)執(zhí)行模塊,用于執(zhí)行所述當前要執(zhí)行的任務(wù)。
2.根據(jù)權(quán)利要求1所述的任務(wù)調(diào)度服務(wù)系統(tǒng),其特征在于,還包括: 任務(wù)統(tǒng)計模塊,用于獲取調(diào)度周期內(nèi)的所述任務(wù)調(diào)用端模塊發(fā)起的任務(wù)調(diào)度請求總數(shù)以及所述任務(wù)執(zhí)行模塊執(zhí)行成功的任務(wù)數(shù)和執(zhí)行失敗的任務(wù)數(shù)。
3.根據(jù)權(quán)利要求1所述的任務(wù)調(diào)度服務(wù)系統(tǒng),其特征在于,還包括: WEB管理模塊,用于配置任務(wù)的調(diào)度規(guī)則、系統(tǒng)參數(shù)以及查詢當前任務(wù)的處理進度。
4.根據(jù)權(quán)利要求1所述的任務(wù)調(diào)度服務(wù)系統(tǒng),其特征在于,所述服務(wù)接口組件模塊在創(chuàng)建任務(wù)時,具體用于:按照任務(wù)調(diào)度算法為任務(wù)計算啟動時間和分配任務(wù)號。
5.根據(jù)權(quán)利要求1所述的任務(wù)調(diào)度服務(wù)系統(tǒng),其特征在于,所述服務(wù)接口組件模塊還用于:接收所述任務(wù)執(zhí)行模塊的任務(wù)執(zhí)行結(jié)果報告、響應(yīng)所述任務(wù)執(zhí)行模塊對執(zhí)行失敗的任務(wù)進行任務(wù)重試或進行任務(wù)的回執(zhí)處理。
6.根據(jù)權(quán)利要求5所述的任務(wù)調(diào)度服務(wù)系統(tǒng),其特征在于,所述服務(wù)接口組件模塊還用于:在任務(wù)重試時,按照任務(wù)調(diào)度規(guī)則計算算法計算任務(wù)的重新啟動時間。
7.根據(jù)權(quán)利要求6所述的任務(wù)調(diào)度服務(wù)系統(tǒng),其特征在于,所述任務(wù)調(diào)度規(guī)則計算算法,具體是指: 創(chuàng)建任務(wù)時當前的系統(tǒng)時間+最大啟動延遲時長*(大于新任務(wù)調(diào)度優(yōu)先級的所有調(diào)度優(yōu)先級的任務(wù)數(shù)比例總和)。
8.根據(jù)權(quán)利要求5所述的任務(wù)調(diào)度服務(wù)系統(tǒng),其特征在于,所述服務(wù)接口組件模塊進行任務(wù)回執(zhí)處理時,具體用于:根據(jù)任務(wù)的信息向任務(wù)調(diào)用端模塊返回任務(wù)回執(zhí)信息。
9.根據(jù)權(quán)利要求1所述的任務(wù)調(diào)度服務(wù)系統(tǒng),其特征在于,所述服務(wù)接口組件模塊還用于:將執(zhí)行結(jié)束的任務(wù)移動到歷史表中保存。
10.根據(jù)權(quán)利要求1所述的任務(wù)調(diào)度服務(wù)系統(tǒng),其特征在于,所述任務(wù)掃描組件模塊還用于:在掃描到超時和過期的任務(wù)時,向服務(wù)接口組件模塊報告任務(wù)結(jié)果,使所述服務(wù)接口組件模塊對超時和過期的任務(wù)進行任務(wù)重試或進行任務(wù)的回執(zhí)處理。
11.根據(jù)權(quán)利要求1所述的任務(wù)調(diào)度服務(wù)系統(tǒng),其特征在于,所述任務(wù)隊列組件模塊還用于:在啟動任務(wù)發(fā)生異常時,向服務(wù)接口組件模塊報告任務(wù)結(jié)果,使所述服務(wù)接口組件模塊對啟動異常的任務(wù)進行任務(wù)重試或進行任務(wù)的回執(zhí)處理。
12.根據(jù)權(quán)利要求1所述的任務(wù)調(diào)度服務(wù)系統(tǒng),其特征在于,所述任務(wù)調(diào)度優(yōu)先級算法,具體是指: 新任務(wù)的任務(wù)類型對應(yīng)的系統(tǒng)級優(yōu)先級*2+任務(wù)優(yōu)先標志+1。
13.根據(jù)權(quán)利要求1所述的任務(wù)調(diào)度服務(wù)系統(tǒng),其特征在于,所述優(yōu)先級隊列元素出隊列算法,具體是指: 任務(wù)隊列組件模塊按照各隊列的調(diào)度優(yōu)先級逐一從每個任務(wù)隊列中取出任務(wù)處理,先處理高優(yōu)先級隊列中的任務(wù),再處理低優(yōu)先級隊列中的任務(wù),然后循環(huán)。
14.一種任務(wù)調(diào)度方法,其特征在于,包括: 發(fā)起任務(wù)調(diào)度請求; 根據(jù)所述任務(wù)調(diào)度請求,創(chuàng)建任務(wù),并在數(shù)據(jù)庫中創(chuàng)建對應(yīng)的調(diào)度任務(wù)記錄; 對所述調(diào)度任務(wù)記錄進行掃描,按照任務(wù)調(diào)度優(yōu)先級算法計算任務(wù)優(yōu)先級,再將任務(wù)放入對應(yīng)的優(yōu)先級隊列中; 按照優(yōu)先級隊列元素出隊列算法,在所述優(yōu)先級隊列中選擇當前要執(zhí)行的任務(wù); 執(zhí)行當前要執(zhí)行的任務(wù)。
15.根據(jù)權(quán)利要求14所述的任務(wù)調(diào)度方法,其特征在于,還包括: 在任務(wù)重試時,按照任務(wù)規(guī)則算法計算任務(wù)的重新啟動時間。
【文檔編號】G06F9/46GK104346215SQ201310342752
【公開日】2015年2月11日 申請日期:2013年8月7日 優(yōu)先權(quán)日:2013年8月7日
【發(fā)明者】劉海波, 賴天建, 漆動波, 王祺 申請人:中興通訊股份有限公司