[發明專利]定時任務處理方法及裝置有效
| 申請號: | 201810084155.6 | 申請日: | 2018-01-29 |
| 公開(公告)號: | CN110096340B | 公開(公告)日: | 2020-11-17 |
| 發明(設計)人: | 宋西軍 | 申請(專利權)人: | 北京世紀好未來教育科技有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;G06F9/54;G06F11/14 |
| 代理公司: | 北京合智同創知識產權代理有限公司 11545 | 代理人: | 李杰 |
| 地址: | 100086 北京市海淀區中*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 定時 任務 處理 方法 裝置 | ||
本發明實施例提供了一種定時任務處理方法及裝置,其中,定時任務處理方法包括:通過定時任務的隊列維護線程對應的I/O多路復用模型進行定時任務監聽;在監聽到新的定時任務后,通過I/O多路復用模型激活隊列維護線程;讀取定時任務的數據,并寫入激活的隊列維護線程,其中,定時任務的數據包括:定時任務的任務數據、定時任務的定時時間;根據定時任務的定時時間,將定時任務加入隊列維護線程維護的定時任務隊列,其中,定時任務隊列中的定時任務按照定時時間從小到大排列;在定時任務隊列中的每個定時任務的定時時間,觸發任務分發線程分發對應的定時任務。通過本發明實施例,實現了定時任務觸發時間的精確匹配和處理。
技術領域
本發明實施例涉及計算機技術領域,尤其涉及一種定時任務處理方法及裝置。
背景技術
定時任務是在到達設定的時間后即被觸發執行的任務,定時任務可以是周期性的任務,如每隔5分鐘執行一次,也可以是一次性的任務,如在某年某月某日13:00:00執行,執行完任務即結束,不再重復執行。
隨著計算機和互聯網技術的發展,定時任務被越來越多地應用到多種場景中,例如,每到達一定時間推送消息,每到達一定時間進行作業提醒,等等。目前,一種定時任務處理方案是將定時任務存儲到數據庫中,通過定時或者常態下執行檢測腳本定期拉取數據庫中的定時任務,來檢測定時任務是否到達觸發時間點。
但是,這種定時任務處理方案中,因定時檢測存在檢測間隔,使得定時任務無法在精確的設定時間被執行,即使為常態下進行檢測(如每隔100毫秒檢測),這種被動檢測的方案也無法精確匹配到定時任務的觸發時間,存在定時任務執行延時的問題。
發明內容
有鑒于此,本發明實施例提供了一種定時任務處理方案,以解決現有技術中,無法實現定位任務在精確的觸發時間被觸發執行的問題。
根據本發明實施例的第一方面,提供了一種定時任務處理方法,包括:通過定時任務的隊列維護線程對應的I/O多路復用模型進行定時任務監聽;在監聽到新的定時任務后,通過所述I/O多路復用模型激活所述隊列維護線程;讀取所述定時任務的數據,并寫入激活的所述隊列維護線程,其中,所述定時任務的數據包括:所述定時任務的任務數據、所述定時任務的定時時間;根據所述定時任務的定時時間,將所述定時任務加入所述隊列維護線程維護的定時任務隊列,其中,所述定時任務隊列中的定時任務按照定時時間從小到大排列;在所述定時任務隊列中的每個定時任務的定時時間,觸發任務分發線程分發對應的定時任務。
根據本發明實施例的第二方面,還提供了一種定時任務處理裝置,包括:監聽模塊,用于通過定時任務的隊列維護線程對應的I/O多路復用模型進行定時任務監聽;激活模塊,用于在監聽到新的定時任務后,通過所述I/O多路復用模型激活所述隊列維護線程;讀寫模塊,用于讀取所述定時任務的數據,并寫入激活的所述隊列維護線程,其中,所述定時任務的數據包括:所述定時任務的任務數據、所述定時任務的定時時間;隊列模塊,用于根據所述定時任務的定時時間,將所述定時任務加入所述隊列維護線程維護的定時任務隊列,其中,所述定時任務隊列中的定時任務按照定時時間從小到大排列;分發模塊,用于在所述定時任務隊列中的每個定時任務的定時時間,觸發任務分發線程分發對應的定時任務。
根據本發明實施例提供的方案,通過I/O多路復用模型對定時任務進行實時監聽,并在監聽到有新的定時任務到來時,讀取該定時任務數據并寫入相應的隊列維護線程的定時任務隊列中,以在定時時間到達時進行該定時任務的分發。其中,I/O多路復用模型是一種使用I/O多路復用機制進行任務處理的模型,可以監視多個描述符,一旦某個描述符就緒(可以是讀就緒或者寫就緒),即可通知相應的進程或線程進行讀寫操作。本發明實施例中,I/O多路復用模型可以對產生、發送或轉發定時任務的線程或進程通過這些線程或進程的描述符進行監聽,一旦有定時任務到達,即可進行處理。因此,通過本發明實施例提供的方案,可以實時對定時任務進行監聽,并在定時時間到達時即時對定時任務進行處理,實現了定時任務觸發時間的精確匹配和處理。
附圖說明
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京世紀好未來教育科技有限公司,未經北京世紀好未來教育科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810084155.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種基于系統負載實現的擴縮容配置推薦系統及方法
- 下一篇:執行資源的動態分區





