[發明專利]一種利用數據庫鎖實現定時任務原子性的方法在審
| 申請號: | 202111164926.0 | 申請日: | 2021-09-30 |
| 公開(公告)號: | CN113836161A | 公開(公告)日: | 2021-12-24 |
| 發明(設計)人: | 李偉偉 | 申請(專利權)人: | 紫光云技術有限公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F9/50;G06F9/48 |
| 代理公司: | 天津濱海科緯知識產權代理有限公司 12211 | 代理人: | 李彥彥 |
| 地址: | 300459 天津市濱海新區*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 利用 數據庫 實現 定時 任務 原子 方法 | ||
本發明提供了一種利用數據庫鎖實現定時任務原子性的方法,包括如下步驟:S1、設置多組虛擬機節點,每組虛擬機節點上均部署有ntp服務器;S2、設置定時任務時間鎖對應的時間規范;S3、設置時間鎖主鍵,設置時間鎖的定時任務搶占數據庫行級鎖;S4、根據步驟S3的時間鎖返回結果,判斷是否搶占到任務;S5、搶占到時間鎖的定時任務進入任務執行隊列,并執行此處任務,未搶占到時間鎖的定時任務放棄此次執行任務;S6、任務執行完成后更新鎖數據,查看任務執行結果。本發明基于定時任務特性,將定時任務時間鎖集合數據庫行級鎖來實現定時任務的原子性,保證多副本情況下的服務定時任務唯一性,從而避免定時任務導致的臟數據問題。
技術領域
本發明屬于信息技術領域,尤其是涉及一種利用數據庫鎖實現定時任務原子性的方法。
背景技術
隨著計算機應用的發展,應用服務早已經從單體服務轉到微服務架構,早期單體服務存在較多弊端,服務維護困難,微服務架構的出現解決了單體服務的弊端,但在多副本服務執行定時任務時,會存在以下問題:(1)、多副本在同一時刻執行相同的定時任務時,導致相同的任務在同一時間點執行多次,存在每個服務更新的數據不一致從而直接使業務數據不一致的問題;(2)、多副本同時分別從遠端服務上拉取大量數據,并寫入數據庫,大量重復的數據寫入數據庫,增加數據庫的處理壓力,影響任務執行行程;因此,亟需一種利用數據庫鎖實現定時任務原子性的方法。
發明內容
有鑒于此,本發明旨在提出一種利用數據庫鎖實現定時任務原子性的方法,以解決上述問題的不足之處。
為達到上述目的,本發明的技術方案是這樣實現的:
第一方面,本發明提供了一種利用數據庫鎖實現定時任務原子性的方法,包括如下步驟:S1、設置多組虛擬機節點,每組虛擬機節點上均部署有ntp服務器;
S2、對步驟S1上產生的定時任務設置時間鎖,并設置定時任務時間鎖對應的時間規范;
S3、根據步驟S2中的時間規范,設置時間鎖主鍵,設置有時間鎖的定時任務搶占數據庫行級鎖;
S4、根據步驟S3中搶占的返回結果,判斷是否搶占到任務;
S5、搶占到時間鎖的定時任務進入任務執行隊列,并執行此次任務,未搶占到時間鎖的定時任務放棄此次執行任務;
S6、任務執行完成后更新鎖數據,查看任務執行結果。
進一步的,步驟S2中,基于時間鎖的不可逆性,設置定時任務時間鎖,保證定時任務時間鎖不同,防止定時鎖未釋放導致重復對時間鎖上鎖,定時任務時間鎖時間規范為:
名稱-時間或時間-名稱形式定義時間鎖,時間鎖可按照定時任務最小粒度到分或者秒。
進一步的,步驟S3中,定時任務開啟執行時,按照當前時間和時間鎖時間規范,生成時間鎖,并將設置時間鎖的定時任務鎖入數據庫,根據時間鎖主鍵唯一性,進行多副本服務搶占。
進一步的,步驟S4中,通過多副本情況,在定時時間點同時執行任務,搶占到數據庫行級鎖的任務返回結果為1,未搶占到數據行級鎖的任務返回結果為0。
進一步的,步驟S6中,更新鎖數據時,定期清理數據庫空間占用量,防止數據過多,影響任務執行的性能。
第二方面,一種電子設備,包括處理器,以及與處理器通信連接,且用于存儲所述處理器可執行指令的存儲器,所述處理器執行所述指令時實現上述第一方面所述的一種利用數據庫鎖實現定時任務原子性的方法的步驟。
第三方面,一種服務器,包括至少一個處理器,以及與所述處理器通信連接的存儲器,所述存儲器存儲有可被所述至少一個處理器執行的指令,所述指令被所述處理器執行,以使所述至少一個處理器執行上述第一方面所述的一種利用數據庫鎖實現定時任務原子性的方法的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于紫光云技術有限公司,未經紫光云技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111164926.0/2.html,轉載請聲明來源鉆瓜專利網。





