一種數(shù)據(jù)處理任務(wù)調(diào)度系統(tǒng)及方法
【專利摘要】本發(fā)明一種數(shù)據(jù)處理任務(wù)調(diào)度系統(tǒng)及方法,包括任務(wù)模塊、任務(wù)組模塊、調(diào)度模塊、日志模塊、監(jiān)控模塊,數(shù)據(jù)處理需求首先發(fā)送到任務(wù)模塊、任務(wù)模塊與任務(wù)組模塊相互連接、任務(wù)組模塊同時與調(diào)度模塊以及監(jiān)控模塊連接、日志模塊同時與調(diào)度模塊和監(jiān)控模塊相連。本發(fā)明在存在大批量后臺定時數(shù)據(jù)處理任務(wù)的軟件應(yīng)用場景中,通過任務(wù)的封裝、調(diào)度模塊設(shè)計和監(jiān)控模塊設(shè)計,實現(xiàn)對一系列數(shù)據(jù)處理任務(wù)的統(tǒng)一調(diào)度、監(jiān)控和控制管理。
【專利說明】一種數(shù)據(jù)處理任務(wù)調(diào)度系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于數(shù)據(jù)處理【技術(shù)領(lǐng)域】,特別涉及一種數(shù)據(jù)處理任務(wù)調(diào)度系統(tǒng)及方法。
【背景技術(shù)】
[0002] 在眾多軟件應(yīng)用場景中,特別是數(shù)據(jù)倉庫、數(shù)據(jù)分析類的軟件應(yīng)用中,往往存在大 量的數(shù)據(jù)處理需求。這一類的數(shù)據(jù)處理需求一般具備以下幾個特點:(1)這類需求一般是 需要處理大批量的數(shù)據(jù),耗時也相對較長,不適合在用戶交互過程中實時地完成數(shù)據(jù)的運 算處理,因此一般將其作為后臺批量處理任務(wù)定時啟動、預(yù)先處理;(2)這一類的的數(shù)據(jù)處 理需求一般與時間要素聯(lián)系密切,因此這類數(shù)據(jù)處理需求一般需要在一定的時間間隔(如 每年、每月、每周、每天等)后反復(fù)啟動運行,并且處理的業(yè)務(wù)數(shù)據(jù)也往往具有不同的時間屬 性;(3)數(shù)據(jù)處理任務(wù)的正常運行往往受到數(shù)據(jù)質(zhì)量、服務(wù)器運行狀態(tài)等因素的制約。一旦 數(shù)據(jù)處理程序出錯,難以及時地被發(fā)現(xiàn),或者難以定位出錯原因和出錯位置,不方便程序的 排錯,也不方便保存出錯之前的部分數(shù)據(jù)處理成果。(4)同一個應(yīng)用中往往存在不止一個這 一類的數(shù)據(jù)處理需求,而且各個需求可能差異較大,不方便進行統(tǒng)一的監(jiān)控和管理。
[0003] 目前,對于這種數(shù)據(jù)庫中的后臺批量數(shù)據(jù)處理工作,一般都是借助于關(guān)系型數(shù)據(jù) 庫自身的定時任務(wù)機制(例如Oracle數(shù)據(jù)庫中的J0B),或者操作系統(tǒng)層面提供的定時任務(wù) 機制(例如Windows系統(tǒng)中提供的定時任務(wù)管理器,Unix/Linux系統(tǒng)中提供的CRON作業(yè) 等),進行管理,這樣的管理方式,主要存在以下弊端: (1)每一個后臺數(shù)據(jù)處理任務(wù)被單獨地作為一個定時任務(wù)處理,通過數(shù)據(jù)庫或操作系 統(tǒng)提供的定時任務(wù)機制實現(xiàn)數(shù)據(jù)處理任務(wù)的調(diào)度執(zhí)行。因為數(shù)據(jù)處理任務(wù)的封裝缺乏統(tǒng)一 的規(guī)范,導(dǎo)致這些任務(wù)差異性較大,調(diào)度方式五花八門,難以實現(xiàn)統(tǒng)籌設(shè)計和統(tǒng)一管理。
[0004] (2)數(shù)據(jù)處理任務(wù)執(zhí)行以后,只能通過數(shù)據(jù)庫或操作系統(tǒng)提供的定時任務(wù)管理機 制查看簡單的執(zhí)行結(jié)果,無法獲取更為詳細、易于閱讀的狀態(tài)信息。定時任務(wù)一旦出錯,難 以定位出錯原因和出錯的程序位置。
[0005] (3)通常這一類數(shù)據(jù)處理任務(wù)與業(yè)務(wù)數(shù)據(jù)的范圍和業(yè)務(wù)時間等屬性具有緊密的聯(lián) 系,而傳統(tǒng)的調(diào)度方式一旦失敗,因為難以定位出錯時的各種屬性狀態(tài),往往會導(dǎo)致整個數(shù) 據(jù)處理任務(wù)的前功盡棄,難以保存任務(wù)出錯前的數(shù)據(jù)處理階段性成果。例如,一個按照月度 進行匯總的數(shù)據(jù)處理任務(wù),需要一次性匯總近三年的業(yè)務(wù)數(shù)據(jù),假如在最近一個月的數(shù)據(jù) 匯總時發(fā)生錯誤,因為管理人員無法獲知數(shù)據(jù)匯總錯誤所對應(yīng)的業(yè)務(wù)時間,那么唯一的解 決方案就只有在排除程序錯誤后,對近三年的數(shù)據(jù)進行重新匯總。
[0006] (4) 一個應(yīng)用系統(tǒng)中存在的此類數(shù)據(jù)處理任務(wù)一般數(shù)量較多,差異性較大,以往處 理此類數(shù)據(jù)處理工作隨意性較強,一個系統(tǒng)應(yīng)用場景中經(jīng)常會出現(xiàn)采用多種定時任務(wù)機制 完成此類任務(wù)的情況,從而為系統(tǒng)的正常運維帶來較大的難度。并且缺乏對于這類定時數(shù) 據(jù)處理任務(wù)的統(tǒng)一規(guī)劃、控制、監(jiān)控和故障處理。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明的目的是在存在大批量、復(fù)雜的后臺數(shù)據(jù)處理任務(wù)的軟件應(yīng)用場景中,方 便地實現(xiàn)對后臺數(shù)據(jù)處理任務(wù)的統(tǒng)一封裝、調(diào)度、控制、狀態(tài)監(jiān)控和故障處理等管理工作。
[0008] 為達到上述目的,本發(fā)明一種數(shù)據(jù)處理任務(wù)調(diào)度系統(tǒng),包括任務(wù)模塊、任務(wù)組模 塊、調(diào)度模塊、日志模塊、監(jiān)控模塊,數(shù)據(jù)處理需求首先發(fā)送到任務(wù)模塊、任務(wù)模塊與任務(wù)組 模塊相互連接、任務(wù)組模塊同時與調(diào)度模塊以及監(jiān)控模塊連接、日志模塊同時與調(diào)度模塊 和監(jiān)控模塊相連。 在其中一個實施例中所述數(shù)據(jù)處理需求首先發(fā)送到任務(wù)模塊是通過任務(wù)封裝來完成 的。 在其中一個實施例中所述任務(wù)模塊與任務(wù)組模塊相互連接是通過編排任務(wù)集來完成 的。
[0009] 在其中一個實施例中所述任務(wù)組模塊同時與調(diào)度模塊以及監(jiān)控模塊連接中的任 務(wù)組模塊和調(diào)度模塊的連接是通過調(diào)度執(zhí)行和回寫執(zhí)行狀態(tài)實現(xiàn)的,任務(wù)組模塊和監(jiān)控模 塊的連接是通過控制管理來實現(xiàn)的。
[0010] 在其中一個實施例中所述日志模塊同時與調(diào)度模塊和監(jiān)控模塊相連中的日志模 塊跟調(diào)度模塊的連接是通過回寫執(zhí)行狀態(tài)來實現(xiàn)的,日志模塊跟監(jiān)控模塊的連接是通過監(jiān) 視執(zhí)行情況來實現(xiàn)的。
[0011] 在其中一個實施例中所述任務(wù)封裝包括兩個參數(shù)和一個異常處理編號器,所述兩 個參數(shù)中一個為傳入?yún)?shù)一個為傳出參數(shù),傳入?yún)?shù)為字符串型參數(shù),傳出參數(shù)為數(shù)字型 參數(shù)。
[0012] 在其中一個實施例中所述編排任務(wù)集包括任務(wù)編號、任務(wù)名稱、任務(wù)周期類型、偏 移天數(shù)、狀態(tài)標(biāo)志、執(zhí)行進度、開始時間、結(jié)束時間、有效標(biāo)志、備注說明,其中任務(wù)編號、任 務(wù)名稱、執(zhí)行進度和備注說明為字符串型,任務(wù)周期類型、狀態(tài)標(biāo)志、有效標(biāo)志位字符型,偏 移天數(shù)為整數(shù)型,開始時間、結(jié)束時間為日期時間型。 在其中一個實施例中所述調(diào)度執(zhí)行包括單個任務(wù)調(diào)度執(zhí)行和多個任務(wù)調(diào)度執(zhí)行,所述 回寫執(zhí)行狀態(tài)包括任務(wù)狀態(tài)屬性和任務(wù)時間屬性,所述控制管理包括統(tǒng)一調(diào)度、任務(wù)初始 化、任務(wù)進度調(diào)節(jié)、故障恢復(fù)、任務(wù)并行處理。
[0013] 在其中一個實施例中所述監(jiān)視執(zhí)行情況包括任務(wù)狀態(tài)信息、任務(wù)結(jié)構(gòu)信息以及日 ;志f曰肩、。
[0014] 本發(fā)明還包括一種數(shù)據(jù)處理任務(wù)調(diào)度方法,其包括以下步驟: A :數(shù)據(jù)處理需求任務(wù)發(fā)出; B :在任務(wù)模塊中將任務(wù)封裝成標(biāo)準(zhǔn)格式; C :在任務(wù)組模塊中對任務(wù)進行集中編排; D :通過調(diào)度模塊和監(jiān)控模塊實現(xiàn)對一系列數(shù)據(jù)處理任務(wù)的統(tǒng)一調(diào)度和監(jiān)控管理。
[0015] 在其中一個實施例中所述步驟D :通過調(diào)度模塊和監(jiān)控模塊實現(xiàn)對一系列數(shù)據(jù)處 理任務(wù)的統(tǒng)一調(diào)度和監(jiān)控管理包括:調(diào)度模塊通過獲取任務(wù)組模塊中的任務(wù)實例狀態(tài),執(zhí) 行相應(yīng)的定時調(diào)度動作,并實時將任務(wù)執(zhí)行狀態(tài)和結(jié)果回寫到任務(wù)組模塊和日志模塊;監(jiān) 控模塊監(jiān)控任務(wù)組模塊和日志模塊中的各種狀態(tài)屬性,同時通過修改任務(wù)組模塊中各個任 務(wù)實例的狀態(tài)屬性實現(xiàn)對任務(wù)實例的各項控制。
[0016] 通過上述方案本發(fā)明具有以下有益效果: 實現(xiàn)了對應(yīng)用場景中大量后臺數(shù)據(jù)處理任務(wù)的統(tǒng)一調(diào)度和控制管理,提供了統(tǒng)一的任 務(wù)封裝規(guī)范和統(tǒng)一調(diào)度控制接口,簡化了開發(fā)人員處理此類后臺數(shù)據(jù)處理任務(wù)的復(fù)雜度; 能夠靈活地對各個數(shù)據(jù)處理任務(wù)的進行任務(wù)初始化、進度調(diào)節(jié)、定時重算、故障恢復(fù)和 調(diào)度執(zhí)行等控制操作; 能夠記錄數(shù)據(jù)處理任務(wù)出錯對應(yīng)的時間屬性,保存出錯前數(shù)據(jù)處理的階段性成果; 能夠記錄數(shù)據(jù)處理任務(wù)執(zhí)行的狀態(tài)和結(jié)果信息,方便任務(wù)調(diào)度過程中的故障排查和故 障恢復(fù); 能夠?qū)崿F(xiàn)數(shù)據(jù)處理任務(wù)的并行處理,在確保業(yè)務(wù)邏輯正確的前提下,提升數(shù)據(jù)庫使用 效率,縮短數(shù)據(jù)處理時間。
【專利附圖】
【附圖說明】
[0017] 圖1是本發(fā)明技術(shù)實現(xiàn)示意圖。
[0018] 圖2是本發(fā)明工作流程圖。
【具體實施方式】
[0019] 下面結(jié)合說明書附圖對本發(fā)明的【具體實施方式】進行說明。
[0020] 如圖1所示,本發(fā)明一種數(shù)據(jù)處理任務(wù)調(diào)度系統(tǒng),包括任務(wù)模塊、任務(wù)組模塊、調(diào) 度模塊、日志模塊、監(jiān)控模塊,數(shù)據(jù)處理需求首先發(fā)送到任務(wù)模塊、任務(wù)模塊與任務(wù)組模塊 相互連接、任務(wù)組模塊同時與調(diào)度模塊以及監(jiān)控模塊連接、日志模塊同時與調(diào)度模塊和監(jiān) 控模塊相連。所述數(shù)據(jù)處理需求首先發(fā)送到任務(wù)模塊是通過任務(wù)封裝來完成的,所述任務(wù) 模塊與任務(wù)組模塊相互連接是通過編排任務(wù)集來完成的,所述任務(wù)組模塊同時與調(diào)度模塊 以及監(jiān)控模塊連接中的任務(wù)組模塊和調(diào)度模塊的連接是通過調(diào)度執(zhí)行和回寫執(zhí)行狀態(tài)實 現(xiàn)的,任務(wù)組模塊和監(jiān)控模塊的連接是通過控制管理來實現(xiàn)的,所述日志模塊同時與調(diào)度 模塊和監(jiān)控模塊相連中的日志模塊跟調(diào)度模塊的連接是通過回寫執(zhí)行狀態(tài)來實現(xiàn)的,日志 模塊跟監(jiān)控模塊的連接是通過監(jiān)視執(zhí)行情況來實現(xiàn)的,所述任務(wù)封裝包括兩個參數(shù)和一個 異常處理編號器,所述兩個參數(shù)中一個為傳入?yún)?shù)一個為傳出參數(shù),傳入?yún)?shù)為字符串型 參數(shù),傳出參數(shù)為數(shù)字型參數(shù),所述編排任務(wù)集包括任務(wù)編號、任務(wù)名稱、任務(wù)周期類型、偏 移天數(shù)、狀態(tài)標(biāo)志、執(zhí)行進度、開始時間、結(jié)束時間、有效標(biāo)志、備注說明,其中任務(wù)編號、任 務(wù)名稱、執(zhí)行進度和備注說明為字符串型,任務(wù)周期類型、狀態(tài)標(biāo)志、有效標(biāo)志位字符型,偏 移天數(shù)為整數(shù)型,開始時間、結(jié)束時間為日期時間型,所述調(diào)度執(zhí)行包括單個任務(wù)調(diào)度執(zhí)行 和多個任務(wù)調(diào)度執(zhí)行,所述回寫執(zhí)行狀態(tài)包括任務(wù)狀態(tài)屬性和任務(wù)時間屬性,所述控制管 理包括統(tǒng)一調(diào)度、任務(wù)初始化、任務(wù)進度調(diào)節(jié)、故障恢復(fù)、任務(wù)并行處理,所述監(jiān)視執(zhí)行情況 包括任務(wù)狀態(tài)信息、任務(wù)結(jié)構(gòu)信息以及日志信息。
[0021] 本技術(shù)方案的實現(xiàn)由一組模型和一套調(diào)度和監(jiān)控模塊算法構(gòu)成,具體實現(xiàn)方案如 下: 封裝任務(wù):將軟件應(yīng)用場景中各類批量數(shù)據(jù)處理需求統(tǒng)一封裝為一個個獨立的數(shù)據(jù)處 理任務(wù)。數(shù)據(jù)處理任務(wù)模塊采用數(shù)據(jù)庫存儲過程的形式,封裝時應(yīng)嚴格遵循數(shù)據(jù)處理任務(wù) 模塊所定義的封裝規(guī)范:
【權(quán)利要求】
1. 一種數(shù)據(jù)處理任務(wù)調(diào)度系統(tǒng),其特征在于包括:任務(wù)模塊、任務(wù)組模塊、調(diào)度模塊、 日志模塊、監(jiān)控模塊,數(shù)據(jù)處理需求首先發(fā)送到任務(wù)模塊、任務(wù)模塊與任務(wù)組模塊相互連 接、任務(wù)組模塊同時與調(diào)度模塊以及監(jiān)控模塊連接、日志模塊同時與調(diào)度模塊和監(jiān)控模塊 相連。
2. 根據(jù)權(quán)利要求1所述一種數(shù)據(jù)處理任務(wù)調(diào)度系統(tǒng),其特征在于:所述數(shù)據(jù)處理需求 首先發(fā)送到任務(wù)模塊是通過任務(wù)封裝來完成的。
3. 根據(jù)權(quán)利要求1所述一種數(shù)據(jù)處理任務(wù)調(diào)度系統(tǒng),其特征在于:所述任務(wù)模塊與任 務(wù)組模塊相互連接是通過編排任務(wù)集來完成的。
4. 根據(jù)權(quán)利要求1所述一種數(shù)據(jù)處理任務(wù)調(diào)度系統(tǒng),其特征在于:所述任務(wù)組模塊同 時與調(diào)度模塊以及監(jiān)控模塊連接中的任務(wù)組模塊和調(diào)度模塊的連接是通過調(diào)度執(zhí)行和回 寫執(zhí)行狀態(tài)實現(xiàn)的,任務(wù)組模塊和監(jiān)控模塊的連接是通過控制管理來實現(xiàn)的。
5. 根據(jù)權(quán)利要求1所述一種數(shù)據(jù)處理任務(wù)調(diào)度系統(tǒng),其特征在于:所述日志模塊同時 與調(diào)度模塊和監(jiān)控模塊相連中的日志模塊跟調(diào)度模塊的連接是通過回寫執(zhí)行狀態(tài)來實現(xiàn) 的,日志模塊跟監(jiān)控模塊的連接是通過監(jiān)視執(zhí)行情況來實現(xiàn)的。
6. 根據(jù)權(quán)利要求2所述一種數(shù)據(jù)處理任務(wù)調(diào)度系統(tǒng),其特征在于:所述任務(wù)封裝包括 兩個參數(shù)和一個異常處理編號器,所述兩個參數(shù)中一個為傳入?yún)?shù)一個為傳出參數(shù),傳入 參數(shù)為字符串型參數(shù),傳出參數(shù)為數(shù)字型參數(shù)。
7. 根據(jù)權(quán)利要求3所述一種數(shù)據(jù)處理任務(wù)調(diào)度系統(tǒng),其特征在于:所述編排任務(wù)集包 括任務(wù)編號、任務(wù)名稱、任務(wù)周期類型、偏移天數(shù)、狀態(tài)標(biāo)志、執(zhí)行進度、開始時間、結(jié)束時 間、有效標(biāo)志、備注說明,其中任務(wù)編號、任務(wù)名稱、執(zhí)行進度和備注說明為字符串型,任務(wù) 周期類型、狀態(tài)標(biāo)志、有效標(biāo)志位字符型,偏移天數(shù)為整數(shù)型,開始時間、結(jié)束時間為日期時 間型。
8. 根據(jù)權(quán)利要求4所述一種數(shù)據(jù)處理任務(wù)調(diào)度系統(tǒng),其特征在于:所述調(diào)度執(zhí)行包括 單個任務(wù)調(diào)度執(zhí)行和多個任務(wù)調(diào)度執(zhí)行,所述回寫執(zhí)行狀態(tài)包括任務(wù)狀態(tài)屬性和任務(wù)時間 屬性,所述控制管理包括統(tǒng)一調(diào)度、任務(wù)初始化、任務(wù)進度調(diào)節(jié)、故障恢復(fù)、任務(wù)并行處理。
9. 一種數(shù)據(jù)處理任務(wù)調(diào)度方法,其特征在于包括以下步驟: A :數(shù)據(jù)處理需求任務(wù)發(fā)出; B :在任務(wù)模塊中將任務(wù)封裝成標(biāo)準(zhǔn)格式; C :在任務(wù)組模塊中對任務(wù)進行集中編排; D:通過調(diào)度模塊和監(jiān)控模塊實現(xiàn)對一系列數(shù)據(jù)處理任務(wù)的統(tǒng)一調(diào)度和監(jiān)控管理。
【文檔編號】G06F9/46GK104407919SQ201410769899
【公開日】2015年3月11日 申請日期:2014年12月15日 優(yōu)先權(quán)日:2014年12月15日
【發(fā)明者】王軍濤, 程琳 申請人:浪潮軟件股份有限公司