[發明專利]任務防重方法、裝置、計算機設備及存儲介質在審
| 申請號: | 201811528669.2 | 申請日: | 2018-12-13 |
| 公開(公告)號: | CN109766349A | 公開(公告)日: | 2019-05-17 |
| 發明(設計)人: | 巫紹堂 | 申請(專利權)人: | 平安普惠企業管理有限公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23 |
| 代理公司: | 深圳眾鼎專利商標代理事務所(普通合伙) 44325 | 代理人: | 黃章輝 |
| 地址: | 518000 廣東省深圳市前海深港合作區前*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 時間戳 預設 計算機設備 存儲介質 數據庫 數據處理效率 系統時間計算 存儲數據 更新參數 更新請求 重復執行 云存儲 閾值時 檢測 更新 保證 | ||
本發明涉及云存儲領域,公開了一種基于時間戳的任務防重方法、裝置、計算機設備及存儲介質,其方法包括:接收對數據庫中用于存儲數據的指定表的更新請求;獲取根據所述當前系統時間計算當前系統的時間戳;計算所述當前系統的時間戳與所述指定表的時間戳的差值,并檢測所述差值是否大于預設閾值;在所述差值大于預設閾值時,按照所述待更新參數對所述指定表進行更新,并將所述指定表的時間戳的值設置為所述當前系統的時間戳。本發明提供的基于時間戳的任務防重方法,具有數據庫樂觀鎖特性,數據處理效率非常高;同時基于秒級時間戳的鎖方式,可以保證在預設閾值的時間內,任務不會被重復執行;該方法可在SQL層運行,不依賴于具體任務,實現簡單。
技術領域
本發明涉及云存儲領域,尤其涉及一種基于時間戳的任務防重方法、裝置、計算機設備及存儲介質。
背景技術
在多用戶環境中,數據庫的同一個數據在同一時間可能會有多個用戶更新相同的記錄,這會產生沖突。現有的解決方式是,使用自增長的整數表示數據版本號,更新時檢查版本號是否一致。比如數據庫中數據版本為6,更新提交時version=6+1,使用該version值(=7)與數據庫version+1(=7)作比較,如果相等,則可以更新,如果不相等則有可能其他程序已更新該記錄,此時返回錯誤。在另一種情況下,采用過期時間比較的方式,但在同一時刻查詢時,更新時候沒有做時間版本號判斷,會導致前一個更新時間覆蓋后一個更新時間,而導致被執行2次。
發明內容
基于此,有必要針對上述技術問題,提供一種基于時間戳的任務防重方法、裝置、計算機設備及存儲介質,以解決數據庫在更新數據時出現的任務重復問題。
一種基于時間戳的任務防重方法,包括:
接收對數據庫中用于存儲數據的指定表的更新請求,所述更新請求中包含待更新參數;
獲取所述數據庫中所述指定表的時間戳;并獲取當前系統時間,根據所述當前系統時間計算當前系統的時間戳;
計算所述當前系統的時間戳與所述指定表的時間戳的差值,并檢測所述差值是否大于預設閾值;
在所述差值大于預設閾值時,按照所述待更新參數對所述指定表進行更新,并將所述指定表的時間戳的值設置為所述當前系統的時間戳。
一種基于時間戳的任務防重裝置,包括:
接收請求模塊,用于接收對數據庫中用于存儲數據的指定表的更新請求,所述更新請求中包含待更新參數;
獲取時間戳模塊,用于獲取所述數據庫中所述指定表的時間戳;并獲取當前系統時間,根據所述當前系統時間計算當前系統的時間戳;
檢測模塊,用于計算所述當前系統的時間戳與所述指定表的時間戳的差值,并檢測所述差值是否大于預設閾值;
更新模塊,用于在所述差值大于預設閾值時,按照所述待更新參數對所述指定表進行更新,并將所述指定表的時間戳的值設置為所述當前系統的時間戳。
一種計算機設備,包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現上述基于時間戳的任務防重方法的步驟。
一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機程序,所述計算機程序被處理器執行時實現上述基于時間戳的任務防重方法的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于平安普惠企業管理有限公司,未經平安普惠企業管理有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811528669.2/2.html,轉載請聲明來源鉆瓜專利網。





