[發明專利]對象管理方法有效
| 申請號: | 201510305437.0 | 申請日: | 2015-06-05 |
| 公開(公告)號: | CN104899290B | 公開(公告)日: | 2018-12-21 |
| 發明(設計)人: | 鄧波 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 中科專利商標代理有限責任公司 11021 | 代理人: | 倪斌 |
| 地址: | 100080 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 對象 管理 方法 | ||
本發明對象管理方法,描述了一種用于對用戶請求的對象的剩余數進行扣減的方法。所述方法包括:根據所述對象的標識從數據庫表中獲取對象總數、已用總數和最后使用用戶信息;如果所述對象總數與所述已用總數之差delta大于0,則將所述已用總數更新為已用總數與所述用戶的請求數n之和,并且使用所述用戶的標識和所述用戶請求對象的時間戳來更新所述最后使用用戶信息;根據所述對象的標識和更新后的最后使用用戶信息從所述數據庫表中查詢更新后的已用總數;以及如果查詢到更新后的已用總數并且更新后的已用總數與所述對象總數之差m大于0,則將所述數據庫表中的已用總數更新為已用總數與m之差,并且向所述用戶返回請求成功消息,所述請求成功消息包含指示所述用戶的請求數為n?m的信息。
技術領域
本發明的實施例涉及對象管理,具體涉及基于最后使用用戶信息對對象的剩余數進行扣減的方法和裝置。
背景技術
在對象管理領域中,當用戶請求對象時需要扣減對象的剩余數,并且當用戶取消請求時需要還原對象的剩余數。為了順利實現對象的調整,在現有技術中,提出了兩種方案,涉及將對象相關參數存儲在一張表或者一個緩存中,當需要調整對象時對相關字段或屬性進行修改。具體地,在第一種方案中,將對象的標識和剩余數作為一條記錄存儲在數據庫表中,每當用戶請求對象時,首先根據對象標識查詢并判斷剩余數是否足夠扣減,然后再更新剩余數;當用戶取消請求時,根據對象標識還原剩余數。在第二種方案中,將對象標識、對象總數、已用總數作為一條記錄存儲在數據庫表中,每當用戶請求對象時,首先根據對象標識查詢并判斷對象總數與已用總數之差是否足夠扣減,然后再更新已用總數;當用戶取消請求時,根據對象標識還原已用總數。
然而,第一種方案和第二種方案都存在可能導致剩余數為負(即,已用總數超過對象總數或者稱作對象超額扣減)的問題。第一種方案是在扣減剩余數時判斷剩余數是否大于或等于請求數,第二種方案是判斷已用總數與請求數之和是否小于或等于對象總數。但是,兩個方案都存在一個共同的問題,即當同時存在還原剩余數和扣減剩余數的情況時,可能出現對象超額扣減和剩余部分對象但用戶無法請求使用的情況。
例如,當對象的剩余數為20、線程A的請求數為15、并且線程B的請求數為10時,可能出現以下幾種情況:剩余數為5(線程A扣減成功,然后線程B判斷剩余數不夠因此扣減失敗);剩余數為10(線程B扣減成功,然后線程A判斷剩余數不夠因此扣減失敗);以及剩余數為-5(線程A判斷剩余數足夠扣減,線程B判斷剩余數足夠扣減,然后線程A和線程B分別進行對象扣減)。此外,如果此時出現線程C還原剩余數,則情況會更加復雜。
為了解決可能出現的對象超額扣減的問題,在現有技術中提出了通過增加一個字段進行逐次輪訓的方法。在該方法中,先查詢剩余數,然后逐個線程進行對象扣減。在該方法中,可能需要更新多次數據庫,即,對數據庫進行多次寫操作。然而,這種方式性能較低且資源消耗較大。
因此,在對象管理中,當同時存在多個用戶請求對象及取消請求時,由于并發導致扣減和還原剩余數時出現對象超額扣減的概率很高,使得用戶在請求對象之后被告知沒有對象的情況的出現。為了解決對象超額扣減和剩余部分對象但用戶無法請求使用的問題,需要提出一種簡單實用的方式來杜絕對象超額扣減的出現以及充分利用剩余對象,從而實現較高的對象管理效率同時消耗較少的資源。
發明內容
鑒于現有技術中的一個或多個問題,提出了一種用于對用戶請求的對象的剩余數進行扣減的方法和裝置,能夠解決現有技術中存在對象超額扣減和剩余部分對象但用戶無法請求的問題。
在本發明的一個方面,提出了一種用于對用戶請求的對象的剩余數進行扣減的方法,所述方法包括:
根據所述對象的標識從數據庫表中獲取對象總數、已用總數和最后使用用戶信息;
如果所述對象總數與所述已用總數之差delta大于0,則將所述已用總數更新為已用總數與所述用戶的請求數n之和,并且使用所述用戶的標識和所述用戶請求對象的時間戳來更新所述最后使用用戶信息;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510305437.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:關系型數據庫的多維分析的方法及裝置
- 下一篇:一種消息分發方法和裝置





