[發明專利]一種基于緩存的冪等性實現的方法有效
| 申請號: | 201910544864.2 | 申請日: | 2019-06-21 |
| 公開(公告)號: | CN110266799B | 公開(公告)日: | 2022-07-05 |
| 發明(設計)人: | 石鎮嘉;劉奇 | 申請(專利權)人: | 國網山西省電力公司忻州供電公司 |
| 主分類號: | H04L67/568 | 分類號: | H04L67/568;H04L67/60;H04L67/62;G06F16/2455;G06F16/2457 |
| 代理公司: | 太原科衛專利事務所(普通合伙) 14100 | 代理人: | 朱源 |
| 地址: | 034000 *** | 國省代碼: | 山西;14 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 緩存 實現 方法 | ||
本發明涉及網絡信息處理技術,具體為一種基于緩存的冪等性實現的方法。解決了目前高并發和跨網絡請求中存在重復訂單導致服務端較難處理的技術問題。當一單用戶請求觸發,會由于用戶重復請求,或者網絡震蕩導致重復訂單,加上網路鏈路路由不同等因素,同一單請求并發到服務端,在本發明中服務端首先查詢緩存,確定緩存中是否存在當前訂單號對應的交易,如果此交易存在,即取出緩存中的交易信息,并作為交易結果返回。本發明面對的場景是在高并發和跨網絡請求中,提高請求的響應,并保證相同請求返回相同的結果信息,并且通過TTL策略(Time To Live生存時間),保證較小的緩存使用,提高程序的并發處理能力和異常處理能力。
技術領域
本發明涉及網絡信息處理技術,具體為一種基于緩存的冪等性實現的方法。
背景技術
伴隨網絡的普及和互聯網的發展,對于服務端的接口請求的要求也是也來越嚴格,并且伴隨請求中攜帶交易的信息,服務端對于請求的響應,從原先的無狀態,變化為目前需求的有狀態,而且不單單是有狀態,還要保證冪等性。即同樣的請求到了服務端,服務端必須響應相同的返回結果,且自身業務有且只能處理一次。這就導致了在高速并發的請求下,業務數據處理中需要篩選出重復訂單,并對重復的訂單進行查詢,看看已經處理到了哪一步,即涉及到了多個線程,多個進程,甚至是多臺服務器之間的通信。確保內容的一致性,保證并發請求能夠獲得相同的處理結果和處理描述,這是影響現在互聯網企業的一個問題,如果能夠解決這個問題,那么在橫向擴展上將會獲得非常大的好處。
現有技術中,有一個中國專利《數據的更新方法和裝置》,該專利為通過使用緩存的機制,保證配置相關信息的版本信息,從而保證相同版本的配置信息能夠在獲得高速響應并保證數據的正確性和冪等性。但是對于高并發和跨網絡請求的情形,這種方案卻不適用。
發明內容
本發明為解決目前高并發和跨網絡請求中存在重復訂單導致服務端較難處理的技術問題,提供一種基于緩存的冪等性實現的方法。
本發明是采用如下技術方案實現的:一種基于緩存的冪等性實現的方法,包括如下步驟:步驟1:當一單用戶請求觸發,會由于用戶重復請求,客戶端重試,或者網絡震蕩導致產生重復訂單請求;加上網絡不可靠,路由鏈路變化以及其它因素,同一單請求并發抵達服務端;
步驟2:當一個請求已經抵達服務端,服務端首先查詢緩存,通過CAS(compare andswap)原理,根據該請求中攜帶的id,獲得該id所對應的請求信息;
步驟3:通過請求抵達時間和通過CAS原理獲取的時間進行對比,存在如下可能性:
1.如果時間相同,即為相同的請求,可能存在如下可能性:
①該請求第一次訪問服務端;
②已經超過了TTL(Time To Live)存活時間的請求,這種情形下緩存將自動清除超過TTL的信息;這種情形下因為緩存在超過TTL時間后,自動清除超過TTL的請求信息,所以在緩存中找不到超過TTL時間的請求信息;
2.如果時間不同,即為之前已經存在過該請求,直接將獲取到的請求信息,轉換為對應的返回協議返回給用戶(即調用方),告訴用戶現在進程到了什么處理狀態;
步驟4:在請求是第一次訪問服務端的情況下,如果該請求為臨時請求(臨時請求是指只有時效性,而無事務性),對該請求進行處理,即為可執行交易,并將階段性結果記錄到緩存中,然后將處理成功的信息返回給用戶;
步驟5:在請求是第一次訪問服務端的情況下,如果該請求為事務(Transaction)請求,直接根據請求攜帶的id查詢數據庫(數據庫將此id做唯一索引處理):
1.如果數據庫中存在該記錄,將數據庫中的記錄放入緩存中,并組織返回參數,返回用戶;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國網山西省電力公司忻州供電公司,未經國網山西省電力公司忻州供電公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910544864.2/2.html,轉載請聲明來源鉆瓜專利網。





