[發明專利]一種定時任務的執行方法、裝置、計算機設備及存儲介質在審
| 申請號: | 201911301277.7 | 申請日: | 2019-12-17 |
| 公開(公告)號: | CN111078413A | 公開(公告)日: | 2020-04-28 |
| 發明(設計)人: | 李愷;何柄融;許煜彬;王偉 | 申請(專利權)人: | 深圳前海環融聯易信息科技服務有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/54;G06F16/25;G06F16/21 |
| 代理公司: | 深圳市精英專利事務所 44242 | 代理人: | 武志峰 |
| 地址: | 518000 廣東省深圳市前海深港合作區前*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 定時 任務 執行 方法 裝置 計算機 設備 存儲 介質 | ||
本發明公開了定時任務的執行方法、裝置、計算機設備及存儲介質,涉及計算機技術領域。所述方法包括:設置多個哈希槽;將每臺服務器與其中的一部分哈希槽進行關聯;獲取定時任務中各條數據的主鍵字段,并通過所述主鍵字段對所述哈希槽的總數量進行取模計算,得到取模結果;根據取模結果將相應的數據分配至對應的服務器進行處理;通過Redis數據庫記錄參與定時任務的服務器的總數量;判斷所述服務器的總數量與處理完對應數據的服務器的數量是否相等;若相等,則結束當前定時任務;若不相等,則繼續等待未處理完對應數據的服務器完成當前定時任務。本發明設置多個哈希槽,使定時任務能夠均勻分配至各服務器,同時利用Redis數據庫實現定時任務同步執行。
技術領域
本發明涉及計算機技術領域,特別涉及一種定時任務的執行方法、裝置、計算機設備及存儲介質。
背景技術
現有技術中,主要有兩種執行定時任務的技術方案:第一種方案是分布式鎖方案,通過對定時任務加鎖,保證多臺服務器在定時任務觸發時只有一臺服務器執行定時任務;第二種方案是根據數據的主鍵字段取模實現定時任務分配,使每臺服務器都可以被分配到一部分定時任務。
但是上述兩種還存在一定的缺陷:第一種方案中,采用分布式鎖增加了技術難度,并且無法發揮出集群服務器的優勢,另外如果執行定時任務的服務器出現異常,則其他服務器無法代為執行定時任務;第二種方案中,當主鍵字段取模分配不均勻時,可能會導致有的服務器出現負荷運行,從而導致各服務器無法同步執行定時任務,而且如果出現服務器數量的增加或者減少的情況時,還可能導致定時任務中的數據被重復處理。因此如何實現均勻分配定時任務以及同步執行定時任務是本領域技術人員需要解決的問題。
發明內容
本發明提供了一種定時任務的執行方法、裝置、計算機設備及存儲介質,旨在解決定時任務分配不均勻以及定時任務執行不同步的問題。
第一方面,本發明實施例提供了一種定時任務的執行方法,包括:
設置多個哈希槽,并對所述多個哈希槽進行編號;
將每臺服務器與其中的一部分哈希槽進行關聯,且每臺服務器關聯的哈希槽不相同;
當需要對定時任務進行執行時,獲取定時任務中各條數據的主鍵字段,并通過所述主鍵字段對所述哈希槽的總數量進行取模計算,得到取模結果;
根據所述取模結果確定對應哈希槽的編號,并基于所述編號確定對應哈希槽關聯的服務器,再將相應的數據分配至對應的服務器進行處理;
通過Redis數據庫記錄參與所述定時任務的服務器的總數量;
在Redis數據庫中記錄處理完對應數據的服務器的數量,并判斷所述服務器的總數量與處理完對應數據的服務器的數量是否相等;
若相等,則結束當前定時任務,并將所述Redis數據庫中記錄的服務器的總數量以及處理完對應數據的服務器的數量均重置為0;
若不相等,則繼續等待未處理完對應數據的服務器完成當前定時任務。
進一步的,所述將每臺服務器與其中的一部分哈希槽進行關聯,且每臺服務器關聯的哈希槽不相同,包括:
將所述哈希槽的總數量除以服務器的總數量,得到每臺服務器關聯的哈希槽的數量;
依次從所有哈希槽中取出對應數量的哈希槽分配至每臺服務器,并將每臺服務器與分配的哈希槽進行關聯。
進一步的,所述當需要對定時任務的各條數據進行處理時,獲取各條數據的主鍵字段,并通過所述主鍵字段對所述哈希槽的總數量進行取模計算,得到取模結果包括:
根據哈希算法計算各條數據的主鍵字段對應的哈希值;
通過所述哈希值對所述哈希槽的總數量進行取模計算,得到取模結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳前海環融聯易信息科技服務有限公司,未經深圳前海環融聯易信息科技服務有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911301277.7/2.html,轉載請聲明來源鉆瓜專利網。





