[發明專利]一種利用數據庫鎖實現定時任務原子性的方法在審
| 申請號: | 202111164926.0 | 申請日: | 2021-09-30 |
| 公開(公告)號: | CN113836161A | 公開(公告)日: | 2021-12-24 |
| 發明(設計)人: | 李偉偉 | 申請(專利權)人: | 紫光云技術有限公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F9/50;G06F9/48 |
| 代理公司: | 天津濱海科緯知識產權代理有限公司 12211 | 代理人: | 李彥彥 |
| 地址: | 300459 天津市濱海新區*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 利用 數據庫 實現 定時 任務 原子 方法 | ||
1.一種利用數據庫鎖實現定時任務原子性的方法,其特征在于,包括如下步驟:S1、設置多組虛擬機節點,每組虛擬機節點上均部署有ntp服務器;
S2、對定時任務設置時間鎖,并設置定時任務時間鎖對應的時間規范;
S3、根據步驟S2中的時間規范,設置時間鎖主鍵,設置有時間鎖的定時任務搶占數據庫行級鎖;
S4、根據步驟S3中搶占的返回結果,判斷是否搶占到任務;
S5、搶占到時間鎖的定時任務進入任務執行隊列,并執行此次任務,未搶占到時間鎖的定時任務放棄此次執行任務;
S6、任務執行完成后更新鎖數據,查看任務執行結果。
2.根據權利要求1所述的一種利用數據庫鎖實現定時任務原子性的方法,其特征在于:步驟S2中,基于時間鎖的不可逆性,設置定時任務時間鎖,保證定時任務時間鎖不同,防止定時鎖未釋放導致重復對時間鎖上鎖,定時任務時間鎖時間規范為:
名稱-時間或時間-名稱形式定義時間鎖,時間鎖可按照定時任務最小粒度到分或者秒。
3.根據權利要求2所述的一種利用數據庫鎖實現定時任務原子性的方法,其特征在于:步驟S3中,定時任務開啟執行時,按照當前時間和時間鎖時間規范,生成時間鎖,并將設置時間鎖的定時任務鎖入數據庫,根據時間鎖主鍵唯一性,進行多副本服務搶占。
4.根據權利要求3所述的一種利用數據庫鎖實現定時任務原子性的方法,其特征在于:步驟S4中,通過多副本情況,在定時時間點同時執行任務,搶占到數據庫行級鎖的任務返回結果為1,未搶占到數據行級鎖的任務返回結果為0。
5.根據權利要求1所述的一種利用數據庫鎖實現定時任務原子性的方法,其特征在于:步驟S6中,更新鎖數據時,定期清理數據庫空間占用量,防止數據過多,影響任務執行的性能。
6.一種電子設備,包括處理器,以及與處理器通信連接,且用于存儲所述處理器可執行指令的存儲器,其特征在于:所述處理器執行所述指令時實現權利要求1-7任一項所述的一種利用數據庫鎖實現定時任務原子性的方法的步驟。
7.一種服務器,包括至少一個處理器,以及與所述處理器通信連接的存儲器,所述存儲器存儲有可被所述至少一個處理器執行的指令,其特征在于:所述指令被所述處理器執行,以使所述至少一個處理器執行如權利要求1-7任一所述的一種利用數據庫鎖實現定時任務原子性的方法的步驟。
8.一種計算機可讀取存儲介質,存儲有計算機程序,其特征在于:所述計算機程序被處理器執行時實現權利要求1-7任一項所述的一種利用數據庫鎖實現定時任務原子性的方法的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于紫光云技術有限公司,未經紫光云技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111164926.0/1.html,轉載請聲明來源鉆瓜專利網。





