[發明專利]一種高并發多線程數據處理方法在審
| 申請號: | 202210939190.8 | 申請日: | 2022-08-05 |
| 公開(公告)號: | CN115358854A | 公開(公告)日: | 2022-11-18 |
| 發明(設計)人: | 王玉冬;俞秋琳;磨柑竹;魏鵬;汪昕 | 申請(專利權)人: | 上海浦東發展銀行股份有限公司 |
| 主分類號: | G06Q40/04 | 分類號: | G06Q40/04;G06Q10/08;G06F16/2455 |
| 代理公司: | 上??剖⒅R產權代理有限公司 31225 | 代理人: | 廖程 |
| 地址: | 200002 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 并發 多線程 數據處理 方法 | ||
本發明涉及一種高并發多線程數據處理方法,包括以下步驟:預置活動商品總庫存;用戶參加活動,即按順序給該用戶分發對應的占位編號;獲取用戶購買記錄信息,以確定已售商品數量;結合當前參加活動的用戶總數、已售商品數量、當前占位編號以及總庫存,確定出當前剩余庫存;判斷當前剩余庫存是否大于或等于設定閾值,若判斷為是,則輸出信息告知用戶可參加活動、購買商品;否則輸出信息告知用戶商品已售罄。與現有技術相比,本發明能夠在高并發多線程情況下提高當前剩余庫存計算的準確性,避免發生商品超賣、已售商品重復計算、商品無法全部售罄等問題。
技術領域
本發明涉及多線程數據處理技術領域,尤其是涉及一種高并發多線程數據處理方法。
背景技術
在金融交易業務場景下,當發生線上商品交易行為時,往往存在多個用戶同時請求購買同一商品的情形,此時后臺需要針對這種情況進行多線程數據處理?,F有技術在進行多線程處理時,當發生多個線程共享同一份資源,由于多線程對于資源的獲取是以一種競態方式,所以在購物下單類似的場景中容易出現超賣的線程安全問題。
目前,通用做法是簡單地將商品直接分發,比如每賣出一個商品,就將商品庫存自動減少一個,直至商品庫存減為0為止、停止售賣。具體做法是:預先將活動商品可售數量初始化,即為總庫存;當用戶參加活動時獲取總庫存,并在此基礎上減去用戶購買的商品數量,同時更新總庫存值;最后會獲取當前總庫存、并判斷值是否小于0,以此判斷后續邏輯,即小于0時表示商品售罄,并告知用戶;反之繼續后續相關流程。
然而上述處理方式在實際應用中還存在以下問題:若當前購買的用戶雖然購買了商品,但是存在很多用戶僅僅是將商品添加到購物車,而沒有立即支付,這樣會導致商品庫存被完全占用,但實際上又沒有銷售出去;此外,當用戶長期占用庫存不支付,也會導致后續客戶無法購買;若在購買后一段時間內沒有支付,也無法將占用庫存返還。這些問題導致無法保證線上商品的可靠交易,難以滿足實際業務場景需求。
發明內容
本發明的目的就是為了克服上述現有技術存在的缺陷而提供一種高并發多線程數據處理方法,能夠準確、可靠地實現線上商品交易活動。
本發明的目的可以通過以下技術方案來實現:一種高并發多線程數據處理方法,包括以下步驟:
S1、預置活動商品總庫存;
S2、用戶參加活動,即按順序給該用戶分發對應的占位編號;
S3、獲取用戶購買記錄信息,以確定已售商品數量;
S4、結合當前參加活動的用戶總數、已售商品數量、當前占位編號以及總庫存,確定出當前剩余庫存;
S5、判斷當前剩余庫存是否大于或等于設定閾值,若判斷為是,則輸出信息告知用戶可參加活動、購買商品;否則輸出信息告知用戶商品已售罄。
進一步地,所述步驟S1具體是將總庫存數量預先存儲于數據庫中。
進一步地,所述步驟S3中已售商品數量實時更新存儲于數據庫中。
進一步地,所述步驟S4具體包括以下步驟:
S41、根據當前參加活動的用戶總數、已售商品數量、當前占位編號以及總庫存,計算得到第一剩余庫存;
S42、根據已售商品對應訂單的支付狀態,結合第一剩余庫存,確定出第二剩余庫存;
S43、將第二剩余庫存減去當前占位編號,得到當前剩余庫存。
進一步地,所述步驟S41中第一剩余庫存的計算公式具體為:第一剩余庫存=總庫存—當前用戶占位時的占位總數—已售商品數量+當前占位編號。
進一步地,所述步驟S42具體包括以下步驟:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海浦東發展銀行股份有限公司,未經上海浦東發展銀行股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210939190.8/2.html,轉載請聲明來源鉆瓜專利網。





