婁必偉 張起榮 歐瑩元
摘要:文章首先對電信運營商任務調度的現(xiàn)狀進行簡要分析,在此基礎上對基于數(shù)據(jù)處理的任務智能調度引擎設計進行論述。期望通過本文的研究能夠對任務調度問題的解決有所幫助。
關鍵詞:數(shù)據(jù)處理;任務調度;智能調度引擎
一、電信運營商任務調度的現(xiàn)狀分析
近年來,國內電信市場持續(xù)已久的壟斷逐步被打破,由此使得一些新運營商加入,在這一前提下,市場競爭變得日益激烈。對于電信運營商而言,他們幾乎每天都需要從后臺數(shù)據(jù)庫中,完成海量數(shù)據(jù)的抽取和統(tǒng)計任務。然而,由于大部分電信運營商并未應用任務智能調度引擎,從而無法實現(xiàn)對這些任務的智能調度和實時監(jiān)控,致使某些用戶急需辦理的事項要等待很長的時間,統(tǒng)計結果中無法及時有效地發(fā)現(xiàn)問題。
對于電信運營商目前使用的經(jīng)分系統(tǒng)而言,任務調度是不可或缺的組成部分之一,這種應用系統(tǒng)的數(shù)據(jù)及時l生在很大程度上取決于任務調度,換言之,任務調度對經(jīng)分系統(tǒng)具有直接的影響。任務調度算法有兩種,一種是事件驅動調度算法,它是按照事件發(fā)生的先后順序和任務的優(yōu)先級來安排任務的執(zhí)行;另一種是時鐘驅動調度算法,這種算法主要用于周期性任務的處理。在對時鐘驅動調度進行應用時,需要同時滿足如下幾個條件:即精確度足夠高的定時、分布式的全局時間、調度器由時間觸發(fā)。通過對目前應用較多的數(shù)據(jù)庫進行分析后發(fā)現(xiàn),其中很大一部分在任務調度算法上,采用的都是時鐘驅動調度算法。
大多數(shù)的數(shù)據(jù)庫系統(tǒng)中都有Job或Scheduler進行任務調度,這些任務的調度算法都采用時鐘驅動調度算法。Quartz作為一個由Java編寫的開源作業(yè)調度框架,其調度的處理方式也為定時處理。
這種時鐘驅動調度算法它關注的并不是數(shù)據(jù)當前所處的狀況,只要達到預先設定好的時間,便會進行處理,在這一前提下,常常會出現(xiàn)如下問題:即有的任務在處理時,與之相關的數(shù)據(jù)尚未生成,這樣一來,需要對任務重新處理,不但費時,而且費力。
二、基于數(shù)據(jù)處理的任務智能調度引擎設計
(1)設計目標
為了解決現(xiàn)有任務調度中存在的缺陷和不足,本文提出一種基于數(shù)據(jù)處理的任務智能調度引擎,通過它的應用,可以實現(xiàn)如下目標:在各種任務的處理上,只要按照預先設定好的程序進行完全配置,便能夠實現(xiàn)自動調度,整個調度過程不需要人為干預,這種自動化的處理方式,可以幫助電信業(yè)務支撐部門解決日常數(shù)據(jù)處理的繁重工作,不但減輕了人員的工作量,而且還確保了數(shù)據(jù)處理的正確性與及時性,人力和物力的節(jié)約,能夠給企業(yè)帶來一定的經(jīng)濟效益。同時,決策人員可以在較短的時間內,獲得準確、可靠、完整的數(shù)據(jù),為經(jīng)營決策提供了可靠的依據(jù)。
(2)任務智能調度引擎的功能設計
本文所設計的任務智能調度引擎具備如下功能:
①任務配置管理??蓪θ蝿詹l(fā)數(shù)及配置任務屬性進行定義,同時還能對新建任務的優(yōu)先級、任務對應的后臺處理過程以及具體的執(zhí)行周期等進行定義??梢匀?、周、月、年為單位對任務進行定義,并且可以定義一次性任務,在對周任務進行定義的過程中,需要預先設定開始時間,即周幾,而對一次性任務進行定義時,則需要指定數(shù)據(jù)的開始與截止時間。
②任務執(zhí)行條件管理。該功能具體是指對任務的執(zhí)行條件進行配置,當任務滿足預先設定的條件時,才會被執(zhí)行。可對任務執(zhí)行的時間點及任務執(zhí)行前的檢查條件進行配置。
③任務依賴關系管理。此項功能可對任務的依賴關系進行定義,一個任務能夠依賴于多個任務,同時也能被多個任務所依賴,當任務所依賴的任務執(zhí)行完成以后,該任務才會被執(zhí)行。
④任務后續(xù)處理。該功能主要是對任務執(zhí)行完成后的相關處理進行定義,如數(shù)據(jù)完整性、有效性檢查、數(shù)據(jù)量比較等。
⑤任務執(zhí)行監(jiān)控。對任務的具體執(zhí)行情況進行查看,可啟動亦可停止任務,若是停止命令下達時,任務處于正在執(zhí)行的狀態(tài),系統(tǒng)會在執(zhí)行完成后,停止指定任務。
⑥任務異常處理。對任務執(zhí)行出現(xiàn)的差錯情況進行查看,找出錯誤的語句后進行處理,并在處理完畢后,對該任務進行重做。
⑦服務程序。這是一個任務智能調度程序,其能夠按照任務執(zhí)行的具體條件完成檢查,若是條件具備,則系統(tǒng)會自動啟動執(zhí)行。
(3)應用優(yōu)勢
本文所設計的任務智能調度引擎具有如下應用優(yōu)勢:任務檢查條件的設置,可以使系統(tǒng)先檢查任務是否可執(zhí)行,只有具備條件才會執(zhí)行,從而避免了人工重做的情況發(fā)生;設計中引入了任務的依賴關系,確保了數(shù)據(jù)的正確性,解決了任務長時間執(zhí)行對資源的耗費問題;任務并發(fā)數(shù)的設置,防止了任務過多導致系統(tǒng)資源消耗過大影響使用;設計采用的調度算法在時鐘驅動算法的基礎上,按照任務的執(zhí)行周期、條件、依賴關系等對任務進行檢查,確保了可執(zhí)行任務能夠優(yōu)先進入到隊列當中。
結論
綜上所述,本文在對電信運營商任務調度現(xiàn)狀進行分析的基礎上,提出一種基于數(shù)據(jù)處理的任務智能調度引擎,并對其設計目標、功能及應用優(yōu)勢進行論述。通過該引擎的應用,能夠使電信運營商任務調度問題得到有效的解決。
(作者單位:貴州工程應用技術學院)