[發明專利]庫存扣減方法、系統和服務器在審
| 申請號: | 201810876870.3 | 申請日: | 2018-08-03 |
| 公開(公告)號: | CN110796401A | 公開(公告)日: | 2020-02-14 |
| 發明(設計)人: | 李承釗;殷超 | 申請(專利權)人: | 京東數字科技控股有限公司 |
| 主分類號: | G06Q10/08 | 分類號: | G06Q10/08;G06Q30/02 |
| 代理公司: | 11038 中國國際貿易促進委員會專利商標事務所 | 代理人: | 趙倩男;劉劍波 |
| 地址: | 100176 北京市大興區北京經*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 庫存 電子商務領域 庫存總量 熱點問題 重新選擇 服務器 緩解 | ||
本公開提供了一種庫存扣減方法、系統和服務器,涉及電子商務領域。該方法包括:接收庫存扣減請求;在庫存鍵列表中任意選擇一個庫存鍵,判斷庫存鍵對應的值是否滿足庫存扣減需求,其中,各庫存鍵對應的值的和為庫存總量;若庫存鍵對應的值滿足庫存扣減需求,則根據庫存扣減需求修改庫存鍵對應的值;若庫存鍵對應的值不滿足庫存扣減需求,則重新在庫存鍵列表中選擇一個庫存鍵,并判斷重新選擇的庫存鍵對應的值是否滿足庫存扣減需求。本公開能夠緩解單庫存鍵帶來的熱點問題。
技術領域
本公開涉及電子商務領域,尤其涉及一種庫存扣減方法、系統和服務器。
背景技術
伴隨著電商領域的高速發展,電商系統已經設計得越來越完善。用戶購買商品、使用優惠券都涉及到庫存的扣減問題,一個設計優異的庫存系統不僅能避免客戶投訴、減少公司的資源損耗,而且還能提升電商系統的整體性能,給用戶使用帶來更好的體驗。
現有的庫存扣減方案主要有以下幾種:
第一種方案,庫存記錄在數據庫中,扣減時對庫中記錄加悲觀鎖,扣減后再釋放鎖。第二種方案,庫存記錄在數據庫中,采用CAS(Compare and Set,比較與設置)來降低鎖沖突,保證一致性。即先獲取出老的庫存值oldValue,再計算出新的庫存值newValue=oldValue-1,最后執行帶有where判斷老值的更新語句。第三種方案,為提升性能,將庫存記錄在Redis中(單機或分布式環境),為保證庫存扣減的原子性,可以使用lua腳本執行扣減庫存操作。腳本中可以判斷庫存扣減后是否符合要求來決定是否扣減庫存。為進一步提升性能,可以將lua腳本保存在Redis服務端以減少網絡傳輸成本。
發明內容
發明人發現,第一種方案對庫加悲觀鎖雖然提高了系統安全性,但帶來了鎖競爭,大大降低了系統性能,不適用于當今訪問量較大的電商系統中,尤其是經常有大促的系統。第二種方案中采用CAS降低鎖沖突,保證了冪等性和一致性,但對數據庫依賴較大,扣減一次庫存涉及兩次數據庫操作,對經常有大促的系統來說依然不適合。第三中方案采用Redis記庫存的方式,利用Redis單線程和lua腳本原子性扣減庫存,能有效提升系統性能,但當對于單機和分布式環境,產生了熱點問題,對于較火爆的獎品,在大促時扣庫存會導致大量請求集中在同一個Redis節點上,導致熱點問題。
本公開要解決的一個技術問題是提供一種庫存扣減方法、系統和服務器,能夠緩解單庫存鍵帶來的熱點問題。
根據本公開一方面,提出一種庫存扣減方法,包括:接收庫存扣減請求;在庫存鍵列表中任意選擇一個庫存鍵,判斷庫存鍵對應的值是否滿足庫存扣減需求,其中,各庫存鍵對應的值的和為庫存總量;若庫存鍵對應的值滿足庫存扣減需求,則根據庫存扣減需求修改庫存鍵對應的值;若庫存鍵對應的值不滿足庫存扣減需求,則重新在庫存鍵列表中選擇一個庫存鍵,并判斷重新選擇的庫存鍵對應的值是否滿足庫存扣減需求。
可選地,該方法還包括:判斷庫存扣減請求是否為有效庫存扣減請求;若庫存扣減請求為有效庫存扣減請求,則在庫存鍵列表中任意選擇一個庫存鍵。
可選地,判斷庫存扣減請求是否為有效庫存扣減請求包括:判斷庫存鍵列表是否保存有庫存鍵,若庫存鍵列表保存有庫存鍵,則確定庫存扣減請求為有效庫存扣減請求,否則,確定庫存扣減請求為無效庫存扣減請求。
可選地,該方法還包括:將創建好的庫存鍵列表發送至Zookeeper集群;其中,Zookeeper集群將庫存鍵列表推送至所有服務器內存中。
可選地,該方法還包括:若庫存鍵對應的值不滿足庫存扣減需求,則將庫存鍵列表中的庫存鍵刪除。
可選地,該方法還包括:若庫存鍵對應的值不滿足庫存扣減需求,則向Zookeeper集群發送刪除庫存鍵的請求;其中,Zookeeper集群若確定刪除庫存鍵的請求為第一次請求,則刪除庫存鍵列表中的庫存鍵。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于京東數字科技控股有限公司,未經京東數字科技控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810876870.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種緩存貨物的方法和裝置
- 下一篇:訂單批次調度方法、裝置及計算機系統
- 同類專利
- 專利分類
G06Q 專門適用于行政、商業、金融、管理、監督或預測目的的數據處理系統或方法;其他類目不包含的專門適用于行政、商業、金融、管理、監督或預測目的的處理系統或方法
G06Q10-00 行政;管理
G06Q10-02 .預定,例如用于門票、服務或事件的
G06Q10-04 .預測或優化,例如線性規劃、“旅行商問題”或“下料問題”
G06Q10-06 .資源、工作流、人員或項目管理,例如組織、規劃、調度或分配時間、人員或機器資源;企業規劃;組織模型
G06Q10-08 .物流,例如倉儲、裝貨、配送或運輸;存貨或庫存管理,例如訂貨、采購或平衡訂單
G06Q10-10 .辦公自動化,例如電子郵件或群件的計算機輔助管理





