[發明專利]處理并發訂單的方法和裝置在審
| 申請號: | 201610220799.4 | 申請日: | 2016-04-11 |
| 公開(公告)號: | CN107291769A | 公開(公告)日: | 2017-10-24 |
| 發明(設計)人: | 劉希望 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京英賽嘉華知識產權代理有限責任公司11204 | 代理人: | 王達佐,馬曉亞 |
| 地址: | 100080 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 處理 并發 訂單 方法 裝置 | ||
技術領域
本申請涉及計算機技術領域,具體涉及互聯網技術領域,尤其涉及處理并發訂單的方法和裝置。
背景技術
由于電子商務的便捷性,越來越多的用戶選擇電子商務進行購物。當一些商務網站或網站中的商家推出具有吸引力的優惠活動時,往往會吸引大量用戶同時訪問商務網站,甚至在一秒鐘內收到數以萬計甚至更多的訂單請求。
目前,用戶使用的商務網站的頁面通常由前端返回部分和后臺服務部分組成。前端返回部分可以通過內容分發網絡(CDN)的部署、動靜分離、緩存等手段提高性能;后臺服務部分在接收到用戶的訂單請求時,需要去供貨數據列表中取與訂單請求中的訂貨數據相匹配的供貨數據,若取到供貨數據則生成訂單數據,之后減少庫存并寫數據庫,最后通知用戶訂單成功并解鎖供貨數據列表。
然而,上述后臺服務部分處理訂單的操作均為串行執行,需要在減少庫存并寫數據庫后向用戶返回響應,因此向用戶返回響應的時間較長。
發明內容
本申請的目的在于提出一種改進的處理并發訂單的方法和裝置,來解決以上背景技術部分提到的技術問題。
第一方面,本申請提供了處理并發訂單的方法,所述方法包括:獲取訂單請求,所述訂單請求包括用戶數據和訂貨數據;從供貨數據隊列中抽取與所述訂貨數據相匹配的供貨數據;響應于抽取供貨數據成功,生成抽取的供貨數據與所述用戶數據的配對關系,將所述配對 關系添加至已配對隊列,并更新供貨數據隊列;返回完成訂單的提示信息。
在一些實施例中,所述方法還包括:對所述已配對隊列中的配對關系進行去重;根據去重后的已配對隊列中的配對關系生成訂單數據;將所述訂單數據存儲至數據庫中。
在一些實施例中,所述從供貨數據隊列中抽取與所述訂貨數據相匹配的供貨數據包括:響應于所述用戶數據未存在于預定集合中,從供貨數據隊列中抽取與所述訂貨數據相匹配的供貨數據;以及所述將所述配對關系添加至已配對隊列包括:將所述配對關系添加至已配對隊列,并將所述配對關系中的用戶數據添加至所述預定集合中。
在一些實施例中,所述方法還包括:獲取所述用戶數據中的用戶身份標識;判斷所述用戶身份標識是否存在于已加鎖的訂單請求中;若是,則返回正在處理訂單的提示信息;若否,則使用所述用戶身份標識對所述訂單請求進行加鎖。
在一些實施例中,所述方法還包括:響應于訂單請求的數量超過所述預設的加鎖的數量,向超過所述加鎖的數量的訂單請求返回訂單失敗信息。
在一些實施例中,所述方法還包括:根據供貨數據隊列中的貨物數量和系統可承受的并發數設定所述加鎖的數量。
在一些實施例中,所述方法還包括以下一項或多項:響應于從預設的供貨數據隊列中抽取供貨數據失敗,返回訂單失敗的提示信息;和/或預先加載所述供貨數據隊列和所述已配對隊列至緩存中。
第二方面,本申請提供了一種處理并發訂單的裝置,所述裝置包括:訂單請求獲取模塊,用于獲取訂單請求,所述訂單請求包括用戶數據和訂貨數據;供貨數據抽取模塊,用于從供貨數據隊列中抽取與所述訂貨數據相匹配的供貨數據;配對關系添加模塊,用于響應于抽取供貨數據成功,生成抽取的供貨數據與所述用戶數據的配對關系,將所述配對關系添加至已配對隊列,并更新供貨數據隊列;返回提示信息模塊,用于返回完成訂單的提示信息。
在一些實施例中,所述裝置還包括:配對關系去重模塊,用于對 所述已配對隊列中的配對關系進行去重;訂單數據生成模塊,用于根據去重后的已配對隊列中的配對關系生成訂單數據;訂單數據存儲模塊,用于將所述訂單數據存儲至數據庫中。
在一些實施例中,所述供貨數據抽取模塊進一步用于:響應于所述用戶數據未存在于預定集合中,從供貨數據隊列中抽取與所述訂貨數據相匹配的供貨數據;以及所述配對關系添加模塊進一步用于:將所述配對關系添加至已配對隊列,并將所述配對關系中的用戶數據添加至所述預定集合中。
在一些實施例中,所述裝置還包括:身份標識獲取模塊,用于獲取所述用戶數據中的用戶身份標識;身份標識判斷模塊,用于判斷所述用戶身份標識是否存在于已加鎖的訂單請求中;提示信息返回模塊,用于若所述用戶身份標識存在于已加鎖的訂單請求中,則返回正在處理訂單的提示信息;訂單請求加鎖模塊,用于若所述用戶身份標識不存在于已加鎖的訂單請求中,則使用所述用戶身份標識對所述訂單請求進行加鎖。
在一些實施例中,所述裝置還包括:訂單失敗提示模塊,用于響應于訂單請求的數量超過所述預設的加鎖的數量,向超過所述加鎖的數量的訂單請求返回訂單失敗信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610220799.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種索引建立的方法及裝置
- 下一篇:一種分布式系統中海量數據的查詢方法及裝置





