[發明專利]一種冪等性校驗方法及裝置在審
| 申請號: | 202110872037.3 | 申請日: | 2021-07-30 |
| 公開(公告)號: | CN113553214A | 公開(公告)日: | 2021-10-26 |
| 發明(設計)人: | 孫華忠;段澤源;張賓 | 申請(專利權)人: | 國網電子商務有限公司;國網電商科技有限公司 |
| 主分類號: | G06F11/10 | 分類號: | G06F11/10 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 李偉 |
| 地址: | 100053 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 校驗 方法 裝置 | ||
本申請提供一種冪等性校驗方法及裝置,首先根據請求參數組裝唯一性編碼,通過判斷緩存是否存在唯一性編碼,緩存已存在的數據不需要執行后面的業務邏輯,緩存不存在的數據需要執行后面的業務邏輯,設置冪等校驗結果為0,表示該唯一性編碼對應的業務數據正在處理中,業務邏輯執行完后將數據保存數據庫,同時將冪等校驗結果保存到緩存,設置冪等校驗結果為系統時間+2天對應的Long類型值(到期時間),到期后緩存會刪除數據,返回業務操作結果給外部業務系統。本申請借助冪等性校驗,在請求到達后對請求參數進行處理,實現相同的請求參數返回相同的返回結果,自身業務只處理一次,從而確保數據的一致性,保證高并發場景下的響應結果。
技術領域
本申請涉及計算機數據處理技術領域,特別的,尤其涉及一種冪等性校驗方法及裝置。
背景技術
隨著互聯網的快速發展,越來越多的接口需要對外開放,對應每個接口的穩定性顯得越來越重要。對于服務端的接口請求的要求也是越來越嚴格,并且伴隨請求中攜帶庫存、交易、價格等敏感信息,服務端對于請求的響應,從原先的無狀態,變化為目前的有狀態,而且不單單是有狀態,還要保證冪等性,即同樣的請求到了服務端,服務端必須響應相同的返回結果,且自身業務有且只能處理一次。
現在的接口實現中一般是通過校驗數據庫的方式判斷是否已經存在,這種方式在請求量和數據量比較小的情況下是可用的,但是隨著數據量和請求量越來越大,對底層數據庫的訪問壓力也越來越大,不管是查詢還是增刪改的響應速度越來越慢。雖然借助緩存的高效訪問,可以極大的提高接口的對外服務能力,但是由于網絡延遲、用戶重復操作等不可控的原因,多條相同的請求參數可能并發訪問同一接口,這就導致每次校驗緩存都沒有相同數據,最終出現重復數據保存到數據庫。
為此,如何確保數據的一致性,保證高并發請求能夠獲得相同的處理結果和處理描述,是本領域技術人員亟待解決的問題。
發明內容
鑒于現有技術中存在的問題,本申請提供了一種冪等性校驗方法及裝置,借助冪等性校驗,在請求到達后對請求參數進行處理,實現相同的請求參數返回相同的返回結果,自身業務只處理一次,從而確保數據的一致性,保證高并發場景下的響應結果。
為了實現上述目的,本申請提供了以下技術方案:
一種冪等性校驗方法,包括:
獲取外部業務系統發送的業務請求信息中包含的業務請求參數,從所述業務請求參數中提取業務系統編碼和操作時間,并組裝成唯一性編碼;
依據當前業務場景確定當前業務操作編碼,并根據所述當前業務操作編碼和所述唯一性編碼進行冪等校驗,得到冪等校驗結果;
根據所述冪等校驗結果執行對應的業務邏輯,得到業務執行數據;
對所述業務執行數據和所述冪等校驗結果進行保存,并將執行結果反饋至所述外部業務系統。
進一步的,所述根據所述當前業務操作編碼和所述唯一性編碼進行冪等校驗,得到冪等校驗結果,具體為:
根據所述當前業務操作編碼和所述唯一性編碼從Redis緩存中判斷所述唯一性編碼是否存在;
若不存在,則確定所述業務請求信息對應的當前業務數據為新數據,設置所述Redis緩存中的數據值為0,確定所述當前業務數據處于正在處理中,執行預設業務邏輯,將所述唯一性編碼保存至所述Redis緩存中,并設定所述唯一性編碼的到期時間;
若存在,則確定所述業務請求信息對應的當前業務數據為舊數據,根據所述Redis緩存中的數據值的取值情況判斷所述當前業務數據的操作狀態;
若所述Redis緩存中的數據值為0,則確定所述舊數據處于正在處理中,待所述舊數據處理完后,反饋所述當前業務數據為操作失敗;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國網電子商務有限公司;國網電商科技有限公司,未經國網電子商務有限公司;國網電商科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110872037.3/2.html,轉載請聲明來源鉆瓜專利網。





