[發明專利]批量定時任務的調度方法、裝置和計算機設備在審
| 申請號: | 201710980601.7 | 申請日: | 2017-10-19 |
| 公開(公告)號: | CN107885600A | 公開(公告)日: | 2018-04-06 |
| 發明(設計)人: | 姜璐 | 申請(專利權)人: | 用友網絡科技股份有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京友聯知識產權代理事務所(普通合伙)11343 | 代理人: | 尚志峰,汪海屏 |
| 地址: | 100094*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 批量 定時 任務 調度 方法 裝置 計算機 設備 | ||
技術領域
本發明涉及計算機技術領域,具體而言,涉及一種批量定時任務的調度方法,一種批量定時任務的調度裝置,一種計算機設備,一種計算機可讀存儲介質。
背景技術
定時任務調度是一項可以實現周期性自動計算、導出及推送的調度策略。比如,數據定時刷新、報表訂閱都是定時任務。
由于系統不同,調度引擎如何實現定時任務的調度也有所差別。
相關技術中最常見的方案是通過Java中的定時器完成定時任務。Java定時器工具,用來在一個后臺現成計劃執行指定任務。在這種解決方案下,要為每一個定時任務設置一個定時器,到了執行時間定時器會通知指定的任務執行。但這種調度方式,對系統的資源消耗較大,可能導致系統運行變慢。
還有一些大型系統通過后臺線程來控制定時任務。新增的任務會帶有執行時間等屬性,將任務加入隊列中,起一個線程循環隊列,判斷當前時間與隊列頭任務的時間,達到調度時間則任務出隊列,放入執行器中執行。其工作原理的流程圖如圖1所示:
步驟102,將任務加入待調度隊列;
步驟104,判斷是否到達調度時間;
步驟106,到達調度時間時,將任務加入待執行隊列;否則,執行步驟112;
步驟108,判斷是否有空閑執行器;
步驟110,若有,則執行;否則,執行步驟112;
步驟112,等待執行。
然而在大型系統中,會存在大量的批量任務,由于批量任務密集度可能非常高,將占用大量的系統資源,給系統帶來極大的壓力,導致整個系統的處理速度大大降低,甚至會有宕機的風險,因此通常會限制執行器的數量。而這存在一個缺陷,當批量的任務同時請求少量的執行器時,可能會有少量的任務無法按時執行,并且不能保證任務及時通知,及時執行,無法對固定時段的批量場次內時間資源和硬件資源優化利用,靈活性和可維護性不高。
發明內容
本發明旨在至少解決現有技術或相關技術中存在的技術問題之一。
為此,本發明的一方面在于提出了一種批量定時任務的調度方法。
本發明的另一方面在于提出了一種批量定時任務的調度裝置。
本發明的再一方面在于提出了一種計算機設備。
本發明的又一方面在于提出了一種計算機可讀存儲介質。
有鑒于此,本發明的一方面,提出了一種批量定時任務的調度方法,包括:加載批量定時任務,對當前系統資源及批量定時任務進行分析,獲得系統參數,及各定時任務的靜態特征;根據系統參數及靜態特征,對批量定時任務進行任務分組。
根據本發明的批量定時任務的調度方法,可以對當前的系統資源(如CPU、內存等)和批量任務進行靜態特征分析,獲得各個任務的靜態特征,如任務執行時間及權值等;并基于系統參數各個任務的靜態特征進行分組,來制定最優的分組方式。通過本發明提供的調度方法,使批量任務處理任務實現分組,對固定時段的時間資源和硬件資源優化利用,提升了批量處理的靈活性、可維護性和容錯能力。
另外,根據本發明上述的批量定時任務的調度方法,還可以具有如下附加的技術特征:
在上述技術方案中,優選地,該調度方法還包括:根據靜態特征,計算各任務分組的組權值,并根據組權值確定各任務分組的調度順序,將各任務分組的調度順序定義為主調度順序;根據靜態特征,對任務分組內任務進行分區,以及計算各分區的權值;以及根據分區的權值確定組內各分區的調度順序,將組內各分區的調度順序定義為副調度順序;對分組、分區后的批量定時任務進行存儲。
在該技術方案中,結合各個任務的靜態特征,計算各組任務的組權值,用來確定主調度順序;以及結合各個任務的靜態特征進行分區,計算各分區的權值,確定組內各個分區的調度順序,為副調度順序;基于該主調度順序和該副調度順序,形成當前分組批量任務的調度策略。例如,結合各個任務的權值和執行時間,計算各組任務的組權值,用來確定主調度順序;根據分區權值,確定組內各個分區的調度順序,為副調度順序。通過本發明的技術方案,使批量任務處理任務實現分組、分區兩維度并發,對固定時段的時間資源和硬件資源優化利用,提升了批量處理的靈活性、可維護性和容錯能力。
在上述任一技術方案中,優選地,該調度方法還包括:根據主調度順序判斷任務分組的執行狀態是否為開啟;若任務分組的執行狀態為開啟,則為任務分組創建計時器,并計時;當計時時間到達任務分組的執行時間時,將任務分組內的任務加載至任務執行器,按照副調度順序執行任務分組內的任務。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于用友網絡科技股份有限公司,未經用友網絡科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710980601.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種可太陽能充電的電動踏板摩托
- 下一篇:一種風力發電電動小型農用車





