新四季網

一種分布式多任務調度管理系統的製作方法

2023-09-18 15:21:05 2

一種分布式多任務調度管理系統的製作方法
【專利摘要】本發明公開了一種分布式多任務調度管理系統,包括:數據存儲裝置;調度管理裝置,與數據存儲裝置相連,用於接收用戶提交的任務模型並保存到數據存儲裝置中;多個任務執行裝置,分別與數據存儲裝置相連,用於從數據存儲裝置中獲取各自所需的至少一個任務模型,然後根據任務模型創建任務實例並運行,同時將任務實例的屬性及運行狀態保存到所述數據存儲裝置中;在任務實例執行過程中,實時更新所述運行狀態;其中,所述調度管理裝置包括管理接口,供用戶對任務模型和/或任務實例執行管理操作。本發明能夠對分布式環境下需在不同應用伺服器上運行的定時任務進行統一的發布及運行時管理,實現了對分布式環境下執行的多個任務進行統一的管理和調度。
【專利說明】一種分布式多任務調度管理系統
【技術領域】
[0001]本發明涉及計算機信息處理【技術領域】,尤其涉及一種分布式多任務調度管理系統。
【背景技術】
[0002]計算機已經應用到各個行業,為社會的高速發展起到了很大的促進作用。隨著計算機軟體應用越來越廣泛和持久,人們工作越來越多地依賴軟體來提高工作效率和規範企業的流程管理。在這樣的一種趨勢和壓力下,軟體行業一直在不斷地發展和創新,以滿足越來越多的社會要求。同時軟體開發的技術也得到了很大的發展,針對各方面的要求產生了許多專門的處理技術,這其中就包括定時器處理技術。
[0003]在軟體程序中經常要實現這樣的任務,比如每天或每周星期二晚上,或許僅僅每個月的最後一天執行。一個自動執行而無須幹預的任務在執行過程中如果發生一個嚴重錯誤,應該能夠知道其執行失敗並嘗試重新執行。這種任務常見的有數據備份、數據挖掘、日誌分析、排行統計等。這種工作任務的特性就是有規律地重複執行,如果通過人為完成這些任務,比較困難也不安全。
[0004]企業管理系統後臺中目前運行的定時任務主要依賴於linux cixmtab或基於java的quartz框架。優點是實現簡單,將任務封裝為action (crontab)或實現Quartz的Job接口後利用cron表達式進行配置即可定時觸發。缺點是只能在單機環境下部署執行,且無法監控任務的運行情況。

【發明內容】

[0005]為克服以上問題,本發明提出了如下技術方案:
[0006]一種分布式多任務調度管理系統,其特徵在於包括:
[0007]數據存儲裝置;
[0008]調度管理裝置,與所述數據存儲裝置相連接,用於接收用戶提交的任務模型並將所接收的任務模型保存到所述數據存儲裝置中;
[0009]多個任務執行裝置,分別與所述數據存儲裝置相連接,用於從數據存儲裝置中獲取各自所需的至少一個任務模型,然後根據獲取的任務模型創建任務實例並運行,同時將任務實例的屬性及運行狀態保存到所述數據存儲裝置中;在任務實例執行過程中,實時更新所述運行狀態;
[0010]其中,所述調度管理裝置包括管理接口,供用戶對任務模型和/或任務實例執行管理操作。
[0011 ] 進一步地,所述管理接口包括任務實例管理接口,用戶通過該接口執行任務實例管理操作,包括:監控任務實例的屬性和運行狀態、和/或改變任務實例的運行狀態。
[0012]其中,所述改變任務實例的運行狀態包括:終止、暫停、恢復、遷移、或重新執行任務實例。[0013]進一步地,所述管理接口包括任務模型管理接口,用戶能夠通過該接口執行任務模型管理操作,包括:創建任務模型、暫停、恢復、遷移、修改、和/或刪除任務模型。
[0014]進一步地,所述管理接口為Web界面接口。
[0015]進一步地,所述任務模型包括:
[0016]任務執行裝置標識,指示能夠執行該任務模型的實例的任務執行裝置;其中,為每個任務執行裝置預先分配有一個互不相同的標識以示區分;
[0017]任務名稱,用於指示所執行任務的名稱;
[0018]任務執行計劃表達式,用於定義任務執行的時間點;
[0019]任務文件,包括在任務執行裝置上執行特定任務的程序及所依賴的類庫;
[0020]任務描述信息,包括對該任務模型所執行的任務的描述信息。
[0021]進一步地,所述任務執行裝置標識包括以下任一項:任務執行裝置的名稱、任務執行裝置的ID、任務執行裝置的網絡地址。
[0022]進一步地,所述任務執行計劃表達式是cron表達式。
[0023]進一步地,所述任務執行裝置從數據存儲裝置中獲取所需的任務模型,具體為:任務執行裝置從數據存儲裝置中查找與自己具有相同任務執行裝置標識的任務模型,並返回當前任務執行裝置。
[0024]進一步地,所述數據存儲裝置還用於存儲任務實例和/或任務模型的狀態變遷歷史日誌。
[0025]進一步地,所述任務執行裝置為應用伺服器。
[0026]本發明能夠對分布式環境下需在不同應用伺服器上運行的定時任務進行統一的發布管理,查看任務運行狀態和進度,並進行暫停、恢復執行任務等各種靈活的配置操作,實現了對分布式環境下執行的多個任務進行統一的管理和調度。
【專利附圖】

