[發明專利]任務調度方法和裝置有效
| 申請號: | 201210009478.1 | 申請日: | 2012-01-12 |
| 公開(公告)號: | CN103207807B | 公開(公告)日: | 2017-06-27 |
| 發明(設計)人: | 周宇 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 北京康信知識產權代理有限責任公司11240 | 代理人: | 吳貴明,江舟 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 任務 調度 方法 裝置 | ||
技術領域
本申請涉及互聯網領域,具體而言,涉及一種任務調度方法和裝置。
背景技術
目前,在計算機系統中對任務的執行都是采用,在某個具體的時間點上由調度服務器進行觸發調度以實現對任務的調度。然而,該時間點往往是采用時間表達式來體現的,這些時間表達式可以表示某個具體的時間點,甚至可以精確到秒級對任務進行觸發調度。因此,這種觸發方式可以很好的實現在特定的某個時間點對任務進行觸發調度。
例如,quartz就是一種任務觸發調度集合,它主要是形成一種基本形式如“秒 分 時 日 月周 年”的時間表達式。例如,對于每間隔1分鐘執行一次的任務,可以表示為:“* */1 * * * ?”;在每一分鐘的第0秒對任務進行觸發調度,可以表示為:“0 */1 * * *?”。這種時間表示方法一般是精確到具體的某一秒對任務進行觸發調度。采用類似quartz表達式對任務進行觸發調度的具體步驟如圖1所示,包括:
S102:確定任務的調度周期,所謂任務調度的周期就是從一次調度到下一次調度之間間隔的時間。例如,每間隔5秒調度一次,每間隔5分鐘調度一次,每間隔一小時調度一次,這就表示任務的調度周期分別是:5秒,5分鐘,一小時。
S104:確定任務需要調度的時間段,例如,調度的時間段是每周一到每周五的上午9點到下午6點,就表示只在周一到周五的上午9點到下午6點這個時間范圍內才對該任務進行調度,在此時間段以外的時間不對該任務進行調度。
S106:根據確定的調度周期和調度時間段信息生成quartz的觸發調度表達式。
S108:調度服務器對quartz表達式進行解析,當時間點滿足表達式中的時間點時,對該任務進行調度。
然而,現有技術中,基于表達式來處理周期性任務的方法,基本都是單獨以一種表達式來表示任務需要觸發調度的時間。因為任務的執行都是在某個具體的時間點上由調度器觸發調度,在計算機中,一般精確到具體的某一秒,這樣會產生一定的問題,例如,對于具有相同調度周期的任務而言,每隔一定的周期在相同的時間點上對這些任務進行調度,這樣,在每個調度周期的某個時間點上會造成調度服務器調度的壓力過大,而調度服務器在其他時間點上可能沒有需要調度的任務,從而處于空閑狀態,導致調度服務器的調度壓力分配不勻,造成系統資源的浪費,進一步的當許多具有相同調度周期的任務集中在一個時間點進行調度的時候,也會影響調度服務器在這個時間點上的處理性能,增加調度失敗率,從而影響系統的處理效率和資源的使用效率。
針對上述問題,目前還沒有提出有效的解決辦法。
發明內容
本申請的主要目的在于提供一種任務調度方法和裝置,以至少解決現有技術中多個具有相同調度周期的任務在同一時間點進行調度而造成的調度服務器的調度壓力分配不均的問題。
根據本申請的一個方面,提供了一種任務調度方法,包括:獲取待調度任務的調度周期和待調度任務的調度起始時間;根據調度周期和調度起始時間生成與待調度任務對應的等待時間,其中,具有相同調度周期和相同調度起始時間的不同待調度任務對應不同的等待時間;在調度周期到達時延遲等待時間對待調度任務進行調度。
優選地,根據調度周期和調度起始時間生成與待調度任務對應的等待時間的步驟包括:在范圍[0,調度周期)之間隨機選取N個數值,其中,N為具有相同調度周期和調度起始時間的不同待調度任務的個數;將所選取的N個數值作為等待時間分別分配給具有相同調度周期和調度起始時間的N個不同待調度任務。
優選地,通過如下公式在范圍[0,調度周期)之間隨機選取N個數值中的每一個數值:
start=random(0,interval/f)*f
其中,start表示等待時間,random(a,b)表示區間[a,b)中的一個隨機值,interval表示調度周期,f為1至調度周期之間的一個整數。
優選地,根據調度周期和調度起始時間生成與待調度任務對應的等待時間之后,任務調度方法還包括:采用以下方式記錄與待調度任務對應的調度信息:[(start,interval),quartz],其中,start表示等待時間,interval表示調度周期,quartz表示待調度任務的調度時間段。
優選地,在調度周期到達時延遲等待時間對待調度任務進行調度的步驟包括:獲取調度時間段包括當前時間的調度信息;判斷所獲取的調度信息對應的調度周期是否到達;在判斷的調度周期到達時延遲等待時間對與獲取的調度信息對應的待調度任務進行調度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210009478.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:CPU性能評估方法與裝置
- 下一篇:數據下載請求的處理方法、裝置及系統





