本申請涉及互聯(lián)網(wǎng)領域,具體而言,涉及一種任務調(diào)度方法和裝置。
背景技術:隨著社會的發(fā)展,調(diào)度在生產(chǎn)、電力、交通指揮以及計算機作業(yè)控制等領域中得到了廣泛的應用。例如,數(shù)據(jù)倉庫是決策支持系統(tǒng)(DecisionSupportSystem,簡稱為DSS)和聯(lián)機分析應用數(shù)據(jù)源的結構化數(shù)據(jù)環(huán)境,基于數(shù)據(jù)倉庫的調(diào)度系統(tǒng)一般會通過任務來描述數(shù)據(jù)倉庫的一個業(yè)務處理流程。然而,隨著需要處理的業(yè)務數(shù)量的增多,調(diào)度系統(tǒng)需要負責的任務也越來越多。各個任務之間存在一定的依賴關系。如圖1所示,任務12、13和14依賴于任務11完成之后才能被執(zhí)行,任務17依賴于任務13完成之后才能被執(zhí)行,任務15依賴于任務12完成之后才能被執(zhí)行,任務18依賴于任務13、14、15以及17完成之后才能被執(zhí)行。以圖1為例進行說明,當任務11完成后,任務12、13和14才可以開始被執(zhí)行,這時任務12、13和14請求執(zhí)行所需的資源,然而,同一時間整個系統(tǒng)的處理能力有限,當多個任務等待同一個系統(tǒng)資源的時候,必然會出現(xiàn)系統(tǒng)資源的競爭問題。這時,每一個任務會按照自身權重的大小排隊請求系統(tǒng)資源,即,權重大的優(yōu)先獲取請求的資源。通過上述方式,任務權重的大小就顯得尤為重要。一般情況下,任務調(diào)度系統(tǒng)對業(yè)務處理有一個容忍時段,被調(diào)度執(zhí)行的任務需要在規(guī)定的時間點之前完成,否則該任務將被延遲執(zhí)行。任務權重決定了任務執(zhí)行的先后順序?,F(xiàn)有技術中,任務權重是根據(jù)任務的優(yōu)先級和平均處理時間等因素按照某種規(guī)則事先計算得出,一旦確認好每個任務的任務權重該任務對應的權重將不再發(fā)生變化,即,任務權重的分配是靜態(tài)的。然而,對任務的每一次調(diào)度,會受到多種因素的影響,這些因素主要有:數(shù)據(jù)量的大小、系統(tǒng)的繁忙程度以及網(wǎng)絡負載等。在任務調(diào)度的過程中,每個任務的完成時間是不同的,任務之間還存在一定的依賴關系,因此,在同一時刻請求系統(tǒng)資源的任務也必然是不同的。對于現(xiàn)有技術中的靜態(tài)權重不能根據(jù)當前系統(tǒng)的調(diào)度情況對等待資源的任務的執(zhí)行先后順序進行合理地調(diào)配,使得任務很難在調(diào)度服務器容忍的時間段內(nèi)執(zhí)行完成。針對上述問題,目前尚未提出有效的解決方案。
技術實現(xiàn)要素:本申請?zhí)峁┝艘环N任務調(diào)度方法和裝置,以至少現(xiàn)有技術中任務權重一旦設置完成便不再變動而造成的任務很難在調(diào)度服務器容忍的時間段內(nèi)執(zhí)行完成,使得系統(tǒng)調(diào)度出現(xiàn)異常的技術問題。根據(jù)本申請的一個方面,提供了一種任務調(diào)度方法,包括:每隔預定的周期檢測為處于未執(zhí)行或等待執(zhí)行狀態(tài)的第一任務所設置的期望完成時間與當前系統(tǒng)時間之間的間隔是否小于預定時間;若間隔小于預定時間,則根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重以及與第一任務存在依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的第二任務的當前權重進行調(diào)整;根據(jù)調(diào)整后的權重的大小按順序?qū)λ形磮?zhí)行或等待執(zhí)行狀態(tài)的任務進行調(diào)度。優(yōu)選地,根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重以及與第一任務存在依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的第二任務的當前權重進行調(diào)整的步驟包括:根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重和第二任務的當前權重進行增加。優(yōu)選地,根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重以及與第一任務存在依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的第二任務的當前權重進行調(diào)整的步驟包括:在根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重和第二任務的當前權重進行增加之前,通過以下遞歸步驟獲取第二任務,其中,當前任務的初始值為第一任務:步驟A:判斷當前任務是否存在具有依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的前一個任務,其中,依賴關系指的是當前任務的執(zhí)行依賴于前一個任務的執(zhí)行;步驟B:若存在,則將該當前任務記錄為第二任務中的任務,并將每一個前一個任務分別設置為當前任務,轉(zhuǎn)至執(zhí)行步驟A;若不存在,則停止執(zhí)行對當前任務的遞歸步驟。優(yōu)選地,按照如下公式,根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重以及與第一任務存在依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的第二任務的當前權重進行調(diào)整:w=w+[(W-w)/K]×D其中,w為第一任務和第二任務中的每一個任務的當前權重;W為系統(tǒng)允許任務的最大權重;K為預定時間;D為預定的周期。優(yōu)選地,每隔預定的周期檢測為處于未執(zhí)行或等待執(zhí)行狀態(tài)的第一任務所設置的期望完成時間與當前系統(tǒng)時間之間的間隔是否小于預定時間的步驟包括:每隔預定的周期檢測是否存在處于未執(zhí)行或等待執(zhí)行狀態(tài)的任務;若存在,則判斷是否為處于未執(zhí)行或等待執(zhí)行狀態(tài)的任務設置了期望完成時間;若設置了期望完成時間,則判斷期望完成時間與當前系統(tǒng)時間之間的間隔是否小于預定時間。根據(jù)本申請的另一方面,提供了一種任務調(diào)度裝置,包括:檢測單元,用于每隔預定的周期檢測為處于未執(zhí)行或等待執(zhí)行狀態(tài)的第一任務所設置的期望完成時間與當前系統(tǒng)時間之間的間隔是否小于預定時間;調(diào)整單元,用于在間隔小于預定時間時,則根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重以及與第一任務存在依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的第二任務的當前權重進行調(diào)整;調(diào)度單元,用于根據(jù)調(diào)整后的權重的大小按順序?qū)λ形磮?zhí)行或等待執(zhí)行狀態(tài)的任務進行調(diào)度。優(yōu)選地,調(diào)整單元還用于根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重和第二任務的當前權重進行增加。優(yōu)選地,該任務調(diào)度裝置還包括:獲取單元,用于通過以下遞歸步驟獲取第二任務,其中,當前任務的初始值為第一任務:步驟A:判斷當前任務是否存在具有依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的前一個任務,其中,依賴關系指的是當前任務的執(zhí)行依賴于前一個任務的執(zhí)行;步驟B:若存在,則將該當前任務記錄為第二任務中的任務,并將每一個前一個任務分別設置為當前任務,轉(zhuǎn)至執(zhí)行步驟A;若不存在,則停止執(zhí)行對當前任務的遞歸步驟。優(yōu)選地,調(diào)整單元根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重以及與第一任務存在依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的第二任務的當前權重進行調(diào)整的步驟包括:w=w+[(W-w)/K]×D其中,w為第一任務和第二任務中的每一個任務的當前權重;W為系統(tǒng)允許任務的最大權重;K為預定時間;D為預定的周期。優(yōu)選地,檢測單元包括:檢測模塊,用于每隔預定的周期檢測是否存在處于未執(zhí)行或等待執(zhí)行狀態(tài)的任務;第一判斷模塊,用于在存在處于未執(zhí)行或等待執(zhí)行狀態(tài)的任務時,判斷是否為處于未執(zhí)行或等待執(zhí)行狀態(tài)的任務設置了期望完成時間;第二判斷模塊,用于在設置了期望完成時間時,判斷期望完成時間與當前系統(tǒng)時間之間的間隔是否小于預定時間。在本申請中,對任務的期望完成時間和系統(tǒng)當前時間之間的間隔進行判斷,當其小于預定時間時,則動態(tài)地調(diào)整上述任務的權重,使得調(diào)整后的權重能夠保證該任務在期望完成時間內(nèi)完成,通過這種權重的動態(tài)調(diào)整,解決了現(xiàn)有技術中任務權重一旦設置完成便不再變動而造成的任務很難在調(diào)度服務器容忍的時間段內(nèi)執(zhí)行完成,使得系統(tǒng)調(diào)度出現(xiàn)異常的技術問題,達到了對任務進行合理有效地調(diào)度的技術效果,提高了系統(tǒng)的穩(wěn)定性。附圖說明此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:圖1是根據(jù)相關技術的任務之間的依賴的關系示意圖;圖2是根據(jù)本申請實施例的任務調(diào)度系統(tǒng)的一種優(yōu)選結構框圖;圖3是根據(jù)本申請實施例的任務調(diào)度裝置的一種優(yōu)選結構框圖;圖4是根據(jù)本申請實施例的任務調(diào)度裝置的另一種優(yōu)選結構框圖;圖5是根據(jù)本申請實施例的任務調(diào)度裝置的又一種優(yōu)選結構框圖;圖6是根據(jù)本申請實施例的任務調(diào)度方法的一種優(yōu)選流程圖;圖7是根據(jù)本申請實施例的任務調(diào)度方法的另一種優(yōu)選流程圖。具體實施方式下文中將參考附圖并結合實施例來詳細說明本申請。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。在描述本申請的各實施例的進一步細節(jié)之前,將參考圖2來描述可用于實現(xiàn)本申請的原理的一個合適的計算體系結構。在以下描述中,除非另外指明,否則將參考由一個或多個計算機執(zhí)行的動作和操作的符號表示來描述本申請的各實施例。由此,可以理解,有時被稱為計算機執(zhí)行的這類動作和操作包括計算機的處理單元對以結構化形式表示數(shù)據(jù)的電信號的操縱。這一操縱轉(zhuǎn)換了數(shù)據(jù)或在計算機的存儲器系統(tǒng)中的位置上維護它,這以本領域的技術人員都理解的方式重配置或改變了計算機的操作。維護數(shù)據(jù)的數(shù)據(jù)結構是具有數(shù)據(jù)的格式所定義的特定屬性的存儲器的物理位置。然而,盡管在上述上下文中描述本申請,但它并不意味著限制性的,如本領域的技術人員所理解的,后文所描述的動作和操作的各方面也可用硬件來實現(xiàn)。轉(zhuǎn)向附圖,其中相同的參考標號指代相同的元素,本申請的原理被示為在一個合適的計算環(huán)境中實現(xiàn)。以下描述基于所述的本申請的實施例,并且不應認為是關于此處未明確描述的替換實施例而限制本申請。圖2示出了可用于這些設備的一個示例計算機體系結構的示意圖。出于描述的目的,所繪的體系結構僅為合適環(huán)境的一個示例,并非對本申請的使用范圍或功能提出任何局限。也不應將該計算系統(tǒng)解釋為對圖1所示的任一組件或其組合具有任何依賴或需求。本申請的原理可以使用其它通用或?qū)S糜嬎慊蛲ㄐ怒h(huán)境或配置來操作。適用于本申請的眾所周知的計算系統(tǒng)、環(huán)境和配置的示例包括但不限于,個人計算機、服務器,多處理器系統(tǒng)、基于微處理的系統(tǒng)、小型機、大型計算機、以及包括任一上述系統(tǒng)或設備的分布式計算環(huán)境。在其最基本的配置中,圖2中的任務調(diào)度系統(tǒng)200至少包括:一個網(wǎng)站的服務器202以及一個或多個客戶端204。服務器202可以包括但不限于微處理器MCU或可編程邏輯器件FPGA等的處理裝置、用于存儲數(shù)據(jù)的存儲裝置以及與客戶端通信的傳輸裝置;客戶端104可以包括:微處理器MCU、與服務器通信的傳輸裝置、與用戶交互的顯示裝置。在本說明書和權利要求書中,“系統(tǒng)”也可以被定義為能夠執(zhí)行軟件、固件或微碼來實現(xiàn)功能的任何硬件組件或硬件組件的組合。任務調(diào)度系統(tǒng)200甚至可以是分布式的,以實現(xiàn)分布式功能。如本申請所使用的,術語“模塊”、“組件”或“單元”可以指在任務調(diào)度系統(tǒng)200上執(zhí)行的軟件對象或例程。此處所描述的不同組件、模塊、單元、引擎和服務可被實現(xiàn)為在任務調(diào)度系統(tǒng)200上執(zhí)行(例如,作為單獨的線程)的對象或進程。盡管此處所描述的系統(tǒng)和方法較佳地以軟件來實現(xiàn),但是硬件或軟件和硬件的組合的實現(xiàn)也是可能并被構想的。實施例1在任務調(diào)度系統(tǒng)中的任務一般有五種狀態(tài):未執(zhí)行、等待執(zhí)行、正在執(zhí)行、執(zhí)行成功以及執(zhí)行失敗。該五種狀態(tài)具體表示如下:未執(zhí)行,表明該任務所依賴的所有任務還沒有執(zhí)行成功,因此該任務處于未執(zhí)行狀態(tài);等待執(zhí)行,表明該任務在等待系統(tǒng)資源;正在執(zhí)行,表明該任務正在執(zhí)行;執(zhí)行成功,表明該任務被成功執(zhí)行;執(zhí)行失敗,表明該任務執(zhí)行失敗,若任務執(zhí)行失敗,則依賴該任務的任務將不能被執(zhí)行。本申請實施例提供了一種優(yōu)選的任務調(diào)度裝置,優(yōu)選的,本實施例中的裝置位于服務器202上或者客戶端204上。如圖3所示,該任務調(diào)度裝置可以包括:檢測單元302,用于每隔預定的周期檢測為處于未執(zhí)行或等待執(zhí)行狀態(tài)的第一任務所設置的期望完成時間與當前系統(tǒng)時間之間的間隔是否小于預定時間;調(diào)整單元304,用于在間隔小于預定時間時,則根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重以及與第一任務存在依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的第二任務的當前權重進行調(diào)整;調(diào)度單元306,用于根據(jù)調(diào)整后的權重的大小按順序?qū)ξ磮?zhí)行或等待執(zhí)行狀態(tài)的任務進行調(diào)度。在上述優(yōu)選實施方式中,對任務的期望完成時間和系統(tǒng)當前時間之間的間隔進行判斷,當其小于預定時間時,則動態(tài)地調(diào)整上述任務的權重,使得調(diào)整后的權重能夠保證該任務在期望完成時間內(nèi)完成,通過這種任務權重的動態(tài)調(diào)整,解決了現(xiàn)有技術中任務權重一旦設置完成便不再變動而造成的任務很難在調(diào)度服務器容忍的時間段內(nèi)執(zhí)行完成,使得系統(tǒng)調(diào)度出現(xiàn)異常的技術問題,達到了對任務進行合理有效地調(diào)度的技術效果,提高了系統(tǒng)的穩(wěn)定性。為了使得期望完成時間與當前系統(tǒng)時間之間的間隔是否小于預定時間的任務可以在期望完成時間前完成,在一個優(yōu)選實施方式中,調(diào)整單元306還用于根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重和第二任務的當前權重進行增加。在上述優(yōu)選實施方式中,增加在期望完成時間前難以執(zhí)行完成的任務以及與該任務存在依賴關系的任務的任務權重,使得該任務與該任務存在依賴關系的任務可以優(yōu)先被執(zhí)行,一定程度上保證了該任務可以在期望完成時間前執(zhí)行完成。因在業(yè)務中,每個任務對應直接的存在依賴關系的任務,也存在與該存在依賴關系的任務存在依賴關系的任務,因此不能僅僅判斷與該任務存在直接依賴關系的任務還要判斷與該任務存在間接依賴關系的任務,在一個優(yōu)選實施方式中,如圖4所示,該任務調(diào)度裝置還包括:獲取單元402,用于通過以下遞歸步驟獲取第二任務,其中,當前任務的初始值為第一任務:步驟A:判斷當前任務是否存在具有依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的前一個任務,其中,依賴關系指的是當前任務的執(zhí)行依賴于前一個任務的執(zhí)行;步驟B:若存在,則將該當前任務記錄為第二任務中的任務,并將每一個前一個任務分別設置為當前任務,轉(zhuǎn)至執(zhí)行步驟A;若不存在,則停止執(zhí)行對當前任務的遞歸步驟。以圖1所示的任務之間的依賴關系為例來說明如何進行上述的遞歸過程,例如,當18處于當前任務時,首先判斷和18有依賴關系的任務有13、12、14、17以及15,若現(xiàn)在13、17、15處于未執(zhí)行狀態(tài)或者是等待狀態(tài),因此將任務13、17、15記錄為第二任務中的任務,同時則分別判斷與任務13、17、15有依賴關系的任務是否處于未執(zhí)行或者等待狀態(tài)。以任務13作為當前任務進行判斷,與任務13存在依賴關系的任務是任務11,現(xiàn)在任務11已經(jīng)被執(zhí)行,因此結束關于任務13的遞歸過程。以任務17作為當前任務,與任務17存在依賴的關系的任務是任務13,此時任務13處于未執(zhí)行狀態(tài),因此將任務17記錄為第二任務中的任務,同時將任務13作為當前任務進行判斷,與任務13存在依賴關系的任務是任務11,現(xiàn)在任務11已經(jīng)被執(zhí)行,因此結束關于任務17的遞歸過程。以任務15作為當前任務,與任務15存在依賴關系的任務是任務12,因任務12已經(jīng)被執(zhí)行,因此結束關于任務15的遞歸過程。從而,完成了通過遞歸步驟獲取第二任務的過程。在上述優(yōu)選實施方式中,采用遞歸的方式找出業(yè)務中與該任務存在直接、間接依賴關系的任務,將這些任務都作為需要調(diào)整的第二任務,從而保證了不會因為在該任務以前的任務一直未被執(zhí)行而照成該任務的延遲執(zhí)行,保證了任務的有效調(diào)度執(zhí)行。在一個優(yōu)選實施方式中,調(diào)整單元可以按照如下公式根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重以及與第一任務存在依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的第二任務的當前權重進行調(diào)整:w=w+[(W-w)/K]×D其中,w為第一任務和第二任務中的每一個任務的當前權重;W為系統(tǒng)允許任務的最大權重;K為預定時間;D為預定的周期。在上述優(yōu)選實施方式中,通過上述公式得到的任務權重保證了需要優(yōu)先調(diào)度的任務的任務的權重被增加,同時也保證了作為第二任務的任務之間仍然遵循著以前的優(yōu)先級順序,保證了任務可以被有效合理地被調(diào)度。在實際的任務中,有些任務設置了期望完成時間,有些任務未設定期望完成時間,對于未設定期望完成時間的任務不需要對其進行上述的任務權重的調(diào)整,為了減少不必要的資源浪費,在一個優(yōu)選實施方式中,如圖5所示,檢測單元包括:檢測模塊502,用于每隔預定的周期檢測是否存在處于未執(zhí)行或等待執(zhí)行狀態(tài)的任務;第一判斷模塊504,用于在存在處于未執(zhí)行或等待執(zhí)行狀態(tài)的任務時,判斷是否為處于未執(zhí)行或等待執(zhí)行狀態(tài)的任務設置了期望完成時間;第二判斷模塊506,用于在設置了期望完成時間時,判斷期望完成時間與當前系統(tǒng)時間之間的間隔是否小于預定時間。在上述優(yōu)選實施方式中,僅對設定了期望完成時間的任務進行判斷和任務權值的調(diào)整,對于未設定期望完成時間的任務不對其進行判斷和調(diào)整,從而減少了不必要的系統(tǒng)損耗,提高了系統(tǒng)資源的利用率。實施例2在圖3-圖5所示的任務調(diào)度裝置的基礎上,本申請?zhí)峁┝艘环N優(yōu)選的任務調(diào)度方法。如圖6所示,該方法可以包括如下步驟:S602:每隔預定的周期檢測為處于未執(zhí)行或等待執(zhí)行狀態(tài)的第一任務所設置的期望完成時間與當前系統(tǒng)時間之間的間隔是否小于預定時間;例如,以每5分鐘為周期周期性的對任務進行檢測,判斷上述的處于未執(zhí)行或等待執(zhí)行狀態(tài)的第一任務所設置的期望完成時間與當前系統(tǒng)時間之間的間隔是否小于60分鐘,即兩者時間的時間差是否在1個小時以內(nèi)。S604:若間隔小于預定時間,則根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重以及與第一任務存在依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的第二任務的當前權重進行調(diào)整;例如,將間隔小于60分鐘的任務作為需要進行權值調(diào)整的第一任務,將其設為任務T,查找任務T所依賴的所有任務,假設為任務t,將任務t中所有處于未執(zhí)行或等待執(zhí)行的任務錄進入數(shù)組W中,對W中的任務的當前權重進行調(diào)整。S606:根據(jù)調(diào)整后的權重的大小按順序?qū)ξ磮?zhí)行或等待執(zhí)行狀態(tài)的任務進行調(diào)度。在上述優(yōu)選實施方式中,對任務的期望完成時間和系統(tǒng)當前時間之間的間隔進行判斷,當其小于預定時間時,則動態(tài)地調(diào)整上述任務的權重,使得調(diào)整后的權重能夠保證該任務在期望完成時間內(nèi)完成,通過這種任務權重的動態(tài)調(diào)整,解決了現(xiàn)有技術中任務權重一旦設置完成便不再變動而造成的任務很難在調(diào)度服務器容忍的時間段內(nèi)執(zhí)行完成,使得系統(tǒng)調(diào)度出現(xiàn)異常的技術問題,達到了對任務進行合理有效地調(diào)度的技術效果,提高了系統(tǒng)的穩(wěn)定性。為了使得期望完成時間與當前系統(tǒng)時間之間的間隔是否小于預定時間的任務可以在期望完成時間前完成,在一個優(yōu)選實施方式中,根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重以及與第一任務存在依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的第二任務的當前權重進行調(diào)整就是:根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重和第二任務的當前權重進行增加。在上述優(yōu)選實施方式中,增加在期望完成時間前難以執(zhí)行完成的任務以及與該任務存在依賴關系的任務的任務權重,使得該任務與與該任務存在依賴關系的任務可以優(yōu)先被執(zhí)行,一定程度上保證了該任務可以在期望完成時間前執(zhí)行完成。因在業(yè)務中,每個任務對應直接的存在依賴關系的任務,也存在與該存在依賴關系的任務存在依賴關系的任務,因此不能僅僅判斷與該任務存在直接依賴關系的任務還要判斷與該任務存在間接依賴關系的任務,在一個優(yōu)選實施方式中,根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重以及與第一任務存在依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的第二任務的當前權重進行調(diào)整的步驟包括:在根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重和第二任務的當前權重進行增加之前,通過以下遞歸步驟獲取第二任務,其中,當前任務的初始值為第一任務:步驟A:判斷當前任務是否存在具有依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的前一個任務,其中,依賴關系指的是當前任務的執(zhí)行依賴于前一個任務的執(zhí)行;步驟B:若存在,則將該當前任務記錄為第二任務中的任務,并將每一個前一個任務分別設置為當前任務,轉(zhuǎn)至執(zhí)行步驟A;若不存在,則停止執(zhí)行對當前任務的遞歸步驟。以圖1所示的任務之間的依賴關系為例來說明如何進行上述的遞歸過程,例如,當18處于當前任務時,首先判斷和18有依賴關系的任務有13、12、14、17以及15,若現(xiàn)在13、17、15處于未執(zhí)行狀態(tài)或者是等待狀態(tài),因此將任務13、17、15記錄為第二任務中的任務,同時則分別判斷與任務13、17、15有依賴關系的任務是否處于未執(zhí)行或者等待狀態(tài)。以任務13作為當前任務進行判斷,與任務13存在依賴關系的任務是任務11,現(xiàn)在任務11已經(jīng)被執(zhí)行,因此結束關于任務13的遞歸過程。以任務17作為當前任務,與任務17存在依賴的關系的任務是任務13,此時任務13處于未執(zhí)行狀態(tài),因此將任務17記錄為第二任務中的任務,同時將任務13作為當前任務進行判斷,與任務13存在依賴關系的任務是任務11,現(xiàn)在任務11已經(jīng)被執(zhí)行,因此結束關于任務17的遞歸過程。以任務15作為當前任務,與任務15存在依賴關系的任務是任務12,因任務12已經(jīng)被執(zhí)行,因此結束關于任務15的遞歸過程。從而,完成了通過遞歸步驟獲取第二任務的過程。在上述優(yōu)選實施方式中,采用遞歸的方式找出業(yè)務中與該任務存在直接、間接依賴關系的任務,將這些任務都作為需要調(diào)整的第二任務,從而保證了不會因為在該任務以前的任務一直未被執(zhí)行而照成該任務的延遲執(zhí)行,保證了任務的有效調(diào)度執(zhí)行。在一個優(yōu)選實施方式中,可以按照如下公式,根據(jù)第一任務的當前權重、預定的周期、系統(tǒng)允許任務的最大權重以及預定時間對第一任務的當前權重以及與第一任務存在依賴關系的、且處于未執(zhí)行或等待執(zhí)行狀態(tài)的第二任務的當前權重進行調(diào)整:w=w+[(W-w)/K]×D其中,w為第一任務和第二任務中的每一個任務的當前權重;W為系統(tǒng)允許任務的最大權重;K為預定時間;D為預定的周期。在上述優(yōu)選實施方式中,通過上述公式得到的任務權重保證了需要優(yōu)先調(diào)度的任務的任務的權重被增加,同時也保證了作為第二任務的任務之間仍然遵循著以前的優(yōu)先級順序,保證了任務可以被有效合理地被調(diào)度。在實際的任務中,有些任務設置了期望完成時間,有些任務未設定期望完成時間,對于未設定期望完成時間的任務不需要對其進行上述的任務權重的調(diào)整,為了減少不必要的資源浪費,在一個優(yōu)選實施方式中,每隔預定的周期檢測為處于未執(zhí)行或等待執(zhí)行狀態(tài)的第一任務所設置的期望完成時間與當前系統(tǒng)時間之間的間隔是否小于預定時間如圖7所示,包括:S702:每隔預定的周期檢測是否存在處于未執(zhí)行或等待執(zhí)行狀態(tài)的任務;S704:若存在,則判斷是否為處于未執(zhí)行或等待執(zhí)行狀態(tài)的任務設置了期望完成時間;S706:若設置了期望完成時間,則判斷期望完成時間與當前系統(tǒng)時間之間的間隔是否小于預定時間。在上述優(yōu)選實施方式中,僅對設定了期望完成時間的任務進行判斷和任務權值的調(diào)整,對于未設定期望完成時間的任務不對其進行判斷和調(diào)整,從而減少了不必要的系統(tǒng)損耗,提高了系統(tǒng)資源的利用率。實施例3任務容忍時段,即,期望完成時間可以采用如下方式描述:任務號(期望完成時間點)例如:15(0009***)或者18(0010***)等。也可采用如表1所示的方式表示:表1任務號期望完成時間15(0009***)18(0010***)在表1中,第一列是任務號,第二列可以采用類似crontab格式的文件來描述任務期望完成時間點,即,容忍時段。因為調(diào)度系統(tǒng)每天都會對任務調(diào)度執(zhí)行一次,因此用(0009***)表示每天上午9點,即,容忍時段為:00:00:00-09:00:00。還需要有一個解析模塊,該解析模塊要解析出任務的執(zhí)行日期,以及該任務期望完成的時間點。例如,調(diào)度的當前日期為:2012-01-24,要根據(jù)當前日期明確任務的期望完成時間點是2012-01-24日的09:00:00而不是2012-01-25日的09:00:00或者其他日期。因為,如果僅僅依據(jù)09:00:00來判斷任務是否完成,對于在對于2012-01-24日的09:00:00未完成的任務,如果按照2012-01-24日的09:00:00來看,任務已經(jīng)超時,而按照2012-01-25日的09:00:00來看,任務則沒有超時。因此,在本申請各個實施方式中,必須將時間明確到具體日期2012-01-24日的09:00:00,從而實現(xiàn)對超時與否的正確判斷。調(diào)度系統(tǒng)啟動一個監(jiān)控進程,該監(jiān)控進程負責監(jiān)控整個系統(tǒng)當前任務的運行情況,并根據(jù)解析出的期望完成時間,周期性(例如:檢測周期D為5分鐘)地按某種預定的算法動態(tài)調(diào)整任務對應的任務權重,以保證任務在期望完成時間點之前執(zhí)行完成。對任務權值進行調(diào)整的步驟包括:S1:檢測是否有設置了期望完成時間的任務處于未執(zhí)行或等待執(zhí)行的狀態(tài)的任務,如果有,則將該任務標記為T,執(zhí)行S2,否則結束該流程。S2:對設置了期望完成時間的任務進行檢查,判斷該任務對應的期望完成時間與系統(tǒng)當前時間的間隔是否小于預定的時間K,例如,預定時間為K=60分鐘,即,期望完成時間與當前時間相差是否小于60分鐘,若是,則執(zhí)行S3;否則,結束該流程。S3:采用遞歸的算法查找任務T所依賴的所有任務:假設為t,檢測任務t的狀態(tài),如果任務t狀態(tài)為未執(zhí)行或等待執(zhí)行,則將該任務t記錄進入數(shù)組W中,如果任務t的狀態(tài)為執(zhí)行成功或正在執(zhí)行,則停止對該任務t的遞歸流程;如果任務t的狀態(tài)為執(zhí)行失敗,則對該任務T標記變量flag=failed,則表明任務T不可能被執(zhí)行,因此結束該調(diào)整流程,否則,將數(shù)組W中所有任務t權重增加[(W-w)/K]*D。其中,W為任務允許的最大權重、w為任務當前權重、D為預定的檢測周期(比如,10分鐘)、K為預定時間。結合上述優(yōu)選實施例,本申請達到了如下效果:在本申請中,結合當前任務的不同調(diào)度情況動態(tài)調(diào)整任務權重實現(xiàn)了對任務的合理有效的調(diào)度。不是單個任務的調(diào)整,而是所有相關任務的一致調(diào)整。對任務的期望完成時間和系統(tǒng)當前時間之間的間隔進行判斷,當其小于預定時間時,則動態(tài)地調(diào)整上述任務的權重,使得調(diào)整后的權重能夠保證該任務在期望完成時間內(nèi)完成,通過這種權重的動態(tài)調(diào)整,解決了現(xiàn)有技術中任務權重一旦設置完成便不再變動而造成的任務很難在調(diào)度服務器容忍的時間段內(nèi)執(zhí)行完成,使得系統(tǒng)調(diào)度出現(xiàn)異常的技術問題,達到了對任務進行合理有效地調(diào)度的技術效果,提高了系統(tǒng)的穩(wěn)定性。顯然,本領域的技術人員應該明白,上述的本申請的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本申請不限制于任何特定的硬件和軟件結合。以上所述僅為本申請的優(yōu)選實施例而已,并不用于限制本申請,對于本領域的技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本申請的保護范圍之內(nèi)。