【附圖說明】
[0027]圖1是本發明實施例所述的分布式多任務調度管理系統;
[0028]圖2是示例性的任務模型創建(發布)流程;
[0029]圖3是示例性的任務模型創建(發布)Web界面;
[0030]圖4是示例性的任務實例管理Web界面;
[0031]圖5是示例性的任務執行裝置獲取及執行任務的流程;
[0032]圖6是示例性的任務實例狀態變遷圖;
[0033]圖7是示例性的任務模型狀態變遷圖。
【具體實施方式】
[0034]下面結合附圖並通過【具體實施方式】來進一步說明本發明的技術方案。
[0035]圖1是本發明的優選實施方式所述的分布式多任務調度管理系統,用於對分布式執行的任務進行調度。如圖1所示,本實施例所述調度系統100包括調度管理裝置101、數據存儲裝置102、以及多個任務執行裝置103-1、103-2、……103_n,在此統稱為103,所述調度管理裝置101和多個任務執行裝置103分別與數據存儲裝置102相連。
[0036]所述調度管理裝置101,用於接收用戶提交的任務模型,並將所接收的任務模型保存到所述數據存儲裝置102中。
[0037]其中,所述任務模型用於定義用戶要完成的任務及執行該任務所需的相關信息,即任務的定義;在具體執行時,根據該任務模型動態生成相應的任務實例。任務實例是指任務模型的一次具體執行過程。
[0038]所述任務模型具體包括:任務執行裝置標識,任務名稱,任務執行計劃表達式,任務文件,任務描述信息。下面,對任務模型的各項構成要素分別進行介紹:
[0039]任務執行裝置標識,指示能夠執行該任務模型的實例的任務執行裝置。在定義任務模型時,可以由用戶指定由哪一個或哪幾個任務執行裝置來執行該任務模型的實例,這可以通過指定目標執行裝置的標識信息來實現,其中,為每個任務執行裝置預先分配有一個互不相同的標識以示區分。所述任務執行裝置標識可以包括以下任一項或幾項:任務執行裝置的名稱、任務執行裝置的ID、任務執行裝置的網絡地址。
[0040]任務名稱,用於指示所執行任務的名稱。
[0041]任務執行計劃表達式,用於定義任務執行的時間點。所述任務執行計劃表達式可以是cron表達式,也可以是其他現有的或將來的能夠定義任務的具體執行時間和執行計劃的規範表達式。
[0042]任務文件,包括在任務執行裝置上執行特定任務的程序及所依賴的類庫。任務文件是用於完成用戶指定任務的具體執行文件,例如可以是基於Java字節碼生成的執行文件,其中將相關的類庫一起打包成可執行的jar文件;除Java之外,還可以基於其他任意程式語言來定義所述任務文件。
[0043]任務描述信息,包括對該任務模型所執行的任務的描述性信息。
[0044]以上就是任務模型的基本構成。接下來介紹用戶能夠藉助調度管理裝置所提供的接口所完成的管理功能。
[0045]所述調度管理裝置提供能夠與用戶交互的管理接口,用戶可以通過該接口任務模型和/或任務實例進行管理,所完成的管理功能由相應的功能模塊來實現。在實現方式上,優選以Web界面形式來實現該接口(系統結構為Browser/Server形式),當然也可以是其他的用戶接口形式,例如特定於作業系統的GUI形式或命令行形式(系統結構為Client/Server 形式)。
[0046]其中,所述管理接口包括任務模型管理接口 1012,用戶能夠通過該接口執行任務模型管理操作,包括:創建任務模型、暫停、恢復、遷移、修改、和/或刪除任務模型。
[0047]參見圖2,給出了創建(發布)任務模型的示例性流程。用戶首先利用程式語言編寫任務文件,並與所需的類庫一起打包成可執行程序文件,例如基於Java編寫要執行的任務邏輯程序並生成相應的Jar文件,以此作為任務模型的任務文件。然後,用戶通過瀏覽器訪問以Web界面形式提供的任務模型管理接口,在界面上填寫任務模型的各項信息並將先前生成的程序文件作為任務文件提交,最後,調度管理裝置將用戶創建的任務模型保存到數據存儲裝置如資料庫中,以便任務執行裝置如應用伺服器進行查詢。參見圖3,給出了一個示例性的創建(發布)任務模型的Web界面,其中詳細列出了任務模型的各項基本信息,用戶可以通過該界面自定義一個任務模型並提交給調度管理裝置,由調度管理裝置將該任務模型發布到用戶指定的任務執行裝置如應用伺服器上執行。
[0048]另外,所述管理接口還包括任務實例管理接口 1011,用戶通過該接口對任務實例執行管理操作,包括:監控任務實例的屬性和運行狀態、和/或改變任務實例的運行狀態。所述屬性可以是任務實例的標識ID、任務名稱、執行該任務實例的應用伺服器名稱、開始及結束時間等信息,所述運行狀態包括該任務實例當前執行的進度及狀態等動態變化的信
肩、O
[0049]參見圖4,給出了一個示例性的對任務實例進行管理的Web界面,其中詳細列出了所有或部分任務實例的詳細信息,例如所在應用伺服器的名稱、當前任務名稱、開始及結束時間、當前執行的進度及狀態等信息,另外,用戶還可以對任務實例執行相應的操作,如終止、暫停、恢復、遷移、或重新執行任務實例等(某些操作圖中未列出)。而且,用戶可以通過該界面對任務實例進行查詢。
[0050]接下來介紹用於根據所述任務模型執行相應具體任務的任務執行裝置。
[0051]所述調度管理系統100所包括的多個任務執行裝置103,分別與所述數據存儲裝置102相連接,用於從數據存儲裝置中獲取各自所需的至少一個任務模型,然後根據獲取的任務模型創建相應的任務實例並運行,同時將任務實例的屬性及運行狀態保存到所述數據存儲裝置中;在任務實例執行過程中,實時更新所述運行狀態。
[0052]所述任務執行裝置可以是應用伺服器,或者其他能夠執行任務模型所定義任務的應用程式執行裝置。
[0053]任務執行裝置可以按照以下方式從數據存儲裝置中獲取所需的任務模型:任務執行裝置從數據存儲裝置中查找與自己具有相同任務執行裝置標識的任務模型,並返回當前任務執行裝置。
[0054]下面結合圖5對任務執行裝置獲取及執行任務的過程進行詳細描述。
[0055]任務執行裝置如應用伺服器上的後臺進程從數據存儲裝置如資料庫中獲取所需的任務模型,例如,應用伺服器名稱或IP位址與當前應用伺服器相同的一個或多個任務模型構成的列表;然後,判斷當前時刻是否符合列表中某一個或某幾個任務模型的Cron表達式所指示的執行時間,如果符合則執行相應的任務文件如Jar文件;在任務執行過程中,用戶可以通過調度管理裝置提供的任務實例管理接口監控任務實例的屬性和運行狀態、或者改變當前任務實例的運行狀態信息,如設定任務的執行進度百分比、終止、暫停、恢復、遷移、或重新執行任務實例等。當用戶請求終止當前實例的執行時,任務提前終止;當用戶請求暫停當前任務實例的執行時,任務變為暫停狀態,並等待用戶發出恢復請求,當用戶請求恢復時,任務繼續執行。
[0056]任務實例從創建到消亡的真箇生命周期中其狀態會不斷發生變化,例如,在任務執行裝置執行任務實例的過程中遇到異常事件,或者用戶對該任務實例實施終止、恢復、遷移等管理操作時,其狀態都會改變。為了及時的反映這種變化,所述任務執行裝置會根據任務實例執行的狀態來及時更新所述任務實例的實時狀態及狀態變遷歷史,所述調度管理裝置也會根據對任務實例實施的管理操作來更新所述實時狀態及狀態變遷歷史,相應地,所述數據存儲裝置還用於存儲任務實例的狀態變遷歷史日誌。
[0057]通過以上方式,用戶能夠對任務實例的執行過程有一個詳細的了解,能夠跟蹤任務實例在執行過程中的各種狀態及信息,為用戶提供了重要的參考信息。
[0058]下面結合圖6詳細說明任務實例的狀態變遷。
[0059]首先,創建新的任務實例後將其保存到任務實例執行列表中,其狀態由new變為running,表示其進入運行狀態;當運行中的任務實例收到終止請求,則先將其狀態變為停止stop,然後執行停止該任務實例的操作,在該停止操作執行過程中,其狀態為stopping,表示正在停止。當該停止操作執行完畢,即該任務實例被停止後,其狀態變為terminated,即終止;當處於終止狀態的任務實例收到恢復請求後,其狀態變為redo,然後將該任務實例重新加入任務實例執行列表,並啟動繼續執行,當該任務實例啟動後其狀態重新變為running ;當處於終止狀態的任務實例收到遷移請求後,其狀態變為migrated,然後將該任務實例重新加入任務實例執行列表,並啟動繼續執行,當該任務實例啟動後其狀態重新變為running。當處於執行狀態的任務實例發生異常時,其狀態變為error ;當該任務實例正常運行結束時,其狀態變為finished,即表示完成。
[0060]與上述狀態變遷相對應的,在狀態發生改變的同時會創建相應的日誌記錄,並將其保存到任務實例日誌中。下表1給出了與圖6所示的狀態變遷相對應的示例性任務實例日誌記錄產生方式,日誌記錄所記載的信息包括當前任務實例的執行進度信息、以及其他任何與當前任務實例相關的、用戶感興趣的信息,而且可以通過可視化圖形界面查看所創建的任務實例日誌,具體內容不再贅述。
[0061 ] 表1示例性任務實例日誌記錄產生方式
【權利要求】
1.一種分布式多任務調度管理系統,其特徵在於包括: 數據存儲裝置; 調度管理裝置,與所述數據存儲裝置相連接,用於接收用戶提交的任務模型並將所接收的任務模型保存到所述數據存儲裝置中; 多個任務執行裝置,分別與所述數據存儲裝置相連接,用於從數據存儲裝置中獲取各自所需的至少一個任務模型,然後根據獲取的任務模型創建任務實例並運行,同時將任務實例的屬性及運行狀態保存到所述數據存儲裝置中;在任務實例執行過程中,實時更新所述運行狀態; 其中,所述調度管理裝置包括管理接口,供用戶對任務模型和/或任務實例執行管理操作。
2.如權利要求1所述系統,其中,所述管理接口包括任務實例管理接口,用戶通過該接口執行任務實例管理操作,包括:監控任務實例的屬性和運行狀態、和/或改變任務實例的運行狀態。
3.如權利要求2所述系統,其中,所述改變任務實例的運行狀態包括:終止、暫停、恢復、遷移、或重新執行任務實例。
4.如權利要求1所述系統,其中,所述管理接口包括任務模型管理接口,用戶能夠通過該接口執行任務模型管理操作,包括:創建任務模型、暫停、恢復、遷移、修改、和/或刪除任務模型。
5.如權利要求1所述系統,其中,所述管理接口為Web界面接口。
6.如權利要求1所述系統,其中,所述任務模型包括: 任務執行裝置標識,指示能夠執行該任務模型的實例的任務執行裝置;其中,為每個任務執行裝置預先分配有一個互不相同的標識以示區分; 任務名稱,用於指示所執行任務的名稱; 任務執行計劃表達式,用於定義任務執行的時間點; 任務文件,包括在任務執行裝置上執行特定任務的程序及所依賴的類庫; 任務描述信息,包括對該任務模型所執行的任務的描述信息。
7.如權利要求6所述系統,其中,所述任務執行裝置標識包括以下任一項:任務執行裝置的名稱、任務執行裝置的ID、任務執行裝置的網絡地址。
8.如權利要求7所述系統,其中,優選的,所述任務執行計劃表達式是cron表達式。
9.如權利要求1所述系統,其中,所述任務執行裝置從數據存儲裝置中獲取所需的任務模型,具體為:任務執行裝置從數據存儲裝置中查找與自己具有相同任務執行裝置標識的任務模型,並返回當前任務執行裝置。
10.如權利要求1所述系統,其中,所述數據存儲裝置還用於存儲任務實例和/或任務模型的狀態變遷歷史日誌;所述任務執行裝置為應用伺服器。
【文檔編號】G06F9/46GK103677973SQ201310392421
【公開日】2014年3月26日 申請日期:2013年9月1日 優先權日:2013年9月1日
【發明者】何瑞科, 鄧偉, 蘆增輝, 史鬱文, 王普, 聶琪, 李琨, 王曉菲 申請人:西安重裝渭南光電科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