[发明专利]处理并发订单的方法和装置在审
| 申请号: | 201610220799.4 | 申请日: | 2016-04-11 |
| 公开(公告)号: | CN107291769A | 公开(公告)日: | 2017-10-24 |
| 发明(设计)人: | 刘希望 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京英赛嘉华知识产权代理有限责任公司11204 | 代理人: | 王达佐,马晓亚 |
| 地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 处理 并发 订单 方法 装置 | ||
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及处理并发订单的方法和装置。
背景技术
由于电子商务的便捷性,越来越多的用户选择电子商务进行购物。当一些商务网站或网站中的商家推出具有吸引力的优惠活动时,往往会吸引大量用户同时访问商务网站,甚至在一秒钟内收到数以万计甚至更多的订单请求。
目前,用户使用的商务网站的页面通常由前端返回部分和后台服务部分组成。前端返回部分可以通过内容分发网络(CDN)的部署、动静分离、缓存等手段提高性能;后台服务部分在接收到用户的订单请求时,需要去供货数据列表中取与订单请求中的订货数据相匹配的供货数据,若取到供货数据则生成订单数据,之后减少库存并写数据库,最后通知用户订单成功并解锁供货数据列表。
然而,上述后台服务部分处理订单的操作均为串行执行,需要在减少库存并写数据库后向用户返回响应,因此向用户返回响应的时间较长。
发明内容
本申请的目的在于提出一种改进的处理并发订单的方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了处理并发订单的方法,所述方法包括:获取订单请求,所述订单请求包括用户数据和订货数据;从供货数据队列中抽取与所述订货数据相匹配的供货数据;响应于抽取供货数据成功,生成抽取的供货数据与所述用户数据的配对关系,将所述配对 关系添加至已配对队列,并更新供货数据队列;返回完成订单的提示信息。
在一些实施例中,所述方法还包括:对所述已配对队列中的配对关系进行去重;根据去重后的已配对队列中的配对关系生成订单数据;将所述订单数据存储至数据库中。
在一些实施例中,所述从供货数据队列中抽取与所述订货数据相匹配的供货数据包括:响应于所述用户数据未存在于预定集合中,从供货数据队列中抽取与所述订货数据相匹配的供货数据;以及所述将所述配对关系添加至已配对队列包括:将所述配对关系添加至已配对队列,并将所述配对关系中的用户数据添加至所述预定集合中。
在一些实施例中,所述方法还包括:获取所述用户数据中的用户身份标识;判断所述用户身份标识是否存在于已加锁的订单请求中;若是,则返回正在处理订单的提示信息;若否,则使用所述用户身份标识对所述订单请求进行加锁。
在一些实施例中,所述方法还包括:响应于订单请求的数量超过所述预设的加锁的数量,向超过所述加锁的数量的订单请求返回订单失败信息。
在一些实施例中,所述方法还包括:根据供货数据队列中的货物数量和系统可承受的并发数设定所述加锁的数量。
在一些实施例中,所述方法还包括以下一项或多项:响应于从预设的供货数据队列中抽取供货数据失败,返回订单失败的提示信息;和/或预先加载所述供货数据队列和所述已配对队列至缓存中。
第二方面,本申请提供了一种处理并发订单的装置,所述装置包括:订单请求获取模块,用于获取订单请求,所述订单请求包括用户数据和订货数据;供货数据抽取模块,用于从供货数据队列中抽取与所述订货数据相匹配的供货数据;配对关系添加模块,用于响应于抽取供货数据成功,生成抽取的供货数据与所述用户数据的配对关系,将所述配对关系添加至已配对队列,并更新供货数据队列;返回提示信息模块,用于返回完成订单的提示信息。
在一些实施例中,所述装置还包括:配对关系去重模块,用于对 所述已配对队列中的配对关系进行去重;订单数据生成模块,用于根据去重后的已配对队列中的配对关系生成订单数据;订单数据存储模块,用于将所述订单数据存储至数据库中。
在一些实施例中,所述供货数据抽取模块进一步用于:响应于所述用户数据未存在于预定集合中,从供货数据队列中抽取与所述订货数据相匹配的供货数据;以及所述配对关系添加模块进一步用于:将所述配对关系添加至已配对队列,并将所述配对关系中的用户数据添加至所述预定集合中。
在一些实施例中,所述装置还包括:身份标识获取模块,用于获取所述用户数据中的用户身份标识;身份标识判断模块,用于判断所述用户身份标识是否存在于已加锁的订单请求中;提示信息返回模块,用于若所述用户身份标识存在于已加锁的订单请求中,则返回正在处理订单的提示信息;订单请求加锁模块,用于若所述用户身份标识不存在于已加锁的订单请求中,则使用所述用户身份标识对所述订单请求进行加锁。
在一些实施例中,所述装置还包括:订单失败提示模块,用于响应于订单请求的数量超过所述预设的加锁的数量,向超过所述加锁的数量的订单请求返回订单失败信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610220799.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种索引建立的方法及装置
- 下一篇:一种分布式系统中海量数据的查询方法及装置





