成批調度程式

成批調度程式(batch scheduler)是指可以提高處理批量任務的效率,提高系統穩定性的批量處理系統任務量的程式。

基本介紹

  • 中文名:成批調度系統
  • 外文名:batch scheduler
  • 套用領域:計算機等
  • 技術領域:批量數據處理技術領域
  • 優點:大大提高了運算處理效率
  • 缺點:處理不夠及時
簡介,技術領域,背景技術,處理模式,成批調度程式,不足,包含裝置,工作原理,優點,

簡介

批量調度程式,包括參數設定裝置,用戶通過該裝置設定系統參數和任務處理相關參數,並將設定的參數存儲到數據存儲裝置中;預處理裝置,用於對批量任務進行預處理,並將處理後產生的任務輸出到數據存儲裝置中;調度引擎裝置,用於定時偵測系統當前並發處理任務量,計算系統可分配的處理各渠道上送批量任務的執行緒數,並將結果輸出給任務處理裝置;任務處理裝置,用於接收從調度引擎裝置傳輸過來的批量任務處理執行緒數,調整內部執行緒,根據任務優先次序參數,讀取經過預處理後的任務,進行任務處理。通過該程式,可以提高處理批量任務的效率,提高系統穩定性。

技術領域

本發明涉及批量數據處理技術領域,具體涉及一種提升運算處理效率、有效利用系統資源實現批量處理的系統及方法。

背景技術

在大型的線上交易系統中,總是存在大量的批量作業。

處理模式

一般而言,批量作業的處理模式主要有兩種。
  • 一是採取在線上實時處理的方式,也就是常說的在線上小批量。該種方法時效性很高, 但是在線上小批量方式在以在線上方式處理批量任務時,並不判斷數據處理系統的忙閒,實時上送實時處理,由於批量任務中任務密集度高,將迅速占用大量的系統資源,給系統帶來極大的壓力,導致整個系統處理速度降低,甚至存在宕機風險;而且批量任務處理一般會集中使用某一個或某幾個用戶數據,所用用戶數據被長時間鎖住,使得客戶的線上在線上任務需要等待數據鎖定的解除,導致影響客戶在線上任務。
  • 另一種批量任務處理方式是採取按照場次定時處理的方式,一般安排在業務量較小的固定時段按照批量場次集中處理,如早晨、中午、晚間等。對於該種方式,傳統上是將批量中不同數據加工、統計任務按照固定的順序依次執行,每增加一個新的處理需求,就編寫一個新的任務,加在後面,或者乾脆直接修改某一任務的處理程式,增加新的處理代碼。同時,為了提高資源的使用率,對於每個任務,按照數據分區條件(如地區、國家、產品分類等)並發執行。但是固定的任務順序會因個別任務導致執行時間過長,或因為一個任務出錯影響整個批量執行;而分區劃分也比較固定,各分區執行時間長短差距較大,執行中存在等待,時間資源、系統資源得不到充分利用。

成批調度程式

針對傳統處理方式,專利號為ZL200610126976. 9、發明名稱為“一種批量任務調度引擎和調度方法”提出了一種調度方法對當前場次的批量任務進行靜態特徵分析,以獲得用參數表示的各個任務的單體特徵和任務之間的依賴關係;基於各個任務之間的依賴關係對任務進行分組;根據各個任務的權值,計算各組任務的組權值,其中組權值確定主調度順序;根據分區權值,確定組內各分區的調度順序的副調度順序;基於所述主調度順序和所述副調度順序, 形成當前場次的批量任務的調度策略;以及利用所述調度策略,執行當前場次的批量任務的調度。通過該方法,使批量處理任務實現任務、分區兩維度並發,對固定時段的批量場次內時間資源和硬體資源集約化利用,提升了批量處理的靈活性、可維護性和容錯能力。

不足

該方法仍是將批量任務安排在固定時段的批量場次中執行,存在如下不足包括:
  • 處理不及時,很難滿足時效性要求較高的業務要求。
  • 隨著批量任務的迅速增加,在固定時段內已很難或無法完成當天的全部批量任務
  • 在非批量場次的時段內,系統資源有時存在空閒,並沒有得到充分利用。
如果可以打破固定時段批量場次,不僅可以大幅增加批量處理時間,還可以使數據處理系統資源得到充分利用發明內容。

包含裝置

為了克服現有技術的上述問題,本發明提出了一種批量調度系統和方法。
批量調度程式包括
  1. 參數設定裝置,用戶通過該裝置設定系統參數和任務處理相關參數,並將設定的參數存儲到數據存儲裝置中;
  2. 預處理裝置,用於對批量任務進行預處理,並將處理後產生的任務輸出到數據存儲裝置中;
  3. 調度引擎裝置,用於定時偵測系統當前並發處理任務量,計算系統可分配的處理各渠道上送批量任務的執行緒數,並將結果輸出給任務處理裝置;
  4. 任務處理裝置,用於接收從調度引擎裝置傳輸過來的批量任務處理執行緒數,調整內部執行緒,根據任務優先次序參數,讀取經過預處理後的任務,進行任務處理;
  5. 數據存儲裝置,用於接收並存儲參數設定裝置設定或計算得到的參數、各渠道上送的批量任務以及預處理裝置生成的任務和任務處理日誌。
  6. 任務數據分析裝置,用於記錄與任務量相關的信息,計算某一時段內的渠道特徵值和時點特徵值,並將計算結果存儲在數據存儲裝置中。

工作原理

  1. 調度引擎裝置根據從數據存儲裝置中獲取系統最大並發處理任務量、當前時段的渠道特徵值和時點特徵值,計算可分配的處理各渠道上送批量任務的執行緒數。
  2. 所述調度引擎裝置進一步包括任務量偵測單元,按照預先設定的時間間隔,定時獲取所述系統當前並發處理任務量N,輸出給調度決策單元,其中N是自然數;調度決策單元,從系統參數設定單元讀取系統最大並發處理任務量M,計算M是否大於N,如果大於,則計算當前時段系統能夠分配給各渠道上傳的批量任務的處理執行緒數T,其中M和T為自然數。
  3. 任務處理裝置進一步包括執行緒控制單元,將系統可分配給各渠道上傳的批量任務的處理執行緒數T與處理任務量N所需的處理執行緒數進行比較,如果比較結果為T大,則增加執行緒,並啟動應增加的執行緒,如果T小,則減少執行緒,並標記多餘執行緒,待其當前任務完成後釋放該執行緒;任務接收單元獲取任務優先次序參數,根據優先權高低順序,讀取T條任務;任務處理單元,根據讀取順序處理所述任務。
  4. 系統可分配給各渠道上傳的批量任務的處理執行緒數T通過以下公式計算T=(M-N) XI^XI^B,其中M表示系統最大並發處理任務量,N表示系統當前並發處理任務量,Pa = SUM(Sa)/SUM(S),1 表示渠道特徵值,是指在歷史的某一個時段,某渠道向所述系統上送任務量占所述系統收到的所有任務量的占比,Μ表示某一天,某一時段內某一渠道提交的任務數,SUM(Sa)表示一年內,所述時段內所述渠道提交的任務總數,S表示某一天,某一時段內所述系統收到的全部任務數,SUM(S)表示一年內,所述時段內所述系統收到的任務總數,Pb = SUM (Sb)/SUM (S), Pb表示時點特徵值,是指在歷史的某一個時段,所述系統接收到的批量任務在所述系統接收到的全部任務中的占比,Sb表示某一天,某一時段內所述系統接收的批量任務數,SUM(Sb)表示一年內,所述時段內所述系統接收的批量任務總數,S表示所述某一天,某一時段內所述系統收到的全部任務數,SUM(S)表示一年內,所述時段內所述系統收到的任務總數。
  5. 參數設定裝置進一步包括系統參數設定單元,用戶通過此單元設定所述系統最大並發處理交易任務量M,設定掃描系統實時並發交易任務量的時間間隔,輸出到數據存儲裝置中;任務優先次序規則參數設定單元,用戶通過此單元設定不同任務類型的處理優先權次序,輸出到數據存儲裝置中;任務預處理規則參數設定單元,用戶通過此單元設定所述系統在接收到一個批量任務時所需要做的預處理工作,輸出到數據存儲裝置中。
  6. 預處理裝置進一步包括批量任務接收單元,用於從數據存儲裝置的參數存儲單元中讀取任務優先次序參數,根據優先次序從數據存儲裝置的批量任務存儲單元中, 讀取各渠道提交到所述系統中的批量任務,輸出給任務預處理單元;任務預處理參數讀入單元,該單元從數據存儲裝置中讀取某一任務類型的預處理參數,輸出給任務預處理單元; 任務預處理單元,獲取批量任務接收單元輸入的批量任務,以及任務預處理參數讀入單元輸入的該種任務類型的批量任務對應的預處理參數,對批量任務進行排序、匯總處理,將處理後產生的任務輸出到數據存儲裝置的任務存儲單元中。

優點

這種批量調度程式和方法,能夠充分利用系統資源,並且在不影響線上的在線上任務請求處理的前提下,全天候處理批量任務,既能滿足針對不同業務特點的時效性要求,又能夠根據系統負載情況動態決定批量處理方式,大大提高了系統處理效率,同時有效控制系統超負荷的風險。
根據數據處理系統的任務並發量,在系統空閒時,控制處理各渠道上送批量任務的執行緒數,從而達到既充分利用系統資源,又不影響線上的在線上任務請求處理的及時性;
進一步的,批量任務在提交到本系統時首先進行賬號的排序、賬務匯總等預處理工作,以降低系統處理的複雜度,提高處理批量任務的效率,從而大大降低數據處理系統超負荷運行的風險,提高了系統的處理運行效率。
該系統包括參數設定裝置100、 任務數據分析裝置200、預處理裝置300、調度引擎裝置400、任務處理裝置500和數據存儲裝置600。其中,參數設定裝置100、任務數據分析裝置200、預處理裝置300、調度引擎裝置 400、任務處理裝置500均與數據存儲裝置600相連線,調度引擎裝置400還連線於任務處理裝置500。參數設定裝置100用於用戶通過該裝置設定系統參數和任務處理參數,並將設定好的參數存儲到數據存儲裝置600中。
所述系統參數包含兩個系統最大並發處理任務量和掃描系統實時並發任務量的時間間隔。所述任務處理參數包括兩類任務預處理參數,該參數決定了所述系統對接收到的不同渠道上送的批量任務,按照任務類型進行的預處理方式;任務優先次序參數,該參數決定了不同任務類型間的處理順序。所述渠道指與所述系統相連線的、受理客戶提交的批量或在線上任務請求並將任務請求提交給所述系統進行任務處理的外圍系統或套用,如網上銀行、電話銀行或自助機具等。

相關詞條

熱門詞條

聯絡我們